# # spec file for package rtems # # Copyright (c) 1999 OARCorp, Huntsville, AL # # please send bugfixes or comments to joel@OARcorp.com # Vendor: OAR Corporation Distribution: Linux Name: @target_alias@-gcc Release: @Release@ Copyright: 1999 OARCorp Group: unsorted Provides: @target_alias@-gcc-newlib Requires: @target_alias@-binutils Autoreqprov: on Packager: corsepiu@faw.uni-ulm.de and joel@OARcorp.com Version: @gcc_version@newlib@newlib_version@ Summary: rtems gcc and newlib C Library for target @target_alias@ Source0: ftp://ftp.gnu.org/pub/gnu/gcc/gcc-@gcc_version@.tar.gz Source1: ftp://sourceware.cygnus/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 # # 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 :-) # NoSource: 0, 1 Buildroot: @rpm_build_root@ %description RTEMS is an open source operating system for embedded systems. This is gcc and newlib C Library for @target_alias@. Authors: -------- Joel Sherrill (joel@oarcorp.com) ... %prep echo RPM_BUILD_ROOT=${RPM_BUILD_ROOT} # untar the sources inside @target_alias@-gcc-newlib -@Version@ %setup -c -n @target_alias@-gcc-newlib -a 0 -a 1 %patch0 -p0 %patch1 -p0 # Now link the C library into the source tree ln -s ../newlib-1.8.2/newlib gcc-@gcc_version@ %build test -d build || mkdir build cd build ../gcc-@gcc_version@/configure --target=@target_alias@ \ --with-gnu-as --with-gnu-ld --with-newlib --verbose \ --prefix=/opt/rtems # for now we are building all the languages # '--enable-languages=c c++' make all make info # Since gcc now finds the RTEMS limits.h, this should not be needed # cd gcc # rm -f stmp-multilib # find . -name "*.a" -print | xargs -e rm -f # # make all # cd .. %install cd build make prefix=$RPM_BUILD_ROOT/opt/rtems install cd @target_alias@/newlib make prefix=$RPM_BUILD_ROOT/opt/rtems install-info # cd back to build/ cd ../.. # 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 rm -f files # collect c++ headers if test -d $RPM_BUILD_ROOT/opt/rtems/include/g++-3; then find $RPM_BUILD_ROOT/opt/rtems/include/g++-3 \ -type d | \ sed -e "s,^$RPM_BUILD_ROOT,%dir ,g" >> files find $RPM_BUILD_ROOT/opt/rtems/include/g++-3 \ \( -type f -o -type l \) | \ sed -e "s,^$RPM_BUILD_ROOT,,g" >> files fi # collect target gcc-lib if test -d "$RPM_BUILD_ROOT/opt/rtems/lib/gcc-lib/@target_alias@/@gcc_version@"; \ then find "$RPM_BUILD_ROOT/opt/rtems/lib/gcc-lib/@target_alias@/@gcc_version@" \ -type d | sed -e "s,^$RPM_BUILD_ROOT,%dir ,g" >> files find "$RPM_BUILD_ROOT/opt/rtems/lib/gcc-lib/@target_alias@/@gcc_version@" \ \( -type f -o -type l \) \ | sed -e "s,^$RPM_BUILD_ROOT,,g" >> files fi # collect target files if test -d "$RPM_BUILD_ROOT/opt/rtems/@target_alias@"; \ then find "$RPM_BUILD_ROOT/opt/rtems/@target_alias@" \ -type d | \ sed -e "s,^$RPM_BUILD_ROOT,%dir ,g" >> files find "$RPM_BUILD_ROOT/opt/rtems/@target_alias@" \ \( -type f -o -type l \) | \ sed -e "s,^$RPM_BUILD_ROOT,,g" >> files fi %post if test -d $RPM_INSTALL_PREFIX/rtems/info; then rm -f $RPM_INSTALL_PREFIX/rtems/info/dir f=`find $RPM_INSTALL_PREFIX/rtems/info -name '*.info.gz'` test -n "$f" && for i in $f; do install-info $i $RPM_INSTALL_PREFIX/rtems/info/dir done fi %postun if test -d $RPM_INSTALL_PREFIX/rtems/info; then rm -f $RPM_INSTALL_PREFIX/rtems/info/dir f=`find $RPM_INSTALL_PREFIX/rtems/info -name '*.info.gz'` test -n "$f" && for i in $f; do install-info $i $RPM_INSTALL_PREFIX/rtems/info/dir done fi %files -f build/files %docdir /opt/rtems/info %doc /opt/rtems/info/dir %doc /opt/rtems/info/chill.info* %doc /opt/rtems/info/cpp.info* %doc /opt/rtems/info/gcc.info* %doc /opt/rtems/info/g77.info* %doc /opt/rtems/info/libc.info* %doc /opt/rtems/info/libm.info* %docdir /opt/rtems/man %docdir /opt/rtems/man/man1 %doc /opt/rtems/man/man1/cccp.1 %doc /opt/rtems/man/man1/@target_alias@-gcc.1 %doc /opt/rtems/man/man1/@target_alias@-g++.1 %doc /opt/rtems/man/man1/@target_alias@-g77.1 %dir /opt/rtems/bin /opt/rtems/bin/cpp /opt/rtems/bin/jv-scan /opt/rtems/bin/gcov /opt/rtems/bin/jcf-dump /opt/rtems/bin/gcjh /opt/rtems/bin/@target_alias@-c++ /opt/rtems/bin/@target_alias@-g++ /opt/rtems/bin/@target_alias@-gcc /opt/rtems/bin/@target_alias@-gcj /opt/rtems/bin/@target_alias@-chill /opt/rtems/bin/@target_alias@-g77 /opt/rtems/bin/@target_alias@-protoize /opt/rtems/bin/@target_alias@-unprotoize %dir /opt/rtems/lib /opt/rtems/lib/libiberty* %dir /opt/rtems/include %dir /opt/rtems/lib/gcc-lib %dir /opt/rtems/lib/gcc-lib/@target_alias@