diff options
author | Ralf Corsepius <ralf.corsepius@rtems.org> | 2005-04-12 16:51:25 +0000 |
---|---|---|
committer | Ralf Corsepius <ralf.corsepius@rtems.org> | 2005-04-12 16:51:25 +0000 |
commit | 7337984f7546045eda3647923566a754c2eeb718 (patch) | |
tree | 9b188b68a739fdf09b78953c3058478a5e73499f /scripts/gcc3newlib/gccnewlib.add | |
parent | 2005-04-12 Ralf Corsepius <ralf.corsepius@rtems.org> (diff) | |
download | rtems-7337984f7546045eda3647923566a754c2eeb718.tar.bz2 |
Remove.
Diffstat (limited to 'scripts/gcc3newlib/gccnewlib.add')
-rw-r--r-- | scripts/gcc3newlib/gccnewlib.add | 405 |
1 files changed, 0 insertions, 405 deletions
diff --git a/scripts/gcc3newlib/gccnewlib.add b/scripts/gcc3newlib/gccnewlib.add deleted file mode 100644 index a977dd2bdb..0000000000 --- a/scripts/gcc3newlib/gccnewlib.add +++ /dev/null @@ -1,405 +0,0 @@ - -%define gcc_version @gcc_version@ -%define newlib_version @newlib_version@ - -%define gcc_target @target_alias@ - -Name: %{rpmprefix}%{gcc_target}-gcc-newlib -Summary: gcc and newlib C Library for %{gcc_target}. -Group: %{rpmgroup} -Release: @Release@ -Epoch: 0 -License: gcc is GPL/LGPL ; newlib no has restrictions on run-time usage - -Packager: ralf.corsepius@rtems.org and joel@OARcorp.com - -Version: gcc%{gcc_version}newlib%{newlib_version} - -%if "%{gcc_version}" >= "3.2.2" -Source0: ftp://ftp.gnu.org/pub/gnu/gcc/gcc-%{gcc_version}/gcc-%{gcc_version}@gcc_suffix@ -%else -%if "%{gcc_version}" >= "3.0" -Source0: ftp://ftp.gnu.org/pub/gnu/gcc/gcc-%{gcc_version}/gcc-%{gcc_version}.tar.gz -%else -Source0: ftp://ftp.gnu.org/pub/gnu/gcc/gcc-%{gcc_version}/gcc-%{gcc_version}-everything.tar.gz -%endif -%endif -Source1: ftp://sources.redhat.com/pub/newlib/newlib-%{newlib_version}@newlib_suffix@ -@PATCH1@ -@PATCH3@ -BuildPreReq: texinfo >= 4.2 -BuildPreReq: %{rpmprefix}%{gcc_target}-binutils -# -# The original sources are not included in the source RPM. -# If we included them, then the source RPMs for each target -# would duplicate MBs of source unnecessarily. This is -# a duplication of over 30 MBs of source for each of -# the more than 10 targets it is possible to build. -# -# You can get them yourself from the Internet and copy them to -# your /usr/src/redhat/SOURCES directory ($RPM_SOURCE_DIR). -# Or you can try the ftp options of rpm :-) -# -%{?!_with_sources:NoSource: 0} -%{?!_with_sources:NoSource: 1} - -# Use rpm -ba --define 'gnat [0|1]' xxx.spec to override building gnat for -# those targets wanting to support ada. - -# default to not building gnat -%define _gnat %{?gnat:%gnat}%{!?gnat:0} - -# Use rpm -ba --define 'gcj [0|1]' xxx.spec to override building gcj for -# those targets wanting to support gcj. - -# default to not building gcj -%define _gcj %{?gcj:%gcj}%{!?gcj:0} - -%define build_cxx %{?cxx:%cxx}%{!?cxx:1} -%define build_g77 %{?g77:%g77}%{!?g77:0} -%define build_objc %{?objc:%objc}%{!?objc:0} -%define build_gcj 0 -%define build_gnat 0 - -%if "%{gcc_target}" == "arm-rtems@osversion@" -%define build_gcj %_gcj -%endif - -%if "%{gcc_target}" == "avr-rtems@osversion@" -%define build_cxx 0 -%endif - -%if "%{gcc_target}" == "tic4x-rtems@osversion@" -%define build_cxx 0 -%endif - -# OBSOLETE: use tic4x instead -%if "%{gcc_target}" == "c4x-rtems@osversion@" -%define build_cxx 0 -%endif - -%if "%{gcc_target}" == "i386-rtems@osversion@" -%define build_gnat %_gnat -%define build_gcj %_gcj -%endif - -%if "%{gcc_target}" == "m68k-rtems@osversion@" -%define build_gcj %_gcj -%endif - -%if "%{gcc_target}" == "mips-rtems@osversion@" -%define build_gnat %_gnat -%define build_gcj %_gcj -%endif - -%if "%{gcc_target}" == "powerpc-rtems@osversion@" -%define build_gnat %_gnat -%define build_gcj %_gcj -%endif - -# gcc 3.4.0 is broken for embedded sparc and gnat trips it. -%if "%{gcc_target}" == "sparc-rtems@osversion@" -%if "%{gcc_version}" >= "3.4" -%define build_gnat 0 -%else -%define build_gnat %_gnat -%endif -%define build_gcj %_gcj -%endif - -%if %build_gcj -# Building gcj requires bison and zlib -BuildPreReq: bison -%if "%_vendor" == "redhat" -BuildPreReq: zlib-devel -%endif -%endif - -%if %build_gnat -# Building gnat requires gnat -%if "%_vendor" == "redhat" -# This really isn't available until RedHat 8.0. How to conditionalize this? -# BuildPreReq: gcc-gnat -%endif -%endif - -%if "%{gcc_version}" >= "3.4" -%define gcclib %{_libdir}/gcc -%define gccexec %{_libexecdir}/gcc -%else -%define gcclib %{_libdir}/gcc-lib -%define gccexec %{_libdir}/gcc-lib -%endif - -%description -RTEMS is an open source operating system for embedded systems. - -This is gcc's and newlib C Library's sources with patches for RTEMS. - - The original sources are not included in the source RPM. - If we included them, then the source RPMs for each target - would duplicate MBs of source unnecessarily. This is - a duplication of over 30 MBs of source for each of - the more than 10 targets it is possible to build. - - You can get them yourself from the Internet and copy them to - your /usr/src/[redhat|packages]/SOURCES directory ($RPM_SOURCE_DIR). - Or you can try the ftp options of rpm :-) - -%prep -# untar the sources inside %{gcc_target}-gcc-newlib -%setup -c -T -n %{name}-%{version} -a0 -a1 - -cd gcc-%{gcc_version} -%{?PATCH0:%patch0 -p1} -cd .. -cd newlib-%{newlib_version} -%{?PATCH1:%patch1 -p1} -cd .. - - cd gcc-%{gcc_version} - sed -e 's/\(version_string = \"[^\"]*\)/\1 (RTEMS gcc-%{gcc_version}-@gcc_patch_version@\/newlib-%{newlib_version}-@newlib_patch_version@-@Release@)/' \ - gcc/version.c > gcc/version.c~ - mv gcc/version.c~ gcc/version.c - - # Fix timestamps - contrib/gcc_update --touch - cd .. - - # Copy the C library into gcc's source tree - ln -s ../newlib-%{newlib_version}/newlib gcc-%{gcc_version} - test -d build || mkdir build - -%build - cd build - -# ALERT: GCJ would be better if we could add this flag and build -# it's libraries but this code isn't ready to be embedded. -# libgcj_flag="--enable-libgcj" - - languages="c" -%if %build_cxx - languages="$languages,c++" -%endif -%if %build_g77 - languages="$languages,g77" -%endif -%if %build_gcj - languages="$languages,java" -%endif -%if %build_objc - languages="$languages,objc" -%endif -%if %build_gnat - languages="$languages,ada" -%endif - - export PATH="%{_bindir}:${PATH}" - ../gcc-%{gcc_version}/configure \ - --prefix=%{_prefix} --mandir=%{_mandir} \ - --infodir=%{_infodir} \ - --build=%_build --host=%_host \ - --target=%{gcc_target} \ - --with-gnu-as --with-gnu-ld --with-newlib --verbose \ - --with-system-zlib --disable-nls \ - --enable-version-specific-runtime-libs \ - --enable-threads=rtems \ - --enable-languages=$languages ${libgcj_flag} - -%if "%_host" != "%_build" - # Bug in gcc-3.2.1: - # Somehow, gcc doesn't get syslimits.h right for Cdn-Xs - test -d gcc/include || mkdir -p gcc/include - cp ../gcc-%{gcc_version}/gcc/gsyslimits.h gcc/include/syslimits.h -%endif - -%if %build_gnat -%if "%{gcc_version}" < "3.4" - cd ../gcc-%{gcc_version}/gcc/ada - touch treeprs.ads [es]info.h nmake.ad[bs] - cd ../../../build -%endif -%endif - - make all -%if %build_gnat -# This gnat configuration is crap :( - -%if "%{gcc_version}" >= "3.4" -# This is what is documented - Of cause it doesn't work. - make -C gcc gnatlib - make -C gcc cross-gnattools - make -C gcc ada.all.cross -%endif - -%if "%{gcc_version}" < "3.4" -# This is what had worked for some versions of gcc. - make -C gcc cross-gnattools - make -C gcc ada.all.cross -# This is what gcc/ada/Makefile.in contains by default, -# but what we override below - GNATLIBCFLAGS="-g -O2" -# Let gnatlib building find newlib's headers - GNATLIBCFLAGS="$GNATLIBCFLAGS -isystem `pwd`/%{gcc_target}/newlib/targ-include" - GNATLIBCFLAGS="$GNATLIBCFLAGS -isystem `pwd`/../newlib-%{newlib_version}/newlib/libc/include" - GNATLIBCFLAGS="$GNATLIBCFLAGS -isystem `pwd`/../gcc-%{gcc_version}/include" -# Without this xgcc doesn't find the target's binutils. - GNATLIBCFLAGS="$GNATLIBCFLAGS -B%{_prefix}/%{gcc_target}/bin/" -%if "%{gcc_target}" == "mips-rtems@osversion@" - GNATLIBCFLAGS="$GNATLIBCFLAGS -G0" -%endif - make -C gcc GNATLIBCFLAGS="${GNATLIBCFLAGS}" gnatlib -%endif -%endif - make info - -%install - export PATH="%{_bindir}:${PATH}" - test $RPM_BUILD_ROOT = "%{_defaultbuildroot}" && \ - rm -rf $RPM_BUILD_ROOT - - cd build -# Bug in gcc-2.95.1: It doesn't build this installation directory -# If it doesn't find it, gcc doesn't install %{gcc_target}/bin/gcc -%if "%{gcc_version}" < "3.0" - ../gcc-%{gcc_version}/mkinstalldirs \ - $RPM_BUILD_ROOT%{_prefix}/%{gcc_target}/bin -%endif - - make prefix=$RPM_BUILD_ROOT%{_prefix} \ - bindir=$RPM_BUILD_ROOT%{_bindir} \ - mandir=$RPM_BUILD_ROOT%{_mandir} \ - infodir=$RPM_BUILD_ROOT%{_infodir} \ - install - cd %{gcc_target}/newlib - make prefix=$RPM_BUILD_ROOT%{_prefix} \ - bindir=$RPM_BUILD_ROOT%{_bindir} \ - mandir=$RPM_BUILD_ROOT%{_mandir} \ - infodir=$RPM_BUILD_ROOT%{_infodir} \ - install-info - # cd back to build/ - cd ../.. - -%if %build_gnat -# Install a copy of gcc as gnatgcc -# Enables us to mix different versions of gnat and gnatgcc - rm -f $RPM_BUILD_ROOT%{_bindir}/%{gcc_target}-gnatgcc%{_exeext} - ln $RPM_BUILD_ROOT%{_bindir}/%{gcc_target}-gcc%{_exeext} \ - $RPM_BUILD_ROOT%{_bindir}/%{gcc_target}-gnatgcc%{_exeext} -%endif - - # Bug in gcc-3.x: It puts the build dirs into *.la files - - # host library - rm -f ${RPM_BUILD_ROOT}%{_prefix}/lib/libiberty.a - - # We use the version from binutils - rm -f $RPM_BUILD_ROOT%{_prefix}/bin/%{gcc_target}-c++filt%{_exeext} - - # We don't ship info/dir - rm -f $RPM_BUILD_ROOT%{_infodir}/dir - -%if "%{gcc_version}" >= "3.4" - # Bug in gcc-3.4.0pre - rm -f $RPM_BUILD_ROOT%{_prefix}/bin/%{gcc_target}-%{gcc_target}-gcjh%{_exeext} -%endif - -%if "%{gcc_version}" >= "3.3" - # Bug in gcc-3.3.x/gcc-3.4.x: Despite we don't need fixincludes, it installs - # the fixinclude-install-tools - rm -rf ${RPM_BUILD_ROOT}%{gccexec}/%{gcc_target}/%{gcc_version}/install-tools -%endif - -%if "%{gcc_version}" < "3.0" - # 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%{_prefix}/bin/cpp%{_exeext}; - then - mv $RPM_BUILD_ROOT%{_prefix}/bin/cpp%{_exeext} \ - $RPM_BUILD_ROOT%{_prefix}/bin/%{gcc_target}-cpp%{_exeext} - fi -%endif - - # gzip info files - ls $RPM_BUILD_ROOT%{_infodir}/*.info \ - $RPM_BUILD_ROOT%{_infodir}/*.info-? \ - $RPM_BUILD_ROOT%{_infodir}/*.info-?? \ - | while read a; do \ - gzip -9qf $a 2>/dev/null; \ - done - - # gzip man pages - gzip -9qf $RPM_BUILD_ROOT%{_mandir}/man?/*.? 2>/dev/null - - rm -f dirs ; - echo "%defattr(-,root,root)" >> dirs - echo "%dir %{_prefix}/lib" >> dirs ; - echo "%dir %{gcclib}" >> dirs ; - echo "%dir %{gcclib}/%{gcc_target}" >> dirs ; - - # Collect multilib subdirectories - f=`gcc/xgcc -Bgcc/ --print-multi-lib | sed -e 's,;.*$,,'` - - TGTDIR="%{gcclib}/%{gcc_target}/%{gcc_version}" - for i in $f; do - case $i in - \.) echo "%dir ${TGTDIR}" >> dirs - ;; - *) echo "%dir ${TGTDIR}/$i" >> dirs - ;; - esac - done - - TGTDIR="%{_prefix}/%{gcc_target}/lib" - for i in $f; do - case $i in - \.) echo "%dir ${TGTDIR}" >> dirs - ;; - *) echo "%dir ${TGTDIR}/$i" >> dirs - ;; - esac - done - - # Collect files to go into different packages - cp dirs files.gcc - cp dirs files.g77 - cp dirs files.objc - cp dirs files.gcj - cp dirs files.g++ - - TGTDIR="%{gcclib}/%{gcc_target}/%{gcc_version}" - f=`find ${RPM_BUILD_ROOT}${TGTDIR} ! -type d -print | sed -e "s,^$RPM_BUILD_ROOT,,g"`; - for i in $f; do - case $i in - *lib*.la) rm ${RPM_BUILD_ROOT}/$i ;; # ignore: gcc produces bogus libtool libs - *f771) ;; - *cc1) ;; - *cc1obj) ;; - *cc1plus) ;; # ignore: explicitly put into rpm elsewhere - *collect2) ;; - *libobjc*) echo "$i" >> files.objc ;; - *include/objc*) ;; - *include/g++*);; - *include/c++*);; - *adainclude*);; - *adalib*);; - *gnat1);; - *jc1) ;; - *jvgenmain) ;; - *libstdc++.a) echo "$i" >> files.g++ ;; - *libsupc++.a) echo "$i" >> files.g++ ;; - *) echo "$i" >> files.gcc ;; - esac - done - - TGTDIR="%{_prefix}/%{gcc_target}/lib" - f=`find ${RPM_BUILD_ROOT}${TGTDIR} ! -type d -print | sed -e "s,^$RPM_BUILD_ROOT,,g"`; - for i in $f; do - case $i in - *lib*.la) rm ${RPM_BUILD_ROOT}/$i;; # ignore - gcc produces bogus libtool libs - *libiberty.a) rm ${RPM_BUILD_ROOT}/$i ;; # ignore - GPL'ed -# all other files belong to gcc - *) echo "$i" >> files.gcc ;; - esac - done - |