diff options
author | Ralf Corsepius <ralf.corsepius@rtems.org> | 2010-03-29 13:31:41 +0000 |
---|---|---|
committer | Ralf Corsepius <ralf.corsepius@rtems.org> | 2010-03-29 13:31:41 +0000 |
commit | 4a23fa971c09b01910e4d004a15bc047eb606616 (patch) | |
tree | bf3d4f8ce6a22c40792184256254574148cf7e00 | |
parent | Bump GDB_RPMREL. (diff) | |
download | rtems-4a23fa971c09b01910e4d004a15bc047eb606616.tar.bz2 |
Regenerate.
27 files changed, 2546 insertions, 1111 deletions
diff --git a/contrib/crossrpms/rtems4.10/arm/rtems-4.10-arm-rtems4.10-gcc.spec b/contrib/crossrpms/rtems4.10/arm/rtems-4.10-arm-rtems4.10-gcc.spec index 0ef3a3d101..74d02e8372 100644 --- a/contrib/crossrpms/rtems4.10/arm/rtems-4.10-arm-rtems4.10-gcc.spec +++ b/contrib/crossrpms/rtems4.10/arm/rtems-4.10-arm-rtems4.10-gcc.spec @@ -58,7 +58,7 @@ Summary: arm-rtems4.10 gcc Group: Development/Tools Version: %{gcc_rpmvers} -Release: 6%{?dist} +Release: 7%{?dist} License: GPL URL: http://gcc.gnu.org BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -67,70 +67,154 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: %{_host_rpmprefix}gcc -%if "%{gcc_version}" >= "4.3.0" -%define _gmp_minvers 4.1 -%else -%if "%{gcc_version}" >= "4.2.0" +# FIXME: Disable lto for now, to avoid dependencies on libelf +%bcond_with lto + +# FIXME: Disamble python gdb scripts +# ATM, no idea how to package them +%bcond_with pygdb + +# FIXME: Disable GCC-plugin +# Bug in gcc-4.5-20100318, doesn't build them on x86_84 hosts. +%bcond_with plugin + +# versions of libraries, we conditionally bundle if necessary +%global mpc_version 0.8.1 +%global mpfr_version 2.4.1 +%global gmp_version 4.3.2 +%global libelf_version 0.8.13 + +# versions of libraries these distros are known to ship +%if 0%{?fc13} +%global mpc_provided 0.8.1 +%global mpfr_provided 2.4.1 +%global gmp_provided 4.3.1 %endif + +%if 0%{?fc12} +%global mpc_provided 0.8 +%global mpfr_provided 2.4.1 +%global gmp_provided 4.3.1 %endif -%if %{defined _gmp_minvers} -BuildRequires: gmp-devel >= %{_gmp_minvers} -%if "%{_build}" != "%{_host}" -BuildRequires: %{_host_rpmprefix}gmp-devel >= %{_gmp_minvers} +%if 0%{?fc11} +%global mpc_provided %{nil} +%global mpfr_provided 2.4.1 +%global gmp_provided 4.2.4 +%endif + +%if 0%{?rhel5} +%global mpc_provided %{nil} +%global mpfr_provided %{nil} +%global gmp_provided 4.1.4 %endif + +%if 0%{?suse11_0} +%global mpc_provided %{nil} +%global mpfr_provided 2.3.1 +%global gmp_provided 4.2.2 %endif -%if "%{gcc_version}" >= "4.3.3" -%define _cloog_minvers 0.15 +%if 0%{?suse11_1} +%global mpc_provided %{nil} +%global mpfr_provided 2.3.2 +%global gmp_provided 4.2.3 %endif -%if %{defined _cloog_minvers} -%{?fc11:BuildRequires: cloog-ppl-devel >= %_cloog_minvers} -%{?fc12:BuildRequires: cloog-ppl-devel >= %_cloog_minvers} -%{?fc13:BuildRequires: cloog-ppl-devel >= %_cloog_minvers} -%{?suse11_2:BuildRequires: cloog-devel >= %_cloog_minvers, ppl-devel} -%{?suse11_1:BuildRequires: cloog-devel >= %_cloog_minvers, ppl-devel} +%if 0%{?suse11_2} +%global mpc_provided 0.7 +%global mpfr_provided 2.4.1 +%global gmp_provided 4.3.1 +%endif + +%if 0%{?cygwin} +%global mpc_provided 0.8 +%global mpfr_provided 2.4.1 +%global gmp_provided 4.3.1 +%endif + +%if 0%{?mingw32} +%global mpc_provided 0.8.1 +%global mpfr_provided 2.4.1 +%global gmp_provided 4.3.2 %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" %endif + +%if "%{gcc_version}" >= "4.3.0" +%define gmp_required 4.1 +%define mpfr_required 2.3.1 %endif + +%if "%{gcc_version}" >= "4.3.3" +%define cloog_required 0.15 %endif -%if %{defined _mpfr_minvers} -# FIXME: This is an ugly cludge -%{?fc11:%global mpfr_provided 2.4.1} -%{?fc12:%global mpfr_provided 2.4.1} -%{?fc13:%global mpfr_provided 2.4.1} -%{?suse11_0:%global mpfr_provided 2.3.1} -%{?suse11_1:%global mpfr_provided 2.3.2} -%{?suse11_2:%global mpfr_provided 2.4.1} -%{?cygwin:%global mpfr_provided 2.4.1} -%{?mingw32:%global mpfr_provided %{nil}} +%if "%{gcc_version}" >= "4.4.0" +%define mpfr_required 2.3.2 +%endif -%if %{defined mpfr_provided} -%if "%{mpfr_provided}" < "%{_mpfr_minvers}" -%define _build_mpfr 1 +%if "%{gcc_version}" >= "4.5.0" +%define mpc_required 0.8 +%if %{with lto} +%define libelf_required 0.8.12 +%endif +%endif + +%if %{defined mpc_required} +%if "%{mpc_provided}" >= "%{mpc_required}" +%{?fedora:BuildRequires: libmpc-devel >= %{mpc_required}} +%{?suse:BuildRequires: mpc-devel >= %{mpc_required}} +%if "%{_build}" != "%{_host}" +BuildRequires: %{_host_rpmprefix}mpc-devel >= %{mpc_required} +%endif +%else +%define _build_mpc 1 +%endif +%endif + +%if %{defined gmp_required} +%if "%{gmp_provided}" >= "%{gmp_required}" +BuildRequires: gmp-devel >= %{gmp_required} +%if "%{_build}" != "%{_host}" +BuildRequires: %{_host_rpmprefix}gmp-devel >= %{gmp_required} +%endif %else +%define _build_gmp 1 +%endif +%endif + +%if %{defined libelf_required} +%if "%{libelf_provided}" >= "%{libelf_required}" +BuildRequires: libelf-devel >= %{libelf_required} %if "%{_build}" != "%{_host}" -BuildRequires: %{_host_rpmprefix}mpfr-devel >= %{_mpfr_minvers} +BuildRequires: %{_host_rpmprefix}libelf-devel >= %{libelf_required} +%endif %else -BuildRequires: mpfr-devel >= %{_mpfr_minvers} +%define _build_libelf 1 +%endif %endif + + +%if %{defined cloog_required} +%{?fc11:BuildRequires: cloog-ppl-devel >= %cloog_required} +%{?fc12:BuildRequires: cloog-ppl-devel >= %cloog_required} +%{?fc13:BuildRequires: cloog-ppl-devel >= %cloog_required} +%{?suse11_2:BuildRequires: cloog-devel >= %cloog_required, ppl-devel} +%{?suse11_1:BuildRequires: cloog-devel >= %cloog_required, ppl-devel} +%endif + + +%if %{defined mpfr_required} +%if "%{mpfr_provided}" >= "%{mpfr_required}" +BuildRequires: mpfr-devel >= %{mpfr_required} +%if "%{_build}" != "%{_host}" +BuildRequires: %{_host_rpmprefix}mpfr-devel >= %{mpfr_required} %endif %else %define _build_mpfr 1 %endif - %endif %if "%{_build}" != "%{_host}" @@ -148,10 +232,17 @@ BuildRequires: rtems-4.10-arm-rtems4.10-binutils Requires: rtems-4.10-gcc-common Requires: rtems-4.10-arm-rtems4.10-binutils Requires: rtems-4.10-arm-rtems4.10-gcc-libgcc = %{gcc_rpmvers}-%{release} -Requires: rtems-4.10-arm-rtems4.10-newlib = %{newlib_version}-7%{?dist} +Requires: rtems-4.10-arm-rtems4.10-newlib = %{newlib_version}-8%{?dist} +%if "%{gcc_version}" >= "4.5.0" +BuildRequires: zlib-devel +%if "%{_build}" != "%{_host}" +BuildRequires: %{_host_rpmprefix}zlib-devel +%endif +%else +%endif -%define _gcclibdir %{_prefix}/lib +%global _gcclibdir %{_prefix}/lib %if "%{gcc_version}" == "4.4.3" Source0: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-core-%{gcc_pkgvers}.tar.bz2 @@ -173,14 +264,26 @@ Source1: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-g++-%{gcc_pkgve %if "%{newlib_version}" == "1.18.0" Source50: ftp://sources.redhat.com/pub/newlib/newlib-%{newlib_pkgvers}.tar.gz -Patch50: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/newlib-1.18.0-rtems4.10-20100310.diff +Patch50: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/newlib-1.18.0-rtems4.10-20100328.diff %endif %{?_without_sources:NoSource: 50} -%if "%{gcc_version}" >= "4.3.0" +%if 0%{?_build_mpfr} Source60: http://www.mpfr.org/mpfr-current/mpfr-%{mpfr_version}.tar.bz2 %endif +%if 0%{?_build_mpc} +Source61: http://www.multiprecision.org/mpc/download/mpc-%{mpc_version}.tar.gz +%endif + +%if 0%{?_build_gmp} +Source62: ftp://ftp.gnu.org/gnu/gmp/gmp-%{gmp_version}.tar.bz2 +%endif + +%if 0%{?_build_libelf} +Source63: http://www.mr511.de/software/libelf-%{libelf_version}.tar.gz +%endif + %description Cross gcc for arm-rtems4.10. @@ -188,10 +291,14 @@ Cross gcc for arm-rtems4.10. %setup -c -T -n %{name}-%{version} %setup -q -T -D -n %{name}-%{version} -a0 -%{?PATCH0:%patch0 -p0} +cd gcc-%{gcc_pkgvers} +%{?PATCH0:%patch0 -p1} +cd .. %setup -q -T -D -n %{name}-%{version} -a1 -%{?PATCH1:%patch1 -p0} +cd gcc-%{gcc_pkgvers} +%{?PATCH1:%patch1 -p1} +cd .. @@ -211,7 +318,28 @@ cd .. ln -s ../mpfr-%{mpfr_version} gcc-%{gcc_pkgvers}/mpfr %endif -echo "RTEMS gcc-%{gcc_version}-6%{?dist}/newlib-%{newlib_version}-7%{?dist}" > gcc-%{gcc_pkgvers}/gcc/DEV-PHASE +%if 0%{?_build_mpc} +%setup -q -T -D -n %{name}-%{version} -a61 +%{?PATCH61:%patch61 -p1} + # Build mpc one-tree style + ln -s ../mpc-%{mpc_version} gcc-%{gcc_pkgvers}/mpc +%endif + +%if 0%{?_build_gmp} +%setup -q -T -D -n %{name}-%{version} -a62 +%{?PATCH62:%patch62 -p1} + # Build gmp one-tree style + ln -s ../gmp-%{gmp_version} gcc-%{gcc_pkgvers}/gmp +%endif + +%if 0%{?_build_libelf} +%setup -q -T -D -n %{name}-%{version} -a63 +%{?PATCH63:%patch63 -p1} + # Build libelf one-tree style + ln -s ../libelf-%{libelf_version} gcc-%{gcc_pkgvers}/libelf +%endif + +echo "RTEMS gcc-%{gcc_version}-7%{?dist}/newlib-%{newlib_version}-8%{?dist}" > gcc-%{gcc_pkgvers}/gcc/DEV-PHASE # Fix timestamps @@ -253,6 +381,8 @@ echo "RTEMS gcc-%{gcc_version}-6%{?dist}/newlib-%{newlib_version}-7%{?dist}" > g --disable-win32-registry \ --enable-version-specific-runtime-libs \ --enable-threads \ + %{?with_lto:--enable-lto}%{!?with_lto:--disable-lto} \ + %{?with_plugin:--enable-plugin}%{!?with_plugin:--disable-plugin} \ --enable-newlib-io-c99-formats \ --enable-languages="$languages" $optargs @@ -319,6 +449,13 @@ echo "RTEMS gcc-%{gcc_version}-6%{?dist}/newlib-%{newlib_version}-7%{?dist}" > g rmdir ${RPM_BUILD_ROOT}%{_prefix}/arm-rtems4.10/include/bits fi + # gcc >= 4.5.0: installs weird libstdc++ python bindings. +%if ! %{with pygdb} + if test -d ${RPM_BUILD_ROOT}%{_datadir}/gcc-%{gcc_version}/python; then + rm -rf ${RPM_BUILD_ROOT}%{_datadir}/gcc-%{gcc_version}/python/libstdcxx + fi +%endif + # Collect multilib subdirectories multilibs=`build/gcc/xgcc -Bbuild/gcc/ --print-multi-lib | sed -e 's,;.*$,,'` @@ -374,6 +511,8 @@ echo "RTEMS gcc-%{gcc_version}-6%{?dist}/newlib-%{newlib_version}-7%{?dist}" > g *jc1) ;; *jvgenmain) ;; */libgfortran*.*) echo "$i" >> build/files.gfortran ;; + %{!?with_pygdb:*/libstdc++*gdb.py*) rm ${RPM_BUILD_ROOT}/$i ;;} # ignore for now + %{?with_pygdb:*/libstdc++*gdb.py*) >> build/files.g++ ;;} */libstdc++.*) echo "$i" >> build/files.g++ ;; */libsupc++.*) echo "$i" >> build/files.g++ ;; *) echo "$i" >> build/files.gcc ;; @@ -470,7 +609,7 @@ sed -e 's,^[ ]*/usr/lib/rpm/find-debuginfo.sh,./find-debuginfo.sh,' \ # Group: Development/Tools # Version: %{gcc_rpmvers} # Requires: rtems-4.10-arm-rtems4.10-binutils -# Requires: rtems-4.10-arm-rtems4.10-newlib = %{newlib_version}-7%{?dist} +# Requires: rtems-4.10-arm-rtems4.10-newlib = %{newlib_version}-8%{?dist} # License: GPL # %if %build_infos @@ -488,7 +627,7 @@ Summary: libgcc for arm-rtems4.10-gcc Group: Development/Tools Version: %{gcc_rpmvers} %{?_with_noarch_subpackages:BuildArch: noarch} -Requires: rtems-4.10-arm-rtems4.10-newlib = %{newlib_version}-7%{?dist} +Requires: rtems-4.10-arm-rtems4.10-newlib = %{newlib_version}-8%{?dist} License: GPL %description -n rtems-4.10-arm-rtems4.10-gcc-libgcc @@ -518,7 +657,10 @@ libgcc arm-rtems4.10-gcc. %dir %{_libexecdir}/gcc/arm-rtems4.10/%{gcc_version} %{_libexecdir}/gcc/arm-rtems4.10/%{gcc_version}/cc1%{_exeext} %{_libexecdir}/gcc/arm-rtems4.10/%{gcc_version}/collect2%{_exeext} - +%if "%{gcc_version}" >= "4.5.0" +%{?with_lto:%{_libexecdir}/gcc/arm-rtems4.10/%{gcc_version}/lto%{_exeext}} +%{_libexecdir}/gcc/arm-rtems4.10/%{gcc_version}/lto-wrapper%{_exeext} +%endif %files -n rtems-4.10-arm-rtems4.10-gcc-libgcc -f build/files.gcc %defattr(-,root,root) @@ -530,12 +672,8 @@ libgcc arm-rtems4.10-gcc. %dir %{_gcclibdir}/gcc/arm-rtems4.10/%{gcc_version}/include %if "%{gcc_version}" > "4.0.3" -%if "arm-rtems4.10" != "bfin-rtems4.10" -%if "arm-rtems4.10" != "avr-rtems4.10" %dir %{_gcclibdir}/gcc/arm-rtems4.10/%{gcc_version}/include/ssp %endif -%endif -%endif %if "%{gcc_version}" >= "4.3.0" %{_gcclibdir}/gcc/arm-rtems4.10/%{gcc_version}/include-fixed @@ -663,7 +801,7 @@ Summary: C Library (newlib) for arm-rtems4.10 Group: Development/Tools License: Distributable Version: %{newlib_version} -Release: 7%{?dist} +Release: 8%{?dist} %{?_with_noarch_subpackages:BuildArch: noarch} Requires: rtems-4.10-newlib-common @@ -684,7 +822,7 @@ Newlib C Library for arm-rtems4.10. Summary: Base package for RTEMS newlib C Library Group: Development/Tools Version: %{newlib_version} -Release: 7%{?dist} +Release: 8%{?dist} %{?_with_noarch_subpackages:BuildArch: noarch} License: Distributable diff --git a/contrib/crossrpms/rtems4.10/arm/rtems-4.10-arm-rtems4.10-gdb.spec b/contrib/crossrpms/rtems4.10/arm/rtems-4.10-arm-rtems4.10-gdb.spec index e7fd62bebd..b36635a0f9 100644 --- a/contrib/crossrpms/rtems4.10/arm/rtems-4.10-arm-rtems4.10-gdb.spec +++ b/contrib/crossrpms/rtems4.10/arm/rtems-4.10-arm-rtems4.10-gdb.spec @@ -52,7 +52,7 @@ Name: rtems-4.10-arm-rtems4.10-gdb Summary: Gdb for target arm-rtems4.10 Group: Development/Tools Version: %{gdb_rpmvers} -Release: 1%{?dist} +Release: 2%{?dist} License: GPL/LGPL URL: http://sources.redhat.com/gdb BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -60,33 +60,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: %{_host_rpmprefix}gcc %define build_sim --enable-sim -%if "%{_build}" != "%{_host}" -# psim doesn't support Cdn-X -%if "arm-rtems4.10" == "powerpc-rtems4.10" -%define build_sim --disable-sim -%endif -%endif -%ifos mingw mingw32 -# Mingw lacks functions required by the simulator -%if "arm-rtems4.10" == "sparc-rtems4.10" -%define build_sim --disable-sim -%endif -%if "arm-rtems4.10" == "h8300-rtems4.10" -%define build_sim --disable-sim -%endif -%if "%{gdb_version}" >= "6.8.50" -%if "arm-rtems4.10" == "m32c-rtems4.10" -%define build_sim --disable-sim -%endif -%endif -%if "arm-rtems4.10" == "lm32-rtems4.10" -%define build_sim --disable-sim -%endif -%if "arm-rtems4.10" == "mipstx39-rtems4.10" -%define build_sim --disable-sim -%endif -%endif %if "%{gdb_version}" >= "6.6" # suse diff --git a/contrib/crossrpms/rtems4.10/avr/rtems-4.10-avr-rtems4.10-gcc.spec b/contrib/crossrpms/rtems4.10/avr/rtems-4.10-avr-rtems4.10-gcc.spec index 964bd32216..a2bcb26b61 100644 --- a/contrib/crossrpms/rtems4.10/avr/rtems-4.10-avr-rtems4.10-gcc.spec +++ b/contrib/crossrpms/rtems4.10/avr/rtems-4.10-avr-rtems4.10-gcc.spec @@ -58,7 +58,7 @@ Summary: avr-rtems4.10 gcc Group: Development/Tools Version: %{gcc_rpmvers} -Release: 6%{?dist} +Release: 7%{?dist} License: GPL URL: http://gcc.gnu.org BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -67,70 +67,154 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: %{_host_rpmprefix}gcc -%if "%{gcc_version}" >= "4.3.0" -%define _gmp_minvers 4.1 -%else -%if "%{gcc_version}" >= "4.2.0" +# FIXME: Disable lto for now, to avoid dependencies on libelf +%bcond_with lto + +# FIXME: Disamble python gdb scripts +# ATM, no idea how to package them +%bcond_with pygdb + +# FIXME: Disable GCC-plugin +# Bug in gcc-4.5-20100318, doesn't build them on x86_84 hosts. +%bcond_with plugin + +# versions of libraries, we conditionally bundle if necessary +%global mpc_version 0.8.1 +%global mpfr_version 2.4.1 +%global gmp_version 4.3.2 +%global libelf_version 0.8.13 + +# versions of libraries these distros are known to ship +%if 0%{?fc13} +%global mpc_provided 0.8.1 +%global mpfr_provided 2.4.1 +%global gmp_provided 4.3.1 %endif + +%if 0%{?fc12} +%global mpc_provided 0.8 +%global mpfr_provided 2.4.1 +%global gmp_provided 4.3.1 %endif -%if %{defined _gmp_minvers} -BuildRequires: gmp-devel >= %{_gmp_minvers} -%if "%{_build}" != "%{_host}" -BuildRequires: %{_host_rpmprefix}gmp-devel >= %{_gmp_minvers} +%if 0%{?fc11} +%global mpc_provided %{nil} +%global mpfr_provided 2.4.1 +%global gmp_provided 4.2.4 +%endif + +%if 0%{?rhel5} +%global mpc_provided %{nil} +%global mpfr_provided %{nil} +%global gmp_provided 4.1.4 %endif + +%if 0%{?suse11_0} +%global mpc_provided %{nil} +%global mpfr_provided 2.3.1 +%global gmp_provided 4.2.2 %endif -%if "%{gcc_version}" >= "4.3.3" -%define _cloog_minvers 0.15 +%if 0%{?suse11_1} +%global mpc_provided %{nil} +%global mpfr_provided 2.3.2 +%global gmp_provided 4.2.3 %endif -%if %{defined _cloog_minvers} -%{?fc11:BuildRequires: cloog-ppl-devel >= %_cloog_minvers} -%{?fc12:BuildRequires: cloog-ppl-devel >= %_cloog_minvers} -%{?fc13:BuildRequires: cloog-ppl-devel >= %_cloog_minvers} -%{?suse11_2:BuildRequires: cloog-devel >= %_cloog_minvers, ppl-devel} -%{?suse11_1:BuildRequires: cloog-devel >= %_cloog_minvers, ppl-devel} +%if 0%{?suse11_2} +%global mpc_provided 0.7 +%global mpfr_provided 2.4.1 +%global gmp_provided 4.3.1 +%endif + +%if 0%{?cygwin} +%global mpc_provided 0.8 +%global mpfr_provided 2.4.1 +%global gmp_provided 4.3.1 +%endif + +%if 0%{?mingw32} +%global mpc_provided 0.8.1 +%global mpfr_provided 2.4.1 +%global gmp_provided 4.3.2 %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" %endif + +%if "%{gcc_version}" >= "4.3.0" +%define gmp_required 4.1 +%define mpfr_required 2.3.1 %endif + +%if "%{gcc_version}" >= "4.3.3" +%define cloog_required 0.15 %endif -%if %{defined _mpfr_minvers} -# FIXME: This is an ugly cludge -%{?fc11:%global mpfr_provided 2.4.1} -%{?fc12:%global mpfr_provided 2.4.1} -%{?fc13:%global mpfr_provided 2.4.1} -%{?suse11_0:%global mpfr_provided 2.3.1} -%{?suse11_1:%global mpfr_provided 2.3.2} -%{?suse11_2:%global mpfr_provided 2.4.1} -%{?cygwin:%global mpfr_provided 2.4.1} -%{?mingw32:%global mpfr_provided %{nil}} +%if "%{gcc_version}" >= "4.4.0" +%define mpfr_required 2.3.2 +%endif -%if %{defined mpfr_provided} -%if "%{mpfr_provided}" < "%{_mpfr_minvers}" -%define _build_mpfr 1 +%if "%{gcc_version}" >= "4.5.0" +%define mpc_required 0.8 +%if %{with lto} +%define libelf_required 0.8.12 +%endif +%endif + +%if %{defined mpc_required} +%if "%{mpc_provided}" >= "%{mpc_required}" +%{?fedora:BuildRequires: libmpc-devel >= %{mpc_required}} +%{?suse:BuildRequires: mpc-devel >= %{mpc_required}} +%if "%{_build}" != "%{_host}" +BuildRequires: %{_host_rpmprefix}mpc-devel >= %{mpc_required} +%endif %else +%define _build_mpc 1 +%endif +%endif + +%if %{defined gmp_required} +%if "%{gmp_provided}" >= "%{gmp_required}" +BuildRequires: gmp-devel >= %{gmp_required} %if "%{_build}" != "%{_host}" -BuildRequires: %{_host_rpmprefix}mpfr-devel >= %{_mpfr_minvers} +BuildRequires: %{_host_rpmprefix}gmp-devel >= %{gmp_required} +%endif %else -BuildRequires: mpfr-devel >= %{_mpfr_minvers} +%define _build_gmp 1 %endif %endif + +%if %{defined libelf_required} +%if "%{libelf_provided}" >= "%{libelf_required}" +BuildRequires: libelf-devel >= %{libelf_required} +%if "%{_build}" != "%{_host}" +BuildRequires: %{_host_rpmprefix}libelf-devel >= %{libelf_required} +%endif %else -%define _build_mpfr 1 +%define _build_libelf 1 +%endif %endif + +%if %{defined cloog_required} +%{?fc11:BuildRequires: cloog-ppl-devel >= %cloog_required} +%{?fc12:BuildRequires: cloog-ppl-devel >= %cloog_required} +%{?fc13:BuildRequires: cloog-ppl-devel >= %cloog_required} +%{?suse11_2:BuildRequires: cloog-devel >= %cloog_required, ppl-devel} +%{?suse11_1:BuildRequires: cloog-devel >= %cloog_required, ppl-devel} +%endif + + +%if %{defined mpfr_required} +%if "%{mpfr_provided}" >= "%{mpfr_required}" +BuildRequires: mpfr-devel >= %{mpfr_required} +%if "%{_build}" != "%{_host}" +BuildRequires: %{_host_rpmprefix}mpfr-devel >= %{mpfr_required} +%endif +%else +%define _build_mpfr 1 +%endif %endif %if "%{_build}" != "%{_host}" @@ -148,10 +232,17 @@ BuildRequires: rtems-4.10-avr-rtems4.10-binutils Requires: rtems-4.10-gcc-common Requires: rtems-4.10-avr-rtems4.10-binutils Requires: rtems-4.10-avr-rtems4.10-gcc-libgcc = %{gcc_rpmvers}-%{release} -Requires: rtems-4.10-avr-rtems4.10-newlib = %{newlib_version}-7%{?dist} +Requires: rtems-4.10-avr-rtems4.10-newlib = %{newlib_version}-8%{?dist} +%if "%{gcc_version}" >= "4.5.0" +BuildRequires: zlib-devel +%if "%{_build}" != "%{_host}" +BuildRequires: %{_host_rpmprefix}zlib-devel +%endif +%else +%endif -%define _gcclibdir %{_prefix}/lib +%global _gcclibdir %{_prefix}/lib %if "%{gcc_version}" == "4.4.3" Source0: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-core-%{gcc_pkgvers}.tar.bz2 @@ -165,14 +256,26 @@ Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gcc-core-4.4.2-rtems4.10-200 %if "%{newlib_version}" == "1.18.0" Source50: ftp://sources.redhat.com/pub/newlib/newlib-%{newlib_pkgvers}.tar.gz -Patch50: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/newlib-1.18.0-rtems4.10-20100310.diff +Patch50: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/newlib-1.18.0-rtems4.10-20100328.diff %endif %{?_without_sources:NoSource: 50} -%if "%{gcc_version}" >= "4.3.0" +%if 0%{?_build_mpfr} Source60: http://www.mpfr.org/mpfr-current/mpfr-%{mpfr_version}.tar.bz2 %endif +%if 0%{?_build_mpc} +Source61: http://www.multiprecision.org/mpc/download/mpc-%{mpc_version}.tar.gz +%endif + +%if 0%{?_build_gmp} +Source62: ftp://ftp.gnu.org/gnu/gmp/gmp-%{gmp_version}.tar.bz2 +%endif + +%if 0%{?_build_libelf} +Source63: http://www.mr511.de/software/libelf-%{libelf_version}.tar.gz +%endif + %description Cross gcc for avr-rtems4.10. @@ -180,7 +283,9 @@ Cross gcc for avr-rtems4.10. %setup -c -T -n %{name}-%{version} %setup -q -T -D -n %{name}-%{version} -a0 -%{?PATCH0:%patch0 -p0} +cd gcc-%{gcc_pkgvers} +%{?PATCH0:%patch0 -p1} +cd .. @@ -201,7 +306,28 @@ cd .. ln -s ../mpfr-%{mpfr_version} gcc-%{gcc_pkgvers}/mpfr %endif -echo "RTEMS gcc-%{gcc_version}-6%{?dist}/newlib-%{newlib_version}-7%{?dist}" > gcc-%{gcc_pkgvers}/gcc/DEV-PHASE +%if 0%{?_build_mpc} +%setup -q -T -D -n %{name}-%{version} -a61 +%{?PATCH61:%patch61 -p1} + # Build mpc one-tree style + ln -s ../mpc-%{mpc_version} gcc-%{gcc_pkgvers}/mpc +%endif + +%if 0%{?_build_gmp} +%setup -q -T -D -n %{name}-%{version} -a62 +%{?PATCH62:%patch62 -p1} + # Build gmp one-tree style + ln -s ../gmp-%{gmp_version} gcc-%{gcc_pkgvers}/gmp +%endif + +%if 0%{?_build_libelf} +%setup -q -T -D -n %{name}-%{version} -a63 +%{?PATCH63:%patch63 -p1} + # Build libelf one-tree style + ln -s ../libelf-%{libelf_version} gcc-%{gcc_pkgvers}/libelf +%endif + +echo "RTEMS gcc-%{gcc_version}-7%{?dist}/newlib-%{newlib_version}-8%{?dist}" > gcc-%{gcc_pkgvers}/gcc/DEV-PHASE # Fix timestamps @@ -242,6 +368,8 @@ echo "RTEMS gcc-%{gcc_version}-6%{?dist}/newlib-%{newlib_version}-7%{?dist}" > g --disable-win32-registry \ --enable-version-specific-runtime-libs \ --enable-threads \ + %{?with_lto:--enable-lto}%{!?with_lto:--disable-lto} \ + %{?with_plugin:--enable-plugin}%{!?with_plugin:--disable-plugin} \ --enable-newlib-io-c99-formats \ --enable-languages="$languages" $optargs @@ -308,6 +436,13 @@ echo "RTEMS gcc-%{gcc_version}-6%{?dist}/newlib-%{newlib_version}-7%{?dist}" > g rmdir ${RPM_BUILD_ROOT}%{_prefix}/avr-rtems4.10/include/bits fi + # gcc >= 4.5.0: installs weird libstdc++ python bindings. +%if ! %{with pygdb} + if test -d ${RPM_BUILD_ROOT}%{_datadir}/gcc-%{gcc_version}/python; then + rm -rf ${RPM_BUILD_ROOT}%{_datadir}/gcc-%{gcc_version}/python/libstdcxx + fi +%endif + # Collect multilib subdirectories multilibs=`build/gcc/xgcc -Bbuild/gcc/ --print-multi-lib | sed -e 's,;.*$,,'` @@ -363,6 +498,8 @@ echo "RTEMS gcc-%{gcc_version}-6%{?dist}/newlib-%{newlib_version}-7%{?dist}" > g *jc1) ;; *jvgenmain) ;; */libgfortran*.*) echo "$i" >> build/files.gfortran ;; + %{!?with_pygdb:*/libstdc++*gdb.py*) rm ${RPM_BUILD_ROOT}/$i ;;} # ignore for now + %{?with_pygdb:*/libstdc++*gdb.py*) >> build/files.g++ ;;} */libstdc++.*) echo "$i" >> build/files.g++ ;; */libsupc++.*) echo "$i" >> build/files.g++ ;; *) echo "$i" >> build/files.gcc ;; @@ -459,7 +596,7 @@ sed -e 's,^[ ]*/usr/lib/rpm/find-debuginfo.sh,./find-debuginfo.sh,' \ # Group: Development/Tools # Version: %{gcc_rpmvers} # Requires: rtems-4.10-avr-rtems4.10-binutils -# Requires: rtems-4.10-avr-rtems4.10-newlib = %{newlib_version}-7%{?dist} +# Requires: rtems-4.10-avr-rtems4.10-newlib = %{newlib_version}-8%{?dist} # License: GPL # %if %build_infos @@ -477,7 +614,7 @@ Summary: libgcc for avr-rtems4.10-gcc Group: Development/Tools Version: %{gcc_rpmvers} %{?_with_noarch_subpackages:BuildArch: noarch} -Requires: rtems-4.10-avr-rtems4.10-newlib = %{newlib_version}-7%{?dist} +Requires: rtems-4.10-avr-rtems4.10-newlib = %{newlib_version}-8%{?dist} License: GPL %description -n rtems-4.10-avr-rtems4.10-gcc-libgcc @@ -507,7 +644,10 @@ libgcc avr-rtems4.10-gcc. %dir %{_libexecdir}/gcc/avr-rtems4.10/%{gcc_version} %{_libexecdir}/gcc/avr-rtems4.10/%{gcc_version}/cc1%{_exeext} %{_libexecdir}/gcc/avr-rtems4.10/%{gcc_version}/collect2%{_exeext} - +%if "%{gcc_version}" >= "4.5.0" +%{?with_lto:%{_libexecdir}/gcc/avr-rtems4.10/%{gcc_version}/lto%{_exeext}} +%{_libexecdir}/gcc/avr-rtems4.10/%{gcc_version}/lto-wrapper%{_exeext} +%endif %files -n rtems-4.10-avr-rtems4.10-gcc-libgcc -f build/files.gcc %defattr(-,root,root) @@ -519,11 +659,6 @@ libgcc avr-rtems4.10-gcc. %dir %{_gcclibdir}/gcc/avr-rtems4.10/%{gcc_version}/include %if "%{gcc_version}" > "4.0.3" -%if "avr-rtems4.10" != "bfin-rtems4.10" -%if "avr-rtems4.10" != "avr-rtems4.10" -%dir %{_gcclibdir}/gcc/avr-rtems4.10/%{gcc_version}/include/ssp -%endif -%endif %endif %if "%{gcc_version}" >= "4.3.0" @@ -592,7 +727,7 @@ Summary: C Library (newlib) for avr-rtems4.10 Group: Development/Tools License: Distributable Version: %{newlib_version} -Release: 7%{?dist} +Release: 8%{?dist} %{?_with_noarch_subpackages:BuildArch: noarch} Requires: rtems-4.10-newlib-common @@ -613,7 +748,7 @@ Newlib C Library for avr-rtems4.10. Summary: Base package for RTEMS newlib C Library Group: Development/Tools Version: %{newlib_version} -Release: 7%{?dist} +Release: 8%{?dist} %{?_with_noarch_subpackages:BuildArch: noarch} License: Distributable diff --git a/contrib/crossrpms/rtems4.10/avr/rtems-4.10-avr-rtems4.10-gdb.spec b/contrib/crossrpms/rtems4.10/avr/rtems-4.10-avr-rtems4.10-gdb.spec index 89fe9d0dff..6fa16ade46 100644 --- a/contrib/crossrpms/rtems4.10/avr/rtems-4.10-avr-rtems4.10-gdb.spec +++ b/contrib/crossrpms/rtems4.10/avr/rtems-4.10-avr-rtems4.10-gdb.spec @@ -52,7 +52,7 @@ Name: rtems-4.10-avr-rtems4.10-gdb Summary: Gdb for target avr-rtems4.10 Group: Development/Tools Version: %{gdb_rpmvers} -Release: 1%{?dist} +Release: 2%{?dist} License: GPL/LGPL URL: http://sources.redhat.com/gdb BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -60,33 +60,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: %{_host_rpmprefix}gcc %define build_sim --enable-sim -%if "%{_build}" != "%{_host}" -# psim doesn't support Cdn-X -%if "avr-rtems4.10" == "powerpc-rtems4.10" -%define build_sim --disable-sim -%endif -%endif -%ifos mingw mingw32 -# Mingw lacks functions required by the simulator -%if "avr-rtems4.10" == "sparc-rtems4.10" -%define build_sim --disable-sim -%endif -%if "avr-rtems4.10" == "h8300-rtems4.10" -%define build_sim --disable-sim -%endif -%if "%{gdb_version}" >= "6.8.50" -%if "avr-rtems4.10" == "m32c-rtems4.10" -%define build_sim --disable-sim -%endif -%endif -%if "avr-rtems4.10" == "lm32-rtems4.10" -%define build_sim --disable-sim -%endif -%if "avr-rtems4.10" == "mipstx39-rtems4.10" -%define build_sim --disable-sim -%endif -%endif %if "%{gdb_version}" >= "6.6" # suse diff --git a/contrib/crossrpms/rtems4.10/bfin/rtems-4.10-bfin-rtems4.10-gcc.spec b/contrib/crossrpms/rtems4.10/bfin/rtems-4.10-bfin-rtems4.10-gcc.spec index 00921342a4..55671cbaf6 100644 --- a/contrib/crossrpms/rtems4.10/bfin/rtems-4.10-bfin-rtems4.10-gcc.spec +++ b/contrib/crossrpms/rtems4.10/bfin/rtems-4.10-bfin-rtems4.10-gcc.spec @@ -58,7 +58,7 @@ Summary: bfin-rtems4.10 gcc Group: Development/Tools Version: %{gcc_rpmvers} -Release: 6%{?dist} +Release: 7%{?dist} License: GPL URL: http://gcc.gnu.org BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -67,70 +67,154 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: %{_host_rpmprefix}gcc -%if "%{gcc_version}" >= "4.3.0" -%define _gmp_minvers 4.1 -%else -%if "%{gcc_version}" >= "4.2.0" +# FIXME: Disable lto for now, to avoid dependencies on libelf +%bcond_with lto + +# FIXME: Disamble python gdb scripts +# ATM, no idea how to package them +%bcond_with pygdb + +# FIXME: Disable GCC-plugin +# Bug in gcc-4.5-20100318, doesn't build them on x86_84 hosts. +%bcond_with plugin + +# versions of libraries, we conditionally bundle if necessary +%global mpc_version 0.8.1 +%global mpfr_version 2.4.1 +%global gmp_version 4.3.2 +%global libelf_version 0.8.13 + +# versions of libraries these distros are known to ship +%if 0%{?fc13} +%global mpc_provided 0.8.1 +%global mpfr_provided 2.4.1 +%global gmp_provided 4.3.1 %endif + +%if 0%{?fc12} +%global mpc_provided 0.8 +%global mpfr_provided 2.4.1 +%global gmp_provided 4.3.1 %endif -%if %{defined _gmp_minvers} -BuildRequires: gmp-devel >= %{_gmp_minvers} -%if "%{_build}" != "%{_host}" -BuildRequires: %{_host_rpmprefix}gmp-devel >= %{_gmp_minvers} +%if 0%{?fc11} +%global mpc_provided %{nil} +%global mpfr_provided 2.4.1 +%global gmp_provided 4.2.4 +%endif + +%if 0%{?rhel5} +%global mpc_provided %{nil} +%global mpfr_provided %{nil} +%global gmp_provided 4.1.4 %endif + +%if 0%{?suse11_0} +%global mpc_provided %{nil} +%global mpfr_provided 2.3.1 +%global gmp_provided 4.2.2 %endif -%if "%{gcc_version}" >= "4.3.3" -%define _cloog_minvers 0.15 +%if 0%{?suse11_1} +%global mpc_provided %{nil} +%global mpfr_provided 2.3.2 +%global gmp_provided 4.2.3 %endif -%if %{defined _cloog_minvers} -%{?fc11:BuildRequires: cloog-ppl-devel >= %_cloog_minvers} -%{?fc12:BuildRequires: cloog-ppl-devel >= %_cloog_minvers} -%{?fc13:BuildRequires: cloog-ppl-devel >= %_cloog_minvers} -%{?suse11_2:BuildRequires: cloog-devel >= %_cloog_minvers, ppl-devel} -%{?suse11_1:BuildRequires: cloog-devel >= %_cloog_minvers, ppl-devel} +%if 0%{?suse11_2} +%global mpc_provided 0.7 +%global mpfr_provided 2.4.1 +%global gmp_provided 4.3.1 +%endif + +%if 0%{?cygwin} +%global mpc_provided 0.8 +%global mpfr_provided 2.4.1 +%global gmp_provided 4.3.1 +%endif + +%if 0%{?mingw32} +%global mpc_provided 0.8.1 +%global mpfr_provided 2.4.1 +%global gmp_provided 4.3.2 %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" %endif + +%if "%{gcc_version}" >= "4.3.0" +%define gmp_required 4.1 +%define mpfr_required 2.3.1 %endif + +%if "%{gcc_version}" >= "4.3.3" +%define cloog_required 0.15 %endif -%if %{defined _mpfr_minvers} -# FIXME: This is an ugly cludge -%{?fc11:%global mpfr_provided 2.4.1} -%{?fc12:%global mpfr_provided 2.4.1} -%{?fc13:%global mpfr_provided 2.4.1} -%{?suse11_0:%global mpfr_provided 2.3.1} -%{?suse11_1:%global mpfr_provided 2.3.2} -%{?suse11_2:%global mpfr_provided 2.4.1} -%{?cygwin:%global mpfr_provided 2.4.1} -%{?mingw32:%global mpfr_provided %{nil}} +%if "%{gcc_version}" >= "4.4.0" +%define mpfr_required 2.3.2 +%endif -%if %{defined mpfr_provided} -%if "%{mpfr_provided}" < "%{_mpfr_minvers}" -%define _build_mpfr 1 +%if "%{gcc_version}" >= "4.5.0" +%define mpc_required 0.8 +%if %{with lto} +%define libelf_required 0.8.12 +%endif +%endif + +%if %{defined mpc_required} +%if "%{mpc_provided}" >= "%{mpc_required}" +%{?fedora:BuildRequires: libmpc-devel >= %{mpc_required}} +%{?suse:BuildRequires: mpc-devel >= %{mpc_required}} +%if "%{_build}" != "%{_host}" +BuildRequires: %{_host_rpmprefix}mpc-devel >= %{mpc_required} +%endif +%else +%define _build_mpc 1 +%endif +%endif + +%if %{defined gmp_required} +%if "%{gmp_provided}" >= "%{gmp_required}" +BuildRequires: gmp-devel >= %{gmp_required} +%if "%{_build}" != "%{_host}" +BuildRequires: %{_host_rpmprefix}gmp-devel >= %{gmp_required} +%endif %else +%define _build_gmp 1 +%endif +%endif + +%if %{defined libelf_required} +%if "%{libelf_provided}" >= "%{libelf_required}" +BuildRequires: libelf-devel >= %{libelf_required} %if "%{_build}" != "%{_host}" -BuildRequires: %{_host_rpmprefix}mpfr-devel >= %{_mpfr_minvers} +BuildRequires: %{_host_rpmprefix}libelf-devel >= %{libelf_required} +%endif %else -BuildRequires: mpfr-devel >= %{_mpfr_minvers} +%define _build_libelf 1 +%endif %endif + + +%if %{defined cloog_required} +%{?fc11:BuildRequires: cloog-ppl-devel >= %cloog_required} +%{?fc12:BuildRequires: cloog-ppl-devel >= %cloog_required} +%{?fc13:BuildRequires: cloog-ppl-devel >= %cloog_required} +%{?suse11_2:BuildRequires: cloog-devel >= %cloog_required, ppl-devel} +%{?suse11_1:BuildRequires: cloog-devel >= %cloog_required, ppl-devel} +%endif + + +%if %{defined mpfr_required} +%if "%{mpfr_provided}" >= "%{mpfr_required}" +BuildRequires: mpfr-devel >= %{mpfr_required} +%if "%{_build}" != "%{_host}" +BuildRequires: %{_host_rpmprefix}mpfr-devel >= %{mpfr_required} %endif %else %define _build_mpfr 1 %endif - %endif %if "%{_build}" != "%{_host}" @@ -148,10 +232,17 @@ BuildRequires: rtems-4.10-bfin-rtems4.10-binutils Requires: rtems-4.10-gcc-common Requires: rtems-4.10-bfin-rtems4.10-binutils Requires: rtems-4.10-bfin-rtems4.10-gcc-libgcc = %{gcc_rpmvers}-%{release} -Requires: rtems-4.10-bfin-rtems4.10-newlib = %{newlib_version}-7%{?dist} +Requires: rtems-4.10-bfin-rtems4.10-newlib = %{newlib_version}-8%{?dist} +%if "%{gcc_version}" >= "4.5.0" +BuildRequires: zlib-devel +%if "%{_build}" != "%{_host}" +BuildRequires: %{_host_rpmprefix}zlib-devel +%endif +%else +%endif -%define _gcclibdir %{_prefix}/lib +%global _gcclibdir %{_prefix}/lib %if "%{gcc_version}" == "4.4.3" Source0: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-core-%{gcc_pkgvers}.tar.bz2 @@ -173,14 +264,26 @@ Source1: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-g++-%{gcc_pkgve %if "%{newlib_version}" == "1.18.0" Source50: ftp://sources.redhat.com/pub/newlib/newlib-%{newlib_pkgvers}.tar.gz -Patch50: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/newlib-1.18.0-rtems4.10-20100310.diff +Patch50: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/newlib-1.18.0-rtems4.10-20100328.diff %endif %{?_without_sources:NoSource: 50} -%if "%{gcc_version}" >= "4.3.0" +%if 0%{?_build_mpfr} Source60: http://www.mpfr.org/mpfr-current/mpfr-%{mpfr_version}.tar.bz2 %endif +%if 0%{?_build_mpc} +Source61: http://www.multiprecision.org/mpc/download/mpc-%{mpc_version}.tar.gz +%endif + +%if 0%{?_build_gmp} +Source62: ftp://ftp.gnu.org/gnu/gmp/gmp-%{gmp_version}.tar.bz2 +%endif + +%if 0%{?_build_libelf} +Source63: http://www.mr511.de/software/libelf-%{libelf_version}.tar.gz +%endif + %description Cross gcc for bfin-rtems4.10. @@ -188,10 +291,14 @@ Cross gcc for bfin-rtems4.10. %setup -c -T -n %{name}-%{version} %setup -q -T -D -n %{name}-%{version} -a0 -%{?PATCH0:%patch0 -p0} +cd gcc-%{gcc_pkgvers} +%{?PATCH0:%patch0 -p1} +cd .. %setup -q -T -D -n %{name}-%{version} -a1 -%{?PATCH1:%patch1 -p0} +cd gcc-%{gcc_pkgvers} +%{?PATCH1:%patch1 -p1} +cd .. @@ -211,7 +318,28 @@ cd .. ln -s ../mpfr-%{mpfr_version} gcc-%{gcc_pkgvers}/mpfr %endif -echo "RTEMS gcc-%{gcc_version}-6%{?dist}/newlib-%{newlib_version}-7%{?dist}" > gcc-%{gcc_pkgvers}/gcc/DEV-PHASE +%if 0%{?_build_mpc} +%setup -q -T -D -n %{name}-%{version} -a61 +%{?PATCH61:%patch61 -p1} + # Build mpc one-tree style + ln -s ../mpc-%{mpc_version} gcc-%{gcc_pkgvers}/mpc +%endif + +%if 0%{?_build_gmp} +%setup -q -T -D -n %{name}-%{version} -a62 +%{?PATCH62:%patch62 -p1} + # Build gmp one-tree style + ln -s ../gmp-%{gmp_version} gcc-%{gcc_pkgvers}/gmp +%endif + +%if 0%{?_build_libelf} +%setup -q -T -D -n %{name}-%{version} -a63 +%{?PATCH63:%patch63 -p1} + # Build libelf one-tree style + ln -s ../libelf-%{libelf_version} gcc-%{gcc_pkgvers}/libelf +%endif + +echo "RTEMS gcc-%{gcc_version}-7%{?dist}/newlib-%{newlib_version}-8%{?dist}" > gcc-%{gcc_pkgvers}/gcc/DEV-PHASE # Fix timestamps @@ -253,6 +381,8 @@ echo "RTEMS gcc-%{gcc_version}-6%{?dist}/newlib-%{newlib_version}-7%{?dist}" > g --disable-win32-registry \ --enable-version-specific-runtime-libs \ --enable-threads \ + %{?with_lto:--enable-lto}%{!?with_lto:--disable-lto} \ + %{?with_plugin:--enable-plugin}%{!?with_plugin:--disable-plugin} \ --enable-newlib-io-c99-formats \ --enable-languages="$languages" $optargs @@ -319,6 +449,13 @@ echo "RTEMS gcc-%{gcc_version}-6%{?dist}/newlib-%{newlib_version}-7%{?dist}" > g rmdir ${RPM_BUILD_ROOT}%{_prefix}/bfin-rtems4.10/include/bits fi + # gcc >= 4.5.0: installs weird libstdc++ python bindings. +%if ! %{with pygdb} + if test -d ${RPM_BUILD_ROOT}%{_datadir}/gcc-%{gcc_version}/python; then + rm -rf ${RPM_BUILD_ROOT}%{_datadir}/gcc-%{gcc_version}/python/libstdcxx + fi +%endif + # Collect multilib subdirectories multilibs=`build/gcc/xgcc -Bbuild/gcc/ --print-multi-lib | sed -e 's,;.*$,,'` @@ -374,6 +511,8 @@ echo "RTEMS gcc-%{gcc_version}-6%{?dist}/newlib-%{newlib_version}-7%{?dist}" > g *jc1) ;; *jvgenmain) ;; */libgfortran*.*) echo "$i" >> build/files.gfortran ;; + %{!?with_pygdb:*/libstdc++*gdb.py*) rm ${RPM_BUILD_ROOT}/$i ;;} # ignore for now + %{?with_pygdb:*/libstdc++*gdb.py*) >> build/files.g++ ;;} */libstdc++.*) echo "$i" >> build/files.g++ ;; */libsupc++.*) echo "$i" >> build/files.g++ ;; *) echo "$i" >> build/files.gcc ;; @@ -470,7 +609,7 @@ sed -e 's,^[ ]*/usr/lib/rpm/find-debuginfo.sh,./find-debuginfo.sh,' \ # Group: Development/Tools # Version: %{gcc_rpmvers} # Requires: rtems-4.10-bfin-rtems4.10-binutils -# Requires: rtems-4.10-bfin-rtems4.10-newlib = %{newlib_version}-7%{?dist} +# Requires: rtems-4.10-bfin-rtems4.10-newlib = %{newlib_version}-8%{?dist} # License: GPL # %if %build_infos @@ -488,7 +627,7 @@ Summary: libgcc for bfin-rtems4.10-gcc Group: Development/Tools Version: %{gcc_rpmvers} %{?_with_noarch_subpackages:BuildArch: noarch} -Requires: rtems-4.10-bfin-rtems4.10-newlib = %{newlib_version}-7%{?dist} +Requires: rtems-4.10-bfin-rtems4.10-newlib = %{newlib_version}-8%{?dist} License: GPL %description -n rtems-4.10-bfin-rtems4.10-gcc-libgcc @@ -518,7 +657,10 @@ libgcc bfin-rtems4.10-gcc. %dir %{_libexecdir}/gcc/bfin-rtems4.10/%{gcc_version} %{_libexecdir}/gcc/bfin-rtems4.10/%{gcc_version}/cc1%{_exeext} %{_libexecdir}/gcc/bfin-rtems4.10/%{gcc_version}/collect2%{_exeext} - +%if "%{gcc_version}" >= "4.5.0" +%{?with_lto:%{_libexecdir}/gcc/bfin-rtems4.10/%{gcc_version}/lto%{_exeext}} +%{_libexecdir}/gcc/bfin-rtems4.10/%{gcc_version}/lto-wrapper%{_exeext} +%endif %files -n rtems-4.10-bfin-rtems4.10-gcc-libgcc -f build/files.gcc %defattr(-,root,root) @@ -530,12 +672,8 @@ libgcc bfin-rtems4.10-gcc. %dir %{_gcclibdir}/gcc/bfin-rtems4.10/%{gcc_version}/include %if "%{gcc_version}" > "4.0.3" -%if "bfin-rtems4.10" != "bfin-rtems4.10" -%if "bfin-rtems4.10" != "avr-rtems4.10" %dir %{_gcclibdir}/gcc/bfin-rtems4.10/%{gcc_version}/include/ssp %endif -%endif -%endif %if "%{gcc_version}" >= "4.3.0" %{_gcclibdir}/gcc/bfin-rtems4.10/%{gcc_version}/include-fixed @@ -663,7 +801,7 @@ Summary: C Library (newlib) for bfin-rtems4.10 Group: Development/Tools License: Distributable Version: %{newlib_version} -Release: 7%{?dist} +Release: 8%{?dist} %{?_with_noarch_subpackages:BuildArch: noarch} Requires: rtems-4.10-newlib-common @@ -684,7 +822,7 @@ Newlib C Library for bfin-rtems4.10. Summary: Base package for RTEMS newlib C Library Group: Development/Tools Version: %{newlib_version} -Release: 7%{?dist} +Release: 8%{?dist} %{?_with_noarch_subpackages:BuildArch: noarch} License: Distributable diff --git a/contrib/crossrpms/rtems4.10/bfin/rtems-4.10-bfin-rtems4.10-gdb.spec b/contrib/crossrpms/rtems4.10/bfin/rtems-4.10-bfin-rtems4.10-gdb.spec index 63351204df..197dad3f76 100644 --- a/contrib/crossrpms/rtems4.10/bfin/rtems-4.10-bfin-rtems4.10-gdb.spec +++ b/contrib/crossrpms/rtems4.10/bfin/rtems-4.10-bfin-rtems4.10-gdb.spec @@ -52,7 +52,7 @@ Name: rtems-4.10-bfin-rtems4.10-gdb Summary: Gdb for target bfin-rtems4.10 Group: Development/Tools Version: %{gdb_rpmvers} -Release: 11%{?dist} +Release: 12%{?dist} License: GPL/LGPL URL: http://sources.redhat.com/gdb BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -60,33 +60,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: %{_host_rpmprefix}gcc %define build_sim --enable-sim -%if "%{_build}" != "%{_host}" -# psim doesn't support Cdn-X -%if "bfin-rtems4.10" == "powerpc-rtems4.10" -%define build_sim --disable-sim -%endif -%endif -%ifos mingw mingw32 -# Mingw lacks functions required by the simulator -%if "bfin-rtems4.10" == "sparc-rtems4.10" -%define build_sim --disable-sim -%endif -%if "bfin-rtems4.10" == "h8300-rtems4.10" -%define build_sim --disable-sim -%endif -%if "%{gdb_version}" >= "6.8.50" -%if "bfin-rtems4.10" == "m32c-rtems4.10" -%define build_sim --disable-sim -%endif -%endif -%if "bfin-rtems4.10" == "lm32-rtems4.10" -%define build_sim --disable-sim -%endif -%if "bfin-rtems4.10" == "mipstx39-rtems4.10" -%define build_sim --disable-sim -%endif -%endif %if "%{gdb_version}" >= "6.6" # suse diff --git a/contrib/crossrpms/rtems4.10/h8300/rtems-4.10-h8300-rtems4.10-gcc.spec b/contrib/crossrpms/rtems4.10/h8300/rtems-4.10-h8300-rtems4.10-gcc.spec index 8cf055f980..b40e94b718 100644 --- a/contrib/crossrpms/rtems4.10/h8300/rtems-4.10-h8300-rtems4.10-gcc.spec +++ b/contrib/crossrpms/rtems4.10/h8300/rtems-4.10-h8300-rtems4.10-gcc.spec @@ -58,7 +58,7 @@ Summary: h8300-rtems4.10 gcc Group: Development/Tools Version: %{gcc_rpmvers} -Release: 6%{?dist} +Release: 7%{?dist} License: GPL URL: http://gcc.gnu.org BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -67,70 +67,154 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: %{_host_rpmprefix}gcc -%if "%{gcc_version}" >= "4.3.0" -%define _gmp_minvers 4.1 -%else -%if "%{gcc_version}" >= "4.2.0" +# FIXME: Disable lto for now, to avoid dependencies on libelf +%bcond_with lto + +# FIXME: Disamble python gdb scripts +# ATM, no idea how to package them +%bcond_with pygdb + +# FIXME: Disable GCC-plugin +# Bug in gcc-4.5-20100318, doesn't build them on x86_84 hosts. +%bcond_with plugin + +# versions of libraries, we conditionally bundle if necessary +%global mpc_version 0.8.1 +%global mpfr_version 2.4.1 +%global gmp_version 4.3.2 +%global libelf_version 0.8.13 + +# versions of libraries these distros are known to ship +%if 0%{?fc13} +%global mpc_provided 0.8.1 +%global mpfr_provided 2.4.1 +%global gmp_provided 4.3.1 %endif + +%if 0%{?fc12} +%global mpc_provided 0.8 +%global mpfr_provided 2.4.1 +%global gmp_provided 4.3.1 %endif -%if %{defined _gmp_minvers} -BuildRequires: gmp-devel >= %{_gmp_minvers} -%if "%{_build}" != "%{_host}" -BuildRequires: %{_host_rpmprefix}gmp-devel >= %{_gmp_minvers} +%if 0%{?fc11} +%global mpc_provided %{nil} +%global mpfr_provided 2.4.1 +%global gmp_provided 4.2.4 +%endif + +%if 0%{?rhel5} +%global mpc_provided %{nil} +%global mpfr_provided %{nil} +%global gmp_provided 4.1.4 %endif + +%if 0%{?suse11_0} +%global mpc_provided %{nil} +%global mpfr_provided 2.3.1 +%global gmp_provided 4.2.2 %endif -%if "%{gcc_version}" >= "4.3.3" -%define _cloog_minvers 0.15 +%if 0%{?suse11_1} +%global mpc_provided %{nil} +%global mpfr_provided 2.3.2 +%global gmp_provided 4.2.3 %endif -%if %{defined _cloog_minvers} -%{?fc11:BuildRequires: cloog-ppl-devel >= %_cloog_minvers} -%{?fc12:BuildRequires: cloog-ppl-devel >= %_cloog_minvers} -%{?fc13:BuildRequires: cloog-ppl-devel >= %_cloog_minvers} -%{?suse11_2:BuildRequires: cloog-devel >= %_cloog_minvers, ppl-devel} -%{?suse11_1:BuildRequires: cloog-devel >= %_cloog_minvers, ppl-devel} +%if 0%{?suse11_2} +%global mpc_provided 0.7 +%global mpfr_provided 2.4.1 +%global gmp_provided 4.3.1 +%endif + +%if 0%{?cygwin} +%global mpc_provided 0.8 +%global mpfr_provided 2.4.1 +%global gmp_provided 4.3.1 +%endif + +%if 0%{?mingw32} +%global mpc_provided 0.8.1 +%global mpfr_provided 2.4.1 +%global gmp_provided 4.3.2 %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" %endif + +%if "%{gcc_version}" >= "4.3.0" +%define gmp_required 4.1 +%define mpfr_required 2.3.1 %endif + +%if "%{gcc_version}" >= "4.3.3" +%define cloog_required 0.15 %endif -%if %{defined _mpfr_minvers} -# FIXME: This is an ugly cludge -%{?fc11:%global mpfr_provided 2.4.1} -%{?fc12:%global mpfr_provided 2.4.1} -%{?fc13:%global mpfr_provided 2.4.1} -%{?suse11_0:%global mpfr_provided 2.3.1} -%{?suse11_1:%global mpfr_provided 2.3.2} -%{?suse11_2:%global mpfr_provided 2.4.1} -%{?cygwin:%global mpfr_provided 2.4.1} -%{?mingw32:%global mpfr_provided %{nil}} +%if "%{gcc_version}" >= "4.4.0" +%define mpfr_required 2.3.2 +%endif -%if %{defined mpfr_provided} -%if "%{mpfr_provided}" < "%{_mpfr_minvers}" -%define _build_mpfr 1 +%if "%{gcc_version}" >= "4.5.0" +%define mpc_required 0.8 +%if %{with lto} +%define libelf_required 0.8.12 +%endif +%endif + +%if %{defined mpc_required} +%if "%{mpc_provided}" >= "%{mpc_required}" +%{?fedora:BuildRequires: libmpc-devel >= %{mpc_required}} +%{?suse:BuildRequires: mpc-devel >= %{mpc_required}} +%if "%{_build}" != "%{_host}" +BuildRequires: %{_host_rpmprefix}mpc-devel >= %{mpc_required} +%endif +%else +%define _build_mpc 1 +%endif +%endif + +%if %{defined gmp_required} +%if "%{gmp_provided}" >= "%{gmp_required}" +BuildRequires: gmp-devel >= %{gmp_required} +%if "%{_build}" != "%{_host}" +BuildRequires: %{_host_rpmprefix}gmp-devel >= %{gmp_required} +%endif %else +%define _build_gmp 1 +%endif +%endif + +%if %{defined libelf_required} +%if "%{libelf_provided}" >= "%{libelf_required}" +BuildRequires: libelf-devel >= %{libelf_required} %if "%{_build}" != "%{_host}" -BuildRequires: %{_host_rpmprefix}mpfr-devel >= %{_mpfr_minvers} +BuildRequires: %{_host_rpmprefix}libelf-devel >= %{libelf_required} +%endif %else -BuildRequires: mpfr-devel >= %{_mpfr_minvers} +%define _build_libelf 1 +%endif %endif + + +%if %{defined cloog_required} +%{?fc11:BuildRequires: cloog-ppl-devel >= %cloog_required} +%{?fc12:BuildRequires: cloog-ppl-devel >= %cloog_required} +%{?fc13:BuildRequires: cloog-ppl-devel >= %cloog_required} +%{?suse11_2:BuildRequires: cloog-devel >= %cloog_required, ppl-devel} +%{?suse11_1:BuildRequires: cloog-devel >= %cloog_required, ppl-devel} +%endif + + +%if %{defined mpfr_required} +%if "%{mpfr_provided}" >= "%{mpfr_required}" +BuildRequires: mpfr-devel >= %{mpfr_required} +%if "%{_build}" != "%{_host}" +BuildRequires: %{_host_rpmprefix}mpfr-devel >= %{mpfr_required} %endif %else %define _build_mpfr 1 %endif - %endif %if "%{_build}" != "%{_host}" @@ -148,10 +232,17 @@ BuildRequires: rtems-4.10-h8300-rtems4.10-binutils Requires: rtems-4.10-gcc-common Requires: rtems-4.10-h8300-rtems4.10-binutils Requires: rtems-4.10-h8300-rtems4.10-gcc-libgcc = %{gcc_rpmvers}-%{release} -Requires: rtems-4.10-h8300-rtems4.10-newlib = %{newlib_version}-7%{?dist} +Requires: rtems-4.10-h8300-rtems4.10-newlib = %{newlib_version}-8%{?dist} +%if "%{gcc_version}" >= "4.5.0" +BuildRequires: zlib-devel +%if "%{_build}" != "%{_host}" +BuildRequires: %{_host_rpmprefix}zlib-devel +%endif +%else +%endif -%define _gcclibdir %{_prefix}/lib +%global _gcclibdir %{_prefix}/lib %if "%{gcc_version}" == "4.4.3" Source0: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-core-%{gcc_pkgvers}.tar.bz2 @@ -173,14 +264,26 @@ Source1: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-g++-%{gcc_pkgve %if "%{newlib_version}" == "1.18.0" Source50: ftp://sources.redhat.com/pub/newlib/newlib-%{newlib_pkgvers}.tar.gz -Patch50: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/newlib-1.18.0-rtems4.10-20100310.diff +Patch50: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/newlib-1.18.0-rtems4.10-20100328.diff %endif %{?_without_sources:NoSource: 50} -%if "%{gcc_version}" >= "4.3.0" +%if 0%{?_build_mpfr} Source60: http://www.mpfr.org/mpfr-current/mpfr-%{mpfr_version}.tar.bz2 %endif +%if 0%{?_build_mpc} +Source61: http://www.multiprecision.org/mpc/download/mpc-%{mpc_version}.tar.gz +%endif + +%if 0%{?_build_gmp} +Source62: ftp://ftp.gnu.org/gnu/gmp/gmp-%{gmp_version}.tar.bz2 +%endif + +%if 0%{?_build_libelf} +Source63: http://www.mr511.de/software/libelf-%{libelf_version}.tar.gz +%endif + %description Cross gcc for h8300-rtems4.10. @@ -188,10 +291,14 @@ Cross gcc for h8300-rtems4.10. %setup -c -T -n %{name}-%{version} %setup -q -T -D -n %{name}-%{version} -a0 -%{?PATCH0:%patch0 -p0} +cd gcc-%{gcc_pkgvers} +%{?PATCH0:%patch0 -p1} +cd .. %setup -q -T -D -n %{name}-%{version} -a1 -%{?PATCH1:%patch1 -p0} +cd gcc-%{gcc_pkgvers} +%{?PATCH1:%patch1 -p1} +cd .. @@ -211,7 +318,28 @@ cd .. ln -s ../mpfr-%{mpfr_version} gcc-%{gcc_pkgvers}/mpfr %endif -echo "RTEMS gcc-%{gcc_version}-6%{?dist}/newlib-%{newlib_version}-7%{?dist}" > gcc-%{gcc_pkgvers}/gcc/DEV-PHASE +%if 0%{?_build_mpc} +%setup -q -T -D -n %{name}-%{version} -a61 +%{?PATCH61:%patch61 -p1} + # Build mpc one-tree style + ln -s ../mpc-%{mpc_version} gcc-%{gcc_pkgvers}/mpc +%endif + +%if 0%{?_build_gmp} +%setup -q -T -D -n %{name}-%{version} -a62 +%{?PATCH62:%patch62 -p1} + # Build gmp one-tree style + ln -s ../gmp-%{gmp_version} gcc-%{gcc_pkgvers}/gmp +%endif + +%if 0%{?_build_libelf} +%setup -q -T -D -n %{name}-%{version} -a63 +%{?PATCH63:%patch63 -p1} + # Build libelf one-tree style + ln -s ../libelf-%{libelf_version} gcc-%{gcc_pkgvers}/libelf +%endif + +echo "RTEMS gcc-%{gcc_version}-7%{?dist}/newlib-%{newlib_version}-8%{?dist}" > gcc-%{gcc_pkgvers}/gcc/DEV-PHASE # Fix timestamps @@ -253,6 +381,8 @@ echo "RTEMS gcc-%{gcc_version}-6%{?dist}/newlib-%{newlib_version}-7%{?dist}" > g --disable-win32-registry \ --enable-version-specific-runtime-libs \ --enable-threads \ + %{?with_lto:--enable-lto}%{!?with_lto:--disable-lto} \ + %{?with_plugin:--enable-plugin}%{!?with_plugin:--disable-plugin} \ --enable-newlib-io-c99-formats \ --enable-languages="$languages" $optargs @@ -319,6 +449,13 @@ echo "RTEMS gcc-%{gcc_version}-6%{?dist}/newlib-%{newlib_version}-7%{?dist}" > g rmdir ${RPM_BUILD_ROOT}%{_prefix}/h8300-rtems4.10/include/bits fi + # gcc >= 4.5.0: installs weird libstdc++ python bindings. +%if ! %{with pygdb} + if test -d ${RPM_BUILD_ROOT}%{_datadir}/gcc-%{gcc_version}/python; then + rm -rf ${RPM_BUILD_ROOT}%{_datadir}/gcc-%{gcc_version}/python/libstdcxx + fi +%endif + # Collect multilib subdirectories multilibs=`build/gcc/xgcc -Bbuild/gcc/ --print-multi-lib | sed -e 's,;.*$,,'` @@ -374,6 +511,8 @@ echo "RTEMS gcc-%{gcc_version}-6%{?dist}/newlib-%{newlib_version}-7%{?dist}" > g *jc1) ;; *jvgenmain) ;; */libgfortran*.*) echo "$i" >> build/files.gfortran ;; + %{!?with_pygdb:*/libstdc++*gdb.py*) rm ${RPM_BUILD_ROOT}/$i ;;} # ignore for now + %{?with_pygdb:*/libstdc++*gdb.py*) >> build/files.g++ ;;} */libstdc++.*) echo "$i" >> build/files.g++ ;; */libsupc++.*) echo "$i" >> build/files.g++ ;; *) echo "$i" >> build/files.gcc ;; @@ -470,7 +609,7 @@ sed -e 's,^[ ]*/usr/lib/rpm/find-debuginfo.sh,./find-debuginfo.sh,' \ # Group: Development/Tools # Version: %{gcc_rpmvers} # Requires: rtems-4.10-h8300-rtems4.10-binutils -# Requires: rtems-4.10-h8300-rtems4.10-newlib = %{newlib_version}-7%{?dist} +# Requires: rtems-4.10-h8300-rtems4.10-newlib = %{newlib_version}-8%{?dist} # License: GPL # %if %build_infos @@ -488,7 +627,7 @@ Summary: libgcc for h8300-rtems4.10-gcc Group: Development/Tools Version: %{gcc_rpmvers} %{?_with_noarch_subpackages:BuildArch: noarch} -Requires: rtems-4.10-h8300-rtems4.10-newlib = %{newlib_version}-7%{?dist} +Requires: rtems-4.10-h8300-rtems4.10-newlib = %{newlib_version}-8%{?dist} License: GPL %description -n rtems-4.10-h8300-rtems4.10-gcc-libgcc @@ -518,7 +657,10 @@ libgcc h8300-rtems4.10-gcc. %dir %{_libexecdir}/gcc/h8300-rtems4.10/%{gcc_version} %{_libexecdir}/gcc/h8300-rtems4.10/%{gcc_version}/cc1%{_exeext} %{_libexecdir}/gcc/h8300-rtems4.10/%{gcc_version}/collect2%{_exeext} - +%if "%{gcc_version}" >= "4.5.0" +%{?with_lto:%{_libexecdir}/gcc/h8300-rtems4.10/%{gcc_version}/lto%{_exeext}} +%{_libexecdir}/gcc/h8300-rtems4.10/%{gcc_version}/lto-wrapper%{_exeext} +%endif %files -n rtems-4.10-h8300-rtems4.10-gcc-libgcc -f build/files.gcc %defattr(-,root,root) @@ -530,12 +672,8 @@ libgcc h8300-rtems4.10-gcc. %dir %{_gcclibdir}/gcc/h8300-rtems4.10/%{gcc_version}/include %if "%{gcc_version}" > "4.0.3" -%if "h8300-rtems4.10" != "bfin-rtems4.10" -%if "h8300-rtems4.10" != "avr-rtems4.10" %dir %{_gcclibdir}/gcc/h8300-rtems4.10/%{gcc_version}/include/ssp %endif -%endif -%endif %if "%{gcc_version}" >= "4.3.0" %{_gcclibdir}/gcc/h8300-rtems4.10/%{gcc_version}/include-fixed @@ -663,7 +801,7 @@ Summary: C Library (newlib) for h8300-rtems4.10 Group: Development/Tools License: Distributable Version: %{newlib_version} -Release: 7%{?dist} +Release: 8%{?dist} %{?_with_noarch_subpackages:BuildArch: noarch} Requires: rtems-4.10-newlib-common @@ -684,7 +822,7 @@ Newlib C Library for h8300-rtems4.10. Summary: Base package for RTEMS newlib C Library Group: Development/Tools Version: %{newlib_version} -Release: 7%{?dist} +Release: 8%{?dist} %{?_with_noarch_subpackages:BuildArch: noarch} License: Distributable diff --git a/contrib/crossrpms/rtems4.10/h8300/rtems-4.10-h8300-rtems4.10-gdb.spec b/contrib/crossrpms/rtems4.10/h8300/rtems-4.10-h8300-rtems4.10-gdb.spec index 63123949d9..d684f09ccc 100644 --- a/contrib/crossrpms/rtems4.10/h8300/rtems-4.10-h8300-rtems4.10-gdb.spec +++ b/contrib/crossrpms/rtems4.10/h8300/rtems-4.10-h8300-rtems4.10-gdb.spec @@ -52,7 +52,7 @@ Name: rtems-4.10-h8300-rtems4.10-gdb Summary: Gdb for target h8300-rtems4.10 Group: Development/Tools Version: %{gdb_rpmvers} -Release: 1%{?dist} +Release: 2%{?dist} License: GPL/LGPL URL: http://sources.redhat.com/gdb BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -60,33 +60,9 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: %{_host_rpmprefix}gcc %define build_sim --enable-sim -%if "%{_build}" != "%{_host}" -# psim doesn't support Cdn-X -%if "h8300-rtems4.10" == "powerpc-rtems4.10" -%define build_sim --disable-sim -%endif -%endif -%ifos mingw mingw32 -# Mingw lacks functions required by the simulator -%if "h8300-rtems4.10" == "sparc-rtems4.10" +# Mingw lacks functions required by the h8300 simulator %define build_sim --disable-sim -%endif -%if "h8300-rtems4.10" == "h8300-rtems4.10" -%define build_sim --disable-sim -%endif -%if "%{gdb_version}" >= "6.8.50" -%if "h8300-rtems4.10" == "m32c-rtems4.10" -%define build_sim --disable-sim -%endif -%endif -%if "h8300-rtems4.10" == "lm32-rtems4.10" -%define build_sim --disable-sim -%endif -%if "h8300-rtems4.10" == "mipstx39-rtems4.10" -%define build_sim --disable-sim -%endif -%endif %if "%{gdb_version}" >= "6.6" # suse diff --git a/contrib/crossrpms/rtems4.10/i386/rtems-4.10-i386-rtems4.10-gcc.spec b/contrib/crossrpms/rtems4.10/i386/rtems-4.10-i386-rtems4.10-gcc.spec index a20460bae0..c9822af25a 100644 --- a/contrib/crossrpms/rtems4.10/i386/rtems-4.10-i386-rtems4.10-gcc.spec +++ b/contrib/crossrpms/rtems4.10/i386/rtems-4.10-i386-rtems4.10-gcc.spec @@ -58,7 +58,7 @@ Summary: i386-rtems4.10 gcc Group: Development/Tools Version: %{gcc_rpmvers} -Release: 6%{?dist} +Release: 7%{?dist} License: GPL URL: http://gcc.gnu.org BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -67,70 +67,154 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: %{_host_rpmprefix}gcc -%if "%{gcc_version}" >= "4.3.0" -%define _gmp_minvers 4.1 -%else -%if "%{gcc_version}" >= "4.2.0" +# FIXME: Disable lto for now, to avoid dependencies on libelf +%bcond_with lto + +# FIXME: Disamble python gdb scripts +# ATM, no idea how to package them +%bcond_with pygdb + +# FIXME: Disable GCC-plugin +# Bug in gcc-4.5-20100318, doesn't build them on x86_84 hosts. +%bcond_with plugin + +# versions of libraries, we conditionally bundle if necessary +%global mpc_version 0.8.1 +%global mpfr_version 2.4.1 +%global gmp_version 4.3.2 +%global libelf_version 0.8.13 + +# versions of libraries these distros are known to ship +%if 0%{?fc13} +%global mpc_provided 0.8.1 +%global mpfr_provided 2.4.1 +%global gmp_provided 4.3.1 %endif + +%if 0%{?fc12} +%global mpc_provided 0.8 +%global mpfr_provided 2.4.1 +%global gmp_provided 4.3.1 %endif -%if %{defined _gmp_minvers} -BuildRequires: gmp-devel >= %{_gmp_minvers} -%if "%{_build}" != "%{_host}" -BuildRequires: %{_host_rpmprefix}gmp-devel >= %{_gmp_minvers} +%if 0%{?fc11} +%global mpc_provided %{nil} +%global mpfr_provided 2.4.1 +%global gmp_provided 4.2.4 +%endif + +%if 0%{?rhel5} +%global mpc_provided %{nil} +%global mpfr_provided %{nil} +%global gmp_provided 4.1.4 %endif + +%if 0%{?suse11_0} +%global mpc_provided %{nil} +%global mpfr_provided 2.3.1 +%global gmp_provided 4.2.2 %endif -%if "%{gcc_version}" >= "4.3.3" -%define _cloog_minvers 0.15 +%if 0%{?suse11_1} +%global mpc_provided %{nil} +%global mpfr_provided 2.3.2 +%global gmp_provided 4.2.3 %endif -%if %{defined _cloog_minvers} -%{?fc11:BuildRequires: cloog-ppl-devel >= %_cloog_minvers} -%{?fc12:BuildRequires: cloog-ppl-devel >= %_cloog_minvers} -%{?fc13:BuildRequires: cloog-ppl-devel >= %_cloog_minvers} -%{?suse11_2:BuildRequires: cloog-devel >= %_cloog_minvers, ppl-devel} -%{?suse11_1:BuildRequires: cloog-devel >= %_cloog_minvers, ppl-devel} +%if 0%{?suse11_2} +%global mpc_provided 0.7 +%global mpfr_provided 2.4.1 +%global gmp_provided 4.3.1 +%endif + +%if 0%{?cygwin} +%global mpc_provided 0.8 +%global mpfr_provided 2.4.1 +%global gmp_provided 4.3.1 +%endif + +%if 0%{?mingw32} +%global mpc_provided 0.8.1 +%global mpfr_provided 2.4.1 +%global gmp_provided 4.3.2 %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" %endif + +%if "%{gcc_version}" >= "4.3.0" +%define gmp_required 4.1 +%define mpfr_required 2.3.1 %endif + +%if "%{gcc_version}" >= "4.3.3" +%define cloog_required 0.15 %endif -%if %{defined _mpfr_minvers} -# FIXME: This is an ugly cludge -%{?fc11:%global mpfr_provided 2.4.1} -%{?fc12:%global mpfr_provided 2.4.1} -%{?fc13:%global mpfr_provided 2.4.1} -%{?suse11_0:%global mpfr_provided 2.3.1} -%{?suse11_1:%global mpfr_provided 2.3.2} -%{?suse11_2:%global mpfr_provided 2.4.1} -%{?cygwin:%global mpfr_provided 2.4.1} -%{?mingw32:%global mpfr_provided %{nil}} +%if "%{gcc_version}" >= "4.4.0" +%define mpfr_required 2.3.2 +%endif -%if %{defined mpfr_provided} -%if "%{mpfr_provided}" < "%{_mpfr_minvers}" -%define _build_mpfr 1 +%if "%{gcc_version}" >= "4.5.0" +%define mpc_required 0.8 +%if %{with lto} +%define libelf_required 0.8.12 +%endif +%endif + +%if %{defined mpc_required} +%if "%{mpc_provided}" >= "%{mpc_required}" +%{?fedora:BuildRequires: libmpc-devel >= %{mpc_required}} +%{?suse:BuildRequires: mpc-devel >= %{mpc_required}} +%if "%{_build}" != "%{_host}" +BuildRequires: %{_host_rpmprefix}mpc-devel >= %{mpc_required} +%endif +%else +%define _build_mpc 1 +%endif +%endif + +%if %{defined gmp_required} +%if "%{gmp_provided}" >= "%{gmp_required}" +BuildRequires: gmp-devel >= %{gmp_required} +%if "%{_build}" != "%{_host}" +BuildRequires: %{_host_rpmprefix}gmp-devel >= %{gmp_required} +%endif %else +%define _build_gmp 1 +%endif +%endif + +%if %{defined libelf_required} +%if "%{libelf_provided}" >= "%{libelf_required}" +BuildRequires: libelf-devel >= %{libelf_required} %if "%{_build}" != "%{_host}" -BuildRequires: %{_host_rpmprefix}mpfr-devel >= %{_mpfr_minvers} +BuildRequires: %{_host_rpmprefix}libelf-devel >= %{libelf_required} +%endif %else -BuildRequires: mpfr-devel >= %{_mpfr_minvers} +%define _build_libelf 1 +%endif %endif + + +%if %{defined cloog_required} +%{?fc11:BuildRequires: cloog-ppl-devel >= %cloog_required} +%{?fc12:BuildRequires: cloog-ppl-devel >= %cloog_required} +%{?fc13:BuildRequires: cloog-ppl-devel >= %cloog_required} +%{?suse11_2:BuildRequires: cloog-devel >= %cloog_required, ppl-devel} +%{?suse11_1:BuildRequires: cloog-devel >= %cloog_required, ppl-devel} +%endif + + +%if %{defined mpfr_required} +%if "%{mpfr_provided}" >= "%{mpfr_required}" +BuildRequires: mpfr-devel >= %{mpfr_required} +%if "%{_build}" != "%{_host}" +BuildRequires: %{_host_rpmprefix}mpfr-devel >= %{mpfr_required} %endif %else %define _build_mpfr 1 %endif - %endif %if "%{_build}" != "%{_host}" @@ -148,10 +232,17 @@ BuildRequires: rtems-4.10-i386-rtems4.10-binutils Requires: rtems-4.10-gcc-common Requires: rtems-4.10-i386-rtems4.10-binutils Requires: rtems-4.10-i386-rtems4.10-gcc-libgcc = %{gcc_rpmvers}-%{release} -Requires: rtems-4.10-i386-rtems4.10-newlib = %{newlib_version}-7%{?dist} +Requires: rtems-4.10-i386-rtems4.10-newlib = %{newlib_version}-8%{?dist} +%if "%{gcc_version}" >= "4.5.0" +BuildRequires: zlib-devel +%if "%{_build}" != "%{_host}" +BuildRequires: %{_host_rpmprefix}zlib-devel +%endif +%else +%endif -%define _gcclibdir %{_prefix}/lib +%global _gcclibdir %{_prefix}/lib %if "%{gcc_version}" == "4.4.3" Source0: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-core-%{gcc_pkgvers}.tar.bz2 @@ -173,14 +264,26 @@ Source1: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-g++-%{gcc_pkgve %if "%{newlib_version}" == "1.18.0" Source50: ftp://sources.redhat.com/pub/newlib/newlib-%{newlib_pkgvers}.tar.gz -Patch50: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/newlib-1.18.0-rtems4.10-20100310.diff +Patch50: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/newlib-1.18.0-rtems4.10-20100328.diff %endif %{?_without_sources:NoSource: 50} -%if "%{gcc_version}" >= "4.3.0" +%if 0%{?_build_mpfr} Source60: http://www.mpfr.org/mpfr-current/mpfr-%{mpfr_version}.tar.bz2 %endif +%if 0%{?_build_mpc} +Source61: http://www.multiprecision.org/mpc/download/mpc-%{mpc_version}.tar.gz +%endif + +%if 0%{?_build_gmp} +Source62: ftp://ftp.gnu.org/gnu/gmp/gmp-%{gmp_version}.tar.bz2 +%endif + +%if 0%{?_build_libelf} +Source63: http://www.mr511.de/software/libelf-%{libelf_version}.tar.gz +%endif + %description Cross gcc for i386-rtems4.10. @@ -188,10 +291,14 @@ Cross gcc for i386-rtems4.10. %setup -c -T -n %{name}-%{version} %setup -q -T -D -n %{name}-%{version} -a0 -%{?PATCH0:%patch0 -p0} +cd gcc-%{gcc_pkgvers} +%{?PATCH0:%patch0 -p1} +cd .. %setup -q -T -D -n %{name}-%{version} -a1 -%{?PATCH1:%patch1 -p0} +cd gcc-%{gcc_pkgvers} +%{?PATCH1:%patch1 -p1} +cd .. @@ -211,7 +318,28 @@ cd .. ln -s ../mpfr-%{mpfr_version} gcc-%{gcc_pkgvers}/mpfr %endif -echo "RTEMS gcc-%{gcc_version}-6%{?dist}/newlib-%{newlib_version}-7%{?dist}" > gcc-%{gcc_pkgvers}/gcc/DEV-PHASE +%if 0%{?_build_mpc} +%setup -q -T -D -n %{name}-%{version} -a61 +%{?PATCH61:%patch61 -p1} + # Build mpc one-tree style + ln -s ../mpc-%{mpc_version} gcc-%{gcc_pkgvers}/mpc +%endif + +%if 0%{?_build_gmp} +%setup -q -T -D -n %{name}-%{version} -a62 +%{?PATCH62:%patch62 -p1} + # Build gmp one-tree style + ln -s ../gmp-%{gmp_version} gcc-%{gcc_pkgvers}/gmp +%endif + +%if 0%{?_build_libelf} +%setup -q -T -D -n %{name}-%{version} -a63 +%{?PATCH63:%patch63 -p1} + # Build libelf one-tree style + ln -s ../libelf-%{libelf_version} gcc-%{gcc_pkgvers}/libelf +%endif + +echo "RTEMS gcc-%{gcc_version}-7%{?dist}/newlib-%{newlib_version}-8%{?dist}" > gcc-%{gcc_pkgvers}/gcc/DEV-PHASE # Fix timestamps @@ -253,6 +381,8 @@ echo "RTEMS gcc-%{gcc_version}-6%{?dist}/newlib-%{newlib_version}-7%{?dist}" > g --disable-win32-registry \ --enable-version-specific-runtime-libs \ --enable-threads \ + %{?with_lto:--enable-lto}%{!?with_lto:--disable-lto} \ + %{?with_plugin:--enable-plugin}%{!?with_plugin:--disable-plugin} \ --enable-newlib-io-c99-formats \ --enable-languages="$languages" $optargs @@ -319,6 +449,13 @@ echo "RTEMS gcc-%{gcc_version}-6%{?dist}/newlib-%{newlib_version}-7%{?dist}" > g rmdir ${RPM_BUILD_ROOT}%{_prefix}/i386-rtems4.10/include/bits fi + # gcc >= 4.5.0: installs weird libstdc++ python bindings. +%if ! %{with pygdb} + if test -d ${RPM_BUILD_ROOT}%{_datadir}/gcc-%{gcc_version}/python; then + rm -rf ${RPM_BUILD_ROOT}%{_datadir}/gcc-%{gcc_version}/python/libstdcxx + fi +%endif + # Collect multilib subdirectories multilibs=`build/gcc/xgcc -Bbuild/gcc/ --print-multi-lib | sed -e 's,;.*$,,'` @@ -374,6 +511,8 @@ echo "RTEMS gcc-%{gcc_version}-6%{?dist}/newlib-%{newlib_version}-7%{?dist}" > g *jc1) ;; *jvgenmain) ;; */libgfortran*.*) echo "$i" >> build/files.gfortran ;; + %{!?with_pygdb:*/libstdc++*gdb.py*) rm ${RPM_BUILD_ROOT}/$i ;;} # ignore for now + %{?with_pygdb:*/libstdc++*gdb.py*) >> build/files.g++ ;;} */libstdc++.*) echo "$i" >> build/files.g++ ;; */libsupc++.*) echo "$i" >> build/files.g++ ;; *) echo "$i" >> build/files.gcc ;; @@ -470,7 +609,7 @@ sed -e 's,^[ ]*/usr/lib/rpm/find-debuginfo.sh,./find-debuginfo.sh,' \ # Group: Development/Tools # Version: %{gcc_rpmvers} # Requires: rtems-4.10-i386-rtems4.10-binutils -# Requires: rtems-4.10-i386-rtems4.10-newlib = %{newlib_version}-7%{?dist} +# Requires: rtems-4.10-i386-rtems4.10-newlib = %{newlib_version}-8%{?dist} # License: GPL # %if %build_infos @@ -488,7 +627,7 @@ Summary: libgcc for i386-rtems4.10-gcc Group: Development/Tools Version: %{gcc_rpmvers} %{?_with_noarch_subpackages:BuildArch: noarch} -Requires: rtems-4.10-i386-rtems4.10-newlib = %{newlib_version}-7%{?dist} +Requires: rtems-4.10-i386-rtems4.10-newlib = %{newlib_version}-8%{?dist} License: GPL %description -n rtems-4.10-i386-rtems4.10-gcc-libgcc @@ -518,7 +657,10 @@ libgcc i386-rtems4.10-gcc. %dir %{_libexecdir}/gcc/i386-rtems4.10/%{gcc_version} %{_libexecdir}/gcc/i386-rtems4.10/%{gcc_version}/cc1%{_exeext} %{_libexecdir}/gcc/i386-rtems4.10/%{gcc_version}/collect2%{_exeext} - +%if "%{gcc_version}" >= "4.5.0" +%{?with_lto:%{_libexecdir}/gcc/i386-rtems4.10/%{gcc_version}/lto%{_exeext}} +%{_libexecdir}/gcc/i386-rtems4.10/%{gcc_version}/lto-wrapper%{_exeext} +%endif %files -n rtems-4.10-i386-rtems4.10-gcc-libgcc -f build/files.gcc %defattr(-,root,root) @@ -530,12 +672,8 @@ libgcc i386-rtems4.10-gcc. %dir %{_gcclibdir}/gcc/i386-rtems4.10/%{gcc_version}/include %if "%{gcc_version}" > "4.0.3" -%if "i386-rtems4.10" != "bfin-rtems4.10" -%if "i386-rtems4.10" != "avr-rtems4.10" %dir %{_gcclibdir}/gcc/i386-rtems4.10/%{gcc_version}/include/ssp %endif -%endif -%endif %if "%{gcc_version}" >= "4.3.0" %{_gcclibdir}/gcc/i386-rtems4.10/%{gcc_version}/include-fixed @@ -663,7 +801,7 @@ Summary: C Library (newlib) for i386-rtems4.10 Group: Development/Tools License: Distributable Version: %{newlib_version} -Release: 7%{?dist} +Release: 8%{?dist} %{?_with_noarch_subpackages:BuildArch: noarch} Requires: rtems-4.10-newlib-common @@ -684,7 +822,7 @@ Newlib C Library for i386-rtems4.10. Summary: Base package for RTEMS newlib C Library Group: Development/Tools Version: %{newlib_version} -Release: 7%{?dist} +Release: 8%{?dist} %{?_with_noarch_subpackages:BuildArch: noarch} License: Distributable diff --git a/contrib/crossrpms/rtems4.10/i386/rtems-4.10-i386-rtems4.10-gdb.spec b/contrib/crossrpms/rtems4.10/i386/rtems-4.10-i386-rtems4.10-gdb.spec index 124cb031b4..ef62a7c3d8 100644 --- a/contrib/crossrpms/rtems4.10/i386/rtems-4.10-i386-rtems4.10-gdb.spec +++ b/contrib/crossrpms/rtems4.10/i386/rtems-4.10-i386-rtems4.10-gdb.spec @@ -52,7 +52,7 @@ Name: rtems-4.10-i386-rtems4.10-gdb Summary: Gdb for target i386-rtems4.10 Group: Development/Tools Version: %{gdb_rpmvers} -Release: 1%{?dist} +Release: 2%{?dist} License: GPL/LGPL URL: http://sources.redhat.com/gdb BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -60,33 +60,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: %{_host_rpmprefix}gcc %define build_sim --enable-sim -%if "%{_build}" != "%{_host}" -# psim doesn't support Cdn-X -%if "i386-rtems4.10" == "powerpc-rtems4.10" -%define build_sim --disable-sim -%endif -%endif -%ifos mingw mingw32 -# Mingw lacks functions required by the simulator -%if "i386-rtems4.10" == "sparc-rtems4.10" -%define build_sim --disable-sim -%endif -%if "i386-rtems4.10" == "h8300-rtems4.10" -%define build_sim --disable-sim -%endif -%if "%{gdb_version}" >= "6.8.50" -%if "i386-rtems4.10" == "m32c-rtems4.10" -%define build_sim --disable-sim -%endif -%endif -%if "i386-rtems4.10" == "lm32-rtems4.10" -%define build_sim --disable-sim -%endif -%if "i386-rtems4.10" == "mipstx39-rtems4.10" -%define build_sim --disable-sim -%endif -%endif %if "%{gdb_version}" >= "6.6" # suse diff --git a/contrib/crossrpms/rtems4.10/lm32/rtems-4.10-lm32-rtems4.10-gcc.spec b/contrib/crossrpms/rtems4.10/lm32/rtems-4.10-lm32-rtems4.10-gcc.spec index 03aa779c82..e9427c5994 100644 --- a/contrib/crossrpms/rtems4.10/lm32/rtems-4.10-lm32-rtems4.10-gcc.spec +++ b/contrib/crossrpms/rtems4.10/lm32/rtems-4.10-lm32-rtems4.10-gcc.spec @@ -58,7 +58,7 @@ Summary: lm32-rtems4.10 gcc Group: Development/Tools Version: %{gcc_rpmvers} -Release: 6%{?dist} +Release: 7%{?dist} License: GPL URL: http://gcc.gnu.org BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -67,70 +67,154 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: %{_host_rpmprefix}gcc -%if "%{gcc_version}" >= "4.3.0" -%define _gmp_minvers 4.1 -%else -%if "%{gcc_version}" >= "4.2.0" +# FIXME: Disable lto for now, to avoid dependencies on libelf +%bcond_with lto + +# FIXME: Disamble python gdb scripts +# ATM, no idea how to package them +%bcond_with pygdb + +# FIXME: Disable GCC-plugin +# Bug in gcc-4.5-20100318, doesn't build them on x86_84 hosts. +%bcond_with plugin + +# versions of libraries, we conditionally bundle if necessary +%global mpc_version 0.8.1 +%global mpfr_version 2.4.1 +%global gmp_version 4.3.2 +%global libelf_version 0.8.13 + +# versions of libraries these distros are known to ship +%if 0%{?fc13} +%global mpc_provided 0.8.1 +%global mpfr_provided 2.4.1 +%global gmp_provided 4.3.1 %endif + +%if 0%{?fc12} +%global mpc_provided 0.8 +%global mpfr_provided 2.4.1 +%global gmp_provided 4.3.1 %endif -%if %{defined _gmp_minvers} -BuildRequires: gmp-devel >= %{_gmp_minvers} -%if "%{_build}" != "%{_host}" -BuildRequires: %{_host_rpmprefix}gmp-devel >= %{_gmp_minvers} +%if 0%{?fc11} +%global mpc_provided %{nil} +%global mpfr_provided 2.4.1 +%global gmp_provided 4.2.4 +%endif + +%if 0%{?rhel5} +%global mpc_provided %{nil} +%global mpfr_provided %{nil} +%global gmp_provided 4.1.4 %endif + +%if 0%{?suse11_0} +%global mpc_provided %{nil} +%global mpfr_provided 2.3.1 +%global gmp_provided 4.2.2 %endif -%if "%{gcc_version}" >= "4.3.3" -%define _cloog_minvers 0.15 +%if 0%{?suse11_1} +%global mpc_provided %{nil} +%global mpfr_provided 2.3.2 +%global gmp_provided 4.2.3 %endif -%if %{defined _cloog_minvers} -%{?fc11:BuildRequires: cloog-ppl-devel >= %_cloog_minvers} -%{?fc12:BuildRequires: cloog-ppl-devel >= %_cloog_minvers} -%{?fc13:BuildRequires: cloog-ppl-devel >= %_cloog_minvers} -%{?suse11_2:BuildRequires: cloog-devel >= %_cloog_minvers, ppl-devel} -%{?suse11_1:BuildRequires: cloog-devel >= %_cloog_minvers, ppl-devel} +%if 0%{?suse11_2} +%global mpc_provided 0.7 +%global mpfr_provided 2.4.1 +%global gmp_provided 4.3.1 +%endif + +%if 0%{?cygwin} +%global mpc_provided 0.8 +%global mpfr_provided 2.4.1 +%global gmp_provided 4.3.1 +%endif + +%if 0%{?mingw32} +%global mpc_provided 0.8.1 +%global mpfr_provided 2.4.1 +%global gmp_provided 4.3.2 %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" %endif + +%if "%{gcc_version}" >= "4.3.0" +%define gmp_required 4.1 +%define mpfr_required 2.3.1 %endif + +%if "%{gcc_version}" >= "4.3.3" +%define cloog_required 0.15 %endif -%if %{defined _mpfr_minvers} -# FIXME: This is an ugly cludge -%{?fc11:%global mpfr_provided 2.4.1} -%{?fc12:%global mpfr_provided 2.4.1} -%{?fc13:%global mpfr_provided 2.4.1} -%{?suse11_0:%global mpfr_provided 2.3.1} -%{?suse11_1:%global mpfr_provided 2.3.2} -%{?suse11_2:%global mpfr_provided 2.4.1} -%{?cygwin:%global mpfr_provided 2.4.1} -%{?mingw32:%global mpfr_provided %{nil}} +%if "%{gcc_version}" >= "4.4.0" +%define mpfr_required 2.3.2 +%endif -%if %{defined mpfr_provided} -%if "%{mpfr_provided}" < "%{_mpfr_minvers}" -%define _build_mpfr 1 +%if "%{gcc_version}" >= "4.5.0" +%define mpc_required 0.8 +%if %{with lto} +%define libelf_required 0.8.12 +%endif +%endif + +%if %{defined mpc_required} +%if "%{mpc_provided}" >= "%{mpc_required}" +%{?fedora:BuildRequires: libmpc-devel >= %{mpc_required}} +%{?suse:BuildRequires: mpc-devel >= %{mpc_required}} +%if "%{_build}" != "%{_host}" +BuildRequires: %{_host_rpmprefix}mpc-devel >= %{mpc_required} +%endif +%else +%define _build_mpc 1 +%endif +%endif + +%if %{defined gmp_required} +%if "%{gmp_provided}" >= "%{gmp_required}" +BuildRequires: gmp-devel >= %{gmp_required} +%if "%{_build}" != "%{_host}" +BuildRequires: %{_host_rpmprefix}gmp-devel >= %{gmp_required} +%endif %else +%define _build_gmp 1 +%endif +%endif + +%if %{defined libelf_required} +%if "%{libelf_provided}" >= "%{libelf_required}" +BuildRequires: libelf-devel >= %{libelf_required} %if "%{_build}" != "%{_host}" -BuildRequires: %{_host_rpmprefix}mpfr-devel >= %{_mpfr_minvers} +BuildRequires: %{_host_rpmprefix}libelf-devel >= %{libelf_required} +%endif %else -BuildRequires: mpfr-devel >= %{_mpfr_minvers} +%define _build_libelf 1 +%endif %endif + + +%if %{defined cloog_required} +%{?fc11:BuildRequires: cloog-ppl-devel >= %cloog_required} +%{?fc12:BuildRequires: cloog-ppl-devel >= %cloog_required} +%{?fc13:BuildRequires: cloog-ppl-devel >= %cloog_required} +%{?suse11_2:BuildRequires: cloog-devel >= %cloog_required, ppl-devel} +%{?suse11_1:BuildRequires: cloog-devel >= %cloog_required, ppl-devel} +%endif + + +%if %{defined mpfr_required} +%if "%{mpfr_provided}" >= "%{mpfr_required}" +BuildRequires: mpfr-devel >= %{mpfr_required} +%if "%{_build}" != "%{_host}" +BuildRequires: %{_host_rpmprefix}mpfr-devel >= %{mpfr_required} %endif %else %define _build_mpfr 1 %endif - %endif %if "%{_build}" != "%{_host}" @@ -148,10 +232,17 @@ BuildRequires: rtems-4.10-lm32-rtems4.10-binutils Requires: rtems-4.10-gcc-common Requires: rtems-4.10-lm32-rtems4.10-binutils Requires: rtems-4.10-lm32-rtems4.10-gcc-libgcc = %{gcc_rpmvers}-%{release} -Requires: rtems-4.10-lm32-rtems4.10-newlib = %{newlib_version}-7%{?dist} +Requires: rtems-4.10-lm32-rtems4.10-newlib = %{newlib_version}-8%{?dist} +%if "%{gcc_version}" >= "4.5.0" +BuildRequires: zlib-devel +%if "%{_build}" != "%{_host}" +BuildRequires: %{_host_rpmprefix}zlib-devel +%endif +%else +%endif -%define _gcclibdir %{_prefix}/lib +%global _gcclibdir %{_prefix}/lib %if "%{gcc_version}" == "4.4.3" Source0: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-core-%{gcc_pkgvers}.tar.bz2 @@ -173,14 +264,26 @@ Source1: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-g++-%{gcc_pkgve %if "%{newlib_version}" == "1.18.0" Source50: ftp://sources.redhat.com/pub/newlib/newlib-%{newlib_pkgvers}.tar.gz -Patch50: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/newlib-1.18.0-rtems4.10-20100310.diff +Patch50: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/newlib-1.18.0-rtems4.10-20100328.diff %endif %{?_without_sources:NoSource: 50} -%if "%{gcc_version}" >= "4.3.0" +%if 0%{?_build_mpfr} Source60: http://www.mpfr.org/mpfr-current/mpfr-%{mpfr_version}.tar.bz2 %endif +%if 0%{?_build_mpc} +Source61: http://www.multiprecision.org/mpc/download/mpc-%{mpc_version}.tar.gz +%endif + +%if 0%{?_build_gmp} +Source62: ftp://ftp.gnu.org/gnu/gmp/gmp-%{gmp_version}.tar.bz2 +%endif + +%if 0%{?_build_libelf} +Source63: http://www.mr511.de/software/libelf-%{libelf_version}.tar.gz +%endif + %description Cross gcc for lm32-rtems4.10. @@ -188,10 +291,14 @@ Cross gcc for lm32-rtems4.10. %setup -c -T -n %{name}-%{version} %setup -q -T -D -n %{name}-%{version} -a0 -%{?PATCH0:%patch0 -p0} +cd gcc-%{gcc_pkgvers} +%{?PATCH0:%patch0 -p1} +cd .. %setup -q -T -D -n %{name}-%{version} -a1 -%{?PATCH1:%patch1 -p0} +cd gcc-%{gcc_pkgvers} +%{?PATCH1:%patch1 -p1} +cd .. @@ -211,7 +318,28 @@ cd .. ln -s ../mpfr-%{mpfr_version} gcc-%{gcc_pkgvers}/mpfr %endif -echo "RTEMS gcc-%{gcc_version}-6%{?dist}/newlib-%{newlib_version}-7%{?dist}" > gcc-%{gcc_pkgvers}/gcc/DEV-PHASE +%if 0%{?_build_mpc} +%setup -q -T -D -n %{name}-%{version} -a61 +%{?PATCH61:%patch61 -p1} + # Build mpc one-tree style + ln -s ../mpc-%{mpc_version} gcc-%{gcc_pkgvers}/mpc +%endif + +%if 0%{?_build_gmp} +%setup -q -T -D -n %{name}-%{version} -a62 +%{?PATCH62:%patch62 -p1} + # Build gmp one-tree style + ln -s ../gmp-%{gmp_version} gcc-%{gcc_pkgvers}/gmp +%endif + +%if 0%{?_build_libelf} +%setup -q -T -D -n %{name}-%{version} -a63 +%{?PATCH63:%patch63 -p1} + # Build libelf one-tree style + ln -s ../libelf-%{libelf_version} gcc-%{gcc_pkgvers}/libelf +%endif + +echo "RTEMS gcc-%{gcc_version}-7%{?dist}/newlib-%{newlib_version}-8%{?dist}" > gcc-%{gcc_pkgvers}/gcc/DEV-PHASE # Fix timestamps @@ -253,6 +381,8 @@ echo "RTEMS gcc-%{gcc_version}-6%{?dist}/newlib-%{newlib_version}-7%{?dist}" > g --disable-win32-registry \ --enable-version-specific-runtime-libs \ --enable-threads \ + %{?with_lto:--enable-lto}%{!?with_lto:--disable-lto} \ + %{?with_plugin:--enable-plugin}%{!?with_plugin:--disable-plugin} \ --enable-newlib-io-c99-formats \ --enable-languages="$languages" $optargs @@ -319,6 +449,13 @@ echo "RTEMS gcc-%{gcc_version}-6%{?dist}/newlib-%{newlib_version}-7%{?dist}" > g rmdir ${RPM_BUILD_ROOT}%{_prefix}/lm32-rtems4.10/include/bits fi + # gcc >= 4.5.0: installs weird libstdc++ python bindings. +%if ! %{with pygdb} + if test -d ${RPM_BUILD_ROOT}%{_datadir}/gcc-%{gcc_version}/python; then + rm -rf ${RPM_BUILD_ROOT}%{_datadir}/gcc-%{gcc_version}/python/libstdcxx + fi +%endif + # Collect multilib subdirectories multilibs=`build/gcc/xgcc -Bbuild/gcc/ --print-multi-lib | sed -e 's,;.*$,,'` @@ -374,6 +511,8 @@ echo "RTEMS gcc-%{gcc_version}-6%{?dist}/newlib-%{newlib_version}-7%{?dist}" > g *jc1) ;; *jvgenmain) ;; */libgfortran*.*) echo "$i" >> build/files.gfortran ;; + %{!?with_pygdb:*/libstdc++*gdb.py*) rm ${RPM_BUILD_ROOT}/$i ;;} # ignore for now + %{?with_pygdb:*/libstdc++*gdb.py*) >> build/files.g++ ;;} */libstdc++.*) echo "$i" >> build/files.g++ ;; */libsupc++.*) echo "$i" >> build/files.g++ ;; *) echo "$i" >> build/files.gcc ;; @@ -470,7 +609,7 @@ sed -e 's,^[ ]*/usr/lib/rpm/find-debuginfo.sh,./find-debuginfo.sh,' \ # Group: Development/Tools # Version: %{gcc_rpmvers} # Requires: rtems-4.10-lm32-rtems4.10-binutils -# Requires: rtems-4.10-lm32-rtems4.10-newlib = %{newlib_version}-7%{?dist} +# Requires: rtems-4.10-lm32-rtems4.10-newlib = %{newlib_version}-8%{?dist} # License: GPL # %if %build_infos @@ -488,7 +627,7 @@ Summary: libgcc for lm32-rtems4.10-gcc Group: Development/Tools Version: %{gcc_rpmvers} %{?_with_noarch_subpackages:BuildArch: noarch} -Requires: rtems-4.10-lm32-rtems4.10-newlib = %{newlib_version}-7%{?dist} +Requires: rtems-4.10-lm32-rtems4.10-newlib = %{newlib_version}-8%{?dist} License: GPL %description -n rtems-4.10-lm32-rtems4.10-gcc-libgcc @@ -518,7 +657,10 @@ libgcc lm32-rtems4.10-gcc. %dir %{_libexecdir}/gcc/lm32-rtems4.10/%{gcc_version} %{_libexecdir}/gcc/lm32-rtems4.10/%{gcc_version}/cc1%{_exeext} %{_libexecdir}/gcc/lm32-rtems4.10/%{gcc_version}/collect2%{_exeext} - +%if "%{gcc_version}" >= "4.5.0" +%{?with_lto:%{_libexecdir}/gcc/lm32-rtems4.10/%{gcc_version}/lto%{_exeext}} +%{_libexecdir}/gcc/lm32-rtems4.10/%{gcc_version}/lto-wrapper%{_exeext} +%endif %files -n rtems-4.10-lm32-rtems4.10-gcc-libgcc -f build/files.gcc %defattr(-,root,root) @@ -530,12 +672,8 @@ libgcc lm32-rtems4.10-gcc. %dir %{_gcclibdir}/gcc/lm32-rtems4.10/%{gcc_version}/include %if "%{gcc_version}" > "4.0.3" -%if "lm32-rtems4.10" != "bfin-rtems4.10" -%if "lm32-rtems4.10" != "avr-rtems4.10" %dir %{_gcclibdir}/gcc/lm32-rtems4.10/%{gcc_version}/include/ssp %endif -%endif -%endif %if "%{gcc_version}" >= "4.3.0" %{_gcclibdir}/gcc/lm32-rtems4.10/%{gcc_version}/include-fixed @@ -663,7 +801,7 @@ Summary: C Library (newlib) for lm32-rtems4.10 Group: Development/Tools License: Distributable Version: %{newlib_version} -Release: 7%{?dist} +Release: 8%{?dist} %{?_with_noarch_subpackages:BuildArch: noarch} Requires: rtems-4.10-newlib-common @@ -684,7 +822,7 @@ Newlib C Library for lm32-rtems4.10. Summary: Base package for RTEMS newlib C Library Group: Development/Tools Version: %{newlib_version} -Release: 7%{?dist} +Release: 8%{?dist} %{?_with_noarch_subpackages:BuildArch: noarch} License: Distributable diff --git a/contrib/crossrpms/rtems4.10/lm32/rtems-4.10-lm32-rtems4.10-gdb.spec b/contrib/crossrpms/rtems4.10/lm32/rtems-4.10-lm32-rtems4.10-gdb.spec index 35552596d9..e2c428aa4b 100644 --- a/contrib/crossrpms/rtems4.10/lm32/rtems-4.10-lm32-rtems4.10-gdb.spec +++ b/contrib/crossrpms/rtems4.10/lm32/rtems-4.10-lm32-rtems4.10-gdb.spec @@ -52,7 +52,7 @@ Name: rtems-4.10-lm32-rtems4.10-gdb Summary: Gdb for target lm32-rtems4.10 Group: Development/Tools Version: %{gdb_rpmvers} -Release: 1%{?dist} +Release: 2%{?dist} License: GPL/LGPL URL: http://sources.redhat.com/gdb BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -60,33 +60,9 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: %{_host_rpmprefix}gcc %define build_sim --enable-sim -%if "%{_build}" != "%{_host}" -# psim doesn't support Cdn-X -%if "lm32-rtems4.10" == "powerpc-rtems4.10" -%define build_sim --disable-sim -%endif -%endif -%ifos mingw mingw32 -# Mingw lacks functions required by the simulator -%if "lm32-rtems4.10" == "sparc-rtems4.10" +# Mingw lacks functions required by the lm32 simulator %define build_sim --disable-sim -%endif -%if "lm32-rtems4.10" == "h8300-rtems4.10" -%define build_sim --disable-sim -%endif -%if "%{gdb_version}" >= "6.8.50" -%if "lm32-rtems4.10" == "m32c-rtems4.10" -%define build_sim --disable-sim -%endif -%endif -%if "lm32-rtems4.10" == "lm32-rtems4.10" -%define build_sim --disable-sim -%endif -%if "lm32-rtems4.10" == "mipstx39-rtems4.10" -%define build_sim --disable-sim -%endif -%endif %if "%{gdb_version}" >= "6.6" # suse diff --git a/contrib/crossrpms/rtems4.10/m32c/rtems-4.10-m32c-rtems4.10-gcc.spec b/contrib/crossrpms/rtems4.10/m32c/rtems-4.10-m32c-rtems4.10-gcc.spec index 9e3cb73cb8..e871d95918 100644 --- a/contrib/crossrpms/rtems4.10/m32c/rtems-4.10-m32c-rtems4.10-gcc.spec +++ b/contrib/crossrpms/rtems4.10/m32c/rtems-4.10-m32c-rtems4.10-gcc.spec @@ -58,7 +58,7 @@ Summary: m32c-rtems4.10 gcc Group: Development/Tools Version: %{gcc_rpmvers} -Release: 6%{?dist} +Release: 7%{?dist} License: GPL URL: http://gcc.gnu.org BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -67,70 +67,154 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: %{_host_rpmprefix}gcc -%if "%{gcc_version}" >= "4.3.0" -%define _gmp_minvers 4.1 -%else -%if "%{gcc_version}" >= "4.2.0" +# FIXME: Disable lto for now, to avoid dependencies on libelf +%bcond_with lto + +# FIXME: Disamble python gdb scripts +# ATM, no idea how to package them +%bcond_with pygdb + +# FIXME: Disable GCC-plugin +# Bug in gcc-4.5-20100318, doesn't build them on x86_84 hosts. +%bcond_with plugin + +# versions of libraries, we conditionally bundle if necessary +%global mpc_version 0.8.1 +%global mpfr_version 2.4.1 +%global gmp_version 4.3.2 +%global libelf_version 0.8.13 + +# versions of libraries these distros are known to ship +%if 0%{?fc13} +%global mpc_provided 0.8.1 +%global mpfr_provided 2.4.1 +%global gmp_provided 4.3.1 %endif + +%if 0%{?fc12} +%global mpc_provided 0.8 +%global mpfr_provided 2.4.1 +%global gmp_provided 4.3.1 %endif -%if %{defined _gmp_minvers} -BuildRequires: gmp-devel >= %{_gmp_minvers} -%if "%{_build}" != "%{_host}" -BuildRequires: %{_host_rpmprefix}gmp-devel >= %{_gmp_minvers} +%if 0%{?fc11} +%global mpc_provided %{nil} +%global mpfr_provided 2.4.1 +%global gmp_provided 4.2.4 +%endif + +%if 0%{?rhel5} +%global mpc_provided %{nil} +%global mpfr_provided %{nil} +%global gmp_provided 4.1.4 %endif + +%if 0%{?suse11_0} +%global mpc_provided %{nil} +%global mpfr_provided 2.3.1 +%global gmp_provided 4.2.2 %endif -%if "%{gcc_version}" >= "4.3.3" -%define _cloog_minvers 0.15 +%if 0%{?suse11_1} +%global mpc_provided %{nil} +%global mpfr_provided 2.3.2 +%global gmp_provided 4.2.3 %endif -%if %{defined _cloog_minvers} -%{?fc11:BuildRequires: cloog-ppl-devel >= %_cloog_minvers} -%{?fc12:BuildRequires: cloog-ppl-devel >= %_cloog_minvers} -%{?fc13:BuildRequires: cloog-ppl-devel >= %_cloog_minvers} -%{?suse11_2:BuildRequires: cloog-devel >= %_cloog_minvers, ppl-devel} -%{?suse11_1:BuildRequires: cloog-devel >= %_cloog_minvers, ppl-devel} +%if 0%{?suse11_2} +%global mpc_provided 0.7 +%global mpfr_provided 2.4.1 +%global gmp_provided 4.3.1 +%endif + +%if 0%{?cygwin} +%global mpc_provided 0.8 +%global mpfr_provided 2.4.1 +%global gmp_provided 4.3.1 +%endif + +%if 0%{?mingw32} +%global mpc_provided 0.8.1 +%global mpfr_provided 2.4.1 +%global gmp_provided 4.3.2 %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" %endif + +%if "%{gcc_version}" >= "4.3.0" +%define gmp_required 4.1 +%define mpfr_required 2.3.1 %endif + +%if "%{gcc_version}" >= "4.3.3" +%define cloog_required 0.15 %endif -%if %{defined _mpfr_minvers} -# FIXME: This is an ugly cludge -%{?fc11:%global mpfr_provided 2.4.1} -%{?fc12:%global mpfr_provided 2.4.1} -%{?fc13:%global mpfr_provided 2.4.1} -%{?suse11_0:%global mpfr_provided 2.3.1} -%{?suse11_1:%global mpfr_provided 2.3.2} -%{?suse11_2:%global mpfr_provided 2.4.1} -%{?cygwin:%global mpfr_provided 2.4.1} -%{?mingw32:%global mpfr_provided %{nil}} +%if "%{gcc_version}" >= "4.4.0" +%define mpfr_required 2.3.2 +%endif -%if %{defined mpfr_provided} -%if "%{mpfr_provided}" < "%{_mpfr_minvers}" -%define _build_mpfr 1 +%if "%{gcc_version}" >= "4.5.0" +%define mpc_required 0.8 +%if %{with lto} +%define libelf_required 0.8.12 +%endif +%endif + +%if %{defined mpc_required} +%if "%{mpc_provided}" >= "%{mpc_required}" +%{?fedora:BuildRequires: libmpc-devel >= %{mpc_required}} +%{?suse:BuildRequires: mpc-devel >= %{mpc_required}} +%if "%{_build}" != "%{_host}" +BuildRequires: %{_host_rpmprefix}mpc-devel >= %{mpc_required} +%endif %else +%define _build_mpc 1 +%endif +%endif + +%if %{defined gmp_required} +%if "%{gmp_provided}" >= "%{gmp_required}" +BuildRequires: gmp-devel >= %{gmp_required} %if "%{_build}" != "%{_host}" -BuildRequires: %{_host_rpmprefix}mpfr-devel >= %{_mpfr_minvers} +BuildRequires: %{_host_rpmprefix}gmp-devel >= %{gmp_required} +%endif %else -BuildRequires: mpfr-devel >= %{_mpfr_minvers} +%define _build_gmp 1 %endif %endif + +%if %{defined libelf_required} +%if "%{libelf_provided}" >= "%{libelf_required}" +BuildRequires: libelf-devel >= %{libelf_required} +%if "%{_build}" != "%{_host}" +BuildRequires: %{_host_rpmprefix}libelf-devel >= %{libelf_required} +%endif %else -%define _build_mpfr 1 +%define _build_libelf 1 +%endif %endif + +%if %{defined cloog_required} +%{?fc11:BuildRequires: cloog-ppl-devel >= %cloog_required} +%{?fc12:BuildRequires: cloog-ppl-devel >= %cloog_required} +%{?fc13:BuildRequires: cloog-ppl-devel >= %cloog_required} +%{?suse11_2:BuildRequires: cloog-devel >= %cloog_required, ppl-devel} +%{?suse11_1:BuildRequires: cloog-devel >= %cloog_required, ppl-devel} +%endif + + +%if %{defined mpfr_required} +%if "%{mpfr_provided}" >= "%{mpfr_required}" +BuildRequires: mpfr-devel >= %{mpfr_required} +%if "%{_build}" != "%{_host}" +BuildRequires: %{_host_rpmprefix}mpfr-devel >= %{mpfr_required} +%endif +%else +%define _build_mpfr 1 +%endif %endif %if "%{_build}" != "%{_host}" @@ -148,10 +232,17 @@ BuildRequires: rtems-4.10-m32c-rtems4.10-binutils Requires: rtems-4.10-gcc-common Requires: rtems-4.10-m32c-rtems4.10-binutils Requires: rtems-4.10-m32c-rtems4.10-gcc-libgcc = %{gcc_rpmvers}-%{release} -Requires: rtems-4.10-m32c-rtems4.10-newlib = %{newlib_version}-7%{?dist} +Requires: rtems-4.10-m32c-rtems4.10-newlib = %{newlib_version}-8%{?dist} +%if "%{gcc_version}" >= "4.5.0" +BuildRequires: zlib-devel +%if "%{_build}" != "%{_host}" +BuildRequires: %{_host_rpmprefix}zlib-devel +%endif +%else +%endif -%define _gcclibdir %{_prefix}/lib +%global _gcclibdir %{_prefix}/lib %if "%{gcc_version}" == "4.4.3" Source0: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-core-%{gcc_pkgvers}.tar.bz2 @@ -165,14 +256,26 @@ Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gcc-core-4.4.2-rtems4.10-200 %if "%{newlib_version}" == "1.18.0" Source50: ftp://sources.redhat.com/pub/newlib/newlib-%{newlib_pkgvers}.tar.gz -Patch50: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/newlib-1.18.0-rtems4.10-20100310.diff +Patch50: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/newlib-1.18.0-rtems4.10-20100328.diff %endif %{?_without_sources:NoSource: 50} -%if "%{gcc_version}" >= "4.3.0" +%if 0%{?_build_mpfr} Source60: http://www.mpfr.org/mpfr-current/mpfr-%{mpfr_version}.tar.bz2 %endif +%if 0%{?_build_mpc} +Source61: http://www.multiprecision.org/mpc/download/mpc-%{mpc_version}.tar.gz +%endif + +%if 0%{?_build_gmp} +Source62: ftp://ftp.gnu.org/gnu/gmp/gmp-%{gmp_version}.tar.bz2 +%endif + +%if 0%{?_build_libelf} +Source63: http://www.mr511.de/software/libelf-%{libelf_version}.tar.gz +%endif + %description Cross gcc for m32c-rtems4.10. @@ -180,7 +283,9 @@ Cross gcc for m32c-rtems4.10. %setup -c -T -n %{name}-%{version} %setup -q -T -D -n %{name}-%{version} -a0 -%{?PATCH0:%patch0 -p0} +cd gcc-%{gcc_pkgvers} +%{?PATCH0:%patch0 -p1} +cd .. @@ -201,7 +306,28 @@ cd .. ln -s ../mpfr-%{mpfr_version} gcc-%{gcc_pkgvers}/mpfr %endif -echo "RTEMS gcc-%{gcc_version}-6%{?dist}/newlib-%{newlib_version}-7%{?dist}" > gcc-%{gcc_pkgvers}/gcc/DEV-PHASE +%if 0%{?_build_mpc} +%setup -q -T -D -n %{name}-%{version} -a61 +%{?PATCH61:%patch61 -p1} + # Build mpc one-tree style + ln -s ../mpc-%{mpc_version} gcc-%{gcc_pkgvers}/mpc +%endif + +%if 0%{?_build_gmp} +%setup -q -T -D -n %{name}-%{version} -a62 +%{?PATCH62:%patch62 -p1} + # Build gmp one-tree style + ln -s ../gmp-%{gmp_version} gcc-%{gcc_pkgvers}/gmp +%endif + +%if 0%{?_build_libelf} +%setup -q -T -D -n %{name}-%{version} -a63 +%{?PATCH63:%patch63 -p1} + # Build libelf one-tree style + ln -s ../libelf-%{libelf_version} gcc-%{gcc_pkgvers}/libelf +%endif + +echo "RTEMS gcc-%{gcc_version}-7%{?dist}/newlib-%{newlib_version}-8%{?dist}" > gcc-%{gcc_pkgvers}/gcc/DEV-PHASE # Fix timestamps @@ -242,6 +368,8 @@ echo "RTEMS gcc-%{gcc_version}-6%{?dist}/newlib-%{newlib_version}-7%{?dist}" > g --disable-win32-registry \ --enable-version-specific-runtime-libs \ --enable-threads \ + %{?with_lto:--enable-lto}%{!?with_lto:--disable-lto} \ + %{?with_plugin:--enable-plugin}%{!?with_plugin:--disable-plugin} \ --enable-newlib-io-c99-formats \ --enable-languages="$languages" $optargs @@ -308,6 +436,13 @@ echo "RTEMS gcc-%{gcc_version}-6%{?dist}/newlib-%{newlib_version}-7%{?dist}" > g rmdir ${RPM_BUILD_ROOT}%{_prefix}/m32c-rtems4.10/include/bits fi + # gcc >= 4.5.0: installs weird libstdc++ python bindings. +%if ! %{with pygdb} + if test -d ${RPM_BUILD_ROOT}%{_datadir}/gcc-%{gcc_version}/python; then + rm -rf ${RPM_BUILD_ROOT}%{_datadir}/gcc-%{gcc_version}/python/libstdcxx + fi +%endif + # Collect multilib subdirectories multilibs=`build/gcc/xgcc -Bbuild/gcc/ --print-multi-lib | sed -e 's,;.*$,,'` @@ -363,6 +498,8 @@ echo "RTEMS gcc-%{gcc_version}-6%{?dist}/newlib-%{newlib_version}-7%{?dist}" > g *jc1) ;; *jvgenmain) ;; */libgfortran*.*) echo "$i" >> build/files.gfortran ;; + %{!?with_pygdb:*/libstdc++*gdb.py*) rm ${RPM_BUILD_ROOT}/$i ;;} # ignore for now + %{?with_pygdb:*/libstdc++*gdb.py*) >> build/files.g++ ;;} */libstdc++.*) echo "$i" >> build/files.g++ ;; */libsupc++.*) echo "$i" >> build/files.g++ ;; *) echo "$i" >> build/files.gcc ;; @@ -459,7 +596,7 @@ sed -e 's,^[ ]*/usr/lib/rpm/find-debuginfo.sh,./find-debuginfo.sh,' \ # Group: Development/Tools # Version: %{gcc_rpmvers} # Requires: rtems-4.10-m32c-rtems4.10-binutils -# Requires: rtems-4.10-m32c-rtems4.10-newlib = %{newlib_version}-7%{?dist} +# Requires: rtems-4.10-m32c-rtems4.10-newlib = %{newlib_version}-8%{?dist} # License: GPL # %if %build_infos @@ -477,7 +614,7 @@ Summary: libgcc for m32c-rtems4.10-gcc Group: Development/Tools Version: %{gcc_rpmvers} %{?_with_noarch_subpackages:BuildArch: noarch} -Requires: rtems-4.10-m32c-rtems4.10-newlib = %{newlib_version}-7%{?dist} +Requires: rtems-4.10-m32c-rtems4.10-newlib = %{newlib_version}-8%{?dist} License: GPL %description -n rtems-4.10-m32c-rtems4.10-gcc-libgcc @@ -507,7 +644,10 @@ libgcc m32c-rtems4.10-gcc. %dir %{_libexecdir}/gcc/m32c-rtems4.10/%{gcc_version} %{_libexecdir}/gcc/m32c-rtems4.10/%{gcc_version}/cc1%{_exeext} %{_libexecdir}/gcc/m32c-rtems4.10/%{gcc_version}/collect2%{_exeext} - +%if "%{gcc_version}" >= "4.5.0" +%{?with_lto:%{_libexecdir}/gcc/m32c-rtems4.10/%{gcc_version}/lto%{_exeext}} +%{_libexecdir}/gcc/m32c-rtems4.10/%{gcc_version}/lto-wrapper%{_exeext} +%endif %files -n rtems-4.10-m32c-rtems4.10-gcc-libgcc -f build/files.gcc %defattr(-,root,root) @@ -519,12 +659,8 @@ libgcc m32c-rtems4.10-gcc. %dir %{_gcclibdir}/gcc/m32c-rtems4.10/%{gcc_version}/include %if "%{gcc_version}" > "4.0.3" -%if "m32c-rtems4.10" != "bfin-rtems4.10" -%if "m32c-rtems4.10" != "avr-rtems4.10" %dir %{_gcclibdir}/gcc/m32c-rtems4.10/%{gcc_version}/include/ssp %endif -%endif -%endif %if "%{gcc_version}" >= "4.3.0" %{_gcclibdir}/gcc/m32c-rtems4.10/%{gcc_version}/include-fixed @@ -592,7 +728,7 @@ Summary: C Library (newlib) for m32c-rtems4.10 Group: Development/Tools License: Distributable Version: %{newlib_version} -Release: 7%{?dist} +Release: 8%{?dist} %{?_with_noarch_subpackages:BuildArch: noarch} Requires: rtems-4.10-newlib-common @@ -613,7 +749,7 @@ Newlib C Library for m32c-rtems4.10. Summary: Base package for RTEMS newlib C Library Group: Development/Tools Version: %{newlib_version} -Release: 7%{?dist} +Release: 8%{?dist} %{?_with_noarch_subpackages:BuildArch: noarch} License: Distributable diff --git a/contrib/crossrpms/rtems4.10/m32c/rtems-4.10-m32c-rtems4.10-gdb.spec b/contrib/crossrpms/rtems4.10/m32c/rtems-4.10-m32c-rtems4.10-gdb.spec index abc2072ee5..21312c5fd7 100644 --- a/contrib/crossrpms/rtems4.10/m32c/rtems-4.10-m32c-rtems4.10-gdb.spec +++ b/contrib/crossrpms/rtems4.10/m32c/rtems-4.10-m32c-rtems4.10-gdb.spec @@ -52,7 +52,7 @@ Name: rtems-4.10-m32c-rtems4.10-gdb Summary: Gdb for target m32c-rtems4.10 Group: Development/Tools Version: %{gdb_rpmvers} -Release: 1%{?dist} +Release: 2%{?dist} License: GPL/LGPL URL: http://sources.redhat.com/gdb BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -60,33 +60,9 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: %{_host_rpmprefix}gcc %define build_sim --enable-sim -%if "%{_build}" != "%{_host}" -# psim doesn't support Cdn-X -%if "m32c-rtems4.10" == "powerpc-rtems4.10" -%define build_sim --disable-sim -%endif -%endif -%ifos mingw mingw32 -# Mingw lacks functions required by the simulator -%if "m32c-rtems4.10" == "sparc-rtems4.10" +# Mingw lacks functions required by the m32c simulator %define build_sim --disable-sim -%endif -%if "m32c-rtems4.10" == "h8300-rtems4.10" -%define build_sim --disable-sim -%endif -%if "%{gdb_version}" >= "6.8.50" -%if "m32c-rtems4.10" == "m32c-rtems4.10" -%define build_sim --disable-sim -%endif -%endif -%if "m32c-rtems4.10" == "lm32-rtems4.10" -%define build_sim --disable-sim -%endif -%if "m32c-rtems4.10" == "mipstx39-rtems4.10" -%define build_sim --disable-sim -%endif -%endif %if "%{gdb_version}" >= "6.6" # suse diff --git a/contrib/crossrpms/rtems4.10/m32r/rtems-4.10-m32r-rtems4.10-gcc.spec b/contrib/crossrpms/rtems4.10/m32r/rtems-4.10-m32r-rtems4.10-gcc.spec index 005130e404..a8899f0320 100644 --- a/contrib/crossrpms/rtems4.10/m32r/rtems-4.10-m32r-rtems4.10-gcc.spec +++ b/contrib/crossrpms/rtems4.10/m32r/rtems-4.10-m32r-rtems4.10-gcc.spec @@ -58,7 +58,7 @@ Summary: m32r-rtems4.10 gcc Group: Development/Tools Version: %{gcc_rpmvers} -Release: 6%{?dist} +Release: 7%{?dist} License: GPL URL: http://gcc.gnu.org BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -67,70 +67,154 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: %{_host_rpmprefix}gcc -%if "%{gcc_version}" >= "4.3.0" -%define _gmp_minvers 4.1 -%else -%if "%{gcc_version}" >= "4.2.0" +# FIXME: Disable lto for now, to avoid dependencies on libelf +%bcond_with lto + +# FIXME: Disamble python gdb scripts +# ATM, no idea how to package them +%bcond_with pygdb + +# FIXME: Disable GCC-plugin +# Bug in gcc-4.5-20100318, doesn't build them on x86_84 hosts. +%bcond_with plugin + +# versions of libraries, we conditionally bundle if necessary +%global mpc_version 0.8.1 +%global mpfr_version 2.4.1 +%global gmp_version 4.3.2 +%global libelf_version 0.8.13 + +# versions of libraries these distros are known to ship +%if 0%{?fc13} +%global mpc_provided 0.8.1 +%global mpfr_provided 2.4.1 +%global gmp_provided 4.3.1 %endif + +%if 0%{?fc12} +%global mpc_provided 0.8 +%global mpfr_provided 2.4.1 +%global gmp_provided 4.3.1 %endif -%if %{defined _gmp_minvers} -BuildRequires: gmp-devel >= %{_gmp_minvers} -%if "%{_build}" != "%{_host}" -BuildRequires: %{_host_rpmprefix}gmp-devel >= %{_gmp_minvers} +%if 0%{?fc11} +%global mpc_provided %{nil} +%global mpfr_provided 2.4.1 +%global gmp_provided 4.2.4 +%endif + +%if 0%{?rhel5} +%global mpc_provided %{nil} +%global mpfr_provided %{nil} +%global gmp_provided 4.1.4 %endif + +%if 0%{?suse11_0} +%global mpc_provided %{nil} +%global mpfr_provided 2.3.1 +%global gmp_provided 4.2.2 %endif -%if "%{gcc_version}" >= "4.3.3" -%define _cloog_minvers 0.15 +%if 0%{?suse11_1} +%global mpc_provided %{nil} +%global mpfr_provided 2.3.2 +%global gmp_provided 4.2.3 %endif -%if %{defined _cloog_minvers} -%{?fc11:BuildRequires: cloog-ppl-devel >= %_cloog_minvers} -%{?fc12:BuildRequires: cloog-ppl-devel >= %_cloog_minvers} -%{?fc13:BuildRequires: cloog-ppl-devel >= %_cloog_minvers} -%{?suse11_2:BuildRequires: cloog-devel >= %_cloog_minvers, ppl-devel} -%{?suse11_1:BuildRequires: cloog-devel >= %_cloog_minvers, ppl-devel} +%if 0%{?suse11_2} +%global mpc_provided 0.7 +%global mpfr_provided 2.4.1 +%global gmp_provided 4.3.1 +%endif + +%if 0%{?cygwin} +%global mpc_provided 0.8 +%global mpfr_provided 2.4.1 +%global gmp_provided 4.3.1 +%endif + +%if 0%{?mingw32} +%global mpc_provided 0.8.1 +%global mpfr_provided 2.4.1 +%global gmp_provided 4.3.2 %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" %endif + +%if "%{gcc_version}" >= "4.3.0" +%define gmp_required 4.1 +%define mpfr_required 2.3.1 %endif + +%if "%{gcc_version}" >= "4.3.3" +%define cloog_required 0.15 %endif -%if %{defined _mpfr_minvers} -# FIXME: This is an ugly cludge -%{?fc11:%global mpfr_provided 2.4.1} -%{?fc12:%global mpfr_provided 2.4.1} -%{?fc13:%global mpfr_provided 2.4.1} -%{?suse11_0:%global mpfr_provided 2.3.1} -%{?suse11_1:%global mpfr_provided 2.3.2} -%{?suse11_2:%global mpfr_provided 2.4.1} -%{?cygwin:%global mpfr_provided 2.4.1} -%{?mingw32:%global mpfr_provided %{nil}} +%if "%{gcc_version}" >= "4.4.0" +%define mpfr_required 2.3.2 +%endif -%if %{defined mpfr_provided} -%if "%{mpfr_provided}" < "%{_mpfr_minvers}" -%define _build_mpfr 1 +%if "%{gcc_version}" >= "4.5.0" +%define mpc_required 0.8 +%if %{with lto} +%define libelf_required 0.8.12 +%endif +%endif + +%if %{defined mpc_required} +%if "%{mpc_provided}" >= "%{mpc_required}" +%{?fedora:BuildRequires: libmpc-devel >= %{mpc_required}} +%{?suse:BuildRequires: mpc-devel >= %{mpc_required}} +%if "%{_build}" != "%{_host}" +BuildRequires: %{_host_rpmprefix}mpc-devel >= %{mpc_required} +%endif %else +%define _build_mpc 1 +%endif +%endif + +%if %{defined gmp_required} +%if "%{gmp_provided}" >= "%{gmp_required}" +BuildRequires: gmp-devel >= %{gmp_required} %if "%{_build}" != "%{_host}" -BuildRequires: %{_host_rpmprefix}mpfr-devel >= %{_mpfr_minvers} +BuildRequires: %{_host_rpmprefix}gmp-devel >= %{gmp_required} +%endif %else -BuildRequires: mpfr-devel >= %{_mpfr_minvers} +%define _build_gmp 1 %endif %endif + +%if %{defined libelf_required} +%if "%{libelf_provided}" >= "%{libelf_required}" +BuildRequires: libelf-devel >= %{libelf_required} +%if "%{_build}" != "%{_host}" +BuildRequires: %{_host_rpmprefix}libelf-devel >= %{libelf_required} +%endif %else -%define _build_mpfr 1 +%define _build_libelf 1 +%endif %endif + +%if %{defined cloog_required} +%{?fc11:BuildRequires: cloog-ppl-devel >= %cloog_required} +%{?fc12:BuildRequires: cloog-ppl-devel >= %cloog_required} +%{?fc13:BuildRequires: cloog-ppl-devel >= %cloog_required} +%{?suse11_2:BuildRequires: cloog-devel >= %cloog_required, ppl-devel} +%{?suse11_1:BuildRequires: cloog-devel >= %cloog_required, ppl-devel} +%endif + + +%if %{defined mpfr_required} +%if "%{mpfr_provided}" >= "%{mpfr_required}" +BuildRequires: mpfr-devel >= %{mpfr_required} +%if "%{_build}" != "%{_host}" +BuildRequires: %{_host_rpmprefix}mpfr-devel >= %{mpfr_required} +%endif +%else +%define _build_mpfr 1 +%endif %endif %if "%{_build}" != "%{_host}" @@ -148,10 +232,17 @@ BuildRequires: rtems-4.10-m32r-rtems4.10-binutils Requires: rtems-4.10-gcc-common Requires: rtems-4.10-m32r-rtems4.10-binutils Requires: rtems-4.10-m32r-rtems4.10-gcc-libgcc = %{gcc_rpmvers}-%{release} -Requires: rtems-4.10-m32r-rtems4.10-newlib = %{newlib_version}-7%{?dist} +Requires: rtems-4.10-m32r-rtems4.10-newlib = %{newlib_version}-8%{?dist} +%if "%{gcc_version}" >= "4.5.0" +BuildRequires: zlib-devel +%if "%{_build}" != "%{_host}" +BuildRequires: %{_host_rpmprefix}zlib-devel +%endif +%else +%endif -%define _gcclibdir %{_prefix}/lib +%global _gcclibdir %{_prefix}/lib %if "%{gcc_version}" == "4.4.3" Source0: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-core-%{gcc_pkgvers}.tar.bz2 @@ -165,14 +256,26 @@ Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gcc-core-4.4.2-rtems4.10-200 %if "%{newlib_version}" == "1.18.0" Source50: ftp://sources.redhat.com/pub/newlib/newlib-%{newlib_pkgvers}.tar.gz -Patch50: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/newlib-1.18.0-rtems4.10-20100310.diff +Patch50: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/newlib-1.18.0-rtems4.10-20100328.diff %endif %{?_without_sources:NoSource: 50} -%if "%{gcc_version}" >= "4.3.0" +%if 0%{?_build_mpfr} Source60: http://www.mpfr.org/mpfr-current/mpfr-%{mpfr_version}.tar.bz2 %endif +%if 0%{?_build_mpc} +Source61: http://www.multiprecision.org/mpc/download/mpc-%{mpc_version}.tar.gz +%endif + +%if 0%{?_build_gmp} +Source62: ftp://ftp.gnu.org/gnu/gmp/gmp-%{gmp_version}.tar.bz2 +%endif + +%if 0%{?_build_libelf} +Source63: http://www.mr511.de/software/libelf-%{libelf_version}.tar.gz +%endif + %description Cross gcc for m32r-rtems4.10. @@ -180,7 +283,9 @@ Cross gcc for m32r-rtems4.10. %setup -c -T -n %{name}-%{version} %setup -q -T -D -n %{name}-%{version} -a0 -%{?PATCH0:%patch0 -p0} +cd gcc-%{gcc_pkgvers} +%{?PATCH0:%patch0 -p1} +cd .. @@ -201,7 +306,28 @@ cd .. ln -s ../mpfr-%{mpfr_version} gcc-%{gcc_pkgvers}/mpfr %endif -echo "RTEMS gcc-%{gcc_version}-6%{?dist}/newlib-%{newlib_version}-7%{?dist}" > gcc-%{gcc_pkgvers}/gcc/DEV-PHASE +%if 0%{?_build_mpc} +%setup -q -T -D -n %{name}-%{version} -a61 +%{?PATCH61:%patch61 -p1} + # Build mpc one-tree style + ln -s ../mpc-%{mpc_version} gcc-%{gcc_pkgvers}/mpc +%endif + +%if 0%{?_build_gmp} +%setup -q -T -D -n %{name}-%{version} -a62 +%{?PATCH62:%patch62 -p1} + # Build gmp one-tree style + ln -s ../gmp-%{gmp_version} gcc-%{gcc_pkgvers}/gmp +%endif + +%if 0%{?_build_libelf} +%setup -q -T -D -n %{name}-%{version} -a63 +%{?PATCH63:%patch63 -p1} + # Build libelf one-tree style + ln -s ../libelf-%{libelf_version} gcc-%{gcc_pkgvers}/libelf +%endif + +echo "RTEMS gcc-%{gcc_version}-7%{?dist}/newlib-%{newlib_version}-8%{?dist}" > gcc-%{gcc_pkgvers}/gcc/DEV-PHASE # Fix timestamps @@ -242,6 +368,8 @@ echo "RTEMS gcc-%{gcc_version}-6%{?dist}/newlib-%{newlib_version}-7%{?dist}" > g --disable-win32-registry \ --enable-version-specific-runtime-libs \ --enable-threads \ + %{?with_lto:--enable-lto}%{!?with_lto:--disable-lto} \ + %{?with_plugin:--enable-plugin}%{!?with_plugin:--disable-plugin} \ --enable-newlib-io-c99-formats \ --enable-languages="$languages" $optargs @@ -308,6 +436,13 @@ echo "RTEMS gcc-%{gcc_version}-6%{?dist}/newlib-%{newlib_version}-7%{?dist}" > g rmdir ${RPM_BUILD_ROOT}%{_prefix}/m32r-rtems4.10/include/bits fi + # gcc >= 4.5.0: installs weird libstdc++ python bindings. +%if ! %{with pygdb} + if test -d ${RPM_BUILD_ROOT}%{_datadir}/gcc-%{gcc_version}/python; then + rm -rf ${RPM_BUILD_ROOT}%{_datadir}/gcc-%{gcc_version}/python/libstdcxx + fi +%endif + # Collect multilib subdirectories multilibs=`build/gcc/xgcc -Bbuild/gcc/ --print-multi-lib | sed -e 's,;.*$,,'` @@ -363,6 +498,8 @@ echo "RTEMS gcc-%{gcc_version}-6%{?dist}/newlib-%{newlib_version}-7%{?dist}" > g *jc1) ;; *jvgenmain) ;; */libgfortran*.*) echo "$i" >> build/files.gfortran ;; + %{!?with_pygdb:*/libstdc++*gdb.py*) rm ${RPM_BUILD_ROOT}/$i ;;} # ignore for now + %{?with_pygdb:*/libstdc++*gdb.py*) >> build/files.g++ ;;} */libstdc++.*) echo "$i" >> build/files.g++ ;; */libsupc++.*) echo "$i" >> build/files.g++ ;; *) echo "$i" >> build/files.gcc ;; @@ -459,7 +596,7 @@ sed -e 's,^[ ]*/usr/lib/rpm/find-debuginfo.sh,./find-debuginfo.sh,' \ # Group: Development/Tools # Version: %{gcc_rpmvers} # Requires: rtems-4.10-m32r-rtems4.10-binutils -# Requires: rtems-4.10-m32r-rtems4.10-newlib = %{newlib_version}-7%{?dist} +# Requires: rtems-4.10-m32r-rtems4.10-newlib = %{newlib_version}-8%{?dist} # License: GPL # %if %build_infos @@ -477,7 +614,7 @@ Summary: libgcc for m32r-rtems4.10-gcc Group: Development/Tools Version: %{gcc_rpmvers} %{?_with_noarch_subpackages:BuildArch: noarch} -Requires: rtems-4.10-m32r-rtems4.10-newlib = %{newlib_version}-7%{?dist} +Requires: rtems-4.10-m32r-rtems4.10-newlib = %{newlib_version}-8%{?dist} License: GPL %description -n rtems-4.10-m32r-rtems4.10-gcc-libgcc @@ -507,7 +644,10 @@ libgcc m32r-rtems4.10-gcc. %dir %{_libexecdir}/gcc/m32r-rtems4.10/%{gcc_version} %{_libexecdir}/gcc/m32r-rtems4.10/%{gcc_version}/cc1%{_exeext} %{_libexecdir}/gcc/m32r-rtems4.10/%{gcc_version}/collect2%{_exeext} - +%if "%{gcc_version}" >= "4.5.0" +%{?with_lto:%{_libexecdir}/gcc/m32r-rtems4.10/%{gcc_version}/lto%{_exeext}} +%{_libexecdir}/gcc/m32r-rtems4.10/%{gcc_version}/lto-wrapper%{_exeext} +%endif %files -n rtems-4.10-m32r-rtems4.10-gcc-libgcc -f build/files.gcc %defattr(-,root,root) @@ -519,12 +659,8 @@ libgcc m32r-rtems4.10-gcc. %dir %{_gcclibdir}/gcc/m32r-rtems4.10/%{gcc_version}/include %if "%{gcc_version}" > "4.0.3" -%if "m32r-rtems4.10" != "bfin-rtems4.10" -%if "m32r-rtems4.10" != "avr-rtems4.10" %dir %{_gcclibdir}/gcc/m32r-rtems4.10/%{gcc_version}/include/ssp %endif -%endif -%endif %if "%{gcc_version}" >= "4.3.0" %{_gcclibdir}/gcc/m32r-rtems4.10/%{gcc_version}/include-fixed @@ -592,7 +728,7 @@ Summary: C Library (newlib) for m32r-rtems4.10 Group: Development/Tools License: Distributable Version: %{newlib_version} -Release: 7%{?dist} +Release: 8%{?dist} %{?_with_noarch_subpackages:BuildArch: noarch} Requires: rtems-4.10-newlib-common @@ -613,7 +749,7 @@ Newlib C Library for m32r-rtems4.10. Summary: Base package for RTEMS newlib C Library Group: Development/Tools Version: %{newlib_version} -Release: 7%{?dist} +Release: 8%{?dist} %{?_with_noarch_subpackages:BuildArch: noarch} License: Distributable diff --git a/contrib/crossrpms/rtems4.10/m32r/rtems-4.10-m32r-rtems4.10-gdb.spec b/contrib/crossrpms/rtems4.10/m32r/rtems-4.10-m32r-rtems4.10-gdb.spec index b7441d2bb0..02a34702ea 100644 --- a/contrib/crossrpms/rtems4.10/m32r/rtems-4.10-m32r-rtems4.10-gdb.spec +++ b/contrib/crossrpms/rtems4.10/m32r/rtems-4.10-m32r-rtems4.10-gdb.spec @@ -52,7 +52,7 @@ Name: rtems-4.10-m32r-rtems4.10-gdb Summary: Gdb for target m32r-rtems4.10 Group: Development/Tools Version: %{gdb_rpmvers} -Release: 1%{?dist} +Release: 2%{?dist} License: GPL/LGPL URL: http://sources.redhat.com/gdb BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -60,33 +60,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: %{_host_rpmprefix}gcc %define build_sim --enable-sim -%if "%{_build}" != "%{_host}" -# psim doesn't support Cdn-X -%if "m32r-rtems4.10" == "powerpc-rtems4.10" -%define build_sim --disable-sim -%endif -%endif -%ifos mingw mingw32 -# Mingw lacks functions required by the simulator -%if "m32r-rtems4.10" == "sparc-rtems4.10" -%define build_sim --disable-sim -%endif -%if "m32r-rtems4.10" == "h8300-rtems4.10" -%define build_sim --disable-sim -%endif -%if "%{gdb_version}" >= "6.8.50" -%if "m32r-rtems4.10" == "m32c-rtems4.10" -%define build_sim --disable-sim -%endif -%endif -%if "m32r-rtems4.10" == "lm32-rtems4.10" -%define build_sim --disable-sim -%endif -%if "m32r-rtems4.10" == "mipstx39-rtems4.10" -%define build_sim --disable-sim -%endif -%endif %if "%{gdb_version}" >= "6.6" # suse diff --git a/contrib/crossrpms/rtems4.10/m68k/rtems-4.10-m68k-rtems4.10-gcc.spec b/contrib/crossrpms/rtems4.10/m68k/rtems-4.10-m68k-rtems4.10-gcc.spec index 09d996419d..336aef40eb 100644 --- a/contrib/crossrpms/rtems4.10/m68k/rtems-4.10-m68k-rtems4.10-gcc.spec +++ b/contrib/crossrpms/rtems4.10/m68k/rtems-4.10-m68k-rtems4.10-gcc.spec @@ -58,7 +58,7 @@ Summary: m68k-rtems4.10 gcc Group: Development/Tools Version: %{gcc_rpmvers} -Release: 6%{?dist} +Release: 7%{?dist} License: GPL URL: http://gcc.gnu.org BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -67,70 +67,154 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: %{_host_rpmprefix}gcc -%if "%{gcc_version}" >= "4.3.0" -%define _gmp_minvers 4.1 -%else -%if "%{gcc_version}" >= "4.2.0" +# FIXME: Disable lto for now, to avoid dependencies on libelf +%bcond_with lto + +# FIXME: Disamble python gdb scripts +# ATM, no idea how to package them +%bcond_with pygdb + +# FIXME: Disable GCC-plugin +# Bug in gcc-4.5-20100318, doesn't build them on x86_84 hosts. +%bcond_with plugin + +# versions of libraries, we conditionally bundle if necessary +%global mpc_version 0.8.1 +%global mpfr_version 2.4.1 +%global gmp_version 4.3.2 +%global libelf_version 0.8.13 + +# versions of libraries these distros are known to ship +%if 0%{?fc13} +%global mpc_provided 0.8.1 +%global mpfr_provided 2.4.1 +%global gmp_provided 4.3.1 %endif + +%if 0%{?fc12} +%global mpc_provided 0.8 +%global mpfr_provided 2.4.1 +%global gmp_provided 4.3.1 %endif -%if %{defined _gmp_minvers} -BuildRequires: gmp-devel >= %{_gmp_minvers} -%if "%{_build}" != "%{_host}" -BuildRequires: %{_host_rpmprefix}gmp-devel >= %{_gmp_minvers} +%if 0%{?fc11} +%global mpc_provided %{nil} +%global mpfr_provided 2.4.1 +%global gmp_provided 4.2.4 +%endif + +%if 0%{?rhel5} +%global mpc_provided %{nil} +%global mpfr_provided %{nil} +%global gmp_provided 4.1.4 %endif + +%if 0%{?suse11_0} +%global mpc_provided %{nil} +%global mpfr_provided 2.3.1 +%global gmp_provided 4.2.2 %endif -%if "%{gcc_version}" >= "4.3.3" -%define _cloog_minvers 0.15 +%if 0%{?suse11_1} +%global mpc_provided %{nil} +%global mpfr_provided 2.3.2 +%global gmp_provided 4.2.3 %endif -%if %{defined _cloog_minvers} -%{?fc11:BuildRequires: cloog-ppl-devel >= %_cloog_minvers} -%{?fc12:BuildRequires: cloog-ppl-devel >= %_cloog_minvers} -%{?fc13:BuildRequires: cloog-ppl-devel >= %_cloog_minvers} -%{?suse11_2:BuildRequires: cloog-devel >= %_cloog_minvers, ppl-devel} -%{?suse11_1:BuildRequires: cloog-devel >= %_cloog_minvers, ppl-devel} +%if 0%{?suse11_2} +%global mpc_provided 0.7 +%global mpfr_provided 2.4.1 +%global gmp_provided 4.3.1 +%endif + +%if 0%{?cygwin} +%global mpc_provided 0.8 +%global mpfr_provided 2.4.1 +%global gmp_provided 4.3.1 +%endif + +%if 0%{?mingw32} +%global mpc_provided 0.8.1 +%global mpfr_provided 2.4.1 +%global gmp_provided 4.3.2 %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" %endif + +%if "%{gcc_version}" >= "4.3.0" +%define gmp_required 4.1 +%define mpfr_required 2.3.1 %endif + +%if "%{gcc_version}" >= "4.3.3" +%define cloog_required 0.15 %endif -%if %{defined _mpfr_minvers} -# FIXME: This is an ugly cludge -%{?fc11:%global mpfr_provided 2.4.1} -%{?fc12:%global mpfr_provided 2.4.1} -%{?fc13:%global mpfr_provided 2.4.1} -%{?suse11_0:%global mpfr_provided 2.3.1} -%{?suse11_1:%global mpfr_provided 2.3.2} -%{?suse11_2:%global mpfr_provided 2.4.1} -%{?cygwin:%global mpfr_provided 2.4.1} -%{?mingw32:%global mpfr_provided %{nil}} +%if "%{gcc_version}" >= "4.4.0" +%define mpfr_required 2.3.2 +%endif -%if %{defined mpfr_provided} -%if "%{mpfr_provided}" < "%{_mpfr_minvers}" -%define _build_mpfr 1 +%if "%{gcc_version}" >= "4.5.0" +%define mpc_required 0.8 +%if %{with lto} +%define libelf_required 0.8.12 +%endif +%endif + +%if %{defined mpc_required} +%if "%{mpc_provided}" >= "%{mpc_required}" +%{?fedora:BuildRequires: libmpc-devel >= %{mpc_required}} +%{?suse:BuildRequires: mpc-devel >= %{mpc_required}} +%if "%{_build}" != "%{_host}" +BuildRequires: %{_host_rpmprefix}mpc-devel >= %{mpc_required} +%endif +%else +%define _build_mpc 1 +%endif +%endif + +%if %{defined gmp_required} +%if "%{gmp_provided}" >= "%{gmp_required}" +BuildRequires: gmp-devel >= %{gmp_required} +%if "%{_build}" != "%{_host}" +BuildRequires: %{_host_rpmprefix}gmp-devel >= %{gmp_required} +%endif %else +%define _build_gmp 1 +%endif +%endif + +%if %{defined libelf_required} +%if "%{libelf_provided}" >= "%{libelf_required}" +BuildRequires: libelf-devel >= %{libelf_required} %if "%{_build}" != "%{_host}" -BuildRequires: %{_host_rpmprefix}mpfr-devel >= %{_mpfr_minvers} +BuildRequires: %{_host_rpmprefix}libelf-devel >= %{libelf_required} +%endif %else -BuildRequires: mpfr-devel >= %{_mpfr_minvers} +%define _build_libelf 1 +%endif %endif + + +%if %{defined cloog_required} +%{?fc11:BuildRequires: cloog-ppl-devel >= %cloog_required} +%{?fc12:BuildRequires: cloog-ppl-devel >= %cloog_required} +%{?fc13:BuildRequires: cloog-ppl-devel >= %cloog_required} +%{?suse11_2:BuildRequires: cloog-devel >= %cloog_required, ppl-devel} +%{?suse11_1:BuildRequires: cloog-devel >= %cloog_required, ppl-devel} +%endif + + +%if %{defined mpfr_required} +%if "%{mpfr_provided}" >= "%{mpfr_required}" +BuildRequires: mpfr-devel >= %{mpfr_required} +%if "%{_build}" != "%{_host}" +BuildRequires: %{_host_rpmprefix}mpfr-devel >= %{mpfr_required} %endif %else %define _build_mpfr 1 %endif - %endif %if "%{_build}" != "%{_host}" @@ -148,10 +232,17 @@ BuildRequires: rtems-4.10-m68k-rtems4.10-binutils Requires: rtems-4.10-gcc-common Requires: rtems-4.10-m68k-rtems4.10-binutils Requires: rtems-4.10-m68k-rtems4.10-gcc-libgcc = %{gcc_rpmvers}-%{release} -Requires: rtems-4.10-m68k-rtems4.10-newlib = %{newlib_version}-7%{?dist} +Requires: rtems-4.10-m68k-rtems4.10-newlib = %{newlib_version}-8%{?dist} +%if "%{gcc_version}" >= "4.5.0" +BuildRequires: zlib-devel +%if "%{_build}" != "%{_host}" +BuildRequires: %{_host_rpmprefix}zlib-devel +%endif +%else +%endif -%define _gcclibdir %{_prefix}/lib +%global _gcclibdir %{_prefix}/lib %if "%{gcc_version}" == "4.4.3" Source0: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-core-%{gcc_pkgvers}.tar.bz2 @@ -173,14 +264,26 @@ Source1: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-g++-%{gcc_pkgve %if "%{newlib_version}" == "1.18.0" Source50: ftp://sources.redhat.com/pub/newlib/newlib-%{newlib_pkgvers}.tar.gz -Patch50: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/newlib-1.18.0-rtems4.10-20100310.diff +Patch50: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/newlib-1.18.0-rtems4.10-20100328.diff %endif %{?_without_sources:NoSource: 50} -%if "%{gcc_version}" >= "4.3.0" +%if 0%{?_build_mpfr} Source60: http://www.mpfr.org/mpfr-current/mpfr-%{mpfr_version}.tar.bz2 %endif +%if 0%{?_build_mpc} +Source61: http://www.multiprecision.org/mpc/download/mpc-%{mpc_version}.tar.gz +%endif + +%if 0%{?_build_gmp} +Source62: ftp://ftp.gnu.org/gnu/gmp/gmp-%{gmp_version}.tar.bz2 +%endif + +%if 0%{?_build_libelf} +Source63: http://www.mr511.de/software/libelf-%{libelf_version}.tar.gz +%endif + %description Cross gcc for m68k-rtems4.10. @@ -188,10 +291,14 @@ Cross gcc for m68k-rtems4.10. %setup -c -T -n %{name}-%{version} %setup -q -T -D -n %{name}-%{version} -a0 -%{?PATCH0:%patch0 -p0} +cd gcc-%{gcc_pkgvers} +%{?PATCH0:%patch0 -p1} +cd .. %setup -q -T -D -n %{name}-%{version} -a1 -%{?PATCH1:%patch1 -p0} +cd gcc-%{gcc_pkgvers} +%{?PATCH1:%patch1 -p1} +cd .. @@ -211,7 +318,28 @@ cd .. ln -s ../mpfr-%{mpfr_version} gcc-%{gcc_pkgvers}/mpfr %endif -echo "RTEMS gcc-%{gcc_version}-6%{?dist}/newlib-%{newlib_version}-7%{?dist}" > gcc-%{gcc_pkgvers}/gcc/DEV-PHASE +%if 0%{?_build_mpc} +%setup -q -T -D -n %{name}-%{version} -a61 +%{?PATCH61:%patch61 -p1} + # Build mpc one-tree style + ln -s ../mpc-%{mpc_version} gcc-%{gcc_pkgvers}/mpc +%endif + +%if 0%{?_build_gmp} +%setup -q -T -D -n %{name}-%{version} -a62 +%{?PATCH62:%patch62 -p1} + # Build gmp one-tree style + ln -s ../gmp-%{gmp_version} gcc-%{gcc_pkgvers}/gmp +%endif + +%if 0%{?_build_libelf} +%setup -q -T -D -n %{name}-%{version} -a63 +%{?PATCH63:%patch63 -p1} + # Build libelf one-tree style + ln -s ../libelf-%{libelf_version} gcc-%{gcc_pkgvers}/libelf +%endif + +echo "RTEMS gcc-%{gcc_version}-7%{?dist}/newlib-%{newlib_version}-8%{?dist}" > gcc-%{gcc_pkgvers}/gcc/DEV-PHASE # Fix timestamps @@ -253,6 +381,8 @@ echo "RTEMS gcc-%{gcc_version}-6%{?dist}/newlib-%{newlib_version}-7%{?dist}" > g --disable-win32-registry \ --enable-version-specific-runtime-libs \ --enable-threads \ + %{?with_lto:--enable-lto}%{!?with_lto:--disable-lto} \ + %{?with_plugin:--enable-plugin}%{!?with_plugin:--disable-plugin} \ --enable-newlib-io-c99-formats \ --enable-languages="$languages" $optargs @@ -319,6 +449,13 @@ echo "RTEMS gcc-%{gcc_version}-6%{?dist}/newlib-%{newlib_version}-7%{?dist}" > g rmdir ${RPM_BUILD_ROOT}%{_prefix}/m68k-rtems4.10/include/bits fi + # gcc >= 4.5.0: installs weird libstdc++ python bindings. +%if ! %{with pygdb} + if test -d ${RPM_BUILD_ROOT}%{_datadir}/gcc-%{gcc_version}/python; then + rm -rf ${RPM_BUILD_ROOT}%{_datadir}/gcc-%{gcc_version}/python/libstdcxx + fi +%endif + # Collect multilib subdirectories multilibs=`build/gcc/xgcc -Bbuild/gcc/ --print-multi-lib | sed -e 's,;.*$,,'` @@ -374,6 +511,8 @@ echo "RTEMS gcc-%{gcc_version}-6%{?dist}/newlib-%{newlib_version}-7%{?dist}" > g *jc1) ;; *jvgenmain) ;; */libgfortran*.*) echo "$i" >> build/files.gfortran ;; + %{!?with_pygdb:*/libstdc++*gdb.py*) rm ${RPM_BUILD_ROOT}/$i ;;} # ignore for now + %{?with_pygdb:*/libstdc++*gdb.py*) >> build/files.g++ ;;} */libstdc++.*) echo "$i" >> build/files.g++ ;; */libsupc++.*) echo "$i" >> build/files.g++ ;; *) echo "$i" >> build/files.gcc ;; @@ -470,7 +609,7 @@ sed -e 's,^[ ]*/usr/lib/rpm/find-debuginfo.sh,./find-debuginfo.sh,' \ # Group: Development/Tools # Version: %{gcc_rpmvers} # Requires: rtems-4.10-m68k-rtems4.10-binutils -# Requires: rtems-4.10-m68k-rtems4.10-newlib = %{newlib_version}-7%{?dist} +# Requires: rtems-4.10-m68k-rtems4.10-newlib = %{newlib_version}-8%{?dist} # License: GPL # %if %build_infos @@ -488,7 +627,7 @@ Summary: libgcc for m68k-rtems4.10-gcc Group: Development/Tools Version: %{gcc_rpmvers} %{?_with_noarch_subpackages:BuildArch: noarch} -Requires: rtems-4.10-m68k-rtems4.10-newlib = %{newlib_version}-7%{?dist} +Requires: rtems-4.10-m68k-rtems4.10-newlib = %{newlib_version}-8%{?dist} License: GPL %description -n rtems-4.10-m68k-rtems4.10-gcc-libgcc @@ -518,7 +657,10 @@ libgcc m68k-rtems4.10-gcc. %dir %{_libexecdir}/gcc/m68k-rtems4.10/%{gcc_version} %{_libexecdir}/gcc/m68k-rtems4.10/%{gcc_version}/cc1%{_exeext} %{_libexecdir}/gcc/m68k-rtems4.10/%{gcc_version}/collect2%{_exeext} - +%if "%{gcc_version}" >= "4.5.0" +%{?with_lto:%{_libexecdir}/gcc/m68k-rtems4.10/%{gcc_version}/lto%{_exeext}} +%{_libexecdir}/gcc/m68k-rtems4.10/%{gcc_version}/lto-wrapper%{_exeext} +%endif %files -n rtems-4.10-m68k-rtems4.10-gcc-libgcc -f build/files.gcc %defattr(-,root,root) @@ -530,12 +672,8 @@ libgcc m68k-rtems4.10-gcc. %dir %{_gcclibdir}/gcc/m68k-rtems4.10/%{gcc_version}/include %if "%{gcc_version}" > "4.0.3" -%if "m68k-rtems4.10" != "bfin-rtems4.10" -%if "m68k-rtems4.10" != "avr-rtems4.10" %dir %{_gcclibdir}/gcc/m68k-rtems4.10/%{gcc_version}/include/ssp %endif -%endif -%endif %if "%{gcc_version}" >= "4.3.0" %{_gcclibdir}/gcc/m68k-rtems4.10/%{gcc_version}/include-fixed @@ -663,7 +801,7 @@ Summary: C Library (newlib) for m68k-rtems4.10 Group: Development/Tools License: Distributable Version: %{newlib_version} -Release: 7%{?dist} +Release: 8%{?dist} %{?_with_noarch_subpackages:BuildArch: noarch} Requires: rtems-4.10-newlib-common @@ -684,7 +822,7 @@ Newlib C Library for m68k-rtems4.10. Summary: Base package for RTEMS newlib C Library Group: Development/Tools Version: %{newlib_version} -Release: 7%{?dist} +Release: 8%{?dist} %{?_with_noarch_subpackages:BuildArch: noarch} License: Distributable diff --git a/contrib/crossrpms/rtems4.10/m68k/rtems-4.10-m68k-rtems4.10-gdb.spec b/contrib/crossrpms/rtems4.10/m68k/rtems-4.10-m68k-rtems4.10-gdb.spec index d099b744a2..9f4155bc96 100644 --- a/contrib/crossrpms/rtems4.10/m68k/rtems-4.10-m68k-rtems4.10-gdb.spec +++ b/contrib/crossrpms/rtems4.10/m68k/rtems-4.10-m68k-rtems4.10-gdb.spec @@ -52,7 +52,7 @@ Name: rtems-4.10-m68k-rtems4.10-gdb Summary: Gdb for target m68k-rtems4.10 Group: Development/Tools Version: %{gdb_rpmvers} -Release: 1%{?dist} +Release: 2%{?dist} License: GPL/LGPL URL: http://sources.redhat.com/gdb BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -60,33 +60,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: %{_host_rpmprefix}gcc %define build_sim --enable-sim -%if "%{_build}" != "%{_host}" -# psim doesn't support Cdn-X -%if "m68k-rtems4.10" == "powerpc-rtems4.10" -%define build_sim --disable-sim -%endif -%endif -%ifos mingw mingw32 -# Mingw lacks functions required by the simulator -%if "m68k-rtems4.10" == "sparc-rtems4.10" -%define build_sim --disable-sim -%endif -%if "m68k-rtems4.10" == "h8300-rtems4.10" -%define build_sim --disable-sim -%endif -%if "%{gdb_version}" >= "6.8.50" -%if "m68k-rtems4.10" == "m32c-rtems4.10" -%define build_sim --disable-sim -%endif -%endif -%if "m68k-rtems4.10" == "lm32-rtems4.10" -%define build_sim --disable-sim -%endif -%if "m68k-rtems4.10" == "mipstx39-rtems4.10" -%define build_sim --disable-sim -%endif -%endif %if "%{gdb_version}" >= "6.6" # suse diff --git a/contrib/crossrpms/rtems4.10/mips/rtems-4.10-mips-rtems4.10-gcc.spec b/contrib/crossrpms/rtems4.10/mips/rtems-4.10-mips-rtems4.10-gcc.spec index fc60a7fb6a..629e7c8cb2 100644 --- a/contrib/crossrpms/rtems4.10/mips/rtems-4.10-mips-rtems4.10-gcc.spec +++ b/contrib/crossrpms/rtems4.10/mips/rtems-4.10-mips-rtems4.10-gcc.spec @@ -58,7 +58,7 @@ Summary: mips-rtems4.10 gcc Group: Development/Tools Version: %{gcc_rpmvers} -Release: 6%{?dist} +Release: 7%{?dist} License: GPL URL: http://gcc.gnu.org BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -67,70 +67,154 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: %{_host_rpmprefix}gcc -%if "%{gcc_version}" >= "4.3.0" -%define _gmp_minvers 4.1 -%else -%if "%{gcc_version}" >= "4.2.0" +# FIXME: Disable lto for now, to avoid dependencies on libelf +%bcond_with lto + +# FIXME: Disamble python gdb scripts +# ATM, no idea how to package them +%bcond_with pygdb + +# FIXME: Disable GCC-plugin +# Bug in gcc-4.5-20100318, doesn't build them on x86_84 hosts. +%bcond_with plugin + +# versions of libraries, we conditionally bundle if necessary +%global mpc_version 0.8.1 +%global mpfr_version 2.4.1 +%global gmp_version 4.3.2 +%global libelf_version 0.8.13 + +# versions of libraries these distros are known to ship +%if 0%{?fc13} +%global mpc_provided 0.8.1 +%global mpfr_provided 2.4.1 +%global gmp_provided 4.3.1 %endif + +%if 0%{?fc12} +%global mpc_provided 0.8 +%global mpfr_provided 2.4.1 +%global gmp_provided 4.3.1 %endif -%if %{defined _gmp_minvers} -BuildRequires: gmp-devel >= %{_gmp_minvers} -%if "%{_build}" != "%{_host}" -BuildRequires: %{_host_rpmprefix}gmp-devel >= %{_gmp_minvers} +%if 0%{?fc11} +%global mpc_provided %{nil} +%global mpfr_provided 2.4.1 +%global gmp_provided 4.2.4 +%endif + +%if 0%{?rhel5} +%global mpc_provided %{nil} +%global mpfr_provided %{nil} +%global gmp_provided 4.1.4 %endif + +%if 0%{?suse11_0} +%global mpc_provided %{nil} +%global mpfr_provided 2.3.1 +%global gmp_provided 4.2.2 %endif -%if "%{gcc_version}" >= "4.3.3" -%define _cloog_minvers 0.15 +%if 0%{?suse11_1} +%global mpc_provided %{nil} +%global mpfr_provided 2.3.2 +%global gmp_provided 4.2.3 %endif -%if %{defined _cloog_minvers} -%{?fc11:BuildRequires: cloog-ppl-devel >= %_cloog_minvers} -%{?fc12:BuildRequires: cloog-ppl-devel >= %_cloog_minvers} -%{?fc13:BuildRequires: cloog-ppl-devel >= %_cloog_minvers} -%{?suse11_2:BuildRequires: cloog-devel >= %_cloog_minvers, ppl-devel} -%{?suse11_1:BuildRequires: cloog-devel >= %_cloog_minvers, ppl-devel} +%if 0%{?suse11_2} +%global mpc_provided 0.7 +%global mpfr_provided 2.4.1 +%global gmp_provided 4.3.1 +%endif + +%if 0%{?cygwin} +%global mpc_provided 0.8 +%global mpfr_provided 2.4.1 +%global gmp_provided 4.3.1 +%endif + +%if 0%{?mingw32} +%global mpc_provided 0.8.1 +%global mpfr_provided 2.4.1 +%global gmp_provided 4.3.2 %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" %endif + +%if "%{gcc_version}" >= "4.3.0" +%define gmp_required 4.1 +%define mpfr_required 2.3.1 %endif + +%if "%{gcc_version}" >= "4.3.3" +%define cloog_required 0.15 %endif -%if %{defined _mpfr_minvers} -# FIXME: This is an ugly cludge -%{?fc11:%global mpfr_provided 2.4.1} -%{?fc12:%global mpfr_provided 2.4.1} -%{?fc13:%global mpfr_provided 2.4.1} -%{?suse11_0:%global mpfr_provided 2.3.1} -%{?suse11_1:%global mpfr_provided 2.3.2} -%{?suse11_2:%global mpfr_provided 2.4.1} -%{?cygwin:%global mpfr_provided 2.4.1} -%{?mingw32:%global mpfr_provided %{nil}} +%if "%{gcc_version}" >= "4.4.0" +%define mpfr_required 2.3.2 +%endif -%if %{defined mpfr_provided} -%if "%{mpfr_provided}" < "%{_mpfr_minvers}" -%define _build_mpfr 1 +%if "%{gcc_version}" >= "4.5.0" +%define mpc_required 0.8 +%if %{with lto} +%define libelf_required 0.8.12 +%endif +%endif + +%if %{defined mpc_required} +%if "%{mpc_provided}" >= "%{mpc_required}" +%{?fedora:BuildRequires: libmpc-devel >= %{mpc_required}} +%{?suse:BuildRequires: mpc-devel >= %{mpc_required}} +%if "%{_build}" != "%{_host}" +BuildRequires: %{_host_rpmprefix}mpc-devel >= %{mpc_required} +%endif +%else +%define _build_mpc 1 +%endif +%endif + +%if %{defined gmp_required} +%if "%{gmp_provided}" >= "%{gmp_required}" +BuildRequires: gmp-devel >= %{gmp_required} +%if "%{_build}" != "%{_host}" +BuildRequires: %{_host_rpmprefix}gmp-devel >= %{gmp_required} +%endif %else +%define _build_gmp 1 +%endif +%endif + +%if %{defined libelf_required} +%if "%{libelf_provided}" >= "%{libelf_required}" +BuildRequires: libelf-devel >= %{libelf_required} %if "%{_build}" != "%{_host}" -BuildRequires: %{_host_rpmprefix}mpfr-devel >= %{_mpfr_minvers} +BuildRequires: %{_host_rpmprefix}libelf-devel >= %{libelf_required} +%endif %else -BuildRequires: mpfr-devel >= %{_mpfr_minvers} +%define _build_libelf 1 +%endif %endif + + +%if %{defined cloog_required} +%{?fc11:BuildRequires: cloog-ppl-devel >= %cloog_required} +%{?fc12:BuildRequires: cloog-ppl-devel >= %cloog_required} +%{?fc13:BuildRequires: cloog-ppl-devel >= %cloog_required} +%{?suse11_2:BuildRequires: cloog-devel >= %cloog_required, ppl-devel} +%{?suse11_1:BuildRequires: cloog-devel >= %cloog_required, ppl-devel} +%endif + + +%if %{defined mpfr_required} +%if "%{mpfr_provided}" >= "%{mpfr_required}" +BuildRequires: mpfr-devel >= %{mpfr_required} +%if "%{_build}" != "%{_host}" +BuildRequires: %{_host_rpmprefix}mpfr-devel >= %{mpfr_required} %endif %else %define _build_mpfr 1 %endif - %endif %if "%{_build}" != "%{_host}" @@ -148,10 +232,17 @@ BuildRequires: rtems-4.10-mips-rtems4.10-binutils Requires: rtems-4.10-gcc-common Requires: rtems-4.10-mips-rtems4.10-binutils Requires: rtems-4.10-mips-rtems4.10-gcc-libgcc = %{gcc_rpmvers}-%{release} -Requires: rtems-4.10-mips-rtems4.10-newlib = %{newlib_version}-7%{?dist} +Requires: rtems-4.10-mips-rtems4.10-newlib = %{newlib_version}-8%{?dist} +%if "%{gcc_version}" >= "4.5.0" +BuildRequires: zlib-devel +%if "%{_build}" != "%{_host}" +BuildRequires: %{_host_rpmprefix}zlib-devel +%endif +%else +%endif -%define _gcclibdir %{_prefix}/lib +%global _gcclibdir %{_prefix}/lib %if "%{gcc_version}" == "4.4.3" Source0: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-core-%{gcc_pkgvers}.tar.bz2 @@ -173,14 +264,26 @@ Source1: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-g++-%{gcc_pkgve %if "%{newlib_version}" == "1.18.0" Source50: ftp://sources.redhat.com/pub/newlib/newlib-%{newlib_pkgvers}.tar.gz -Patch50: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/newlib-1.18.0-rtems4.10-20100310.diff +Patch50: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/newlib-1.18.0-rtems4.10-20100328.diff %endif %{?_without_sources:NoSource: 50} -%if "%{gcc_version}" >= "4.3.0" +%if 0%{?_build_mpfr} Source60: http://www.mpfr.org/mpfr-current/mpfr-%{mpfr_version}.tar.bz2 %endif +%if 0%{?_build_mpc} +Source61: http://www.multiprecision.org/mpc/download/mpc-%{mpc_version}.tar.gz +%endif + +%if 0%{?_build_gmp} +Source62: ftp://ftp.gnu.org/gnu/gmp/gmp-%{gmp_version}.tar.bz2 +%endif + +%if 0%{?_build_libelf} +Source63: http://www.mr511.de/software/libelf-%{libelf_version}.tar.gz +%endif + %description Cross gcc for mips-rtems4.10. @@ -188,10 +291,14 @@ Cross gcc for mips-rtems4.10. %setup -c -T -n %{name}-%{version} %setup -q -T -D -n %{name}-%{version} -a0 -%{?PATCH0:%patch0 -p0} +cd gcc-%{gcc_pkgvers} +%{?PATCH0:%patch0 -p1} +cd .. %setup -q -T -D -n %{name}-%{version} -a1 -%{?PATCH1:%patch1 -p0} +cd gcc-%{gcc_pkgvers} +%{?PATCH1:%patch1 -p1} +cd .. @@ -211,7 +318,28 @@ cd .. ln -s ../mpfr-%{mpfr_version} gcc-%{gcc_pkgvers}/mpfr %endif -echo "RTEMS gcc-%{gcc_version}-6%{?dist}/newlib-%{newlib_version}-7%{?dist}" > gcc-%{gcc_pkgvers}/gcc/DEV-PHASE +%if 0%{?_build_mpc} +%setup -q -T -D -n %{name}-%{version} -a61 +%{?PATCH61:%patch61 -p1} + # Build mpc one-tree style + ln -s ../mpc-%{mpc_version} gcc-%{gcc_pkgvers}/mpc +%endif + +%if 0%{?_build_gmp} +%setup -q -T -D -n %{name}-%{version} -a62 +%{?PATCH62:%patch62 -p1} + # Build gmp one-tree style + ln -s ../gmp-%{gmp_version} gcc-%{gcc_pkgvers}/gmp +%endif + +%if 0%{?_build_libelf} +%setup -q -T -D -n %{name}-%{version} -a63 +%{?PATCH63:%patch63 -p1} + # Build libelf one-tree style + ln -s ../libelf-%{libelf_version} gcc-%{gcc_pkgvers}/libelf +%endif + +echo "RTEMS gcc-%{gcc_version}-7%{?dist}/newlib-%{newlib_version}-8%{?dist}" > gcc-%{gcc_pkgvers}/gcc/DEV-PHASE # Fix timestamps @@ -253,6 +381,8 @@ echo "RTEMS gcc-%{gcc_version}-6%{?dist}/newlib-%{newlib_version}-7%{?dist}" > g --disable-win32-registry \ --enable-version-specific-runtime-libs \ --enable-threads \ + %{?with_lto:--enable-lto}%{!?with_lto:--disable-lto} \ + %{?with_plugin:--enable-plugin}%{!?with_plugin:--disable-plugin} \ --enable-newlib-io-c99-formats \ --enable-languages="$languages" $optargs @@ -319,6 +449,13 @@ echo "RTEMS gcc-%{gcc_version}-6%{?dist}/newlib-%{newlib_version}-7%{?dist}" > g rmdir ${RPM_BUILD_ROOT}%{_prefix}/mips-rtems4.10/include/bits fi + # gcc >= 4.5.0: installs weird libstdc++ python bindings. +%if ! %{with pygdb} + if test -d ${RPM_BUILD_ROOT}%{_datadir}/gcc-%{gcc_version}/python; then + rm -rf ${RPM_BUILD_ROOT}%{_datadir}/gcc-%{gcc_version}/python/libstdcxx + fi +%endif + # Collect multilib subdirectories multilibs=`build/gcc/xgcc -Bbuild/gcc/ --print-multi-lib | sed -e 's,;.*$,,'` @@ -374,6 +511,8 @@ echo "RTEMS gcc-%{gcc_version}-6%{?dist}/newlib-%{newlib_version}-7%{?dist}" > g *jc1) ;; *jvgenmain) ;; */libgfortran*.*) echo "$i" >> build/files.gfortran ;; + %{!?with_pygdb:*/libstdc++*gdb.py*) rm ${RPM_BUILD_ROOT}/$i ;;} # ignore for now + %{?with_pygdb:*/libstdc++*gdb.py*) >> build/files.g++ ;;} */libstdc++.*) echo "$i" >> build/files.g++ ;; */libsupc++.*) echo "$i" >> build/files.g++ ;; *) echo "$i" >> build/files.gcc ;; @@ -470,7 +609,7 @@ sed -e 's,^[ ]*/usr/lib/rpm/find-debuginfo.sh,./find-debuginfo.sh,' \ # Group: Development/Tools # Version: %{gcc_rpmvers} # Requires: rtems-4.10-mips-rtems4.10-binutils -# Requires: rtems-4.10-mips-rtems4.10-newlib = %{newlib_version}-7%{?dist} +# Requires: rtems-4.10-mips-rtems4.10-newlib = %{newlib_version}-8%{?dist} # License: GPL # %if %build_infos @@ -488,7 +627,7 @@ Summary: libgcc for mips-rtems4.10-gcc Group: Development/Tools Version: %{gcc_rpmvers} %{?_with_noarch_subpackages:BuildArch: noarch} -Requires: rtems-4.10-mips-rtems4.10-newlib = %{newlib_version}-7%{?dist} +Requires: rtems-4.10-mips-rtems4.10-newlib = %{newlib_version}-8%{?dist} License: GPL %description -n rtems-4.10-mips-rtems4.10-gcc-libgcc @@ -518,7 +657,10 @@ libgcc mips-rtems4.10-gcc. %dir %{_libexecdir}/gcc/mips-rtems4.10/%{gcc_version} %{_libexecdir}/gcc/mips-rtems4.10/%{gcc_version}/cc1%{_exeext} %{_libexecdir}/gcc/mips-rtems4.10/%{gcc_version}/collect2%{_exeext} - +%if "%{gcc_version}" >= "4.5.0" +%{?with_lto:%{_libexecdir}/gcc/mips-rtems4.10/%{gcc_version}/lto%{_exeext}} +%{_libexecdir}/gcc/mips-rtems4.10/%{gcc_version}/lto-wrapper%{_exeext} +%endif %files -n rtems-4.10-mips-rtems4.10-gcc-libgcc -f build/files.gcc %defattr(-,root,root) @@ -530,12 +672,8 @@ libgcc mips-rtems4.10-gcc. %dir %{_gcclibdir}/gcc/mips-rtems4.10/%{gcc_version}/include %if "%{gcc_version}" > "4.0.3" -%if "mips-rtems4.10" != "bfin-rtems4.10" -%if "mips-rtems4.10" != "avr-rtems4.10" %dir %{_gcclibdir}/gcc/mips-rtems4.10/%{gcc_version}/include/ssp %endif -%endif -%endif %if "%{gcc_version}" >= "4.3.0" %{_gcclibdir}/gcc/mips-rtems4.10/%{gcc_version}/include-fixed @@ -663,7 +801,7 @@ Summary: C Library (newlib) for mips-rtems4.10 Group: Development/Tools License: Distributable Version: %{newlib_version} -Release: 7%{?dist} +Release: 8%{?dist} %{?_with_noarch_subpackages:BuildArch: noarch} Requires: rtems-4.10-newlib-common @@ -684,7 +822,7 @@ Newlib C Library for mips-rtems4.10. Summary: Base package for RTEMS newlib C Library Group: Development/Tools Version: %{newlib_version} -Release: 7%{?dist} +Release: 8%{?dist} %{?_with_noarch_subpackages:BuildArch: noarch} License: Distributable diff --git a/contrib/crossrpms/rtems4.10/mips/rtems-4.10-mips-rtems4.10-gdb.spec b/contrib/crossrpms/rtems4.10/mips/rtems-4.10-mips-rtems4.10-gdb.spec index 197ef21570..27806f986b 100644 --- a/contrib/crossrpms/rtems4.10/mips/rtems-4.10-mips-rtems4.10-gdb.spec +++ b/contrib/crossrpms/rtems4.10/mips/rtems-4.10-mips-rtems4.10-gdb.spec @@ -52,7 +52,7 @@ Name: rtems-4.10-mips-rtems4.10-gdb Summary: Gdb for target mips-rtems4.10 Group: Development/Tools Version: %{gdb_rpmvers} -Release: 1%{?dist} +Release: 2%{?dist} License: GPL/LGPL URL: http://sources.redhat.com/gdb BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -60,33 +60,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: %{_host_rpmprefix}gcc %define build_sim --enable-sim -%if "%{_build}" != "%{_host}" -# psim doesn't support Cdn-X -%if "mips-rtems4.10" == "powerpc-rtems4.10" -%define build_sim --disable-sim -%endif -%endif -%ifos mingw mingw32 -# Mingw lacks functions required by the simulator -%if "mips-rtems4.10" == "sparc-rtems4.10" -%define build_sim --disable-sim -%endif -%if "mips-rtems4.10" == "h8300-rtems4.10" -%define build_sim --disable-sim -%endif -%if "%{gdb_version}" >= "6.8.50" -%if "mips-rtems4.10" == "m32c-rtems4.10" -%define build_sim --disable-sim -%endif -%endif -%if "mips-rtems4.10" == "lm32-rtems4.10" -%define build_sim --disable-sim -%endif -%if "mips-rtems4.10" == "mipstx39-rtems4.10" -%define build_sim --disable-sim -%endif -%endif %if "%{gdb_version}" >= "6.6" # suse diff --git a/contrib/crossrpms/rtems4.10/mipstx39/rtems-4.10-mipstx39-rtems4.10-gdb.spec b/contrib/crossrpms/rtems4.10/mipstx39/rtems-4.10-mipstx39-rtems4.10-gdb.spec index 4bcdd27523..daf2e36034 100644 --- a/contrib/crossrpms/rtems4.10/mipstx39/rtems-4.10-mipstx39-rtems4.10-gdb.spec +++ b/contrib/crossrpms/rtems4.10/mipstx39/rtems-4.10-mipstx39-rtems4.10-gdb.spec @@ -52,7 +52,7 @@ Name: rtems-4.10-mipstx39-rtems4.10-gdb Summary: Gdb for target mipstx39-rtems4.10 Group: Development/Tools Version: %{gdb_rpmvers} -Release: 1%{?dist} +Release: 2%{?dist} License: GPL/LGPL URL: http://sources.redhat.com/gdb BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -60,33 +60,9 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: %{_host_rpmprefix}gcc %define build_sim --enable-sim -%if "%{_build}" != "%{_host}" -# psim doesn't support Cdn-X -%if "mipstx39-rtems4.10" == "powerpc-rtems4.10" -%define build_sim --disable-sim -%endif -%endif -%ifos mingw mingw32 -# Mingw lacks functions required by the simulator -%if "mipstx39-rtems4.10" == "sparc-rtems4.10" +# Mingw lacks functions required by the mipstx39 simulator %define build_sim --disable-sim -%endif -%if "mipstx39-rtems4.10" == "h8300-rtems4.10" -%define build_sim --disable-sim -%endif -%if "%{gdb_version}" >= "6.8.50" -%if "mipstx39-rtems4.10" == "m32c-rtems4.10" -%define build_sim --disable-sim -%endif -%endif -%if "mipstx39-rtems4.10" == "lm32-rtems4.10" -%define build_sim --disable-sim -%endif -%if "mipstx39-rtems4.10" == "mipstx39-rtems4.10" -%define build_sim --disable-sim -%endif -%endif %if "%{gdb_version}" >= "6.6" # suse diff --git a/contrib/crossrpms/rtems4.10/powerpc/rtems-4.10-powerpc-rtems4.10-gcc.spec b/contrib/crossrpms/rtems4.10/powerpc/rtems-4.10-powerpc-rtems4.10-gcc.spec index 7cf5215e28..921685c55c 100644 --- a/contrib/crossrpms/rtems4.10/powerpc/rtems-4.10-powerpc-rtems4.10-gcc.spec +++ b/contrib/crossrpms/rtems4.10/powerpc/rtems-4.10-powerpc-rtems4.10-gcc.spec @@ -58,7 +58,7 @@ Summary: powerpc-rtems4.10 gcc Group: Development/Tools Version: %{gcc_rpmvers} -Release: 6%{?dist} +Release: 7%{?dist} License: GPL URL: http://gcc.gnu.org BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -67,70 +67,154 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: %{_host_rpmprefix}gcc -%if "%{gcc_version}" >= "4.3.0" -%define _gmp_minvers 4.1 -%else -%if "%{gcc_version}" >= "4.2.0" +# FIXME: Disable lto for now, to avoid dependencies on libelf +%bcond_with lto + +# FIXME: Disamble python gdb scripts +# ATM, no idea how to package them +%bcond_with pygdb + +# FIXME: Disable GCC-plugin +# Bug in gcc-4.5-20100318, doesn't build them on x86_84 hosts. +%bcond_with plugin + +# versions of libraries, we conditionally bundle if necessary +%global mpc_version 0.8.1 +%global mpfr_version 2.4.1 +%global gmp_version 4.3.2 +%global libelf_version 0.8.13 + +# versions of libraries these distros are known to ship +%if 0%{?fc13} +%global mpc_provided 0.8.1 +%global mpfr_provided 2.4.1 +%global gmp_provided 4.3.1 %endif + +%if 0%{?fc12} +%global mpc_provided 0.8 +%global mpfr_provided 2.4.1 +%global gmp_provided 4.3.1 %endif -%if %{defined _gmp_minvers} -BuildRequires: gmp-devel >= %{_gmp_minvers} -%if "%{_build}" != "%{_host}" -BuildRequires: %{_host_rpmprefix}gmp-devel >= %{_gmp_minvers} +%if 0%{?fc11} +%global mpc_provided %{nil} +%global mpfr_provided 2.4.1 +%global gmp_provided 4.2.4 +%endif + +%if 0%{?rhel5} +%global mpc_provided %{nil} +%global mpfr_provided %{nil} +%global gmp_provided 4.1.4 %endif + +%if 0%{?suse11_0} +%global mpc_provided %{nil} +%global mpfr_provided 2.3.1 +%global gmp_provided 4.2.2 %endif -%if "%{gcc_version}" >= "4.3.3" -%define _cloog_minvers 0.15 +%if 0%{?suse11_1} +%global mpc_provided %{nil} +%global mpfr_provided 2.3.2 +%global gmp_provided 4.2.3 %endif -%if %{defined _cloog_minvers} -%{?fc11:BuildRequires: cloog-ppl-devel >= %_cloog_minvers} -%{?fc12:BuildRequires: cloog-ppl-devel >= %_cloog_minvers} -%{?fc13:BuildRequires: cloog-ppl-devel >= %_cloog_minvers} -%{?suse11_2:BuildRequires: cloog-devel >= %_cloog_minvers, ppl-devel} -%{?suse11_1:BuildRequires: cloog-devel >= %_cloog_minvers, ppl-devel} +%if 0%{?suse11_2} +%global mpc_provided 0.7 +%global mpfr_provided 2.4.1 +%global gmp_provided 4.3.1 +%endif + +%if 0%{?cygwin} +%global mpc_provided 0.8 +%global mpfr_provided 2.4.1 +%global gmp_provided 4.3.1 +%endif + +%if 0%{?mingw32} +%global mpc_provided 0.8.1 +%global mpfr_provided 2.4.1 +%global gmp_provided 4.3.2 %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" %endif + +%if "%{gcc_version}" >= "4.3.0" +%define gmp_required 4.1 +%define mpfr_required 2.3.1 %endif + +%if "%{gcc_version}" >= "4.3.3" +%define cloog_required 0.15 %endif -%if %{defined _mpfr_minvers} -# FIXME: This is an ugly cludge -%{?fc11:%global mpfr_provided 2.4.1} -%{?fc12:%global mpfr_provided 2.4.1} -%{?fc13:%global mpfr_provided 2.4.1} -%{?suse11_0:%global mpfr_provided 2.3.1} -%{?suse11_1:%global mpfr_provided 2.3.2} -%{?suse11_2:%global mpfr_provided 2.4.1} -%{?cygwin:%global mpfr_provided 2.4.1} -%{?mingw32:%global mpfr_provided %{nil}} +%if "%{gcc_version}" >= "4.4.0" +%define mpfr_required 2.3.2 +%endif -%if %{defined mpfr_provided} -%if "%{mpfr_provided}" < "%{_mpfr_minvers}" -%define _build_mpfr 1 +%if "%{gcc_version}" >= "4.5.0" +%define mpc_required 0.8 +%if %{with lto} +%define libelf_required 0.8.12 +%endif +%endif + +%if %{defined mpc_required} +%if "%{mpc_provided}" >= "%{mpc_required}" +%{?fedora:BuildRequires: libmpc-devel >= %{mpc_required}} +%{?suse:BuildRequires: mpc-devel >= %{mpc_required}} +%if "%{_build}" != "%{_host}" +BuildRequires: %{_host_rpmprefix}mpc-devel >= %{mpc_required} +%endif +%else +%define _build_mpc 1 +%endif +%endif + +%if %{defined gmp_required} +%if "%{gmp_provided}" >= "%{gmp_required}" +BuildRequires: gmp-devel >= %{gmp_required} +%if "%{_build}" != "%{_host}" +BuildRequires: %{_host_rpmprefix}gmp-devel >= %{gmp_required} +%endif %else +%define _build_gmp 1 +%endif +%endif + +%if %{defined libelf_required} +%if "%{libelf_provided}" >= "%{libelf_required}" +BuildRequires: libelf-devel >= %{libelf_required} %if "%{_build}" != "%{_host}" -BuildRequires: %{_host_rpmprefix}mpfr-devel >= %{_mpfr_minvers} +BuildRequires: %{_host_rpmprefix}libelf-devel >= %{libelf_required} +%endif %else -BuildRequires: mpfr-devel >= %{_mpfr_minvers} +%define _build_libelf 1 +%endif %endif + + +%if %{defined cloog_required} +%{?fc11:BuildRequires: cloog-ppl-devel >= %cloog_required} +%{?fc12:BuildRequires: cloog-ppl-devel >= %cloog_required} +%{?fc13:BuildRequires: cloog-ppl-devel >= %cloog_required} +%{?suse11_2:BuildRequires: cloog-devel >= %cloog_required, ppl-devel} +%{?suse11_1:BuildRequires: cloog-devel >= %cloog_required, ppl-devel} +%endif + + +%if %{defined mpfr_required} +%if "%{mpfr_provided}" >= "%{mpfr_required}" +BuildRequires: mpfr-devel >= %{mpfr_required} +%if "%{_build}" != "%{_host}" +BuildRequires: %{_host_rpmprefix}mpfr-devel >= %{mpfr_required} %endif %else %define _build_mpfr 1 %endif - %endif %if "%{_build}" != "%{_host}" @@ -148,10 +232,17 @@ BuildRequires: rtems-4.10-powerpc-rtems4.10-binutils Requires: rtems-4.10-gcc-common Requires: rtems-4.10-powerpc-rtems4.10-binutils Requires: rtems-4.10-powerpc-rtems4.10-gcc-libgcc = %{gcc_rpmvers}-%{release} -Requires: rtems-4.10-powerpc-rtems4.10-newlib = %{newlib_version}-7%{?dist} +Requires: rtems-4.10-powerpc-rtems4.10-newlib = %{newlib_version}-8%{?dist} +%if "%{gcc_version}" >= "4.5.0" +BuildRequires: zlib-devel +%if "%{_build}" != "%{_host}" +BuildRequires: %{_host_rpmprefix}zlib-devel +%endif +%else +%endif -%define _gcclibdir %{_prefix}/lib +%global _gcclibdir %{_prefix}/lib %if "%{gcc_version}" == "4.4.3" Source0: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-core-%{gcc_pkgvers}.tar.bz2 @@ -173,14 +264,26 @@ Source1: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-g++-%{gcc_pkgve %if "%{newlib_version}" == "1.18.0" Source50: ftp://sources.redhat.com/pub/newlib/newlib-%{newlib_pkgvers}.tar.gz -Patch50: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/newlib-1.18.0-rtems4.10-20100310.diff +Patch50: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/newlib-1.18.0-rtems4.10-20100328.diff %endif %{?_without_sources:NoSource: 50} -%if "%{gcc_version}" >= "4.3.0" +%if 0%{?_build_mpfr} Source60: http://www.mpfr.org/mpfr-current/mpfr-%{mpfr_version}.tar.bz2 %endif +%if 0%{?_build_mpc} +Source61: http://www.multiprecision.org/mpc/download/mpc-%{mpc_version}.tar.gz +%endif + +%if 0%{?_build_gmp} +Source62: ftp://ftp.gnu.org/gnu/gmp/gmp-%{gmp_version}.tar.bz2 +%endif + +%if 0%{?_build_libelf} +Source63: http://www.mr511.de/software/libelf-%{libelf_version}.tar.gz +%endif + %description Cross gcc for powerpc-rtems4.10. @@ -188,10 +291,14 @@ Cross gcc for powerpc-rtems4.10. %setup -c -T -n %{name}-%{version} %setup -q -T -D -n %{name}-%{version} -a0 -%{?PATCH0:%patch0 -p0} +cd gcc-%{gcc_pkgvers} +%{?PATCH0:%patch0 -p1} +cd .. %setup -q -T -D -n %{name}-%{version} -a1 -%{?PATCH1:%patch1 -p0} +cd gcc-%{gcc_pkgvers} +%{?PATCH1:%patch1 -p1} +cd .. @@ -211,7 +318,28 @@ cd .. ln -s ../mpfr-%{mpfr_version} gcc-%{gcc_pkgvers}/mpfr %endif -echo "RTEMS gcc-%{gcc_version}-6%{?dist}/newlib-%{newlib_version}-7%{?dist}" > gcc-%{gcc_pkgvers}/gcc/DEV-PHASE +%if 0%{?_build_mpc} +%setup -q -T -D -n %{name}-%{version} -a61 +%{?PATCH61:%patch61 -p1} + # Build mpc one-tree style + ln -s ../mpc-%{mpc_version} gcc-%{gcc_pkgvers}/mpc +%endif + +%if 0%{?_build_gmp} +%setup -q -T -D -n %{name}-%{version} -a62 +%{?PATCH62:%patch62 -p1} + # Build gmp one-tree style + ln -s ../gmp-%{gmp_version} gcc-%{gcc_pkgvers}/gmp +%endif + +%if 0%{?_build_libelf} +%setup -q -T -D -n %{name}-%{version} -a63 +%{?PATCH63:%patch63 -p1} + # Build libelf one-tree style + ln -s ../libelf-%{libelf_version} gcc-%{gcc_pkgvers}/libelf +%endif + +echo "RTEMS gcc-%{gcc_version}-7%{?dist}/newlib-%{newlib_version}-8%{?dist}" > gcc-%{gcc_pkgvers}/gcc/DEV-PHASE # Fix timestamps @@ -253,6 +381,8 @@ echo "RTEMS gcc-%{gcc_version}-6%{?dist}/newlib-%{newlib_version}-7%{?dist}" > g --disable-win32-registry \ --enable-version-specific-runtime-libs \ --enable-threads \ + %{?with_lto:--enable-lto}%{!?with_lto:--disable-lto} \ + %{?with_plugin:--enable-plugin}%{!?with_plugin:--disable-plugin} \ --enable-newlib-io-c99-formats \ --enable-languages="$languages" $optargs @@ -319,6 +449,13 @@ echo "RTEMS gcc-%{gcc_version}-6%{?dist}/newlib-%{newlib_version}-7%{?dist}" > g rmdir ${RPM_BUILD_ROOT}%{_prefix}/powerpc-rtems4.10/include/bits fi + # gcc >= 4.5.0: installs weird libstdc++ python bindings. +%if ! %{with pygdb} + if test -d ${RPM_BUILD_ROOT}%{_datadir}/gcc-%{gcc_version}/python; then + rm -rf ${RPM_BUILD_ROOT}%{_datadir}/gcc-%{gcc_version}/python/libstdcxx + fi +%endif + # Collect multilib subdirectories multilibs=`build/gcc/xgcc -Bbuild/gcc/ --print-multi-lib | sed -e 's,;.*$,,'` @@ -374,6 +511,8 @@ echo "RTEMS gcc-%{gcc_version}-6%{?dist}/newlib-%{newlib_version}-7%{?dist}" > g *jc1) ;; *jvgenmain) ;; */libgfortran*.*) echo "$i" >> build/files.gfortran ;; + %{!?with_pygdb:*/libstdc++*gdb.py*) rm ${RPM_BUILD_ROOT}/$i ;;} # ignore for now + %{?with_pygdb:*/libstdc++*gdb.py*) >> build/files.g++ ;;} */libstdc++.*) echo "$i" >> build/files.g++ ;; */libsupc++.*) echo "$i" >> build/files.g++ ;; *) echo "$i" >> build/files.gcc ;; @@ -470,7 +609,7 @@ sed -e 's,^[ ]*/usr/lib/rpm/find-debuginfo.sh,./find-debuginfo.sh,' \ # Group: Development/Tools # Version: %{gcc_rpmvers} # Requires: rtems-4.10-powerpc-rtems4.10-binutils -# Requires: rtems-4.10-powerpc-rtems4.10-newlib = %{newlib_version}-7%{?dist} +# Requires: rtems-4.10-powerpc-rtems4.10-newlib = %{newlib_version}-8%{?dist} # License: GPL # %if %build_infos @@ -488,7 +627,7 @@ Summary: libgcc for powerpc-rtems4.10-gcc Group: Development/Tools Version: %{gcc_rpmvers} %{?_with_noarch_subpackages:BuildArch: noarch} -Requires: rtems-4.10-powerpc-rtems4.10-newlib = %{newlib_version}-7%{?dist} +Requires: rtems-4.10-powerpc-rtems4.10-newlib = %{newlib_version}-8%{?dist} License: GPL %description -n rtems-4.10-powerpc-rtems4.10-gcc-libgcc @@ -518,7 +657,10 @@ libgcc powerpc-rtems4.10-gcc. %dir %{_libexecdir}/gcc/powerpc-rtems4.10/%{gcc_version} %{_libexecdir}/gcc/powerpc-rtems4.10/%{gcc_version}/cc1%{_exeext} %{_libexecdir}/gcc/powerpc-rtems4.10/%{gcc_version}/collect2%{_exeext} - +%if "%{gcc_version}" >= "4.5.0" +%{?with_lto:%{_libexecdir}/gcc/powerpc-rtems4.10/%{gcc_version}/lto%{_exeext}} +%{_libexecdir}/gcc/powerpc-rtems4.10/%{gcc_version}/lto-wrapper%{_exeext} +%endif %files -n rtems-4.10-powerpc-rtems4.10-gcc-libgcc -f build/files.gcc %defattr(-,root,root) @@ -530,12 +672,8 @@ libgcc powerpc-rtems4.10-gcc. %dir %{_gcclibdir}/gcc/powerpc-rtems4.10/%{gcc_version}/include %if "%{gcc_version}" > "4.0.3" -%if "powerpc-rtems4.10" != "bfin-rtems4.10" -%if "powerpc-rtems4.10" != "avr-rtems4.10" %dir %{_gcclibdir}/gcc/powerpc-rtems4.10/%{gcc_version}/include/ssp %endif -%endif -%endif %if "%{gcc_version}" >= "4.3.0" %{_gcclibdir}/gcc/powerpc-rtems4.10/%{gcc_version}/include-fixed @@ -663,7 +801,7 @@ Summary: C Library (newlib) for powerpc-rtems4.10 Group: Development/Tools License: Distributable Version: %{newlib_version} -Release: 7%{?dist} +Release: 8%{?dist} %{?_with_noarch_subpackages:BuildArch: noarch} Requires: rtems-4.10-newlib-common @@ -684,7 +822,7 @@ Newlib C Library for powerpc-rtems4.10. Summary: Base package for RTEMS newlib C Library Group: Development/Tools Version: %{newlib_version} -Release: 7%{?dist} +Release: 8%{?dist} %{?_with_noarch_subpackages:BuildArch: noarch} License: Distributable diff --git a/contrib/crossrpms/rtems4.10/powerpc/rtems-4.10-powerpc-rtems4.10-gdb.spec b/contrib/crossrpms/rtems4.10/powerpc/rtems-4.10-powerpc-rtems4.10-gdb.spec index 1522319461..8b2a489554 100644 --- a/contrib/crossrpms/rtems4.10/powerpc/rtems-4.10-powerpc-rtems4.10-gdb.spec +++ b/contrib/crossrpms/rtems4.10/powerpc/rtems-4.10-powerpc-rtems4.10-gdb.spec @@ -52,7 +52,7 @@ Name: rtems-4.10-powerpc-rtems4.10-gdb Summary: Gdb for target powerpc-rtems4.10 Group: Development/Tools Version: %{gdb_rpmvers} -Release: 1%{?dist} +Release: 2%{?dist} License: GPL/LGPL URL: http://sources.redhat.com/gdb BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -60,33 +60,9 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: %{_host_rpmprefix}gcc %define build_sim --enable-sim -%if "%{_build}" != "%{_host}" -# psim doesn't support Cdn-X -%if "powerpc-rtems4.10" == "powerpc-rtems4.10" -%define build_sim --disable-sim -%endif -%endif -%ifos mingw mingw32 -# Mingw lacks functions required by the simulator -%if "powerpc-rtems4.10" == "sparc-rtems4.10" -%define build_sim --disable-sim -%endif -%if "powerpc-rtems4.10" == "h8300-rtems4.10" -%define build_sim --disable-sim -%endif -%if "%{gdb_version}" >= "6.8.50" -%if "powerpc-rtems4.10" == "m32c-rtems4.10" -%define build_sim --disable-sim -%endif -%endif -%if "powerpc-rtems4.10" == "lm32-rtems4.10" -%define build_sim --disable-sim -%endif -%if "powerpc-rtems4.10" == "mipstx39-rtems4.10" +# psim doesn't support Cdn-X %define build_sim --disable-sim -%endif -%endif %if "%{gdb_version}" >= "6.6" # suse diff --git a/contrib/crossrpms/rtems4.10/sh/rtems-4.10-sh-rtems4.10-gcc.spec b/contrib/crossrpms/rtems4.10/sh/rtems-4.10-sh-rtems4.10-gcc.spec index 9160c2324f..cbca584e56 100644 --- a/contrib/crossrpms/rtems4.10/sh/rtems-4.10-sh-rtems4.10-gcc.spec +++ b/contrib/crossrpms/rtems4.10/sh/rtems-4.10-sh-rtems4.10-gcc.spec @@ -58,7 +58,7 @@ Summary: sh-rtems4.10 gcc Group: Development/Tools Version: %{gcc_rpmvers} -Release: 6%{?dist} +Release: 7%{?dist} License: GPL URL: http://gcc.gnu.org BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -67,70 +67,154 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: %{_host_rpmprefix}gcc -%if "%{gcc_version}" >= "4.3.0" -%define _gmp_minvers 4.1 -%else -%if "%{gcc_version}" >= "4.2.0" +# FIXME: Disable lto for now, to avoid dependencies on libelf +%bcond_with lto + +# FIXME: Disamble python gdb scripts +# ATM, no idea how to package them +%bcond_with pygdb + +# FIXME: Disable GCC-plugin +# Bug in gcc-4.5-20100318, doesn't build them on x86_84 hosts. +%bcond_with plugin + +# versions of libraries, we conditionally bundle if necessary +%global mpc_version 0.8.1 +%global mpfr_version 2.4.1 +%global gmp_version 4.3.2 +%global libelf_version 0.8.13 + +# versions of libraries these distros are known to ship +%if 0%{?fc13} +%global mpc_provided 0.8.1 +%global mpfr_provided 2.4.1 +%global gmp_provided 4.3.1 %endif + +%if 0%{?fc12} +%global mpc_provided 0.8 +%global mpfr_provided 2.4.1 +%global gmp_provided 4.3.1 %endif -%if %{defined _gmp_minvers} -BuildRequires: gmp-devel >= %{_gmp_minvers} -%if "%{_build}" != "%{_host}" -BuildRequires: %{_host_rpmprefix}gmp-devel >= %{_gmp_minvers} +%if 0%{?fc11} +%global mpc_provided %{nil} +%global mpfr_provided 2.4.1 +%global gmp_provided 4.2.4 +%endif + +%if 0%{?rhel5} +%global mpc_provided %{nil} +%global mpfr_provided %{nil} +%global gmp_provided 4.1.4 %endif + +%if 0%{?suse11_0} +%global mpc_provided %{nil} +%global mpfr_provided 2.3.1 +%global gmp_provided 4.2.2 %endif -%if "%{gcc_version}" >= "4.3.3" -%define _cloog_minvers 0.15 +%if 0%{?suse11_1} +%global mpc_provided %{nil} +%global mpfr_provided 2.3.2 +%global gmp_provided 4.2.3 %endif -%if %{defined _cloog_minvers} -%{?fc11:BuildRequires: cloog-ppl-devel >= %_cloog_minvers} -%{?fc12:BuildRequires: cloog-ppl-devel >= %_cloog_minvers} -%{?fc13:BuildRequires: cloog-ppl-devel >= %_cloog_minvers} -%{?suse11_2:BuildRequires: cloog-devel >= %_cloog_minvers, ppl-devel} -%{?suse11_1:BuildRequires: cloog-devel >= %_cloog_minvers, ppl-devel} +%if 0%{?suse11_2} +%global mpc_provided 0.7 +%global mpfr_provided 2.4.1 +%global gmp_provided 4.3.1 +%endif + +%if 0%{?cygwin} +%global mpc_provided 0.8 +%global mpfr_provided 2.4.1 +%global gmp_provided 4.3.1 +%endif + +%if 0%{?mingw32} +%global mpc_provided 0.8.1 +%global mpfr_provided 2.4.1 +%global gmp_provided 4.3.2 %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" %endif + +%if "%{gcc_version}" >= "4.3.0" +%define gmp_required 4.1 +%define mpfr_required 2.3.1 %endif + +%if "%{gcc_version}" >= "4.3.3" +%define cloog_required 0.15 %endif -%if %{defined _mpfr_minvers} -# FIXME: This is an ugly cludge -%{?fc11:%global mpfr_provided 2.4.1} -%{?fc12:%global mpfr_provided 2.4.1} -%{?fc13:%global mpfr_provided 2.4.1} -%{?suse11_0:%global mpfr_provided 2.3.1} -%{?suse11_1:%global mpfr_provided 2.3.2} -%{?suse11_2:%global mpfr_provided 2.4.1} -%{?cygwin:%global mpfr_provided 2.4.1} -%{?mingw32:%global mpfr_provided %{nil}} +%if "%{gcc_version}" >= "4.4.0" +%define mpfr_required 2.3.2 +%endif -%if %{defined mpfr_provided} -%if "%{mpfr_provided}" < "%{_mpfr_minvers}" -%define _build_mpfr 1 +%if "%{gcc_version}" >= "4.5.0" +%define mpc_required 0.8 +%if %{with lto} +%define libelf_required 0.8.12 +%endif +%endif + +%if %{defined mpc_required} +%if "%{mpc_provided}" >= "%{mpc_required}" +%{?fedora:BuildRequires: libmpc-devel >= %{mpc_required}} +%{?suse:BuildRequires: mpc-devel >= %{mpc_required}} +%if "%{_build}" != "%{_host}" +BuildRequires: %{_host_rpmprefix}mpc-devel >= %{mpc_required} +%endif +%else +%define _build_mpc 1 +%endif +%endif + +%if %{defined gmp_required} +%if "%{gmp_provided}" >= "%{gmp_required}" +BuildRequires: gmp-devel >= %{gmp_required} +%if "%{_build}" != "%{_host}" +BuildRequires: %{_host_rpmprefix}gmp-devel >= %{gmp_required} +%endif %else +%define _build_gmp 1 +%endif +%endif + +%if %{defined libelf_required} +%if "%{libelf_provided}" >= "%{libelf_required}" +BuildRequires: libelf-devel >= %{libelf_required} %if "%{_build}" != "%{_host}" -BuildRequires: %{_host_rpmprefix}mpfr-devel >= %{_mpfr_minvers} +BuildRequires: %{_host_rpmprefix}libelf-devel >= %{libelf_required} +%endif %else -BuildRequires: mpfr-devel >= %{_mpfr_minvers} +%define _build_libelf 1 +%endif %endif + + +%if %{defined cloog_required} +%{?fc11:BuildRequires: cloog-ppl-devel >= %cloog_required} +%{?fc12:BuildRequires: cloog-ppl-devel >= %cloog_required} +%{?fc13:BuildRequires: cloog-ppl-devel >= %cloog_required} +%{?suse11_2:BuildRequires: cloog-devel >= %cloog_required, ppl-devel} +%{?suse11_1:BuildRequires: cloog-devel >= %cloog_required, ppl-devel} +%endif + + +%if %{defined mpfr_required} +%if "%{mpfr_provided}" >= "%{mpfr_required}" +BuildRequires: mpfr-devel >= %{mpfr_required} +%if "%{_build}" != "%{_host}" +BuildRequires: %{_host_rpmprefix}mpfr-devel >= %{mpfr_required} %endif %else %define _build_mpfr 1 %endif - %endif %if "%{_build}" != "%{_host}" @@ -148,10 +232,17 @@ BuildRequires: rtems-4.10-sh-rtems4.10-binutils Requires: rtems-4.10-gcc-common Requires: rtems-4.10-sh-rtems4.10-binutils Requires: rtems-4.10-sh-rtems4.10-gcc-libgcc = %{gcc_rpmvers}-%{release} -Requires: rtems-4.10-sh-rtems4.10-newlib = %{newlib_version}-7%{?dist} +Requires: rtems-4.10-sh-rtems4.10-newlib = %{newlib_version}-8%{?dist} +%if "%{gcc_version}" >= "4.5.0" +BuildRequires: zlib-devel +%if "%{_build}" != "%{_host}" +BuildRequires: %{_host_rpmprefix}zlib-devel +%endif +%else +%endif -%define _gcclibdir %{_prefix}/lib +%global _gcclibdir %{_prefix}/lib %if "%{gcc_version}" == "4.4.3" Source0: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-core-%{gcc_pkgvers}.tar.bz2 @@ -173,14 +264,26 @@ Source1: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-g++-%{gcc_pkgve %if "%{newlib_version}" == "1.18.0" Source50: ftp://sources.redhat.com/pub/newlib/newlib-%{newlib_pkgvers}.tar.gz -Patch50: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/newlib-1.18.0-rtems4.10-20100310.diff +Patch50: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/newlib-1.18.0-rtems4.10-20100328.diff %endif %{?_without_sources:NoSource: 50} -%if "%{gcc_version}" >= "4.3.0" +%if 0%{?_build_mpfr} Source60: http://www.mpfr.org/mpfr-current/mpfr-%{mpfr_version}.tar.bz2 %endif +%if 0%{?_build_mpc} +Source61: http://www.multiprecision.org/mpc/download/mpc-%{mpc_version}.tar.gz +%endif + +%if 0%{?_build_gmp} +Source62: ftp://ftp.gnu.org/gnu/gmp/gmp-%{gmp_version}.tar.bz2 +%endif + +%if 0%{?_build_libelf} +Source63: http://www.mr511.de/software/libelf-%{libelf_version}.tar.gz +%endif + %description Cross gcc for sh-rtems4.10. @@ -188,10 +291,14 @@ Cross gcc for sh-rtems4.10. %setup -c -T -n %{name}-%{version} %setup -q -T -D -n %{name}-%{version} -a0 -%{?PATCH0:%patch0 -p0} +cd gcc-%{gcc_pkgvers} +%{?PATCH0:%patch0 -p1} +cd .. %setup -q -T -D -n %{name}-%{version} -a1 -%{?PATCH1:%patch1 -p0} +cd gcc-%{gcc_pkgvers} +%{?PATCH1:%patch1 -p1} +cd .. @@ -211,7 +318,28 @@ cd .. ln -s ../mpfr-%{mpfr_version} gcc-%{gcc_pkgvers}/mpfr %endif -echo "RTEMS gcc-%{gcc_version}-6%{?dist}/newlib-%{newlib_version}-7%{?dist}" > gcc-%{gcc_pkgvers}/gcc/DEV-PHASE +%if 0%{?_build_mpc} +%setup -q -T -D -n %{name}-%{version} -a61 +%{?PATCH61:%patch61 -p1} + # Build mpc one-tree style + ln -s ../mpc-%{mpc_version} gcc-%{gcc_pkgvers}/mpc +%endif + +%if 0%{?_build_gmp} +%setup -q -T -D -n %{name}-%{version} -a62 +%{?PATCH62:%patch62 -p1} + # Build gmp one-tree style + ln -s ../gmp-%{gmp_version} gcc-%{gcc_pkgvers}/gmp +%endif + +%if 0%{?_build_libelf} +%setup -q -T -D -n %{name}-%{version} -a63 +%{?PATCH63:%patch63 -p1} + # Build libelf one-tree style + ln -s ../libelf-%{libelf_version} gcc-%{gcc_pkgvers}/libelf +%endif + +echo "RTEMS gcc-%{gcc_version}-7%{?dist}/newlib-%{newlib_version}-8%{?dist}" > gcc-%{gcc_pkgvers}/gcc/DEV-PHASE # Fix timestamps @@ -253,6 +381,8 @@ echo "RTEMS gcc-%{gcc_version}-6%{?dist}/newlib-%{newlib_version}-7%{?dist}" > g --disable-win32-registry \ --enable-version-specific-runtime-libs \ --enable-threads \ + %{?with_lto:--enable-lto}%{!?with_lto:--disable-lto} \ + %{?with_plugin:--enable-plugin}%{!?with_plugin:--disable-plugin} \ --enable-newlib-io-c99-formats \ --enable-languages="$languages" $optargs @@ -319,6 +449,13 @@ echo "RTEMS gcc-%{gcc_version}-6%{?dist}/newlib-%{newlib_version}-7%{?dist}" > g rmdir ${RPM_BUILD_ROOT}%{_prefix}/sh-rtems4.10/include/bits fi + # gcc >= 4.5.0: installs weird libstdc++ python bindings. +%if ! %{with pygdb} + if test -d ${RPM_BUILD_ROOT}%{_datadir}/gcc-%{gcc_version}/python; then + rm -rf ${RPM_BUILD_ROOT}%{_datadir}/gcc-%{gcc_version}/python/libstdcxx + fi +%endif + # Collect multilib subdirectories multilibs=`build/gcc/xgcc -Bbuild/gcc/ --print-multi-lib | sed -e 's,;.*$,,'` @@ -374,6 +511,8 @@ echo "RTEMS gcc-%{gcc_version}-6%{?dist}/newlib-%{newlib_version}-7%{?dist}" > g *jc1) ;; *jvgenmain) ;; */libgfortran*.*) echo "$i" >> build/files.gfortran ;; + %{!?with_pygdb:*/libstdc++*gdb.py*) rm ${RPM_BUILD_ROOT}/$i ;;} # ignore for now + %{?with_pygdb:*/libstdc++*gdb.py*) >> build/files.g++ ;;} */libstdc++.*) echo "$i" >> build/files.g++ ;; */libsupc++.*) echo "$i" >> build/files.g++ ;; *) echo "$i" >> build/files.gcc ;; @@ -470,7 +609,7 @@ sed -e 's,^[ ]*/usr/lib/rpm/find-debuginfo.sh,./find-debuginfo.sh,' \ # Group: Development/Tools # Version: %{gcc_rpmvers} # Requires: rtems-4.10-sh-rtems4.10-binutils -# Requires: rtems-4.10-sh-rtems4.10-newlib = %{newlib_version}-7%{?dist} +# Requires: rtems-4.10-sh-rtems4.10-newlib = %{newlib_version}-8%{?dist} # License: GPL # %if %build_infos @@ -488,7 +627,7 @@ Summary: libgcc for sh-rtems4.10-gcc Group: Development/Tools Version: %{gcc_rpmvers} %{?_with_noarch_subpackages:BuildArch: noarch} -Requires: rtems-4.10-sh-rtems4.10-newlib = %{newlib_version}-7%{?dist} +Requires: rtems-4.10-sh-rtems4.10-newlib = %{newlib_version}-8%{?dist} License: GPL %description -n rtems-4.10-sh-rtems4.10-gcc-libgcc @@ -518,7 +657,10 @@ libgcc sh-rtems4.10-gcc. %dir %{_libexecdir}/gcc/sh-rtems4.10/%{gcc_version} %{_libexecdir}/gcc/sh-rtems4.10/%{gcc_version}/cc1%{_exeext} %{_libexecdir}/gcc/sh-rtems4.10/%{gcc_version}/collect2%{_exeext} - +%if "%{gcc_version}" >= "4.5.0" +%{?with_lto:%{_libexecdir}/gcc/sh-rtems4.10/%{gcc_version}/lto%{_exeext}} +%{_libexecdir}/gcc/sh-rtems4.10/%{gcc_version}/lto-wrapper%{_exeext} +%endif %files -n rtems-4.10-sh-rtems4.10-gcc-libgcc -f build/files.gcc %defattr(-,root,root) @@ -530,12 +672,8 @@ libgcc sh-rtems4.10-gcc. %dir %{_gcclibdir}/gcc/sh-rtems4.10/%{gcc_version}/include %if "%{gcc_version}" > "4.0.3" -%if "sh-rtems4.10" != "bfin-rtems4.10" -%if "sh-rtems4.10" != "avr-rtems4.10" %dir %{_gcclibdir}/gcc/sh-rtems4.10/%{gcc_version}/include/ssp %endif -%endif -%endif %if "%{gcc_version}" >= "4.3.0" %{_gcclibdir}/gcc/sh-rtems4.10/%{gcc_version}/include-fixed @@ -663,7 +801,7 @@ Summary: C Library (newlib) for sh-rtems4.10 Group: Development/Tools License: Distributable Version: %{newlib_version} -Release: 7%{?dist} +Release: 8%{?dist} %{?_with_noarch_subpackages:BuildArch: noarch} Requires: rtems-4.10-newlib-common @@ -684,7 +822,7 @@ Newlib C Library for sh-rtems4.10. Summary: Base package for RTEMS newlib C Library Group: Development/Tools Version: %{newlib_version} -Release: 7%{?dist} +Release: 8%{?dist} %{?_with_noarch_subpackages:BuildArch: noarch} License: Distributable diff --git a/contrib/crossrpms/rtems4.10/sh/rtems-4.10-sh-rtems4.10-gdb.spec b/contrib/crossrpms/rtems4.10/sh/rtems-4.10-sh-rtems4.10-gdb.spec index 5d848e7179..67c5b2ad4f 100644 --- a/contrib/crossrpms/rtems4.10/sh/rtems-4.10-sh-rtems4.10-gdb.spec +++ b/contrib/crossrpms/rtems4.10/sh/rtems-4.10-sh-rtems4.10-gdb.spec @@ -52,7 +52,7 @@ Name: rtems-4.10-sh-rtems4.10-gdb Summary: Gdb for target sh-rtems4.10 Group: Development/Tools Version: %{gdb_rpmvers} -Release: 1%{?dist} +Release: 2%{?dist} License: GPL/LGPL URL: http://sources.redhat.com/gdb BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -60,33 +60,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: %{_host_rpmprefix}gcc %define build_sim --enable-sim -%if "%{_build}" != "%{_host}" -# psim doesn't support Cdn-X -%if "sh-rtems4.10" == "powerpc-rtems4.10" -%define build_sim --disable-sim -%endif -%endif -%ifos mingw mingw32 -# Mingw lacks functions required by the simulator -%if "sh-rtems4.10" == "sparc-rtems4.10" -%define build_sim --disable-sim -%endif -%if "sh-rtems4.10" == "h8300-rtems4.10" -%define build_sim --disable-sim -%endif -%if "%{gdb_version}" >= "6.8.50" -%if "sh-rtems4.10" == "m32c-rtems4.10" -%define build_sim --disable-sim -%endif -%endif -%if "sh-rtems4.10" == "lm32-rtems4.10" -%define build_sim --disable-sim -%endif -%if "sh-rtems4.10" == "mipstx39-rtems4.10" -%define build_sim --disable-sim -%endif -%endif %if "%{gdb_version}" >= "6.6" # suse diff --git a/contrib/crossrpms/rtems4.10/sparc/rtems-4.10-sparc-rtems4.10-gcc.spec b/contrib/crossrpms/rtems4.10/sparc/rtems-4.10-sparc-rtems4.10-gcc.spec index e82127c0b4..64d9482310 100644 --- a/contrib/crossrpms/rtems4.10/sparc/rtems-4.10-sparc-rtems4.10-gcc.spec +++ b/contrib/crossrpms/rtems4.10/sparc/rtems-4.10-sparc-rtems4.10-gcc.spec @@ -58,7 +58,7 @@ Summary: sparc-rtems4.10 gcc Group: Development/Tools Version: %{gcc_rpmvers} -Release: 6%{?dist} +Release: 7%{?dist} License: GPL URL: http://gcc.gnu.org BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -67,70 +67,154 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: %{_host_rpmprefix}gcc -%if "%{gcc_version}" >= "4.3.0" -%define _gmp_minvers 4.1 -%else -%if "%{gcc_version}" >= "4.2.0" +# FIXME: Disable lto for now, to avoid dependencies on libelf +%bcond_with lto + +# FIXME: Disamble python gdb scripts +# ATM, no idea how to package them +%bcond_with pygdb + +# FIXME: Disable GCC-plugin +# Bug in gcc-4.5-20100318, doesn't build them on x86_84 hosts. +%bcond_with plugin + +# versions of libraries, we conditionally bundle if necessary +%global mpc_version 0.8.1 +%global mpfr_version 2.4.1 +%global gmp_version 4.3.2 +%global libelf_version 0.8.13 + +# versions of libraries these distros are known to ship +%if 0%{?fc13} +%global mpc_provided 0.8.1 +%global mpfr_provided 2.4.1 +%global gmp_provided 4.3.1 %endif + +%if 0%{?fc12} +%global mpc_provided 0.8 +%global mpfr_provided 2.4.1 +%global gmp_provided 4.3.1 %endif -%if %{defined _gmp_minvers} -BuildRequires: gmp-devel >= %{_gmp_minvers} -%if "%{_build}" != "%{_host}" -BuildRequires: %{_host_rpmprefix}gmp-devel >= %{_gmp_minvers} +%if 0%{?fc11} +%global mpc_provided %{nil} +%global mpfr_provided 2.4.1 +%global gmp_provided 4.2.4 +%endif + +%if 0%{?rhel5} +%global mpc_provided %{nil} +%global mpfr_provided %{nil} +%global gmp_provided 4.1.4 %endif + +%if 0%{?suse11_0} +%global mpc_provided %{nil} +%global mpfr_provided 2.3.1 +%global gmp_provided 4.2.2 %endif -%if "%{gcc_version}" >= "4.3.3" -%define _cloog_minvers 0.15 +%if 0%{?suse11_1} +%global mpc_provided %{nil} +%global mpfr_provided 2.3.2 +%global gmp_provided 4.2.3 %endif -%if %{defined _cloog_minvers} -%{?fc11:BuildRequires: cloog-ppl-devel >= %_cloog_minvers} -%{?fc12:BuildRequires: cloog-ppl-devel >= %_cloog_minvers} -%{?fc13:BuildRequires: cloog-ppl-devel >= %_cloog_minvers} -%{?suse11_2:BuildRequires: cloog-devel >= %_cloog_minvers, ppl-devel} -%{?suse11_1:BuildRequires: cloog-devel >= %_cloog_minvers, ppl-devel} +%if 0%{?suse11_2} +%global mpc_provided 0.7 +%global mpfr_provided 2.4.1 +%global gmp_provided 4.3.1 +%endif + +%if 0%{?cygwin} +%global mpc_provided 0.8 +%global mpfr_provided 2.4.1 +%global gmp_provided 4.3.1 +%endif + +%if 0%{?mingw32} +%global mpc_provided 0.8.1 +%global mpfr_provided 2.4.1 +%global gmp_provided 4.3.2 %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" %endif + +%if "%{gcc_version}" >= "4.3.0" +%define gmp_required 4.1 +%define mpfr_required 2.3.1 %endif + +%if "%{gcc_version}" >= "4.3.3" +%define cloog_required 0.15 %endif -%if %{defined _mpfr_minvers} -# FIXME: This is an ugly cludge -%{?fc11:%global mpfr_provided 2.4.1} -%{?fc12:%global mpfr_provided 2.4.1} -%{?fc13:%global mpfr_provided 2.4.1} -%{?suse11_0:%global mpfr_provided 2.3.1} -%{?suse11_1:%global mpfr_provided 2.3.2} -%{?suse11_2:%global mpfr_provided 2.4.1} -%{?cygwin:%global mpfr_provided 2.4.1} -%{?mingw32:%global mpfr_provided %{nil}} +%if "%{gcc_version}" >= "4.4.0" +%define mpfr_required 2.3.2 +%endif -%if %{defined mpfr_provided} -%if "%{mpfr_provided}" < "%{_mpfr_minvers}" -%define _build_mpfr 1 +%if "%{gcc_version}" >= "4.5.0" +%define mpc_required 0.8 +%if %{with lto} +%define libelf_required 0.8.12 +%endif +%endif + +%if %{defined mpc_required} +%if "%{mpc_provided}" >= "%{mpc_required}" +%{?fedora:BuildRequires: libmpc-devel >= %{mpc_required}} +%{?suse:BuildRequires: mpc-devel >= %{mpc_required}} +%if "%{_build}" != "%{_host}" +BuildRequires: %{_host_rpmprefix}mpc-devel >= %{mpc_required} +%endif +%else +%define _build_mpc 1 +%endif +%endif + +%if %{defined gmp_required} +%if "%{gmp_provided}" >= "%{gmp_required}" +BuildRequires: gmp-devel >= %{gmp_required} +%if "%{_build}" != "%{_host}" +BuildRequires: %{_host_rpmprefix}gmp-devel >= %{gmp_required} +%endif %else +%define _build_gmp 1 +%endif +%endif + +%if %{defined libelf_required} +%if "%{libelf_provided}" >= "%{libelf_required}" +BuildRequires: libelf-devel >= %{libelf_required} %if "%{_build}" != "%{_host}" -BuildRequires: %{_host_rpmprefix}mpfr-devel >= %{_mpfr_minvers} +BuildRequires: %{_host_rpmprefix}libelf-devel >= %{libelf_required} +%endif %else -BuildRequires: mpfr-devel >= %{_mpfr_minvers} +%define _build_libelf 1 +%endif %endif + + +%if %{defined cloog_required} +%{?fc11:BuildRequires: cloog-ppl-devel >= %cloog_required} +%{?fc12:BuildRequires: cloog-ppl-devel >= %cloog_required} +%{?fc13:BuildRequires: cloog-ppl-devel >= %cloog_required} +%{?suse11_2:BuildRequires: cloog-devel >= %cloog_required, ppl-devel} +%{?suse11_1:BuildRequires: cloog-devel >= %cloog_required, ppl-devel} +%endif + + +%if %{defined mpfr_required} +%if "%{mpfr_provided}" >= "%{mpfr_required}" +BuildRequires: mpfr-devel >= %{mpfr_required} +%if "%{_build}" != "%{_host}" +BuildRequires: %{_host_rpmprefix}mpfr-devel >= %{mpfr_required} %endif %else %define _build_mpfr 1 %endif - %endif %if "%{_build}" != "%{_host}" @@ -148,10 +232,17 @@ BuildRequires: rtems-4.10-sparc-rtems4.10-binutils Requires: rtems-4.10-gcc-common Requires: rtems-4.10-sparc-rtems4.10-binutils Requires: rtems-4.10-sparc-rtems4.10-gcc-libgcc = %{gcc_rpmvers}-%{release} -Requires: rtems-4.10-sparc-rtems4.10-newlib = %{newlib_version}-7%{?dist} +Requires: rtems-4.10-sparc-rtems4.10-newlib = %{newlib_version}-8%{?dist} +%if "%{gcc_version}" >= "4.5.0" +BuildRequires: zlib-devel +%if "%{_build}" != "%{_host}" +BuildRequires: %{_host_rpmprefix}zlib-devel +%endif +%else +%endif -%define _gcclibdir %{_prefix}/lib +%global _gcclibdir %{_prefix}/lib %if "%{gcc_version}" == "4.4.3" Source0: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-core-%{gcc_pkgvers}.tar.bz2 @@ -173,14 +264,26 @@ Source1: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-g++-%{gcc_pkgve %if "%{newlib_version}" == "1.18.0" Source50: ftp://sources.redhat.com/pub/newlib/newlib-%{newlib_pkgvers}.tar.gz -Patch50: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/newlib-1.18.0-rtems4.10-20100310.diff +Patch50: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/newlib-1.18.0-rtems4.10-20100328.diff %endif %{?_without_sources:NoSource: 50} -%if "%{gcc_version}" >= "4.3.0" +%if 0%{?_build_mpfr} Source60: http://www.mpfr.org/mpfr-current/mpfr-%{mpfr_version}.tar.bz2 %endif +%if 0%{?_build_mpc} +Source61: http://www.multiprecision.org/mpc/download/mpc-%{mpc_version}.tar.gz +%endif + +%if 0%{?_build_gmp} +Source62: ftp://ftp.gnu.org/gnu/gmp/gmp-%{gmp_version}.tar.bz2 +%endif + +%if 0%{?_build_libelf} +Source63: http://www.mr511.de/software/libelf-%{libelf_version}.tar.gz +%endif + %description Cross gcc for sparc-rtems4.10. @@ -188,10 +291,14 @@ Cross gcc for sparc-rtems4.10. %setup -c -T -n %{name}-%{version} %setup -q -T -D -n %{name}-%{version} -a0 -%{?PATCH0:%patch0 -p0} +cd gcc-%{gcc_pkgvers} +%{?PATCH0:%patch0 -p1} +cd .. %setup -q -T -D -n %{name}-%{version} -a1 -%{?PATCH1:%patch1 -p0} +cd gcc-%{gcc_pkgvers} +%{?PATCH1:%patch1 -p1} +cd .. @@ -211,7 +318,28 @@ cd .. ln -s ../mpfr-%{mpfr_version} gcc-%{gcc_pkgvers}/mpfr %endif -echo "RTEMS gcc-%{gcc_version}-6%{?dist}/newlib-%{newlib_version}-7%{?dist}" > gcc-%{gcc_pkgvers}/gcc/DEV-PHASE +%if 0%{?_build_mpc} +%setup -q -T -D -n %{name}-%{version} -a61 +%{?PATCH61:%patch61 -p1} + # Build mpc one-tree style + ln -s ../mpc-%{mpc_version} gcc-%{gcc_pkgvers}/mpc +%endif + +%if 0%{?_build_gmp} +%setup -q -T -D -n %{name}-%{version} -a62 +%{?PATCH62:%patch62 -p1} + # Build gmp one-tree style + ln -s ../gmp-%{gmp_version} gcc-%{gcc_pkgvers}/gmp +%endif + +%if 0%{?_build_libelf} +%setup -q -T -D -n %{name}-%{version} -a63 +%{?PATCH63:%patch63 -p1} + # Build libelf one-tree style + ln -s ../libelf-%{libelf_version} gcc-%{gcc_pkgvers}/libelf +%endif + +echo "RTEMS gcc-%{gcc_version}-7%{?dist}/newlib-%{newlib_version}-8%{?dist}" > gcc-%{gcc_pkgvers}/gcc/DEV-PHASE # Fix timestamps @@ -253,6 +381,8 @@ echo "RTEMS gcc-%{gcc_version}-6%{?dist}/newlib-%{newlib_version}-7%{?dist}" > g --disable-win32-registry \ --enable-version-specific-runtime-libs \ --enable-threads \ + %{?with_lto:--enable-lto}%{!?with_lto:--disable-lto} \ + %{?with_plugin:--enable-plugin}%{!?with_plugin:--disable-plugin} \ --enable-newlib-io-c99-formats \ --enable-languages="$languages" $optargs @@ -319,6 +449,13 @@ echo "RTEMS gcc-%{gcc_version}-6%{?dist}/newlib-%{newlib_version}-7%{?dist}" > g rmdir ${RPM_BUILD_ROOT}%{_prefix}/sparc-rtems4.10/include/bits fi + # gcc >= 4.5.0: installs weird libstdc++ python bindings. +%if ! %{with pygdb} + if test -d ${RPM_BUILD_ROOT}%{_datadir}/gcc-%{gcc_version}/python; then + rm -rf ${RPM_BUILD_ROOT}%{_datadir}/gcc-%{gcc_version}/python/libstdcxx + fi +%endif + # Collect multilib subdirectories multilibs=`build/gcc/xgcc -Bbuild/gcc/ --print-multi-lib | sed -e 's,;.*$,,'` @@ -374,6 +511,8 @@ echo "RTEMS gcc-%{gcc_version}-6%{?dist}/newlib-%{newlib_version}-7%{?dist}" > g *jc1) ;; *jvgenmain) ;; */libgfortran*.*) echo "$i" >> build/files.gfortran ;; + %{!?with_pygdb:*/libstdc++*gdb.py*) rm ${RPM_BUILD_ROOT}/$i ;;} # ignore for now + %{?with_pygdb:*/libstdc++*gdb.py*) >> build/files.g++ ;;} */libstdc++.*) echo "$i" >> build/files.g++ ;; */libsupc++.*) echo "$i" >> build/files.g++ ;; *) echo "$i" >> build/files.gcc ;; @@ -470,7 +609,7 @@ sed -e 's,^[ ]*/usr/lib/rpm/find-debuginfo.sh,./find-debuginfo.sh,' \ # Group: Development/Tools # Version: %{gcc_rpmvers} # Requires: rtems-4.10-sparc-rtems4.10-binutils -# Requires: rtems-4.10-sparc-rtems4.10-newlib = %{newlib_version}-7%{?dist} +# Requires: rtems-4.10-sparc-rtems4.10-newlib = %{newlib_version}-8%{?dist} # License: GPL # %if %build_infos @@ -488,7 +627,7 @@ Summary: libgcc for sparc-rtems4.10-gcc Group: Development/Tools Version: %{gcc_rpmvers} %{?_with_noarch_subpackages:BuildArch: noarch} -Requires: rtems-4.10-sparc-rtems4.10-newlib = %{newlib_version}-7%{?dist} +Requires: rtems-4.10-sparc-rtems4.10-newlib = %{newlib_version}-8%{?dist} License: GPL %description -n rtems-4.10-sparc-rtems4.10-gcc-libgcc @@ -518,7 +657,10 @@ libgcc sparc-rtems4.10-gcc. %dir %{_libexecdir}/gcc/sparc-rtems4.10/%{gcc_version} %{_libexecdir}/gcc/sparc-rtems4.10/%{gcc_version}/cc1%{_exeext} %{_libexecdir}/gcc/sparc-rtems4.10/%{gcc_version}/collect2%{_exeext} - +%if "%{gcc_version}" >= "4.5.0" +%{?with_lto:%{_libexecdir}/gcc/sparc-rtems4.10/%{gcc_version}/lto%{_exeext}} +%{_libexecdir}/gcc/sparc-rtems4.10/%{gcc_version}/lto-wrapper%{_exeext} +%endif %files -n rtems-4.10-sparc-rtems4.10-gcc-libgcc -f build/files.gcc %defattr(-,root,root) @@ -530,12 +672,8 @@ libgcc sparc-rtems4.10-gcc. %dir %{_gcclibdir}/gcc/sparc-rtems4.10/%{gcc_version}/include %if "%{gcc_version}" > "4.0.3" -%if "sparc-rtems4.10" != "bfin-rtems4.10" -%if "sparc-rtems4.10" != "avr-rtems4.10" %dir %{_gcclibdir}/gcc/sparc-rtems4.10/%{gcc_version}/include/ssp %endif -%endif -%endif %if "%{gcc_version}" >= "4.3.0" %{_gcclibdir}/gcc/sparc-rtems4.10/%{gcc_version}/include-fixed @@ -663,7 +801,7 @@ Summary: C Library (newlib) for sparc-rtems4.10 Group: Development/Tools License: Distributable Version: %{newlib_version} -Release: 7%{?dist} +Release: 8%{?dist} %{?_with_noarch_subpackages:BuildArch: noarch} Requires: rtems-4.10-newlib-common @@ -684,7 +822,7 @@ Newlib C Library for sparc-rtems4.10. Summary: Base package for RTEMS newlib C Library Group: Development/Tools Version: %{newlib_version} -Release: 7%{?dist} +Release: 8%{?dist} %{?_with_noarch_subpackages:BuildArch: noarch} License: Distributable diff --git a/contrib/crossrpms/rtems4.10/sparc/rtems-4.10-sparc-rtems4.10-gdb.spec b/contrib/crossrpms/rtems4.10/sparc/rtems-4.10-sparc-rtems4.10-gdb.spec index 7cdedf2eef..6cd4d2dcfe 100644 --- a/contrib/crossrpms/rtems4.10/sparc/rtems-4.10-sparc-rtems4.10-gdb.spec +++ b/contrib/crossrpms/rtems4.10/sparc/rtems-4.10-sparc-rtems4.10-gdb.spec @@ -52,7 +52,7 @@ Name: rtems-4.10-sparc-rtems4.10-gdb Summary: Gdb for target sparc-rtems4.10 Group: Development/Tools Version: %{gdb_rpmvers} -Release: 1%{?dist} +Release: 2%{?dist} License: GPL/LGPL URL: http://sources.redhat.com/gdb BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -60,33 +60,9 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: %{_host_rpmprefix}gcc %define build_sim --enable-sim -%if "%{_build}" != "%{_host}" -# psim doesn't support Cdn-X -%if "sparc-rtems4.10" == "powerpc-rtems4.10" -%define build_sim --disable-sim -%endif -%endif -%ifos mingw mingw32 -# Mingw lacks functions required by the simulator -%if "sparc-rtems4.10" == "sparc-rtems4.10" +# Mingw lacks functions required by the sparc simulator %define build_sim --disable-sim -%endif -%if "sparc-rtems4.10" == "h8300-rtems4.10" -%define build_sim --disable-sim -%endif -%if "%{gdb_version}" >= "6.8.50" -%if "sparc-rtems4.10" == "m32c-rtems4.10" -%define build_sim --disable-sim -%endif -%endif -%if "sparc-rtems4.10" == "lm32-rtems4.10" -%define build_sim --disable-sim -%endif -%if "sparc-rtems4.10" == "mipstx39-rtems4.10" -%define build_sim --disable-sim -%endif -%endif %if "%{gdb_version}" >= "6.6" # suse |