From dc8c92254dcb20c53c760061290549c5f7cbec8d Mon Sep 17 00:00:00 2001 From: Ralf Corsepius Date: Thu, 27 Aug 2009 14:56:21 +0000 Subject: Update. --- contrib/crossrpms/solaris2.7/binutils.am | 2 +- contrib/crossrpms/solaris2.7/gcc.am | 2 +- contrib/crossrpms/solaris2.7/libs.am | 18 + contrib/crossrpms/solaris2.7/sparc/Makefile.am | 29 +- .../sparc/sparc-sun-solaris2.7-binutils.spec | 177 +++++++ .../solaris2.7/sparc/sparc-sun-solaris2.7-gcc.spec | 546 +++++++++++++++++++++ .../sparc/sparc-sun-solaris2.7-libs.spec | 146 ++++++ 7 files changed, 894 insertions(+), 26 deletions(-) create mode 100644 contrib/crossrpms/solaris2.7/libs.am create mode 100644 contrib/crossrpms/solaris2.7/sparc/sparc-sun-solaris2.7-binutils.spec create mode 100644 contrib/crossrpms/solaris2.7/sparc/sparc-sun-solaris2.7-gcc.spec create mode 100644 contrib/crossrpms/solaris2.7/sparc/sparc-sun-solaris2.7-libs.spec (limited to 'contrib') diff --git a/contrib/crossrpms/solaris2.7/binutils.am b/contrib/crossrpms/solaris2.7/binutils.am index 2772db3784..60b6a2656a 100644 --- a/contrib/crossrpms/solaris2.7/binutils.am +++ b/contrib/crossrpms/solaris2.7/binutils.am @@ -18,7 +18,7 @@ $(TARGET)-binutils.spec.in: $(BINUTILS_SUBPACKAGES) Makefile.am $(srcdir)/binuti -e "/[@]SOURCES[@]/d" \ -e "s/[@]BINUTILS_VERS[@]/$(BINUTILS_VERS)/g" \ -e "s/[@]BINUTILS_PKGVERS[@]/$(BINUTILS_PKGVERS)/g" \ - -e "s/[@]BINUTILS_RPMREL[@]/$(BINUTILS_RPMREL)/g" \ + -e "s/[@]BINUTILS_RPMREL[@]/$(BINUTILS_RPMREL)%{?dist}/g" \ | $(MKSPEC0) > $(TARGET)-binutils.spec.in CLEANFILES += $(TARGET)-binutils.spec.in diff --git a/contrib/crossrpms/solaris2.7/gcc.am b/contrib/crossrpms/solaris2.7/gcc.am index 5114102ccb..2a561ae319 100644 --- a/contrib/crossrpms/solaris2.7/gcc.am +++ b/contrib/crossrpms/solaris2.7/gcc.am @@ -25,7 +25,7 @@ $(TARGET)-gcc.spec.in: $(GCC_SUBPACKAGES) Makefile.am $(srcdir)/gcc-sources.add -e "/[@]PREP[@]/d" \ -e "s/[@]GCC_VERS[@]/$(GCC_VERS)/g" \ -e "s/[@]GCC_PKGVERS[@]/$(GCC_PKGVERS)/g" \ - -e "s/[@]GCC_RPMREL[@]/$(GCC_RPMREL)/g" \ + -e "s/[@]GCC_RPMREL[@]/$(GCC_RPMREL)%{?dist}/g" \ -e "/[@]tool_target[@]-newlib/d" \ -e "/[@]tool_target[@]-w32api-sys-root/d" \ -e "/--with-newlib/d" \ diff --git a/contrib/crossrpms/solaris2.7/libs.am b/contrib/crossrpms/solaris2.7/libs.am new file mode 100644 index 0000000000..c02c0499d1 --- /dev/null +++ b/contrib/crossrpms/solaris2.7/libs.am @@ -0,0 +1,18 @@ +LIBS_SUBPACKAGES = $(top_srcdir)/common/common.add +LIBS_SUBPACKAGES += $(srcdir)/libs.add +LIBS_SUBPACKAGES += $(top_srcdir)/gcc/rpm-install.add +LIBS_SUBPACKAGES += $(top_srcdir)/common/clean.add +LIBS_SUBPACKAGES += $(srcdir)/target-libs.add + +$(TARGET)-libs.spec.in: $(LIBS_SUBPACKAGES) Makefile.am + cat $(LIBS_SUBPACKAGES) | sed \ + -e "s/[@]SOLARIS_VERS[@]/$(SOLARIS_VERS)/g" \ + -e "s/[@]SOLARIS_RPMREL[@]/$(SOLARIS_RPMREL)%{?dist}/g" \ + -e "s,%{gcc_rpmvers},%{solaris_rpmvers},g" \ + > $(TARGET)-libs.spec.in +CLEANFILES += $(TARGET)-libs.spec.in + +@rpmprefix@$(TARGET)-libs.spec: $(TARGET)-libs.spec.in + $(MKSPEC) $(TARGET)-libs.spec.in | $(SPECSTRIP) > $@ +CLEANFILES += @rpmprefix@$(TARGET)-libs.spec +noinst_DATA += @rpmprefix@$(TARGET)-libs.spec diff --git a/contrib/crossrpms/solaris2.7/sparc/Makefile.am b/contrib/crossrpms/solaris2.7/sparc/Makefile.am index a5a4e9eb05..1ee3a7afec 100644 --- a/contrib/crossrpms/solaris2.7/sparc/Makefile.am +++ b/contrib/crossrpms/solaris2.7/sparc/Makefile.am @@ -5,38 +5,19 @@ TARGET = sparc-sun-solaris2.7 include $(top_srcdir)/mkspec.am SOLARIS_VERS = 2.7 -SOLARIS_RPMREL = @VERSION@ +SOLARIS_RPMREL = 0.20090827.1 EXTRA_DIST += libs.add EXTRA_DIST += target-libs.add - -LIBS_SUBPACKAGES = $(top_srcdir)/common/common.add -LIBS_SUBPACKAGES += $(srcdir)/libs.add -LIBS_SUBPACKAGES += $(top_srcdir)/gcc/rpm-install.add -LIBS_SUBPACKAGES += $(top_srcdir)/common/clean.add -LIBS_SUBPACKAGES += $(srcdir)/target-libs.add - -$(TARGET)-libs.spec.in: $(LIBS_SUBPACKAGES) Makefile.am - cat $(LIBS_SUBPACKAGES) | sed \ - -e "s/[@]SOLARIS_VERS[@]/$(SOLARIS_VERS)/g" \ - -e "s/[@]SOLARIS_RPMREL[@]/$(SOLARIS_RPMREL)/g" \ - -e "s,%{gcc_rpmvers},%{solaris_rpmvers},g" \ - > $(TARGET)-libs.spec.in -CLEANFILES += $(TARGET)-libs.spec.in - -@rpmprefix@$(TARGET)-libs.spec: $(TARGET)-libs.spec.in - $(MKSPEC) $(TARGET)-libs.spec.in | $(SPECSTRIP) > $@ -CLEANFILES += @rpmprefix@$(TARGET)-libs.spec -noinst_DATA += @rpmprefix@$(TARGET)-libs.spec - +include ../libs.am BINUTILS_VERS = 2.19 BINUTILS_PKGVERS = $(BINUTILS_VERS) -BINUTILS_RPMREL = @VERSION@%{?dist} +BINUTILS_RPMREL = 0.20090827.1 include ../binutils.am BINUTILS_OPTS += -GCC_VERS = 4.3.3 +GCC_VERS = 4.3.4 GCC_PKGVERS = $(GCC_VERS) -GCC_RPMREL = @VERSION@%{?dist} +GCC_RPMREL = 0.20090827.1 include ../gcc.am GCC_OPTS += --languages=c,cxx,fortran,objc diff --git a/contrib/crossrpms/solaris2.7/sparc/sparc-sun-solaris2.7-binutils.spec b/contrib/crossrpms/solaris2.7/sparc/sparc-sun-solaris2.7-binutils.spec new file mode 100644 index 0000000000..156a827e03 --- /dev/null +++ b/contrib/crossrpms/solaris2.7/sparc/sparc-sun-solaris2.7-binutils.spec @@ -0,0 +1,177 @@ +# +# Please send bugfixes or comments to +# http://www.rtems.org/bugzilla +# + + +%ifos cygwin cygwin32 mingw mingw32 +%define _exeext .exe +%define debug_package %{nil} +%define _libdir %{_exec_prefix}/lib +%else +%define _exeext %{nil} +%endif + +%ifos cygwin cygwin32 +%define optflags -O3 -pipe -march=i486 -funroll-loops +%endif + +%ifos mingw mingw32 +%if %{defined _mingw32_cflags} +%define optflags %{_mingw32_cflags} +%else +%define optflags -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -mms-bitfields +%endif +%endif + +%if "%{_build}" != "%{_host}" +%define _host_rpmprefix %{_host}- +%else +%define _host_rpmprefix %{nil} +%endif + +%define binutils_pkgvers 2.19 +%define binutils_version 2.19 +%define binutils_rpmvers %{expand:%(echo "2.19" | tr - _ )} + +Name: sparc-sun-solaris2.7-binutils +Summary: Binutils for target sparc-sun-solaris2.7 +Group: Development/Tools +Version: %{binutils_rpmvers} +Release: 0.20090827.1%{?dist} +License: GPL/LGPL +URL: http://sources.redhat.com/binutils +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +BuildRequires: %{_host_rpmprefix}gcc + +%if "%{binutils_version}" >= "2.18" +# Bug in bfd: Doesn't build without texinfo installed +BuildRequires: texinfo >= 4.2 +%else +%if "sparc-sun-solaris2.7" == "i686-pc-cygwin" +BuildRequires: texinfo >= 4.2 +%endif +%endif +BuildRequires: flex +BuildRequires: bison + +Source0: http://ftp.gnu.org/gnu/binutils/binutils-2.19.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/binutils-2.19-rtems4.10-20081023.diff + +%description +Cross binutils for target sparc-sun-solaris2.7 +%prep +%setup -q -c -T -n %{name}-%{version} + +%setup -q -D -T -n %{name}-%{version} -a0 +cd binutils-%{binutils_pkgvers} +%{?PATCH0:%patch0 -p1} +cd .. + +%build +%if "sparc-sun-solaris2.7" == "i686-pc-cygwin" +# The cygwin sources are leaking memory + RPM_OPT_FLAGS="$(echo "$RPM_OPT_FLAGS"|sed -e 's; -Wp,-D_FORTIFY_SOURCE=2;;')" +%endif + mkdir -p build + cd build +%if "%{_build}" != "%{_host}" + CFLAGS_FOR_BUILD="-g -O2 -Wall" \ +%endif + CFLAGS="$RPM_OPT_FLAGS" \ + ../binutils-%{binutils_pkgvers}/configure \ + --build=%_build --host=%_host \ + --target=sparc-sun-solaris2.7 \ + --verbose --disable-nls \ + --without-included-gettext \ + --disable-win32-registry \ + --disable-werror \ + --with-sysroot=%{_prefix}/sparc-sun-solaris2.7/sys-root \ + --prefix=%{_prefix} --bindir=%{_bindir} \ + --exec-prefix=%{_exec_prefix} \ + --includedir=%{_includedir} --libdir=%{_libdir} \ + --mandir=%{_mandir} --infodir=%{_infodir} + + make %{?_smp_mflags} all + cd .. + +%install + rm -rf $RPM_BUILD_ROOT + + cd build + make DESTDIR=$RPM_BUILD_ROOT install + + +# Conflict with a native binutils' infos + rm -rf $RPM_BUILD_ROOT%{_infodir} + +# We don't ship host files + rm -f ${RPM_BUILD_ROOT}%{_libdir}/libiberty* + +# manpages without corresponding tools + if test ! -f ${RPM_BUILD_ROOT}%{_bindir}/sparc-sun-solaris2.7-dlltool%{_exeext}; then + rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/sparc-sun-solaris2.7-dlltool* + fi + if test ! -f ${RPM_BUILD_ROOT}%{_bindir}/sparc-sun-solaris2.7-nlmconv%{_exeext}; then + rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/sparc-sun-solaris2.7-nlmconv* + fi + if test ! -f ${RPM_BUILD_ROOT}%{_bindir}/sparc-sun-solaris2.7-windres%{_exeext}; then + rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/sparc-sun-solaris2.7-windres* + fi + if test ! -f ${RPM_BUILD_ROOT}%{_bindir}/sparc-sun-solaris2.7-windmc%{_exeext}; then + rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/sparc-sun-solaris2.7-windmc* + fi + + cd .. + +# 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 + ;; +esac +done + +sed -e 's,^[ ]*/usr/lib/rpm.*/brp-strip,./brp-strip,' \ +< os_install_post~ > os_install_post +%define __os_install_post . ./os_install_post + +%clean + rm -rf $RPM_BUILD_ROOT + +# ============================================================== +# sparc-sun-solaris2.7-binutils +# ============================================================== +# %package -n sparc-sun-solaris2.7-binutils +# Summary: rtems binutils for sparc-sun-solaris2.7 +# Group: Development/Tools +# %if %build_infos +# Requires: binutils-common +# %endif + +%description -n sparc-sun-solaris2.7-binutils +GNU binutils targetting sparc-sun-solaris2.7. + +%files -n sparc-sun-solaris2.7-binutils +%defattr(-,root,root) +%{_mandir}/man1/sparc-sun-solaris2.7-*.1* + +%{_bindir}/sparc-sun-solaris2.7-* + +%dir %{_exec_prefix}/sparc-sun-solaris2.7 +%dir %{_exec_prefix}/sparc-sun-solaris2.7/bin +%{_exec_prefix}/sparc-sun-solaris2.7/bin/* + +%dir %{_exec_prefix}/sparc-sun-solaris2.7/lib +%{_exec_prefix}/sparc-sun-solaris2.7/lib/ldscripts + diff --git a/contrib/crossrpms/solaris2.7/sparc/sparc-sun-solaris2.7-gcc.spec b/contrib/crossrpms/solaris2.7/sparc/sparc-sun-solaris2.7-gcc.spec new file mode 100644 index 0000000000..781833a94a --- /dev/null +++ b/contrib/crossrpms/solaris2.7/sparc/sparc-sun-solaris2.7-gcc.spec @@ -0,0 +1,546 @@ +# +# Please send bugfixes or comments to +# http://www.rtems.org/bugzilla +# + + +%ifos cygwin cygwin32 mingw mingw32 +%define _exeext .exe +%define debug_package %{nil} +%define _libdir %{_exec_prefix}/lib +%else +%define _exeext %{nil} +%endif + +%ifos cygwin cygwin32 +%define optflags -O3 -pipe -march=i486 -funroll-loops +%endif + +%ifos mingw mingw32 +%if %{defined _mingw32_cflags} +%define optflags %{_mingw32_cflags} +%else +%define optflags -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -mms-bitfields +%endif +%endif + +%if "%{_build}" != "%{_host}" +%define _host_rpmprefix %{_host}- +%else +%define _host_rpmprefix %{nil} +%endif + + +%define gcc_pkgvers 4.3.4 +%define gcc_version 4.3.4 +%define gcc_rpmvers %{expand:%(echo "4.3.4" | tr - _ )} + + +Name: sparc-sun-solaris2.7-gcc +Summary: sparc-sun-solaris2.7 gcc + +Group: Development/Tools +Version: %{gcc_rpmvers} +Release: 0.20090827.1%{?dist} +License: GPL +URL: http://gcc.gnu.org +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +%define _use_internal_dependency_generator 0 + +BuildRequires: %{_host_rpmprefix}gcc + +%if "%{gcc_version}" >= "4.3.0" +%define _gmp_minvers 4.1 +%else +%if "%{gcc_version}" >= "4.2.0" +%define _gmp_minvers 4.1 +%endif +%endif + +%if %{defined _gmp_minvers} +BuildRequires: gmp-devel >= %{_gmp_minvers} +%if "%{_build}" != "%{_host}" +BuildRequires: %{_host_rpmprefix}gmp-devel >= %{_gmp_minvers} +%endif +%endif + + +%if "%{gcc_version}" >= "4.4.0" +%define _mpfr_minvers 2.3.2 +%define mpfr_version 2.4.1 +%else +%if "%{gcc_version}" >= "4.3.0" +%define _mpfr_minvers 2.3.1 +%define mpfr_version 2.3.2 +%else +%if "%{gcc_version}" >= "4.2.0" +%define _mpfr_minvers 2.2.1 +%define mpfr_version 2.3.2 +%endif +%endif +%endif + +%if %{defined _mpfr_minvers} +# FIXME: This is an ugly cludge +%{?fc10:%global mpfr_provided 2.3.2} +%{?fc11:%global mpfr_provided 2.4.1} +%{?suse10_3:%global mpfr_provided 2.2.1} +%{?suse11_0:%global mpfr_provided 2.3.1} +%{?suse11_1:%global mpfr_provided 2.3.2} +%{?cygwin:%global mpfr_provided 2.4.1} +%{?mingw32:%global mpfr_provided %{nil}} + +%if %{defined mpfr_provided} +%if "%{mpfr_provided}" < "%{_mpfr_minvers}" +%define _build_mpfr 1 +%else +%if "%{_build}" != "%{_host}" +BuildRequires: %{_host_rpmprefix}mpfr-devel >= %{_mpfr_minvers} +%else +BuildRequires: mpfr-devel >= %{_mpfr_minvers} +%endif +%endif +%else +%define _build_mpfr 1 +%endif + +%endif + +%if "%{_build}" != "%{_host}" +BuildRequires: sparc-sun-solaris2.7-gcc = %{gcc_rpmvers} +%endif + +%if "%{gcc_version}" >= "4.2.0" +BuildRequires: flex bison +%endif + + +BuildRequires: texinfo >= 4.2 +BuildRequires: sparc-sun-solaris2.7-binutils +BuildRequires: sparc-sun-solaris2.7-sys-root + +Requires: sparc-sun-solaris2.7-binutils +Requires: sparc-sun-solaris2.7-sys-root + + +%define _gcclibdir %{_prefix}/lib + +Source0: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_version}/gcc-core-%{gcc_pkgvers}.tar.bz2 +%{?_without_sources:NoSource: 0} + +Source1: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_version}/gcc-g++-%{gcc_pkgvers}.tar.bz2 +%{?_without_sources:NoSource: 1} + +Source2: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_version}/gcc-fortran-%{gcc_pkgvers}.tar.bz2 +%{?_without_sources:NoSource: 2} + +Source5: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_version}/gcc-objc-%{gcc_pkgvers}.tar.bz2 +%{?_without_sources:NoSource: 5} + +%if "%{gcc_version}" >= "4.3.0" +Source60: http://www.mpfr.org/mpfr-current/mpfr-%{mpfr_version}.tar.bz2 +%endif + +%description +Cross gcc for sparc-sun-solaris2.7. + +%prep +%setup -c -T -n %{name}-%{version} + +%setup -q -T -D -n %{name}-%{version} -a0 +%{?PATCH0:%patch0 -p0} + +%setup -q -T -D -n %{name}-%{version} -a1 +%{?PATCH1:%patch1 -p0} + +%setup -q -T -D -n %{name}-%{version} -a2 +%{?PATCH2:%patch2 -p0} + + + +%setup -q -T -D -n %{name}-%{version} -a5 +%{?PATCH5:%patch5 -p0} + + +%if 0%{?_build_mpfr} +%setup -q -T -D -n %{name}-%{version} -a60 +%{?PATCH60:%patch60 -p1} + # Build mpfr one-tree style + ln -s ../mpfr-%{mpfr_version} gcc-%{gcc_pkgvers}/mpfr +%endif + + + # Fix timestamps + cd gcc-%{gcc_pkgvers} + contrib/gcc_update --touch + cd .. +%build + mkdir -p build + + cd build + + languages="c" + languages="$languages,c++" + languages="$languages,fortran" + languages="$languages,objc" +%if "%{_build}" != "%{_host}" + CFLAGS_FOR_BUILD="-g -O2 -Wall" \ + CC="%{_host}-gcc ${RPM_OPT_FLAGS}" \ +%else +# gcc is not ready to be compiled with -std=gnu99 + CC=$(echo "%{__cc} ${RPM_OPT_FLAGS}" | sed -e 's,-std=gnu99 ,,') \ +%endif + ../gcc-%{gcc_pkgvers}/configure \ + --prefix=%{_prefix} \ + --bindir=%{_bindir} \ + --exec_prefix=%{_exec_prefix} \ + --includedir=%{_includedir} \ + --libdir=%{_gcclibdir} \ + --libexecdir=%{_libexecdir} \ + --mandir=%{_mandir} \ + --infodir=%{_infodir} \ + --datadir=%{_datadir} \ + --build=%_build --host=%_host \ + --target=sparc-sun-solaris2.7 \ + --disable-libstdcxx-pch \ + --with-gnu-as --with-gnu-ld --verbose \ + --with-system-zlib \ + --disable-nls --without-included-gettext \ + --disable-win32-registry \ + --enable-version-specific-runtime-libs \ + --enable-threads \ + --with-sysroot=%{_exec_prefix}/sparc-sun-solaris2.7/sys-root \ + --enable-languages="$languages" $optargs + +%if "%_host" != "%_build" + # Bug in gcc-3.2.1: + # Somehow, gcc doesn't get syslimits.h right for Cdn-Xs + mkdir -p gcc/include + cp ../gcc-%{gcc_pkgvers}/gcc/gsyslimits.h gcc/include/syslimits.h +%endif + + make %{?_smp_mflags} all + cd .. + +%install + rm -rf $RPM_BUILD_ROOT + + cd build + + make DESTDIR=$RPM_BUILD_ROOT install + cd .. + + +%if "%{gcc_version}" <= "4.1.2" +# Misplaced header file + if test -f $RPM_BUILD_ROOT%{_includedir}/mf-runtime.h; then + mv $RPM_BUILD_ROOT%{_includedir}/mf-runtime.h \ + $RPM_BUILD_ROOT%{_gcclibdir}/gcc/sparc-sun-solaris2.7/%{gcc_version}/include/ + fi +%endif + + # host library +%if "%{gcc_version}" >= "4.2.0" + # libiberty doesn't honor --libdir, but always installs to a + # magically guessed _libdir + rm -f ${RPM_BUILD_ROOT}%{_libdir}/libiberty.a +%else + # libiberty installs to --libdir=... + rm -f ${RPM_BUILD_ROOT}%{_gcclibdir}/libiberty.a +%endif + + # We use the version from binutils + rm -f $RPM_BUILD_ROOT%{_bindir}/sparc-sun-solaris2.7-c++filt%{_exeext} + + +# Conflict with a native GCC's infos + rm -rf $RPM_BUILD_ROOT%{_infodir} + +# Conflict with a native GCC's man pages + rm -rf $RPM_BUILD_ROOT%{_mandir}/man7 + + # Bug in gcc-3.4.0pre + rm -f $RPM_BUILD_ROOT%{_bindir}/sparc-sun-solaris2.7-sparc-sun-solaris2.7-gcjh%{_exeext} + + # Bug in gcc-3.3.x/gcc-3.4.x: Despite we don't need fixincludes, it installs + # the fixinclude-install-tools + rm -rf ${RPM_BUILD_ROOT}%{_gcclibdir}/gcc/sparc-sun-solaris2.7/%{gcc_version}/install-tools + rm -rf ${RPM_BUILD_ROOT}%{_libexecdir}/gcc/sparc-sun-solaris2.7/%{gcc_version}/install-tools + + # Bug in gcc > 4.1.0: Installs an unused, empty directory + if test -d ${RPM_BUILD_ROOT}%{_prefix}/sparc-sun-solaris2.7/include/bits; then + rmdir ${RPM_BUILD_ROOT}%{_prefix}/sparc-sun-solaris2.7/include/bits + fi + + # Collect multilib subdirectories + f=`build/gcc/xgcc -Bbuild/gcc/ --print-multi-lib | sed -e 's,;.*$,,'` + + + rm -f dirs ; + echo "%defattr(-,root,root,-)" >> dirs + echo "%dir %{_gcclibdir}/gcc" >> dirs + echo "%dir %{_gcclibdir}/gcc/sparc-sun-solaris2.7" >> dirs + + TGTDIR="%{_gcclibdir}/gcc/sparc-sun-solaris2.7/%{gcc_version}" + for i in $f; do + case $i in + \.) echo "%dir ${TGTDIR}" >> dirs + ;; + *) echo "%dir ${TGTDIR}/$i" >> dirs + ;; + esac + done + + # Collect files to go into different packages + cp dirs build/files.gcc + cp dirs build/files.gfortran + cp dirs build/files.objc + cp dirs build/files.gcj + cp dirs build/files.g++ + + TGTDIR="%{_gcclibdir}/gcc/sparc-sun-solaris2.7/%{gcc_version}" + f=`find ${RPM_BUILD_ROOT}${TGTDIR} ! -type d -print | sed -e "s,^$RPM_BUILD_ROOT,,g"`; + for i in $f; do + case $i in + *lib*.la) rm ${RPM_BUILD_ROOT}/$i ;; # ignore: gcc produces bogus libtool libs + *f771) ;; + *f951) ;; + *cc1) ;; + *cc1obj) ;; + *cc1plus) ;; # ignore: explicitly put into rpm elsewhere + *collect2) ;; + *libobjc*) echo "$i" >> build/files.objc ;; + *include/objc*) ;; + *include/g++*);; + *include/c++*);; + *finclude/*);; + *adainclude*);; + *adalib*);; + *gnat1);; + *jc1) ;; + *jvgenmain) ;; + */libgfortran*.*) echo "$i" >> build/files.gfortran ;; + */libstdc++.*) echo "$i" >> build/files.g++ ;; + */libsupc++.*) echo "$i" >> build/files.g++ ;; + *) echo "$i" >> build/files.gcc ;; + esac + done + + TGTDIR="%{_exec_prefix}/sparc-sun-solaris2.7/lib" + f=`find ${RPM_BUILD_ROOT}${TGTDIR} ! -type d -print | sed -e "s,^$RPM_BUILD_ROOT,,g"`; + for i in $f; do + case $i in + *lib*.la) rm ${RPM_BUILD_ROOT}/$i;; # ignore - gcc produces bogus libtool libs + *libiberty.a) rm ${RPM_BUILD_ROOT}/$i ;; # ignore - GPL'ed +# all other files belong to newlib + *) echo "$i" >> build/files.newlib ;; + esac + done +# 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 + ;; +esac +done + +sed -e 's,^[ ]*/usr/lib/rpm.*/brp-strip,./brp-strip,' \ +< os_install_post~ > os_install_post +%define __os_install_post . ./os_install_post + + +cat << EOF > %{_builddir}/%{name}-%{gcc_rpmvers}/find-provides +#!/bin/sh +grep -E -v '^${RPM_BUILD_ROOT}%{_exec_prefix}/sparc-sun-solaris2.7/(lib|include|sys-root)' \ + %{?_gcclibdir:| grep -v '^${RPM_BUILD_ROOT}%{_gcclibdir}/gcc/sparc-sun-solaris2.7/'} | %__find_provides +EOF +chmod +x %{_builddir}/%{name}-%{gcc_rpmvers}/find-provides +%define __find_provides %{_builddir}/%{name}-%{gcc_rpmvers}/find-provides + +cat << EOF > %{_builddir}/%{name}-%{gcc_rpmvers}/find-requires +#!/bin/sh +grep -E -v '^${RPM_BUILD_ROOT}%{_exec_prefix}/sparc-sun-solaris2.7/(lib|include|sys-root)' \ + %{?_gcclibdir:| grep -v '^${RPM_BUILD_ROOT}%{_gcclibdir}/gcc/sparc-sun-solaris2.7/'} | %__find_requires +EOF +chmod +x %{_builddir}/%{name}-%{gcc_rpmvers}/find-requires +%define __find_requires %{_builddir}/%{name}-%{gcc_rpmvers}/find-requires + +%ifnarch noarch +# Extract %%__debug_install_post into debug_install_post~ +cat << \EOF > debug_install_post~ +%__debug_install_post +EOF + +# Generate customized debug_install_post script +cat debug_install_post~ | while read a x y; do +case $a in +# Prevent find-debuginfo.sh* from trying to handle foreign binaries +*/find-debuginfo.sh) + 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 + ;; +esac +done + +sed -e 's,^[ ]*/usr/lib/rpm/find-debuginfo.sh,./find-debuginfo.sh,' \ +< debug_install_post~ > debug_install_post +%define __debug_install_post . ./debug_install_post + +%endif + +%clean + rm -rf $RPM_BUILD_ROOT + +# ============================================================== +# sparc-sun-solaris2.7-gcc +# ============================================================== +# %package -n sparc-sun-solaris2.7-gcc +# Summary: GNU cc compiler for sparc-sun-solaris2.7 +# Group: Development/Tools +# Version: %{gcc_rpmvers} +# Requires: sparc-sun-solaris2.7-binutils +# License: GPL + +# %if %build_infos +# Requires: gcc-common +# %endif + +%description -n sparc-sun-solaris2.7-gcc +GNU cc compiler for sparc-sun-solaris2.7. + +%files -n sparc-sun-solaris2.7-gcc -f build/files.gcc +%defattr(-,root,root) +%{_mandir}/man1/sparc-sun-solaris2.7-gcc.1* +%{_mandir}/man1/sparc-sun-solaris2.7-cpp.1* +%{_mandir}/man1/sparc-sun-solaris2.7-gcov.1* + +%{_bindir}/sparc-sun-solaris2.7-cpp%{_exeext} +%{_bindir}/sparc-sun-solaris2.7-gcc%{_exeext} +%{_bindir}/sparc-sun-solaris2.7-gcc-%{gcc_version}%{_exeext} +%{_bindir}/sparc-sun-solaris2.7-gcov%{_exeext} +%{_bindir}/sparc-sun-solaris2.7-gccbug + +%dir %{_gcclibdir}/gcc/sparc-sun-solaris2.7/%{gcc_version}/include +%if "%{gcc_version}" > "4.0.3" +%if "sparc-sun-solaris2.7" != "bfin-rtems4.10" +%if "sparc-sun-solaris2.7" != "avr-rtems4.10" +%dir %{_gcclibdir}/gcc/sparc-sun-solaris2.7/%{gcc_version}/include/ssp +%endif +%endif +%endif + +%if "%{gcc_version}" >= "4.3.0" +%dir %{_gcclibdir}/gcc/sparc-sun-solaris2.7/%{gcc_version}/include-fixed +%endif + +%dir %{_libexecdir}/gcc +%dir %{_libexecdir}/gcc/sparc-sun-solaris2.7 +%dir %{_libexecdir}/gcc/sparc-sun-solaris2.7/%{gcc_version} +%{_libexecdir}/gcc/sparc-sun-solaris2.7/%{gcc_version}/cc1%{_exeext} +%{_libexecdir}/gcc/sparc-sun-solaris2.7/%{gcc_version}/collect2%{_exeext} + +# ============================================================== +# sparc-sun-solaris2.7-gcc-c++ +# ============================================================== +%package -n sparc-sun-solaris2.7-gcc-c++ +Summary: GCC c++ compiler for sparc-sun-solaris2.7 +Group: Development/Tools +Version: %{gcc_rpmvers} +License: GPL + +%if "%{_build}" != "%{_host}" +BuildRequires: sparc-sun-solaris2.7-gcc-c++ = %{gcc_rpmvers} +%endif +Provides: sparc-sun-solaris2.7-c++ = %{gcc_rpmvers}-%{release} +Obsoletes: sparc-sun-solaris2.7-c++ < %{gcc_rpmvers}-%{release} + +Requires: sparc-sun-solaris2.7-gcc = %{gcc_rpmvers}-%{release} + +%description -n sparc-sun-solaris2.7-gcc-c++ +GCC c++ compiler for sparc-sun-solaris2.7. + +%files -n sparc-sun-solaris2.7-gcc-c++ -f build/files.g++ +%defattr(-,root,root) +%{_mandir}/man1/sparc-sun-solaris2.7-g++.1* + +%{_bindir}/sparc-sun-solaris2.7-c++%{_exeext} +%{_bindir}/sparc-sun-solaris2.7-g++%{_exeext} + +%dir %{_libexecdir}/gcc +%dir %{_libexecdir}/gcc/sparc-sun-solaris2.7 +%dir %{_libexecdir}/gcc/sparc-sun-solaris2.7/%{gcc_version} +%{_libexecdir}/gcc/sparc-sun-solaris2.7/%{gcc_version}/cc1plus%{_exeext} + +%dir %{_gcclibdir}/gcc/sparc-sun-solaris2.7/%{gcc_version}/include +%{_gcclibdir}/gcc/sparc-sun-solaris2.7/%{gcc_version}/include/c++ + +# ============================================================== +# sparc-sun-solaris2.7-gcc-gfortran +# ============================================================== +%package -n sparc-sun-solaris2.7-gcc-gfortran +Summary: Fortran 95 support for sparc-sun-solaris2.7-gcc +Group: Development/Tools +Version: %{gcc_rpmvers} +License: GPL + +Provides: sparc-sun-solaris2.7-gfortran = %{gcc_rpmvers}-%{release} +Obsoletes: sparc-sun-solaris2.7-gfortran < %{gcc_rpmvers}-%{release} + +Requires: sparc-sun-solaris2.7-gcc = %{gcc_rpmvers}-%{release} +Obsoletes: sparc-sun-solaris2.7-g77 < %{gcc_rpmvers}-%{release} + +%description -n sparc-sun-solaris2.7-gcc-gfortran +GCC fortran compiler for sparc-sun-solaris2.7. + +%files -n sparc-sun-solaris2.7-gcc-gfortran -f build/files.gfortran +%defattr(-,root,root) +%{_bindir}/sparc-sun-solaris2.7-gfortran%{_exeext} + +%{_mandir}/man1/sparc-sun-solaris2.7-gfortran.1* + +%dir %{_libexecdir}/gcc +%dir %{_libexecdir}/gcc/sparc-sun-solaris2.7 +%dir %{_libexecdir}/gcc/sparc-sun-solaris2.7/%{gcc_version} +%{_libexecdir}/gcc/sparc-sun-solaris2.7/%{gcc_version}/f951%{_exeext} + +%if "%{gcc_version}" >= "4.2.0" +%{_gcclibdir}/gcc/sparc-sun-solaris2.7/%{gcc_version}/finclude +%endif + +# ============================================================== +# sparc-sun-solaris2.7-gcc-objc +# ============================================================== +%package -n sparc-sun-solaris2.7-gcc-objc +Summary: Objective C support for sparc-sun-solaris2.7-gcc +Group: Development/Tools +Version: %{gcc_rpmvers} +License: GPL +Provides: sparc-sun-solaris2.7-objc = %{gcc_rpmvers}-%{release} +Obsoletes: sparc-sun-solaris2.7-objc < %{gcc_rpmvers}-%{release} + +Requires: sparc-sun-solaris2.7-gcc = %{gcc_rpmvers}-%{release} + +%description -n sparc-sun-solaris2.7-gcc-objc +GCC objc compiler for sparc-sun-solaris2.7. + +%files -n sparc-sun-solaris2.7-gcc-objc -f build/files.objc +%defattr(-,root,root) + +%dir %{_libexecdir}/gcc +%dir %{_libexecdir}/gcc/sparc-sun-solaris2.7 +%dir %{_libexecdir}/gcc/sparc-sun-solaris2.7/%{gcc_version} +%{_libexecdir}/gcc/sparc-sun-solaris2.7/%{gcc_version}/cc1obj%{_exeext} + +%{_gcclibdir}/gcc/sparc-sun-solaris2.7/%{gcc_version}/include/objc + diff --git a/contrib/crossrpms/solaris2.7/sparc/sparc-sun-solaris2.7-libs.spec b/contrib/crossrpms/solaris2.7/sparc/sparc-sun-solaris2.7-libs.spec new file mode 100644 index 0000000000..638256614e --- /dev/null +++ b/contrib/crossrpms/solaris2.7/sparc/sparc-sun-solaris2.7-libs.spec @@ -0,0 +1,146 @@ +# +# Please send bugfixes or comments to +# http://www.rtems.org/bugzilla +# + + +%ifos cygwin cygwin32 mingw mingw32 +%define _exeext .exe +%define debug_package %{nil} +%define _libdir %{_exec_prefix}/lib +%else +%define _exeext %{nil} +%endif + +%ifos cygwin cygwin32 +%define optflags -O3 -pipe -march=i486 -funroll-loops +%endif + +%ifos mingw mingw32 +%if %{defined _mingw32_cflags} +%define optflags %{_mingw32_cflags} +%else +%define optflags -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -mms-bitfields +%endif +%endif + +%if "%{_build}" != "%{_host}" +%define _host_rpmprefix %{_host}- +%else +%define _host_rpmprefix %{nil} +%endif + +%define solaris_version 2.7 +%define solaris_rpmvers %{expand:%(echo 2.7 | tr - _)} + +%define _use_internal_dependency_generator 0 +%define __debug_install_post %{nil} + +Name: sparc-sun-solaris2.7 +Release: 0.20090827.1%{?dist}%{?dist} +License: Sun Microsystems +Group: Development/Tools + +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +BuildArch: noarch + +Version: %solaris_rpmvers +Summary: sparc-sun-solaris2.7 Libraries + +Source0: sparc-sun-solaris2.7-libs-%{solaris_version}.tar.bz2 +%{?_without_sources:NoSource: 0} + +%description +sparc-sun-solaris2.7 libraries. + +%prep +%setup -c -q + +%build + rm -rf sparc-sun-solaris2.7 + + # Setup sys-root (Usable for gcc >= 3.4) + mkdir -p sparc-sun-solaris2.7/sys-root + %{__tar} cf - usr/lib usr/include lib | ( cd sparc-sun-solaris2.7/sys-root ; %{__tar} xf -) + +%install + rm -rf $RPM_BUILD_ROOT + mkdir -p $RPM_BUILD_ROOT%{_prefix} + cp -a sparc-sun-solaris2.7 $RPM_BUILD_ROOT%{_prefix} + +# 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 + ;; +esac +done + +sed -e 's,^[ ]*/usr/lib/rpm.*/brp-strip,./brp-strip,' \ +< os_install_post~ > os_install_post +%define __os_install_post . ./os_install_post + + +cat << EOF > %{_builddir}/%{name}-%{solaris_rpmvers}/find-provides +#!/bin/sh +grep -E -v '^${RPM_BUILD_ROOT}%{_exec_prefix}/sparc-sun-solaris2.7/(lib|include|sys-root)' \ + %{?_gcclibdir:| grep -v '^${RPM_BUILD_ROOT}%{_gcclibdir}/gcc/sparc-sun-solaris2.7/'} | %__find_provides +EOF +chmod +x %{_builddir}/%{name}-%{solaris_rpmvers}/find-provides +%define __find_provides %{_builddir}/%{name}-%{solaris_rpmvers}/find-provides + +cat << EOF > %{_builddir}/%{name}-%{solaris_rpmvers}/find-requires +#!/bin/sh +grep -E -v '^${RPM_BUILD_ROOT}%{_exec_prefix}/sparc-sun-solaris2.7/(lib|include|sys-root)' \ + %{?_gcclibdir:| grep -v '^${RPM_BUILD_ROOT}%{_gcclibdir}/gcc/sparc-sun-solaris2.7/'} | %__find_requires +EOF +chmod +x %{_builddir}/%{name}-%{solaris_rpmvers}/find-requires +%define __find_requires %{_builddir}/%{name}-%{solaris_rpmvers}/find-requires + +%ifnarch noarch +# Extract %%__debug_install_post into debug_install_post~ +cat << \EOF > debug_install_post~ +%__debug_install_post +EOF + +# Generate customized debug_install_post script +cat debug_install_post~ | while read a x y; do +case $a in +# Prevent find-debuginfo.sh* from trying to handle foreign binaries +*/find-debuginfo.sh) + 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 + ;; +esac +done + +sed -e 's,^[ ]*/usr/lib/rpm/find-debuginfo.sh,./find-debuginfo.sh,' \ +< debug_install_post~ > debug_install_post +%define __debug_install_post . ./debug_install_post + +%endif + +%clean + rm -rf $RPM_BUILD_ROOT + +%package sys-root +Group: Development/Tools +Summary: sparc-sun-solaris2.7 target files for gcc >= 3.4 + +%description sys-root +sparc-sun-solaris2.7 target files for gcc >= 3.4 + +%files sys-root +%defattr(-,root,root,-) +%dir %{_prefix}/sparc-sun-solaris2.7 +%{_prefix}/sparc-sun-solaris2.7/sys-root -- cgit v1.2.3