OBS-URL: https://build.opensuse.org/package/show/Kernel:tools/cross-gcc48?expand=0&rev=29
177 lines
5.8 KiB
RPMSpec
177 lines
5.8 KiB
RPMSpec
#
|
|
# spec file for package gcc (Version 4.0.1)
|
|
#
|
|
# Copyright (c) 2005 SUSE Linux AG, Nuernberg, Germany.
|
|
# This file and all modifications and additions to the pristine
|
|
# package are under the same license as the package itself.
|
|
#
|
|
# Please submit bugfixes or comments via https://www.suse.de/feedback/
|
|
#
|
|
|
|
%define build_cp 1
|
|
%define build_ada 0
|
|
%define build_libjava 0
|
|
%define build_java 0
|
|
|
|
%define build_fortran 0
|
|
%define build_objc 0
|
|
%define build_objcp 0
|
|
%define build_nof 0
|
|
%define build_with_mudflap 0
|
|
|
|
%define binutils_target %{cross_arch}
|
|
%if "%{cross_arch}" == "armv7l" || "%{cross_arch}" == "armv7hl"
|
|
%define binutils_target arm
|
|
%endif
|
|
%if "%{cross_arch}" == "armv6l" || "%{cross_arch}" == "armv6hl"
|
|
%define binutils_target arm
|
|
%endif
|
|
%if "%{cross_arch}" == "armv5tel"
|
|
%define binutils_target arm
|
|
%endif
|
|
%define canonical_target %(echo %{binutils_target} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
|
|
%if "%{binutils_target}" == "arm"
|
|
%define canonical_target_abi -gnueabi
|
|
%endif
|
|
|
|
%define build_sysroot /
|
|
|
|
|
|
Name: %{pkgname}
|
|
BuildRequires: cross-%{binutils_target}-binutils
|
|
BuildRequires: gcc-c++
|
|
BuildRequires: bison
|
|
BuildRequires: flex
|
|
BuildRequires: gettext-devel
|
|
BuildRequires: glibc-devel-32bit
|
|
BuildRequires: mpc-devel
|
|
BuildRequires: mpfr-devel
|
|
BuildRequires: perl
|
|
%if %{suse_version} > 1220
|
|
BuildRequires: makeinfo
|
|
%else
|
|
BuildRequires: texinfo
|
|
%endif
|
|
BuildRequires: zlib-devel
|
|
%if %{suse_version} >= 1230
|
|
%if %{suse_version} < 1330
|
|
%ifarch %ix86 x86_64 ppc ppc64 s390 s390x ia64 %sparc hppa %arm
|
|
BuildRequires: cloog-isl-devel
|
|
BuildRequires: isl-devel
|
|
%endif
|
|
%endif
|
|
%endif
|
|
%ifarch ia64
|
|
BuildRequires: libunwind-devel
|
|
%endif
|
|
ExclusiveArch: ppc64 x86_64 ia64 s390x aarch64
|
|
%define _binary_payload w.ufdio
|
|
BuildRequires: update-alternatives
|
|
Requires(post): update-alternatives
|
|
Requires(preun): update-alternatives
|
|
|
|
|
|
# COMMON-BEGIN
|
|
# COMMON-END
|
|
|
|
make %{?jobs:-j%jobs} all-host
|
|
|
|
|
|
%define targetlibsubdir %{_libdir}/gcc/%{gcc_target_arch}/%{gcc_dir_version}
|
|
|
|
%install
|
|
cd obj-%{GCCDIST}
|
|
|
|
# install and fixup host parts
|
|
make DESTDIR=$RPM_BUILD_ROOT install-host
|
|
# with the present setup fixincludes are for the build includes which
|
|
# is wrong - get rid of them
|
|
rm -rf $RPM_BUILD_ROOT/%{targetlibsubdir}/include-fixed
|
|
rm -f $RPM_BUILD_ROOT/%{targetlibsubdir}/liblto_plugin.la
|
|
# common fixup
|
|
rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
|
|
# remove docs
|
|
rm -rf $RPM_BUILD_ROOT%{_mandir}
|
|
rm -rf $RPM_BUILD_ROOT%{_infodir}
|
|
|
|
|
|
# install and fixup target parts
|
|
# ??? don't do this - debugedit is not prepared for this and crashes
|
|
# so expect the sysroot to be populated from natively built binaries
|
|
#%if 0%{?sysroot:1}
|
|
#make DESTDIR=$RPM_BUILD_ROOT/%{sysroot} install-target
|
|
#%else
|
|
#make DESTDIR=$RPM_BUILD_ROOT/%{_prefix}/%{gcc_target_arch} install-target
|
|
#%endif
|
|
|
|
# we provide update-alternatives for selecting a compiler version for
|
|
# crosses
|
|
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
|
for ex in gcc cpp \
|
|
%if %{build_cp}
|
|
c++ g++ \
|
|
%endif
|
|
gcc-ar gcc-nm gcc-ranlib gcov; do
|
|
ln -s %{_sysconfdir}/alternatives/%{gcc_target_arch}-$ex \
|
|
%{buildroot}%{_bindir}/%{gcc_target_arch}-$ex
|
|
done
|
|
|
|
# create symlinks to build-time binutils
|
|
for f in /usr/%{canonical_target}-suse-linux%{?canonical_target_abi}/bin/*; do
|
|
ln -s $(realpath $f) %{buildroot}%{targetlibsubdir}/$(basename $f)
|
|
done
|
|
|
|
%post
|
|
prio=@base_ver@
|
|
prio=${prio::1}
|
|
%{_sbindir}/update-alternatives \
|
|
--install %{_bindir}/%{gcc_target_arch}-gcc %{gcc_target_arch}-gcc %{_bindir}/%{gcc_target_arch}-gcc%{binsuffix} $prio \
|
|
--slave %{_bindir}/%{gcc_target_arch}-cpp %{gcc_target_arch}-cpp %{_bindir}/%{gcc_target_arch}-cpp%{binsuffix} \
|
|
%if %{build_cp}
|
|
--slave %{_bindir}/%{gcc_target_arch}-c++ %{gcc_target_arch}-c++ %{_bindir}/%{gcc_target_arch}-c++%{binsuffix} \
|
|
--slave %{_bindir}/%{gcc_target_arch}-g++ %{gcc_target_arch}-g++ %{_bindir}/%{gcc_target_arch}-g++%{binsuffix} \
|
|
%endif
|
|
--slave %{_bindir}/%{gcc_target_arch}-gcc-ar %{gcc_target_arch}-gcc-ar %{_bindir}/%{gcc_target_arch}-gcc-ar%{binsuffix} \
|
|
--slave %{_bindir}/%{gcc_target_arch}-gcc-nm %{gcc_target_arch}-gcc-nm %{_bindir}/%{gcc_target_arch}-gcc-nm%{binsuffix} \
|
|
--slave %{_bindir}/%{gcc_target_arch}-gcc-ranlib %{gcc_target_arch}-gcc-ranlib %{_bindir}/%{gcc_target_arch}-gcc-ranlib%{binsuffix} \
|
|
--slave %{_bindir}/%{gcc_target_arch}-gcov %{gcc_target_arch}-gcov %{_bindir}/%{gcc_target_arch}-gcov%{binsuffix}
|
|
|
|
%postun
|
|
if [ ! -f %{_bindir}/%{gcc_target_arch}-gcc ] ; then
|
|
%{_sbindir}/update-alternatives --remove %{gcc_target_arch}-gcc %{_bindir}/%{gcc_target_arch}-gcc%{binsuffix}
|
|
fi
|
|
|
|
%files
|
|
%defattr(-,root,root)
|
|
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
|
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
|
%{_prefix}/bin/%{gcc_target_arch}-gcov%{binsuffix}
|
|
%{_prefix}/bin/%{gcc_target_arch}-gcc
|
|
%{_prefix}/bin/%{gcc_target_arch}-cpp
|
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar
|
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm
|
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
|
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar
|
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-nm
|
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ranlib
|
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov
|
|
%if %{build_cp}
|
|
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
|
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
|
%{_prefix}/bin/%{gcc_target_arch}-c++
|
|
%{_prefix}/bin/%{gcc_target_arch}-g++
|
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-c++
|
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
|
%endif
|
|
%dir %{targetlibsubdir}
|
|
%dir %{_libdir}/gcc/%{gcc_target_arch}
|
|
%{targetlibsubdir}
|
|
|
|
%changelog -n cross-%{pkgname}-gcc@base_ver@
|