%define gcc_pkgvers @GCC_PKGVERS@ %define gcc_version @GCC_VERS@ %define gcc_rpmvers %{expand:%(echo "@GCC_VERS@" | tr - _ )} %if %build_newlib %define newlib_pkgvers @NEWLIB_PKGVERS@ %define newlib_version @NEWLIB_VERS@ %endif Name: @rpmprefix@@tool_target@-gcc Summary: @tool_target@ gcc Group: Development/Tools Version: %{gcc_rpmvers} Release: @GCC_RPMREL@ License: GPL URL: http://gcc.gnu.org BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) %define _use_internal_dependency_generator 0 BuildRequires: %{_host_rpmprefix}gcc # FIXME: Disable lto for now, to avoid dependencies on libelf %bcond_with lto # FIXME: Disable 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 # EXPERIMENTAL: Use gcc's stdint.h instead of newlib's # Should be applicable to gcc >= 4.5.0 %bcond_with gcc_stdint # EXPERIMENTAL: Enable newlib's iconv %bcond_with iconv # versions of libraries, we conditionally bundle if necessary %global mpc_version 0.8.1 %global mpfr_version 2.4.2 %global gmp_version 4.3.2 %global libelf_version 0.8.13 # versions of libraries these distros are known to ship %if 0%{?fc16} %global mpc_provided 0.8.3 %global mpfr_provided 3.0.0 %global gmp_provided 4.3.2 %endif %if 0%{?fc15} %global mpc_provided 0.8.3 %global mpfr_provided 3.0.0 %global gmp_provided 4.3.2 %endif %if 0%{?fc14} %global mpc_provided 0.8.1 %global mpfr_provided 2.4.2 %global gmp_provided 4.3.1 %endif %if 0%{?el6} %global mpc_provided %{nil} %global mpfr_provided 2.4.1 %global gmp_provided 4.3.1 %endif %if 0%{?el5} %global mpc_provided %{nil} %global mpfr_provided %{nil} %global gmp_provided 4.1.4 %endif %if 0%{?suse11_3} %global mpc_provided 0.8.1 %global mpfr_provided 2.4.2 %global gmp_provided 4.3.2 %endif %if 0%{?suse11_4} %global mpc_provided 0.8.2 %global mpfr_provided 3.0.0 %global gmp_provided 5.0.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.2.0" %if %build_fortran %define gmp_required 4.1 %define mpfr_required 2.2.1 %endif %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 "%{gcc_version}" >= "4.4.0" %define mpfr_required 2.3.2 %endif %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 %define gmp_required 4.2 %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}libelf-devel >= %{libelf_required} %endif %else %define _build_libelf 1 %endif %endif %if %{defined cloog_required} %{?fc14:BuildRequires: cloog-ppl-devel >= %cloog_required} %{?fc15:BuildRequires: cloog-ppl-devel >= %cloog_required} %{?fc16:BuildRequires: cloog-ppl-devel >= %cloog_required} %{?el6:BuildRequires: cloog-ppl-devel >= %cloog_required} %{?suse11_4:BuildRequires: cloog-devel >= %cloog_required, ppl-devel} %{?suse11_3: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}" BuildRequires: @rpmprefix@@tool_target@-gcc = %{gcc_rpmvers} %endif %if "%{gcc_version}" >= "4.2.0" BuildRequires: flex bison %endif %if %build_gcj # Building gcj requires bison and zlib BuildRequires: bison %endif BuildRequires: texinfo >= 4.2 BuildRequires: @rpmprefix@@tool_target@-binutils BuildRequires: @rpmprefix@@tool_target@-sys-root BuildRequires: @rpmprefix@@tool_target@-w32api-sys-root %if %build_infos Requires: @rpmprefix@gcc-common %endif Requires: @rpmprefix@@tool_target@-binutils Requires: @rpmprefix@@tool_target@-sys-root Requires: @rpmprefix@@tool_target@-w32api-sys-root Requires: @rpmprefix@@tool_target@-gcc-libgcc = %{gcc_rpmvers}-%{release} %if %build_newlib Requires: @rpmprefix@@tool_target@-newlib = %{newlib_version}-@NEWLIB_RPMREL@ %endif %if "%{gcc_version}" >= "4.5.0" BuildRequires: zlib-devel %if "%{_build}" != "%{_host}" BuildRequires: %{_host_rpmprefix}zlib-devel %endif %else %if %build_gcj BuildRequires: zlib-devel %endif %endif %if %build_gnat # Building gnat requires gnat BuildRequires: gcc-gnat BuildRequires: @rpmprefix@@tool_target@-newlib < %{newlib_version}-@NEWLIB_RPMREL@ %endif %global _gcclibdir %{_prefix}/lib @SOURCES@ %if 0%{?_build_mpfr} Source60: http://www.mpfr.org/mpfr-%{mpfr_version}/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 @tool_target@.