# # spec file for binutils package targetting rtems # # Copyright (c) 1999 OARCorp, Huntsville, AL # # please send bugfixes or comments to joel@OARcorp.com # Vendor: OAR Corporation Distribution: Linux Name: @target_alias@-gnat-binutils-collection Summary: binutils for target @target_alias@ Group: gnatrtems Release: @Release@ License: GPL/LGPL Provides: rtems-base-gnat-binutils @target_alias@-gnat-binutils Autoreqprov: on Packager: corsepiu@faw.uni-ulm.de and joel@OARcorp.com Prefix: /opt Version: @binutils_version@ Source0: ftp://ftp.gnu.org/pub/gnu/binutils/binutils-@binutils_version@.tar.gz Patch0: binutils-@binutils_version@-rtems-@binutils_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 %description RTEMS is an open source operating system for embedded systems. This is binutils sources with patches for RTEMS. %package -n rtems-base-gnat-binutils Summary: base package for rtems binutils Group: rtems %description -n rtems-base-gnat-binutils RTEMS is an open source operating system for embedded systems. This is the base for binutils regardless of target CPU. %package -n @target_alias@-gnat-binutils Summary: rtems binutils for @target_alias@ Group: rtems Requires: rtems-base-gnat-binutils %description -n @target_alias@-gnat-binutils RTEMS is an open source operating system for embedded systems. This is the GNU binutils for RTEMS targetting @target_alias@. Authors: -------- Joel Sherrill (joel@oarcorp.com) ... %prep # untar the sources inside @target_alias@-gnat-binutils %setup -c -n @target_alias@-gnat-binutils -a 0 %patch0 -p0 test -d build || mkdir build %build cd build ../binutils-@binutils_version@/configure --target=@target_alias@ \ --verbose --prefix=/opt/gnatrtems make all make info %install cd build make prefix=$RPM_BUILD_ROOT/opt/gnatrtems install make prefix=$RPM_BUILD_ROOT/opt/gnatrtems install-info # A bug in binutils: binutils does not install share/locale # however it uses it ../binutils-@binutils_version@/mkinstalldirs \ $RPM_BUILD_ROOT/opt/gnatrtems/share/locale # gzip info files gzip -f $RPM_BUILD_ROOT/opt/gnatrtems/info/*.info 2>/dev/null gzip -f $RPM_BUILD_ROOT/opt/gnatrtems/info/*.info-? 2>/dev/null if test -f $RPM_BUILD_ROOT/opt/gnatrtems/info/configure.info.gz; then # These common files are only present in binutils >= 2.9.5 find $RPM_BUILD_ROOT/opt/gnatrtems/info -name 'configure.*' | \ sed -e "s,^$RPM_BUILD_ROOT,,g" > ../files else touch ../files fi # These target specific files are only present in binutils >= 2.9.5 if test -f /opt/gnatrtems/bin/@target_alias@-readelf@exe_ext@; then echo /opt/gnatrtems/bin/@target_alias@-readelf@exe_ext@ > ../files.target else touch ../files.target 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 x"$f" != x"" && 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 x"$f" != x"" && for i in $f; do install-info $i $RPM_INSTALL_PREFIX/rtems/info/dir done fi %files -n rtems-base-gnat-binutils -f files %dir /opt/gnatrtems/info %doc /opt/gnatrtems/info/dir %doc /opt/gnatrtems/info/as.info.gz %doc /opt/gnatrtems/info/as.info-?.gz %doc /opt/gnatrtems/info/bfd.info.gz %doc /opt/gnatrtems/info/bfd.info-?.gz %doc /opt/gnatrtems/info/binutils.info.gz %doc /opt/gnatrtems/info/binutils.info-?.gz %doc /opt/gnatrtems/info/ld.info.gz %doc /opt/gnatrtems/info/ld.info-?.gz %doc /opt/gnatrtems/info/gasp.info.gz %doc /opt/gnatrtems/info/standards.info.gz %dir /opt/gnatrtems/man %dir /opt/gnatrtems/man/man1 %dir /opt/gnatrtems/include /opt/gnatrtems/include/bfd.h /opt/gnatrtems/include/ansidecl.h /opt/gnatrtems/include/bfdlink.h %dir /opt/gnatrtems/lib /opt/gnatrtems/lib/libbfd* /opt/gnatrtems/lib/libiberty* /opt/gnatrtems/lib/libopcodes* %dir /opt/gnatrtems/share %dir /opt/gnatrtems/share/locale %files -n @target_alias@-gnat-binutils -f files.target %doc /opt/gnatrtems/man/man1/@target_alias@-*.1 %dir /opt/gnatrtems/bin /opt/gnatrtems/bin/@target_alias@-addr2line@exe_ext@ /opt/gnatrtems/bin/@target_alias@-ar@exe_ext@ /opt/gnatrtems/bin/@target_alias@-as@exe_ext@ /opt/gnatrtems/bin/@target_alias@-c++filt@exe_ext@ /opt/gnatrtems/bin/@target_alias@-gasp@exe_ext@ /opt/gnatrtems/bin/@target_alias@-ld@exe_ext@ /opt/gnatrtems/bin/@target_alias@-nm@exe_ext@ /opt/gnatrtems/bin/@target_alias@-objcopy@exe_ext@ /opt/gnatrtems/bin/@target_alias@-objdump@exe_ext@ /opt/gnatrtems/bin/@target_alias@-ranlib@exe_ext@ # readelf is not in older binutils so get it from file list # /opt/gnatrtems/bin/@target_alias@-readelf@exe_ext@ /opt/gnatrtems/bin/@target_alias@-size@exe_ext@ /opt/gnatrtems/bin/@target_alias@-strings@exe_ext@ /opt/gnatrtems/bin/@target_alias@-strip@exe_ext@ %dir /opt/gnatrtems/@target_alias@ %dir /opt/gnatrtems/@target_alias@/bin /opt/gnatrtems/@target_alias@/bin/ar@exe_ext@ /opt/gnatrtems/@target_alias@/bin/as@exe_ext@ /opt/gnatrtems/@target_alias@/bin/ld@exe_ext@ /opt/gnatrtems/@target_alias@/bin/nm@exe_ext@ /opt/gnatrtems/@target_alias@/bin/ranlib@exe_ext@ /opt/gnatrtems/@target_alias@/bin/strip@exe_ext@ %dir /opt/gnatrtems/@target_alias@/lib /opt/gnatrtems/@target_alias@/lib/ldscripts