Files
rtems/scripts/binutils/binutils.add
Joel Sherrill 63cf252f31 Patch rtems-rc-4.5.0-21.diff from Ralf Corsepius <corsepiu@faw.uni-ulm.de>
which splits the current monolithic specs files into a sequence of
subparts.  These can be concatenated togather to make a the whole .spec
file.  This cleans up the maintenance problem of having "all languages"
and a "C/C++ only" gccnewlib spec files.  Plus it should make it easier
to produce variants like the gdb-m68k-bdm which require special hackery. :)
Ralf's comments:

  It addresses the way *.spec.in get composed inside of the source
  tree.

  Changes:
    * Each spec.in is broken into several files (*.add), one *.add file
      per sub-package.
    * Each Makefile.am composes spec.ins from the *.add files
    * Removal of redundant automake support files.
    * Default value for BuildRoot changed to /tmp/<spec-file-name>
    * %clean stage added to *specs

  Advantages (IMHO).
    * The *.add files are easier to adminstrate and more flexible in
      comparison to the former *.specs.ins.
    * gccnewlib_c_only.spec.in now is composed from the same sources as
      gccnewlib.spec.in (less errors)
    * If using the default BuildRoot --clean now deletes all files that
      were generated while building.

  Notes:
    * rtems.spec.in has not yet been adapted to the scheme used for the
      other *spec.ins
    * Except for cosmetical changes the internals of the  *.spec files
      should not have changed.

  To Apply:
    cvs rm -f scripts/binutils/binutils.spec.in
    cvs rm -f scripts/gccnewlib/gccnewlib.spec.in
    cvs rm -f scripts/gccnewlib/gccnewlib_c_only.spec.in
    cvs rm -f scripts/gdb/gdb.spec.in
    cvs rm -f scripts/config.sub
    cvs rm -f scripts/config.guess
    cvs rm -f scripts/install-sh
    cvs rm -f scripts/mkinstalldirs
    cvs rm -f scripts/missing

    patch -p1 < rtems-rc-4.5.0-21.diff

    cvs add scripts/*/*.add
    cvs add scripts/*/README
2000-05-28 18:14:55 +00:00

94 lines
2.7 KiB
Plaintext

#
# spec file for binutils package targetting rtems
#
# Copyright (c) 1999,2000 OARCorp, Huntsville, AL
#
# please send bugfixes or comments to joel@OARcorp.com
#
Vendor: OAR Corporation
Distribution: Linux
Name: @target_alias@-binutils-collection
Summary: binutils for target @target_alias@
Group: rtems
Release: @Release@
License: GPL/LGPL
Autoreqprov: off
Packager: corsepiu@faw.uni-ulm.de and joel@OARcorp.com
Prefix: /opt
BuildRoot: /tmp/@target_alias@-binutils
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.
%prep
# untar the sources inside @target_alias@-binutils
%setup -c -n @target_alias@-binutils -a 0
%patch0 -p0
test -d build || mkdir build
%build
cd build
../binutils-@binutils_version@/configure --target=@target_alias@ \
--verbose --prefix=/opt/rtems
make all
make info
%install
cd build
make prefix=$RPM_BUILD_ROOT/opt/rtems install
make prefix=$RPM_BUILD_ROOT/opt/rtems install-info
# A bug in binutils: binutils does not install share/locale
# however it uses it
../binutils-@binutils_version@/mkinstalldirs \
$RPM_BUILD_ROOT/opt/rtems/share/locale
# 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
if test -f $RPM_BUILD_ROOT/opt/rtems/info/configure.info.gz;
then
# These are only present in binutils >= 2.9.5
find $RPM_BUILD_ROOT/opt/rtems/info -name 'configure.*' | \
sed -e "s,^$RPM_BUILD_ROOT,,g" > ../files
else
touch ../files
fi
# We assume that info/dir exists when building the RPMs
rm -f $RPM_BUILD_ROOT/opt/rtems/info/dir
f=`find $RPM_BUILD_ROOT/opt/rtems/info -name '*.info.gz'`
test x"$f" != x"" && for i in $f; do
install-info $i $RPM_BUILD_ROOT/opt/rtems/info/dir
done
%clean
# let rpm --clean remove BuildRoot iif using the default BuildRoot
test "$RPM_BUILD_ROOT" = "/tmp/@target_alias@-binutils" && \
rm -rf $RPM_BUILD_ROOT