2002-01-29 Ralf Corsepius <corsepiu@faw.uni-ulm.de>

* 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.
This commit is contained in:
Joel Sherrill
2002-02-05 21:08:15 +00:00
parent 0ab873495a
commit 4b3af7a411
13 changed files with 106 additions and 87 deletions

View File

@@ -1,3 +1,13 @@
2002-01-29 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* 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 <joel@OARcorp.com> 2001-01-30 Joel Sherrill <joel@OARcorp.com>
* buildall.in: Corrected logic for detecting when no RPMs are installed. * buildall.in: Corrected logic for detecting when no RPMs are installed.

View File

@@ -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. This is the files for gcc/chill that are shared by all targets.
%files -n rtems-base-chill %files -n rtems-base-chill
%dir /opt/rtems/info %dir %{_prefix}/info
%doc /opt/rtems/info/chill.info*.gz %doc %{_prefix}/info/chill.info*.gz
%post -n rtems-base-chill %post -n rtems-base-chill
if test -d $RPM_INSTALL_PREFIX/rtems/info; if test -d $RPM_INSTALL_PREFIX%{_prefix}/info;
then then
rm -f $RPM_INSTALL_PREFIX/rtems/info/dir rm -f $RPM_INSTALL_PREFIX%{_prefix}/info/dir
f=`find $RPM_INSTALL_PREFIX/rtems/info -name '*.info.gz'` f=`find $RPM_INSTALL_PREFIX%{_prefix}/info -name '*.info.gz'`
test -n "$f" && for i in $f; do 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 done
fi fi
%postun -n rtems-base-chill %postun -n rtems-base-chill
if test -d $RPM_INSTALL_PREFIX/rtems/info; if test -d $RPM_INSTALL_PREFIX%{_prefix}/info;
then then
rm -f $RPM_INSTALL_PREFIX/rtems/info/dir rm -f $RPM_INSTALL_PREFIX%{_prefix}/info/dir
f=`find $RPM_INSTALL_PREFIX/rtems/info -name '*.info.gz'` f=`find $RPM_INSTALL_PREFIX%{_prefix}/info -name '*.info.gz'`
test -n "$f" && for i in $f; do 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 done
fi fi

View File

@@ -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. This is the files for gcc/g77 that are shared by all targets.
%files -n rtems-base-g77 %files -n rtems-base-g77
%dir /opt/rtems/info %dir %{_prefix}/info
%doc /opt/rtems/info/g77.info*.gz %doc %{_prefix}/info/g77.info*.gz
%dir /opt/rtems/man %dir %{_prefix}/man
%dir /opt/rtems/man/man1 %dir %{_prefix}/man/man1
%doc /opt/rtems/man/man1/@target_alias@-g77.1 %doc %{_prefix}/man/man1/@target_alias@-g77.1
%post -n rtems-base-g77 %post -n rtems-base-g77
if test -d $RPM_INSTALL_PREFIX/rtems/info; if test -d $RPM_INSTALL_PREFIX%{_prefix}/info;
then then
rm -f $RPM_INSTALL_PREFIX/rtems/info/dir rm -f $RPM_INSTALL_PREFIX%{_prefix}/info/dir
f=`find $RPM_INSTALL_PREFIX/rtems/info -name '*.info.gz'` f=`find $RPM_INSTALL_PREFIX%{_prefix}/info -name '*.info.gz'`
test -n "$f" && for i in $f; do 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 done
fi fi
%postun -n rtems-base-g77 %postun -n rtems-base-g77
if test -d $RPM_INSTALL_PREFIX/rtems/info; if test -d $RPM_INSTALL_PREFIX%{_prefix}/info;
then then
rm -f $RPM_INSTALL_PREFIX/rtems/info/dir rm -f $RPM_INSTALL_PREFIX%{_prefix}/info/dir
f=`find $RPM_INSTALL_PREFIX/rtems/info -name '*.info.gz'` f=`find $RPM_INSTALL_PREFIX%{_prefix}/info -name '*.info.gz'`
test -n "$f" && for i in $f; do 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 done
fi fi

View File

@@ -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. This is the files for gcc and newlib that are shared by all targets.
%files -n rtems-base-gcc %files -n rtems-base-gcc
%dir /opt/rtems/info %dir %{_prefix}/info
%doc /opt/rtems/info/cpp.info*.gz %doc %{_prefix}/info/cpp.info*.gz
%doc /opt/rtems/info/gcc.info*.gz %doc %{_prefix}/info/gcc.info*.gz
%doc /opt/rtems/info/libc.info*.gz %doc %{_prefix}/info/libc.info*.gz
%doc /opt/rtems/info/libm.info*.gz %doc %{_prefix}/info/libm.info*.gz
%dir /opt/rtems/bin %dir %{_prefix}/bin
/opt/rtems/bin/gcov@exe_ext@ %{_prefix}/bin/gcov@exe_ext@
%dir /opt/rtems/man %dir %{_prefix}/man
%dir /opt/rtems/man/man1 %dir %{_prefix}/man/man1
%doc /opt/rtems/man/man1/cccp.1 %doc %{_prefix}/man/man1/cccp.1
%dir /opt/rtems/include %dir %{_prefix}/include
/opt/rtems/include/g++-3 %{_prefix}/include/g++-3
%post -n rtems-base-gcc %post -n rtems-base-gcc
if test -d $RPM_INSTALL_PREFIX/rtems/info; if test -d $RPM_INSTALL_PREFIX%{_prefix}/info;
then then
rm -f $RPM_INSTALL_PREFIX/rtems/info/dir rm -f $RPM_INSTALL_PREFIX%{_prefix}/info/dir
f=`find $RPM_INSTALL_PREFIX/rtems/info -name '*.info.gz'` f=`find $RPM_INSTALL_PREFIX%{_prefix}/info -name '*.info.gz'`
test -n "$f" && for i in $f; do 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 done
fi fi
%postun -n rtems-base-gcc %postun -n rtems-base-gcc
if test -d $RPM_INSTALL_PREFIX/rtems/info; if test -d $RPM_INSTALL_PREFIX%{_prefix}/info;
then then
rm -f $RPM_INSTALL_PREFIX/rtems/info/dir rm -f $RPM_INSTALL_PREFIX%{_prefix}/info/dir
f=`find $RPM_INSTALL_PREFIX/rtems/info -name '*.info.gz'` f=`find $RPM_INSTALL_PREFIX%{_prefix}/info -name '*.info.gz'`
test -n "$f" && for i in $f; do 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 done
fi fi

View File

@@ -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. This is the files for gcc/java (gcj) that are shared by all targets.
%files -n rtems-base-gcj %files -n rtems-base-gcj
%dir /opt/rtems/bin %dir %{_prefix}/bin
/opt/rtems/bin/jcf-dump@exe_ext@ %{_prefix}/bin/jcf-dump@exe_ext@
/opt/rtems/bin/jv-scan@exe_ext@ %{_prefix}/bin/jv-scan@exe_ext@
/opt/rtems/bin/gcjh@exe_ext@ %{_prefix}/bin/gcjh@exe_ext@

View File

@@ -6,6 +6,8 @@
# please send bugfixes or comments to joel@OARcorp.com # please send bugfixes or comments to joel@OARcorp.com
# #
%define _prefix @prefix@
Vendor: OAR Corporation Vendor: OAR Corporation
Distribution: Linux Distribution: Linux
Name: @target_alias@-gcc-newlib 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 # Source0: ftp://ftp.gnu.org/pub/gnu/gcc/gcc-@gcc_version@.tar.bz2
# gcc 2.95.x # gcc 2.95.x
Source0: ftp://ftp.gnu.org/pub/gnu/gcc/gcc-everything-@gcc_version@.tar.gz 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 Patch0: gcc-@gcc_version@-rtems-@gcc_patch_version@.diff
Patch1: newlib-@newlib_version@-rtems-@newlib_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. # 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 %prep
# untar the sources inside @target_alias@-gcc-newlib # 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 %patch0 -p0
%patch1 -p0 %patch1 -p0
@@ -70,9 +72,14 @@ This is gcc's and newlib C Library's sources with patches for RTEMS.
%build %build
cd 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 \ --with-gnu-as --with-gnu-ld --with-newlib --verbose \
--enable-threads --prefix=/opt/rtems @GCCLANGS@ --enable-threads --prefix=%{_prefix} @GCCLANGS@
make all make all
make info 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 # 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 # If it doesn't find it, gcc doesn't install @target_alias@/bin/gcc
../gcc-@gcc_version@/mkinstalldirs \ ../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 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 back to build/
cd ../.. cd ../..
# Bug in gcc-2.95.x: It bogusly tries to share cpp for all targets. # Bug in gcc-2.95.x: It bogusly tries to share cpp for all targets.
# Rename it to target_alias-cpp # 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 then
mv $RPM_BUILD_ROOT/opt/rtems/bin/cpp@exe_ext@ \ mv $RPM_BUILD_ROOT%{_prefix}/bin/cpp@exe_ext@ \
$RPM_BUILD_ROOT/opt/rtems/bin/@target_alias@-cpp@exe_ext@ $RPM_BUILD_ROOT%{_prefix}/bin/@target_alias@-cpp@exe_ext@
fi fi
# gzip info files # gzip info files
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/opt/rtems/info/*.info-? 2>/dev/null gzip -f $RPM_BUILD_ROOT%{_prefix}/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
rm -f dirs ; rm -f dirs ;
echo "%dir /opt/rtems/lib" >> dirs ; echo "%dir %{_prefix}/lib" >> dirs ;
echo "%dir /opt/rtems/lib/gcc-lib" >> dirs ; echo "%dir %{_prefix}/lib/gcc-lib" >> dirs ;
echo "%dir /opt/rtems/lib/gcc-lib/@target_alias@" >> dirs ; echo "%dir %{_prefix}/lib/gcc-lib/@target_alias@" >> dirs ;
# Collect multilib subdirectories # 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,;.*$,,'` f=`gcc/xgcc --print-multi-lib | sed -e 's,;.*$,,'`
for i in $f; do for i in $f; do
case $i in case $i in
@@ -144,6 +151,6 @@ This is gcc's and newlib C Library's sources with patches for RTEMS.
%clean %clean
# let rpm --clean remove BuildRoot iif using the default BuildRoot # 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 rm -rf $RPM_BUILD_ROOT

View File

@@ -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@ This is the gcc/chill compiler and support files for @target_alias@
%files -n @target_alias@-chill -f build/files.chill %files -n @target_alias@-chill -f build/files.chill
%dir /opt/rtems/bin %dir %{_prefix}/bin
/opt/rtems/bin/@target_alias@-chill %{_prefix}/bin/@target_alias@-chill

View File

@@ -13,7 +13,7 @@ RTEMS is an open source operating system for embedded systems.
This is the gcc/g77 compiler for @target_alias@ This is the gcc/g77 compiler for @target_alias@
%files -n @target_alias@-g77 -f build/files.g77 %files -n @target_alias@-g77 -f build/files.g77
%dir /opt/rtems/bin %dir %{_prefix}/bin
/opt/rtems/bin/@target_alias@-g77@exe_ext@ %{_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@

View File

@@ -13,17 +13,17 @@ RTEMS is an open source operating system for embedded systems.
This is gcc and newlib C Library for @target_alias@. This is gcc and newlib C Library for @target_alias@.
%files -n @target_alias@-gcc -f build/files.gcc %files -n @target_alias@-gcc -f build/files.gcc
%doc /opt/rtems/man/man1/@target_alias@-gcc.1 %doc %{_prefix}/man/man1/@target_alias@-gcc.1
%doc /opt/rtems/man/man1/@target_alias@-g++.1 %doc %{_prefix}/man/man1/@target_alias@-g++.1
/opt/rtems/bin/@target_alias@-cpp@exe_ext@ %{_prefix}/bin/@target_alias@-cpp@exe_ext@
/opt/rtems/bin/@target_alias@-c++@exe_ext@ %{_prefix}/bin/@target_alias@-c++@exe_ext@
/opt/rtems/bin/@target_alias@-g++@exe_ext@ %{_prefix}/bin/@target_alias@-g++@exe_ext@
/opt/rtems/bin/@target_alias@-gcc@exe_ext@ %{_prefix}/bin/@target_alias@-gcc@exe_ext@
/opt/rtems/bin/@target_alias@-protoize@exe_ext@ %{_prefix}/bin/@target_alias@-protoize@exe_ext@
/opt/rtems/bin/@target_alias@-unprotoize@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@

View File

@@ -13,9 +13,9 @@ RTEMS is an open source operating system for embedded systems.
This is the gcc/java compiler for @target_alias@ This is the gcc/java compiler for @target_alias@
%files -n @target_alias@-gcj -f build/files.gcj %files -n @target_alias@-gcj -f build/files.gcj
%dir /opt/rtems/bin %dir %{_prefix}/bin
/opt/rtems/bin/@target_alias@-gcj@exe_ext@ %{_prefix}/bin/@target_alias@-gcj@exe_ext@
/opt/rtems/lib/gcc-lib/@target_alias@/@gcc_version@/jc1@exe_ext@ %{_prefix}/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@/jvgenmain@exe_ext@

View File

@@ -13,5 +13,5 @@ RTEMS is an open source operating system for embedded systems.
This is the gcc/objc compiler for @target_alias@ This is the gcc/objc compiler for @target_alias@
%files -n @target_alias@-objc -f build/files.objc %files -n @target_alias@-objc -f build/files.objc
/opt/rtems/lib/gcc-lib/@target_alias@/@gcc_version@/cc1obj@exe_ext@ %{_prefix}/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@/include/objc

View File

@@ -53,6 +53,7 @@ specfile=${dst}/$target_alias-binutils-${binutils_version}.spec
sed -e "s%@Release\@%${binutils_rpm_release}%g" \ sed -e "s%@Release\@%${binutils_rpm_release}%g" \
-e "s%@rpm_build_root\@%${rpm_build_root}%g" \ -e "s%@rpm_build_root\@%${rpm_build_root}%g" \
-e "s%@target_alias\@%${target_alias}%g" \ -e "s%@target_alias\@%${target_alias}%g" \
-e "s%@prefix\@%@prefix@%g" \
-e "s%@binutils_version\@%${binutils_version}%g" \ -e "s%@binutils_version\@%${binutils_version}%g" \
-e "s%@binutils_patch_version\@%${binutils_patch_version}%g" \ -e "s%@binutils_patch_version\@%${binutils_patch_version}%g" \
-e "s%@exe_ext\@%${exe_ext}%g" \ -e "s%@exe_ext\@%${exe_ext}%g" \

View File

@@ -59,6 +59,7 @@ specfile=${dst}/${target_alias}-gcc-${gcc_version}-newlib-${newlib_version}.spec
sed -e "s%@Release\@%${gccnewlib_rpm_release}%g" \ sed -e "s%@Release\@%${gccnewlib_rpm_release}%g" \
-e "s%@target_alias\@%${target_alias}%g" \ -e "s%@target_alias\@%${target_alias}%g" \
-e "s%@prefix\@%@prefix@%g" \
-e "s%@rpm_build_root\@%${rpm_build_root}%g" \ -e "s%@rpm_build_root\@%${rpm_build_root}%g" \
-e "s%@gcc_version\@%${gcc_version}%g" \ -e "s%@gcc_version\@%${gcc_version}%g" \
-e "s%@gcc_patch_version\@%${gcc_patch_version}%g" \ -e "s%@gcc_patch_version\@%${gcc_patch_version}%g" \