diff options
-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 | ||||
-rw-r--r-- | contrib/crossrpms/common/clean.add | 3 | ||||
-rw-r--r-- | contrib/crossrpms/freebsd6.0/.cvsignore | 3 | ||||
-rw-r--r-- | contrib/crossrpms/freebsd6.0/Makefile.am | 41 | ||||
-rw-r--r-- | contrib/crossrpms/freebsd6.0/binutils-sources.add | 3 |
8 files changed, 277 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 diff --git a/contrib/crossrpms/common/clean.add b/contrib/crossrpms/common/clean.add new file mode 100644 index 0000000000..476559051e --- /dev/null +++ b/contrib/crossrpms/common/clean.add @@ -0,0 +1,3 @@ +%clean + rm -rf $RPM_BUILD_ROOT + diff --git a/contrib/crossrpms/freebsd6.0/.cvsignore b/contrib/crossrpms/freebsd6.0/.cvsignore new file mode 100644 index 0000000000..d83e88c996 --- /dev/null +++ b/contrib/crossrpms/freebsd6.0/.cvsignore @@ -0,0 +1,3 @@ +Makefile +Makefile.in +*.spec diff --git a/contrib/crossrpms/freebsd6.0/Makefile.am b/contrib/crossrpms/freebsd6.0/Makefile.am new file mode 100644 index 0000000000..19ea98a7ad --- /dev/null +++ b/contrib/crossrpms/freebsd6.0/Makefile.am @@ -0,0 +1,41 @@ +# $Id$ + +TARGET = i586-pc-freebsd6.0 + +noinst_DATA = +CLEANFILES = + + +BINUTILS_VERS = 2.16.1 +BINUTILS_RPMREL = 0.20060214.0 + +BINUTILS_SUBPACKAGES = $(top_builddir)/common/common.add +BINUTILS_SUBPACKAGES += ../binutils/binutils.add +BINUTILS_SUBPACKAGES += ../binutils/rpm-install.add +BINUTILS_SUBPACKAGES += $(top_builddir)/common/clean.add +BINUTILS_SUBPACKAGES += ../binutils/target-binutils.add +BINUTILS_SUBPACKAGES += ../binutils/base-binutils.add + +$(TARGET)-binutils.spec.in: $(BINUTILS_SUBPACKAGES) + cat $^ | sed \ + -e "/[@]SOURCES[@]/r ./binutils-sources.add" \ + -e "/[@]SOURCES[@]/d" \ + -e '/^%define _prefix.*$$/d' \ + -e '/^%define rpmgroup.*$$/d' \ + -e '/^%define binutils_target.*$$/d' \ + -e "s,[@]rpmprefix[@],,g" \ + -e "s,rtems[@]osversion[@],rtems,g" \ + -e "s,%{rpmgroup},Development/Tools,g" \ + > $(TARGET)-binutils.spec.in +CLEANFILES += $(TARGET)-binutils.spec.in + + +$(TARGET)-binutils.spec: $(TARGET)-binutils.spec.in + sed \ + -e "s/[@]tool_target[@]/$(TARGET)/g" \ + -e "s/[@]BINUTILS_VERS[@]/$(BINUTILS_VERS)/g" \ + -e "s/[@]BINUTILS_RPMREL[@]/$(BINUTILS_RPMREL)/g" \ + -e "s,[@]PATCH0[@],," \ + $(srcdir)/$(TARGET)-binutils.spec.in > $@ +CLEANFILES += $(TARGET)-binutils.spec +noinst_DATA += $(TARGET)-binutils.spec diff --git a/contrib/crossrpms/freebsd6.0/binutils-sources.add b/contrib/crossrpms/freebsd6.0/binutils-sources.add new file mode 100644 index 0000000000..27a778ea60 --- /dev/null +++ b/contrib/crossrpms/freebsd6.0/binutils-sources.add @@ -0,0 +1,3 @@ +Source0: ftp://ftp.gnu.org/pub/binutils/binutils-%{binutils_version}.tar.bz2 +%{?!_with_sources:NoSource: 0} +@PATCH0@ |