From 4b3af7a41115b9b59e8a9f67291df9fa458a4b68 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Tue, 5 Feb 2002 21:08:15 +0000 Subject: 2002-01-29 Ralf Corsepius * mkbinutilspec.in, mkgccnewlibspec.in, gccnewlib/base-chill.add, gccnewlib/base-g77.add, gccnewlib/base-gcc.add, gccnewlib/base-gcj.add, gccnewlib/gccnewlib.add, gccnewlib/target-chill.add, gccnewlib/target-g77.add, gccnewlib/target-gcc.add, gccnewlib/target-gcj.add, gccnewlib/target-objc.add: Added more support for Canadian Cross building. --- scripts/ChangeLog | 10 +++++++++ scripts/gccnewlib/base-chill.add | 20 ++++++++--------- scripts/gccnewlib/base-g77.add | 26 +++++++++++----------- scripts/gccnewlib/base-gcc.add | 40 ++++++++++++++++----------------- scripts/gccnewlib/base-gcj.add | 8 +++---- scripts/gccnewlib/gccnewlib.add | 45 ++++++++++++++++++++++---------------- scripts/gccnewlib/target-chill.add | 4 ++-- scripts/gccnewlib/target-g77.add | 6 ++--- scripts/gccnewlib/target-gcc.add | 20 ++++++++--------- scripts/gccnewlib/target-gcj.add | 8 +++---- scripts/gccnewlib/target-objc.add | 4 ++-- scripts/mkbinutilspec.in | 1 + scripts/mkgccnewlibspec.in | 1 + 13 files changed, 106 insertions(+), 87 deletions(-) (limited to 'scripts') diff --git a/scripts/ChangeLog b/scripts/ChangeLog index d6cbe4c0a2..78386f10d5 100644 --- a/scripts/ChangeLog +++ b/scripts/ChangeLog @@ -1,3 +1,13 @@ +2002-01-29 Ralf Corsepius + + * mkbinutilspec.in, mkgccnewlibspec.in, gccnewlib/base-chill.add, + gccnewlib/base-g77.add, gccnewlib/base-gcc.add, + gccnewlib/base-gcj.add, gccnewlib/gccnewlib.add, + gccnewlib/target-chill.add, gccnewlib/target-g77.add, + gccnewlib/target-gcc.add, gccnewlib/target-gcj.add, + gccnewlib/target-objc.add: Added more support for Canadian Cross + building. + 2001-01-30 Joel Sherrill * buildall.in: Corrected logic for detecting when no RPMs are installed. diff --git a/scripts/gccnewlib/base-chill.add b/scripts/gccnewlib/base-chill.add index 026d707be8..c54a03a64d 100644 --- a/scripts/gccnewlib/base-chill.add +++ b/scripts/gccnewlib/base-chill.add @@ -13,26 +13,26 @@ RTEMS is an open source operating system for embedded systems. This is the files for gcc/chill that are shared by all targets. %files -n rtems-base-chill -%dir /opt/rtems/info -%doc /opt/rtems/info/chill.info*.gz +%dir %{_prefix}/info +%doc %{_prefix}/info/chill.info*.gz %post -n rtems-base-chill - if test -d $RPM_INSTALL_PREFIX/rtems/info; + if test -d $RPM_INSTALL_PREFIX%{_prefix}/info; then - rm -f $RPM_INSTALL_PREFIX/rtems/info/dir - f=`find $RPM_INSTALL_PREFIX/rtems/info -name '*.info.gz'` + rm -f $RPM_INSTALL_PREFIX%{_prefix}/info/dir + f=`find $RPM_INSTALL_PREFIX%{_prefix}/info -name '*.info.gz'` test -n "$f" && for i in $f; do - install-info $i $RPM_INSTALL_PREFIX/rtems/info/dir + install-info $i $RPM_INSTALL_PREFIX%{_prefix}/info/dir done fi %postun -n rtems-base-chill - if test -d $RPM_INSTALL_PREFIX/rtems/info; + if test -d $RPM_INSTALL_PREFIX%{_prefix}/info; then - rm -f $RPM_INSTALL_PREFIX/rtems/info/dir - f=`find $RPM_INSTALL_PREFIX/rtems/info -name '*.info.gz'` + rm -f $RPM_INSTALL_PREFIX%{_prefix}/info/dir + f=`find $RPM_INSTALL_PREFIX%{_prefix}/info -name '*.info.gz'` test -n "$f" && for i in $f; do - install-info $i $RPM_INSTALL_PREFIX/rtems/info/dir + install-info $i $RPM_INSTALL_PREFIX%{_prefix}/info/dir done fi diff --git a/scripts/gccnewlib/base-g77.add b/scripts/gccnewlib/base-g77.add index fbc8d87c07..1d75a55317 100644 --- a/scripts/gccnewlib/base-g77.add +++ b/scripts/gccnewlib/base-g77.add @@ -13,30 +13,30 @@ RTEMS is an open source operating system for embedded systems. This is the files for gcc/g77 that are shared by all targets. %files -n rtems-base-g77 -%dir /opt/rtems/info -%doc /opt/rtems/info/g77.info*.gz +%dir %{_prefix}/info +%doc %{_prefix}/info/g77.info*.gz -%dir /opt/rtems/man -%dir /opt/rtems/man/man1 -%doc /opt/rtems/man/man1/@target_alias@-g77.1 +%dir %{_prefix}/man +%dir %{_prefix}/man/man1 +%doc %{_prefix}/man/man1/@target_alias@-g77.1 %post -n rtems-base-g77 - if test -d $RPM_INSTALL_PREFIX/rtems/info; + if test -d $RPM_INSTALL_PREFIX%{_prefix}/info; then - rm -f $RPM_INSTALL_PREFIX/rtems/info/dir - f=`find $RPM_INSTALL_PREFIX/rtems/info -name '*.info.gz'` + rm -f $RPM_INSTALL_PREFIX%{_prefix}/info/dir + f=`find $RPM_INSTALL_PREFIX%{_prefix}/info -name '*.info.gz'` test -n "$f" && for i in $f; do - install-info $i $RPM_INSTALL_PREFIX/rtems/info/dir + install-info $i $RPM_INSTALL_PREFIX%{_prefix}/info/dir done fi %postun -n rtems-base-g77 - if test -d $RPM_INSTALL_PREFIX/rtems/info; + if test -d $RPM_INSTALL_PREFIX%{_prefix}/info; then - rm -f $RPM_INSTALL_PREFIX/rtems/info/dir - f=`find $RPM_INSTALL_PREFIX/rtems/info -name '*.info.gz'` + rm -f $RPM_INSTALL_PREFIX%{_prefix}/info/dir + f=`find $RPM_INSTALL_PREFIX%{_prefix}/info -name '*.info.gz'` test -n "$f" && for i in $f; do - install-info $i $RPM_INSTALL_PREFIX/rtems/info/dir + install-info $i $RPM_INSTALL_PREFIX%{_prefix}/info/dir done fi diff --git a/scripts/gccnewlib/base-gcc.add b/scripts/gccnewlib/base-gcc.add index 61b97ccea7..0ca297c7f8 100644 --- a/scripts/gccnewlib/base-gcc.add +++ b/scripts/gccnewlib/base-gcc.add @@ -13,39 +13,39 @@ RTEMS is an open source operating system for embedded systems. This is the files for gcc and newlib that are shared by all targets. %files -n rtems-base-gcc -%dir /opt/rtems/info -%doc /opt/rtems/info/cpp.info*.gz -%doc /opt/rtems/info/gcc.info*.gz -%doc /opt/rtems/info/libc.info*.gz -%doc /opt/rtems/info/libm.info*.gz +%dir %{_prefix}/info +%doc %{_prefix}/info/cpp.info*.gz +%doc %{_prefix}/info/gcc.info*.gz +%doc %{_prefix}/info/libc.info*.gz +%doc %{_prefix}/info/libm.info*.gz -%dir /opt/rtems/bin -/opt/rtems/bin/gcov@exe_ext@ +%dir %{_prefix}/bin +%{_prefix}/bin/gcov@exe_ext@ -%dir /opt/rtems/man -%dir /opt/rtems/man/man1 -%doc /opt/rtems/man/man1/cccp.1 +%dir %{_prefix}/man +%dir %{_prefix}/man/man1 +%doc %{_prefix}/man/man1/cccp.1 -%dir /opt/rtems/include -/opt/rtems/include/g++-3 +%dir %{_prefix}/include +%{_prefix}/include/g++-3 %post -n rtems-base-gcc - if test -d $RPM_INSTALL_PREFIX/rtems/info; + if test -d $RPM_INSTALL_PREFIX%{_prefix}/info; then - rm -f $RPM_INSTALL_PREFIX/rtems/info/dir - f=`find $RPM_INSTALL_PREFIX/rtems/info -name '*.info.gz'` + rm -f $RPM_INSTALL_PREFIX%{_prefix}/info/dir + f=`find $RPM_INSTALL_PREFIX%{_prefix}/info -name '*.info.gz'` test -n "$f" && for i in $f; do - install-info $i $RPM_INSTALL_PREFIX/rtems/info/dir + install-info $i $RPM_INSTALL_PREFIX%{_prefix}/info/dir done fi %postun -n rtems-base-gcc - if test -d $RPM_INSTALL_PREFIX/rtems/info; + if test -d $RPM_INSTALL_PREFIX%{_prefix}/info; then - rm -f $RPM_INSTALL_PREFIX/rtems/info/dir - f=`find $RPM_INSTALL_PREFIX/rtems/info -name '*.info.gz'` + rm -f $RPM_INSTALL_PREFIX%{_prefix}/info/dir + f=`find $RPM_INSTALL_PREFIX%{_prefix}/info -name '*.info.gz'` test -n "$f" && for i in $f; do - install-info $i $RPM_INSTALL_PREFIX/rtems/info/dir + install-info $i $RPM_INSTALL_PREFIX%{_prefix}/info/dir done fi diff --git a/scripts/gccnewlib/base-gcj.add b/scripts/gccnewlib/base-gcj.add index e05cacab97..b3ff2a2608 100644 --- a/scripts/gccnewlib/base-gcj.add +++ b/scripts/gccnewlib/base-gcj.add @@ -13,8 +13,8 @@ RTEMS is an open source operating system for embedded systems. This is the files for gcc/java (gcj) that are shared by all targets. %files -n rtems-base-gcj -%dir /opt/rtems/bin -/opt/rtems/bin/jcf-dump@exe_ext@ -/opt/rtems/bin/jv-scan@exe_ext@ -/opt/rtems/bin/gcjh@exe_ext@ +%dir %{_prefix}/bin +%{_prefix}/bin/jcf-dump@exe_ext@ +%{_prefix}/bin/jv-scan@exe_ext@ +%{_prefix}/bin/gcjh@exe_ext@ diff --git a/scripts/gccnewlib/gccnewlib.add b/scripts/gccnewlib/gccnewlib.add index 9ff6197109..495325be38 100644 --- a/scripts/gccnewlib/gccnewlib.add +++ b/scripts/gccnewlib/gccnewlib.add @@ -6,6 +6,8 @@ # please send bugfixes or comments to joel@OARcorp.com # +%define _prefix @prefix@ + Vendor: OAR Corporation Distribution: Linux Name: @target_alias@-gcc-newlib @@ -22,10 +24,10 @@ Version: gcc@gcc_version@newlib@newlib_version@ # Source0: ftp://ftp.gnu.org/pub/gnu/gcc/gcc-@gcc_version@.tar.bz2 # gcc 2.95.x Source0: ftp://ftp.gnu.org/pub/gnu/gcc/gcc-everything-@gcc_version@.tar.gz -Source1: ftp://sourceware.cygnus.com/pub/newlib/newlib-@newlib_version@.tar.gz +Source1: ftp://sources.redhat.com/pub/newlib/newlib-@newlib_version@.tar.gz Patch0: gcc-@gcc_version@-rtems-@gcc_patch_version@.diff Patch1: newlib-@newlib_version@-rtems-@newlib_patch_version@.diff -Buildroot: /tmp/@target_alias@-gcc-newlib +Buildroot: %{_tmppath}/%{name} # # The original sources are not included in the source RPM. @@ -58,7 +60,7 @@ This is gcc's and newlib C Library's sources with patches for RTEMS. %prep # untar the sources inside @target_alias@-gcc-newlib -%setup -c -n @target_alias@-gcc-newlib -a 0 -a 1 +%setup -c -n %{name} -a 0 -a 1 %patch0 -p0 %patch1 -p0 @@ -70,9 +72,14 @@ This is gcc's and newlib C Library's sources with patches for RTEMS. %build cd build - ../gcc-@gcc_version@/configure --target=@target_alias@ \ +# HACK: This should be %{target} != %{build}, but SuSE's rpm screws it. +%if "%{target_os}" != "%{build_os}" + CONFIGURE_ARGS="--build=%{_build} --host=%{_target}" +%endif + + ../gcc-@gcc_version@/configure $CONFIGURE_ARGS --target=@target_alias@ \ --with-gnu-as --with-gnu-ld --with-newlib --verbose \ - --enable-threads --prefix=/opt/rtems @GCCLANGS@ + --enable-threads --prefix=%{_prefix} @GCCLANGS@ make all make info @@ -82,35 +89,35 @@ This is gcc's and newlib C Library's sources with patches for RTEMS. # Bug in gcc-2.95.1: It doesn't build this installation directory # If it doesn't find it, gcc doesn't install @target_alias@/bin/gcc ../gcc-@gcc_version@/mkinstalldirs \ - $RPM_BUILD_ROOT/opt/rtems/@target_alias@/bin + $RPM_BUILD_ROOT%{_prefix}/@target_alias@/bin - make prefix=$RPM_BUILD_ROOT/opt/rtems install + make prefix=$RPM_BUILD_ROOT%{_prefix} install cd @target_alias@/newlib - make prefix=$RPM_BUILD_ROOT/opt/rtems install-info + make prefix=$RPM_BUILD_ROOT%{_prefix} install-info # cd back to build/ cd ../.. # Bug in gcc-2.95.x: It bogusly tries to share cpp for all targets. # Rename it to target_alias-cpp - if test -f $RPM_BUILD_ROOT/opt/rtems/bin/cpp@exe_ext@; + if test -f $RPM_BUILD_ROOT%{_prefix}/bin/cpp@exe_ext@; then - mv $RPM_BUILD_ROOT/opt/rtems/bin/cpp@exe_ext@ \ - $RPM_BUILD_ROOT/opt/rtems/bin/@target_alias@-cpp@exe_ext@ + mv $RPM_BUILD_ROOT%{_prefix}/bin/cpp@exe_ext@ \ + $RPM_BUILD_ROOT%{_prefix}/bin/@target_alias@-cpp@exe_ext@ fi # gzip info files - gzip -f $RPM_BUILD_ROOT/opt/rtems/info/*.info 2>/dev/null - gzip -f $RPM_BUILD_ROOT/opt/rtems/info/*.info-? 2>/dev/null - gzip -f $RPM_BUILD_ROOT/opt/rtems/info/*.info-?? 2>/dev/null + gzip -f $RPM_BUILD_ROOT%{_prefix}/info/*.info 2>/dev/null + gzip -f $RPM_BUILD_ROOT%{_prefix}/info/*.info-? 2>/dev/null + gzip -f $RPM_BUILD_ROOT%{_prefix}/info/*.info-?? 2>/dev/null rm -f dirs ; - echo "%dir /opt/rtems/lib" >> dirs ; - echo "%dir /opt/rtems/lib/gcc-lib" >> dirs ; - echo "%dir /opt/rtems/lib/gcc-lib/@target_alias@" >> dirs ; + echo "%dir %{_prefix}/lib" >> dirs ; + echo "%dir %{_prefix}/lib/gcc-lib" >> dirs ; + echo "%dir %{_prefix}/lib/gcc-lib/@target_alias@" >> dirs ; # Collect multilib subdirectories - TGTDIR="/opt/rtems/lib/gcc-lib/@target_alias@/@gcc_version@" + TGTDIR="%{_prefix}/lib/gcc-lib/@target_alias@/@gcc_version@" f=`gcc/xgcc --print-multi-lib | sed -e 's,;.*$,,'` for i in $f; do case $i in @@ -144,6 +151,6 @@ This is gcc's and newlib C Library's sources with patches for RTEMS. %clean # let rpm --clean remove BuildRoot iif using the default BuildRoot - test "$RPM_BUILD_ROOT" = "/tmp/@target_alias@-gcc-newlib" && \ + test "$RPM_BUILD_ROOT" = "%{_tmppath}/%{name}" && \ rm -rf $RPM_BUILD_ROOT diff --git a/scripts/gccnewlib/target-chill.add b/scripts/gccnewlib/target-chill.add index 5e10a84814..9c5b0ecc93 100644 --- a/scripts/gccnewlib/target-chill.add +++ b/scripts/gccnewlib/target-chill.add @@ -13,6 +13,6 @@ RTEMS is an open source operating system for embedded systems. This is the gcc/chill compiler and support files for @target_alias@ %files -n @target_alias@-chill -f build/files.chill -%dir /opt/rtems/bin -/opt/rtems/bin/@target_alias@-chill +%dir %{_prefix}/bin +%{_prefix}/bin/@target_alias@-chill diff --git a/scripts/gccnewlib/target-g77.add b/scripts/gccnewlib/target-g77.add index 920a709652..e2c576a469 100644 --- a/scripts/gccnewlib/target-g77.add +++ b/scripts/gccnewlib/target-g77.add @@ -13,7 +13,7 @@ RTEMS is an open source operating system for embedded systems. This is the gcc/g77 compiler for @target_alias@ %files -n @target_alias@-g77 -f build/files.g77 -%dir /opt/rtems/bin -/opt/rtems/bin/@target_alias@-g77@exe_ext@ +%dir %{_prefix}/bin +%{_prefix}/bin/@target_alias@-g77@exe_ext@ -/opt/rtems/lib/gcc-lib/@target_alias@/@gcc_version@/f771@exe_ext@ +%{_prefix}/lib/gcc-lib/@target_alias@/@gcc_version@/f771@exe_ext@ diff --git a/scripts/gccnewlib/target-gcc.add b/scripts/gccnewlib/target-gcc.add index d147b8738b..6a9c5adaca 100644 --- a/scripts/gccnewlib/target-gcc.add +++ b/scripts/gccnewlib/target-gcc.add @@ -13,17 +13,17 @@ RTEMS is an open source operating system for embedded systems. This is gcc and newlib C Library for @target_alias@. %files -n @target_alias@-gcc -f build/files.gcc -%doc /opt/rtems/man/man1/@target_alias@-gcc.1 -%doc /opt/rtems/man/man1/@target_alias@-g++.1 +%doc %{_prefix}/man/man1/@target_alias@-gcc.1 +%doc %{_prefix}/man/man1/@target_alias@-g++.1 -/opt/rtems/bin/@target_alias@-cpp@exe_ext@ -/opt/rtems/bin/@target_alias@-c++@exe_ext@ -/opt/rtems/bin/@target_alias@-g++@exe_ext@ -/opt/rtems/bin/@target_alias@-gcc@exe_ext@ -/opt/rtems/bin/@target_alias@-protoize@exe_ext@ -/opt/rtems/bin/@target_alias@-unprotoize@exe_ext@ +%{_prefix}/bin/@target_alias@-cpp@exe_ext@ +%{_prefix}/bin/@target_alias@-c++@exe_ext@ +%{_prefix}/bin/@target_alias@-g++@exe_ext@ +%{_prefix}/bin/@target_alias@-gcc@exe_ext@ +%{_prefix}/bin/@target_alias@-protoize@exe_ext@ +%{_prefix}/bin/@target_alias@-unprotoize@exe_ext@ -%dir /opt/rtems/lib/gcc-lib/@target_alias@/@gcc_version@/include +%dir %{_prefix}/lib/gcc-lib/@target_alias@/@gcc_version@/include -/opt/rtems/@target_alias@ +%{_prefix}/@target_alias@ diff --git a/scripts/gccnewlib/target-gcj.add b/scripts/gccnewlib/target-gcj.add index 85ae067e5f..6a09abd423 100644 --- a/scripts/gccnewlib/target-gcj.add +++ b/scripts/gccnewlib/target-gcj.add @@ -13,9 +13,9 @@ RTEMS is an open source operating system for embedded systems. This is the gcc/java compiler for @target_alias@ %files -n @target_alias@-gcj -f build/files.gcj -%dir /opt/rtems/bin -/opt/rtems/bin/@target_alias@-gcj@exe_ext@ +%dir %{_prefix}/bin +%{_prefix}/bin/@target_alias@-gcj@exe_ext@ -/opt/rtems/lib/gcc-lib/@target_alias@/@gcc_version@/jc1@exe_ext@ -/opt/rtems/lib/gcc-lib/@target_alias@/@gcc_version@/jvgenmain@exe_ext@ +%{_prefix}/lib/gcc-lib/@target_alias@/@gcc_version@/jc1@exe_ext@ +%{_prefix}/lib/gcc-lib/@target_alias@/@gcc_version@/jvgenmain@exe_ext@ diff --git a/scripts/gccnewlib/target-objc.add b/scripts/gccnewlib/target-objc.add index 0183ad29f9..c7eb2b1b7d 100644 --- a/scripts/gccnewlib/target-objc.add +++ b/scripts/gccnewlib/target-objc.add @@ -13,5 +13,5 @@ RTEMS is an open source operating system for embedded systems. This is the gcc/objc compiler for @target_alias@ %files -n @target_alias@-objc -f build/files.objc -/opt/rtems/lib/gcc-lib/@target_alias@/@gcc_version@/cc1obj@exe_ext@ -/opt/rtems/lib/gcc-lib/@target_alias@/@gcc_version@/include/objc +%{_prefix}/lib/gcc-lib/@target_alias@/@gcc_version@/cc1obj@exe_ext@ +%{_prefix}/lib/gcc-lib/@target_alias@/@gcc_version@/include/objc diff --git a/scripts/mkbinutilspec.in b/scripts/mkbinutilspec.in index 489aa9a931..c94636979a 100644 --- a/scripts/mkbinutilspec.in +++ b/scripts/mkbinutilspec.in @@ -53,6 +53,7 @@ specfile=${dst}/$target_alias-binutils-${binutils_version}.spec sed -e "s%@Release\@%${binutils_rpm_release}%g" \ -e "s%@rpm_build_root\@%${rpm_build_root}%g" \ -e "s%@target_alias\@%${target_alias}%g" \ + -e "s%@prefix\@%@prefix@%g" \ -e "s%@binutils_version\@%${binutils_version}%g" \ -e "s%@binutils_patch_version\@%${binutils_patch_version}%g" \ -e "s%@exe_ext\@%${exe_ext}%g" \ diff --git a/scripts/mkgccnewlibspec.in b/scripts/mkgccnewlibspec.in index 2064c0f96c..ed28616ea9 100644 --- a/scripts/mkgccnewlibspec.in +++ b/scripts/mkgccnewlibspec.in @@ -59,6 +59,7 @@ specfile=${dst}/${target_alias}-gcc-${gcc_version}-newlib-${newlib_version}.spec sed -e "s%@Release\@%${gccnewlib_rpm_release}%g" \ -e "s%@target_alias\@%${target_alias}%g" \ + -e "s%@prefix\@%@prefix@%g" \ -e "s%@rpm_build_root\@%${rpm_build_root}%g" \ -e "s%@gcc_version\@%${gcc_version}%g" \ -e "s%@gcc_patch_version\@%${gcc_patch_version}%g" \ -- cgit v1.2.3