summaryrefslogtreecommitdiffstats
path: root/scripts/binutils
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2000-06-12 15:00:15 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2000-06-12 15:00:15 +0000
commitdf49c60c9671e4a28e636964d744c1f59fb6cb68 (patch)
treeeabd85e189514ad412a35414ba5d483dcda3ef1f /scripts/binutils
parentPurged as many egcs references as possible. (diff)
downloadrtems-df49c60c9671e4a28e636964d744c1f59fb6cb68.tar.bz2
Merged from 4.5.0-beta3a
Diffstat (limited to 'scripts/binutils')
-rw-r--r--scripts/binutils/.cvsignore2
-rw-r--r--scripts/binutils/Makefile.am42
-rw-r--r--scripts/binutils/base-binutils.add64
-rw-r--r--scripts/binutils/binutils.add93
-rw-r--r--scripts/binutils/target-binutils.add46
5 files changed, 224 insertions, 23 deletions
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