source: rtems/scripts/binutils/binutils.add @ 63cf252f

Last change on this file since 63cf252f was 63cf252f, checked in by Joel Sherrill <joel.sherrill@…>, on 05/28/00 at 18:14:55

Patch rtems-rc-4.5.0-21.diff from Ralf Corsepius <corsepiu@…>
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

  • Property mode set to 100644
File size: 2.7 KB
Line 
1#
2# spec file for binutils package targetting rtems
3#
4# Copyright  (c)  1999,2000 OARCorp, Huntsville, AL
5#
6# please send bugfixes or comments to joel@OARcorp.com
7#
8
9Vendor:       OAR Corporation
10Distribution: Linux
11Name:         @target_alias@-binutils-collection
12Summary:      binutils for target @target_alias@
13Group:        rtems
14Release:      @Release@
15License:      GPL/LGPL
16
17Autoreqprov:    off
18Packager:       corsepiu@faw.uni-ulm.de and joel@OARcorp.com
19Prefix:         /opt
20BuildRoot:      /tmp/@target_alias@-binutils
21
22Version:        @binutils_version@
23Source0:        ftp://ftp.gnu.org/pub/gnu/binutils/binutils-@binutils_version@.tar.gz
24Patch0:         binutils-@binutils_version@-rtems-@binutils_patch_version@.diff
25#
26# The original sources are not included in the source RPM.
27# If we included them, then the source RPMs for each target
28# would duplicate MBs of source unnecessarily.  This is
29# a duplication of over 30 MBs of source for each of
30# the more than 10 targets it is possible to build.
31#
32# You can get them yourself from the Internet and copy them to
33# your /usr/src/redhat/SOURCES directory ($RPM_SOURCE_DIR).
34# Or you can try the ftp options of rpm :-)
35#
36NoSource:      0
37
38%description
39
40RTEMS is an open source operating system for embedded systems.
41
42This is binutils sources with patches for RTEMS.
43
44%prep
45# untar the sources inside @target_alias@-binutils
46%setup -c -n @target_alias@-binutils -a 0
47
48%patch0 -p0
49  test -d build || mkdir build
50
51%build
52  cd build
53  ../binutils-@binutils_version@/configure --target=@target_alias@ \
54    --verbose --prefix=/opt/rtems
55
56  make all
57  make info
58
59
60%install
61  cd build
62  make prefix=$RPM_BUILD_ROOT/opt/rtems install
63  make prefix=$RPM_BUILD_ROOT/opt/rtems install-info
64# A bug in binutils: binutils does not install share/locale
65# however it uses it
66  ../binutils-@binutils_version@/mkinstalldirs \
67    $RPM_BUILD_ROOT/opt/rtems/share/locale
68
69# gzip info files
70  gzip -f $RPM_BUILD_ROOT/opt/rtems/info/*.info 2>/dev/null
71  gzip -f $RPM_BUILD_ROOT/opt/rtems/info/*.info-? 2>/dev/null
72
73  if test -f $RPM_BUILD_ROOT/opt/rtems/info/configure.info.gz;
74  then
75# These are only present in binutils >= 2.9.5
76    find $RPM_BUILD_ROOT/opt/rtems/info -name 'configure.*' | \
77      sed -e "s,^$RPM_BUILD_ROOT,,g" > ../files
78  else
79    touch ../files
80  fi
81
82# We assume that info/dir exists when building the RPMs
83  rm -f $RPM_BUILD_ROOT/opt/rtems/info/dir
84  f=`find $RPM_BUILD_ROOT/opt/rtems/info -name '*.info.gz'`
85  test x"$f" != x"" && for i in $f; do
86    install-info $i $RPM_BUILD_ROOT/opt/rtems/info/dir
87  done
88
89%clean
90# let rpm --clean remove BuildRoot iif using the default BuildRoot
91  test "$RPM_BUILD_ROOT" = "/tmp/@target_alias@-binutils" && \
92    rm -rf $RPM_BUILD_ROOT
93
Note: See TracBrowser for help on using the repository browser.