summaryrefslogtreecommitdiffstats
path: root/scripts/gcc3newlib/gccnewlib.add
diff options
context:
space:
mode:
authorRalf Corsepius <ralf.corsepius@rtems.org>2005-04-12 16:51:25 +0000
committerRalf Corsepius <ralf.corsepius@rtems.org>2005-04-12 16:51:25 +0000
commit7337984f7546045eda3647923566a754c2eeb718 (patch)
tree9b188b68a739fdf09b78953c3058478a5e73499f /scripts/gcc3newlib/gccnewlib.add
parent2005-04-12 Ralf Corsepius <ralf.corsepius@rtems.org> (diff)
downloadrtems-7337984f7546045eda3647923566a754c2eeb718.tar.bz2
Remove.
Diffstat (limited to 'scripts/gcc3newlib/gccnewlib.add')
-rw-r--r--scripts/gcc3newlib/gccnewlib.add405
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
-