summaryrefslogtreecommitdiffstats
path: root/contrib/crossrpms/binutils
diff options
context:
space:
mode:
authorRalf Corsepius <ralf.corsepius@rtems.org>2006-02-14 15:27:52 +0000
committerRalf Corsepius <ralf.corsepius@rtems.org>2006-02-14 15:27:52 +0000
commit2b6eb185c3dd30bc4913c655c5cfcb79703c1a77 (patch)
tree5f8c46f29b770e160b7a97fad368c982c950b087 /contrib/crossrpms/binutils
parentNew. (diff)
downloadrtems-2b6eb185c3dd30bc4913c655c5cfcb79703c1a77.tar.bz2
New.
Diffstat (limited to 'contrib/crossrpms/binutils')
-rw-r--r--contrib/crossrpms/binutils/base-binutils.add56
-rw-r--r--contrib/crossrpms/binutils/binutils.add108
-rw-r--r--contrib/crossrpms/binutils/rpm-install.add32
-rw-r--r--contrib/crossrpms/binutils/target-binutils.add31
4 files changed, 227 insertions, 0 deletions
diff --git a/contrib/crossrpms/binutils/base-binutils.add b/contrib/crossrpms/binutils/base-binutils.add
new file mode 100644
index 0000000000..9960e0641f
--- /dev/null
+++ b/contrib/crossrpms/binutils/base-binutils.add
@@ -0,0 +1,56 @@
+%if "%{_prefix}" != "/usr"
+# ==============================================================
+# rtems-base-binutils
+# ==============================================================
+%package -n @rpmprefix@rtems@osversion@-base-binutils
+Summary: base package for rtems binutils
+Group: %{rpmgroup}
+Requires(post): /sbin/install-info
+Requires(preun): /sbin/install-info
+
+%description -n @rpmprefix@rtems@osversion@-base-binutils
+
+RTEMS is an open source operating system for embedded systems.
+
+This is the base for binutils regardless of target CPU.
+
+%post -n @rpmprefix@rtems@osversion@-base-binutils
+ /sbin/install-info --info-dir=%{_infodir} %{_infodir}/as.info.gz
+ /sbin/install-info --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
+ /sbin/install-info --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
+ /sbin/install-info --info-dir=%{_infodir} %{_infodir}/ld.info.gz
+ /sbin/install-info --info-dir=%{_infodir} %{_infodir}/standards.info.gz
+%if "%{binutils_version}" < "2.13"
+ /sbin/install-info --info-dir=%{_infodir} %{_infodir}/gasp.info.gz
+%endif
+
+%preun -n @rpmprefix@rtems@osversion@-base-binutils
+if [ $1 -eq 0 ]; then
+ /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/as.info.gz
+ /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
+ /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
+ /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/ld.info.gz
+ /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/standards.info.gz
+%if "%{binutils_version}" < "2.13"
+ /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gasp.info.gz
+%endif
+fi
+
+%files -n @rpmprefix@rtems@osversion@-base-binutils
+%defattr(-,root,root)
+%dir %{_infodir}
+%ghost %{_infodir}/dir
+%{_infodir}/as.info*
+%{_infodir}/bfd.info*
+%{_infodir}/binutils.info*
+%{_infodir}/ld.info*
+%{_infodir}/standards.info*
+
+%if "%{binutils_version}" < "2.13"
+%{_infodir}/gasp.info*
+%endif
+
+%dir %{_prefix}/share
+%dir %{_prefix}/share/locale
+%endif
+
diff --git a/contrib/crossrpms/binutils/binutils.add b/contrib/crossrpms/binutils/binutils.add
new file mode 100644
index 0000000000..3539778f72
--- /dev/null
+++ b/contrib/crossrpms/binutils/binutils.add
@@ -0,0 +1,108 @@
+%define binutils_version @BINUTILS_VERS@
+%define binutils_rpmvers %{expand: %(echo @BINUTILS_VERS@ | tr - _)}
+%define binutils_target @target_alias@
+
+Name: @rpmprefix@@tool_target@-binutils
+Summary: Binutils for target @tool_target@
+Group: %{rpmgroup}
+Version: %{binutils_rpmvers}
+Release: @BINUTILS_RPMREL@%{?dist}
+License: GPL/LGPL
+URL: http://sources.redhat.com/binutils
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+
+%if "%{_prefix}" != "/usr"
+# Required for building the infos
+BuildRequires: /sbin/install-info
+BuildRequires: texinfo >= 4.2
+%endif
+BuildRequires: flex
+BuildRequires: bison
+
+@SOURCES@
+
+%description
+Cross binutils for target @tool_target@
+
+%prep
+%setup -q -c -T -n %{name}-%{version}
+
+%setup -q -D -T -n %{name}-%{version} -a0
+cd binutils-%{binutils_version}
+%{?PATCH0:%patch0 -p1}
+cd ..
+
+%build
+ mkdir -p build
+ cd build
+ CFLAGS="$RPM_OPT_FLAGS" \
+ ../binutils-%{binutils_version}/configure \
+ --build=%_build --host=%_host \
+ --target=@tool_target@ \
+ --verbose --disable-nls \
+ --without-included-gettext \
+ --disable-win32-registry \
+ --disable-werror \
+ --prefix=%{_prefix} --bindir=%{_bindir} \
+ --includedir=%{_includedir} --libdir=%{_libdir} \
+ --mandir=%{_mandir} --infodir=%{_infodir}
+
+ make all
+%if "%{_prefix}" != "/usr"
+ make info
+%endif
+ cd ..
+
+%install
+ rm -rf $RPM_BUILD_ROOT
+
+ cd build
+ make prefix=$RPM_BUILD_ROOT%{_prefix} \
+ bindir=$RPM_BUILD_ROOT%{_bindir} \
+ includedir=$RPM_BUILD_ROOT%{_includedir} \
+ libdir=$RPM_BUILD_ROOT%{_libdir} \
+ infodir=$RPM_BUILD_ROOT%{_infodir} \
+ mandir=$RPM_BUILD_ROOT%{_mandir} \
+ install
+
+%if "%{_prefix}" != "/usr"
+ make prefix=$RPM_BUILD_ROOT%{_prefix} \
+ bindir=$RPM_BUILD_ROOT%{_bindir} \
+ includedir=$RPM_BUILD_ROOT%{_includedir} \
+ libdir=$RPM_BUILD_ROOT%{_libdir} \
+ infodir=$RPM_BUILD_ROOT%{_infodir} \
+ mandir=$RPM_BUILD_ROOT%{_mandir} \
+ install-info
+%endif
+
+%if "%{_prefix}" == "/usr"
+# Conflict with a native binutils' infos
+ rm -rf $RPM_BUILD_ROOT%{_infodir}
+%else
+%if "%{binutils_version}" < "2.9.5"
+ rm -rf $RPM_BUILD_ROOT%{_infodir}/configure.info*
+%endif
+
+ rm -f $RPM_BUILD_ROOT%{_infodir}/dir
+ touch $RPM_BUILD_ROOT%{_infodir}/dir
+
+# binutils does not install share/locale, however it uses it
+ mkdir -p $RPM_BUILD_ROOT%{_prefix}/share/locale
+%endif
+
+# We don't ship host files
+ rm -f ${RPM_BUILD_ROOT}%{_libdir}/libiberty*
+
+# manpages without corresponding tools
+ if test ! -f ${RPM_BUILD_ROOT}%{_bindir}/@tool_target@-dlltool%{_exeext}; then
+ rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/@tool_target@-dlltool*
+ fi
+ if test ! -f ${RPM_BUILD_ROOT}%{_bindir}/@tool_target@-nlmconv%{_exeext}; then
+ rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/@tool_target@-nlmconv*
+ fi
+ if test ! -f ${RPM_BUILD_ROOT}%{_bindir}/@tool_target@-windres%{_exeext}; then
+ rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/@tool_target@-windres*
+ fi
+
+ cd ..
+
diff --git a/contrib/crossrpms/binutils/rpm-install.add b/contrib/crossrpms/binutils/rpm-install.add
new file mode 100644
index 0000000000..4745182408
--- /dev/null
+++ b/contrib/crossrpms/binutils/rpm-install.add
@@ -0,0 +1,32 @@
+# Extract %%__os_install_post into os_install_post~
+cat << \EOF >> os_install_post~
+%__os_install_post
+EOF
+
+# Generate customized brp-*scripts
+cat os_install_post~ | while read a x y; do
+case $a in
+# Prevent brp-strip* from trying to handle foreign binaries
+*/brp-strip*)
+ b=$(basename $a)
+ sed -e 's,find $RPM_BUILD_ROOT,find $RPM_BUILD_ROOT%_bindir $RPM_BUILD_ROOT%_libexecdir,' $a > $b
+ chmod a+x $b
+ ;;
+%if "%{_prefix}" != "/usr"
+# Fix up brp-compress to handle %%_prefix != /usr
+*/brp-compress*)
+ b=$(basename $a)
+ sed -e 's,\./usr/,./%{_prefix},' < $a > $b
+ chmod a+x $b
+ ;;
+%endif
+esac
+done
+
+sed -e 's,^[ ]*/usr/lib/rpm.*/brp-strip,./brp-strip,' \
+%if "%{_prefix}" != "/usr"
+ -e 's,^[ ]*/usr/lib/rpm.*/brp-compress,./brp-compress,' \
+%endif
+< os_install_post~ > os_install_post
+%define __os_install_post . ./os_install_post
+
diff --git a/contrib/crossrpms/binutils/target-binutils.add b/contrib/crossrpms/binutils/target-binutils.add
new file mode 100644
index 0000000000..412ea6bf27
--- /dev/null
+++ b/contrib/crossrpms/binutils/target-binutils.add
@@ -0,0 +1,31 @@
+# ==============================================================
+# @tool_target@-binutils
+# ==============================================================
+# %package -n @rpmprefix@@tool_target@-binutils
+# Summary: rtems binutils for @tool_target@
+# Group: %{rpmgroup}
+# Requires: @rpmprefix@rtems@osversion@-base-binutils
+
+%description -n @rpmprefix@@tool_target@-binutils
+
+GNU binutils targetting @tool_target@.
+
+%files -n @rpmprefix@@tool_target@-binutils
+%defattr(-,root,root)
+%if "%{_prefix}" != "/usr"
+%dir %{_mandir}
+%dir %{_mandir}/man1
+%endif
+%{_mandir}/man1/@tool_target@-*.1*
+
+%if "%{_prefix}" != "/usr"
+%dir %{_bindir}
+%endif
+%{_bindir}/@tool_target@-*
+
+%dir %{_prefix}/@tool_target@
+%dir %{_prefix}/@tool_target@/bin
+%{_prefix}/@tool_target@/bin/*
+
+%dir %{_prefix}/@tool_target@/lib
+%{_prefix}/@tool_target@/lib/ldscripts