Blame SPECS/gcc.spec

72e591
%{?scl:%scl_package gcc}
72e591
%{?scl:%global __strip strip}
72e591
%{?scl:%global __objdump objdump}
5733f8
%global DATE 20150212
5733f8
%global SVNREV 220644
5733f8
%global gcc_version 4.9.2
72e591
# Note, gcc_release must be integer, if you want to add suffixes to
72e591
# %{release}, append them after %{gcc_release} on Release: line.
5733f8
%global gcc_release 6
72e591
%global mpc_version 0.8.1
72e591
%global cloog_version 0.18.1
72e591
%global isl_version 0.12.2
72e591
%global graphviz_version 2.26.0
72e591
%global doxygen_version 1.8.0
72e591
%global _unpackaged_files_terminate_build 0
72e591
%global multilib_64_archs sparc64 ppc64 s390x x86_64
72e591
%ifarch %{ix86} x86_64 ia64
72e591
%global build_libquadmath 1
72e591
%else
72e591
%global build_libquadmath 0
72e591
%endif
72e591
%global build_fortran 1
72e591
%ifarch %{ix86} x86_64 %{arm} alpha ppc ppc64 ppc64le ppc64p7 s390 s390x aarch64
72e591
%global build_libitm 1
72e591
%else
72e591
%global build_libitm 0
72e591
%endif
72e591
%ifarch %{ix86} x86_64 ppc ppc64 %{arm}
72e591
%global build_libasan 1
72e591
%else
72e591
%global build_libasan 0
72e591
%endif
72e591
%ifarch x86_64
72e591
%global build_libtsan 1
72e591
%else
72e591
%global build_libtsan 0
72e591
%endif
72e591
%ifarch x86_64
72e591
%global build_liblsan 1
72e591
%else
72e591
%global build_liblsan 0
72e591
%endif
72e591
%ifarch %{ix86} x86_64 ppc ppc64 ppc64p7 %{arm}
72e591
%global build_libubsan 1
72e591
%else
72e591
%global build_libubsan 0
72e591
%endif
72e591
%ifarch %{ix86} x86_64
72e591
%global build_libcilkrts 1
72e591
%else
72e591
%global build_libcilkrts 0
72e591
%endif
5733f8
%ifarch %{ix86} x86_64 ppc ppc64 ppc64p7 ppc64le s390 s390x %{arm} aarch64
72e591
%global build_libatomic 1
72e591
%else
72e591
%global build_libatomic 0
72e591
%endif
72e591
%ifarch %{ix86} x86_64 ppc ppc64 ppc64le ppc64p7 s390 s390x %{arm} aarch64
72e591
%global attr_ifunc 1
72e591
%else
72e591
%global attr_ifunc 0
72e591
%endif
72e591
%global build_cloog 1
72e591
%global build_libstdcxx_docs 1
72e591
%ifarch s390x
72e591
%global multilib_32_arch s390
72e591
%endif
72e591
%ifarch sparc64
72e591
%global multilib_32_arch sparcv9
72e591
%endif
72e591
%ifarch ppc64
72e591
%global multilib_32_arch ppc
72e591
%endif
72e591
%ifarch x86_64
72e591
%global multilib_32_arch i686
72e591
%endif
72e591
Summary: GCC version 4.9
72e591
Name: %{?scl_prefix}gcc
72e591
#Name: %{?scl_prefix}gcc%{!?scl:49}
72e591
Version: %{gcc_version}
611c22
Release: %{gcc_release}.2%{?dist}
72e591
# libgcc, libgfortran, libmudflap, libgomp, libstdc++ and crtstuff have
72e591
# GCC Runtime Exception.
72e591
License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions and LGPLv2+ and BSD
72e591
Group: Development/Languages
72e591
# The source for this package was pulled from upstream's vcs.  Use the
72e591
# following commands to generate the tarball:
72e591
# svn export svn://gcc.gnu.org/svn/gcc/branches/redhat/gcc-4_9-branch@%{SVNREV} gcc-%{version}-%{DATE}
72e591
# tar cf - gcc-%{version}-%{DATE} | bzip2 -9 > gcc-%{version}-%{DATE}.tar.bz2
72e591
Source0: gcc-%{version}-%{DATE}.tar.bz2
72e591
Source1: ftp://gcc.gnu.org/pub/gcc/infrastructure/isl-%{isl_version}.tar.bz2
72e591
Source2: ftp://gcc.gnu.org/pub/gcc/infrastructure/cloog-%{cloog_version}.tar.gz
72e591
Source3: http://www.multiprecision.org/mpc/download/mpc-%{mpc_version}.tar.gz
72e591
Source4: ftp://ftp.stack.nl/pub/users/dimitri/doxygen-%{doxygen_version}.src.tar.gz
72e591
URL: http://gcc.gnu.org
72e591
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
72e591
# Need binutils with -pie support >= 2.14.90.0.4-4
72e591
# Need binutils which can omit dot symbols and overlap .opd on ppc64 >= 2.15.91.0.2-4
72e591
# Need binutils which handle -msecure-plt on ppc >= 2.16.91.0.2-2
72e591
# Need binutils which support .weakref >= 2.16.91.0.3-1
72e591
# Need binutils which support --hash-style=gnu >= 2.17.50.0.2-7
72e591
# Need binutils which support mffgpr and mftgpr >= 2.17.50.0.2-8
72e591
# Need binutils which support --build-id >= 2.17.50.0.17-3
72e591
# Need binutils which support %gnu_unique_object >= 2.19.51.0.14
72e591
# Need binutils which support .cfi_sections >= 2.19.51.0.14-33
72e591
BuildRequires: binutils >= 2.19.51.0.14-33
72e591
# While gcc doesn't include statically linked binaries, during testing
72e591
# -static is used several times.
72e591
BuildRequires: glibc-static
72e591
%if 0%{?scl:1}
72e591
%if 0%{?rhel} >= 7
72e591
BuildRequires: binutils >= 2.22.52.0.1
72e591
%else
72e591
BuildRequires: %{?scl_prefix}binutils >= 2.22.52.0.1
72e591
%endif
72e591
# For testing
72e591
BuildRequires: %{?scl_prefix}gdb >= 7.4.50
72e591
%endif
72e591
BuildRequires: zlib-devel, gettext, dejagnu, bison, flex, texinfo, sharutils
72e591
BuildRequires: /usr/bin/pod2man
72e591
%if 0%{?rhel} >= 7
72e591
BuildRequires: texinfo-tex
72e591
%endif
72e591
#BuildRequires: systemtap-sdt-devel >= 1.3
72e591
# For VTA guality testing
72e591
BuildRequires: gdb
72e591
# Make sure pthread.h doesn't contain __thread tokens
72e591
# Make sure glibc supports stack protector
72e591
# Make sure glibc supports DT_GNU_HASH
72e591
BuildRequires: glibc-devel >= 2.4.90-13
72e591
BuildRequires: elfutils-devel >= 0.147
72e591
BuildRequires: elfutils-libelf-devel >= 0.147
72e591
%ifarch ppc ppc64 ppc64le ppc64p7 s390 s390x sparc sparcv9 alpha
72e591
# Make sure glibc supports TFmode long double
72e591
BuildRequires: glibc >= 2.3.90-35
72e591
%endif
72e591
%ifarch %{multilib_64_archs} sparcv9 ppc
72e591
# Ensure glibc{,-devel} is installed for both multilib arches
72e591
BuildRequires: /lib/libc.so.6 /usr/lib/libc.so /lib64/libc.so.6 /usr/lib64/libc.so
72e591
%endif
72e591
%ifarch ia64
72e591
BuildRequires: libunwind >= 0.98
72e591
%endif
72e591
# Need .eh_frame ld optimizations
72e591
# Need proper visibility support
72e591
# Need -pie support
72e591
# Need --as-needed/--no-as-needed support
72e591
# On ppc64, need omit dot symbols support and --non-overlapping-opd
72e591
# Need binutils that owns /usr/bin/c++filt
72e591
# Need binutils that support .weakref
72e591
# Need binutils that supports --hash-style=gnu
72e591
# Need binutils that support mffgpr/mftgpr
72e591
# Need binutils which support --build-id >= 2.17.50.0.17-3
72e591
# Need binutils which support %gnu_unique_object >= 2.19.51.0.14
72e591
# Need binutils which support .cfi_sections >= 2.19.51.0.14-33
72e591
%if 0%{?scl:1}
72e591
%if 0%{?rhel} >= 7
72e591
Requires: binutils >= 2.22.52.0.1
72e591
%else
72e591
Requires: %{?scl_prefix}binutils >= 2.22.52.0.1
72e591
%endif
72e591
%else
72e591
Requires: binutils >= 2.19.51.0.14-33
72e591
%endif
72e591
# Make sure gdb will understand DW_FORM_strp
72e591
Conflicts: gdb < 5.1-2
72e591
Requires: glibc-devel >= 2.2.90-12
72e591
%ifarch ppc ppc64 ppc64le ppc64p7 s390 s390x sparc sparcv9 alpha
72e591
# Make sure glibc supports TFmode long double
72e591
Requires: glibc >= 2.3.90-35
72e591
%endif
72e591
Requires: libgcc >= 4.1.2-43
72e591
Requires: libgomp >= 4.4.4-13
72e591
BuildRequires: gmp-devel >= 4.1.2-8
72e591
BuildRequires: mpfr-devel >= 2.2.1
72e591
%if 0%{?rhel} >= 7
72e591
BuildRequires: libmpc-devel >= 0.8.1
72e591
%endif
72e591
%if %{build_libstdcxx_docs}
72e591
BuildRequires: libxml2
72e591
BuildRequires: graphviz
72e591
%if 0%{?rhel} < 7
72e591
# doxygen BRs
72e591
BuildRequires: perl
72e591
BuildRequires: texlive-dvips, texlive-utils, texlive-latex
72e591
BuildRequires: ghostscript
72e591
%endif
72e591
%if 0%{?rhel} >= 7
72e591
BuildRequires: doxygen >= 1.7.1
72e591
BuildRequires: dblatex, texlive-collection-latex, docbook5-style-xsl
72e591
%endif
72e591
%endif
72e591
%{?scl:Requires:%scl_runtime}
72e591
%{?scl:Provides:gcc = %{version}-%{release}}
72e591
AutoReq: true
72e591
AutoProv: false
5733f8
%ifarch sparc64 ppc64 ppc64le s390x x86_64 ia64
72e591
Provides: liblto_plugin.so.0()(64bit)
72e591
%else
72e591
Provides: liblto_plugin.so.0
72e591
%endif
72e591
%global oformat %{nil}
72e591
%global oformat2 %{nil}
72e591
%ifarch %{ix86}
72e591
%global oformat OUTPUT_FORMAT(elf32-i386)
72e591
%endif
72e591
%ifarch x86_64
72e591
%global oformat OUTPUT_FORMAT(elf64-x86-64)
72e591
%global oformat2 OUTPUT_FORMAT(elf32-i386)
72e591
%endif
72e591
%ifarch ppc
72e591
%global oformat OUTPUT_FORMAT(elf32-powerpc)
72e591
%global oformat2 OUTPUT_FORMAT(elf64-powerpc)
72e591
%endif
72e591
%ifarch ppc64
72e591
%global oformat OUTPUT_FORMAT(elf64-powerpc)
72e591
%global oformat2 OUTPUT_FORMAT(elf32-powerpc)
72e591
%endif
72e591
%ifarch s390
72e591
%global oformat OUTPUT_FORMAT(elf32-s390)
72e591
%endif
72e591
%ifarch s390x
72e591
%global oformat OUTPUT_FORMAT(elf64-s390)
72e591
%global oformat2 OUTPUT_FORMAT(elf32-s390)
72e591
%endif
72e591
%ifarch ia64
72e591
%global oformat OUTPUT_FORMAT(elf64-ia64-little)
72e591
%endif
5733f8
%ifarch ppc64le
5733f8
%global oformat OUTPUT_FORMAT(elf64-powerpcle)
5733f8
%endif
72e591
72e591
Patch0: gcc49-hack.patch
72e591
Patch1: gcc49-java-nomulti.patch
72e591
Patch2: gcc49-ppc32-retaddr.patch
72e591
Patch3: gcc49-rh330771.patch
72e591
Patch4: gcc49-i386-libgomp.patch
72e591
Patch5: gcc49-sparc-config-detection.patch
72e591
Patch6: gcc49-libgomp-omp_h-multilib.patch
72e591
Patch7: gcc49-libtool-no-rpath.patch
72e591
Patch8: gcc49-cloog-dl.patch
72e591
Patch9: gcc49-cloog-dl2.patch
72e591
Patch10: gcc49-pr38757.patch
72e591
Patch11: gcc49-libstdc++-docs.patch
72e591
Patch12: gcc49-no-add-needed.patch
5733f8
Patch13: gcc49-color-auto.patch
5733f8
Patch14: gcc49-libgo-p224.patch
5733f8
Patch15: gcc49-aarch64-async-unw-tables.patch
5733f8
Patch16: gcc49-aarch64-unwind-opt.patch
5733f8
Patch17: gcc49-pr64336.patch
72e591
72e591
Patch1000: gcc49-libstdc++-compat.patch
72e591
Patch1001: gcc49-libgfortran-compat.patch
72e591
Patch1002: gcc49-alt-compat-test.patch
72e591
Patch1003: gcc49-libquadmath-compat.patch
72e591
Patch1004: gcc49-libstdc++44-xfail.patch
72e591
Patch1005: gcc49-alt-compat-test2.patch
72e591
Patch1006: gcc49-rh1118870.patch
72e591
72e591
Patch1100: cloog-%{cloog_version}-ppc64le-config.patch
72e591
72e591
Patch2001: doxygen-1.7.1-config.patch
72e591
Patch2002: doxygen-1.7.5-timestamp.patch
72e591
Patch2003: doxygen-1.8.0-rh856725.patch
72e591
72e591
%if 0%{?rhel} >= 7
72e591
%global nonsharedver 48
72e591
%else
72e591
%global nonsharedver 44
72e591
%endif
72e591
72e591
%if 0%{?scl:1}
72e591
%global _gnu %{nil}
72e591
%else
72e591
%global _gnu 7E
72e591
%endif
72e591
%ifarch sparcv9
72e591
%global gcc_target_platform sparc64-%{_vendor}-%{_target_os}%{?_gnu}
72e591
%endif
72e591
%ifarch ppc
72e591
%global gcc_target_platform ppc64-%{_vendor}-%{_target_os}%{?_gnu}
72e591
%endif
72e591
%ifnarch sparcv9 ppc
72e591
%global gcc_target_platform %{_target_platform}
72e591
%endif
72e591
72e591
%description
72e591
The %{?scl_prefix}gcc%{!?scl:49} package contains the GNU Compiler Collection version 4.9.
72e591
72e591
%package c++
72e591
Summary: C++ support for GCC version 4.9
72e591
Group: Development/Languages
72e591
Requires: %{?scl_prefix}gcc%{!?scl:49} = %{version}-%{release}
72e591
%if 0%{?rhel} >= 7
72e591
Requires: libstdc++
72e591
%else
72e591
Requires: libstdc++ >= 4.4.4-13
72e591
%endif
72e591
Requires: %{?scl_prefix}libstdc++%{!?scl:49}-devel = %{version}-%{release}
72e591
Autoreq: true
72e591
Autoprov: true
72e591
72e591
%description c++
72e591
This package adds C++ support to the GNU Compiler Collection
72e591
version 4.9.  It includes support for most of the current C++ specification
72e591
and a lot of support for the upcoming C++ specification.
72e591
72e591
%package -n %{?scl_prefix}libstdc++%{!?scl:49}-devel
72e591
Summary: Header files and libraries for C++ development
72e591
Group: Development/Libraries
72e591
%if 0%{?rhel} >= 7
72e591
Requires: libstdc++
72e591
%else
72e591
Requires: libstdc++ >= 4.4.4-13
72e591
%endif
5733f8
Requires: libstdc++%{?_isa}
72e591
Autoreq: true
72e591
Autoprov: true
72e591
72e591
%description -n %{?scl_prefix}libstdc++%{!?scl:49}-devel
72e591
This is the GNU implementation of the standard C++ libraries.  This
72e591
package includes the header files and libraries needed for C++
72e591
development. This includes rewritten implementation of STL.
72e591
72e591
%package -n %{?scl_prefix}libstdc++%{!?scl:49}-docs
72e591
Summary: Documentation for the GNU standard C++ library
72e591
Group: Development/Libraries
72e591
Autoreq: true
72e591
72e591
%description -n %{?scl_prefix}libstdc++%{!?scl:49}-docs
72e591
Manual, doxygen generated API information and Frequently Asked Questions
72e591
for the GNU standard C++ library.
72e591
72e591
%package gfortran
72e591
Summary: Fortran support for GCC 4.9
72e591
Group: Development/Languages
72e591
Requires: %{?scl_prefix}gcc%{!?scl:49} = %{version}-%{release}
72e591
%if 0%{?rhel} >= 7
72e591
Requires: libgfortran
72e591
%else
72e591
Requires: libgfortran >= 4.4.4-13
72e591
%endif
72e591
%if %{build_libquadmath}
72e591
%if 0%{!?scl:1}
72e591
%if 0%{?rhel} >= 7
72e591
Requires: libquadmath
72e591
%else
72e591
Requires: %{?scl_prefix}libquadmath = %{version}-%{release}
72e591
%endif
72e591
%else
72e591
%if 0%{?rhel} >= 7
72e591
Requires: libquadmath
72e591
%endif
72e591
%endif
72e591
Requires: %{?scl_prefix}libquadmath-devel = %{version}-%{release}
72e591
%endif
72e591
Autoreq: true
72e591
Autoprov: true
72e591
72e591
%description gfortran
72e591
The %{?scl_prefix}gcc%{!?scl:49}-gfortran package provides support for compiling Fortran
72e591
programs with the GNU Compiler Collection.
72e591
72e591
%package -n %{?scl_prefix}libquadmath
72e591
Summary: GCC 4.9 __float128 shared support library
72e591
Group: System Environment/Libraries
72e591
Requires(post): /sbin/install-info
72e591
Requires(preun): /sbin/install-info
72e591
72e591
%description -n %{?scl_prefix}libquadmath
72e591
This package contains GCC shared support library which is needed
72e591
for __float128 math support and for Fortran REAL*16 support.
72e591
72e591
%package -n %{?scl_prefix}libquadmath-devel
72e591
Summary: GCC 4.9 __float128 support
72e591
Group: Development/Libraries
72e591
%if 0%{!?scl:1}
72e591
Requires: %{?scl_prefix}libquadmath = %{version}-%{release}
72e591
%else
72e591
%if 0%{?rhel} >= 7
72e591
Requires: libquadmath
72e591
%endif
72e591
%endif
72e591
Requires: %{?scl_prefix}gcc%{!?scl:49} = %{version}-%{release}
72e591
72e591
%description -n %{?scl_prefix}libquadmath-devel
72e591
This package contains headers for building Fortran programs using
72e591
REAL*16 and programs using __float128 math.
72e591
72e591
%package -n libitm
72e591
Summary: The GNU Transactional Memory library
72e591
Group: System Environment/Libraries
72e591
Requires(post): /sbin/install-info
72e591
Requires(preun): /sbin/install-info
72e591
72e591
%description -n libitm
72e591
This package contains the GNU Transactional Memory library
72e591
which is a GCC transactional memory support runtime library.
72e591
72e591
%package -n %{?scl_prefix}libitm-devel
72e591
Summary: The GNU Transactional Memory support
72e591
Group: Development/Libraries
72e591
Requires: libitm >= 4.7.0-1
72e591
Requires: %{?scl_prefix}gcc%{!?scl:49} = %{version}-%{release}
72e591
72e591
%description -n %{?scl_prefix}libitm-devel
72e591
This package contains headers and support files for the
72e591
GNU Transactional Memory library.
72e591
72e591
%package plugin-devel
72e591
Summary: Support for compiling GCC plugins
72e591
Group: Development/Languages
72e591
Requires: %{?scl_prefix}gcc%{!?scl:49} = %{version}-%{release}
72e591
Requires: gmp-devel >= 4.1.2-8
72e591
Requires: mpfr-devel >= 2.2.1
72e591
%if 0%{?rhel} >= 7
72e591
Requires: libmpc-devel >= 0.8.1
72e591
%endif
72e591
72e591
%description plugin-devel
72e591
This package contains header files and other support files
72e591
for compiling GCC 4.9 plugins.  The GCC plugin ABI is currently
72e591
not stable, so plugins must be rebuilt any time GCC is updated.
72e591
72e591
%package -n libatomic
72e591
Summary: The GNU Atomic library
72e591
Group: System Environment/Libraries
72e591
Requires(post): /sbin/install-info
72e591
Requires(preun): /sbin/install-info
72e591
72e591
%description -n libatomic
72e591
This package contains the GNU Atomic library
72e591
which is a GCC support runtime library for atomic operations not supported
72e591
by hardware.
72e591
72e591
%package -n %{?scl_prefix}libatomic-devel
72e591
Summary: The GNU Atomic static library
72e591
Group: Development/Libraries
72e591
Requires: libatomic >= 4.8.0
72e591
72e591
%description -n %{?scl_prefix}libatomic-devel
72e591
This package contains GNU Atomic static libraries.
72e591
72e591
%package -n libasan
72e591
Summary: The Address Sanitizer runtime library
72e591
Group: System Environment/Libraries
72e591
Requires(post): /sbin/install-info
72e591
Requires(preun): /sbin/install-info
72e591
72e591
%description -n libasan
72e591
This package contains the Address Sanitizer library
72e591
which is used for -fsanitize=address instrumented programs.
72e591
72e591
%package -n %{?scl_prefix}libasan-devel
72e591
Summary: The Address Sanitizer static library
72e591
Group: Development/Libraries
72e591
Requires: libasan >= 4.9.0
72e591
72e591
%description -n %{?scl_prefix}libasan-devel
72e591
This package contains Address Sanitizer static runtime library.
72e591
72e591
%package -n libtsan
72e591
Summary: The Thread Sanitizer runtime library
72e591
Group: System Environment/Libraries
72e591
Requires(post): /sbin/install-info
72e591
Requires(preun): /sbin/install-info
72e591
72e591
%description -n libtsan
72e591
This package contains the Thread Sanitizer library
72e591
which is used for -fsanitize=thread instrumented programs.
72e591
72e591
%package -n %{?scl_prefix}libtsan-devel
72e591
Summary: The Thread Sanitizer static library
72e591
Group: Development/Libraries
611c22
Requires: libtsan >= 4.9.0
72e591
72e591
%description -n %{?scl_prefix}libtsan-devel
72e591
This package contains Thread Sanitizer static runtime library.
72e591
72e591
%package -n libubsan
72e591
Summary: The Undefined Behavior Sanitizer runtime library
72e591
Group: System Environment/Libraries
72e591
Requires(post): /sbin/install-info
72e591
Requires(preun): /sbin/install-info
72e591
72e591
%description -n libubsan
72e591
This package contains the Undefined Behavior Sanitizer library
72e591
which is used for -fsanitize=undefined instrumented programs.
72e591
72e591
%package -n %{?scl_prefix}libubsan-devel
72e591
Summary: The Undefined Behavior Sanitizer static library
72e591
Group: Development/Libraries
72e591
Requires: libubsan >= 4.9.0
72e591
72e591
%description -n %{?scl_prefix}libubsan-devel
72e591
This package contains Undefined behavior Sanitizer static runtime library.
72e591
72e591
%package -n liblsan
72e591
Summary: The Leak Sanitizer runtime library
72e591
Group: System Environment/Libraries
72e591
Requires(post): /sbin/install-info
72e591
Requires(preun): /sbin/install-info
72e591
72e591
%description -n liblsan
72e591
This package contains the Leak Sanitizer library
72e591
which is used for -fsanitize=leak instrumented programs.
72e591
72e591
%package -n %{?scl_prefix}liblsan-devel
72e591
Summary: The Leak Sanitizer static library
72e591
Group: Development/Libraries
611c22
Requires: liblsan >= 4.9.0
72e591
72e591
%description -n %{?scl_prefix}liblsan-devel
72e591
This package contains Leak Sanitizer static runtime library.
72e591
72e591
%package -n libcilkrts
72e591
Summary: The Cilk+ runtime library
72e591
Group: System Environment/Libraries
72e591
Requires(post): /sbin/install-info
72e591
Requires(preun): /sbin/install-info
72e591
72e591
%description -n libcilkrts
72e591
This package contains the Cilk+ runtime library.
72e591
72e591
%package -n %{?scl_prefix}libcilkrts-devel
72e591
Summary: The Cilk+ static runtime library
72e591
Group: Development/Libraries
72e591
Requires: libcilkrts >= 4.9.0
72e591
72e591
%description -n %{?scl_prefix}libcilkrts-devel
72e591
This package contains the Cilk+ static runtime library.
72e591
72e591
%prep
72e591
%if 0%{?rhel} >= 7
72e591
%setup -q -n gcc-%{version}-%{DATE} -a 1 -a 2
72e591
%else
72e591
%setup -q -n gcc-%{version}-%{DATE} -a 1 -a 2 -a 3 -a 4
72e591
%endif
72e591
%patch0 -p0 -b .hack~
72e591
%patch1 -p0 -b .java-nomulti~
72e591
%patch2 -p0 -b .ppc32-retaddr~
72e591
%patch3 -p0 -b .rh330771~
72e591
%patch4 -p0 -b .i386-libgomp~
72e591
%patch5 -p0 -b .sparc-config-detection~
72e591
%patch6 -p0 -b .libgomp-omp_h-multilib~
72e591
%patch7 -p0 -b .libtool-no-rpath~
72e591
%if %{build_cloog}
72e591
%patch8 -p0 -b .cloog-dl~
72e591
%patch9 -p0 -b .cloog-dl2~
72e591
%endif
72e591
%patch10 -p0 -b .pr38757~
72e591
%if %{build_libstdcxx_docs}
72e591
%patch11 -p0 -b .libstdc++-docs~
72e591
%endif
72e591
%patch12 -p0 -b .no-add-needed~
72e591
%if 0%{?fedora} >= 20 || 0%{?rhel} >= 7
5733f8
%patch13 -p0 -b .color-auto~
72e591
%endif
5733f8
%patch14 -p0 -b .libgo-p224~
72e591
rm -f libgo/go/crypto/elliptic/p224{,_test}.go
5733f8
%patch15 -p0 -b .aarch64-async-unw-tables~
5733f8
%patch16 -p0 -b .aarch64-unwind-opt~
5733f8
%patch17 -p0 -b .pr64336~
72e591
72e591
%patch1000 -p0 -b .libstdc++-compat~
72e591
%patch1001 -p0 -b .libgfortran-compat~
72e591
%ifarch %{ix86} x86_64
72e591
%if 0%{?rhel} < 7
72e591
# On i?86/x86_64 there are some incompatibilities in _Decimal* as well as
72e591
# aggregates containing larger vector passing.
72e591
%patch1002 -p0 -b .alt-compat-test~
72e591
%endif
72e591
%endif
72e591
%if 0%{?rhel} < 7
72e591
%patch1003 -p0 -b .libquadmath-compat~
72e591
%endif
72e591
%if 0%{?rhel} == 6
72e591
%patch1004 -p0 -b .libstdc++44-xfail~
72e591
%endif
72e591
%patch1005 -p0 -b .alt-compat-test2~
72e591
%patch1006 -p0 -b .rh1118870~
72e591
72e591
%patch1100 -p0 -b .cloog-ppc64le-config~
72e591
72e591
%if %{build_libstdcxx_docs}
72e591
%if 0%{?rhel} < 7
72e591
cd doxygen-%{doxygen_version}
72e591
%patch2001 -p1 -b .config~
72e591
%patch2002 -p1 -b .timestamp~
72e591
%patch2003 -p1 -b .rh856725~
72e591
cd ..
72e591
%endif
72e591
%endif
72e591
5733f8
sed -i -e 's/4\.9\.3/4.9.2/' gcc/BASE-VER
72e591
echo 'Red Hat %{version}-%{gcc_release}' > gcc/DEV-PHASE
72e591
72e591
%if 0%{?rhel} == 6
72e591
# Default to -gdwarf-3 rather than -gdwarf-4
72e591
sed -i '/UInteger Var(dwarf_version)/s/Init(4)/Init(3)/' gcc/common.opt
72e591
sed -i 's/\(may be either 2, 3 or 4; the default version is \)4\./\13./' gcc/doc/invoke.texi
72e591
%endif
72e591
72e591
cp -a libstdc++-v3/config/cpu/i{4,3}86/atomicity.h
72e591
cp -a libstdc++-v3/config/cpu/i{4,3}86/opt
72e591
72e591
./contrib/gcc_update --touch
72e591
72e591
LC_ALL=C sed -i -e 's/\xa0/ /' gcc/doc/options.texi
72e591
72e591
%ifarch ppc
72e591
if [ -d libstdc++-v3/config/abi/post/powerpc64-linux-gnu ]; then
72e591
  mkdir -p libstdc++-v3/config/abi/post/powerpc64-linux-gnu/64
72e591
  mv libstdc++-v3/config/abi/post/powerpc64-linux-gnu/{,64/}baseline_symbols.txt
72e591
  mv libstdc++-v3/config/abi/post/powerpc64-linux-gnu/{32/,}baseline_symbols.txt
72e591
  rm -rf libstdc++-v3/config/abi/post/powerpc64-linux-gnu/32
72e591
fi
72e591
%endif
72e591
%ifarch sparc
72e591
if [ -d libstdc++-v3/config/abi/post/sparc64-linux-gnu ]; then
72e591
  mkdir -p libstdc++-v3/config/abi/post/sparc64-linux-gnu/64
72e591
  mv libstdc++-v3/config/abi/post/sparc64-linux-gnu/{,64/}baseline_symbols.txt
72e591
  mv libstdc++-v3/config/abi/post/sparc64-linux-gnu/{32/,}baseline_symbols.txt
72e591
  rm -rf libstdc++-v3/config/abi/post/sparc64-linux-gnu/32
72e591
fi
72e591
%endif
72e591
72e591
%build
72e591
72e591
# Undo the broken autoconf change in recent Fedora versions
72e591
export CONFIG_SITE=NONE
72e591
72e591
rm -fr obj-%{gcc_target_platform}
72e591
mkdir obj-%{gcc_target_platform}
72e591
cd obj-%{gcc_target_platform}
72e591
72e591
%if %{build_libstdcxx_docs}
72e591
72e591
%if 0%{?rhel} < 7
72e591
mkdir doxygen-install
72e591
pushd ../doxygen-%{doxygen_version}
72e591
./configure --prefix `cd ..; pwd`/obj-%{gcc_target_platform}/doxygen-install \
72e591
  --shared --release --english-only
72e591
72e591
make %{?_smp_mflags} all
72e591
make install
72e591
popd
72e591
export PATH=`pwd`/doxygen-install/bin/${PATH:+:${PATH}}
72e591
%endif
72e591
%endif
72e591
72e591
%if 0%{?rhel} < 7
72e591
mkdir mpc mpc-install
72e591
cd mpc
72e591
../../mpc-%{mpc_version}/configure --disable-shared \
72e591
  CFLAGS="${CFLAGS:-%optflags}" CXXFLAGS="${CXXFLAGS:-%optflags}" \
72e591
  --prefix=`cd ..; pwd`/mpc-install
72e591
make %{?_smp_mflags}
72e591
make install
72e591
cd ..
72e591
%endif
72e591
72e591
%if %{build_cloog}
72e591
mkdir isl-build isl-install
72e591
%ifarch s390 s390x
72e591
ISL_FLAG_PIC=-fPIC
72e591
%else
72e591
ISL_FLAG_PIC=-fpic
72e591
%endif
72e591
cd isl-build
72e591
../../isl-%{isl_version}/configure --disable-shared \
72e591
  CC=/usr/bin/gcc CXX=/usr/bin/g++ \
72e591
  CFLAGS="${CFLAGS:-%optflags} $ISL_FLAG_PIC" --prefix=`cd ..; pwd`/isl-install
72e591
make %{?_smp_mflags}
72e591
make install
72e591
cd ..
72e591
72e591
mkdir cloog-build cloog-install
72e591
cd cloog-build
72e591
cat >> ../../cloog-%{cloog_version}/source/isl/constraints.c << \EOF
72e591
#include <isl/flow.h>
72e591
static void __attribute__((used)) *s1 = (void *) isl_union_map_compute_flow;
72e591
static void __attribute__((used)) *s2 = (void *) isl_map_dump;
72e591
EOF
72e591
sed -i 's|libcloog|libgcc49privatecloog|g' \
72e591
  ../../cloog-%{cloog_version}/{,test/}Makefile.{am,in}
72e591
isl_prefix=`cd ../isl-install; pwd` \
72e591
../../cloog-%{cloog_version}/configure --with-isl=system \
72e591
  --with-isl-prefix=`cd ../isl-install; pwd` \
72e591
  CC=/usr/bin/gcc CXX=/usr/bin/g++ \
72e591
  CFLAGS="${CFLAGS:-%optflags}" CXXFLAGS="${CXXFLAGS:-%optflags}" \
72e591
   --prefix=`cd ..; pwd`/cloog-install
72e591
sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
72e591
sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
72e591
make %{?_smp_mflags}
72e591
make %{?_smp_mflags} install
72e591
cd ../cloog-install/lib
72e591
rm libgcc49privatecloog-isl.so{,.4}
72e591
mv libgcc49privatecloog-isl.so.4.0.0 libcloog-isl.so.4
72e591
ln -sf libcloog-isl.so.4 libcloog-isl.so
72e591
ln -sf libcloog-isl.so.4 libcloog.so
72e591
cd ../..
72e591
%endif
72e591
72e591
%{?scl:PATH=%{_bindir}${PATH:+:${PATH}}}
72e591
72e591
CC=gcc
72e591
CXX=g++
72e591
OPT_FLAGS=`echo %{optflags}|sed -e 's/\(-Wp,\)\?-D_FORTIFY_SOURCE=[12]//g'`
72e591
OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-m64//g;s/-m32//g;s/-m31//g'`
72e591
OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-mfpmath=sse/-mfpmath=sse -msse2/g'`
72e591
OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/ -pipe / /g'`
72e591
%ifarch sparc
72e591
OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-mcpu=ultrasparc/-mtune=ultrasparc/g;s/-mcpu=v[78]//g'`
72e591
%endif
72e591
%ifarch %{ix86}
72e591
OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-march=i.86//g'`
72e591
%endif
72e591
%ifarch sparc64
72e591
cat > gcc64 <<"EOF"
72e591
#!/bin/sh
72e591
exec /usr/bin/gcc -m64 "$@"
72e591
EOF
72e591
chmod +x gcc64
72e591
CC=`pwd`/gcc64
72e591
cat > g++64 <<"EOF"
72e591
#!/bin/sh
72e591
exec /usr/bin/g++ -m64 "$@"
72e591
EOF
72e591
chmod +x g++64
72e591
CXX=`pwd`/g++64
72e591
%endif
72e591
%ifarch ppc64 ppc64le ppc64p7
72e591
if gcc -m64 -xc -S /dev/null -o - > /dev/null 2>&1; then
72e591
  cat > gcc64 <<"EOF"
72e591
#!/bin/sh
72e591
exec /usr/bin/gcc -m64 "$@"
72e591
EOF
72e591
  chmod +x gcc64
72e591
  CC=`pwd`/gcc64
72e591
  cat > g++64 <<"EOF"
72e591
#!/bin/sh
72e591
exec /usr/bin/g++ -m64 "$@"
72e591
EOF
72e591
  chmod +x g++64
72e591
  CXX=`pwd`/g++64
72e591
fi
72e591
%endif
72e591
OPT_FLAGS=`echo "$OPT_FLAGS" | sed -e 's/[[:blank:]]\+/ /g'`
72e591
CC="$CC" CXX="$CXX" CFLAGS="$OPT_FLAGS" \
72e591
	CXXFLAGS="`echo " $OPT_FLAGS " | sed 's/ -Wall / /g;s/ -fexceptions / /g'`" \
72e591
	XCFLAGS="$OPT_FLAGS" TCFLAGS="$OPT_FLAGS" \
72e591
	GCJFLAGS="$OPT_FLAGS" \
72e591
	../configure --prefix=%{_prefix} --mandir=%{_mandir} --infodir=%{_infodir} \
72e591
	--with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap \
72e591
	--enable-shared --enable-threads=posix --enable-checking=release \
72e591
%ifarch ppc64le
72e591
	--disable-multilib \
72e591
%else
72e591
	--enable-multilib \
72e591
%endif
72e591
	--with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions \
72e591
	--enable-gnu-unique-object \
72e591
	--enable-linker-build-id \
72e591
%if %{build_fortran}
72e591
	--enable-languages=c,c++,fortran,lto \
72e591
%else
72e591
	--enable-languages=c,c++,lto \
72e591
%endif
72e591
	--enable-plugin --with-linker-hash-style=gnu \
72e591
%if 0%{?scl:1}
72e591
	--enable-initfini-array \
72e591
%else
72e591
%ifnarch ia64
72e591
%if 0%{?rhel} >= 7
72e591
	--enable-initfini-array \
72e591
%else
72e591
	--disable-initfini-array \
72e591
%endif
72e591
%endif
72e591
%endif
72e591
	--disable-libgcj \
72e591
%if %{build_cloog}
72e591
	--with-isl=`pwd`/isl-install --with-cloog=`pwd`/cloog-install \
72e591
%endif
72e591
%if 0%{?rhel} < 7
72e591
	--with-mpc=`pwd`/mpc-install \
72e591
%endif
72e591
%if 0%{?rhel} >= 7
72e591
%if %{attr_ifunc}
72e591
        --enable-gnu-indirect-function \
72e591
%endif
72e591
%endif
72e591
%ifarch %{arm}
72e591
	--disable-sjlj-exceptions \
72e591
%endif
72e591
%ifarch ppc ppc64 ppc64le ppc64p7
72e591
	--enable-secureplt \
72e591
%endif
72e591
%ifarch sparc sparcv9 sparc64 ppc ppc64 ppc64le ppc64p7 s390 s390x alpha
72e591
	--with-long-double-128 \
72e591
%endif
72e591
%ifarch sparc
72e591
	--disable-linux-futex \
72e591
%endif
72e591
%ifarch sparc64
72e591
	--with-cpu=ultrasparc \
72e591
%endif
72e591
%ifarch sparc sparcv9
72e591
	--host=%{gcc_target_platform} --build=%{gcc_target_platform} --target=%{gcc_target_platform} --with-cpu=v7
72e591
%endif
72e591
%ifarch ppc ppc64 ppc64le ppc64p7
72e591
%if 0%{?rhel} >= 7
72e591
	--with-cpu-32=power7 --with-tune-32=power7 --with-cpu-64=power7 --with-tune-64=power7 \
72e591
%else
72e591
	--with-cpu-32=power4 --with-tune-32=power6 --with-cpu-64=power4 --with-tune-64=power6 \
72e591
%endif
72e591
%endif
72e591
%ifarch ppc
72e591
	--build=%{gcc_target_platform} --target=%{gcc_target_platform} --with-cpu=default32
72e591
%endif
72e591
%ifarch %{ix86} x86_64
72e591
	--with-tune=generic \
72e591
%endif
72e591
%ifarch %{ix86}
72e591
	--with-arch=i686 \
72e591
%endif
72e591
%ifarch x86_64
72e591
	--with-arch_32=i686 \
72e591
%endif
72e591
%ifarch s390 s390x
72e591
	--with-arch=z9-109 --with-tune=z10 --enable-decimal-float \
72e591
%endif
72e591
%ifnarch sparc sparcv9 ppc
72e591
	--build=%{gcc_target_platform}
72e591
%endif
72e591
72e591
%ifarch ia64
72e591
GCJFLAGS="$OPT_FLAGS" make %{?_smp_mflags} BOOT_CFLAGS="$OPT_FLAGS" bootstrap
72e591
%else
72e591
GCJFLAGS="$OPT_FLAGS" make %{?_smp_mflags} BOOT_CFLAGS="$OPT_FLAGS" profiledbootstrap
72e591
%endif
72e591
72e591
%if %{build_cloog}
72e591
cp -a cloog-install/lib/libcloog-isl.so.4 gcc/
72e591
%endif
72e591
72e591
# Make generated man pages even if Pod::Man is not new enough
72e591
perl -pi -e 's/head3/head2/' ../contrib/texi2pod.pl
72e591
for i in ../gcc/doc/*.texi; do
72e591
  cp -a $i $i.orig; sed 's/ftable/table/' $i.orig > $i
72e591
done
72e591
make -C gcc generated-manpages
72e591
for i in ../gcc/doc/*.texi; do mv -f $i.orig $i; done
72e591
72e591
# Make generated doxygen pages.
72e591
%if %{build_libstdcxx_docs}
72e591
cd %{gcc_target_platform}/libstdc++-v3
72e591
make doc-html-doxygen
72e591
make doc-man-doxygen
72e591
cd ../..
72e591
%endif
72e591
72e591
# Copy various doc files here and there
72e591
cd ..
72e591
mkdir -p rpm.doc/gfortran rpm.doc/libquadmath rpm.doc/libitm
72e591
mkdir -p rpm.doc/changelogs/{gcc/cp,libstdc++-v3,libgomp,libatomic,libsanitizer,libcilkrts}
72e591
72e591
for i in {gcc,gcc/cp,libstdc++-v3,libgomp,libatomic,libsanitizer,libcilkrts}/ChangeLog*; do
72e591
	cp -p $i rpm.doc/changelogs/$i
72e591
done
72e591
72e591
%if %{build_fortran}
72e591
(cd gcc/fortran; for i in ChangeLog*; do
72e591
	cp -p $i ../../rpm.doc/gfortran/$i
72e591
done)
72e591
(cd libgfortran; for i in ChangeLog*; do
72e591
	cp -p $i ../rpm.doc/gfortran/$i.libgfortran
72e591
done)
72e591
%endif
72e591
72e591
%if %{build_libquadmath}
72e591
(cd libquadmath; for i in ChangeLog* COPYING.LIB; do
72e591
	cp -p $i ../rpm.doc/libquadmath/$i.libquadmath
72e591
done)
72e591
%endif
72e591
72e591
%if %{build_libitm}
72e591
(cd libitm; for i in ChangeLog*; do
72e591
	cp -p $i ../rpm.doc/libitm/$i.libitm
72e591
done)
72e591
%endif
72e591
72e591
rm -f rpm.doc/changelogs/gcc/ChangeLog.[1-9]
72e591
find rpm.doc -name \*ChangeLog\* | xargs bzip2 -9
72e591
72e591
%install
72e591
rm -fr %{buildroot}
72e591
72e591
%if %{build_libstdcxx_docs}
72e591
%if 0%{?rhel} < 7
72e591
export PATH=`pwd`/obj-%{gcc_target_platform}/doxygen-install/bin/${PATH:+:${PATH}}
72e591
%endif
72e591
%endif
72e591
72e591
%{?scl:PATH=%{_bindir}${PATH:+:${PATH}}}
72e591
72e591
perl -pi -e \
72e591
  's~href="l(ibstdc|atest)~href="http://gcc.gnu.org/onlinedocs/libstdc++/l\1~' \
72e591
  libstdc++-v3/doc/html/api.html
72e591
72e591
cd obj-%{gcc_target_platform}
72e591
72e591
TARGET_PLATFORM=%{gcc_target_platform}
72e591
72e591
# There are some MP bugs in libstdc++ Makefiles
72e591
make -C %{gcc_target_platform}/libstdc++-v3
72e591
72e591
%if 0%{?scl:1}
72e591
rm -f gcc/libgcc_s.so
72e591
echo '/* GNU ld script
72e591
   Use the shared library, but some functions are only in
72e591
   the static library, so try that secondarily.  */
72e591
%{oformat}
72e591
GROUP ( /%{_lib}/libgcc_s.so.1 libgcc.a )' > gcc/libgcc_s.so
72e591
%endif
72e591
72e591
make prefix=%{buildroot}%{_prefix} mandir=%{buildroot}%{_mandir} \
72e591
  infodir=%{buildroot}%{_infodir} install
72e591
72e591
%if 0%{?scl:1}
72e591
rm -f gcc/libgcc_s.so
72e591
ln -sf libgcc_s.so.1 gcc/libgcc_s.so
72e591
%endif
72e591
72e591
FULLPATH=%{buildroot}%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}
72e591
FULLEPATH=%{buildroot}%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}
72e591
72e591
%if 0%{?scl:1}
72e591
ln -sf ../../../../bin/ar $FULLEPATH/ar
72e591
ln -sf ../../../../bin/as $FULLEPATH/as
72e591
ln -sf ../../../../bin/ld $FULLEPATH/ld
72e591
ln -sf ../../../../bin/nm $FULLEPATH/nm
72e591
ln -sf ../../../../bin/ranlib $FULLEPATH/ranlib
72e591
ln -sf ../../../../bin/strip $FULLEPATH/strip
72e591
%endif
72e591
72e591
%if %{build_cloog}
72e591
cp -a cloog-install/lib/libcloog-isl.so.4 $FULLPATH/
72e591
%endif
72e591
72e591
# fix some things
72e591
ln -sf gcc %{buildroot}%{_prefix}/bin/cc
72e591
mkdir -p %{buildroot}/lib
72e591
ln -sf ..%{_prefix}/bin/cpp %{buildroot}/lib/cpp
72e591
%if %{build_fortran}
72e591
ln -sf gfortran %{buildroot}%{_prefix}/bin/f95
72e591
%endif
72e591
rm -f %{buildroot}%{_infodir}/dir
72e591
gzip -9 %{buildroot}%{_infodir}/*.info*
72e591
ln -sf gcc %{buildroot}%{_prefix}/bin/gnatgcc
72e591
72e591
cxxconfig="`find %{gcc_target_platform}/libstdc++-v3/include -name c++config.h`"
72e591
for i in `find %{gcc_target_platform}/[36]*/libstdc++-v3/include -name c++config.h 2>/dev/null`; do
72e591
  if ! diff -up $cxxconfig $i; then
72e591
    cat > %{buildroot}%{_prefix}/include/c++/%{gcc_version}/%{gcc_target_platform}/bits/c++config.h <
72e591
#ifndef _CPP_CPPCONFIG_WRAPPER
72e591
#define _CPP_CPPCONFIG_WRAPPER 1
72e591
#include <bits/wordsize.h>
72e591
#if __WORDSIZE == 32
72e591
%ifarch %{multilib_64_archs}
72e591
`cat $(find %{gcc_target_platform}/32/libstdc++-v3/include -name c++config.h)`
72e591
%else
72e591
`cat $(find %{gcc_target_platform}/libstdc++-v3/include -name c++config.h)`
72e591
%endif
72e591
#else
72e591
%ifarch %{multilib_64_archs}
72e591
`cat $(find %{gcc_target_platform}/libstdc++-v3/include -name c++config.h)`
72e591
%else
72e591
`cat $(find %{gcc_target_platform}/64/libstdc++-v3/include -name c++config.h)`
72e591
%endif
72e591
#endif
72e591
#endif
72e591
EOF
72e591
    break
72e591
  fi
72e591
done
72e591
72e591
for f in `find %{buildroot}%{_prefix}/include/c++/%{gcc_version}/%{gcc_target_platform}/ -name c++config.h`; do
72e591
  for i in 1 2 4 8; do
72e591
    sed -i -e 's/#define _GLIBCXX_ATOMIC_BUILTINS_'$i' 1/#ifdef __GCC_HAVE_SYNC_COMPARE_AND_SWAP_'$i'\
72e591
&\
72e591
#endif/' $f
72e591
  done
72e591
done
72e591
72e591
# Nuke bits/*.h.gch dirs
72e591
# 1) there is no bits/*.h header installed, so when gch file can't be
72e591
#    used, compilation fails
72e591
# 2) sometimes it is hard to match the exact options used for building
72e591
#    libstdc++-v3 or they aren't desirable
72e591
# 3) there are multilib issues, conflicts etc. with this
72e591
# 4) it is huge
72e591
# People can always precompile on their own whatever they want, but
72e591
# shipping this for everybody is unnecessary.
72e591
rm -rf %{buildroot}%{_prefix}/include/c++/%{gcc_version}/%{gcc_target_platform}/bits/*.h.gch
72e591
72e591
%if %{build_libstdcxx_docs}
72e591
libstdcxx_doc_builddir=%{gcc_target_platform}/libstdc++-v3/doc/doxygen
72e591
mkdir -p ../rpm.doc/libstdc++-v3
72e591
cp -r -p ../libstdc++-v3/doc/html ../rpm.doc/libstdc++-v3/html
72e591
cp -r -p $libstdcxx_doc_builddir/html ../rpm.doc/libstdc++-v3/html/api
72e591
mkdir -p %{buildroot}%{_mandir}/man3
72e591
cp -r -p $libstdcxx_doc_builddir/man/man3/* %{buildroot}%{_mandir}/man3/
72e591
find ../rpm.doc/libstdc++-v3 -name \*~ | xargs rm
72e591
%endif
72e591
72e591
%ifarch sparcv9 sparc64
72e591
ln -f %{buildroot}%{_prefix}/bin/%{gcc_target_platform}-gcc \
72e591
  %{buildroot}%{_prefix}/bin/sparc-%{_vendor}-%{_target_os}%{?_gnu}-gcc
72e591
%endif
72e591
%ifarch ppc ppc64
72e591
ln -f %{buildroot}%{_prefix}/bin/%{gcc_target_platform}-gcc \
72e591
  %{buildroot}%{_prefix}/bin/ppc-%{_vendor}-%{_target_os}%{?_gnu}-gcc
72e591
%endif
72e591
72e591
%ifarch sparcv9 ppc
72e591
FULLLPATH=$FULLPATH/lib32
72e591
%endif
72e591
%ifarch sparc64 ppc64
72e591
FULLLPATH=$FULLPATH/lib64
72e591
%endif
72e591
if [ -n "$FULLLPATH" ]; then
72e591
  mkdir -p $FULLLPATH
72e591
else
72e591
  FULLLPATH=$FULLPATH
72e591
fi
72e591
72e591
find %{buildroot} -name \*.la | xargs rm -f
72e591
72e591
%if %{build_fortran}
72e591
mv -f %{buildroot}%{_prefix}/%{_lib}/libgfortran.spec $FULLPATH/libgfortran.spec
72e591
%endif
72e591
%if %{build_libitm}
72e591
mv %{buildroot}%{_prefix}/%{_lib}/libitm.spec $FULLPATH/
72e591
%endif
72e591
%if %{build_libasan}
72e591
mv %{buildroot}%{_prefix}/%{_lib}/libsanitizer.spec $FULLPATH/
72e591
%endif
72e591
%if %{build_libcilkrts}
72e591
mv %{buildroot}%{_prefix}/%{_lib}/libcilkrts.spec $FULLPATH/
72e591
%endif
72e591
72e591
mkdir -p %{buildroot}/%{_lib}
72e591
mv -f %{buildroot}%{_prefix}/%{_lib}/libgcc_s.so.1 %{buildroot}/%{_lib}/libgcc_s-%{gcc_version}-%{DATE}.so.1
72e591
chmod 755 %{buildroot}/%{_lib}/libgcc_s-%{gcc_version}-%{DATE}.so.1
72e591
ln -sf libgcc_s-%{gcc_version}-%{DATE}.so.1 %{buildroot}/%{_lib}/libgcc_s.so.1
72e591
ln -sf /%{_lib}/libgcc_s.so.1 $FULLPATH/libgcc_s.so
72e591
%ifarch sparcv9 ppc
72e591
ln -sf /lib64/libgcc_s.so.1 $FULLPATH/64/libgcc_s.so
72e591
%endif
72e591
%ifarch %{multilib_64_archs}
72e591
ln -sf /lib/libgcc_s.so.1 $FULLPATH/32/libgcc_s.so
72e591
%endif
72e591
72e591
rm -f $FULLPATH/libgcc_s.so
72e591
echo '/* GNU ld script
72e591
   Use the shared library, but some functions are only in
72e591
   the static library, so try that secondarily.  */
72e591
%{oformat}
72e591
GROUP ( /%{_lib}/libgcc_s.so.1 libgcc.a )' > $FULLPATH/libgcc_s.so
72e591
%ifarch sparcv9 ppc
72e591
rm -f $FULLPATH/64/libgcc_s.so
72e591
echo '/* GNU ld script
72e591
   Use the shared library, but some functions are only in
72e591
   the static library, so try that secondarily.  */
72e591
%{oformat2}
72e591
GROUP ( /lib64/libgcc_s.so.1 libgcc.a )' > $FULLPATH/64/libgcc_s.so
72e591
%endif
72e591
%ifarch %{multilib_64_archs}
72e591
rm -f $FULLPATH/32/libgcc_s.so
72e591
echo '/* GNU ld script
72e591
   Use the shared library, but some functions are only in
72e591
   the static library, so try that secondarily.  */
72e591
%{oformat2}
72e591
GROUP ( /lib/libgcc_s.so.1 libgcc.a )' > $FULLPATH/32/libgcc_s.so
72e591
%endif
72e591
72e591
%if %{build_libquadmath}
72e591
%if 0%{?scl:1}
72e591
%if 0%{?rhel} < 7
72e591
cp -a %{gcc_target_platform}/libquadmath/.libs/libquadmathconvenience.a \
72e591
  %{buildroot}%{_prefix}/%{_lib}/libquadmath.a
72e591
%endif
72e591
%endif
72e591
%endif
72e591
72e591
mv -f %{buildroot}%{_prefix}/%{_lib}/libgomp.spec $FULLPATH/
72e591
cp -a %{gcc_target_platform}/libstdc++-v3/src/.libs/libstdc++_nonshared%{nonsharedver}.a \
72e591
  $FULLLPATH/libstdc++_nonshared.a
72e591
%if %{build_fortran}
72e591
%if 0%{?rhel} >= 7
72e591
ar cruv $FULLPATH/libgfortran_nonshared.a
72e591
%ifarch sparcv9 ppc
72e591
ar cruv $FULLPATH/64/libgfortran_nonshared.a
72e591
%endif
72e591
%ifarch %{multilib_64_archs}
72e591
ar cruv $FULLPATH/32/libgfortran_nonshared.a
72e591
%endif
72e591
%else
72e591
cp -a %{gcc_target_platform}/libgfortran/.libs/libgfortran_nonshared.a \
72e591
  $FULLPATH/libgfortran_nonshared.a
72e591
%ifarch sparcv9 ppc
72e591
cp -a %{gcc_target_platform}/64/libgfortran/.libs/libgfortran_nonshared.a \
72e591
  $FULLPATH/64/libgfortran_nonshared.a
72e591
%endif
72e591
%ifarch %{multilib_64_archs}
72e591
cp -a %{gcc_target_platform}/32/libgfortran/.libs/libgfortran_nonshared.a \
72e591
  $FULLPATH/32/libgfortran_nonshared.a
72e591
%endif
72e591
%endif
72e591
%endif
72e591
72e591
pushd $FULLPATH
72e591
echo '/* GNU ld script */
72e591
%{oformat}
72e591
INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/%{_lib}/libgomp.so.1 )' > libgomp.so
72e591
echo '/* GNU ld script
72e591
   Use the shared library, but some functions are only in
72e591
   the static library, so try that secondarily.  */
72e591
%{oformat}
72e591
INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/%{_lib}/libstdc++.so.6 -lstdc++_nonshared )' > libstdc++.so
72e591
%if %{build_fortran}
72e591
rm -f libgfortran.so
72e591
echo '/* GNU ld script
72e591
   Use the shared library, but some functions are only in
72e591
   the static library, so try that secondarily.  */
72e591
%{oformat}
72e591
INPUT ( -lgfortran_nonshared %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/%{_lib}/libgfortran.so.3 AS_NEEDED ( -ldl ) )' > libgfortran.so
72e591
%endif
72e591
%if %{build_libquadmath}
72e591
rm -f libquadmath.so
72e591
echo '/* GNU ld script */
72e591
%{oformat}
72e591
%if 0%{!?scl:1}
72e591
INPUT ( %{_prefix}/%{_lib}/libquadmath.so.0 )' > libquadmath.so
72e591
%else
72e591
%if 0%{?rhel} >= 7
72e591
INPUT ( %{_root_prefix}/%{_lib}/libquadmath.so.0 )' > libquadmath.so
72e591
%else
72e591
INPUT ( libquadmath.a )' > libquadmath.so
72e591
%endif
72e591
%endif
72e591
%endif
72e591
%if %{build_libitm}
72e591
rm -f libitm.so
72e591
echo '/* GNU ld script */
72e591
%{oformat}
72e591
INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/%{_lib}/libitm.so.1 )' > libitm.so
72e591
%endif
72e591
%if %{build_libatomic}
72e591
rm -f libatomic.so
72e591
echo '/* GNU ld script */
72e591
%{oformat}
72e591
INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/%{_lib}/libatomic.so.1 )' > libatomic.so
72e591
%endif
72e591
%if %{build_libasan}
72e591
rm -f libasan.so
72e591
echo '/* GNU ld script */
72e591
%{oformat}
72e591
INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/%{_lib}/libasan.so.1 )' > libasan.so
72e591
%endif
72e591
%if %{build_libtsan}
72e591
rm -f libtsan.so
72e591
echo '/* GNU ld script */
72e591
%{oformat}
72e591
INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/%{_lib}/libtsan.so.0 )' > libtsan.so
72e591
%endif
72e591
%if %{build_libubsan}
72e591
rm -f libubsan.so
72e591
echo '/* GNU ld script */
72e591
%{oformat}
72e591
INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/%{_lib}/libubsan.so.0 )' > libubsan.so
72e591
%endif
72e591
%if %{build_liblsan}
72e591
rm -f liblsan.so
72e591
echo '/* GNU ld script */
72e591
%{oformat}
72e591
INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/%{_lib}/liblsan.so.0 )' > liblsan.so
72e591
%endif
72e591
%if %{build_libcilkrts}
72e591
rm -f libcilkrts.so
72e591
echo '/* GNU ld script */
72e591
%{oformat}
72e591
INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/%{_lib}/libcilkrts.so.5 )' > libcilkrts.so
72e591
%endif
72e591
mv -f %{buildroot}%{_prefix}/%{_lib}/libstdc++.*a $FULLLPATH/
72e591
mv -f %{buildroot}%{_prefix}/%{_lib}/libsupc++.*a .
72e591
%if %{build_fortran}
72e591
mv -f %{buildroot}%{_prefix}/%{_lib}/libgfortran.*a .
72e591
%endif
72e591
mv -f %{buildroot}%{_prefix}/%{_lib}/libgomp.*a .
72e591
%if %{build_libquadmath}
72e591
mv -f %{buildroot}%{_prefix}/%{_lib}/libquadmath.*a $FULLLPATH/
72e591
%endif
72e591
%if %{build_libitm}
72e591
mv -f %{buildroot}%{_prefix}/%{_lib}/libitm.*a $FULLLPATH/
72e591
%endif
72e591
%if %{build_libatomic}
72e591
mv -f %{buildroot}%{_prefix}/%{_lib}/libatomic.*a $FULLLPATH/
72e591
%endif
72e591
%if %{build_libasan}
72e591
mv -f %{buildroot}%{_prefix}/%{_lib}/libasan.*a $FULLLPATH/
72e591
mv -f %{buildroot}%{_prefix}/%{_lib}/libasan_preinit.o $FULLLPATH/
72e591
%endif
72e591
%if %{build_libtsan}
72e591
mv -f %{buildroot}%{_prefix}/%{_lib}/libtsan.*a $FULLLPATH/
72e591
%endif
72e591
%if %{build_libubsan}
72e591
mv -f %{buildroot}%{_prefix}/%{_lib}/libubsan.*a $FULLLPATH/
72e591
%endif
72e591
%if %{build_liblsan}
72e591
mv -f %{buildroot}%{_prefix}/%{_lib}/liblsan.*a $FULLLPATH/
72e591
%endif
72e591
%if %{build_libcilkrts}
72e591
mv -f %{buildroot}%{_prefix}/%{_lib}/libcilkrts.*a $FULLLPATH/
72e591
%endif
72e591
72e591
%ifarch sparcv9 ppc
72e591
echo '/* GNU ld script
72e591
   Use the shared library, but some functions are only in
72e591
   the static library, so try that secondarily.  */
72e591
%{oformat2}
72e591
INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/lib64/libstdc++.so.6 -lstdc++_nonshared )' > 64/libstdc++.so
72e591
%if %{build_fortran}
72e591
rm -f 64/libgfortran.so
72e591
echo '/* GNU ld script
72e591
   Use the shared library, but some functions are only in
72e591
   the static library, so try that secondarily.  */
72e591
%{oformat2}
72e591
INPUT ( -lgfortran_nonshared %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/lib64/libgfortran.so.3 AS_NEEDED ( -ldl ) )' > 64/libgfortran.so
72e591
%endif
72e591
echo '/* GNU ld script */
72e591
%{oformat2}
72e591
INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/lib64/libgomp.so.1 )' > 64/libgomp.so
72e591
%if %{build_libquadmath}
72e591
rm -f 64/libquadmath.so
72e591
echo '/* GNU ld script */
72e591
%{oformat2}
72e591
%if 0%{!?scl:1}
72e591
INPUT ( %{_prefix}/lib64/libquadmath.so.0 )' > 64/libquadmath.so
72e591
%else
72e591
%if 0%{?rhel} >= 7
72e591
INPUT ( %{_root_prefix}/lib64/libquadmath.so.0 )' > 64/libquadmath.so
72e591
%else
72e591
INPUT ( libquadmath.a )' > 64/libquadmath.so
72e591
%endif
72e591
%endif
72e591
%endif
72e591
%if %{build_libitm}
72e591
rm -f 64/libitm.so
72e591
echo '/* GNU ld script */
72e591
%{oformat2}
72e591
INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/lib64/libitm.so.1 )' > 64/libitm.so
72e591
%endif
72e591
%if %{build_libatomic}
72e591
rm -f 64/libatomic.so
72e591
echo '/* GNU ld script */
72e591
%{oformat2}
72e591
INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/lib64/libatomic.so.1 )' > 64/libatomic.so
72e591
%endif
72e591
%if %{build_libasan}
72e591
rm -f 64/libasan.so
72e591
echo '/* GNU ld script */
72e591
%{oformat2}
72e591
INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/lib64/libasan.so.1 )' > 64/libasan.so
72e591
%endif
72e591
%if %{build_libubsan}
72e591
rm -f 64/libubsan.so
72e591
echo '/* GNU ld script */
72e591
%{oformat2}
72e591
INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/lib64/libubsan.so.0 )' > 64/libubsan.so
72e591
%endif
72e591
%if %{build_libcilkrts}
72e591
rm -f 64/libcilkrts.so
72e591
echo '/* GNU ld script */
72e591
%{oformat2}
72e591
INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/lib64/libcilkrts.so.5 )' > 64/libcilkrts.so
72e591
%endif
72e591
mv -f %{buildroot}%{_prefix}/lib64/libsupc++.*a 64/
72e591
%if %{build_fortran}
72e591
mv -f %{buildroot}%{_prefix}/lib64/libgfortran.*a 64/
72e591
%endif
72e591
mv -f %{buildroot}%{_prefix}/lib64/libgomp.*a 64/
72e591
%if %{build_libquadmath}
72e591
mv -f %{buildroot}%{_prefix}/lib64/libquadmath.*a 64/
72e591
%endif
72e591
ln -sf lib32/libstdc++.a libstdc++.a
72e591
ln -sf ../lib64/libstdc++.a 64/libstdc++.a
72e591
ln -sf lib32/libstdc++_nonshared.a libstdc++_nonshared.a
72e591
ln -sf ../lib64/libstdc++_nonshared.a 64/libstdc++_nonshared.a
72e591
%if %{build_libquadmath}
72e591
ln -sf lib32/libquadmath.a libquadmath.a
72e591
ln -sf ../lib64/libquadmath.a 64/libquadmath.a
72e591
%endif
72e591
%if %{build_libitm}
72e591
ln -sf lib32/libitm.a libitm.a
72e591
ln -sf ../lib64/libitm.a 64/libitm.a
72e591
%endif
72e591
%if %{build_libatomic}
72e591
ln -sf lib32/libatomic.a libatomic.a
72e591
ln -sf ../lib64/libatomic.a 64/libatomic.a
72e591
%endif
72e591
%if %{build_libasan}
72e591
ln -sf lib32/libasan.a libasan.a
72e591
ln -sf ../lib64/libasan.a 64/libasan.a
72e591
ln -sf lib32/libasan_preinit.o libasan_preinit.o
72e591
ln -sf ../lib64/libasan_preinit.o 64/libasan_preinit.o
72e591
%endif
72e591
%if %{build_libubsan}
72e591
ln -sf lib32/libubsan.a libubsan.a
72e591
ln -sf ../lib64/libubsan.a 64/libubsan.a
72e591
%endif
72e591
%if %{build_libcilkrts}
72e591
ln -sf lib32/libcilkrts.a libcilkrts.a
72e591
ln -sf ../lib64/libcilkrts.a 64/libcilkrts.a
72e591
%endif
72e591
%endif
72e591
%ifarch %{multilib_64_archs}
72e591
mkdir -p 32
72e591
echo '/* GNU ld script
72e591
   Use the shared library, but some functions are only in
72e591
   the static library, so try that secondarily.  */
72e591
%{oformat2}
72e591
INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/lib/libstdc++.so.6 -lstdc++_nonshared )' > 32/libstdc++.so
72e591
%if %{build_fortran}
72e591
rm -f 32/libgfortran.so
72e591
echo '/* GNU ld script
72e591
   Use the shared library, but some functions are only in
72e591
   the static library, so try that secondarily.  */
72e591
%{oformat2}
72e591
INPUT ( -lgfortran_nonshared %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/lib/libgfortran.so.3 AS_NEEDED ( -ldl ) )' > 32/libgfortran.so
72e591
%endif
72e591
echo '/* GNU ld script */
72e591
%{oformat2}
72e591
INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/lib/libgomp.so.1 )' > 32/libgomp.so
72e591
%if %{build_libquadmath}
72e591
rm -f 32/libquadmath.so
72e591
echo '/* GNU ld script */
72e591
%{oformat2}
72e591
%if 0%{!?scl:1}
72e591
INPUT ( %{_prefix}/lib/libquadmath.so.0 )' > 32/libquadmath.so
72e591
%else
72e591
%if 0%{?rhel} >= 7
72e591
INPUT ( %{_root_prefix}/lib/libquadmath.so.0 )' > 32/libquadmath.so
72e591
%else
72e591
INPUT ( libquadmath.a )' > 32/libquadmath.so
72e591
%endif
72e591
%endif
72e591
%endif
72e591
%if %{build_libitm}
72e591
rm -f 32/libitm.so
72e591
echo '/* GNU ld script */
72e591
%{oformat2}
72e591
INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/lib/libitm.so.1 )' > 32/libitm.so
72e591
%endif
72e591
%if %{build_libatomic}
72e591
rm -f 32/libatomic.so
72e591
echo '/* GNU ld script */
72e591
%{oformat2}
72e591
INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/lib/libatomic.so.1 )' > 32/libatomic.so
72e591
%endif
72e591
%if %{build_libasan}
72e591
rm -f 32/libasan.so
72e591
echo '/* GNU ld script */
72e591
%{oformat2}
72e591
INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/lib/libasan.so.1 )' > 32/libasan.so
72e591
%endif
72e591
%if %{build_libubsan}
72e591
rm -f 32/libubsan.so
72e591
echo '/* GNU ld script */
72e591
%{oformat2}
72e591
INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/lib/libubsan.so.0 )' > 32/libubsan.so
72e591
%endif
72e591
%if %{build_libcilkrts}
72e591
rm -f 32/libcilkrts.so
72e591
echo '/* GNU ld script */
72e591
%{oformat2}
72e591
INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/lib/libcilkrts.so.5 )' > 32/libcilkrts.so
72e591
%endif
72e591
mv -f %{buildroot}%{_prefix}/lib/libsupc++.*a 32/
72e591
%if %{build_fortran}
72e591
mv -f %{buildroot}%{_prefix}/lib/libgfortran.*a 32/
72e591
%endif
72e591
mv -f %{buildroot}%{_prefix}/lib/libgomp.*a 32/
72e591
%if %{build_libquadmath}
72e591
mv -f %{buildroot}%{_prefix}/lib/libquadmath.*a 32/
72e591
%endif
72e591
%endif
72e591
%ifarch sparc64 ppc64
72e591
ln -sf ../lib32/libstdc++.a 32/libstdc++.a
72e591
ln -sf lib64/libstdc++.a libstdc++.a
72e591
ln -sf ../lib32/libstdc++_nonshared.a 32/libstdc++_nonshared.a
72e591
ln -sf lib64/libstdc++_nonshared.a libstdc++_nonshared.a
72e591
%if %{build_libquadmath}
72e591
ln -sf ../lib32/libquadmath.a 32/libquadmath.a
72e591
ln -sf lib64/libquadmath.a libquadmath.a
72e591
%endif
72e591
%if %{build_libitm}
72e591
ln -sf ../lib32/libitm.a 32/libitm.a
72e591
ln -sf lib64/libitm.a libitm.a
72e591
%endif
72e591
%if %{build_libatomic}
72e591
ln -sf ../lib32/libatomic.a 32/libatomic.a
72e591
ln -sf lib64/libatomic.a libatomic.a
72e591
%endif
72e591
%if %{build_libasan}
72e591
ln -sf ../lib32/libasan.a 32/libasan.a
72e591
ln -sf lib64/libasan.a libasan.a
72e591
ln -sf ../lib32/libasan_preinit.o 32/libasan_preinit.o
72e591
ln -sf lib64/libasan_preinit.o libasan_preinit.o
72e591
%endif
72e591
%if %{build_libubsan}
72e591
ln -sf ../lib32/libubsan.a 32/libubsan.a
72e591
ln -sf lib64/libubsan.a libubsan.a
72e591
%endif
72e591
%if %{build_libcilkrts}
72e591
ln -sf ../lib32/libcilkrts.a 32/libcilkrts.a
72e591
ln -sf lib64/libcilkrts.a libcilkrts.a
72e591
%endif
72e591
%else
72e591
%ifarch %{multilib_64_archs}
72e591
ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}%{?_gnu}/%{gcc_version}/libstdc++.a 32/libstdc++.a
72e591
ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}%{?_gnu}/%{gcc_version}/libstdc++_nonshared.a 32/libstdc++_nonshared.a
72e591
%if %{build_libquadmath}
72e591
ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}%{?_gnu}/%{gcc_version}/libquadmath.a 32/libquadmath.a
72e591
%endif
72e591
%if %{build_libitm}
72e591
ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}%{?_gnu}/%{gcc_version}/libitm.a 32/libitm.a
72e591
%endif
72e591
%if %{build_libatomic}
72e591
ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}%{?_gnu}/%{gcc_version}/libatomic.a 32/libatomic.a
72e591
%endif
72e591
%if %{build_libasan}
72e591
ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}%{?_gnu}/%{gcc_version}/libasan.a 32/libasan.a
72e591
ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}%{?_gnu}/%{gcc_version}/libasan_preinit.o 32/libasan_preinit.o
72e591
%endif
72e591
%if %{build_libubsan}
72e591
ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}%{?_gnu}/%{gcc_version}/libubsan.a 32/libubsan.a
72e591
%endif
72e591
%if %{build_libcilkrts}
72e591
ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}%{?_gnu}/%{gcc_version}/libcilkrts.a 32/libcilkrts.a
72e591
%endif
72e591
%endif
72e591
%endif
72e591
72e591
# Strip debug info from Fortran/ObjC/Java static libraries
72e591
strip -g `find . \( -name libgfortran.a  -o -name libgomp.a \
72e591
		    -o -name libgcc.a -o -name libgcov.a \
72e591
		    -o -name libquadmath.a -o -name libitm.a \
72e591
		    -o -name libatomic.a -o -name libasan.a \
72e591
		    -o -name libtsan.a -o -name libubsan.a \
72e591
		    -o -name liblsan.a -o -name libcilkrts.a \) -a -type f`
72e591
popd
72e591
%if %{build_fortran}
72e591
chmod 755 %{buildroot}%{_prefix}/%{_lib}/libgfortran.so.3.*
72e591
%endif
72e591
chmod 755 %{buildroot}%{_prefix}/%{_lib}/libgomp.so.1.*
72e591
%if %{build_libquadmath}
72e591
%if 0%{!?scl:1}
72e591
chmod 755 %{buildroot}%{_prefix}/%{_lib}/libquadmath.so.0.*
72e591
%endif
72e591
%endif
72e591
%if %{build_libitm}
72e591
chmod 755 %{buildroot}%{_prefix}/%{_lib}/libitm.so.1.*
72e591
%if 0%{?scl:1}
72e591
mkdir -p %{buildroot}%{_root_prefix}/%{_lib}/
72e591
mv %{buildroot}%{_prefix}/%{_lib}/libitm.so.1* %{buildroot}%{_root_prefix}/%{_lib}/
72e591
mkdir -p %{buildroot}%{_root_infodir}
72e591
mv %{buildroot}%{_infodir}/libitm.info* %{buildroot}%{_root_infodir}/
72e591
%endif
72e591
%endif
72e591
%if %{build_libatomic}
72e591
chmod 755 %{buildroot}%{_prefix}/%{_lib}/libatomic.so.1.*
72e591
%if 0%{?scl:1}
72e591
mkdir -p %{buildroot}%{_root_prefix}/%{_lib}/
72e591
mv %{buildroot}%{_prefix}/%{_lib}/libatomic.so.1* %{buildroot}%{_root_prefix}/%{_lib}/
72e591
mkdir -p %{buildroot}%{_root_infodir}
72e591
%endif
72e591
%endif
72e591
%if %{build_libasan}
72e591
chmod 755 %{buildroot}%{_prefix}/%{_lib}/libasan.so.1.*
72e591
%if 0%{?scl:1}
72e591
mkdir -p %{buildroot}%{_root_prefix}/%{_lib}/
72e591
mv %{buildroot}%{_prefix}/%{_lib}/libasan.so.1* %{buildroot}%{_root_prefix}/%{_lib}/
72e591
mkdir -p %{buildroot}%{_root_infodir}
72e591
%endif
72e591
%endif
72e591
%if %{build_libtsan}
72e591
chmod 755 %{buildroot}%{_prefix}/%{_lib}/libtsan.so.0.*
72e591
%if 0%{?scl:1}
72e591
mkdir -p %{buildroot}%{_root_prefix}/%{_lib}/
72e591
mv %{buildroot}%{_prefix}/%{_lib}/libtsan.so.0* %{buildroot}%{_root_prefix}/%{_lib}/
72e591
mkdir -p %{buildroot}%{_root_infodir}
72e591
%endif
72e591
%endif
72e591
%if %{build_libubsan}
72e591
chmod 755 %{buildroot}%{_prefix}/%{_lib}/libubsan.so.0.*
72e591
%if 0%{?scl:1}
72e591
mkdir -p %{buildroot}%{_root_prefix}/%{_lib}/
72e591
mv %{buildroot}%{_prefix}/%{_lib}/libubsan.so.0* %{buildroot}%{_root_prefix}/%{_lib}/
72e591
mkdir -p %{buildroot}%{_root_infodir}
72e591
%endif
72e591
%endif
72e591
%if %{build_liblsan}
72e591
chmod 755 %{buildroot}%{_prefix}/%{_lib}/liblsan.so.0.*
72e591
%if 0%{?scl:1}
72e591
mkdir -p %{buildroot}%{_root_prefix}/%{_lib}/
72e591
mv %{buildroot}%{_prefix}/%{_lib}/liblsan.so.0* %{buildroot}%{_root_prefix}/%{_lib}/
72e591
mkdir -p %{buildroot}%{_root_infodir}
72e591
%endif
72e591
%endif
72e591
%if %{build_libcilkrts}
72e591
chmod 755 %{buildroot}%{_prefix}/%{_lib}/libcilkrts.so.5.*
72e591
%if 0%{?scl:1}
72e591
mkdir -p %{buildroot}%{_root_prefix}/%{_lib}/
72e591
mv %{buildroot}%{_prefix}/%{_lib}/libcilkrts.so.5* %{buildroot}%{_root_prefix}/%{_lib}/
72e591
%endif
72e591
%endif
72e591
72e591
mv $FULLPATH/include-fixed/syslimits.h $FULLPATH/include/syslimits.h
72e591
mv $FULLPATH/include-fixed/limits.h $FULLPATH/include/limits.h
72e591
for h in `find $FULLPATH/include -name \*.h`; do
72e591
  if grep -q 'It has been auto-edited by fixincludes from' $h; then
72e591
    rh=`grep -A2 'It has been auto-edited by fixincludes from' $h | tail -1 | sed 's|^.*"\(.*\)".*$|\1|'`
72e591
    diff -up $rh $h || :
72e591
    rm -f $h
72e591
  fi
72e591
done
72e591
72e591
cd ..
72e591
72e591
%if 0%{!?scl:1}
72e591
for i in %{buildroot}%{_prefix}/bin/{*gcc,*++,gcov,gfortran,gcc-ar,gcc-nm,gcc-ranlib}; do
72e591
  mv -f $i ${i}49
72e591
done
72e591
%endif
72e591
72e591
# Remove binaries we will not be including, so that they don't end up in
72e591
# gcc49-debuginfo
72e591
rm -f %{buildroot}%{_prefix}/%{_lib}/{libffi*,libiberty.a,libmudflap*,libstdc++*,libgfortran*}
72e591
%if 0%{?scl:1}
72e591
rm -f %{buildroot}%{_prefix}/%{_lib}/{libquadmath*,libitm*,libatomic*,libasan*,libtsan*,libubsan*,liblsan*}
72e591
%endif
72e591
rm -f %{buildroot}%{_prefix}/%{_lib}/libgomp*
72e591
rm -f $FULLEPATH/install-tools/{mkheaders,fixincl}
72e591
rm -f %{buildroot}%{_prefix}/lib/{32,64}/libiberty.a
72e591
rm -f %{buildroot}%{_prefix}/%{_lib}/libssp*
72e591
rm -f %{buildroot}%{_prefix}/%{_lib}/libvtv* || :
72e591
rm -f %{buildroot}/lib/cpp
72e591
rm -f %{buildroot}/%{_lib}/libgcc_s*
72e591
rm -f %{buildroot}%{_prefix}/bin/{f95,gccbug,gnatgcc*}
72e591
rm -f %{buildroot}%{_prefix}/bin/%{gcc_target_platform}-{gcc-*,gfortran}
72e591
%if 0%{!?scl:1}
72e591
rm -f %{buildroot}%{_prefix}/bin/{*c++*,cc,cpp}
72e591
%endif
72e591
rm -f %{buildroot}%{_prefix}/bin/%{_target_platform}-gcc-%{version} || :
72e591
rm -f %{buildroot}%{_prefix}/bin/%{_target_platform}-gfortran || :
72e591
72e591
%ifarch %{multilib_64_archs}
72e591
# Remove libraries for the other arch on multilib arches
72e591
rm -f %{buildroot}%{_prefix}/lib/lib*.so*
72e591
rm -f %{buildroot}%{_prefix}/lib/lib*.a
72e591
rm -f %{buildroot}/lib/libgcc_s*.so*
72e591
%else
72e591
%ifarch sparcv9 ppc
72e591
rm -f %{buildroot}%{_prefix}/lib64/lib*.so*
72e591
rm -f %{buildroot}%{_prefix}/lib64/lib*.a
72e591
rm -f %{buildroot}/lib64/libgcc_s*.so*
72e591
%endif
72e591
%endif
72e591
72e591
# Help plugins find out nvra.
72e591
echo gcc-%{version}-%{release}.%{arch} > $FULLPATH/rpmver
72e591
72e591
%check
72e591
cd obj-%{gcc_target_platform}
72e591
72e591
%{?scl:PATH=%{_bindir}${PATH:+:${PATH}}}
72e591
72e591
# Test against the system libstdc++.so.6 + libstdc++_nonshared.a combo
72e591
mv %{gcc_target_platform}/libstdc++-v3/src/.libs/libstdc++.so.6{,.not_here}
72e591
mv %{gcc_target_platform}/libstdc++-v3/src/.libs/libstdc++.so{,.not_here}
72e591
ln -sf %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/%{_lib}/libstdc++.so.6 \
72e591
  %{gcc_target_platform}/libstdc++-v3/src/.libs/libstdc++.so.6
72e591
echo '/* GNU ld script
72e591
   Use the shared library, but some functions are only in
72e591
   the static library, so try that secondarily.  */
72e591
%{oformat}
72e591
INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/%{_lib}/libstdc++.so.6 -lstdc++_nonshared )' \
72e591
  > %{gcc_target_platform}/libstdc++-v3/src/.libs/libstdc++.so
72e591
cp -a %{gcc_target_platform}/libstdc++-v3/src/.libs/libstdc++_nonshared%{nonsharedver}.a \
72e591
  %{gcc_target_platform}/libstdc++-v3/src/.libs/libstdc++_nonshared.a
72e591
72e591
# run the tests.
72e591
make %{?_smp_mflags} -k check RUNTESTFLAGS="--target_board=unix/'{,-fstack-protector}'" || :
72e591
( LC_ALL=C ../contrib/test_summary -t || : ) 2>&1 | sed -n '/^cat.*EOF/,/^EOF/{/^cat.*EOF/d;/^EOF/d;/^LAST_UPDATED:/d;p;}' > testresults
72e591
rm -rf gcc/testsuite.prev
72e591
mv gcc/testsuite{,.prev}
72e591
rm -f gcc/site.exp
72e591
make %{?_smp_mflags} -C gcc -k check-gcc check-g++ ALT_CC_UNDER_TEST=gcc ALT_CXX_UNDER_TEST=g++ RUNTESTFLAGS="--target_board=unix/'{,-fstack-protector}' compat.exp struct-layout-1.exp" || :
72e591
mv gcc/testsuite/gcc/gcc.sum{,.sent}
72e591
mv gcc/testsuite/g++/g++.sum{,.sent}
72e591
( LC_ALL=C ../contrib/test_summary -o -t || : ) 2>&1 | sed -n '/^cat.*EOF/,/^EOF/{/^cat.*EOF/d;/^EOF/d;/^LAST_UPDATED:/d;p;}' > testresults2
72e591
rm -rf gcc/testsuite.compat
72e591
mv gcc/testsuite{,.compat}
72e591
mv gcc/testsuite{.prev,}
72e591
echo ====================TESTING=========================
72e591
cat testresults
72e591
echo ===`gcc --version | head -1` compatibility tests====
72e591
cat testresults2
72e591
echo ====================TESTING END=====================
72e591
mkdir testlogs-%{_target_platform}-%{version}-%{release}
72e591
for i in `find . -name \*.log | grep -F testsuite/ | grep -v 'config.log\|acats.*/tests/'`; do
72e591
  ln $i testlogs-%{_target_platform}-%{version}-%{release}/ || :
72e591
done
72e591
for i in `find gcc/testsuite.compat -name \*.log | grep -v 'config.log\|acats.*/tests/'`; do
72e591
  ln $i testlogs-%{_target_platform}-%{version}-%{release}/`basename $i`.compat || :
72e591
done
72e591
tar cf - testlogs-%{_target_platform}-%{version}-%{release} | bzip2 -9c \
72e591
  | uuencode testlogs-%{_target_platform}.tar.bz2 || :
72e591
rm -rf testlogs-%{_target_platform}-%{version}-%{release}
72e591
72e591
%clean
72e591
rm -rf %{buildroot}
72e591
72e591
%if 0%{?scl:1}
72e591
%post gfortran
72e591
if [ -f %{_infodir}/gfortran.info.gz ]; then
72e591
  /sbin/install-info \
72e591
    --info-dir=%{_infodir} %{_infodir}/gfortran.info.gz || :
72e591
fi
72e591
72e591
%preun gfortran
72e591
if [ $1 = 0 -a -f %{_infodir}/gfortran.info.gz ]; then
72e591
  /sbin/install-info --delete \
72e591
    --info-dir=%{_infodir} %{_infodir}/gfortran.info.gz || :
72e591
fi
72e591
%endif
72e591
72e591
%post -n %{?scl_prefix}libquadmath
72e591
/sbin/ldconfig
72e591
if [ -f %{_infodir}/libquadmath.info.gz ]; then
72e591
  /sbin/install-info \
72e591
    --info-dir=%{_infodir} %{_infodir}/libquadmath.info.gz || :
72e591
fi
72e591
72e591
%preun -n %{?scl_prefix}libquadmath
72e591
if [ $1 = 0 -a -f %{_infodir}/libquadmath.info.gz ]; then
72e591
  /sbin/install-info --delete \
72e591
    --info-dir=%{_infodir} %{_infodir}/libquadmath.info.gz || :
72e591
fi
72e591
72e591
%postun -n %{?scl_prefix}libquadmath -p /sbin/ldconfig
72e591
72e591
%post -n libitm
72e591
/sbin/ldconfig
72e591
if [ -f %{?scl:%{_root_infodir}}%{!?scl:%{_infodir}}/libitm.info.gz ]; then
72e591
  /sbin/install-info \
72e591
    --info-dir=%{?scl:%{_root_infodir}}%{!?scl:%{_infodir}} %{?scl:%{_root_infodir}}%{!?scl:%{_infodir}}/libitm.info.gz || :
72e591
fi
72e591
72e591
%preun -n libitm
72e591
if [ $1 = 0 -a -f %{?scl:%{_root_infodir}}%{!?scl:%{_infodir}}/libitm.info.gz ]; then
72e591
  /sbin/install-info --delete \
72e591
    --info-dir=%{?scl:%{_root_infodir}}%{!?scl:%{_infodir}} %{?scl:%{_root_infodir}}%{!?scl:%{_infodir}}/libitm.info.gz || :
72e591
fi
72e591
72e591
%postun -n libitm -p /sbin/ldconfig
72e591
72e591
%post -n libatomic -p /sbin/ldconfig
72e591
72e591
%postun -n libatomic -p /sbin/ldconfig
72e591
72e591
%post -n libasan -p /sbin/ldconfig
72e591
72e591
%postun -n libasan -p /sbin/ldconfig
72e591
72e591
%post -n libtsan -p /sbin/ldconfig
72e591
72e591
%postun -n libtsan -p /sbin/ldconfig
72e591
72e591
%post -n libubsan -p /sbin/ldconfig
72e591
72e591
%postun -n libubsan -p /sbin/ldconfig
72e591
72e591
%post -n liblsan -p /sbin/ldconfig
72e591
72e591
%postun -n liblsan -p /sbin/ldconfig
72e591
72e591
%post -n libcilkrts -p /sbin/ldconfig
72e591
72e591
%postun -n libcilkrts -p /sbin/ldconfig
72e591
72e591
%files
72e591
%defattr(-,root,root,-)
72e591
%{_prefix}/bin/gcc%{!?scl:49}
72e591
%{_prefix}/bin/gcov%{!?scl:49}
72e591
%{_prefix}/bin/gcc-ar%{!?scl:49}
72e591
%{_prefix}/bin/gcc-nm%{!?scl:49}
72e591
%{_prefix}/bin/gcc-ranlib%{!?scl:49}
72e591
%ifarch ppc
72e591
%{_prefix}/bin/%{_target_platform}-gcc%{!?scl:49}
72e591
%endif
72e591
%ifarch sparc64 sparcv9
72e591
%{_prefix}/bin/sparc-%{_vendor}-%{_target_os}%{?_gnu}-gcc%{!?scl:49}
72e591
%endif
72e591
%ifarch ppc64
72e591
%{_prefix}/bin/ppc-%{_vendor}-%{_target_os}%{?_gnu}-gcc%{!?scl:49}
72e591
%endif
72e591
%{_prefix}/bin/%{gcc_target_platform}-gcc%{!?scl:49}
72e591
%if 0%{?scl:1}
72e591
%{_prefix}/bin/cc
72e591
%{_prefix}/bin/cpp
72e591
%{_mandir}/man1/gcc.1*
72e591
%{_mandir}/man1/cpp.1*
72e591
%{_mandir}/man1/gcov.1*
72e591
%{_infodir}/gcc*
72e591
%{_infodir}/cpp*
72e591
%endif
72e591
%dir %{_prefix}/lib/gcc
72e591
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
72e591
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}
72e591
%dir %{_prefix}/libexec/gcc
72e591
%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}
72e591
%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}
72e591
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/rpmver
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/stddef.h
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/stdarg.h
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/stdfix.h
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/varargs.h
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/float.h
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/limits.h
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/stdbool.h
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/iso646.h
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/syslimits.h
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/unwind.h
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/omp.h
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/stdint.h
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/stdint-gcc.h
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/stdalign.h
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/stdnoreturn.h
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/stdatomic.h
72e591
%ifarch %{ix86} x86_64
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/mmintrin.h
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/xmmintrin.h
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/emmintrin.h
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/pmmintrin.h
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/tmmintrin.h
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/ammintrin.h
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/smmintrin.h
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/nmmintrin.h
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/bmmintrin.h
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/wmmintrin.h
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/immintrin.h
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/avxintrin.h
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/x86intrin.h
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/fma4intrin.h
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/xopintrin.h
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/lwpintrin.h
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/popcntintrin.h
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/bmiintrin.h
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/tbmintrin.h
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/ia32intrin.h
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/avx2intrin.h
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/bmi2intrin.h
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/f16cintrin.h
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/fmaintrin.h
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/lzcntintrin.h
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/rtmintrin.h
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/xtestintrin.h
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/adxintrin.h
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/prfchwintrin.h
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/rdseedintrin.h
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/fxsrintrin.h
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/xsaveintrin.h
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/xsaveoptintrin.h
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/avx512cdintrin.h
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/avx512erintrin.h
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/avx512fintrin.h
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/avx512pfintrin.h
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/shaintrin.h
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/mm_malloc.h
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/mm3dnow.h
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/cpuid.h
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/cross-stdarg.h
72e591
%endif
72e591
%ifarch ia64
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/ia64intrin.h
72e591
%endif
72e591
%ifarch ppc ppc64 ppc64le ppc64p7
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/ppc-asm.h
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/altivec.h
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/spe.h
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/paired.h
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/ppu_intrinsics.h
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/si2vmx.h
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/spu2vmx.h
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/vec_types.h
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/htmintrin.h
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/htmxlintrin.h
72e591
%endif
72e591
%ifarch s390 s390x
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/s390intrin.h
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/htmintrin.h
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/htmxlintrin.h
72e591
%endif
72e591
%if %{build_libcilkrts}
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/cilk
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libcilkrts.spec
72e591
%endif
5733f8
%if %{build_libasan}
5733f8
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/sanitizer
5733f8
%endif
72e591
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/cc1
72e591
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/lto1
72e591
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/lto-wrapper
72e591
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/liblto_plugin.so*
72e591
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/collect2
72e591
%if 0%{?scl:1}
72e591
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/ar
72e591
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/as
72e591
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/ld
72e591
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/nm
72e591
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/ranlib
72e591
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/strip
72e591
%endif
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/crt*.o
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libgcc.a
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libgcov.a
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libgcc_eh.a
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libgcc_s.so
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libgomp.spec
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libgomp.a
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libgomp.so
72e591
%if %{build_libitm}
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libitm.spec
72e591
%endif
72e591
%if %{build_libasan}
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libsanitizer.spec
72e591
%endif
72e591
%ifarch sparcv9 sparc64 ppc ppc64
72e591
%if %{build_libquadmath}
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libquadmath.a
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libquadmath.so
72e591
%endif
72e591
%endif
72e591
%if %{build_cloog}
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libcloog-isl.so.*
72e591
%endif
72e591
%ifarch sparcv9 ppc
72e591
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/crt*.o
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libgcc.a
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libgcov.a
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libgcc_eh.a
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libgcc_s.so
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libgomp.a
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libgomp.so
72e591
%if %{build_libquadmath}
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libquadmath.a
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libquadmath.so
72e591
%endif
72e591
%if %{build_libitm}
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libitm.a
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libitm.so
72e591
%endif
72e591
%if %{build_libatomic}
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libatomic.a
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libatomic.so
72e591
%endif
72e591
%if %{build_libasan}
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libasan.a
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libasan.so
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libasan_preinit.o
72e591
%endif
72e591
%if %{build_libubsan}
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libubsan.a
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libubsan.so
72e591
%endif
72e591
%if %{build_libcilkrts}
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libcilkrts.a
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libcilkrts.so
72e591
%endif
72e591
%endif
72e591
%ifarch %{multilib_64_archs}
72e591
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/crt*.o
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libgcc.a
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libgcov.a
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libgcc_eh.a
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libgcc_s.so
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libgomp.a
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libgomp.so
72e591
%if %{build_libquadmath}
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libquadmath.a
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libquadmath.so
72e591
%endif
72e591
%if %{build_libitm}
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libitm.a
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libitm.so
72e591
%endif
72e591
%if %{build_libatomic}
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libatomic.a
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libatomic.so
72e591
%endif
72e591
%if %{build_libasan}
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libasan.a
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libasan.so
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libasan_preinit.o
72e591
%endif
72e591
%if %{build_libubsan}
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libubsan.a
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libubsan.so
72e591
%endif
72e591
%if %{build_libcilkrts}
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libcilkrts.a
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libcilkrts.so
72e591
%endif
72e591
%endif
72e591
%ifarch sparcv9 sparc64 ppc ppc64
72e591
%if %{build_libquadmath}
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libquadmath.a
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libquadmath.so
72e591
%endif
72e591
%if %{build_libitm}
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libitm.a
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libitm.so
72e591
%endif
72e591
%if %{build_libatomic}
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libatomic.a
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libatomic.so
72e591
%endif
72e591
%if %{build_libasan}
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libasan.a
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libasan.so
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libasan_preinit.o
72e591
%endif
72e591
%if %{build_libtsan}
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libtsan.a
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libtsan.so
72e591
%endif
72e591
%if %{build_libubsan}
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libubsan.a
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libubsan.so
72e591
%endif
72e591
%if %{build_liblsan}
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/liblsan.a
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/liblsan.so
72e591
%endif
72e591
%if %{build_libcilkrts}
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libcilkrts.a
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libcilkrts.so
72e591
%endif
72e591
%endif
72e591
%doc gcc/README* rpm.doc/changelogs/gcc/ChangeLog* gcc/COPYING* COPYING.RUNTIME
72e591
72e591
%files c++
72e591
%defattr(-,root,root,-)
72e591
%{_prefix}/bin/%{gcc_target_platform}-g++%{!?scl:49}
72e591
%{_prefix}/bin/g++%{!?scl:49}
72e591
%if 0%{?scl:1}
72e591
%{_prefix}/bin/%{gcc_target_platform}-c++
72e591
%{_prefix}/bin/c++
72e591
%{_mandir}/man1/g++.1*
72e591
%endif
72e591
%dir %{_prefix}/lib/gcc
72e591
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
72e591
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}
72e591
%dir %{_prefix}/libexec/gcc
72e591
%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}
72e591
%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}
72e591
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/cc1plus
72e591
%ifarch sparcv9 ppc
72e591
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libstdc++.so
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libstdc++.a
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libstdc++_nonshared.a
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libsupc++.a
72e591
%endif
72e591
%ifarch %{multilib_64_archs}
72e591
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libstdc++.so
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libstdc++.a
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libstdc++_nonshared.a
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libsupc++.a
72e591
%endif
72e591
%ifarch sparcv9 ppc %{multilib_64_archs}
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libstdc++.so
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libsupc++.a
72e591
%endif
72e591
%ifarch sparcv9 sparc64 ppc ppc64
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libstdc++.a
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libstdc++_nonshared.a
72e591
%endif
72e591
%doc rpm.doc/changelogs/gcc/cp/ChangeLog*
72e591
72e591
%files -n %{?scl_prefix}libstdc++%{!?scl:49}-devel
72e591
%defattr(-,root,root,-)
72e591
%dir %{_prefix}/include/c++
72e591
%dir %{_prefix}/include/c++/%{gcc_version}
72e591
%{_prefix}/include/c++/%{gcc_version}/[^gjos]*
72e591
%{_prefix}/include/c++/%{gcc_version}/os*
72e591
%{_prefix}/include/c++/%{gcc_version}/s[^u]*
72e591
%dir %{_prefix}/lib/gcc
72e591
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
72e591
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}
72e591
%ifarch sparcv9 ppc
72e591
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib32
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib32/libstdc++.a
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib32/libstdc++_nonshared.a
72e591
%endif
72e591
%ifarch sparc64 ppc64
72e591
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib64
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib64/libstdc++.a
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib64/libstdc++_nonshared.a
72e591
%endif
72e591
%ifnarch sparcv9 sparc64 ppc ppc64
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libstdc++.a
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libstdc++_nonshared.a
72e591
%endif
72e591
%ifnarch sparcv9 ppc %{multilib_64_archs}
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libstdc++.so
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libsupc++.a
72e591
%endif
72e591
%doc rpm.doc/changelogs/libstdc++-v3/ChangeLog* libstdc++-v3/README*
72e591
72e591
%if %{build_libstdcxx_docs}
72e591
%files -n %{?scl_prefix}libstdc++%{!?scl:49}-docs
72e591
%defattr(-,root,root)
72e591
%{_mandir}/man3/*
72e591
%doc rpm.doc/libstdc++-v3/html
72e591
%endif
72e591
72e591
%if %{build_fortran}
72e591
%files gfortran
72e591
%defattr(-,root,root,-)
72e591
%{_prefix}/bin/gfortran%{!?scl:49}
72e591
%if 0%{?scl:1}
72e591
%{_mandir}/man1/gfortran.1*
72e591
%{_infodir}/gfortran*
72e591
%endif
72e591
%dir %{_prefix}/lib/gcc
72e591
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
72e591
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}
72e591
%dir %{_prefix}/libexec/gcc
72e591
%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}
72e591
%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}
72e591
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/finclude
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/finclude/omp_lib.h
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/finclude/omp_lib.f90
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/finclude/omp_lib.mod
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/finclude/omp_lib_kinds.mod
72e591
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/f951
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libgfortran.spec
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libgfortranbegin.a
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libcaf_single.a
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libgfortran.a
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libgfortran.so
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libgfortran_nonshared.a
72e591
%ifarch sparcv9 ppc
72e591
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libgfortranbegin.a
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libcaf_single.a
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libgfortran.a
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libgfortran.so
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libgfortran_nonshared.a
72e591
%endif
72e591
%ifarch %{multilib_64_archs}
72e591
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libgfortranbegin.a
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libcaf_single.a
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libgfortran.a
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libgfortran.so
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libgfortran_nonshared.a
72e591
%endif
72e591
%doc rpm.doc/gfortran/*
72e591
%endif
72e591
72e591
%if %{build_libquadmath}
72e591
%if 0%{!?scl:1}
72e591
%files -n %{?scl_prefix}libquadmath
72e591
%defattr(-,root,root,-)
72e591
%{_prefix}/%{_lib}/libquadmath.so.0*
72e591
%{_infodir}/libquadmath.info*
72e591
%doc rpm.doc/libquadmath/COPYING*
72e591
%endif
72e591
72e591
%files -n %{?scl_prefix}libquadmath-devel
72e591
%defattr(-,root,root,-)
72e591
%dir %{_prefix}/lib/gcc
72e591
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
72e591
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}
72e591
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/quadmath.h
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/quadmath_weak.h
72e591
%ifarch sparcv9 ppc
72e591
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib32
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib32/libquadmath.a
72e591
%endif
72e591
%ifarch sparc64 ppc64
72e591
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib64
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib64/libquadmath.a
72e591
%endif
72e591
%ifnarch sparcv9 sparc64 ppc ppc64
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libquadmath.a
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libquadmath.so
72e591
%endif
72e591
%doc rpm.doc/libquadmath/ChangeLog*
72e591
%endif
72e591
72e591
%if %{build_libitm}
5733f8
%if 0%{?rhel} < 7
72e591
%files -n libitm
72e591
%defattr(-,root,root,-)
72e591
%{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/%{_lib}/libitm.so.1*
72e591
%{?scl:%{_root_infodir}}%{!?scl:%{_infodir}}/libitm.info*
5733f8
%endif
72e591
72e591
%files -n %{?scl_prefix}libitm-devel
72e591
%defattr(-,root,root,-)
72e591
%dir %{_prefix}/lib/gcc
72e591
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
72e591
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}
72e591
%ifarch sparcv9 ppc
72e591
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib32
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib32/libitm.a
72e591
%endif
72e591
%ifarch sparc64 ppc64
72e591
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib64
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib64/libitm.a
72e591
%endif
72e591
%ifnarch sparcv9 sparc64 ppc ppc64
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libitm.so
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libitm.a
72e591
%endif
72e591
%doc rpm.doc/libitm/ChangeLog*
72e591
%endif
72e591
72e591
%if %{build_libatomic}
5733f8
%if 0%{?rhel} < 7
72e591
%files -n libatomic
72e591
%defattr(-,root,root,-)
72e591
%{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/%{_lib}/libatomic.so.1*
5733f8
%endif
72e591
72e591
%files -n %{?scl_prefix}libatomic-devel
72e591
%defattr(-,root,root,-)
72e591
%dir %{_prefix}/lib/gcc
72e591
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
72e591
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}
72e591
%ifarch sparcv9 ppc
72e591
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib32
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib32/libatomic.a
72e591
%endif
72e591
%ifarch sparc64 ppc64
72e591
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib64
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib64/libatomic.a
72e591
%endif
72e591
%ifnarch sparcv9 sparc64 ppc ppc64
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libatomic.so
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libatomic.a
72e591
%endif
72e591
%doc rpm.doc/changelogs/libatomic/ChangeLog*
72e591
%endif
72e591
72e591
%if %{build_libasan}
72e591
%files -n libasan
72e591
%defattr(-,root,root,-)
72e591
%{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/%{_lib}/libasan.so.1*
72e591
72e591
%files -n %{?scl_prefix}libasan-devel
72e591
%defattr(-,root,root,-)
72e591
%dir %{_prefix}/lib/gcc
72e591
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
72e591
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}
72e591
%ifarch sparcv9 ppc
72e591
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib32
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib32/libasan.a
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib32/libasan_preinit.o
72e591
%endif
72e591
%ifarch sparc64 ppc64
72e591
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib64
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib64/libasan.a
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib64/libasan_preinit.o
72e591
%endif
72e591
%ifnarch sparcv9 sparc64 ppc ppc64
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libasan.so
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libasan.a
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libasan_preinit.o
72e591
%endif
72e591
%doc rpm.doc/changelogs/libsanitizer/ChangeLog* libsanitizer/LICENSE.TXT
72e591
%endif
72e591
72e591
%if %{build_libtsan}
72e591
%files -n libtsan
72e591
%defattr(-,root,root,-)
72e591
%{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/%{_lib}/libtsan.so.0*
72e591
72e591
%files -n %{?scl_prefix}libtsan-devel
72e591
%defattr(-,root,root,-)
72e591
%dir %{_prefix}/lib/gcc
72e591
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
72e591
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libtsan.so
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libtsan.a
72e591
%doc rpm.doc/changelogs/libsanitizer/ChangeLog* libsanitizer/LICENSE.TXT
72e591
%endif
72e591
72e591
%if %{build_libubsan}
72e591
%files -n libubsan
72e591
%defattr(-,root,root,-)
72e591
%{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/%{_lib}/libubsan.so.0*
72e591
72e591
%files -n %{?scl_prefix}libubsan-devel
72e591
%defattr(-,root,root,-)
72e591
%dir %{_prefix}/lib/gcc
72e591
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
72e591
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libubsan.so
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libubsan.a
72e591
%doc rpm.doc/changelogs/libsanitizer/ChangeLog* libsanitizer/LICENSE.TXT
72e591
%endif
72e591
72e591
%if %{build_liblsan}
72e591
%files -n liblsan
72e591
%defattr(-,root,root,-)
72e591
%{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/%{_lib}/liblsan.so.0*
72e591
72e591
%files -n %{?scl_prefix}liblsan-devel
72e591
%defattr(-,root,root,-)
72e591
%dir %{_prefix}/lib/gcc
72e591
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
72e591
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/liblsan.so
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/liblsan.a
72e591
%doc rpm.doc/changelogs/libsanitizer/ChangeLog* libsanitizer/LICENSE.TXT
72e591
%endif
72e591
72e591
%if %{build_libcilkrts}
72e591
%files -n libcilkrts
72e591
%defattr(-,root,root,-)
72e591
%{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/%{_lib}/libcilkrts.so.5*
72e591
72e591
%files -n %{?scl_prefix}libcilkrts-devel
72e591
%defattr(-,root,root,-)
72e591
%dir %{_prefix}/lib/gcc
72e591
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
72e591
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libcilkrts.so
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libcilkrts.a
72e591
%doc rpm.doc/changelogs/libcilkrts/ChangeLog* libcilkrts/README
72e591
%endif
72e591
72e591
%files plugin-devel
72e591
%defattr(-,root,root,-)
72e591
%dir %{_prefix}/lib/gcc
72e591
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
72e591
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}
72e591
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/plugin
72e591
%dir %{_prefix}/libexec/gcc
72e591
%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}
72e591
%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}
72e591
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/plugin
72e591
72e591
%changelog
611c22
* Thu Aug 20 2015 Marek Polacek <polacek@redhat.com> 4.9.2-6.2
611c22
- for DTS lib{l,t}san-devel require lib{l,t}san >= 4.9.0 (#1247146)
611c22
5733f8
* Thu Feb 12 2015 Jakub Jelinek <jakub@redhat.com> 4.9.2-6
5733f8
- update from 4.9 branch (#1191557, #1190640)
5733f8
5733f8
* Fri Jan  9 2015 Jakub Jelinek <jakub@redhat.com> 4.9.2-5
5733f8
- update from 4.9 branch (#1149294, #1025729)
5733f8
- don't include libatomic and libitm packages on RHEL 7 (#1160176)
5733f8
- avoid file dependency in devtoolset-*-libstdc++-devel package (#1167957)
5733f8
72e591
* Mon Sep 22 2014 Jakub Jelinek <jakub@redhat.com> 4.9.1-10
72e591
- update from 4.9 branch
72e591
  - various -fcompare-debug fixes (#1140872)
72e591
72e591
* Fri Aug 15 2014 Jakub Jelinek <jakub@redhat.com> 4.9.1-8
72e591
- update from 4.9 branch
72e591
- require devtoolset-3-binutils on RHEL6 (#1127633)
72e591
72e591
* Thu Aug  7 2014 Jakub Jelinek <jakub@redhat.com> 4.9.1-5
72e591
- update from 4.9 branch
72e591
- fix libgfortran overflows on allocation (#1125219, CVE-2014-5044)
72e591
- backport -fsanitize=alignment support from the trunk
72e591
72e591
* Thu Jul 24 2014 Marek Polacek <polacek@redhat.com> 4.9.1-4
72e591
- handle libcilkrts.spec (#1123062)
72e591
72e591
* Wed Jul 23 2014 Jonathan Wakely <jwakely@redhat.com> 4.9.1-3
72e591
- add regression test (#1118870)
72e591
72e591
* Thu Jul 17 2014 Jakub Jelinek <jakub@redhat.com> 4.9.1-2
72e591
- update from 4.9 branch
72e591
- backport -fsanitize=bounds support from the trunk
72e591
72e591
* Fri May 30 2014 Jakub Jelinek <jakub@redhat.com> 4.9.0-6.2
72e591
- fix libstdc++_nonshared.a on i?86
72e591
72e591
* Thu May 29 2014 Jakub Jelinek <jakub@redhat.com> 4.9.0-6
72e591
- update from 4.9 branch
72e591
- backport -fsanitize=float-cast-overflow from the trunk
72e591
- make sure libcilkrts can use system libgcc_s.so.1 (#1101242)
72e591
- fix compat testing
72e591
72e591
* Sun May 18 2014 Jakub Jelinek <jakub@redhat.com> 4.9.0-5
72e591
- new package