diff options
author | Ralf Corsepius <ralf.corsepius@rtems.org> | 2006-02-14 15:27:52 +0000 |
---|---|---|
committer | Ralf Corsepius <ralf.corsepius@rtems.org> | 2006-02-14 15:27:52 +0000 |
commit | 2b6eb185c3dd30bc4913c655c5cfcb79703c1a77 (patch) | |
tree | 5f8c46f29b770e160b7a97fad368c982c950b087 /contrib/crossrpms/binutils | |
parent | New. (diff) | |
download | rtems-2b6eb185c3dd30bc4913c655c5cfcb79703c1a77.tar.bz2 |
New.
Diffstat (limited to 'contrib/crossrpms/binutils')
-rw-r--r-- | contrib/crossrpms/binutils/base-binutils.add | 56 | ||||
-rw-r--r-- | contrib/crossrpms/binutils/binutils.add | 108 | ||||
-rw-r--r-- | contrib/crossrpms/binutils/rpm-install.add | 32 | ||||
-rw-r--r-- | contrib/crossrpms/binutils/target-binutils.add | 31 |
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 |