# used for easy branding %define distro mageia %define branch 5 %define branch_major 5 %define branch_minor 0 %define rel 1 %define branch_tag %(perl -e 'printf "%%02d%%02d", split(/\\./,shift)' %{branch}) # NOTE! Dont forget to update mageia-files-gcc at the same time, or you will break the BS. %define snapshot %nil %define nof_arches noarch %define lsb_arches i386 x86_64 %define biarches x86_64 mips64 mips64el # Define libraries major versions %define libcc_major 0 %define libgcc_major 1 %define libstdcxx_major 6 %define libstdcxx_micro 21 %define libgfortran_major 3 %define libgcj_major 16 %define libobjc_major 4 %define libgnat_major 1 %define libffi_major 4 %define libssp_major 0 %define libgomp_major 1 %define libgcj_bc_major 1 %define libquadmath_major 0 %define libitm_major 1 %define libasan_major 2 %define libatomic_major 1 %define libatomic_minor 1 %define liblsan_major 0 %define libtsan_major 0 %define libubsan_major 0 %define libcilkrts_major 5 %define libvtv_major 0 # Disable -Werror because there's a format string warning in gcc/cp/parser.c # around line 2300 that a comment says is intentional :( %define Werror_cflags %nil # Package holding Java tools (gij, jv-convert, etc.) %define GCJ_TOOLS %{cross_prefix}gcj%{package_suffix}-tools # libgcj-devel should not provide libgcj_bc.so.1 %define _exclude_files_from_autoprov %{gcc_libdir}/%{gcc_target_platform}/%{version}/libgcj_bc.so #-- JDK version %define jdk_version 1.5.0 %define jdk_base java-%{jdk_version}-gcj %define jdk_home %{_prefix}/lib/jvm/%{jdk_base}-%{jdk_version}.0/jre # Define if building a cross compiler # FIXME: assume user does not define both cross and cross_bootstrap variables %define build_cross 0 %define build_cross_bootstrap 0 %{expand: %{?cross: %%global build_cross 1}} %{expand: %{?cross_bootstrap: %%global build_cross_bootstrap 1}} # System compiler in Mageia %define system_compiler 1 %define target_cpu %{_target_cpu} %if %{build_cross} %define system_compiler 0 %define target_cpu %{cross} %endif %if %{build_cross_bootstrap} %define build_cross 1 %define system_compiler 0 %define target_cpu %{cross_bootstrap} %endif %if %{system_compiler} %define alternative_priority 30%{branch_tag} %define cross_prefix %{nil} %define cross_program_prefix %{nil} %define package_suffix %{nil} %define program_prefix %{nil} %define program_suffix %{nil} %define program_long_suffix -%{version} %else %if %{build_cross} %define alternative_priority 10%{branch_tag} %define cross_prefix cross-%{target_cpu}- %define cross_program_prefix %{target_cpu}-%{_real_vendor}-linux%{gnuext}- %define package_suffix %{nil} %define program_prefix %{cross_program_prefix} %define program_suffix %{nil} %define program_long_suffix -%{version} %else %define alternative_priority 20%{branch_tag} %define cross_prefix %{nil} %define cross_program_prefix %{nil} %define package_suffix %{branch} %define program_prefix %{nil} %define program_suffix %{branch} %define program_long_suffix %{branch} %endif %endif %define _alternativesdir /etc/alternatives %if "%{package_suffix}" == "%{nil}" %define _package_suffix %{nil} %else %define _package_suffix -%{package_suffix} %endif %define gcc42_as_system_compiler 0 %if "%snapshot" != "" %define source_package gcc-%{branch}-%{snapshot} %define source_dir gcc-%{branch}-%{snapshot} %else %define source_package gcc-%{version} %define source_dir gcc-%{version} %endif # Define GCC target platform, and arch we built for %if %{build_cross} %define biarches noarch %define arch %{target_cpu} %define gcc_target_platform %{target_cpu}-%{_real_vendor}-linux%{gnuext} %define target_prefix %{_prefix}/%{gcc_target_platform} %define target_libdir %{target_prefix}/%{target_lib} %define target_slibdir %{target_prefix}/%{target_lib} %define target_slibdir32 %{target_prefix}/lib %else %define arch %(echo %{_target_cpu}|sed -e "s/\\(i.86\\|athlon\\)/i386/" -e "s/amd64/x86_64/") %define gcc_target_platform %{_target_platform} %define target_prefix %{_prefix} %define target_libdir %{_libdir} %define target_slibdir /%{_lib} %define target_slibdir32 /lib %endif %define isarch() %(case " %* " in (*" %{arch} "*) echo 1;; (*) echo 0;; esac) %define gcc_libdir %{_prefix}/lib/gcc %define gcj_libdir %{target_libdir}/gcj-%{version}-%{libgcj_major} %if %{build_cross} %if %isarch %arm %define gnuext -gnueabi %else %define gnuext -gnu %endif %endif %define target_lib lib %if %isarch x86_64 mips64 mips64el %define target_lib lib64 %endif %if %isarch x86_64 %define multilib_32_arch i586 %endif %if %isarch mips64 %define multilib_32_arch mips %endif %if %isarch mips64el %define multilib_32_arch mipsel %endif %if %isarch %{biarches} %define gcc32_target_platform %{multilib_32_arch}-%{distro}-%{_target_os}%{?_gnu} %endif # Location of Java headers, don't let them in compiler specific # directory as they are grabbed first %define libjava_includedir %{target_prefix}/include/libgcj-%{version} # We now have versioned libstdcxx_includedir, that is c++/<VERSION>/ %define libstdcxx_includedir %{target_prefix}/include/c++/%{version} %define build_minimal 0 %define build_monolithic 0 %define build_doc 1 %define build_pdf_doc 0 %define build_libstdcxx_docs 1 %define build_check 1 %define build_ada 1 %define gpc_snapshot 20040516 %define build_pascal 0 %ifarch noarch %define build_pascal 1 %endif %define build_cxx 1 %define build_libstdcxx %{build_cxx} %define build_fortran 1 %if %isarch %arm %define build_quadmath 0 %else %define build_quadmath 1 %endif %define build_objc 1 %define build_objcp 1 %define build_libgcj_bc 1 %define build_libffi 0 %define build_libgomp 1 %define build_java 1 %define build_debug 0 %define build_stdcxxheaders 1 %define build_libitm 1 %define build_libasan 1 %define build_libatomic 1 %define build_libubsan 1 # only i?86 and x86_64 are supported, see libvtv/configure.tgt %ifarch %{ix86} x86_64 %define build_libvtv 1 %else %define build_libvtv 0 %endif %if %isarch x86_64 %define build_liblsan 1 %define build_libtsan 1 %else %define build_liblsan 0 %define build_libtsan 0 %endif %ifarch %{ix86} x86_64 %define build_libcilkrts 1 %else %define build_libcilkrts 0 %endif %if %{gcc42_as_system_compiler} %define build_libstdcxx 0 %endif # use SSP support from glibc %define use_ssp_glibc 1 %define build_libssp 0 %if !%{system_compiler} %define build_objc 0 %define build_objcp 0 %define build_pascal 0 %define build_ada 0 %define build_libffi 0 %define build_libgomp 0 %endif %define use_hash_style_gnu 0 %define build_isl 1 %if %isarch %mips %define build_java 0 %endif # Define C library to use %define libc glibc %define libc_shared 1 %if "%{libc}" == "glibc" # Default to --hash-style=gnu %define use_hash_style_gnu 1 %endif %if !%{build_cross_bootstrap} # Make sure pthread.h doesn't contain __thread keyword %define libc_version 2.2.5-14 %if %{use_ssp_glibc} # Make sure glibc supports stack protector %define libc_version 2.4-1 %endif %if %{use_hash_style_gnu} # Make sure glibc supports DT_GNU_HASH %define libc_version 2.4-6 %endif %endif %if %isarch %mips %define build_libssp 0 %define use_ssp_glibc 0 %endif # Allow --with[out] <feature> at rpm command line build %{expand: %{?_without_PDF: %%global build_pdf_doc 0}} %{expand: %{?_without_DEBUG: %%global build_debug 0}} %{expand: %{?_without_check: %%global build_check 0}} %{expand: %{?_without_CHECK: %%global build_check 0}} %{expand: %{?_without_MINIMAL: %%global build_minimal 0}} %{expand: %{?_with_PDF: %%global build_pdf_doc 1}} %{expand: %{?_with_DEBUG: %%global build_debug 1}} %{expand: %{?_with_CHECK: %%global build_check 1}} %{expand: %{?_with_MINIMAL: %%global build_minimal 1}} # Allow --without <front-end> at rpm command line build %{expand: %{?_with_CXX: %%global build_cxx 1}} %{expand: %{?_with_ADA: %%global build_ada 1}} %{expand: %{?_with_FORTRAN: %%global build_fortran 1}} %{expand: %{?_with_JAVA: %%global build_java 1}} %{expand: %{?_with_OBJC: %%global build_objc 1}} %{expand: %{?_with_OBJCXX: %%global build_objcp 1}} %{expand: %{?_with_PASCAL: %%global build_pascal 1}} # Allow --with <front-end> at rpm command line build %{expand: %{?_without_CXX: %%global build_cxx 0}} %{expand: %{?_without_ADA: %%global build_ada 0}} %{expand: %{?_without_FORTRAN: %%global build_fortran 0}} %{expand: %{?_without_JAVA: %%global build_java 0}} %{expand: %{?_without_OBJC: %%global build_objc 0}} %{expand: %{?_without_OBJCXX: %%global build_objcp 0}} %{expand: %{?_without_PASCAL: %%global build_pascal 0}} # A minimal build overrides all other options %if %{build_cross_bootstrap} %define build_minimal 1 %define libc_shared 0 %endif %if %{build_minimal} %define build_doc 0 %define build_pdf_doc 0 %define build_libstdcxx_docs 0 %define build_check 0 %define build_ada 0 %define build_cxx 0 %define build_fortran 0 %define build_quadmath 0 %define build_objc 0 %define build_objcp 0 %define build_java 0 %define build_debug 0 %define build_libffi 0 %define build_libitm 0 %define build_libasan 0 %define build_libatomic 0 %define build_liblsan 0 %define build_libtsan 0 %define build_libubsan 0 %define build_libcilkrts 0 %endif %if %{build_cross} %define build_monolithic 1 %define build_doc 0 %define build_pdf_doc 0 %define build_libstdcxx_docs 0 # Unsupported front-ends when cross-compiling for now %define build_check 0 %define build_java 0 %define build_libgcj_bc 0 %define build_ada 0 %define build_libffi 0 %endif %if !%{libc_shared} %define build_java 0 %endif %if !%{build_java} %define build_libffi 0 %endif # Define library packages names %define libgcc_name_orig %{cross_prefix}libgcc %define libgcc_name %{libgcc_name_orig}%{libgcc_major} %define libstdcxx_name_orig %{cross_prefix}libstdc++ %define libstdcxx_name %{libstdcxx_name_orig}%{libstdcxx_major} %define libgfortran_name_orig %{cross_prefix}libgfortran %define libgfortran_name %{libgfortran_name_orig}%{libgfortran_major} %define libgcj_name_orig %{cross_prefix}libgcj %define libgcj_name %{cross_prefix}%{mklibname gcj %{libgcj_major}} %define libgcj_devel_name %{cross_prefix}%{mklibname gcj -d} %define libgcj_static_devel_name %{cross_prefix}%{mklibname gcj -d -s} %define libgcj_name_base %{libgcj_name_orig}%{libgcj_major} %define libgcj_bc_name %{cross_prefix}%{mklibname gcj_bc %{libgcj_bc_major}} %define libobjc_name_orig %{cross_prefix}libobjc %define libobjc_name %{libobjc_name_orig}%{libobjc_major} %define libgnat_name_orig %{cross_prefix}libgnat %define libgnat_name %{libgnat_name_orig}%{libgnat_major} %define libffi_name_orig %{cross_prefix}libffi %define libffi_name %{libffi_name_orig}%{libffi_major} %define libssp_name_orig %{cross_prefix}libssp %define libssp_name %{libssp_name_orig}%{libssp_major} %define libgomp_name_orig %{cross_prefix}libgomp %define libgomp_name %{libgomp_name_orig}%{libgomp_major} %define libquadmath_name_orig %{cross_prefix}libquadmath %define libquadmath_name %{libquadmath_name_orig}%{libquadmath_major} %define libitm_name_orig %{cross_prefix}libitm %define libitm_name %{libitm_name_orig}%{libitm_major} %define libasan_name_orig %{cross_prefix}libasan %define libasan_name %{libasan_name_orig}%{libasan_major} %define libatomic_name_orig %{cross_prefix}libatomic %define libatomic_name %{libatomic_name_orig}%{libatomic_major} %define liblsan_name_orig %{cross_prefix}liblsan %define liblsan_name %{liblsan_name_orig}%{liblsan_major} %define libtsan_name_orig %{cross_prefix}libtsan %define libtsan_name %{libtsan_name_orig}%{libtsan_major} %define libubsan_name_orig %{cross_prefix}libubsan %define libubsan_name %{libubsan_name_orig}%{libubsan_major} %define libcilkrts_name_orig %{cross_prefix}libcilkrts %define libcilkrts_name %{libcilkrts_name_orig}%{libcilkrts_major} %define libvtv_name_orig %{cross_prefix}libvtv %define libvtv_name %{libvtv_name_orig}%{libvtv_major} # Extract Mageia name and version %define mga_distro_version_file /etc/release %define mga_distro_version %(perl -ne '/^([.\\w\\s]+) \\(.+\\).+/ and print $1' < %{mga_distro_version_file}) Summary: GNU Compiler Collection Name: %{cross_prefix}gcc%{package_suffix} Version: %{branch}.%{branch_major}.%{branch_minor} Release: %mkrel %{rel} License: GPLv3+ Group: Development/C # Main source: (CVS) URL: http://gcc.gnu.org/ Source0: %{source_package}.tar.xz Source1: lsb-headers-3.1.1.tar.bz2 Source5: gcc35-gpc-%{gpc_snapshot}.tar.bz2 # FIXME: unless we get proper help2man package Source6: gcc35-help2man.pl Source8: build_cross_gcc4.sh # Minimal set of java.security classes from Apache Harmony # necessary to get libgcj networking to function with # bouncycastle 1.50. Fetched from: # http://svn.apache.org/viewvc/harmony/enhanced/java/trunk/classlib/modules/security/src/main/java/common/ Source9: harmony-java-security-ec.tar.bz2 # Mageia patches + backports from trunk # LSB compliant headers (for cross compiling without (glibc?) headers) Patch999: lsb-headers-3.1.1-misc.patch Patch1000: lsb-headers-3.1.1-mips-support.patch # slibdir is either /lib or /lib64 Patch101: gcc33-pass-slibdir.patch # pass libdir around Patch107: gcc-4.6.2-multi-do-libdir.patch # testsuite Patch1: gcc33-pr11536-testcase.patch Patch2: gcc33-pr9929-testcase.patch Patch102: gcc32-pr7434-testcase.patch Patch103: gcc33-pr8213-testcase.patch Patch113: gcc33-pr11631.patch # ada Patch106: gcc-4.6.2-ada-makefile.patch # gnu pascal Patch111: gcc34-gpc-fixes.patch Patch112: gcc33-gpc-serialize-build.patch # build 32 bits code when running through linux32 Patch115: gcc-4.8.2-linux32.patch # revert build break Patch126: gcc-4.9-PR-bootstrap_56714.patch # Load property.files from /usr/lib, not /usr/lib64, so that # they can be shared with other classpath jvms (asked by dwalluck) Patch130: gcc43-no-multilib-propertydir.patch Patch132: gcc-4.6.2-custom-libgcj_bc-rpath.patch # Remove Apache Harmony specific error message code from Source9 Patch133: harmony-java-security-ec-messages.patch # Red Hat patches # allow --disable-libjava-multilib to disable multilib for java Patch201: gcc-4.7.1-java-nomulti.patch # fix libltdl with multilib? Patch207: gcc4-libltdl-multilib.patch # use hash style gnu (faster dynamic linking, cf http://lwn.net/Articles/192624/) Patch211: gcc-5.2.1-hash-style-gnu.patch # mips patches from the gdium tree Patch301: gcc-mips-libjava-interp.patch Patch302: gcc-4.7.1-mips_gcc_testsuite_fix_loop.patch # (proyvind): set interpreter path used by our uclibc for use with -muclibc Patch304: gcc-4.7.1-uclibc-ldso-path.patch Patch306: gcc-4.5-mips64_multilib.patch Patch501: gcc-4.5-arm-unbreak-eabi-armv4t.dpatch Patch502: gcc-4.8.2-arm_format_fix.patch # use gnu hash by default on arm Patch507: gcc-5.2.1-arm-gnuhash.patch # upstream gcc-5 branch # upstream master branch Patch2001: 2001-Support-exception-propagation-without-lock-free-atom.patch # RETPOOLINE (from H.J. Lu via debian) Patch3000: 0001-i386-Move-struct-ix86_frame-to-machine_function.diff Patch3001: 0002-i386-Use-reference-of-struct-ix86_frame-to-avoid-cop.diff Patch3002: 0003-i386-More-use-reference-of-struct-ix86_frame-to-avoi.diff Patch3003: 0004-i386-Don-t-use-reference-of-struct-ix86_frame.diff Patch3004: 0005-x86-Add-mindirect-branch.diff Patch3005: 0005-x86-Add-mindirect-branch-doc.diff Patch3006: 0006-x86-Add-mfunction-return.diff Patch3007: 0006-x86-Add-mfunction-return-doc.diff Patch3008: 0007-x86-Add-mindirect-branch-register.diff Patch3009: 0007-x86-Add-mindirect-branch-register-doc.diff Patch3010: 0008-x86-Add-V-register-operand-modifier.diff Patch3011: 0008-x86-Add-V-register-operand-modifier-doc.diff Patch3012: 0009-x86-Disallow-mindirect-branch-mfunction-return-with-.diff Patch3013: 0009-x86-Disallow-mindirect-branch-mfunction-return-with-doc.diff # Want updated alternatives priorities %if %{build_cross} Conflicts: gcc-cpp < 3.2.2-4 %endif # TEMP FORCE NEW binutils %define binutils_version 1:2.25.1 #if %{use_hash_style_gnu} #define binutils_version 2.16.91.0.7-6 #endif # libmudflap got dropped in upstream 4.9 Obsoletes: libmudflap0 Obsoletes: libmudflap-devel Requires: %{cross_prefix}binutils >= %{binutils_version} BuildRequires: %{cross_prefix}binutils >= %{binutils_version} # Make sure gdb will understand DW_FORM_strp Conflicts: gdb < 5.1.1 BuildRequires: zlib-devel BuildRequires: chrpath %if %{gcc42_as_system_compiler} # We need gcc4.2 + its libstdc++ headers %define gcc42_version %(gcc4.2-version 2>/dev/null || echo 0) %if !%{build_stdcxxheaders} %define libstdcxx_includedir %{target_prefix}/include/c++/%{gcc42_version} %endif BuildRequires: gcc4.2 BuildRequires: gcc4.2-c++ %endif %if %{build_ada} # Ada requires Ada to build BuildRequires: %{name}-gnat >= 3.1, %{libgnat_name} >= 3.1 %endif # isl is used for Graphite support (optimizations) # see http://gcc.gnu.org/wiki/Graphite %if %{build_isl} BuildRequires: isl-devel >= 0.14 %endif #needed for lto support BuildRequires: elfutils-devel Requires: %{name}-cpp = %{version}-%{release} # FIXME: We need a libgcc with 3.4 symbols %if %{libc_shared} && !%{build_monolithic} Requires: %{libgcc_name_orig} >= 3.3.2-5 %endif Requires(post): update-alternatives Requires(postun): update-alternatives BuildRequires: gettext BuildRequires: flex BuildRequires: bison BuildRequires: texinfo >= 4.1 BuildRequires: texinfo-tex # XXX: Needs a GNU awk recent enough to correctly generate options.h BuildRequires: gawk >= 3.1.4 %if "%{?libc_version:%{libc_version}}" != "" Requires: %{cross_prefix}%{libc}-devel >= %{libc_version} BuildRequires: %{cross_prefix}%{libc}-devel >= %{libc_version} %endif %if %{build_check} BuildRequires: %{cross_prefix}glibc-static-devel BuildRequires: autogen %endif %if %{system_compiler} Obsoletes: gcc%{branch} Provides: gcc%{branch} = %{version}-%{release} # see later warning about libgcc_so & ld script # rpm has not way to find that ld script is ld script %if %isarch %arm %if !%build_cross Provides: devel(libgcc_s) %endif %endif %else Conflicts: %{cross_prefix}gcc%{branch} < %{version}-%{release} %endif # for clean upgrade from manbo labs Obsoletes: manbo-mandriva-files-gcc %if %{build_pdf_doc} BuildRequires: tetex BuildRequires: dvips BuildRequires: tetex-latex %endif %if %{build_libstdcxx_docs} BuildRequires: doxygen BuildRequires: graphviz %endif %if %{build_check} BuildRequires: dejagnu %endif %if %{build_cross} AutoReq: false AutoProv: false %endif BuildRequires: libgmp-devel BuildRequires: libmpfr-devel BuildRequires: libmpc-devel %description A compiler aimed at integrating all the optimizations and features necessary for a high-performance and stable development environment. This package is required for all other GCC compilers, namely C++, Fortran 95, Objective C, Java and Ada 95. %package -n %{libgcc_name} Summary: GNU C library Group: System/Libraries Provides: %{libgcc_name_orig} = %{version}-%{release} Obsoletes: %{libgcc_name_orig}%{branch} Provides: %{libgcc_name_orig}%{branch} = %{version}-%{release} Obsoletes: %{libgcc_name_orig}3.0 Provides: %{libgcc_name_orig}3.0 = %{version}-%{release} Provides: %{libgcc_name_orig}3.2 = %{version}-%{release} %if %{build_cross} AutoReq: false AutoProv: false %endif %description -n %{libgcc_name} The %{libgcc_name} package contains GCC shared libraries for gcc %{branch} #################################################################### # C++ Compiler %package c++ Summary: C++ support for gcc Group: Development/C++ %if %{system_compiler} Obsoletes: gcc%{branch}-c++ Provides: gcc%{branch}-c++ = %{version}-%{release} %else Conflicts: %{cross_prefix}gcc%{branch}-c++ < %{version}-%{release} %endif Requires: %{name} = %{version}-%{release} # for easy upgrade from manbo labs Obsoletes: manbo-mandriva-files-gcc-c++ %if %{system_compiler} # some day, rpm will be smart enough: %if (%{system_compiler} || %{build_cross}) && !%{build_monolithic} %if %{libc_shared} Requires: %{libstdcxx_name} = %{version} %endif Requires: %{libstdcxx_name_orig}-devel = %{version} %else %if %{gcc42_as_system_compiler} %if %{libc_shared} Requires: %{libstdcxx_name} >= %{gcc42_version} %endif %if !%{build_stdcxxheaders} Requires: %{libstdcxx_name_orig}-devel >= %{gcc42_version} %endif %endif %endif %if %{build_cross} AutoReq: false AutoProv: false %endif Requires(post): update-alternatives Requires(postun): update-alternatives %description c++ This package adds C++ support to the GNU C compiler. It includes support for most of the current C++ specification, including templates and exception handling. It does include the static standard C++ library and C++ header files; the library for dynamically linking programs is available separately. #################################################################### # gcc Plugins %package -n %{name}-plugins Summary: Headers to build gcc plugins Group: Development/C %description -n %{name}-plugins This package contains the headers needed to build gcc plugins. #################################################################### # C++ Libraries %package -n %{libstdcxx_name} Summary: GNU C++ library Group: System/Libraries Provides: %{libstdcxx_name_orig} = %{version}-%{release} %if "%{branch}" == "3.3" # By default, the libstdc++ from gcc3.3 is ABI compatible with the one # from gcc3.2. Just tell other packages about it if they relied on that. Provides: %{libstdcxx_name_orig}3.2 = %{version}-%{release} %endif %if %{build_cross} AutoReq: false AutoProv: false %endif %description -n %{libstdcxx_name} This package contains the GCC Standard C++ Library v3, an ongoing project to implement the ISO/IEC 14882:1998 Standard C++ library. %package -n %{libstdcxx_name_orig}-devel Summary: Header files and libraries for C++ development Group: Development/C++ %if %{libc_shared} Requires: %{libstdcxx_name} = %{version}-%{release} %endif Provides: %{libstdcxx_name_orig}6-devel Obsoletes: %{libstdcxx_name_orig}6-devel %if %{build_cross} AutoReq: false AutoProv: false %endif %description -n %{libstdcxx_name_orig}-devel This is the GNU implementation of the standard C++ libraries. This package includes the header files and libraries needed for C++ development. %package -n %{libstdcxx_name_orig}-static-devel Summary: Static libraries for C++ development Group: Development/C++ Requires: %{libstdcxx_name_orig}-devel = %{version}-%{release} Provides: %{libstdcxx_name_orig}6-static-devel Obsoletes: %{libstdcxx_name_orig}6-static-devel %if %{build_cross} AutoReq: false AutoProv: false %endif %description -n %{libstdcxx_name_orig}-static-devel This is the GNU implementation of the standard C++ libraries. This package includes the static libraries needed for C++ development. #################################################################### # Objective C Compiler %package objc Summary: Objective C support for gcc Group: Development/Other %if %{system_compiler} Obsoletes: gcc%{branch}-objc Provides: gcc%{branch}-objc = %{version}-%{release} %endif Requires: %{name} = %{version}-%{release} %if %{libc_shared} && !%{build_monolithic} Requires: %{libobjc_name} = %{version}-%{release} %endif %if %{build_cross} AutoReq: false AutoProv: false %endif %description objc This package adds Objective C support to the GNU C compiler. Objective C is an object oriented derivative of the C language, mainly used on systems running NeXTSTEP. This package does not include the standard Objective C object library. #################################################################### # Objective C++ Compiler %package objc++ Summary: Objective C++ support for gcc Group: Development/Other %if %{system_compiler} Obsoletes: gcc%{branch}-objc++ Provides: gcc%{branch}-objc++ = %{version}-%{release} %endif Requires: %{name}-objc = %{version}-%{release} Requires: %{name}-c++ = %{version}-%{release} %if %{build_cross} AutoReq: false AutoProv: false %endif %description objc++ This package adds Objective C++ support to the GNU C++ compiler. #################################################################### # Objective C Libraries %package -n %{libobjc_name} Summary: Objective C runtime libraries Group: System/Libraries Obsoletes: %{libobjc_name_orig}3.0, %{libobjc_name_orig}3.1 Provides: %{libobjc_name_orig} = %{version}-%{release} Provides: %{libobjc_name_orig}3.0 = %{version}-%{release} Provides: %{libobjc_name_orig}3.1 = %{version}-%{release} %if !%{system_compiler} Conflicts: %{name}-objc < %{branch} %endif %if %{build_cross} AutoReq: false AutoProv: false %endif %description -n %{libobjc_name} Runtime libraries for the GNU Objective C Compiler. #################################################################### # Pascal Compiler %if %{build_pascal} %package gpc Summary: Pascal support for gcc Group: Development/Other %if %{system_compiler} Obsoletes: gcc%{branch}-gpc Provides: gcc%{branch}-gpc = %{version}-%{release} %endif Requires: %{name} = %{version}-%{release} %if %{build_cross} AutoReq: false AutoProv: false %endif %description gpc The GNU Pascal Compiler (GPC) is, as the name says, the Pascal compiler of the GNU family. The compiler supports the following language standards and quasi-standards: * ISO 7185 Pascal (see Resources), * most of ISO 10206 Extended Pascal, * Borland Pascal 7.0, * parts of Borland Delphi, Mac Pascal and Pascal-SC (PXSC). %endif #################################################################### # Fortran 95 Compiler %package gfortran Summary: Fortran 95 support for gcc Group: Development/Other %if %{system_compiler} Obsoletes: gcc%{branch}-gfortran Provides: gcc%{branch}-gfortran = %{version}-%{release} %endif # for easy upgrade from manbo labs Obsoletes: manbo-mandriva-files-gcc-gfortran Obsoletes: gcc%{branch}-g77 Requires: %{name} = %{version}-%{release} %if %{build_quadmath} Requires: quadmath-devel = %{version}-%{release} %endif %if %{libc_shared} && !%{build_monolithic} Requires: %{libgfortran_name} = %{version}-%{release} %endif %if %{build_cross} AutoReq: false AutoProv: false %endif %description gfortran This package adds support for compiling Fortran 95 programs with the GNU compiler. #################################################################### # Fortran 95 Libraries %package -n %{libgfortran_name} Summary: Fortran 95 runtime libraries Group: System/Libraries %if %{build_quadmath} Requires: %{libquadmath_name} = %{version}-%{release} %endif Provides: %{libgfortran_name_orig} = %{version} Obsoletes: %{libgfortran_name_orig}%{branch} Provides: %{libgfortran_name_orig}%{branch} = %{version}-%{release} Obsoletes: libgfortran0 %if %{build_cross} AutoReq: false AutoProv: false %endif %description -n %{libgfortran_name} This package contains Fortran 95 shared library which is needed to run Fortran 95 dynamically linked programs. #################################################################### # Quadmath Libraries %if %{build_quadmath} %package -n %{libquadmath_name} Summary: GCC __float128 shared support library Group: System/Libraries Provides: %{libquadmath_name_orig} = %{version}-%{release} %description -n %{libquadmath_name} This package contains GCC shared support library which is needed for __float128 math support and for Fortran REAL*16 support. %package -n %{libquadmath_name_orig}-devel Summary: GCC __float128 support Group: Development/C Provides: quadmath-devel = %{version}-%{release} %description -n %{libquadmath_name_orig}-devel This package contains support for building Fortran programs using REAL*16 and programs using __float128 math. %endif #################################################################### # ITM Libraries %if %{build_libitm} %package -n %{libitm_name} Summary: The GNU Transactional Memory library Group: System/Libraries Provides: %{libitm_name_orig} = %{version}-%{release} %description -n %{libitm_name} This package contains the GNU Transactional Memory library which is a GCC transactional memory support runtime library. %package -n %{libitm_name_orig}-devel Summary: The GNU Transactional Memory library devel files Group: Development/C Provides: libitm-devel = %{version}-%{release} Requires: %{libitm_name_orig} = %{version}-%{release} Requires: gcc = %{version}-%{release} %description -n %{libitm_name_orig}-devel This package contains headers and support files for the GNU Transactional Memory library. %endif #################################################################### # Address Sanitizer Libraries %if %{build_libasan} %package -n %{libasan_name} Summary: The Address Sanitizer runtime library Group: System/Libraries Provides: %{libasan_name_orig} = %{version}-%{release} %description -n %{libasan_name} This package contains the Address Sanitizer library which is used for -fsanitize=address instrumented programs. %package -n %{libasan_name_orig}-devel Summary: The Address Sanitizer runtime library devel files Group: Development/C Provides: libasan-devel = %{version}-%{release} Requires: %{libasan_name} = %{version}-%{release} %description -n %{libasan_name_orig}-devel This package contains the devel files for Address Sanitizer library which is used for -fsanitize=address instrumented programs. %endif #################################################################### # Leak Sanitizer Libraries %if %{build_liblsan} %package -n %{liblsan_name} Summary: The Leak Sanitizer runtime library Group: System/Libraries Provides: %{liblsan_name_orig} = %{version}-%{release} %description -n %{liblsan_name} This package contains the Leak Sanitizer library which is used for -fsanitize=leak instrumented programs. %package -n %{liblsan_name_orig}-devel Summary: The Leak Sanitizer runtime library devel files Group: Development/C Provides: liblsan-devel = %{version}-%{release} Requires: %{liblsan_name} = %{version}-%{release} %description -n %{liblsan_name_orig}-devel This package contains the devel files for Leak Sanitizer library which is used for -fsanitize=leak instrumented programs. %endif #################################################################### # Thread Sanitizer Libraries %if %{build_libtsan} %package -n %{libtsan_name} Summary: The Thread Sanitizer runtime library Group: System/Libraries Provides: %{libtsan_name_orig} = %{version}-%{release} %description -n %{libtsan_name} This package contains the Thread Sanitizer library which is used for -fsanitize=thread instrumented programs. %package -n %{libtsan_name_orig}-devel Summary: The Thread Sanitizer runtime library devel files Group: Development/C Provides: libtsan-devel = %{version}-%{release} Requires: %{libtsan_name} = %{version}-%{release} %description -n %{libtsan_name_orig}-devel This package contains the devel files for Thread Sanitizer library which is used for -fsanitize=thread instrumented programs. %endif #################################################################### # Undefined Behaviour Sanitizer Libraries %if %{build_libubsan} %package -n %{libubsan_name} Summary: The Undefined Behaviour Sanitizer runtime library Group: System/Libraries Provides: %{libubsan_name_orig} = %{version}-%{release} %description -n %{libubsan_name} This package contains the Undefined Behaviour Sanitizer library which is used for -fsanitize=undefined instrumented programs. %package -n %{libubsan_name_orig}-devel Summary: The Undefined Behaviour Sanitizer runtime library devel files Group: Development/C Provides: libubsan-devel = %{version}-%{release} Requires: %{libubsan_name} = %{version}-%{release} %description -n %{libubsan_name_orig}-devel This package contains the devel files for Undefined Behaviour Sanitizer library which is used for -fsanitize=undefined instrumented programs. %endif #################################################################### # The GNU Atomic Libraries %if %{build_libatomic} %package -n %{libatomic_name} Summary: The GNU Atomic library Group: System/Libraries Provides: %{libatomic_name_orig} = %{version}-%{release} %description -n %{libatomic_name} This package contains the GNU Atomic library which is a GCC support runtime library for atomic operations not supported by hardware. %package -n %{libatomic_name_orig}-devel Summary: The Thread Sanitizer runtime library devel files Group: Development/C Provides: libtsan-devel = %{version}-%{release} Requires: %{libatomic_name} = %{version}-%{release} %description -n %{libatomic_name_orig}-devel This package contains the devel files for the GNU Atomic library which is a GCC support runtime library for atomic operations not supported by hardware. %endif #################################################################### # The Virtual Table Verification Libraries %if %{build_libvtv} %package -n %{libvtv_name} Summary: The Virtual Table Verification runtime libraries Group: System/Libraries Provides: %{libvtv_name_orig} = %{version}-%{release} %description -n %{libvtv_name} This package contains the Virtual Table Verification runtime libraries. %package -n %{libvtv_name_orig}-devel Summary: The Virtual Table Verification runtime library devel files Group: Development/C Provides: libvtv-devel = %{version}-%{release} %description -n %{libvtv_name_orig}-devel This package contains the devel files for the Virtual Table Verification runtime libraries. %endif #################################################################### # The Cilk+ Libraries %if %{build_libcilkrts} %package -n %{libcilkrts_name} Summary: The Cilk+ runtime libraries Group: System/Libraries Provides: %{libcilkrts_name_orig} = %{version}-%{release} %description -n %{libcilkrts_name} This package contains the Cilk+ runtime libraries. %package -n %{libcilkrts_name_orig}-devel Summary: The Cilk+ runtime library devel files Group: Development/C Provides: libcilkrts-devel = %{version}-%{release} %description -n %{libcilkrts_name_orig}-devel This package contains the devel files for the Cilk+ runtime libraries. %endif #################################################################### # Ada 95 Compiler %if %{build_ada} %package gnat Summary: Ada 95 support for gcc Group: Development/Other Requires: %{libgnat_name} = %{version}-%{release} %if %{system_compiler} Obsoletes: gcc%{branch}-gnat Provides: gcc%{branch}-gnat = %{version}-%{release} %endif Obsoletes: %{cross_prefix}gnat Provides: %{cross_prefix}gnat = %{version}-%{release} Requires: %{name} = %{version}-%{release} %description gnat This package contains an Ada95 compiler and associated development tools based on the GNU gcc technology. Ada95 is the object oriented successor of the Ada83 language. To build this package from sources you must have installed a binary version to bootstrap the compiler. #################################################################### # Ada 95 Libraries %package -n %{libgnat_name} Summary: Ada 95 runtime libraries Group: System/Libraries Provides: %{libgnat_name_orig} = %{version}-%{release} Obsoletes: %{cross_prefix}gnat-runtime Provides: %{cross_prefix}gnat-runtime = %{version}-%{release} %description -n %{libgnat_name} This package contains the shared libraries required to run programs compiled with the GNU Ada compiler (GNAT) if they are compiled to use shared libraries. It also contains the shared libraries for the Implementation of the Ada Semantic Interface Specification (ASIS), the implementation of Distributed Systems Programming (GLADE) and the Posix 1003.5 Binding (Florist). %endif #################################################################### # Java Compiler %if %build_java %package java Summary: Java support for gcc Group: Development/Java %if %{system_compiler} Obsoletes: gcc%{branch}-java Provides: gcc%{branch}-java = %{version}-%{release} %endif # for easy upgrade from manbo labs Obsoletes: manbo-mandriva-files-gcc-java Requires: %{name} = %{version}-%{release} Requires: %{GCJ_TOOLS} = %{version}-%{release} Requires: %{libgcj_name} >= %{version} Requires: %{libgcj_devel_name} >= %{version} Requires: ecj %description java This package adds experimental support for compiling Java(tm) programs and bytecode into native code. To use this you will also need the libgcj package. #################################################################### # Java Runtime Tools %package -n %{GCJ_TOOLS} Summary: Java related tools from gcc %{version} Group: Development/Java %if %{system_compiler} Obsoletes: %{cross_prefix}gcj%{branch}-tools Provides: %{cross_prefix}gcj%{branch}-tools = %{version}-%{release} Requires: %{libgcj_bc_name} >= %{version} %endif Provides: %{cross_prefix}gcj-tools = %{version}-%{release} Requires: %{libgcj_name} >= %{version} Conflicts: kaffe < 1.0.7-3 Conflicts: classpath < 0.97.1-2 %description -n %{GCJ_TOOLS} This package includes Java related tools built from gcc %{version}: * gij: a Java ByteCode Interpreter * gcjh: generate header files from class files * jcf-dump: print information about class files * gcj-dbtool: tool for manipulating class file databases * grmic: generate stubs for Remote Method Invocation * grmiregistry: the remote object registry * aot-compile: ahead-of-time compiler * gappletviewer * gc-analyze * gjar * gjarsigner * gjavah * gkeytool * gnative2ascii * gorbd * grmid * gtnameserv * gserialver #################################################################### # Java Libraries %package -n %{libgcj_name} Summary: GNU Java runtime libraries Group: System/Libraries Obsoletes: %{cross_prefix}gcc-libgcj Provides: %{cross_prefix}gcc-libgcj = %{version}-%{release} Obsoletes: %{libgcj_name_orig}%{branch} Provides: %{libgcj_name_orig}%{branch} = %{version}-%{release} %if %{build_java} BuildRequires: antlr BuildRequires: libxt-devel BuildRequires: libxtst-devel BuildRequires: jpackage-utils # needed for cairo support (Graphics2D) Requires: gtk+2.0 >= 2.8.0 BuildRequires: libgtk+2.0-devel >= 2.8.0 # for libgjsmdssi: BuildRequires: libjack-devel BuildRequires: dssi-devel # for libgjsmalsa: BuildRequires: libalsa-devel Requires: libglib2.0 >= 2.4.0 BuildRequires: libglib2.0-devel >= 2.4.0 BuildRequires: libart_lgpl-devel >= 2.1.0 BuildRequires: ecj BuildRequires: zip %endif Obsoletes: libgcj3, libgcj4 %if %{system_compiler} Obsoletes: libgcj5 Obsoletes: %{mklibname gcj 6} %endif Requires: %{libgcj_name_base}-base = %{version} %if %isarch %{biarches} Conflicts: libgcj6 < 4.0.1-4, lib64gcj6 < 4.0.1-4 %endif %description -n %{libgcj_name} Runtime libraries for the GNU Java Compiler. The libgcj includes parts of the Java Class Libraries, plus glue to connect the libraries to the compiler and the underlying OS. %package -n %{libgcj_devel_name} Summary: Header files and libraries for Java development Group: Development/Java Requires: zip >= 2.1 Requires: zlib-devel Requires: %{libgcj_name} = %{version}-%{release} Provides: %{libgcj_name_orig}%{branch}-devel = %{version}-%{release} Provides: %{libgcj_name_orig}-devel = %{version}-%{release} %if %{system_compiler} Requires: %{libgcj_bc_name} >= %{version}-%{release} Obsoletes: libgcj3-devel Obsoletes: libgcj4-devel Obsoletes: libgcj5-devel Obsoletes: %{mklibname gcj 6}-devel Obsoletes: %{mklibname gcj 7}-devel Obsoletes: %{mklibname gcj 9}-devel %endif %description -n %{libgcj_devel_name} Development headers and libraries for the GNU Java Compiler. The libgcj includes parts of the Java Class Libraries, plus glue to connect the libraries to the compiler and the underlying OS. %package -n %{libgcj_static_devel_name} Summary: Static libraries for Java development Group: Development/Java Requires: %{libgcj_devel_name} = %{version}-%{release} Provides: %{libgcj_name_orig}%{branch}-static-devel = %{version}-%{release} Provides: %{libgcj_name_orig}-static-devel = %{version}-%{release} %if %{system_compiler} Obsoletes: libgcj3-static-devel Obsoletes: libgcj4-static-devel Obsoletes: libgcj5-static-devel Obsoletes: %{mklibname gcj 6}-static-devel Obsoletes: %{mklibname gcj 7}-static-devel Obsoletes: %{mklibname gcj 9}-static-devel %endif %description -n %{libgcj_static_devel_name} Static libraries for the GNU Java Compiler. %package -n %{libgcj_name_base}-base Summary: Java library base classes Group: Development/Java # For /usr/lib/logging.properties and /usr/lib/security/classpath.security: Requires: jpackage-utils Conflicts: %{mklibname gcj 6} < 4.0.1-4 %if %{system_compiler} Obsoletes: libgcj6-base %endif %description -n %{libgcj_name_base}-base The Java(tm) runtime library classes. %package -n %{libgcj_name_base}-src Summary: Java library sources Group: Development/Java Requires: %{libgcj_name} = %{version}-%{release} %if %{system_compiler} Obsoletes: libgcj6-src %endif %description -n %{libgcj_name_base}-src The Java(tm) runtime library sources. %package -n %{libgcj_bc_name} Summary: GNU Java runtime bytecode wrapper library Group: System/Libraries %if %{system_compiler} Conflicts: %{mklibname gcj 8} Conflicts: %{mklibname gcj 9} < 4.3.3 %endif Requires: %{libgcj_name} %description -n %{libgcj_bc_name} Runtime wrapper library for applications using the bytecode interpreter API of libgcj. %endif #################################################################### # FFI headers and libraries %if %{build_libffi} %package -n %{libffi_name} Summary: GCC support library for FFI Group: System/Libraries %description -n %{libffi_name} This package contains GCC shared support library which is needed for FFI support. %package -n %{libffi_name}-devel Summary: Development headers and static library for FFI Group: Development/C Requires: %{libffi_name} = %{version}-%{release} Provides: %{libffi_name_orig}-devel = %{version}-%{release} Obsoletes: %{libffi_name_orig}-devel = 4.3.2 Obsoletes: %{libffi_name_orig}-devel = 4.3.1 Obsoletes: %{libffi_name_orig}-devel = 4.2.3 Obsoletes: %{libffi_name_orig}-devel = 4.2.2 Provides: ffi-devel = %{version}-%{release} %description -n %{libffi_name}-devel This package contains the development headers and the static library for libffi. The libffi library provides a portable, high level programming interface to various calling conventions. This allows a programmer to call any function specified by a call interface description at run time. %endif #################################################################### # SSP headers and libraries %if %{build_libssp} %package -n %{libssp_name} Summary: GCC SSP shared support library Group: System/Libraries %description -n %{libssp_name} This package contains GCC shared support library which is needed for SSP support. %package -n %{libssp_name_orig}-devel Summary: GCC SSP support Group: Development/C Requires: %{name} = %{version}-%{release} %if %{libc_shared} Requires: %{libssp_name} = %{version}-%{release} %endif %description -n %{libssp_name_orig}-devel This package contains headers and static libraries for building SSP-instrumented programs. Refer to the documentation for -fstack-protector. %endif #################################################################### # GCC OpenMP headers and library %package -n %{libgomp_name} Summary: GCC OpenMP support library Group: System/Libraries %description -n %{libgomp_name} This package contains the GCC shared support library which is needed for OpenMP support. %package -n %{libgomp_name_orig}-devel Summary: GCC OpenMP support Group: Development/C Requires: %{name} = %{version}-%{release} %if %{libc_shared} Requires: %{libgomp_name} = %{version}-%{release} %endif %description -n %{libgomp_name_orig}-devel This package contains headers and static libraries for building programs that use OpenMP. #################################################################### # Preprocessor %package cpp Summary: The C Preprocessor Group: Development/C %if %{system_compiler} Obsoletes: gcc%{branch}-cpp Provides: gcc%{branch}-cpp = %{version}-%{release} Conflicts: gcc3.3-cpp < 3.3.6-8 %endif Requires(post): update-alternatives Requires(postun): update-alternatives %description cpp The C preprocessor is a 'macro processor' which is used automatically by the C compiler to transform your program before actual compilation. It is called a macro processor because it allows you to define 'macros,' which are abbreviations for longer constructs. The C preprocessor provides four separate facilities that you can use as you see fit: * Inclusion of header files. These are files of declarations that can be substituted into your program. * Macro expansion. You can define 'macros,' which are abbreviations for arbitrary fragments of C code, and then the C preprocessor will replace the macros with their definitions throughout the program. * Conditional compilation. Using special preprocessing directives, you can include or exclude parts of the program according to various conditions. * Line control. If you use a program to combine or rearrange source files into an intermediate file which is then compiled, you can use line control to inform the compiler about where each source line originated. You should install this package if you are a programmer who is searching for such a macro processor. #################################################################### # Documentation %package doc Summary: GCC documentation Group: Development/Other %if %{system_compiler} Obsoletes: gcc%{branch}-doc Provides: gcc%{branch}-doc = %{version}-%{release} %endif Requires(post): info-install Requires(preun): info-install BuildArch: noarch %description doc GCC is a compiler suite aimed at integrating all the optimizations and features necessary for a high-performance and stable development environment. This package contains the compiler documentation in INFO pages. %package doc-pdf Summary: GCC documentation Group: Development/Other %if %{system_compiler} Obsoletes: gcc%{branch}-doc-pdf Provides: gcc%{branch}-doc-pdf = %{version}-%{release} %endif BuildArch: noarch %description doc-pdf GCC is a compiler suite aimed at integrating all the optimizations and features necessary for a high-performance and stable development environment. This package contains the compiler printable documentation in PDF. %package -n libstdc++-docs Summary: Documentation for the GNU standard C++ library Group: Development/Other BuildArch: noarch %description -n libstdc++-docs Manual, doxygen generated API information and Frequently Asked Questions for the GNU standard C++ library. %prep %setup -q -n %{source_dir} -a 5 -a 9 %patch1 -p1 -b .pr11536-testcase %patch2 -p1 -b .pr9929-testcase # upstream gcc-5 branch # upstream master branch %patch2001 -p1 -b .exception-propagation # RETPOLINE %patch3000 -p2 -b .p3000 %patch3001 -p2 -b .p3001 %patch3002 -p2 -b .p3002 %patch3003 -p2 -b .p3003 %patch3004 -p2 -b .p3004 %patch3005 -p2 -b .p3005 %patch3006 -p2 -b .p3006 %patch3007 -p2 -b .p3007 %patch3008 -p2 -b .p3008 %patch3009 -p2 -b .p3009 %patch3010 -p2 -b .p3010 %patch3011 -p2 -b .p3011 %patch3012 -p2 -b .p3012 %patch3013 -p2 -b .p3013 # Mageia patches %patch101 -p1 -b .pass-slibdir %patch102 -p1 -b .pr7434-testcase %patch103 -p1 -b .pr8213-testcase %patch106 -p1 -b .ada-makefile %patch107 -p1 -b .multi-do-libdir %patch113 -p1 -b .pr11631-testcase %patch115 -p1 -b .linux32 # revert upstream commit that breaks build %patch126 -p1 -R -b .p126 %patch130 -p1 perl -pi -e 's,\@PROPERTYFILES\@,"%{_prefix}/lib",' libjava/gnu/classpath/natSystemProperties.cc %patch132 -p1 %if %build_libgcj_bc && !%system_compiler perl -pi -e 's,\@ADDITIONAL_RPATH\@,-rpath %{target_libdir}/gcj_bc-%{libgcj_major},' libjava/Makefile.{am,in} %else perl -pi -e 's,\@ADDITIONAL_RPATH\@,,' libjava/Makefile.{am,in} %endif %patch133 -p0 # Red Hat patches %patch201 -p1 -b .java-nomulti %patch207 -p1 -b .libltdl-multilib %if %{use_hash_style_gnu} %patch211 -p1 -b .hash-style-gnu %patch507 -p1 -b .arm-hash-style-gnu %endif # Integrate GNU Pascal compiler %if %{build_pascal} mv gpc-%{gpc_snapshot}/p gcc/p rmdir gpc-%{gpc_snapshot} patch -p1 < gcc/p/diffs/gcc-3.5.0.diff %patch111 -p1 -b .gpc-fixes %patch112 -p1 -b .gpc-serialize-build %endif %patch301 -p1 -b .mips_java %patch302 -p1 -b .mips-testsuite-addr %if %isarch mips mipsel # needed only to get o32 by default on 64 bit multiarch systems. # by default, gcc is using n32 on 64 bits multiarch systems %patch306 -p1 -b .mips_multi %endif %patch501 -p1 -b .arm2 %patch502 -p1 -b .armformat # Setup files for cross-compilation # XXX embed uClibc / dietlibc sources? [ia64 checks for __GLIBC__] %if %{build_cross} sysroot=%{_prefix}/%{gcc_target_platform} %endif if [[ -n "$sysroot" ]]; then mkdir sysroot cd sysroot [[ -d $sysroot/bin ]] && ln -s $sysroot/bin bin %if !%isarch %{lsb_arches} [[ ! -d usr ]] && mkdir usr %if %{build_cross_bootstrap} [[ -f $sysroot/include/linux/version.h ]] && ln -s $sysroot/include usr/include %else [[ -f $sysroot/include/stdio.h ]] && ln -s $sysroot/include usr/include %endif %else [[ -L usr/include ]] || { mkdir -p usr/include tar jxf %{SOURCE1} -C usr/include pushd usr %patch999 -p0 popd } %endif [[ -f $sysroot/lib/crti.o ]] && ln -s $sysroot/lib lib [[ -f $sysroot/lib64/crti.o ]] && ln -s $sysroot/lib64 lib64 [[ -f $sysroot/lib32/crti.o ]] && ln -s $sysroot/lib32 lib32 cd ../ fi # We can actually link binaries at this stage # XXX integrate into Patch104 (cross-build-fixes)? %if %{build_cross} perl -pi -e '/^DRIVER_DEFINES/ .. /^gcc/ and s/(\@TARGET_SYSTEM_ROOT_DEFINE\@)/-DSYSROOT_SPEC="\\"\\"" \1/' gcc/Makefile.in #perl -ni -e '/^m4_define.+AC_LINK/ .. /^m4_defn.+AC_LINK/ or print' config/no-executables.m4 #perl -pi -e 's/^(.+GLIBCXX_IS_NATIVE)=false/\1=true/' libstdc++-v3/configure.ac #for d in libiberty libgfortran libstdc++-v3; do #cd $d #autoconf #cd .. #done %endif %if !%build_libgcj_bc perl -pi -e 's,use_libgcj_bc=yes,use_libgcj_bc=no,' libjava/configure.host %endif # Patch version for Mageia and bug reports echo "%{version}" > gcc/BASE-VER perl -pi -e '/^\#define VERSUFFIX/ and s/""/" (%{version}-%{release})"/' gcc/version.c # Fix java-ext path sed -i -e 's,\$(jardir)/ext,$(jardir)-ext,g' libjava/Makefile.{am,in} %patch304 -p1 -b .uclibc~ %if %{build_java} # link source9 + patch133 into classpath source tree HARMONY_SOURCES=$(find harmony -name '*.java') for i in ${HARMONY_SOURCES}; do ln ${i} libjava/classpath/${i#harmony/} done # now compile them to class files (!) pushd libjava/classpath ecj -source 1.5 -target 1.5 -bootclasspath lib -d lib $(for i in ${HARMONY_SOURCES}; do echo ${i#harmony/}; done) %endif %build # FIXME: extra tools needed mkdir -p bin install -m755 %{SOURCE6} bin/help2man export PATH=$PATH:$PWD/bin # Prepare OPT_FLAGS OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-fno-rtti//g' -e 's/-fno-exceptions//g' -e 's/-mcpu=pentiumpro//g'` %if %{build_debug} OPT_FLAGS=`echo "$OPT_FLAGS -g" | sed -e "s/-fomit-frame-pointer//g"` %endif %if %{build_cross} OPT_FLAGS="-O2 -g -pipe" %endif %if %isarch %{biarches} OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/\(-m64\|-m32\)//g'` %endif OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-fomit-frame-pointer//g'` # don't build crt files with -fasynchronous-unwind-tables case " $OPT_FLAGS " in *" -fasynchronous-unwind-tables "*) perl -pi -e 's/-fno-exceptions /-fno-exceptions -fno-asynchronous-unwind-tables /' gcc/Makefile.in ;; esac # Force a seperate object dir rm -fr obj-%{gcc_target_platform} mkdir obj-%{gcc_target_platform} cd obj-%{gcc_target_platform} # Make bootstrap-lean LANGUAGES="c" %if %{build_cxx} LANGUAGES="$LANGUAGES,c++" %endif %if %{build_ada} LANGUAGES="$LANGUAGES,ada" %endif %if %{build_fortran} LANGUAGES="$LANGUAGES,fortran" %endif %if %{build_objc} LANGUAGES="$LANGUAGES,objc" LIBOBJC_FLAGS="--enable-objc-gc" %endif %if %{build_objcp} LANGUAGES="$LANGUAGES,obj-c++" %endif %if %{build_java} LANGUAGES="$LANGUAGES,java" %endif %if %{build_pascal} LANGUAGES="$LANGUAGES,pascal" %endif PROGRAM_SUFFIX="" %if "%{program_suffix}" != "" PROGRAM_SUFFIX="--program-suffix=%{program_suffix}" %endif PROGRAM_PREFIX="" %if "%{program_prefix}" != "" PROGRAM_PREFIX="--program-prefix=%{program_prefix}" %endif %if %{build_cxx} LIBSTDCXX_FLAGS="--enable-long-long --enable-__cxa_atexit --disable-libunwind-exceptions" case %{libc} in glibc) LIBSTDCXX_FLAGS="$LIBSTDCXX_FLAGS --enable-clocale=gnu";; esac %endif %if %{build_java} LIBJAVA_FLAGS="--enable-java-awt=gtk --with-java-home=%{jdk_home} --with-ecj-jar=%{_datadir}/java/eclipse-ecj.jar" LIBJAVA_FLAGS="$LIBJAVA_FLAGS --enable-gtk-cairo" LIBJAVA_FLAGS="$LIBJAVA_FLAGS --disable-libjava-multilib" %if %isarch %arm LIBJAVA_FLAGS="$LIBJAVA_FLAGS --disable-sjlj-exceptions" %endif %else LIBJAVA_FLAGS="--disable-libgcj" %endif SSP_FLAGS="--disable-ssp --disable-libssp" %if %{build_libssp} SSP_FLAGS="--enable-ssp --enable-libssp" %endif %if %{use_ssp_glibc} SSP_FLAGS="--enable-ssp --disable-libssp" %endif %if !%{build_quadmath} QUADMATH_FLAGS="--disable-quadmath" %endif %if !%{build_libgomp} LIBGOMP_FLAGS="--disable-libgomp" %endif %if %{build_isl} ISL_FLAGS="--with-isl" %endif %if !%{build_libffi} && !%{build_java} LIBFFI_FLAGS="--disable-libffi" %endif %if %{build_cross} CROSS_FLAGS="--with-build-sysroot=$PWD/../sysroot --with-headers --disable-nls" %endif %if %{build_cross_bootstrap} CROSS_FLAGS="--disable-threads" %if %isarch %{lsb_arches} # we have embedded the LSB 3.1 headers, so we can build the unwinding stuff too (ia64) CROSS_FLAGS="$CROSS_FLAGS --with-build-sysroot=$PWD/../sysroot --with-headers" %endif %endif %if !%{system_compiler} && !%{build_stdcxxheaders} LIBSTDCXX_FLAGS="$LIBSTDCXX_FLAGS --with-gxx-include-dir=%{libstdcxx_includedir}" %endif [[ -n "$CROSS_FLAGS" ]] && CROSS_FLAGS="$CROSS_FLAGS --target=%{gcc_target_platform}" case %{libc} in %if %{build_cross_bootstrap} glibc) LIBC_FLAGS="";; %else glibc) LIBC_FLAGS="--enable-threads=posix";; %endif newlib) LIBC_FLAGS="--with-newlib --with-headers --disable-threads";; *) echo "ERROR: unsupported %{libc} C library"; exit 1;; esac %if %{libc_shared} LIBC_FLAGS="$LIBC_FLAGS --enable-shared" %else LIBC_FLAGS="$LIBC_FLAGS --disable-shared" %endif # target specific flags (don't %ifarch for cross compilers) case %{target_cpu} in x86_64) TARGET_FLAGS="--with-cpu=generic";; i?86|athlon) TARGET_FLAGS="--with-cpu=generic";; mips64|mips64el) TARGET_FLAGS="--enable-long-long --with-abi=64 --enable-targets=all";; mips32|mips32el) TARGET_FLAGS="--enable-long-long --with-abi=n32 --enable-targets=all";; mips|mipsel) TARGET_FLAGS="--enable-long-long --enable-targets=all";; armv7hl) TARGET_FLAGS=" --with-arch=armv7-a --with-float=hard --with-fpu=vfpv3-d16 --with-abi=aapcs-linux";; esac # (anssi) building with external jar fails %define python_dir %(echo "%{py_puresitedir}" | sed 's!^%{_prefix}!!g') export JAR="no" export FASTJAR="no" CC="%{__cc}" CFLAGS="$OPT_FLAGS" CXXFLAGS="$OPT_FLAGS" XCFLAGS="$OPT_FLAGS" TCFLAGS="$OPT_FLAGS" \ ../configure --prefix=%{_prefix} --libexecdir=%{_prefix}/lib --with-slibdir=%{target_slibdir} \ --with-pkgversion="Mageia %{version}-%{release}" --with-bugurl=https://bugs.mageia.org/ \ --mandir=%{_mandir} --infodir=%{_infodir} --enable-checking=release \ --enable-languages="$LANGUAGES" $PROGRAM_PREFIX $PROGRAM_SUFFIX --enable-linker-build-id \ --build=%{_target_platform} --host=%{_target_platform} $CROSS_FLAGS $TARGET_FLAGS \ --with-system-zlib $LIBC_FLAGS $LIBOBJC_FLAGS $LIBSTDCXX_FLAGS $LIBJAVA_FLAGS $SSP_FLAGS \ $QUADMATH_FLAGS $LIBFFI_FLAGS --disable-werror $LIBGOMP_FLAGS \ $ISL_FLAGS --with-python-dir=%{python_dir} --enable-lto touch ../gcc/c-gperf.h %if %{build_cross} # (peryvind): xgcc seems to ignore --sysroot, so let's just workaround it for # by adding a symlink to the headers since xgcc already passes -isystem ./include #mkdir -p %{target_cpu}-linux/libgcc #ln -sf $PWD/../sysroot/usr/include %{target_cpu}-linux/libgcc/include %make %else # bootstrap-lean is similar to bootstrap except "object files from the stage1 # and stage2 of the 3-stage bootstrap of the compiler are deleted as soon as # they are no longer needed." %make bootstrap-lean BOOT_CFLAGS="$OPT_FLAGS" %endif cd .. # Copy various doc files here and there mkdir -p rpm.doc/gfortran mkdir -p rpm.doc/objc mkdir -p rpm.doc/objcp mkdir -p rpm.doc/libjava mkdir -p rpm.doc/libobjc mkdir -p rpm.doc/boehm-gc mkdir -p rpm.doc/gpc mkdir -p rpm.doc/c++ mkdir -p rpm.doc/libstdc++ %if %{build_libstdcxx} (cd libstdc++-v3; for i in ChangeLog*; do ln -f $i ../rpm.doc/libstdc++/$i done) %endif %if %{build_cxx} (cd gcc/cp; for i in ChangeLog*; do ln -f $i ../../rpm.doc/c++/$i done) %endif %if %{build_pascal} (cd gcc/p; for i in ChangeLog* README NEWS FAQ; do ln -f $i ../../rpm.doc/gpc/$i done) %endif %if %{build_fortran} (cd gcc/fortran; for i in ChangeLog*; do ln -f $i ../../rpm.doc/gfortran/$i done) (cd libgfortran; for i in ChangeLog*; do ln -f $i ../rpm.doc/gfortran/$i.libgfortran done) %endif %if %{build_objc} (cd gcc/objc; for i in ChangeLog*; do ln -f $i ../../rpm.doc/objc/$i.objc done) (cd libobjc; for i in ChangeLog*; do ln -f $i ../rpm.doc/libobjc/$i.libobjc done) %endif %if %{build_objcp} (cd gcc/objcp; for i in ChangeLog*; do ln -f $i ../../rpm.doc/objcp/$i.objcp done) %endif %if %{build_java} (cd boehm-gc; for i in ChangeLog*; do ln -f $i ../rpm.doc/boehm-gc/$i.gc done) (cd libjava; for i in README THANKS COPYING ChangeLog*; do ln -f $i ../rpm.doc/libjava/$i.libjava done) (cd libjava; ln -f LIBGCJ_LICENSE ../rpm.doc/libjava/LICENSE.libjava) # we addded some apache harmony code, add a note cat >rpm.doc/libjava/README.harmony <<EOF This distribution of libgcj contains code from the Apache Harmony project <http://harmony.apache.org/>. See the files NOTICE.harmony and LICENSE.harmony for copyright and license information on the classes listed below. EOF for i in $(find harmony -name '*.java'); do j=${i#harmony/}; echo ${j%.java}|tr / .; done >>rpm.doc/libjava/README.harmony (cd harmony; for i in LICENSE NOTICE; do ln -f $i ../rpm.doc/libjava/$i.harmony done) %endif # [ghibo] - build printable documentation %if %{build_pdf_doc} export PDFTEX=pdftex unset TEXINPUTS (cd gcc/doc; for file in gcc.texi cpp.texi cppinternals.texi; do texi2dvi -p -t @afourpaper -t @finalout -I ./include -I ../../obj-%{gcc_target_platform}/gcc $file done) (cd gcc/fortran; texi2dvi -p -t @afourpaper -t @finalout -I ../doc/include -I ../../obj-%{gcc_target_platform}/gcc gfortran.texi) %if %{build_ada} (cd gcc/ada; texi2dvi -p -t @afourpaper -t @finalout -I ../doc/include -I ../../obj-%{gcc_target_platform}/gcc gnat_rm.texi) (cd obj-%{gcc_target_platform}/gcc/doc; texi2dvi -p -t @afourpaper -t @finalout -I ../../../gcc/doc/include -I .. gnat_ugn.texi mv gnat_ugn.pdf ../../../gcc/ada/gnat_ugn.pdf) %endif %endif # Make generated doxygen pages. %if %{build_libstdcxx_docs} cd obj-%{gcc_target_platform}/%{gcc_target_platform}/libstdc++-v3 make doc-html-doxygen make doc-man-doxygen cd ../.. %endif %check echo ====================TESTING========================= %if %{build_check} cd obj-%{gcc_target_platform} time %make -k check || true echo "XXX check time above XXX" ../contrib/test_summary > ../test_summary.log cd .. %endif echo ====================TESTING END===================== %install # Create some directories, just to make sure (e.g. ColorGCC) mkdir -p %{buildroot}%{_bindir} mkdir -p %{buildroot}%{_mandir} mkdir -p %{buildroot}%{_infodir} mkdir -p %{buildroot}%{_sysconfdir} pushd obj-%{gcc_target_platform}; %makeinstall_std %if %{build_java} %makeinstall_std -C %{gcc_target_platform}/libjava install-src.zip %endif %if %{build_libstdcxx_docs} libstdcxx_doc_builddir=%{gcc_target_platform}/libstdc++-v3/doc/doxygen mkdir -p ../rpm.doc/libstdc++-v3 cp -r -p ../libstdc++-v3/doc/html ../rpm.doc/libstdc++-v3/html cp -r -p $libstdcxx_doc_builddir/html ../rpm.doc/libstdc++-v3/html/api mkdir -p %{buildroot}%{_mandir}/man3 cp -r -p $libstdcxx_doc_builddir/man/man3/* %{buildroot}%{_mandir}/man3/ %endif popd FULLVER=`%{buildroot}%{_bindir}/%{gcc_target_platform}-gcc%{program_suffix} --version | head -n 1 | cut -d' ' -f3` FULLPATH=$(dirname %{buildroot}%{gcc_libdir}/%{gcc_target_platform}/%{version}/cc1) # Create /usr/bin/%{program_prefix}gcc%{branch}-version that contains the full version of gcc cat >%{buildroot}%{_bindir}/%{program_prefix}gcc%{branch}-version <<EOF #!/bin/sh echo "$FULLVER" EOF chmod 0755 %{buildroot}%{_bindir}/%{program_prefix}gcc%{branch}-version %if "%{program_suffix}" == "" mv %{buildroot}%{_bindir}/%{program_prefix}cpp %{buildroot}%{_bindir}/%{program_prefix}cpp-%{version} mv %{buildroot}%{_bindir}/%{program_prefix}gcc %{buildroot}%{_bindir}/%{program_prefix}gcc-%{version} mv %{buildroot}%{_bindir}/%{program_prefix}gcc-ar %{buildroot}%{_bindir}/%{program_prefix}gcc-ar-%{version} mv %{buildroot}%{_bindir}/%{program_prefix}gcc-nm %{buildroot}%{_bindir}/%{program_prefix}gcc-nm-%{version} mv %{buildroot}%{_bindir}/%{program_prefix}gcc-ranlib %{buildroot}%{_bindir}/%{program_prefix}gcc-ranlib-%{version} %if %{build_cxx} mv %{buildroot}%{_bindir}/%{program_prefix}g++ %{buildroot}%{_bindir}/%{program_prefix}g++-%{version} mv %{buildroot}%{_bindir}/%{program_prefix}c++ %{buildroot}%{_bindir}/%{program_prefix}c++-%{version} %endif %endif # replacing hardlinks with symlinks ln -sf %{program_prefix}gcc%{program_long_suffix} %{buildroot}%{_bindir}/%{gcc_target_platform}-gcc%{program_suffix} ln -sf %{program_prefix}gcc-ar%{program_long_suffix} %{buildroot}%{_bindir}/%{gcc_target_platform}-gcc-ar%{program_suffix} ln -sf %{program_prefix}gcc-nm%{program_long_suffix} %{buildroot}%{_bindir}/%{gcc_target_platform}-gcc-nm%{program_suffix} ln -sf %{program_prefix}gcc-ranlib%{program_long_suffix} %{buildroot}%{_bindir}/%{gcc_target_platform}-gcc-ranlib%{program_suffix} ln -sf %{program_prefix}gcc-ar%{program_long_suffix} %{buildroot}%{_bindir}/%{gcc_target_platform}-ar%{program_suffix} ln -sf %{program_prefix}gcc-nm%{program_long_suffix} %{buildroot}%{_bindir}/%{gcc_target_platform}-nm%{program_suffix} ln -sf %{program_prefix}gcc-ranlib%{program_long_suffix} %{buildroot}%{_bindir}/%{gcc_target_platform}-ranlib%{program_suffix} # TODO: cleanups? %if "%{program_prefix}" != "%{gcc_target_platform}-" ln -sf %{program_prefix}gcc%{program_long_suffix} %{buildroot}%{_bindir}/%{gcc_target_platform}-gcc-%{version} ln -sf %{program_prefix}gcc-ar%{program_long_suffix} %{buildroot}%{_bindir}/%{gcc_target_platform}-ar-%{version} ln -sf %{program_prefix}gcc-nm%{program_long_suffix} %{buildroot}%{_bindir}/%{gcc_target_platform}-nm-%{version} ln -sf %{program_prefix}gcc-ranlib%{program_long_suffix} %{buildroot}%{_bindir}/%{gcc_target_platform}-ranlib-%{version} %endif %if %{build_cxx} %if !%{build_cross} ln -sf %{program_prefix}g++%{program_long_suffix} %{buildroot}%{_bindir}/c++%{program_long_suffix} %endif ln -sf %{program_prefix}g++%{program_long_suffix} %{buildroot}%{_bindir}/%{gcc_target_platform}-c++%{program_suffix} ln -sf %{program_prefix}g++%{program_long_suffix} %{buildroot}%{_bindir}/%{gcc_target_platform}-g++%{program_suffix} %endif %if %{build_fortran} ln -sf %{program_prefix}gfortran%{program_suffix} %{buildroot}%{_bindir}/%{gcc_target_platform}-gfortran%{program_suffix} %endif %if %{build_java} ln -sf %{program_prefix}gcj%{program_suffix} %{buildroot}%{_bindir}/%{gcc_target_platform}-gcj%{program_suffix} ln -sf %{program_prefix}gcjh%{program_suffix} %{buildroot}%{_bindir}/%{gcc_target_platform}-gcjh%{program_suffix} %endif %if %{system_compiler} ln -s gcc %{buildroot}%{_bindir}/cc %endif %if %{build_cross_bootstrap} # libgcc_eh.a is needed for glibc _but_ it is not built at this stage # (disabled-shared) # workaround by symlinking to libgcc. The other possibility would be to # workaround at glibc level but it would be more painfull. ln -sf %{gcc_libdir}/%{gcc_target_platform}/%{version}/libgcc.a \ %{buildroot}/%{gcc_libdir}/%{gcc_target_platform}/%{version}/libgcc_eh.a %if %isarch mips mipsel ln -sf %{gcc_libdir}/%{gcc_target_platform}/%{version}/n32/libgcc.a \ %{buildroot}/%{gcc_libdir}/%{gcc_target_platform}/%{version}/n32/libgcc_eh.a ln -sf %{gcc_libdir}/%{gcc_target_platform}/%{version}/64/libgcc.a \ %{buildroot}/%{gcc_libdir}/%{gcc_target_platform}/%{version}/64/libgcc_eh.a %endif %endif rm -f %{buildroot}%{_infodir}/dir %if %{build_ada} && %{libc_shared} %if %isarch x86_64 mips64 mips64el rm -rf $FULLPATH/32/ada{include,lib} %endif # Dispatch Ada 95 libraries (special case) pushd $FULLPATH/adalib rm -f libgnarl.so* libgnat.so* mv -f libgnarl-*.so.* %{buildroot}%{_libdir}/ ln -s %{_libdir}/libgnat-%{branch}.so.1 %{buildroot}%{_libdir}/libgnat-%{branch}.so ln -s ../../../../../%{_lib}/libgnarl-*.so.* libgnarl-%{branch}.so ln -s libgnarl-%{branch}.so libgnarl.so mv -f libgnat-*.so.* %{buildroot}%{_libdir}/ ln -s ../../../../../%{_lib}/libgnat-*.so.* libgnat-%{branch}.so ln -s libgnat-%{branch}.so libgnat.so popd %endif # Strip debug info from libraries STRIP_DEBUG=/bin/true %if !%{build_debug} if [[ "%{_enable_debug_packages}" != "1" ]]; then STRIP_DEBUG="strip -g" if [[ "%{_target_cpu}" != "%{target_cpu}" ]]; then STRIP_DEBUG="%{target_cpu}-linux-$STRIP_DEBUG" fi fi %endif # Dispatch libraries to the right directories DispatchLibs() { libname=$1 libversion=$2 [[ -f ../../../../..%{target_libdir}/$libname.so.$libversion ]] && { $STRIP_DEBUG ../../../../..%{target_libdir}/$libname.so.$libversion rm -f $libname.so ln -s ../../../../..%{target_libdir}/$libname.so.$libversion $libname.so rm -f ../../../../..%{target_libdir}/$libname.so } || : [[ -f ../../../../..%{target_libdir}/$libname.a ]] && { $STRIP_DEBUG ../../../../..%{target_libdir}/$libname.a rm -f $libname.a cp -f ../../../../..%{target_libdir}/$libname.a $libname.a rm -f ../../../../..%{target_libdir}/$libname.a } || : %if %isarch %{biarches} [ -d 32 ] || mkdir 32 pushd 32 mkdir -p %{buildroot}%{_prefix}/lib skip32= [[ -z "$skip32" ]] && [[ -f ../../../../$libname.so.$libversion ]] && { $STRIP_DEBUG ../../../../$libname.so.$libversion ln -s ../../../../$libname.so.$libversion $libname.so rm -f ../../../../$libname.so [[ -f ../../../../$libname.a ]] && { $STRIP_DEBUG ../../../../$libname.a cp -f ../../../../$libname.a $libname.a rm -f ../../../../$libname.a } || : } || : popd %endif %if %isarch mips mipsel [ -d n32 ] || mkdir n32 pushd n32 [[ -f ../../../../../..%{target_libdir}32/$libname.so.$libversion ]] && { $STRIP_DEBUG ../../../../../..%{target_libdir}32/$libname.so.$libversion ln -s ../../../../../..%{target_libdir}32/$libname.so.$libversion $libname.so rm -f ../../../../../..%{target_libdir}32/$libname.so [[ -f ../../../../../..%{target_libdir}32/$libname.a ]] && { $STRIP_DEBUG ../../../../../..%{target_libdir}32/$libname.a cp -f ../../../../../..%{target_libdir}32/$libname.a $libname.a rm -f ../../../../../..%{target_libdir}32/$libname.a } || : } || : popd [ -d 64 ] || mkdir 64 pushd 64 [[ -f ../../../../../..%{target_libdir}64/$libname.so.$libversion ]] && { $STRIP_DEBUG ../../../../../..%{target_libdir}64/$libname.so.$libversion ln -s ../../../../../..%{target_libdir}64/$libname.so.$libversion $libname.so rm -f ../../../../../..%{target_libdir}64/$libname.so [[ -f ../../../../../..%{target_libdir}64/$libname.a ]] && { $STRIP_DEBUG ../../../../../..%{target_libdir}64/$libname.a cp -f ../../../../../..%{target_libdir}64/$libname.a $libname.a rm -f ../../../../../..%{target_libdir}64/$libname.a } || : } || : popd %endif %if %isarch %{nof_arches} [ -d nof ] || mkdir nof pushd nof $STRIP_DEBUG ../../../../nof/$libname.so.$libversion ln -s ../../../../nof/$libname.so.$libversion $libname.so rm -f ../../../../nof/$libname.so [[ -f ../../../../nof/$libname.a ]] && { $STRIP_DEBUG ../../../../nof/$libname.a cp -f ../../../../nof/$libname.a $libname.a rm -f ../../../../nof/$libname.a } || : popd %endif } pushd $FULLPATH %if %{build_libssp} DispatchLibs libssp %{libssp_major}.0.0 mv ../../../../..%{target_libdir}/libssp_nonshared.a libssp_nonshared.a %if %isarch %{biarches} mv ../../../libssp_nonshared.a 32/libssp_nonshared.a %endif %endif %if %{build_libgomp} DispatchLibs libgomp %{libgomp_major}.0.0 %endif %if %{build_cxx} DispatchLibs libstdc++ %{libstdcxx_major}.0.%{libstdcxx_micro} mv ../../../../..%{target_libdir}/libsupc++.a libsupc++.a %if %isarch %{biarches} mv -f ../../../libsupc++.a 32/libsupc++.a %endif %if %isarch mips mipsel mv -f ../../../../..%{target_libdir}32/libsupc++.a n32/libsupc++.a mv -f ../../../../..%{target_libdir}64/libsupc++.a 64/libsupc++.a %endif %if %isarch %{nof_arches} mv -f ../../../nof/libsupc++.a nof/libsupc++.a %endif %endif # Make it less hard dependent on libstdc++ 3.4 minor changes %if !%{system_compiler} [[ -f ../../../../..%{target_libdir}/libstdc++.so.%{libstdcxx_major} ]] && ln -sf ../../../../..%{target_libdir}/libstdc++.so.%{libstdcxx_major} libstdc++.so || : %if %isarch %{biarches} [[ -f ../../../libstdc++.so.%{libstdcxx_major} ]] && ln -sf ../../../../libstdc++.so.%{libstdcxx_major} 32/libstdc++.so || : %endif %if %isarch mips mipsel [[ -f ../../../../../..%{target_libdir}32/libstdc++.so.%{libstdcxx_major} ]] && ln -sf ../../../../../..%{target_libdir}32/libstdc++.so.%{libstdcxx_major} n32/libstdc++.so || : [[ -f ../../../../../..%{target_libdir}64/libstdc++.so.%{libstdcxx_major} ]] && ln -sf ../../../../../..%{target_libdir}64/libstdc++.so.%{libstdcxx_major} 64/libstdc++.so || : %endif %endif %if %{build_java} DispatchLibs libgcj %{libgcj_major}.0.0 DispatchLibs libgij %{libgcj_major}.0.0 DispatchLibs libgcj-tools %{libgcj_major}.0.0 %if %build_libgcj_bc # Do not dispatch libgcj_bc, libgcj_bc.so and libgcj_bc.so.1.0.0 # are different libraries intentionally. We move it manually: mv ../../../../..%{target_libdir}/libgcj_bc.so . %endif %endif %if %{build_objc} DispatchLibs libobjc %{libobjc_major}.0.0 DispatchLibs libobjc_gc %{libobjc_major}.0.0 %endif %if %{build_fortran} DispatchLibs libgfortran %{libgfortran_major}.0.0 [[ -f ../../../libgfortranbegin.a ]] && mv -f ../../../libgfortranbegin.a 32/libgfortranbegin.a || : %if %isarch %{nof_arches} [[ -f ../../../nof/libgfortranbegin.a ]] && mv -f ../../../nof/libgfortranbegin.a nof/libgfortranbegin.a || : %endif %endif popd # Move Java headers to /usr/include/libgcj-<version> %if %{build_java} if [ "%{libjava_includedir}" != "%{_includedir}" ]; then mkdir -p %{buildroot}%{libjava_includedir} for dir in gcj gnu java javax org; do mkdir -p %{buildroot}%{libjava_includedir}/$dir mv %{buildroot}%{libstdcxx_includedir}/$dir/* %{buildroot}%{libjava_includedir}/$dir/ rmdir %{buildroot}%{libstdcxx_includedir}/$dir done # include <libgcj/XXX.h> should lead to <libgcj-VERSION/XXX.h> ln -s %{libjava_includedir} %{buildroot}%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/libgcj # fix pkgconfig files perl -pi -e 's,^(includedir=).+,\1%{libjava_includedir},' %{buildroot}%{_libdir}/pkgconfig/libgcj-%{branch}.pc perl -pi -e '/^libdir=/ and s,/lib,/%{target_lib},' %{buildroot}%{_libdir}/pkgconfig/libgcj-%{branch}.pc fi # In java-1.5.0-gcj(-devel): rm -rf %{buildroot}%{_bindir}/rebuild-gcj-db%{program_suffix} rm -rf %{buildroot}%{_bindir}/aot-compile%{program_suffix} rm -rf %{buildroot}%{_mandir}/man1/aot-compile*.1* rm -rf %{buildroot}%{_mandir}/man1/rebuild-gcj-db*.1* rm -f %{buildroot}%{py_puresitedir}/{aotcompile,classfile}.py %endif # Move libgcj.spec to compiler-specific directories %if %{build_java} mv %{buildroot}%{_prefix}/lib/libgcj.spec $FULLPATH/libgcj.spec %endif # Copy <cxxabi.h> to compiler-specific directories to keep backward compatibility %if %{build_cxx} mkdir -p $FULLPATH/include/bits/ cp %{buildroot}%{libstdcxx_includedir}/cxxabi.h $FULLPATH/include/ cp %{buildroot}%{libstdcxx_includedir}/%{gcc_target_platform}/bits/cxxabi_tweaks.h $FULLPATH/include/bits/ %endif # Ship with biarch c++config.h headers %if %{build_cxx} pushd obj-%{gcc_target_platform} cxxconfig="`find %{gcc_target_platform}/libstdc++-v3/include -name c++config.h`" for i in `find %{gcc_target_platform}/[36]*/libstdc++-v3/include -name c++config.h 2>/dev/null`; do if ! diff -up $cxxconfig $i; then file_32=x file_64=x case $i in %{gcc_target_platform}/32/*) file_32=$i; file_64=$cxxconfig ;; %{gcc_target_platform}/64/*) file_32=$cxxconfig; file_64=$i ;; esac { [[ -f "$file_32" ]] && [[ -f "$file_64" ]]; } || { echo "c++config.h dispatch error"; exit 1; } cat > %{buildroot}%{libstdcxx_includedir}/%{gcc_target_platform}/bits/c++config.h <<EOF #ifndef _CPP_CPPCONFIG_WRAPPER #define _CPP_CPPCONFIG_WRAPPER 1 #include <bits/wordsize.h> #if __WORDSIZE == 32 `cat $file_32` #else `cat $file_64` #endif #endif EOF break fi done popd %endif # Link gnatgcc to gcc %if %{build_ada} ln -sf gcc %{buildroot}%{_bindir}/gnatgcc %endif # Create an empty file with perms 0755 FakeAlternatives() { for file in ${1+"$@"}; do rm -f %{cross_program_prefix}$file touch %{cross_program_prefix}$file chmod 0755 %{cross_program_prefix}$file done } # Alternatives provide /lib/cpp and %{_bindir}/cpp (cd %{buildroot}%{_bindir}; FakeAlternatives cpp) %if !%{build_cross} && %{system_compiler} (mkdir -p %{buildroot}/lib; cd %{buildroot}/lib; ln -sf %{_bindir}/cpp cpp) %endif # Alternatives provide /usr/bin/c++ %if %{build_cxx} (cd %{buildroot}%{_bindir}; FakeAlternatives c++) %endif if [[ -z "%{?cross_bootstrap:1}" ]] && [[ "%{libc_shared}" = "1" ]]; then # Move libgcc_s.so* to /%{_lib} pushd %{buildroot}%{_prefix}/%{target_lib} chmod 0755 libgcc_s.so.%{libgcc_major} mkdir -p %{buildroot}%{target_slibdir} mv -f libgcc_s.so.%{libgcc_major} %{buildroot}%{target_slibdir}/libgcc_s-%{version}.so.%{libgcc_major} ln -sf libgcc_s-%{version}.so.%{libgcc_major} %{buildroot}%{target_slibdir}/libgcc_s.so.%{libgcc_major} # WARNING: # if there's a libgcc_s.so, it's a linker script. should be used instead of libgcc_s.so.* # to avoid build errors. At least ARM need this kind of specific care. if [ -f %{buildroot}/usr/%{target_lib}/libgcc_s.so ]; then mkdir -p %{buildroot}%{gcc_libdir}/%{gcc_target_platform}/%{version} mv -f %{buildroot}/usr/%{target_lib}/libgcc_s.so %{buildroot}%{gcc_libdir}/%{gcc_target_platform}/%{version}/ else ln -sf %{target_slibdir}/libgcc_s.so.%{libgcc_major} %{buildroot}%{target_libdir}/libgcc_s.so fi %if %isarch %{nof_arches} chmod 0755 nof/libgcc_s.so.%{libgcc_major} mkdir -p %{buildroot}%{target_slibdir}/nof mv -f nof/libgcc_s.so.%{libgcc_major} %{buildroot}%{target_slibdir}/nof/libgcc_s-%{version}.so.%{libgcc_major} ln -sf libgcc_s-%{version}.so.%{libgcc_major} %{buildroot}%{target_slibdir}/nof/libgcc_s.so.%{libgcc_major} ln -sf %{target_slibdir}/nof/libgcc_s.so.%{libgcc_major} %{buildroot}%{target_libdir}/nof/libgcc_s.so %endif popd %if %isarch %{biarches} pushd %{buildroot}%{_prefix}/lib chmod 0755 libgcc_s.so.%{libgcc_major} mkdir -p %{buildroot}/lib mv -f libgcc_s.so.%{libgcc_major} %{buildroot}/lib/libgcc_s-%{version}.so.%{libgcc_major} ln -sf libgcc_s-%{version}.so.%{libgcc_major} %{buildroot}/lib/libgcc_s.so.%{libgcc_major} ln -sf ../../lib/libgcc_s.so.%{libgcc_major} %{buildroot}%{_prefix}/lib/libgcc_s.so ln -sf ../../lib/libgcc_s.so.%{libgcc_major} %{buildroot}%{_prefix}/lib/libgcc_s_32.so popd %if %build_java libs="libgcj libgij libgcj-tools" %if %build_libgcj_bc libs="$libs libgcj_bc" %endif for lib in $libs; do ln -sf ../../../%{gcc32_target_platform}/%{version}/$lib.a $FULLPATH/32/$lib.a ln -sf ../../../%{gcc32_target_platform}/%{version}/$lib.so $FULLPATH/32/$lib.so done %endif %endif %if %isarch mips mipsel pushd %{buildroot}%{_prefix}/lib32 chmod 0755 libgcc_s.so.%{libgcc_major} mkdir -p %{buildroot}/%{target_slibdir}32 mv -f libgcc_s.so.%{libgcc_major} %{buildroot}/%{target_slibdir}32/libgcc_s-%{version}.so.%{libgcc_major} ln -sf libgcc_s-%{version}.so.%{libgcc_major} %{buildroot}/%{target_slibdir}32/libgcc_s.so.%{libgcc_major} ln -sf %{target_slibdir}32/libgcc_s.so.%{libgcc_major} %{buildroot}%{target_libdir}32/libgcc_s.so popd pushd %{buildroot}%{_prefix}/lib64 chmod 0755 libgcc_s.so.%{libgcc_major} mkdir -p %{buildroot}/%{target_slibdir}64 mv -f libgcc_s.so.%{libgcc_major} %{buildroot}/%{target_slibdir}64/libgcc_s-%{version}.so.%{libgcc_major} ln -sf libgcc_s-%{version}.so.%{libgcc_major} %{buildroot}/%{target_slibdir}64/libgcc_s.so.%{libgcc_major} ln -sf %{target_slibdir}64/libgcc_s.so.%{libgcc_major} %{buildroot}%{target_libdir}64/libgcc_s.so popd %endif fi # Create c89 and c99 wrappers %if %{system_compiler} cat > %{buildroot}%{_prefix}/bin/c89 <<"EOF" #!/bin/sh fl="-std=c89" for opt; do case "$opt" in -ansi|-std=c89|-std=iso9899:1990) fl="";; -std=*) echo "`basename $0` called with non ANSI/ISO C option $opt" >&2 exit 1;; esac done exec %{_bindir}/gcc-%{version} $fl ${1+"$@"} EOF cat > %{buildroot}%{_prefix}/bin/c99 <<"EOF" #!/bin/sh fl="-std=c99" for opt; do case "$opt" in -std=c99|-std=iso9899:1999) fl="";; -std=*) echo "`basename $0` called with non ISO C99 option $opt" >&2 exit 1;; esac done exec %{_bindir}/gcc-%{version} $fl ${1+"$@"} EOF chmod 755 %{buildroot}%{_prefix}/bin/c?9 %endif # FIXME: cpp, gcov manpages names pushd %{buildroot}%{_mandir}/man1; if [[ -n "%{program_prefix}%{program_suffix}" ]]; then for f in gcov cpp gcc g++ gfortran gpc; do [[ -f "$f.1" ]] && mv $f.1 %{program_prefix}$f%{program_suffix}.1 || : done fi popd # Fix info pages if [[ "%{name}" = "gcc%{branch}" ]]; then pushd %{buildroot}%{_infodir}/ for f in cpp cppinternals gcc gpc gpcs gfortran gnat-style gnat_rm gnat_ugn gcj; do if [[ -f "$f.info" ]]; then perl -pe "/^START-INFO-DIR-ENTRY/ .. /^END-INFO-DIR-ENTRY/ and s/($f)/\${1}-%{branch}/ig" $f.info > ${f}-%{branch}.info rm -f $f.info fi done popd fi # Sanitize rpath for bin in %{buildroot}%{_bindir}/* $FULLPATH/*.so $FULLPATH/ecj1; do if [[ ! -f $bin ]]; then continue fi oldrpath=$(chrpath -l $bin | awk -F= '{ print $2 }') newrpath= for rpathdir in ${oldrpath//:/ }; do rpathdir=${rpathdir/lib\/..\/lib64/lib64} [[ "$rpathdir" != "%{_libdir}" ]] || continue newrpath=$newrpath:$rpathdir done newrpath=${newrpath#:} [[ "$newrpath" != "$oldrpath" ]] || continue if [[ "$newrpath" == "" ]]; then chrpath -d $bin else chrpath -r $newrpath $bin fi done %if %{system_compiler} %define find_lang /usr/lib/rpm/find-lang.sh %buildroot %find_lang %{name} %find_lang cpplib %if %{build_cxx} %find_lang libstdc++ %endif %else touch %{name}.lang cpplib.lang libstdc++.lang %endif # Remove unpackaged files rm -f %{buildroot}%{_bindir}/jar rm -f %{buildroot}%{_bindir}/addr2name.awk rm -rf %{buildroot}%{_prefix}/doc rm -rf %{buildroot}%{_mandir}/man7 rm -f %{buildroot}%{target_libdir}/*.la rm -f %{buildroot}%{gcj_libdir}/*.la rm -f %{buildroot}%{_prefix}/lib/libiberty.a rm -f %{buildroot}%{_prefix}/lib64/libiberty.a rm -f %{buildroot}%{target_libdir}*/libiberty.a %if %isarch %{biarches} rm -f %{buildroot}%{_prefix}/lib/*.la rm -f %{buildroot}%{_prefix}/lib/32/libiberty.a %endif %if %isarch mips mipsel rm -f %{buildroot}%{target_libdir}32/*.la rm -f %{buildroot}%{target_libdir}32/libiberty.a rm -f %{buildroot}%{target_libdir}64/*.la rm -f %{buildroot}%{target_libdir}64/libiberty.a %endif rm -rf %{buildroot}%{gcc_libdir}/%{gcc_target_platform}/%{version}/install-tools %if !%{build_doc} rm -fr %{buildroot}/%{_datadir}/info/ %endif %if !%{build_quadmath} rm -f %{buildroot}/%{_datadir}/info/libquadmath* %endif %if %{build_cross} rm %{buildroot}%{_mandir}/man1/%{program_prefix}gcov%{program_suffix}.1* rm %{buildroot}%{_bindir}/%{program_prefix}gcov%{program_suffix} %endif %if !%system_compiler && !%build_cross && %libc_shared rm %{buildroot}%{target_slibdir}/libgcc_s-%{version}.so.%{libgcc_major} rm %{buildroot}%{target_slibdir}/libgcc_s.so.%{libgcc_major} rm %{buildroot}%{target_libdir}/libgcc_s.so %if %isarch %{biarches} rm %{buildroot}%{target_slibdir32}/libgcc_s-%{version}.so.%{libgcc_major} rm %{buildroot}%{target_slibdir32}/libgcc_s.so.%{libgcc_major} rm %{buildroot}%{target_libdir}/../lib/libgcc_s.so rm %{buildroot}%{target_libdir}/../lib/libgcc_s_32.so %endif %endif %if %build_cross && !%{build_cross_bootstrap} rm -f %{buildroot}/usr/%{target_lib}/libgcc_s.so %if %isarch mips mipsel rm %{buildroot}/usr/%{target_lib}32/libgcc_s.so rm %{buildroot}/usr/%{target_lib}64/libgcc_s.so %endif %endif # lsan is only available on x86_64, no need to expose header on other arches %ifnarch x86_64 rm -f %{buildroot}%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/sanitizer/lsan_interface.h %endif # limits.h and syslimits.h are needed in includedir mv %{buildroot}%{gcc_libdir}/%{gcc_target_platform}/%{version}/include-fixed/{sys,}limits.h \ %{buildroot}%{gcc_libdir}/%{gcc_target_platform}/%{version}/include rm -r %{buildroot}%{gcc_libdir}/%{gcc_target_platform}/%{version}/include-fixed %if %build_libgcj_bc && !%system_compiler # moved away, otherwise conflicts with system compiler libgcj mkdir -p %{buildroot}%{target_libdir}/gcj_bc-%{libgcj_major} mv %{buildroot}%{target_libdir}/libgcj_bc.so.%{libgcj_bc_major}.0.0 %{buildroot}%{target_libdir}/gcj_bc-%{libgcj_major} mv %{buildroot}%{target_libdir}/libgcj_bc.so.%{libgcj_bc_major} %{buildroot}%{target_libdir}/gcj_bc-%{libgcj_major} %endif %if %build_java # Handled by jpackage-utils, see #23693 rm -f %{buildroot}%{target_libdir}/security/classpath.security rm -f %{buildroot}%{target_libdir}/logging.properties %endif #%if %build_java && !%build_libffi #rm %{buildroot}%{target_libdir}/libffi.* #%if %isarch %biarches #rm %{buildroot}%{target_libdir}/../lib/libffi.* #%endif #rm %{buildroot}%{_mandir}/man3/ffi*.3 #%endif %if !%{system_compiler} rm -f %{buildroot}%{_infodir}/gccinstall.info* rm -f %{buildroot}%{_infodir}/gccint.info* rm -rf %{buildroot}%{_datadir}/locale %endif rm -f %{buildroot}%{_infodir}/cp-tools.info # In case we are cross-compiling, don't bother to remake symlinks and # don't let spec-helper when stripping files either %if %build_cross export DONT_SYMLINK_LIBS=1 export DONT_STRIP=1 %endif %if %{build_debug} # Don't strip in debug mode export DONT_STRIP=1 %endif %if %{build_java} mkdir -p %{buildroot}%{_datadir}/java/gcj-endorsed \ %{buildroot}%{gcj_libdir}/classmap.db.d chmod 755 %{buildroot}%{_datadir}/java/gcj-endorsed \ %{buildroot}%{gcj_libdir} \ %{buildroot}%{gcj_libdir}/classmap.db.d touch %{buildroot}%{gcj_libdir}/classmap.db # check if gcj-dbtool hasn't been incorrectly relinked. rh#165781 classmap_db=`LD_LIBRARY_PATH=%{buildroot}%{_libdir}:%{buildroot}/%{_lib} \ %{buildroot}%{_bindir}/gcj-dbtool%{program_suffix} -p` case "$classmap_db" in # XXX: grmpf, make sure it's at a unique location!? %{gcj_libdir}/classmap.db) ;; %{_prefix}/lib/../%{_lib}/gcj-%{version}-%{libgcj_major}/classmap.db) ;; *) echo Unexpected gcj-dbtool%{program_suffix} -p output; exit 1 ;; esac %endif %if %{build_libstdcxx} %if %build_cross && !%{build_cross_bootstrap} rm -f %{buildroot}%{target_libdir}/libstdc++.so.%{libstdcxx_major}.0.%{libstdcxx_micro}-gdb.py %if %isarch mips mipsel rm -f %{buildroot}%{target_libdir}32/libstdc++.so.%{libstdcxx_major}.0.%{libstdcxx_micro}-gdb.py rm -f %{buildroot}%{target_libdir}64/libstdc++.so.%{libstdcxx_major}.0.%{libstdcxx_micro}-gdb.py %endif %else mkdir -p %{buildroot}%{_datadir}/gdb/auto-load/%{_libdir} mv -f %{buildroot}%{_libdir}/libstdc++.so.%{libstdcxx_major}.0.%{libstdcxx_micro}-gdb.py \ %{buildroot}%{_datadir}/gdb/auto-load/%{_libdir}/ %if %isarch %{biarches} mkdir -p %{buildroot}%{_datadir}/gdb/auto-load/%{_prefix}/lib mv -f %{buildroot}%{_prefix}/lib/libstdc++.so.%{libstdcxx_major}.0.%{libstdcxx_micro}-gdb.py \ %{buildroot}%{_datadir}/gdb/auto-load/%{_prefix}/lib/ %endif %endif %endif # fix experimental/filesystem .a location %if %{build_libstdcxx} mv -f %{buildroot}%{_libdir}/libstdc++fs.a %{buildroot}%{gcc_libdir}/%{gcc_target_platform}/%{version}/ %if %isarch %{biarches} mv -f %{buildroot}%{_prefix}/lib/libstdc++fs.a %{buildroot}%{gcc_libdir}/%{gcc_target_platform}/%{version}/32/ %endif %endif # fix links broken by /usr move rm -f %{buildroot}/lib/cpp ln -sf %{_bindir}/cpp %{buildroot}%{_prefix}/lib/cpp %post /usr/sbin/update-alternatives --install %{_bindir}/%{cross_program_prefix}gcc %{cross_program_prefix}gcc %{_bindir}/%{program_prefix}gcc-%{version} %{alternative_priority} [ -e %{_bindir}/%{cross_program_prefix}gcc ] || /usr/sbin/update-alternatives --auto %{cross_program_prefix}gcc /usr/sbin/update-alternatives --install %{_bindir}/%{cross_program_prefix}gcc-ar %{cross_program_prefix}gcc-ar %{_bindir}/%{program_prefix}gcc-ar-%{version} %{alternative_priority} [ -e %{_bindir}/%{cross_program_prefix}gcc-ar ] || /usr/sbin/update-alternatives --auto %{cross_program_prefix}gcc-ar /usr/sbin/update-alternatives --install %{_bindir}/%{cross_program_prefix}gcc-nm %{cross_program_prefix}gcc-nm %{_bindir}/%{program_prefix}gcc-nm-%{version} %{alternative_priority} [ -e %{_bindir}/%{cross_program_prefix}gcc-nm ] || /usr/sbin/update-alternatives --auto %{cross_program_prefix}gcc-nm /usr/sbin/update-alternatives --install %{_bindir}/%{cross_program_prefix}gcc-ranlib %{cross_program_prefix}gcc-ranlib %{_bindir}/%{program_prefix}gcc-ranlib-%{version} %{alternative_priority} [ -e %{_bindir}/%{cross_program_prefix}gcc-ranlib ] || /usr/sbin/update-alternatives --auto %{cross_program_prefix}gcc-ranlib %postun if [ ! -f %{_bindir}/%{cross_program_prefix}gcc-%{version} ]; then /usr/sbin/update-alternatives --remove %{cross_program_prefix}gcc %{_bindir}/%{program_prefix}gcc-%{version} fi if [ ! -f %{_bindir}/%{cross_program_prefix}gcc-ar-%{version} ]; then /usr/sbin/update-alternatives --remove %{cross_program_prefix}gcc-ar %{_bindir}/%{program_prefix}gcc-ar-%{version} fi if [ ! -f %{_bindir}/%{cross_program_prefix}gcc-nm-%{version} ]; then /usr/sbin/update-alternatives --remove %{cross_program_prefix}gcc-nm %{_bindir}/%{program_prefix}gcc-nm-%{version} fi if [ ! -f %{_bindir}/%{cross_program_prefix}gcc-ranlib-%{version} ]; then /usr/sbin/update-alternatives --remove %{cross_program_prefix}gcc-ranlib %{_bindir}/%{program_prefix}gcc-ranlib-%{version} fi %if %{build_cxx} %post c++ /usr/sbin/update-alternatives --install %{_bindir}/%{cross_program_prefix}g++ %{cross_program_prefix}g++ %{_bindir}/%{program_prefix}g++-%{version} %{alternative_priority} --slave %{_bindir}/%{cross_program_prefix}c++ %{cross_program_prefix}c++ %{_bindir}/%{program_prefix}g++-%{version} [ -e %{_bindir}/%{cross_program_prefix}g++ ] || /usr/sbin/update-alternatives --auto %{cross_program_prefix}g++ %postun c++ if [ ! -f %{_bindir}/%{cross_program_prefix}g++-%{version} ]; then /usr/sbin/update-alternatives --remove %{cross_program_prefix}g++ %{_bindir}/%{program_prefix}g++-%{version} fi %endif %post cpp /usr/sbin/update-alternatives --install %{_bindir}/%{cross_program_prefix}cpp %{cross_program_prefix}cpp %{_bindir}/%{program_prefix}cpp-%{version} %{alternative_priority} --slave /lib/%{cross_program_prefix}cpp %{cross_program_prefix}lib_cpp %{_bindir}/%{program_prefix}cpp-%{version} [ -e %{_bindir}/%{cross_program_prefix}cpp ] || /usr/sbin/update-alternatives --auto %{cross_program_prefix}cpp %postun cpp if [ ! -f %{_bindir}/%{cross_program_prefix}cpp-%{version} ]; then /usr/sbin/update-alternatives --remove %{cross_program_prefix}cpp %{_bindir}/%{program_prefix}cpp-%{version} fi %post doc %_install_info gcc%{_package_suffix}.info %_install_info cpp%{_package_suffix}.info %if %{build_pascal} %_install_info gpc%{_package_suffix}.info %_install_info gpcs%{_package_suffix}.info %endif %if %{build_fortran} %_install_info gfortran%{_package_suffix}.info %endif %if %{build_quadmath} %_install_info libquadmath%{_package_suffix}.info %endif %if %{build_libitm} %_install_info libitm%{_package_suffix}.info %endif %if %{build_ada} %_install_info gnat-style%{_package_suffix}.info %_install_info gnat_rm%{_package_suffix}.info %_install_info gnat_ugn%{_package_suffix}.info %endif %if %{build_java} %_install_info gcj%{_package_suffix}_ug.info %endif %preun doc if [ "$1" = "0" ];then /sbin/install-info %{_infodir}/gcc%{_package_suffix}.info.xz --dir=%{_infodir}/dir --remove;fi; %_remove_install_info cpp%{_package_suffix}.info %if %{build_pascal} %_remove_install_info gpc%{_package_suffix}.info %_remove_install_info gpcs%{_package_suffix}.info %endif %if %{build_fortran} %_remove_install_info gfortran%{_package_suffix}.info %endif %if %{build_quadmath} %_remove_install_info libquadmath%{_package_suffix}.info %endif %if %{build_libitm} %_remove_install_info libitm%{_package_suffix}.info %endif %if %{build_ada} %_remove_install_info gnat-style%{_package_suffix}.info %_remove_install_info gnat_rm%{_package_suffix}.info %_remove_install_info gnat_ugn%{_package_suffix}.info %endif %if %{build_java} %_remove_install_info gcj%{_package_suffix}.info %endif %files -f %{name}.lang # %doc gcc/README* %{_mandir}/man1/%{program_prefix}gcc%{program_suffix}.1* %if "%{name}" == "gcc%{package_suffix}" %{_mandir}/man1/gcov%{program_suffix}.1* %{_mandir}/man1/gcov-dump%{program_suffix}.1* %{_mandir}/man1/gcov-tool%{program_suffix}.1* %endif # %{_bindir}/%{program_prefix}gcc%{branch}-version %{_bindir}/%{program_prefix}gcc%{program_long_suffix} %{_bindir}/%{gcc_target_platform}-gcc%{program_suffix} %{_bindir}/%{gcc_target_platform}-gcc-%{version} %{_bindir}/%{program_prefix}gcc-ar%{program_long_suffix} %{_bindir}/%{gcc_target_platform}-gcc-ar%{program_suffix} %{_bindir}/%{gcc_target_platform}-ar%{program_suffix} %{_bindir}/%{gcc_target_platform}-ar-%{version} %{_bindir}/%{program_prefix}gcc-nm%{program_long_suffix} %{_bindir}/%{gcc_target_platform}-gcc-nm%{program_suffix} %{_bindir}/%{gcc_target_platform}-nm%{program_suffix} %{_bindir}/%{gcc_target_platform}-nm-%{version} %{_bindir}/%{program_prefix}gcc-ranlib%{program_long_suffix} %{_bindir}/%{gcc_target_platform}-gcc-ranlib%{program_suffix} %{_bindir}/%{gcc_target_platform}-ranlib%{program_suffix} %{_bindir}/%{gcc_target_platform}-ranlib-%{version} %if "%{name}" == "gcc%{package_suffix}" %{_bindir}/gcov%{program_suffix} %{_bindir}/gcov-dump %{_bindir}/gcov-tool %endif %if %{system_compiler} %{_bindir}/cc %{_bindir}/c89 %{_bindir}/c99 %endif # %if %{libc_shared} && %{build_cross} || %{system_compiler} %if !%{build_cross_bootstrap} %{target_libdir}/libcc1.so %if %isarch %arm %{gcc_libdir}/%{gcc_target_platform}/%{version}/libgcc_s.so %else %{target_libdir}/libgcc_s.so %endif %if %isarch mips mipsel %{target_libdir}32/libgcc_s.so %{target_libdir}64/libgcc_s.so %endif %endif %if "%{name}" == "gcc%{package_suffix}" %if %isarch %{nof_arches} %{_libdir}/nof/libgcc_s.so %endif %if %isarch %{biarches} %{_prefix}/lib/libgcc_s.so %{_prefix}/lib/libgcc_s_32.so %endif %endif %endif # %dir %{gcc_libdir}/%{gcc_target_platform} %dir %{gcc_libdir}/%{gcc_target_platform}/%{version} # %{gcc_libdir}/%{gcc_target_platform}/%{version}/collect2 %{gcc_libdir}/%{gcc_target_platform}/%{version}/crt*.o %{gcc_libdir}/%{gcc_target_platform}/%{version}/libgcc.a %{gcc_libdir}/%{gcc_target_platform}/%{version}/libgcov.a %{gcc_libdir}/%{gcc_target_platform}/%{version}/lto-wrapper %{gcc_libdir}/%{gcc_target_platform}/%{version}/lto1 # TODO: split out? %{gcc_libdir}/%{gcc_target_platform}/%{version}/liblto_plugin* %{gcc_libdir}/%{gcc_target_platform}/%{version}/libgcc_eh.a %if "%{name}" == "gcc%{package_suffix}" %if %isarch %{biarches} %dir %{gcc_libdir}/%{gcc_target_platform}/%{version}/32 %{gcc_libdir}/%{gcc_target_platform}/%{version}/32/crt*.o %{gcc_libdir}/%{gcc_target_platform}/%{version}/32/libgcc.a %if %{libc_shared} %{gcc_libdir}/%{gcc_target_platform}/%{version}/32/libgcc_eh.a %endif %{gcc_libdir}/%{gcc_target_platform}/%{version}/32/libgcov.a %endif %if %isarch %{nof_arches} %dir %{gcc_libdir}/%{gcc_target_platform}/%{version}/nof %{gcc_libdir}/%{gcc_target_platform}/%{version}/nof/crt*.o %{gcc_libdir}/%{gcc_target_platform}/%{version}/nof/ecrt*.o %{gcc_libdir}/%{gcc_target_platform}/%{version}/nof/libgcc.a %if %{libc_shared} %{gcc_libdir}/%{gcc_target_platform}/%{version}/nof/libgcc_eh.a %endif %endif %endif %if "%{target_cpu}" == "mipsel" %dir %{gcc_libdir}/%{gcc_target_platform}/%{version}/64 %{gcc_libdir}/%{gcc_target_platform}/%{version}/64/crt*.o %{gcc_libdir}/%{gcc_target_platform}/%{version}/64/libgcc.a %if %{libc_shared} || %{build_cross_bootstrap} %{gcc_libdir}/%{gcc_target_platform}/%{version}/64/libgcc_eh.a %endif %{gcc_libdir}/%{gcc_target_platform}/%{version}/64/libgcov.a %dir %{gcc_libdir}/%{gcc_target_platform}/%{version}/n32 %{gcc_libdir}/%{gcc_target_platform}/%{version}/n32/crt*.o %{gcc_libdir}/%{gcc_target_platform}/%{version}/n32/libgcc.a %if %{libc_shared} || %{build_cross_bootstrap} %{gcc_libdir}/%{gcc_target_platform}/%{version}/n32/libgcc_eh.a %endif %{gcc_libdir}/%{gcc_target_platform}/%{version}/n32/libgcov.a %endif # %dir %{gcc_libdir}/%{gcc_target_platform}/%{version}/include %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/float.h %if %isarch %{ix86} x86_64 %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/adxintrin.h %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/ammintrin.h %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/avxintrin.h %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/avx2intrin.h %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/avx512bwintrin.h %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/avx512cdintrin.h %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/avx512dqintrin.h %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/avx512erintrin.h %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/avx512fintrin.h %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/avx512ifmaintrin.h %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/avx512ifmavlintrin.h %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/avx512pfintrin.h %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/avx512vbmiintrin.h %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/avx512vbmivlintrin.h %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/avx512vlbwintrin.h %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/avx512vldqintrin.h %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/avx512vlintrin.h %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/bmiintrin.h %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/bmi2intrin.h %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/bmmintrin.h %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/clflushoptintrin.h %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/clwbintrin.h %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/emmintrin.h %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/f16cintrin.h %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/fma4intrin.h %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/fmaintrin.h %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/fxsrintrin.h %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/ia32intrin.h %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/immintrin.h %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/lwpintrin.h %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/lzcntintrin.h %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/mm_malloc.h %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/mm3dnow.h %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/mmintrin.h %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/mwaitxintrin.h %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/nmmintrin.h %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/pmmintrin.h %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/popcntintrin.h %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/prfchwintrin.h %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/rdseedintrin.h %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/rtmintrin.h %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/shaintrin.h %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/smmintrin.h %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/tbmintrin.h %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/tmmintrin.h %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/wmmintrin.h %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/x86intrin.h %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/xmmintrin.h %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/xopintrin.h %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/xsavecintrin.h %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/xsaveintrin.h %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/xsaveoptintrin.h %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/xsavesintrin.h %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/xtestintrin.h %endif %if %isarch %arm %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/mmintrin.h %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/arm_acle.h %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/arm_neon.h %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/unwind-arm-common.h %endif %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/iso646.h %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/limits.h %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/stdalign.h %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/stdarg.h %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/stdatomic.h %if %isarch %{ix86} x86_64 %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/cross-stdarg.h %endif %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/stdbool.h %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/stddef.h %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/stdint-gcc.h %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/stdint.h %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/stdnoreturn.h %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/syslimits.h %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/unwind.h %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/varargs.h %if %isarch i386 x86_64 %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/cpuid.h %endif %if %isarch %mips %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/loongson.h %endif %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/stdfix.h %if %{build_libcilkrts} %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/cilk/cilk_api.h %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/cilk/cilk_api_linux.h %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/cilk/cilk.h %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/cilk/cilk_stub.h %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/cilk/cilk_undocumented.h %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/cilk/common.h %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/cilk/holder.h %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/cilk/hyperobject_base.h %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/cilk/metaprogramming.h %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/cilk/reducer_file.h %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/cilk/reducer.h %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/cilk/reducer_list.h %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/cilk/reducer_max.h %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/cilk/reducer_min.h %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/cilk/reducer_min_max.h %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/cilk/reducer_opadd.h %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/cilk/reducer_opand.h %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/cilk/reducer_opmul.h %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/cilk/reducer_opor.h %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/cilk/reducer_opxor.h %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/cilk/reducer_ostream.h %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/cilk/reducer_string.h %endif %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/sanitizer/common_interface_defs.h #%if !%build_libffi && %build_java #%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/ffi*.h #%endif %if "%{name}" == "%{cross_prefix}gcc" && %{libc_shared} %if !%{build_monolithic} %files -n %{libgcc_name} %endif %{target_libdir}/libcc1.so.%{libcc_major} %{target_libdir}/libcc1.so.%{libcc_major}.0.0 %{target_slibdir}/libgcc_s-%{version}.so.%{libgcc_major} %{target_slibdir}/libgcc_s.so.%{libgcc_major} %if %isarch %{biarches} %{target_slibdir32}/libgcc_s-%{version}.so.%{libgcc_major} %{target_slibdir32}/libgcc_s.so.%{libgcc_major} # (cg) Excluded for usrmerge # Note: This file will be recreated when running ldconfig so it will likely # return almost immediately on installed systems but due to a file name conflict # when the usrmerge happens it *must* be excluded from the package. # In the fullness of time we can remove any /lib vs /usr/lib hacks in this package. %exclude %{_prefix}/lib/libgcc_s.so.%{libgcc_major} %endif %if %isarch %{nof_arches} %{target_slibdir}/nof/libgcc_s-%{version}.so.%{libgcc_major} %{target_slibdir}/nof/libgcc_s.so.%{libgcc_major} %endif %if %isarch mips mipsel %{target_slibdir}32/libgcc_s-%{version}.so.%{libgcc_major} %{target_slibdir}32/libgcc_s.so.%{libgcc_major} %{target_slibdir}64/libgcc_s-%{version}.so.%{libgcc_major} %{target_slibdir}64/libgcc_s.so.%{libgcc_major} %endif %endif %if %{build_libssp} && %{libc_shared} %if !%{build_monolithic} %files -n %{libssp_name} %endif %{target_libdir}/libssp.so.%{libssp_major} %{target_libdir}/libssp.so.%{libssp_major}.0.0 %if %isarch %{biarches} %{_prefix}/lib/libssp.so.%{libssp_major} %{_prefix}/lib/libssp.so.%{libssp_major}.0.0 %endif %endif %if %{build_libssp} %if !%{build_monolithic} %files -n %{libssp_name_orig}-devel %endif %dir %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/ssp %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/ssp/*.h %{gcc_libdir}/%{gcc_target_platform}/%{version}/libssp.a %if %{libc_shared} %{gcc_libdir}/%{gcc_target_platform}/%{version}/libssp_nonshared.a %{gcc_libdir}/%{gcc_target_platform}/%{version}/libssp.so %endif %if %isarch %{biarches} %{gcc_libdir}/%{gcc_target_platform}/%{version}/32/libssp.a %if %{libc_shared} %{gcc_libdir}/%{gcc_target_platform}/%{version}/32/libssp_nonshared.a %{gcc_libdir}/%{gcc_target_platform}/%{version}/32/libssp.so %endif %endif %endif %if %{build_libgomp} %files -n %{libgomp_name} %{target_libdir}/libgomp.so.%{libgomp_major} %{target_libdir}/libgomp.so.%{libgomp_major}.0.0 %{target_libdir}/libgomp-plugin-host_nonshm.so.%{libgomp_major} %{target_libdir}/libgomp-plugin-host_nonshm.so.%{libgomp_major}.0.0 %if %isarch %{biarches} %{_prefix}/lib/libgomp.so.%{libgomp_major} %{_prefix}/lib/libgomp.so.%{libgomp_major}.0.0 %{_prefix}/lib/libgomp-plugin-host_nonshm.so.%{libgomp_major} %{_prefix}/lib/libgomp-plugin-host_nonshm.so.%{libgomp_major}.0.0 %endif %if %isarch mips mipsel %{_prefix}/lib32/libgomp.so.%{libgomp_major} %{_prefix}/lib32/libgomp.so.%{libgomp_major}.0.0 %{_prefix}/lib64/libgomp.so.%{libgomp_major} %{_prefix}/lib64/libgomp.so.%{libgomp_major}.0.0 %endif %files -n %{libgomp_name_orig}-devel %{gcc_libdir}/%{gcc_target_platform}/%{version}/libgomp.a %{gcc_libdir}/%{gcc_target_platform}/%{version}/libgomp.so %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/omp.h %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/openacc.h %if %isarch %{biarches} %{gcc_libdir}/%{gcc_target_platform}/%{version}/32/libgomp.a %{gcc_libdir}/%{gcc_target_platform}/%{version}/32/libgomp.so %endif %{target_libdir}/libgomp.spec %{target_libdir}/libgomp-plugin-host_nonshm.so %if %isarch %{biarches} %{_prefix}/lib/libgomp.spec %{_prefix}/lib/libgomp-plugin-host_nonshm.so %endif %if %isarch mips mipsel %{gcc_libdir}/%{gcc_target_platform}/%{version}/n32/libgomp.a %{gcc_libdir}/%{gcc_target_platform}/%{version}/n32/libgomp.so %{_prefix}/lib32/libgomp.spec %{gcc_libdir}/%{gcc_target_platform}/%{version}/64/libgomp.a %{gcc_libdir}/%{gcc_target_platform}/%{version}/64/libgomp.so %{_prefix}/lib64/libgomp.spec %endif %endif %if %{build_quadmath} %files -n %{libquadmath_name} %{target_libdir}/libquadmath.so.%{libquadmath_major} %{target_libdir}/libquadmath.so.%{libquadmath_major}.0.0 %if %isarch %{biarches} %{_prefix}/lib/libquadmath.so.%{libquadmath_major} %{_prefix}/lib/libquadmath.so.%{libquadmath_major}.0.0 %endif %files -n %{libquadmath_name_orig}-devel %{target_libdir}/libquadmath.a %{target_libdir}/libquadmath.so %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/quadmath.h %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/quadmath_weak.h %if %isarch %{biarches} %{_prefix}/lib/libquadmath.a %{_prefix}/lib/libquadmath.so %endif %endif %if %{build_libitm} %files -n %{libitm_name} %{target_libdir}/libitm.so.%{libitm_major} %{target_libdir}/libitm.so.%{libitm_major}.0.0 %{target_libdir}/libitm.spec %if %isarch %{biarches} %{_prefix}/lib/libitm.so.%{libitm_major} %{_prefix}/lib/libitm.so.%{libitm_major}.0.0 %{_prefix}/lib/libitm.spec %endif %files -n %{libitm_name_orig}-devel %{target_libdir}/libitm.a %{target_libdir}/libitm.so %if %isarch %{biarches} %{_prefix}/lib/libitm.a %{_prefix}/lib/libitm.so %endif %endif %if %{build_libasan} %files -n %{libasan_name} %{target_libdir}/libasan.so.%{libasan_major} %{target_libdir}/libasan.so.%{libasan_major}.0.0 %{target_libdir}/libasan_preinit.o %if %isarch %{biarches} %{_prefix}/lib/libasan.so.%{libasan_major} %{_prefix}/lib/libasan.so.%{libasan_major}.0.0 %{_prefix}/lib/libasan_preinit.o %endif %files -n %{libasan_name_orig}-devel %{target_libdir}/libasan.a %{target_libdir}/libasan.so %{target_libdir}/libsanitizer.spec %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/sanitizer/asan_interface.h %if %isarch %{biarches} %{_prefix}/lib/libasan.a %{_prefix}/lib/libasan.so %{_prefix}/lib/libsanitizer.spec %endif %endif %if %{build_libatomic} %files -n %{libatomic_name} %{target_libdir}/libatomic.so.%{libatomic_major} %{target_libdir}/libatomic.so.%{libatomic_major}.%{libatomic_minor}.0 %if %isarch %{biarches} %{_prefix}/lib/libatomic.so.%{libatomic_major} %{_prefix}/lib/libatomic.so.%{libatomic_major}.%{libatomic_minor}.0 %endif %files -n %{libatomic_name_orig}-devel %{target_libdir}/libatomic.a %{target_libdir}/libatomic.so %if %isarch %{biarches} %{_prefix}/lib/libatomic.a %{_prefix}/lib/libatomic.so %endif %endif %if %{build_liblsan} %files -n %{liblsan_name} %{target_libdir}/liblsan.so.%{liblsan_major} %{target_libdir}/liblsan.so.%{liblsan_major}.0.0 %files -n %{liblsan_name_orig}-devel %{target_libdir}/liblsan.a %{target_libdir}/liblsan.so %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/sanitizer/lsan_interface.h %endif %if %{build_libtsan} %files -n %{libtsan_name} %{target_libdir}/libtsan.so.%{libtsan_major} %{target_libdir}/libtsan.so.%{libtsan_major}.0.0 %files -n %{libtsan_name_orig}-devel %{target_libdir}/libtsan.a %{target_libdir}/libtsan.so %endif %if %{build_libubsan} %files -n %{libubsan_name} %{target_libdir}/libubsan.so.%{libubsan_major} %{target_libdir}/libubsan.so.%{libubsan_major}.0.0 %if %isarch %{biarches} %{_prefix}/lib/libubsan.so.%{libubsan_major} %{_prefix}/lib/libubsan.so.%{libubsan_major}.0.0 %endif %files -n %{libubsan_name_orig}-devel %{target_libdir}/libubsan.a %{target_libdir}/libubsan.so %if %isarch %{biarches} %{_prefix}/lib/libubsan.a %{_prefix}/lib/libubsan.so %endif %endif %if %{build_libcilkrts} %files -n %{libcilkrts_name} %{target_libdir}/libcilkrts.so.%{libcilkrts_major} %{target_libdir}/libcilkrts.so.%{libcilkrts_major}.0.0 %if %isarch %{biarches} %{_prefix}/lib/libcilkrts.so.%{libcilkrts_major} %{_prefix}/lib/libcilkrts.so.%{libcilkrts_major}.0.0 %endif %files -n %{libcilkrts_name_orig}-devel %{target_libdir}/libcilkrts.a %{target_libdir}/libcilkrts.so %{target_libdir}/libcilkrts.spec %if %isarch %{biarches} %{_prefix}/lib/libcilkrts.a %{_prefix}/lib/libcilkrts.so %{_prefix}/lib/libcilkrts.spec %endif %endif %if %{build_libvtv} %files -n %{libvtv_name} %{target_libdir}/libvtv.so.%{libvtv_major} %{target_libdir}/libvtv.so.%{libvtv_major}.0.0 %if %isarch %{biarches} %{_prefix}/lib/libvtv.so.%{libvtv_major} %{_prefix}/lib/libvtv.so.%{libvtv_major}.0.0 %endif %files -n %{libvtv_name_orig}-devel %{target_libdir}/libvtv.a %{target_libdir}/libvtv.so %if %isarch %{biarches} %{_prefix}/lib/libvtv.a %{_prefix}/lib/libvtv.so %endif %endif %files cpp -f cpplib.lang %{_mandir}/man1/%{program_prefix}cpp%{program_suffix}.1* %if !%{build_cross} && %{system_compiler} %{_prefix}/lib/%{cross_program_prefix}cpp %endif %ghost %{_bindir}/%{cross_program_prefix}cpp %{_bindir}/%{program_prefix}cpp%{program_long_suffix} %{gcc_libdir}/%{gcc_target_platform}/%{version}/cc1 %if %{build_cxx} %files c++ -f libstdc++.lang %{_mandir}/man1/%{program_prefix}g++%{program_suffix}.1* %ghost %{_bindir}/%{cross_program_prefix}c++ %{_bindir}/%{program_prefix}g++%{program_long_suffix} %{_bindir}/%{program_prefix}c++%{program_long_suffix} %{_bindir}/%{gcc_target_platform}-g++%{program_suffix} %{_bindir}/%{gcc_target_platform}-c++%{program_suffix} # %{gcc_libdir}/%{gcc_target_platform}/%{version}/cc1plus # symlinks to gcc3.4 stuff %if !%{system_compiler} # %if %{build_stdcxxheaders} %dir %{target_prefix}/include/c++ %{libstdcxx_includedir} %endif # %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/cxxabi.h %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/bits %{gcc_libdir}/%{gcc_target_platform}/%{version}/libstdc++.so %{gcc_libdir}/%{gcc_target_platform}/%{version}/libsupc++.a %if %isarch %{biarches} %{gcc_libdir}/%{gcc_target_platform}/%{version}/32/libstdc++.so %{gcc_libdir}/%{gcc_target_platform}/%{version}/32/libsupc++.a %endif %if %isarch mips mipsel %{gcc_libdir}/%{gcc_target_platform}/%{version}/n32/libstdc++.so %{gcc_libdir}/%{gcc_target_platform}/%{version}/n32/libsupc++.a %{gcc_libdir}/%{gcc_target_platform}/%{version}/64/libstdc++.so %{gcc_libdir}/%{gcc_target_platform}/%{version}/64/libsupc++.a %endif %endif %endif %if %{build_libstdcxx} && %{libc_shared} %if !%{build_monolithic} %files -n %{libstdcxx_name} %endif %{target_libdir}/libstdc++.so.%{libstdcxx_major} %{target_libdir}/libstdc++.so.%{libstdcxx_major}.0.%{libstdcxx_micro} %if %isarch %{biarches} %{_prefix}/lib/libstdc++.so.%{libstdcxx_major} %{_prefix}/lib/libstdc++.so.%{libstdcxx_major}.0.%{libstdcxx_micro} %endif %if %isarch %{nof_arches} %dir %{_libdir}/nof %{_libdir}/nof/libstdc++.so.%{libstdcxx_major} %{_libdir}/nof/libstdc++.so.%{libstdcxx_major}.0.%{libstdcxx_micro} %endif %if %isarch mips mipsel %{target_libdir}32/libstdc++.so.%{libstdcxx_major} %{target_libdir}32/libstdc++.so.%{libstdcxx_major}.0.%{libstdcxx_micro} %{target_libdir}64/libstdc++.so.%{libstdcxx_major} %{target_libdir}64/libstdc++.so.%{libstdcxx_major}.0.%{libstdcxx_micro} %endif %endif %if %{build_libstdcxx} %if !%{build_monolithic} %files -n %{libstdcxx_name_orig}-devel %endif %doc libstdc++-v3/README* %dir %{libstdcxx_includedir} %{libstdcxx_includedir}/* %if !%build_cross %{_datadir}/gdb/auto-load/%{_libdir}/libstdc++.so.%{libstdcxx_major}.0.%{libstdcxx_micro}-gdb.py* %if %isarch %{biarches} %{_datadir}/gdb/auto-load/%{_prefix}/lib/libstdc++.so.%{libstdcxx_major}.0.%{libstdcxx_micro}-gdb.py* %endif %endif %dir %{py_puresitedir}/libstdcxx %{py_puresitedir}/libstdcxx/__init__.py* %dir %{py_puresitedir}/libstdcxx/v6 %{py_puresitedir}/libstdcxx/v6/__init__.py* %{py_puresitedir}/libstdcxx/v6/printers.py* %{py_puresitedir}/libstdcxx/v6/xmethods.py* %if %{system_compiler} %dir %{gcc_libdir}/%{gcc_target_platform}/%{version} %dir %{gcc_libdir}/%{gcc_target_platform}/%{version}/include %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/cxxabi.h %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/bits %endif # %{gcc_libdir}/%{gcc_target_platform}/%{version}/libsupc++.a %if %{libc_shared} %{gcc_libdir}/%{gcc_target_platform}/%{version}/libstdc++.so %endif %if %isarch %{biarches} %{gcc_libdir}/%{gcc_target_platform}/%{version}/32/libsupc++.a %if %{libc_shared} %{gcc_libdir}/%{gcc_target_platform}/%{version}/32/libstdc++.so %endif %endif %if %isarch %{nof_arches} %{gcc_libdir}/%{gcc_target_platform}/%{version}/nof/libsupc++.a %if %{libc_shared} %{gcc_libdir}/%{gcc_target_platform}/%{version}/nof/libstdc++.so %endif %endif %if %isarch mips mipsel %{gcc_libdir}/%{gcc_target_platform}/%{version}/n32/libsupc++.a %if %{libc_shared} %{gcc_libdir}/%{gcc_target_platform}/%{version}/n32/libstdc++.so %endif %{gcc_libdir}/%{gcc_target_platform}/%{version}/64/libsupc++.a %if %{libc_shared} %{gcc_libdir}/%{gcc_target_platform}/%{version}/64/libstdc++.so %endif %endif %endif %if %{build_libstdcxx} %if !%{build_monolithic} %files -n %{libstdcxx_name_orig}-static-devel %endif %doc libstdc++-v3/README %{gcc_libdir}/%{gcc_target_platform}/%{version}/libstdc++.a %{gcc_libdir}/%{gcc_target_platform}/%{version}/libstdc++fs.a %if %isarch %{biarches} %{gcc_libdir}/%{gcc_target_platform}/%{version}/32/libstdc++.a %{gcc_libdir}/%{gcc_target_platform}/%{version}/32/libstdc++fs.a %endif %if %isarch %{nof_arches} %{gcc_libdir}/%{gcc_target_platform}/%{version}/nof/libstdc++.a %endif %if %isarch mips mipsel %{gcc_libdir}/%{gcc_target_platform}/%{version}/n32/libstdc++.a %{gcc_libdir}/%{gcc_target_platform}/%{version}/64/libstdc++.a %endif %endif # placement is important in order to avoid breaking build_monolithic case %files -n %{name}-plugins %dir %{gcc_libdir}/%{gcc_target_platform}/%{version}/plugin/include/ %{gcc_libdir}/%{gcc_target_platform}/%{version}/plugin/include/* %{gcc_libdir}/%{gcc_target_platform}/%{version}/plugin/gengtype %{gcc_libdir}/%{gcc_target_platform}/%{version}/plugin/gtype.state %{gcc_libdir}/%{gcc_target_platform}/%{version}/plugin/libcc1plugin.* %if %{build_objc} %files objc %doc rpm.doc/objc/* %{gcc_libdir}/%{gcc_target_platform}/%{version}/cc1obj %{gcc_libdir}/%{gcc_target_platform}/%{version}/libobjc.a %{gcc_libdir}/%{gcc_target_platform}/%{version}/libobjc_gc.a %if %{libc_shared} %{gcc_libdir}/%{gcc_target_platform}/%{version}/libobjc.so %{gcc_libdir}/%{gcc_target_platform}/%{version}/libobjc_gc.so %endif %if %isarch %{biarches} %{gcc_libdir}/%{gcc_target_platform}/%{version}/32/libobjc.a %{gcc_libdir}/%{gcc_target_platform}/%{version}/32/libobjc_gc.a %if %{libc_shared} %{gcc_libdir}/%{gcc_target_platform}/%{version}/32/libobjc.so %{gcc_libdir}/%{gcc_target_platform}/%{version}/32/libobjc_gc.so %endif %endif %if %isarch %{nof_arches} %{gcc_libdir}/%{gcc_target_platform}/%{version}/nof/libobjc.a %{gcc_libdir}/%{gcc_target_platform}/%{version}/nof/libobjc_gc.a %if %{libc_shared} %{gcc_libdir}/%{gcc_target_platform}/%{version}/nof/libobjc.so %{gcc_libdir}/%{gcc_target_platform}/%{version}/nof/libobjc_gc.so %endif %endif # %dir %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/objc %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/objc/*.h # %if %isarch mips mipsel %{gcc_libdir}/%{gcc_target_platform}/%{version}/n32/libobjc.a %{gcc_libdir}/%{gcc_target_platform}/%{version}/n32/libobjc_gc.a %if %{libc_shared} %{gcc_libdir}/%{gcc_target_platform}/%{version}/n32/libobjc.so %{gcc_libdir}/%{gcc_target_platform}/%{version}/n32/libobjc_gc.so %endif %{gcc_libdir}/%{gcc_target_platform}/%{version}/64/libobjc.a %{gcc_libdir}/%{gcc_target_platform}/%{version}/64/libobjc_gc.a %if %{libc_shared} %{gcc_libdir}/%{gcc_target_platform}/%{version}/64/libobjc.so %{gcc_libdir}/%{gcc_target_platform}/%{version}/64/libobjc_gc.so %endif %endif %endif %if %{build_objc} && %{libc_shared} %if !%{build_monolithic} %files -n %{libobjc_name} %endif %doc rpm.doc/libobjc/* %doc libobjc/THREADS* libobjc/ChangeLog %{target_libdir}/libobjc.so.%{libobjc_major} %{target_libdir}/libobjc.so.%{libobjc_major}.0.0 %{target_libdir}/libobjc_gc.so.%{libobjc_major} %{target_libdir}/libobjc_gc.so.%{libobjc_major}.0.0 %if %isarch %{biarches} %{_prefix}/lib/libobjc.so.%{libobjc_major} %{_prefix}/lib/libobjc.so.%{libobjc_major}.0.0 %{_prefix}/lib/libobjc_gc.so.%{libobjc_major} %{_prefix}/lib/libobjc_gc.so.%{libobjc_major}.0.0 %endif %if %isarch mips mipsel %{_prefix}/lib32/libobjc.so.%{libobjc_major} %{_prefix}/lib32/libobjc.so.%{libobjc_major}.0.0 %{_prefix}/lib32/libobjc_gc.so.%{libobjc_major} %{_prefix}/lib32/libobjc_gc.so.%{libobjc_major}.0.0 %{_prefix}/lib64/libobjc.so.%{libobjc_major} %{_prefix}/lib64/libobjc.so.%{libobjc_major}.0.0 %{_prefix}/lib64/libobjc_gc.so.%{libobjc_major} %{_prefix}/lib64/libobjc_gc.so.%{libobjc_major}.0.0 %endif %endif %if %{build_objcp} %files objc++ %doc rpm.doc/objcp/* %{gcc_libdir}/%{gcc_target_platform}/%{version}/cc1objplus %endif %if %{build_pascal} %files gpc %doc rpm.doc/gpc/* %{_mandir}/man1/%{program_prefix}gpc%{program_suffix}.1* %{_mandir}/man1/%{program_prefix}/gpc-run%{program_suffix}.1* %{_bindir}/gpc-run %{_bindir}/binobj %{_bindir}/%{program_prefix}gpc%{program_suffix} %{_bindir}/%{program_prefix}gpidump%{program_suffix} %{gcc_libdir}/%{gcc_target_platform}/%{version}/gpc1 %{gcc_libdir}/%{gcc_target_platform}/%{version}/gpcpp %{gcc_libdir}/%{gcc_target_platform}/%{version}/libgpc.a %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/gpc-in-c.h %dir %{gcc_libdir}/%{gcc_target_platform}/%{version}/units %{gcc_libdir}/%{gcc_target_platform}/%{version}/units/*.c %{gcc_libdir}/%{gcc_target_platform}/%{version}/units/*.h %{gcc_libdir}/%{gcc_target_platform}/%{version}/units/*.s %{gcc_libdir}/%{gcc_target_platform}/%{version}/units/*.inc %{gcc_libdir}/%{gcc_target_platform}/%{version}/units/*.pas %endif %if %{build_fortran} %files gfortran %doc rpm.doc/gfortran/* %{_mandir}/man1/%{program_prefix}gfortran%{program_suffix}.1* %{_bindir}/%{program_prefix}gfortran%{program_suffix} %{_bindir}/%{gcc_target_platform}-gfortran%{program_suffix} %{gcc_libdir}/%{gcc_target_platform}/%{version}/f951 %{gcc_libdir}/%{gcc_target_platform}/%{version}/libgfortranbegin.la %{gcc_libdir}/%{gcc_target_platform}/%{version}/libgfortranbegin.a %{gcc_libdir}/%{gcc_target_platform}/%{version}/libgfortran.a %{gcc_libdir}/%{gcc_target_platform}/%{version}/libcaf_single.la %{gcc_libdir}/%{gcc_target_platform}/%{version}/libcaf_single.a %{gcc_libdir}/%{gcc_target_platform}/%{version}/finclude/ieee_arithmetic.mod %{gcc_libdir}/%{gcc_target_platform}/%{version}/finclude/ieee_exceptions.mod %{gcc_libdir}/%{gcc_target_platform}/%{version}/finclude/ieee_features.mod %if %{libc_shared} %{gcc_libdir}/%{gcc_target_platform}/%{version}/libgfortran.so %endif %if %isarch %{biarches} %{gcc_libdir}/%{gcc_target_platform}/%{version}/32/libgfortranbegin.la %{gcc_libdir}/%{gcc_target_platform}/%{version}/32/libgfortranbegin.a %{gcc_libdir}/%{gcc_target_platform}/%{version}/32/libgfortran.a %{gcc_libdir}/%{gcc_target_platform}/%{version}/32/libcaf_single.la %{gcc_libdir}/%{gcc_target_platform}/%{version}/32/libcaf_single.a %{gcc_libdir}/%{gcc_target_platform}/%{version}/32/finclude/ieee_arithmetic.mod %{gcc_libdir}/%{gcc_target_platform}/%{version}/32/finclude/ieee_exceptions.mod %{gcc_libdir}/%{gcc_target_platform}/%{version}/32/finclude/ieee_features.mod %if %{libc_shared} %{gcc_libdir}/%{gcc_target_platform}/%{version}/32/libgfortran.so %endif %endif %if %isarch %{nof_arches} %{gcc_libdir}/%{gcc_target_platform}/%{version}/nof/libgfortran.a %if %{libc_shared} %{gcc_libdir}/%{gcc_target_platform}/%{version}/nof/libgfortran.so %endif %endif %if %isarch mips mipsel %{gcc_libdir}/%{gcc_target_platform}/%{version}/n32/libgfortranbegin.la %{gcc_libdir}/%{gcc_target_platform}/%{version}/n32/libgfortranbegin.a %{gcc_libdir}/%{gcc_target_platform}/%{version}/n32/libgfortran.a %{gcc_libdir}/%{gcc_target_platform}/%{version}/64/libgfortranbegin.la %{gcc_libdir}/%{gcc_target_platform}/%{version}/64/libgfortranbegin.a %{gcc_libdir}/%{gcc_target_platform}/%{version}/64/libgfortran.a %if %{libc_shared} %{gcc_libdir}/%{gcc_target_platform}/%{version}/n32/libgfortran.so %{gcc_libdir}/%{gcc_target_platform}/%{version}/64/libgfortran.so %endif %endif %if %{build_libgomp} %{gcc_libdir}/%{gcc_target_platform}/%{version}/finclude/omp* %{gcc_libdir}/%{gcc_target_platform}/%{version}/finclude/openacc* %endif %endif %if %{build_fortran} && %{libc_shared} %if !%{build_monolithic} %files -n %{libgfortran_name} %endif %{target_libdir}/libgfortran.so.%{libgfortran_major} %{target_libdir}/libgfortran.so.%{libgfortran_major}.0.0 %{target_libdir}/libgfortran.spec %if %isarch %{biarches} %{_prefix}/lib/libgfortran.so.%{libgfortran_major} %{_prefix}/lib/libgfortran.so.%{libgfortran_major}.0.0 %{_prefix}/lib/libgfortran.spec %endif %if %isarch mips mipsel %{target_libdir}32/libgfortran.so.%{libgfortran_major} %{target_libdir}32/libgfortran.so.%{libgfortran_major}.0.0 %{target_libdir}64/libgfortran.so.%{libgfortran_major} %{target_libdir}64/libgfortran.so.%{libgfortran_major}.0.0 %endif %endif %if %{build_java} %files java %doc gcc/java/ChangeLog* %{_bindir}/gcj%{program_suffix} %{_bindir}/%{gcc_target_platform}-gcj %{gcc_libdir}/%{gcc_target_platform}/%{version}/ecj1 %{gcc_libdir}/%{gcc_target_platform}/%{version}/jc1 %{gcc_libdir}/%{gcc_target_platform}/%{version}/jvgenmain %{_mandir}/man1/%{program_prefix}gcj%{program_suffix}.1* %endif %if %{build_java} %files -n %{GCJ_TOOLS} %{_bindir}/gij%{program_suffix} %{_bindir}/grmic%{program_suffix} %{_bindir}/grmiregistry%{program_suffix} %{_bindir}/gappletviewer%{program_suffix} %{_bindir}/gc-analyze%{program_suffix} %{_bindir}/gjar%{program_suffix} %{_bindir}/gjarsigner%{program_suffix} %{_bindir}/gjavah%{program_suffix} %{_bindir}/gjdoc%{program_suffix} %{_bindir}/gkeytool%{program_suffix} %{_bindir}/gnative2ascii%{program_suffix} %{_bindir}/gorbd%{program_suffix} %{_bindir}/grmid%{program_suffix} %{_bindir}/gserialver%{program_suffix} %{_bindir}/gtnameserv%{program_suffix} %{_bindir}/gcj-dbtool%{program_suffix} %{_bindir}/gcjh%{program_suffix} %{_bindir}/%{gcc_target_platform}-gcjh %{_bindir}/jcf-dump%{program_suffix} # %{_mandir}/man1/gij*.1* %{_mandir}/man1/gcjh*.1* %{_mandir}/man1/grmic*.1* %{_mandir}/man1/grmiregistry*.1* %{_mandir}/man1/gcj-dbtool*.1* %{_mandir}/man1/jcf-dump*.1* %{_mandir}/man1/gappletviewer*.1* %{_mandir}/man1/gc-analyze*.1* %{_mandir}/man1/gjar*.1* %{_mandir}/man1/gjavah*.1* %{_mandir}/man1/gjdoc*.1* %{_mandir}/man1/gkeytool*.1* %{_mandir}/man1/gnative2ascii*.1* %{_mandir}/man1/gorbd*.1* %{_mandir}/man1/grmid*.1* %{_mandir}/man1/gserialver*.1* %{_mandir}/man1/gtnameserv*.1* %{_mandir}/man1/jv-convert*.1* %endif %if %{build_java} %files -n %{libgcj_name} %{target_libdir}/libgcj.so.%{libgcj_major} %{target_libdir}/libgcj.so.%{libgcj_major}.0.0 %{target_libdir}/libgij.so.%{libgcj_major} %{target_libdir}/libgij.so.%{libgcj_major}.0.0 %{target_libdir}/libgcj-tools.so.%{libgcj_major} %{target_libdir}/libgcj-tools.so.%{libgcj_major}.0.0 %dir %{gcj_libdir} %{gcj_libdir}/libgjsmalsa.so %{gcj_libdir}/libgjsmdssi.so %{gcj_libdir}/libgtkpeer.so %{gcj_libdir}/libjavamath.so %{gcj_libdir}/libjawt.so %{gcj_libdir}/libjvm.so # %if %build_libgcj_bc && !%system_compiler %{target_libdir}/gcj_bc-%{libgcj_major} %endif # %dir %{gcj_libdir}/classmap.db.d %attr(0644,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) %{gcj_libdir}/classmap.db %endif %if %{build_java} %files -n %{libgcj_name_base}-base %dir %{_datadir}/java %dir %{_datadir}/java/gcj-endorsed %{_datadir}/java/libgcj-%{version}.jar %{_datadir}/java/libgcj-tools-%{version}.jar %endif %if %{build_java} %files -n %{libgcj_devel_name} %doc rpm.doc/boehm-gc/* %doc rpm.doc/libjava/* %{_bindir}/jv-convert%{program_suffix} %{_mandir}/man1/jv-convert%{program_suffix}.1* %{_libdir}/pkgconfig/libgcj*.pc %dir %{gcc_libdir}/%{gcc_target_platform}/%{version} %dir %{gcc_libdir}/%{gcc_target_platform}/%{version}/include %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/gcj %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/libgcj %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/jni.h %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/jni_md.h %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/jvmpi.h %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/jawt.h %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/jawt_md.h # %dir %{libjava_includedir} %dir %{libjava_includedir}/gcj %{libjava_includedir}/gcj/*.h %dir %{libjava_includedir}/gnu %{libjava_includedir}/gnu/* %dir %{libjava_includedir}/java %{libjava_includedir}/java/* %dir %{libjava_includedir}/javax %{libjava_includedir}/javax/* %dir %{libjava_includedir}/org %{libjava_includedir}/org/* # %{gcc_libdir}/%{gcc_target_platform}/%{version}/libgcj.spec %{gcc_libdir}/%{gcc_target_platform}/%{version}/libgcj.so %{gcc_libdir}/%{gcc_target_platform}/%{version}/libgij.so %{gcc_libdir}/%{gcc_target_platform}/%{version}/libgcj-tools.so %if %build_libgcj_bc %{gcc_libdir}/%{gcc_target_platform}/%{version}/libgcj_bc.so %endif %if %isarch %{biarches} %{gcc_libdir}/%{gcc_target_platform}/%{version}/32/libgcj.so %{gcc_libdir}/%{gcc_target_platform}/%{version}/32/libgij.so %{gcc_libdir}/%{gcc_target_platform}/%{version}/32/libgcj-tools.so %if %build_libgcj_bc %{gcc_libdir}/%{gcc_target_platform}/%{version}/32/libgcj_bc.so %endif %endif %if %isarch %{nof_arches} %{gcc_libdir}/%{gcc_target_platform}/%{version}/nof/libgcj.so %{gcc_libdir}/%{gcc_target_platform}/%{version}/nof/libgij.so %endif %endif %if %{build_java} %files -n %{libgcj_static_devel_name} %doc libjava/README libjava/LIBGCJ_LICENSE %if %isarch %{biarches} %{gcc_libdir}/%{gcc_target_platform}/%{version}/32/libgcj.a %{gcc_libdir}/%{gcc_target_platform}/%{version}/32/libgij.a %{gcc_libdir}/%{gcc_target_platform}/%{version}/32/libgcj-tools.a %if %build_libgcj_bc %{gcc_libdir}/%{gcc_target_platform}/%{version}/32/libgcj_bc.a %endif %endif %if %isarch %{nof_arches} %{gcc_libdir}/%{gcc_target_platform}/%{version}/nof/libgcj.a %{gcc_libdir}/%{gcc_target_platform}/%{version}/nof/libgij.a %endif %endif %if %{build_java} %files -n %{libgcj_name_base}-src %dir %{_datadir}/java %{_datadir}/java/src*.zip %endif %if %{build_java} && %{system_compiler} %files -n %{libgcj_bc_name} %{target_libdir}/libgcj_bc.so.%{libgcj_bc_major} %{target_libdir}/libgcj_bc.so.%{libgcj_bc_major}.0.0 %endif %if %{build_ada} %files gnat %exclude %{_bindir}/gnative2ascii %{_bindir}/gnat* %{gcc_libdir}/%{gcc_target_platform}/%{version}/gnat1 %dir %{gcc_libdir}/%{gcc_target_platform}/%{version}/adainclude %{gcc_libdir}/%{gcc_target_platform}/%{version}/adainclude/*.adb %{gcc_libdir}/%{gcc_target_platform}/%{version}/adainclude/*.ads %dir %{gcc_libdir}/%{gcc_target_platform}/%{version}/adalib %{gcc_libdir}/%{gcc_target_platform}/%{version}/adalib/*.ali %{gcc_libdir}/%{gcc_target_platform}/%{version}/adalib/libgmem.a %{gcc_libdir}/%{gcc_target_platform}/%{version}/adalib/libgnat.a %{gcc_libdir}/%{gcc_target_platform}/%{version}/adalib/libgnarl.a %if %{libc_shared} %{_libdir}/libgnat-%{branch}.so %{gcc_libdir}/%{gcc_target_platform}/%{version}/adalib/libgnat.so %{gcc_libdir}/%{gcc_target_platform}/%{version}/adalib/libgnat-%{branch}.so %{gcc_libdir}/%{gcc_target_platform}/%{version}/adalib/libgnarl.so %{gcc_libdir}/%{gcc_target_platform}/%{version}/adalib/libgnarl-%{branch}.so %endif %endif %if %{build_libffi} %files -n %{libffi_name} %{target_libdir}/libffi.so.%{libffi_major} %{target_libdir}/libffi.so.%{libffi_major}.0.1 %if %isarch %{biarches} %{_prefix}/lib/libffi.so.%{libffi_major} %{_prefix}/lib/libffi.so.%{libffi_major}.0.1 %endif %if %isarch mips mipsel %{_prefix}/lib32/libffi.so.%{libffi_major} %{_prefix}/lib32/libffi.so.%{libffi_major}.0.1 %{_prefix}/lib64/libffi.so.%{libffi_major} %{_prefix}/lib64/libffi.so.%{libffi_major}.0.1 %endif %files -n %{libffi_name}-devel %doc libffi/README libffi/LICENSE libffi/ChangeLog* %{_mandir}/man3/ffi*.3* %dir %{gcc_libdir}/%{gcc_target_platform}/%{version} %dir %{gcc_libdir}/%{gcc_target_platform}/%{version}/include %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/ffi*.h %{_libdir}/libffi.a %{_libdir}/libffi.so %if %isarch %{biarches} %{_prefix}/lib/libffi.a %{_prefix}/lib/libffi.so %endif %if %isarch mips mipsel %{_prefix}/lib32/libffi.a %{_prefix}/lib32/libffi.so %{_prefix}/lib64/libffi.a %{_prefix}/lib64/libffi.so %endif %endif %if %{build_ada} && %{libc_shared} %files -n %{libgnat_name} %{target_libdir}/libgnat-*.so.* %{target_libdir}/libgnarl-*.so.* %endif %if %{build_doc} %files doc %doc gcc/*ChangeLog* %if %{build_check} %doc test_summary.log %endif %{_infodir}/cppinternals%{_package_suffix}.info* %{_infodir}/cpp%{_package_suffix}.info* %{_infodir}/gcc%{_package_suffix}.info* %{_infodir}/gccinstall%{_package_suffix}.info* %{_infodir}/gccint%{_package_suffix}.info* %if %{build_libstdcxx} %doc rpm.doc/libstdc++/ %endif %if %{build_cxx} %doc rpm.doc/c++ %endif %if %{build_libgomp} %{_infodir}/libgomp%{_package_suffix}.info* %endif %if %{build_ada} %{_infodir}/gnat-style%{_package_suffix}.info* %{_infodir}/gnat_rm%{_package_suffix}.info* %{_infodir}/gnat_ugn%{_package_suffix}.info* %endif %if %{build_java} %{_infodir}/gcj%{_package_suffix}.info* %endif %if %{build_pascal} %{_infodir}/gpc%{_package_suffix}.info* %{_infodir}/gpcs%{_package_suffix}.info* %endif %if %{build_fortran} %{_infodir}/gfortran%{_package_suffix}.info* %endif %if %{build_quadmath} %{_infodir}/libquadmath%{_package_suffix}.info* %endif %if %{build_libitm} %{_infodir}/libitm%{_package_suffix}.info* %endif %endif %if %{build_pdf_doc} %files doc-pdf %doc gcc/doc/cppinternals.pdf %doc gcc/doc/gcc.pdf %doc gcc/doc/cpp.pdf %if %{build_ada} %doc gcc/ada/gnat_rm.pdf %doc gcc/ada/gnat_ugn.pdf %endif %if %{build_fortran} %doc gcc/fortran/gfortran.pdf %endif %endif %if %{build_libstdcxx_docs} %files -n libstdc++-docs %{_mandir}/man3/* %doc rpm.doc/libstdc++-v3/html %endif %changelog * Sun Feb 04 2018 tmb <tmb> 5.5.0-1.mga6 + Revision: 1198836 - add retpoline support (backport provided by H.J Lu) - update to 5.5.0 * Sat Jul 01 2017 tmb <tmb> 5.4.0-5.mga6 + Revision: 1108810 - add Mageia branding (requested by Remi on dev@ ml) * Sat May 13 2017 tmb <tmb> 5.4.0-4.mga6 + Revision: 1100979 - more miscompilation and ICE fixes from upstream gcc-5 branch * Wed Apr 26 2017 tmb <tmb> 5.4.0-3.mga6 + Revision: 1097540 - more fixes from upstream gcc-5 branch * Sun Mar 26 2017 tmb <tmb> 5.4.0-2.mga6 + Revision: 1094890 - add regression, miscompilation and ICE fixes from upstream gcc-5 branch - Support exception propagation without lock-free atomic int * Fri Jun 03 2016 tmb <tmb> 5.4.0-1.mga6 + Revision: 1020173 - update to 5.4.0 final * Sun May 29 2016 tmb <tmb> 5.4.0-0.RC.1.mga6 + Revision: 1019344 - update to 5.4.0-RC + tv <tv> - fix error on uninstalling gcc-doc * Thu May 05 2016 tmb <tmb> 5.3.1-0.20160503.1.mga6 + Revision: 1009624 - update to 2016-05-03 snapshot * Wed Apr 20 2016 tmb <tmb> 5.3.1-0.20160419.1.mga6 + Revision: 1003817 - update to 2016-04-19 + pterjan <pterjan> - Add flags for armv7hl * Wed Apr 06 2016 tmb <tmb> 5.3.1-0.20160405.1.mga6 + Revision: 999024 - update to 2016-04-05 * Thu Mar 24 2016 tmb <tmb> 5.3.1-0.20160322.1.mga6 + Revision: 994763 - update to 2016-03-22 * Thu Mar 17 2016 tmb <tmb> 5.3.1-0.20160315.2.mga6 + Revision: 992428 - fix PR c++/70209: ICE in strip_typedefs (mga#17949) * Wed Mar 16 2016 tmb <tmb> 5.3.1-0.20160315.1.mga6 + Revision: 992202 - update to 2016-03-15 snapshot * Tue Mar 15 2016 tmb <tmb> 5.3.1-0.20160308.1.mga6 + Revision: 991066 - update to 2016-03-08 snapshot * Mon Mar 07 2016 cjw <cjw> 5.3.1-0.20160301.3.mga6 + Revision: 986986 - fix dependency on libecj-java since this provides was dropped from ecj - make libatomic-devel depend on libatomic * Sun Mar 06 2016 pterjan <pterjan> 5.3.1-0.20160301.2.mga6 + Revision: 986561 - Enable ada on arm * Thu Mar 03 2016 tmb <tmb> 5.3.1-0.20160301.1.mga6 + Revision: 984393 - update to 2016-03-01 + neoclust <neoclust> - Enable java on arm * Fri Feb 26 2016 tmb <tmb> 5.3.1-0.20160223.1.mga6 + Revision: 979672 - update to 2016-02-23 * Thu Jan 28 2016 tmb <tmb> 5.3.1-0.20160126.1.mga6 + Revision: 928448 - update to 2015-01-26 snapshot * Sun Jan 24 2016 luigiwalser <luigiwalser> 5.3.1-0.20160112.3.mga6 + Revision: 926994 - rebuild for real this time * Sun Jan 24 2016 luigiwalser <luigiwalser> 5.3.1-0.20160112.2.mga6 + Revision: 926937 - rebuild for isl * Wed Jan 13 2016 tmb <tmb> 5.3.1-0.20160112.1.mga6 + Revision: 922843 - update to 2016-01-12 * Wed Jan 06 2016 tmb <tmb> 5.3.1-0.20160105.1.mga6 + Revision: 919920 - update to 2016-01-05 snapshot * Wed Dec 23 2015 tmb <tmb> 5.3.1-0.20151222.1.mga6 + Revision: 913712 - update to 5.3.1 snapshot 2015-12-22 * Sun Dec 06 2015 tmb <tmb> 5.3.0-2.mga6 + Revision: 908488 - fix PR lto/(65948/66027): ICE in odr_types_equivalent_p - fix PR c++/67337: segfault in mangle.c * Fri Dec 04 2015 tmb <tmb> 5.3.0-1.mga6 + Revision: 908104 - update to 5.3.0 final * Sun Nov 29 2015 tmb <tmb> 5.2.1-0.20151124.1.mga6 + Revision: 907029 - update to 2015-11-24 * Wed Nov 11 2015 tmb <tmb> 5.2.1-0.20151110.1.mga6 + Revision: 901570 - update to 2015-11-10 snapshot * Wed Nov 04 2015 tmb <tmb> 5.2.1-0.20151103.1.mga6 + Revision: 897831 - update to 2015-11-03 * Wed Oct 21 2015 tmb <tmb> 5.2.1-0.20151020.1.mga6 + Revision: 894012 - update to 2015-10-20 snapshot * Wed Oct 14 2015 tmb <tmb> 5.2.1-0.20151013.1.mga6 + Revision: 890766 - update to 2015-10-13 snapshot * Wed Sep 23 2015 tmb <tmb> 5.2.1-0.20150922.1.mga6 + Revision: 882437 - update to 2015-09-22 snapshot * Tue Sep 08 2015 blino <blino> 5.2.1-0.20150811.6.mga6 + Revision: 874027 - package arm_acle.h on ARM - package stdalign/stdatomic/stdnoreturn headers for all archs (stdatomic was not included on ARM) - package openacc.h in gomp devel package, and not only for x86 (built on ARM as well) - package libcc1.so for ARM as well - build vtv only on i?86 and x86_64, unsupported otherwise (e.g. on ARM) * Mon Sep 07 2015 blino <blino> 5.2.1-0.20150811.5.mga6 + Revision: 873840 - fix prep without java (for arm/mips) * Mon Aug 24 2015 blino <blino> 5.2.1-0.20150811.4.mga6 + Revision: 869029 - remove incorrect obsoletes/provides for libstdc++5 * Thu Aug 20 2015 tmb <tmb> 5.2.1-0.20150811.3.mga6 + Revision: 866934 - submit to /release * Thu Aug 20 2015 tmb <tmb> 5.2.1-0.20150811.2.mga6 + Revision: 866038 - cloog and ppl has been replaced by isl for Graphite support * Wed Aug 19 2015 tmb <tmb> 5.2.1-0.20150811.1.mga6 + Revision: 866002 - update to 5.2.1 snapshot 2015-08-11 * see: https://gcc.gnu.org/gcc-5/changes.html * libstdcxx micro is now 21 * libgcj major is now 16 * libasan major is now 2 * disable broken pdf build * update filelists * Tue Aug 18 2015 tmb <tmb> 4.9.2-8.mga6 + Revision: 865414 - rebuild with fixed glibc - rebuild with new glibc * Sun Aug 02 2015 tmb <tmb> 4.9.2-6.mga6 + Revision: 860856 - rebuild with new binutils * Fri Jul 31 2015 tmb <tmb> 4.9.2-5.mga6 + Revision: 860179 - testbuild with new binutils * Sun Nov 02 2014 cjw <cjw> 4.9.2-4.mga5 + Revision: 795243 - source9/patch133: add java.security classes from apache harmony to libgcj to fix networking with bouncycastle 1.50 * Thu Oct 30 2014 tmb <tmb> 4.9.2-3.mga5 + Revision: 794707 - update to 4.9.2 final * Fri Oct 24 2014 tmb <tmb> 4.9.2-1.RC.2.mga5 + Revision: 792983 - lsan is only available on x86_64 - update filelists - update to 4.9.2-RC * Wed Oct 15 2014 umeabot <umeabot> 4.9.2-0.20141001.2.mga5 + Revision: 747981 - Second Mageia 5 Mass Rebuild * Fri Oct 03 2014 tmb <tmb> 4.9.2-0.20141001.1.mga5 + Revision: 736459 - update to 2014-10-01 - update to 2014-10-01 * Thu Sep 25 2014 tmb <tmb> 4.9.2-0.20140924.1.mga5 + Revision: 724531 - update to 2014-09-24 snapshot * Sat Sep 20 2014 tmb <tmb> 4.9.2-0.20140910.3.mga5 + Revision: 697479 - rebuild with fixed rpm-mageia-setup * Tue Sep 16 2014 umeabot <umeabot> 4.9.2-0.20140910.2.mga5 + Revision: 679433 - Mageia 5 Mass Rebuild * Thu Sep 11 2014 tmb <tmb> 4.9.2-0.20140910.1.mga5 + Revision: 674668 - update to 2014-09-10 * Tue Sep 09 2014 tmb <tmb> 4.9.2-0.20140903.2.mga5 + Revision: 674222 - rebuild with new glibc * Thu Sep 04 2014 tmb <tmb> 4.9.2-0.20140903.1.mga5 + Revision: 672114 - update to 2014-09-03 * Thu Aug 28 2014 tmb <tmb> 4.9.2-0.20140827.1.mga5 + Revision: 669062 - update to 2014-08-27 snapshot * Mon Aug 25 2014 tmb <tmb> 4.9.2-0.20140820.1.mga5 + Revision: 667297 - update to 2014-08-20 snapshot * Sat Aug 09 2014 tv <tv> 4.9.2-0.20140730.3.mga5 + Revision: 661306 - make lib*san-devel requires lib*san1 * Sat Aug 09 2014 tv <tv> 4.9.2-0.20140730.2.mga5 + Revision: 661283 - make libasan-devel requires libasan1 * Thu Jul 31 2014 tmb <tmb> 4.9.2-0.20140730.1.mga5 + Revision: 658546 - update to 4.9.2 snapshot 2014-07-30 (CVE-2014-5044) * Sun Jul 27 2014 tmb <tmb> 4.9.1-2.mga5 + Revision: 657566 - gcc/PR61801: fix sched2 miscompiles syscall sequence * Thu Jul 17 2014 tv <tv> 4.9.1-1.mga5 + Revision: 653378 - new release * Thu Jul 03 2014 tmb <tmb> 4.9.1-0.20140702.1.mga5 + Revision: 642672 - update to 20140702 snapshot * Tue Jul 01 2014 tmb <tmb> 4.9.1-0.20140625.2.mga5 + Revision: 641812 - ship cxxabi.h and cxxabi_tweaks.h in both upstream default path for clang to work and Mageia specific path to keep backward compatibility (mga#13543) * Thu Jun 26 2014 tmb <tmb> 4.9.1-0.20140625.1.mga5 + Revision: 639753 - update to 20140625 snapshot * Thu Jun 19 2014 tmb <tmb> 4.9.1-0.20140618.1.mga5 + Revision: 638133 - update to 20140618 snapshot * Thu Jun 12 2014 tmb <tmb> 4.9.1-0.20140611.1.mga5 + Revision: 635741 - update to 20140611 snapshot * Thu Jun 05 2014 tmb <tmb> 4.9.1-0.20140604.1.mga5 + Revision: 633483 - update to 2014-06-04 snapshot * Sat May 31 2014 pterjan <pterjan> 4.9.1-0.20140528.2.mga5 + Revision: 628208 - Rebuild for new Python * Thu May 29 2014 tmb <tmb> 4.9.1-0.20140528.1.mga5 + Revision: 627475 - update to 20140528 snapshot * Thu May 22 2014 tmb <tmb> 4.9.1-0.20140521.1.mga5 + Revision: 624927 - update to 20140521 snapshot * Fri May 16 2014 tmb <tmb> 4.9.1-0.20140514.1.mga5 + Revision: 622989 - update to 20140514 snapshot * Tue May 13 2014 tmb <tmb> 4.9.1-0.20140507.2.mga5 + Revision: 622491 - push to release * Thu May 08 2014 tmb <tmb> 4.9.1-0.20140507.1.mga5 + Revision: 621215 - update to 20140507 snapshot * Wed May 07 2014 tmb <tmb> 4.9.1-0.20140430.3.mga5 + Revision: 621039 - switch to 4.9.1 snapshot 20140430 - fix libgcj pkconfig file - adjust build defines - revert PR bootstrap/56714 as it breaks the build - drop p120 (merged), p125 (fixed) - update filelists - libatomic minor is now 1 - libgcj major is now 15 - libasan major is now 1 - libstdc++ micro version is now 20 - add new package definitions: * liblsan: Leak Sanitizer Libraries * libubsan: Undefined Behaviour Sanitizer Libraries * libvtv: Virtual Table Verification Libraries * libcilkrts: Cilk+ Runtime Libraries - mudflap run time checker has been removed - update to 4.9.0 * Mon Feb 17 2014 tmb <tmb> 4.8.2-5.mga5 + Revision: 593942 - rebuild with new glibc * Sat Feb 08 2014 tmb <tmb> 4.8.2-4.mga5 + Revision: 586837 - adapt for new freetype2 include path (P125) - test build with new glibc * Wed Oct 23 2013 tmb <tmb> 4.8.2-3.mga4 + Revision: 546668 - fix bug in nth_element (PR libstdc++/58800, mga #11516) * Tue Oct 22 2013 umeabot <umeabot> 4.8.2-2.mga4 + Revision: 545598 - Mageia 4 Mass Rebuild * Wed Oct 16 2013 tmb <tmb> 4.8.2-1.mga4 + Revision: 501462 - update to 4.8.2 final * Sat Oct 12 2013 tmb <tmb> 4.8.2-0.20131009.2.mga4 + Revision: 496063 - rebuild with new binutils & make * Fri Oct 11 2013 tmb <tmb> 4.8.2-0.20131009.1.mga4 + Revision: 495122 - update to 4.8.2 RC * Fri Oct 04 2013 tmb <tmb> 4.8.2-0.20131003.1.mga4 + Revision: 491582 - update filelists - update to 2013-10-03 * Sun Sep 22 2013 tmb <tmb> 4.8.2-0.20130919.1.mga4 + Revision: 483258 - update to 2013-09-19 * Tue Sep 17 2013 tmb <tmb> 4.8.2-0.20130912.1.mga4 + Revision: 480784 - update to 2013-09-12 * Tue Sep 10 2013 tmb <tmb> 4.8.2-0.20130905.1.mga4 + Revision: 477216 - update to 2013-09-05 * Sat Aug 24 2013 tmb <tmb> 4.8.2-0.20130822.1.mga4 + Revision: 471381 - update to 2013-08-22 snapshot * Sun Aug 18 2013 tmb <tmb> 4.8.2-0.20130815.1.mga4 + Revision: 467526 - update to 2013-08-15 snapshot * Sun Aug 11 2013 tmb <tmb> 4.8.2-0.20130808.2.mga4 + Revision: 465377 - push to /release * Fri Aug 09 2013 tmb <tmb> 4.8.2-0.20130808.1.mga4 + Revision: 465008 - update to 2013-08-08 * Sat Aug 03 2013 tmb <tmb> 4.8.2-0.20130801.1.mga4 + Revision: 463026 - update to 2013-08-01 snapshot - force binutils 2.23.2 (build)requires * Thu Aug 01 2013 tmb <tmb> 4.8.2-0.20130725.1.mga4 + Revision: 461959 - update filelists - add libatomic, libasan and libtsan (and their devel) subpackages - libstdc++ minor is now 18 - libgcj major is now 14 - rediff gnuhash patches - drop 'PR tree-optimization/33763' fix (merged) - rediff linux32 patch - drop merged patches - update to 4.8.2 (20130725 pre-release) * Sat May 04 2013 anssi <anssi> 4.7.2-7.mga3 + Revision: 412285 - fix /usr/lib/cpp target (cosmetic, not seen due to alternatives) - add conflicts against old gcc3.3-cpp for smooth upgrade * Fri Jan 11 2013 umeabot <umeabot> 4.7.2-6.mga3 + Revision: 351094 - Mass Rebuild - https://wiki.mageia.org/en/Feature:Mageia3MassRebuild * Tue Jan 01 2013 tmb <tmb> 4.7.2-5.mga3 + Revision: 337399 - rebuild for new glibc * Wed Oct 24 2012 blino <blino> 4.7.2-4.mga3 + Revision: 309834 - remove ar/ranlib hack now that a fixed gcc-ar is available * Wed Oct 24 2012 blino <blino> 4.7.2-3.mga3 + Revision: 309752 - build temporarily with AR=ar and RANLIB=ranlib to workaround broken i586-mageia-linux-gnu-ar/ranlib - fix gcc-ar exit code (from upstream git, to fix gcc build) - fix inlining failure with fpmath=sse pragma (gcc#54988) * Sun Oct 07 2012 tmb <tmb> 4.7.2-2.mga3 + Revision: 303207 - fix gcc-ar, gcc-nm and gcc-ranlib target_platform specific symlinks (reported by Liutauras Adomaitis on -dev ml, and in mga #7393) - make gcc-ar, gcc-nm, and gcc-ranlib use update-alternatives like gcc * Sun Sep 23 2012 tmb <tmb> 4.7.2-1.mga3 + Revision: 296791 - drop patches P108, P220-P223 (merged upstream) - update to 4.7.2 * Sun Jul 29 2012 guillomovitch <guillomovitch> 4.7.1-7.mga3 + Revision: 275547 - drop gnatmake completion, a more uptodate one is available in bash-completion package - fix /lib/cpp link broken by /usr move * Fri Jul 20 2012 tmb <tmb> 4.7.1-6.mga3 + Revision: 272720 - PR 52908 - xop-mul-1:f9 miscompiled on bulldozer (-mxop) (P220) - PR debug/53682 * cselib.c (promote_debug_loc): Don't crash on NULL argument. (P221) - PR target/53759 (sse_loadlps): Use x m x constraints in the vmovlps load alternative. (P222) - mksysinfo.sh: Fix handling of glibc 2.16 bits/resource.h (P223) * Wed Jul 18 2012 tmb <tmb> 4.7.1-5.mga3 + Revision: 272346 - rebuild for new glibc * Wed Jul 18 2012 colin <colin> 4.7.1-4.mga3 + Revision: 272255 - Exclude a file on x86_64 that will conflict with usrmerge (it will be recreated after install via ldconfig anyway) * Sat Jul 14 2012 tmb <tmb> 4.7.1-3.mga3 + Revision: 270744 - rebuild for missing i586 packages * Tue Jul 10 2012 rtp <rtp> 4.7.1-2.mga3 + Revision: 269214 - Fix file list on arm. * Tue Jun 26 2012 tmb <tmb> 4.7.1-1.mga3 + Revision: 264094 - BR texinfo-tex - update filelists - ada/gcc-interface/Makefile.in: fix missing -fPIC flag (P108, upstream) - rediff P115, P201, P208, P211, P302, P304, P507 - add packages for GNU Transactional Memory library (libitm) support - update libstdcxx_minor, libgcj_major and libobjc_major - update to 4.7.1 * Mon Apr 16 2012 blino <blino> 4.6.3-2.mga2 + Revision: 230992 - add libstdc++ html doc and man pages in new libstdc++-docs package, using Fedora spec bits (this also removes prebuilt libstdc++ html doc from gcc-doc) - pass --disable-quadmath if quadmath is disabled (still not enough to make the rpm build correctly) * Sat Mar 03 2012 tmb <tmb> 4.6.3-1.mga2 + Revision: 217194 - drop merged patches: P140, P209 - update to 4.6.3 bugfix release (74 fixes) - make sure gnative2ascii is in gcj-tools and not in gcc-gnat (#4618) * Sun Feb 19 2012 tmb <tmb> 4.6.2-2.mga2 + Revision: 211052 - add fix for PR middle-end/51077 (mga #4593) * tree-object-size.c (addr_object_size): Check TREE_CODE of MEM_REF's operand rather than code of the MEM_REF itself. (fixes Internal compiler error when building lesstif, mga #4492) - fix libjava bootstrap build with glibc-2.15 (upstream PR/50888) - make gfortran require quadmath-devel if it is built + rtp <rtp> - Fix build on arm: * fix building with quadmath disabled by removed extra info page * add missing arm-specific header in the gcc-plugins package * Mon Dec 05 2011 tmb <tmb> 4.6.2-1.mga2 + Revision: 176905 - update filelists - add quadmath libraries for GCC __float128 and Fortran REAL*16 support - spec cleanup - rediff ada so.ext patch - drop p105 (obsolete) - update lib major/minor - build with '--enable-linker-build-id' - fix doc - fix linux32 support (patch by pcpa, from mdv) - bump requires on ppl to 0.11.2 - rediff P107, P115, P116, P132, P211, P304, P507 to apply cleanly - drop merged patches P508-P517 - remove obsolete defattr - drop support for ppc(64), sparc(64) - update to 4.6.2 * Sun Sep 11 2011 fwang <fwang> 4.5.2-5.mga2 + Revision: 142272 - rebuild for new libpng * Wed Apr 20 2011 rtp <rtp> 4.5.2-4.mga1 + Revision: 89091 - Add missing link in gcc-gnat (#833) - Add fix for PR/48090 - cross gcc build fixes: - fix cross program prefix to be the same as for the other toolchain tools - fix when cross building 32 bit target on 64bit * Tue Mar 29 2011 rtp <rtp> 4.5.2-3.mga1 + Revision: 78682 - enable back checks - cross toolchain fixes. Now, it should be possible to try to build cross toolchains (brieftly tested with mipsel cross toolchain on arm). - disable libffi package so as to make sure newer libffi is used (which is the case in fact) - fix monolithic build due to misplacement of gcc-plugin files. - add noarch for pdf doc rpm. - arm support (default DT_GNU_HASH, set __ARM_PCS or __ARM_PCS_VFP, fix wformat error) - mips o32/n32/64 support - backport PR/21803, PR/47166, PR/44768, PR/46865, workaround for PR/48090 * Tue Jan 18 2011 tmb <tmb> 4.5.2-2.mga1 + Revision: 23432 - obsolete manbo-mandriva-files-gcc-* for a clean upgrade - drop rpm tags - drop manbo support - drop support for old mandriva releases - rename mandriva to mageia - fix bugzilla url - imported package gcc