From df49c60c9671e4a28e636964d744c1f59fb6cb68 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Mon, 12 Jun 2000 15:00:15 +0000 Subject: Merged from 4.5.0-beta3a --- scripts/binutils/.cvsignore | 2 + scripts/binutils/Makefile.am | 42 ++++++++-------- scripts/binutils/base-binutils.add | 64 +++++++++++++++++++++++++ scripts/binutils/binutils.add | 93 ++++++++++++++++++++++++++++++++++++ scripts/binutils/target-binutils.add | 46 ++++++++++++++++++ 5 files changed, 224 insertions(+), 23 deletions(-) (limited to 'scripts/binutils') diff --git a/scripts/binutils/.cvsignore b/scripts/binutils/.cvsignore index 52555123f4..7cd764d6df 100644 --- a/scripts/binutils/.cvsignore +++ b/scripts/binutils/.cvsignore @@ -1,3 +1,5 @@ +*.spec Makefile Makefile.in binutils.spec +binutils.spec.in diff --git a/scripts/binutils/Makefile.am b/scripts/binutils/Makefile.am index 0e40d96a8e..b270a3e205 100644 --- a/scripts/binutils/Makefile.am +++ b/scripts/binutils/Makefile.am @@ -2,12 +2,19 @@ ## $Id$ ## -AUTOMAKE_OPTIONS = foreign +AUTOMAKE_OPTIONS = foreign 1.4 MKBINUTILSSPEC = $(SHELL) $(top_builddir)/mkbinutilspec -MKBINUTILSSPEC_DEPS = \ -$(top_builddir)/mkbinutilspec binutils.spec.in $(top_builddir)/setup.cache +SUBPACKAGES = binutils.add \ + base-binutils.add target-binutils.add + +binutils.spec.in: $(SUBPACKAGES) + cat $^ > $@ +CLEANFILES += binutils.spec.in + +MKBINUTILSSPEC_DEPS = $(top_builddir)/mkbinutilspec binutils.spec.in \ + $(top_builddir)/setup.cache hppa1.1-rtems-$(BINUTILSVERS).spec: $(MKBINUTILSSPEC_DEPS) $(MKBINUTILSSPEC) -cfg $(top_builddir)/setup.cache -o . hppa1.1-rtems @@ -39,25 +46,14 @@ sh-rtemself-$(BINUTILSVERS).spec: $(MKBINUTILSSPEC_DEPS) sparc-rtems-$(BINUTILSVERS).spec: $(MKBINUTILSSPEC_DEPS) $(MKBINUTILSSPEC) -cfg $(top_builddir)/setup.cache -o . sparc-rtems -TEMPLATES = \ -binutils.spec.in - -RPM_SPECS_DATA = \ -hppa1.1-rtems-$(BINUTILSVERS).spec \ -i386-rtems-$(BINUTILSVERS).spec \ -i960-rtems-$(BINUTILSVERS).spec \ -m68k-rtems-$(BINUTILSVERS).spec \ -m68k-rtemself-$(BINUTILSVERS).spec \ -mips64orion-rtems-$(BINUTILSVERS).spec \ -powerpc-rtems-$(BINUTILSVERS).spec \ -sh-rtems-$(BINUTILSVERS).spec \ -sh-rtemself-$(BINUTILSVERS).spec \ -sparc-rtems-$(BINUTILSVERS).spec - -noinst_DATA = \ -$(TEMPLATES) +RPM_SPECS_DATA = hppa1.1-rtems-$(BINUTILSVERS).spec \ + i386-rtems-$(BINUTILSVERS).spec i960-rtems-$(BINUTILSVERS).spec \ + m68k-rtems-$(BINUTILSVERS).spec m68k-rtemself-$(BINUTILSVERS).spec \ + mips64orion-rtems-$(BINUTILSVERS).spec \ + powerpc-rtems-$(BINUTILSVERS).spec sh-rtems-$(BINUTILSVERS).spec \ + sh-rtemself-$(BINUTILSVERS).spec sparc-rtems-$(BINUTILSVERS).spec +CLEANFILES += $(RPM_SPECS_DATA) -EXTRA_DIST = \ -$(TEMPLATES) +EXTRA_DIST = $(SUBPACKAGES) -CLEANFILES = $(RPM_SPECS_DATA) +include $(top_srcdir)/../automake/local.am diff --git a/scripts/binutils/base-binutils.add b/scripts/binutils/base-binutils.add index e69de29bb2..bfdcd87542 100644 --- a/scripts/binutils/base-binutils.add +++ b/scripts/binutils/base-binutils.add @@ -0,0 +1,64 @@ +# ============================================================== +# rtems-base-binutils +# ============================================================== +%package -n rtems-base-binutils +Provides: rtems-base-binutils +Summary: base package for rtems binutils +Group: rtems + +%description -n rtems-base-binutils + +RTEMS is an open source operating system for embedded systems. + +This is the base for binutils regardless of target CPU. + +%post -n rtems-base-binutils + 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 -n rtems-base-binutils + 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-binutils -f files +%dir /opt/rtems/info +%doc /opt/rtems/info/dir +%doc /opt/rtems/info/as.info.gz +%doc /opt/rtems/info/as.info-?.gz +%doc /opt/rtems/info/bfd.info.gz +%doc /opt/rtems/info/bfd.info-?.gz +%doc /opt/rtems/info/binutils.info.gz +%doc /opt/rtems/info/binutils.info-?.gz +%doc /opt/rtems/info/ld.info.gz +%doc /opt/rtems/info/ld.info-?.gz +%doc /opt/rtems/info/gasp.info.gz +%doc /opt/rtems/info/standards.info.gz + +%dir /opt/rtems/man +%dir /opt/rtems/man/man1 + +%dir /opt/rtems/include +/opt/rtems/include/bfd.h +/opt/rtems/include/ansidecl.h +/opt/rtems/include/bfdlink.h + +%dir /opt/rtems/lib +/opt/rtems/lib/libbfd* +/opt/rtems/lib/libiberty* +/opt/rtems/lib/libopcodes* + +%dir /opt/rtems/share +%dir /opt/rtems/share/locale + diff --git a/scripts/binutils/binutils.add b/scripts/binutils/binutils.add index e69de29bb2..a8f1ee5c86 100644 --- a/scripts/binutils/binutils.add +++ b/scripts/binutils/binutils.add @@ -0,0 +1,93 @@ +# +# 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 + diff --git a/scripts/binutils/target-binutils.add b/scripts/binutils/target-binutils.add index e69de29bb2..94abb23dc2 100644 --- a/scripts/binutils/target-binutils.add +++ b/scripts/binutils/target-binutils.add @@ -0,0 +1,46 @@ +# ============================================================== +# @target_alias@-binutils +# ============================================================== +%package -n @target_alias@-binutils +Provides: @target_alias@-binutils +Summary: rtems binutils for @target_alias@ +Group: rtems +Requires: rtems-base-binutils +Autoreqprov: off + +%description -n @target_alias@-binutils + +RTEMS is an open source operating system for embedded systems. + +This is the GNU binutils for RTEMS targetting @target_alias@. + +%files -n @target_alias@-binutils +%doc /opt/rtems/man/man1/@target_alias@-*.1 + +%dir /opt/rtems/bin +/opt/rtems/bin/@target_alias@-addr2line@exe_ext@ +/opt/rtems/bin/@target_alias@-ar@exe_ext@ +/opt/rtems/bin/@target_alias@-as@exe_ext@ +/opt/rtems/bin/@target_alias@-c++filt@exe_ext@ +/opt/rtems/bin/@target_alias@-gasp@exe_ext@ +/opt/rtems/bin/@target_alias@-ld@exe_ext@ +/opt/rtems/bin/@target_alias@-nm@exe_ext@ +/opt/rtems/bin/@target_alias@-objcopy@exe_ext@ +/opt/rtems/bin/@target_alias@-objdump@exe_ext@ +/opt/rtems/bin/@target_alias@-ranlib@exe_ext@ +/opt/rtems/bin/@target_alias@-readelf@exe_ext@ +/opt/rtems/bin/@target_alias@-size@exe_ext@ +/opt/rtems/bin/@target_alias@-strings@exe_ext@ +/opt/rtems/bin/@target_alias@-strip@exe_ext@ + +%dir /opt/rtems/@target_alias@ +%dir /opt/rtems/@target_alias@/bin +/opt/rtems/@target_alias@/bin/ar@exe_ext@ +/opt/rtems/@target_alias@/bin/as@exe_ext@ +/opt/rtems/@target_alias@/bin/ld@exe_ext@ +/opt/rtems/@target_alias@/bin/nm@exe_ext@ +/opt/rtems/@target_alias@/bin/ranlib@exe_ext@ +/opt/rtems/@target_alias@/bin/strip@exe_ext@ + +%dir /opt/rtems/@target_alias@/lib +/opt/rtems/@target_alias@/lib/ldscripts -- cgit v1.2.3