X-Git-Url: https://git.tld-linux.org/?p=packages%2Fgcc.git;a=blobdiff_plain;f=gcc.spec;h=d3e76dd17436d5ce1e28fcd26733250bf2870130;hp=fed1b8be2806c88525b5cc85a411015a9a6a74b9;hb=66e1ee92b4b166a0b589edcad2a623a26a874b72;hpb=b699c4d7c6dbed922589439429de103359148823 diff --git a/gcc.spec b/gcc.spec index fed1b8b..d3e76dd 100644 --- a/gcc.spec +++ b/gcc.spec @@ -1,43 +1,57 @@ -# NOTE: despite lower soname, libffi is newer than standalone 3.0.9 +# NOTE: despite lower soname, libffi is newer than standalone 3.0.10 # # TODO: # - gconf peer? (but libgcj needs split anyway) # - package? -# /usr/bin/aot-compile -# /usr/bin/gjdoc -# /usr/share/man/man1/aot-compile.1.gz +# /usr/bin/gjdoc [BR: antlr.jar] (but see gjdoc package, there are some additional jars?) # /usr/share/man/man1/gjdoc.1.gz -# /usr/share/python/aotcompile.py -# /usr/share/python/classfile.py -# - missing libffi.pc required by some packages (eg. python-pygobject) # # Conditional build: +# - languages: %bcond_without ada # build without ADA support %bcond_without cxx # build without C++ support %bcond_without fortran # build without Fortran support -%bcond_without gomp # build without OpenMP support +%bcond_without go # build without Go support %bcond_without java # build without Java support -%bcond_without mudflap # build without Mudflap pointer debugging support %bcond_without objc # build without Objective-C support %bcond_without objcxx # build without Objective-C++ support +# - features: +%bcond_without gomp # build without OpenMP support +%bcond_without mudflap # build without Mudflap pointer debugging support +%bcond_without multilib # build without multilib support (it needs glibc[32&64]-devel) +%bcond_without profiling # build without profiling +%bcond_without python # build without libstdc++ printers for gdb and aot-compile for java +%bcond_without asan # build without Address Sanitizer library +%bcond_without tsan # build without Thread Sanitizer library +%bcond_without atomic # build without library for atomic operations not supported by hardware +%bcond_without gcc_libffi # packaging gcc libffi for system usage + # note: libgcj and libgo always have convenience gcc libffi linked in +# - libgcj options: %bcond_without alsa # don't build libgcj ALSA MIDI interface %bcond_without dssi # don't build libgcj DSSI MIDI interface %bcond_without gtk # don't build libgcj GTK peer %bcond_without apidocs # do not build and package API docs -%bcond_with mozilla # don't build libgcjwebplugin (needs fix for new xulrunner) +%bcond_with mozilla # build libgcjwebplugin (needs fix for new xulrunner) %bcond_with qt # build libgcj Qt peer (currently doesn't build with libtool-2.x) %bcond_without x # don't build libgcj Xlib-dependent AWTs (incl. GTK/Qt) -%bcond_without multilib # build without multilib support (it needs glibc[32&64]-devel) -%bcond_with profiling # build with profiling -%bcond_without python # build without libstdc++ python pretty printers for gdb +# - other: %bcond_without bootstrap # omit 3-stage bootstrap %bcond_with tests # torture gcc +%bcond_with symvers # enable versioned symbols in libstdc++ (WARNING: changes soname from .so.6 to so.7) +%if %{with symvers} +%define cxx_sover 7 +%else +%define cxx_sover 6 +%endif + +# go, java and objcxx require C++ %if %{without cxx} +%undefine with_go %undefine with_java %undefine with_objcxx %endif - +# objcxx requires objc %if %{without objc} %undefine with_objcxx %endif @@ -55,12 +69,24 @@ %undefine with_multilib %endif -%define major_ver 4.5 +%ifnarch %{ix86} %{x8664} +%undefine with_atomic +%endif + +%ifnarch %{ix86} %{x8664} +%undefine with_asan +%endif + +%ifnarch %{x8664} +%undefine with_tsan +%endif + +%define major_ver 4.8 %define minor_ver 3 %define major_ecj_ver 4.5 # class data version seen with file(1) that this jvm is able to load %define _classdataversion 50.0 -%define gcj_soname_ver 11 +%define gcj_soname_ver 14 Summary: GNU Compiler Collection: the C compiler and shared files Summary(es.UTF-8): Colección de compiladores GNU: el compilador C y ficheros compartidos @@ -68,34 +94,38 @@ Summary(pl.UTF-8): Kolekcja kompilatorów GNU: kompilator C i pliki współdziel Summary(pt_BR.UTF-8): Coleção dos compiladores GNU: o compilador C e arquivos compartilhados Name: gcc Version: %{major_ver}.%{minor_ver} -Release: 5 +Release: 2 Epoch: 6 License: GPL v3+ Group: Development/Languages Source0: ftp://gcc.gnu.org/pub/gcc/releases/gcc-%{version}/%{name}-%{version}.tar.bz2 -# Source0-md5: 8e0b5c12212e185f3e4383106bfa9cc6 +# Source0-md5: 7c60f24fab389f77af203d2516ee110f Source1: %{name}-optimize-la.pl Source2: ftp://sourceware.org/pub/java/ecj-%{major_ecj_ver}.jar # Source2-md5: d7cd6a27c8801e66cbaa964a039ecfdb -# svn diff -x --ignore-eol-style svn://gcc.gnu.org/svn/gcc/tags/gcc_4_5_3_release svn://gcc.gnu.org/svn/gcc/branches/gcc-4_5-branch > gcc-branch.diff -Patch100: %{name}-branch.diff +# check libffi version with libffi/configure.ac +Source3: libffi.pc.in +# For creating branch.diff please run: +# svn diff -x --ignore-eol-style --force svn://gcc.gnu.org/svn/gcc/tags/gcc_4_8_3_release svn://gcc.gnu.org/svn/gcc/branches/gcc-4_8-branch > gcc-branch.diff Patch0: %{name}-info.patch -Patch1: %{name}-nolocalefiles.patch +Patch1: %{name}-cloog.patch Patch2: %{name}-nodebug.patch Patch3: %{name}-ada-link.patch -Patch7: %{name}-libjava-multilib.patch -Patch8: %{name}-enable-java-awt-qt.patch -Patch9: %{name}-hash-style-gnu.patch -Patch11: %{name}-build-id.patch -Patch12: %{name}-plugin-decl-hook.patch +Patch4: %{name}-libjava-multilib.patch +Patch5: %{name}-enable-java-awt-qt.patch +Patch6: %{name}-install-libffi.patch +Patch7: gcc-4.9-isl-0.13-hack.patch +Patch100: %{name}-branch.diff URL: http://gcc.gnu.org/ -BuildRequires: autoconf +BuildRequires: autoconf >= 2.64 %{?with_tests:BuildRequires: autogen} -BuildRequires: automake +BuildRequires: automake >= 1:1.9.3 # binutils 2.17.50.0.9 or newer are required for fixing PR middle-end/20218. -BuildRequires: binutils >= 2:2.17.50.0.9-1 +BuildRequires: binutils >= 3:2.17.50.0.9-1 BuildRequires: bison BuildRequires: chrpath >= 0.13-2 +BuildRequires: cloog-isl-devel >= 0.17.0 +BuildRequires: cloog-isl-devel < 0.19 %{?with_tests:BuildRequires: dejagnu} BuildRequires: elfutils-devel >= 0.145-1 BuildRequires: fileutils >= 4.0.41 @@ -109,12 +139,16 @@ BuildRequires: glibc-devel >= 6:2.4-1 %if %{with multilib} BuildRequires: gcc(multilib) %ifarch %{x8664} -BuildRequires: glibc-devel(i686) +BuildRequires: glibc-devel(ix86) %endif %endif +BuildRequires: gmp-c++-devel >= 4.1 BuildRequires: gmp-devel >= 4.1 +BuildRequires: isl-devel >= 0.10 +BuildRequires: isl-devel < 0.13 BuildRequires: libmpc-devel BuildRequires: mpfr-devel >= 2.3.0 +BuildRequires: ppl-devel >= 0.11 %if %{with python} BuildRequires: python-devel BuildRequires: rpm-pythonprov @@ -133,6 +167,7 @@ BuildRequires: libxslt-devel >= 1.1.11 BuildRequires: perl-base BuildRequires: perl-tools-pod BuildRequires: pkgconfig +BuildRequires: sed >= 4.0 BuildRequires: unzip BuildRequires: zip %if %{with gtk} @@ -150,7 +185,7 @@ BuildRequires: qt4-build >= 4.0.1 %{?with_mozilla:BuildRequires: xulrunner-devel >= 1.8.1.3-1.20070321.5} %endif BuildConflicts: pdksh < 5.2.14-50 -Requires: binutils >= 3:2.20.51.0.2 +Requires: binutils >= 3:2.23 Requires: libgcc = %{epoch}:%{version}-%{release} Provides: cpp = %{epoch}:%{version}-%{release} %{?with_ada:Provides: gcc(ada)} @@ -169,14 +204,19 @@ BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) # 32-bit environment on x86-64 %define _slibdir32 /lib %define _libdir32 /usr/lib +%define _pkgconfigdir32 %{_libdir32}/pkgconfig %endif +%define gcclibdir %{_libdir}/gcc/%{_target_platform}/%{version} +%define gcjdbexecdir gcj-%{version}-%{gcj_soname_ver} %define filterout -fwrapv -fno-strict-aliasing -fsigned-char %define filterout_ld -Wl,--as-needed -%define skip_post_check_so '.*(libmudflap|libmudflapth|libxmlj|lib-gnu-awt-xlib)\.so.*' +# functions with printf format attribute but with special parser and also +# receiving non constant format strings +%define Werror_cflags %{nil} -%define _target_platform %{_target_cpu}-tld-linux +%define skip_post_check_so '.*(libgo|libmudflap|libmudflapth|libxmlj|lib-gnu-awt-xlib)\.so.*' %description A compiler aimed at integrating all the optimizations and features @@ -218,7 +258,7 @@ Requires: libgcc-multilib = %{epoch}:%{version}-%{release} %{?with_multilib:Provides: gcc(multilib)} Obsoletes: libgcc32 %ifarch %{x8664} -Requires: glibc-devel(i686) +Requires: glibc-devel(ix86) %endif %description multilib @@ -669,7 +709,6 @@ standardowej C++. Summary: libstdc++ pretty printers for GDB Summary(pl.UTF-8): Funkcje wypisujące dane libstdc++ dla GDB Group: Development/Debuggers -Requires: python-gdb %description -n libstdc++-gdb This package contains Python scripts for GDB pretty printing of the @@ -767,6 +806,9 @@ Statyczna biblioteka standardowa C++ - wersja 32-bitowa. Summary: C++ standard library API documentation Summary(pl.UTF-8): Dokumentacja API biblioteki standardowej C++ Group: Documentation +%if "%{_rpmversion}" >= "5" +BuildArch: noarch +%endif %description -n libstdc++-apidocs API and internal documentation for C++ standard library. @@ -782,6 +824,7 @@ Summary(pt_BR.UTF-8): Suporte Fortran 95 para o GCC Group: Development/Languages/Fortran Requires: %{name} = %{epoch}:%{version}-%{release} Requires: libgfortran = %{epoch}:%{version}-%{release} +Requires: libquadmath-devel = %{epoch}:%{version}-%{release} Provides: gcc-g77 = %{epoch}:%{version}-%{release} Obsoletes: egcs-g77 Obsoletes: gcc-g77 @@ -803,10 +846,11 @@ Suporte Fortran 95 para o GCC. %package fortran-multilib Summary: Fortran 95 32-bit support for gcc -Summary(pl.UTF-8): Obsługa binariów 32-bitowych Fortrana 95 dla gcc +Summary(pl.UTF-8): Obsługa binariów 32-bitowych Fortranu 95 dla gcc Group: Development/Languages/Fortran Requires: %{name}-fortran = %{epoch}:%{version}-%{release} Requires: libgfortran-multilib = %{epoch}:%{version}-%{release} +Requires: libquadmath-multilib-devel = %{epoch}:%{version}-%{release} %description fortran-multilib This package adds support for compiling 32-bit Fortran 95 programs @@ -819,9 +863,10 @@ kompilatora gcc. %package -n libgfortran Summary: Fortran 95 Library Summary(es.UTF-8): Biblioteca de Fortran 95 -Summary(pl.UTF-8): Biblioteka Fortrana 95 +Summary(pl.UTF-8): Biblioteka Fortranu 95 License: GPL v2+ with unlimited link permission Group: Libraries +Requires: libquadmath = %{epoch}:%{version}-%{release} Obsoletes: libg2c %description -n libgfortran @@ -831,24 +876,25 @@ Fortran 95 Library. Biblioteca de Fortran 95. %description -n libgfortran -l pl.UTF-8 -Biblioteka Fortrana 95. +Biblioteka Fortranu 95. %package -n libgfortran-multilib Summary: Fortran 95 Library - 32-bit version -Summary(pl.UTF-8): Biblioteka Fortrana 95 - wersja 32-bitowa +Summary(pl.UTF-8): Biblioteka Fortranu 95 - wersja 32-bitowa License: GPL v2+ with unlimited link permission Group: Libraries +Requires: libquadmath-multilib = %{epoch}:%{version}-%{release} %description -n libgfortran-multilib Fortran 95 Library - 32-bit version. %description -n libgfortran-multilib -l pl.UTF-8 -Biblioteka Fortrana 95 - wersja 32-bitowa. +Biblioteka Fortranu 95 - wersja 32-bitowa. %package -n libgfortran-static Summary: Static Fortran 95 Library Summary(es.UTF-8): Bibliotecas estáticas de Fortran 95 -Summary(pl.UTF-8): Statyczna Biblioteka Fortrana 95 +Summary(pl.UTF-8): Statyczna Biblioteka Fortranu 95 License: GPL v2+ with unlimited link permission Group: Development/Libraries Requires: libgfortran = %{epoch}:%{version}-%{release} @@ -861,11 +907,11 @@ Static Fortran 95 Library. Bibliotecas estáticas de Fortran 95. %description -n libgfortran-static -l pl.UTF-8 -Statyczna biblioteka Fortrana 95. +Statyczna biblioteka Fortranu 95. %package -n libgfortran-multilib-static Summary: Static Fortran 95 Library - 32-bit version -Summary(pl.UTF-8): Statyczna Biblioteka Fortrana 95 - wersja 32-bitowa +Summary(pl.UTF-8): Statyczna Biblioteka Fortranu 95 - wersja 32-bitowa License: GPL v2+ with unlimited link permission Group: Development/Libraries Requires: libgfortran-multilib = %{epoch}:%{version}-%{release} @@ -874,7 +920,98 @@ Requires: libgfortran-multilib = %{epoch}:%{version}-%{release} Static Fortran 95 Library - 32-bit version. %description -n libgfortran-multilib-static -l pl.UTF-8 -Statyczna biblioteka Fortrana 95 - wersja 32-bitowa. +Statyczna biblioteka Fortranu 95 - wersja 32-bitowa. + +%package -n libquadmath +Summary: GCC __float128 shared support library +Summary(pl.UTF-8): Biblioteka współdzielona do obsługi typu __float128 +License: GPL v2+ with linking exception +Group: Libraries + +%description -n libquadmath +This package contains GCC shared support library which is needed for +__float128 math support and for Fortran REAL*16 support. + +%description -n libquadmath -l pl.UTF-8 +Ten pakiet zawiera bibliotekę współdzieloną GCC do obsługi operacji +matematycznych na zmiennych typu __float128 oraz typu REAL*16 w +Fortranie. + +%package -n libquadmath-multilib +Summary: GCC __float128 shared support library - 32-bit version +Summary(pl.UTF-8): Biblioteka współdzielona GCC do obsługi typu __float128 - wersja 32-bitowa +License: GPL v2+ with linking exception +Group: Libraries + +%description -n libquadmath-multilib +This package contains 32-bit version of GCC shared support library +which is needed for __float128 math support and for Fortran REAL*16 +support. + +%description -n libquadmath-multilib -l pl.UTF-8 +Ten pakiet zawiera 32-bitową bibliotekę współdzieloną GCC do obsługi +operacji matematycznych na zmiennych typu __float128 oraz typu REAL*16 +w Fortranie. + +%package -n libquadmath-devel +Summary: Header files for GCC __float128 support library +Summary(pl.UTF-8): Pliki nagłówkowe biblioteka GCC do obsługi typu __float128 +License: GPL v2+ with linking exception +Group: Development/Libraries +Requires: libquadmath = %{epoch}:%{version}-%{release} + +%description -n libquadmath-devel +This package contains header files for GCC support library which is +needed for __float128 math support and for Fortran REAL*16 support. + +%description -n libquadmath-devel -l pl.UTF-8 +Ten pakiet zawiera pliki nagłówkowe biblioteki GCC do obsługi operacji +matematycznych na zmiennych typu __float128 oraz typu REAL*16 w +Fortranie. + +%package -n libquadmath-multilib-devel +Summary: Development files for 32-bit GCC __float128 support library +Summary(pl.UTF-8): Pliki programistyczne 32-bitowej biblioteki do obsługi typu __float128 +License: GPL v2+ with linking exception +Group: Development/Libraries +Requires: libquadmath-devel = %{epoch}:%{version}-%{release} +Requires: libquadmath-multilib = %{epoch}:%{version}-%{release} + +%description -n libquadmath-multilib-devel +This package contains development files for 32-bit GCC support library +which is needed for __float128 math support and for Fortran REAL*16 +support. + +%description -n libquadmath-multilib-devel -l pl.UTF-8 +Ten pakiet zawiera pliki programistyczne 32-bitowej biblioteki GCC do +obsługi operacji matematycznych na zmiennych typu __float128 oraz typu +REAL*16 w Fortranie. + +%package -n libquadmath-static +Summary: Static GCC __float128 support library +Summary(pl.UTF-8): Biblioteka statyczna GCC do obsługi typu __float128 +License: GPL v2+ with linking exception +Group: Development/Libraries +Requires: libquadmath-devel = %{epoch}:%{version}-%{release} + +%description -n libquadmath-static +Static GCC __float128 support library. + +%description -n libquadmath-static -l pl.UTF-8 +Biblioteka statyczna GCC do obsługi typu __float128. + +%package -n libquadmath-multilib-static +Summary: Static GCC __float128 support library - 32-bit version +Summary(pl.UTF-8): 32-bitowa biblioteka statyczna GCC do obsługi typu __float128 +License: GPL v2+ with linking exception +Group: Development/Libraries +Requires: libquadmath-multilib-devel = %{epoch}:%{version}-%{release} + +%description -n libquadmath-multilib-static +Static GCC __float128 support library - 32-bit version. + +%description -n libquadmath-multilib-static -l pl.UTF-8 +32-bitowa biblioteka statyczna GCC do obsługi typu __float128. %package java Summary: Java support for gcc @@ -904,6 +1041,23 @@ Ten pakiet dodaje możliwość kompilowania programów w języku Java(TM) oraz bajtkodu do kodu natywnego. Do używania go wymagany jest dodatkowo pakiet libgcj. +%package java-aotcompile +Summary: Java AOT-compiler - compiling bytecode to native +Summary(pl.UTF-8): Kompilator AOT dla Javy - kompilacja bajtkodu do kodu natywnego +License: GPL v2+ +Group: Development/Tools +Requires: %{name}-java = %{epoch}:%{version}-%{release} + +%description java-aotcompile +aot-compile is a script that searches a directory for Java bytecode +(as class files, or in jars) and uses gcj to compile it to native code +and generate the databases from it. + +%description java-aotcompile -l pl.UTF-8 +aot-compile to skrypt wyszukujący w katalogu bajtkod Javy (w plikach +class lub jarach) i kompilujący go przy użyciu gcj, a następnie +generujący z niego bazy danych. + %package -n libgcj Summary: Java Class Libraries Summary(es.UTF-8): Bibliotecas de clases de Java @@ -1206,27 +1360,334 @@ Static Objective C Library - 32-bit version. %description -n libobjc-multilib-static -l pl.UTF-8 Statyczna biblioteki Obiektowego C - wersja 32-bitowa. +%package go +Summary: Go language support for gcc +Summary(pl.UTF-8): Obsługa języka Go dla kompilatora gcc +License: GPL v3+ (gcc), BSD (Go-specific part) +Group: Development/Languages +Requires: %{name} = %{epoch}:%{version}-%{release} +Requires: libgo-devel = %{epoch}:%{version}-%{release} + +%description go +This package adds Go language support to the GNU Compiler Collection. + +%description go -l pl.UTF-8 +Ten pakiet dodaje obsługę języka Go do kompilatora gcc. + +%package go-multilib +Summary: 32-bit Go language support for gcc +Summary(pl.UTF-8): Obsługa 32-bitowych binariów języka Go dla kompilatora gcc +License: GPL v3+ (gcc), BSD (Go-specific part) +Group: Development/Languages +Requires: %{name} = %{epoch}:%{version}-%{release} +Requires: libgo-multilib-devel = %{epoch}:%{version}-%{release} + +%description go-multilib +This package adds 32-bit Go language support to the GNU Compiler +Collection. + +%description go-multilib -l pl.UTF-8 +Ten pakiet dodaje obsługę 32-bitowych binariów języka Go do +kompilatora gcc. + +%package -n libgo +Summary: Go language library +Summary(pl.UTF-8): Biblioteka języka Go +License: BSD +Group: Libraries +Requires: libgcc >= %{epoch}:%{version}-%{release} + +%description -n libgo +Go language library. + +%description -n libgo -l pl.UTF-8 +Biblioteka języka Go. + +%package -n libgo-multilib +Summary: Go language library - 32-bit version +Summary(pl.UTF-8): Biblioteka języka Go - wersja 32-bitowa +License: BSD +Group: Libraries +Requires: libgcc-multilib >= %{epoch}:%{version}-%{release} + +%description -n libgo-multilib +Go language library - 32-bit version. + +%description -n libgo-multilib -l pl.UTF-8 +Biblioteka języka Go - wersja 32-bitowa. + +%package -n libgo-devel +Summary: Development files for Go language library +Summary(pl.UTF-8): Pliki programistyczne biblioteki języka Go +License: BSD +Group: Development/Libraries +Requires: glibc-devel +Requires: libgo = %{epoch}:%{version}-%{release} + +%description -n libgo-devel +Development files for Go language library. + +%description -n libgo-devel -l pl.UTF-8 +Pliki programistyczne biblioteki języka Go. + +%package -n libgo-multilib-devel +Summary: Development files for Go language library - 32-bit version +Summary(pl.UTF-8): Pliki programistyczne biblioteki języka Go - wersja 32-bitowa +License: BSD +Group: Development/Libraries +Requires: glibc-devel +Requires: libgo-multilib = %{epoch}:%{version}-%{release} + +%description -n libgo-multilib-devel +Development files for Go language library - 32-bit version. + +%description -n libgo-multilib-devel -l pl.UTF-8 +Pliki programistyczne biblioteki języka Go - wersja 32-bitowa. + +%package -n libgo-static +Summary: Static Go language library +Summary(pl.UTF-8): Statyczna biblioteka języka Go +License: BSD +Group: Development/Libraries +Requires: libgo-devel = %{epoch}:%{version}-%{release} + +%description -n libgo-static +Static Go language library. + +%description -n libgo-static -l pl.UTF-8 +Statyczna biblioteka języka Go. + +%package -n libgo-multilib-static +Summary: Static Go language library - 32-bit version +Summary(pl.UTF-8): Statyczna biblioteka języka Go - wersja 32-bitowa +License: BSD +Group: Development/Libraries +Requires: libgo-multilib-devel = %{epoch}:%{version}-%{release} + +%description -n libgo-multilib-static +Static Go language library - 32-bit version. + +%description -n libgo-multilib-static -l pl.UTF-8 +Statyczna biblioteka języka Go - wersja 32-bitowa. + +%package -n libasan +Summary: The Address Sanitizer library +Summary(pl.UTF-8): Biblioteka Address Sanitizer do kontroli adresów +Group: Libraries + +%description -n libasan +This package contains the Address Sanitizer library which is used for +-fsanitize=address instrumented programs. + +%description -n libasan -l pl.UTF-8 +Ten pakiet zawiera bibliotekę Address Sanitizer, służącą do +kontroli adresów w programach kompilowanych z opcją +-fsanitize=address. + +%package -n libasan-multilib +Summary: The Address Sanitizer library - 32-bit version +Summary(pl.UTF-8): Biblioteka Address Sanitizer do kontroli adresów - wersja 32-bitowa +Group: Libraries + +%description -n libasan-multilib +This package contains 32-bit version of the Address Sanitizer library +which is used for -fsanitize=address instrumented programs. + +%description -n libasan-multilib -l pl.UTF-8 +Ten pakiet zawiera 32-bitową wersję biblioteki Address Sanitizer, +służącej do kontroli adresów w programach kompilowanych z opcją +-fsanitize=address. + +%package -n libasan-devel +Summary: Development files for the Address Sanitizer library +Summary(pl.UTF-8): Pliki programistyczne biblioteki Address Sanitizer +Group: Development/Libraries +Requires: libasan = %{epoch}:%{version}-%{release} + +%description -n libasan-devel +This package contains development files for the Address Sanitizer +library. + +%description -n libasan-devel -l pl.UTF-8 +Ten pakiet zawiera pliki programistyczne biblioteki Address Sanitizer. + +%package -n libasan-multilib-devel +Summary: Development files for the Address Sanitizer library - 32-bit version +Summary(pl.UTF-8): Pliki programistyczne biblioteki Address Sanitizer - wersja 32-bitowa +Group: Development/Libraries +Requires: libasan-multilib = %{epoch}:%{version}-%{release} + +%description -n libasan-multilib-devel +This package contains the development files for 32-bit version of the +Address Sanitizer library. + +%description -n libasan-multilib-devel -l pl.UTF-8 +Ten pakiet zawiera pliki programistyczne 32-bitowej wersji biblioteki +Address Sanitizer. + +%package -n libasan-static +Summary: The Address Sanitizer static library +Summary(pl.UTF-8): Statyczna biblioteka Address Sanitizer +Group: Development/Libraries +Requires: libasan-devel = %{epoch}:%{version}-%{release} + +%description -n libasan-static +This package contains Address Sanitizer static library. + +%description -n libasan-static -l pl.UTF-8 +Ten pakiet zawiera statyczną bibliotekę Address Sanitizer. + +%package -n libasan-multilib-static +Summary: The Address Sanitizer static library - 32-bit version +Summary(pl.UTF-8): Statyczna biblioteka Address Sanitizer - wersja 32-bitowa +Group: Development/Libraries +Requires: libasan-multilib-devel = %{epoch}:%{version}-%{release} + +%description -n libasan-multilib-static +This package contains 32-bit version of the Address Sanitizer static +library. + +%description -n libasan-multilib-static -l pl.UTF-8 +Ten pakiet zawiera 32-bitową wersję statycznej biblioteki Address +Sanitizer. + +%package -n libtsan +Summary: The Thread Sanitizer library +Summary(pl.UTF-8): Biblioteka Thread Sanitizer do kontroli wielowątkowości +Group: Libraries + +%description -n libtsan +This package contains the Thread Sanitizer library which is used for +-fsanitize=thread instrumented programs. + +%description -n libtsan -l pl.UTF-8 +Ten pakiet zawiera bibliotekę Thread Sanitizer, służącą do kontroli +wielowątkowości w programach kompilowanych z opcją -fsanitize=thread. + +%package -n libtsan-devel +Summary: Development files for the Thread Sanitizer library +Summary(pl.UTF-8): Pliki programistyczne biblioteki Thread Sanitizer +Group: Development/Libraries +Requires: libtsan = %{epoch}:%{version}-%{release} + +%description -n libtsan-devel +This package contains development files for Thread Sanitizer library. + +%description -n libtsan-devel -l pl.UTF-8 +Ten pakiet zawiera pliki programistyczne biblioteki Address Sanitizer. + +%package -n libtsan-static +Summary: The Thread Sanitizer static library +Summary(pl.UTF-8): Statyczna biblioteka Thread Sanitizer +Group: Development/Libraries +Requires: libtsan-devel = %{epoch}:%{version}-%{release} + +%description -n libtsan-static +This package contains Thread Sanitizer static library. + +%description -n libtsan-static -l pl.UTF-8 +Ten pakiet zawiera statyczną bibliotekę Thread Sanitizer. + +%package -n libatomic +Summary: The GNU Atomic library +Summary(pl.UTF-8): Biblioteka GNU Atomic +Group: Libraries + +%description -n libatomic +This package contains the GNU Atomic library which is a GCC support +library for atomic operations not supported by hardware. + +%description -n libatomic -l pl.UTF-8 +Ten pakiet zawiera bibliotekę GNU Atomic, będącą biblioteką GCC +wspierającą operacje atomowe na sprzęcie ich nie obsługującym. + +%package -n libatomic-multilib +Summary: The GNU Atomic library - 32-bit version +Summary(pl.UTF-8): Biblioteka GNU Atomic - wersja 32-bitowa +Group: Libraries + +%description -n libatomic-multilib +This package contains 32-bit version of the GNU Atomic library which +is a GCC support library for atomic operations not supported by +hardware. + +%description -n libatomic-multilib -l pl.UTF-8 +Ten pakiet zawiera 32-bitową wersję biblioteki GNU Atomic, będącej +biblioteką GCC wspierającą operacje atomowe na sprzęcie ich nie +obsługującym. + +%package -n libatomic-devel +Summary: Development files for the GNU Atomic library +Summary(pl.UTF-8): Pliki programistyczne biblioteki GNU Atomic +Group: Development/Libraries +Requires: libatomic = %{epoch}:%{version}-%{release} + +%description -n libatomic-devel +This package contains development files for the GNU Atomic library. + +%description -n libatomic-devel -l pl.UTF-8 +Ten pakiet zawiera pliki programistyczne biblioteki GNU Atomic. + +%package -n libatomic-multilib-devel +Summary: Development files for the GNU Atomic static library - 32-bit version +Summary(pl.UTF-8): Pliki programistyczne biblioteki GNU Atomic - wersja 32-bitowa +Group: Development/Libraries +Requires: libatomic-multilib = %{epoch}:%{version}-%{release} + +%description -n libatomic-multilib-devel +This package contains the development files for 32-bit version of the +GNU Atomic library. + +%description -n libatomic-multilib-devel -l pl.UTF-8 +Ten pakiet zawiera pliki programistyczne 32-bitowej wersji biblioteki +GNU Atomic. + +%package -n libatomic-static +Summary: The GNU Atomic static library +Summary(pl.UTF-8): Statyczna biblioteka GNU Atomic +Group: Development/Libraries +Requires: libatomic-devel = %{epoch}:%{version}-%{release} + +%description -n libatomic-static +This package contains GNU Atomic static library. + +%description -n libatomic-static +Ten pakiet zawiera statyczną bibliotekę GNU Atomic. + +%package -n libatomic-multilib-static +Summary: The GNU Atomic static library - 32-bit version +Summary(pl.UTF-8): Statyczna biblioteka GNU Atomic - wersja 32-bitowa +Group: Development/Libraries +Requires: libatomic-multilib-devel = %{epoch}:%{version}-%{release} + +%description -n libatomic-multilib-static +This package contains 32-bit version of the GNU Atomic static +library. + +%description -n libatomic-multilib-static -l pl.UTF-8 +Ten pakiet zawiera 32-bitową wersję statycznej biblioteki GNU Atomic. + %prep %setup -q -%patch100 -p0 %patch0 -p1 %patch1 -p1 %patch2 -p1 %patch3 -p1 - -%patch7 -p0 +%patch4 -p0 %if %{with qt} -%patch8 -p1 +%patch5 -p1 +%endif +%if %{with gcc_libffi} +%patch6 -p0 %endif -%patch9 -p1 -%patch11 -p0 -%patch12 -p0 +%patch7 -p1 +%patch100 -p0 mv ChangeLog ChangeLog.general %if %{with java} # see contrib/download_ecj -install %{SOURCE2} ecj.jar +cp -p %{SOURCE2} ecj.jar %endif # override snapshot version. @@ -1261,66 +1722,75 @@ TEXCONFIG=false \ --infodir=%{_infodir} \ --mandir=%{_mandir} \ --x-libraries=%{_libdir} \ + --%{?with_bootstrap:en}%{!?with_bootstrap:dis}able-bootstrap \ + --disable-build-with-cxx \ + --disable-build-poststage1-with-cxx \ + --enable-c99 \ --enable-checking=release \ - --enable-shared \ - --enable-threads=posix \ - --enable-linux-futex \ - --enable-languages="c%{?with_cxx:,c++}%{?with_fortran:,fortran}%{?with_objc:,objc}%{?with_objcxx:,obj-c++}%{?with_ada:,ada}%{?with_java:,java}" \ +%ifarch %{ix86} %{x8664} + --disable-cld \ +%endif + %{?with_fortran:--enable-cmath} \ + --enable-decimal-float \ + --enable-gnu-unique-object \ + --enable-initfini-array \ + --enable-languages="c%{?with_cxx:,c++}%{?with_fortran:,fortran}%{?with_objc:,objc}%{?with_objcxx:,obj-c++}%{?with_ada:,ada}%{?with_java:,java}%{?with_go:,go}" \ --%{?with_gomp:en}%{!?with_gomp:dis}able-libgomp \ + --enable-libitm \ --%{?with_mudflap:en}%{!?with_mudflap:dis}able-libmudflap \ - --enable-c99 \ + --enable-linker-build-id \ + --enable-linux-futex \ --enable-long-long \ - --enable-decimal-float=yes \ %{!?with_multilib:--disable-multilib} \ --enable-nls \ - --disable-werror \ --enable-lto \ --enable-plugin \ -%ifarch %{ix86} %{x8664} - --disable-cld \ -%endif -%ifarch sparc64 - --with-cpu=ultrasparc \ -%endif + --enable-shared \ + --enable-threads=posix \ + --disable-werror \ + --with-cloog \ + --with-demangler-in-ld \ --with-gnu-as \ --with-gnu-ld \ - --with-demangler-in-ld \ - --with-system-zlib \ + --with-linker-hash-style=gnu \ + --with-long-double-128 \ + --with-ppl \ + --disable-ppl-version-check \ --with-slibdir=%{_slibdir} \ %ifnarch ia64 --without-system-libunwind \ %else --with-system-libunwind \ %endif + --with-system-zlib \ %{!?with_java:--without-x} \ - %{?with_fortran:--enable-cmath} \ - --with-long-double-128 \ -%ifarch ppc ppc64 - --enable-secureplt \ -%endif %if %{with cxx} - --with-gxx-include-dir=%{_includedir}/c++/%{version} \ - --disable-libstdcxx-pch \ --enable-__cxa_atexit \ --enable-libstdcxx-allocator=new \ + --disable-libstdcxx-pch \ + --enable-libstdcxx-threads \ + --enable-libstdcxx-time=rt \ + --enable-libstdcxx-visibility \ + --enable-symvers=gnu%{?with_symvers:-versioned-namespace} \ + --with-gxx-include-dir=%{_includedir}/c++/%{version} \ %endif %if %{with java} - --enable-libjava-multilib=no \ %{!?with_alsa:--disable-alsa} \ %{!?with_dssi:--disable-dssi} \ --disable-gconf-peer \ + %{?with_gtk:--enable-gtk-cairo} \ %if %{with x} --enable-java-awt="xlib%{?with_gtk:,gtk}%{?with_qt:,qt}" \ %endif - %{?with_mozilla:--enable-plugin} \ + --enable-jni \ --enable-libgcj \ --enable-libgcj-multifile \ --enable-libgcj-database \ - %{?with_gtk:--enable-gtk-cairo} \ - --enable-jni \ + --disable-libjava-multilib \ + %{?with_mozilla:--enable-plugin} \ + --enable-static-libjava \ --enable-xmlj \ %endif - --%{?with_bootstrap:en}%{!?with_bootstrap:dis}able-bootstrap \ --with-pkgversion="TLD-Linux" \ --with-bugurl="http://www.tld-linux.org" \ %{_target_platform} @@ -1335,7 +1805,7 @@ all $(all): %{?with_bootstrap:%{?with_profiling:profiledbootstrap}} \ GCJFLAGS="%{rpmcflags}" \ BOOT_CFLAGS="%{rpmcflags}" \ - STAGE1_CFLAGS="%{rpmcflags} -O0" \ + STAGE1_CFLAGS="%{rpmcflags} -O1 -g0" \ GNATLIBCFLAGS="%{rpmcflags}" \ LDFLAGS_FOR_TARGET="%{rpmldflags}" \ mandir=%{_mandir} \ @@ -1363,29 +1833,46 @@ cd builddir infodir=%{_infodir} \ DESTDIR=$RPM_BUILD_ROOT -install gcc/specs $RPM_BUILD_ROOT%{_libdir}/gcc/%{_target_platform}/%{version} +cp -p gcc/specs $RPM_BUILD_ROOT%{gcclibdir} ln -sf %{_bindir}/cpp $RPM_BUILD_ROOT/lib/cpp ln -sf gcc $RPM_BUILD_ROOT%{_bindir}/cc -echo ".so gcc.1" > $RPM_BUILD_ROOT%{_mandir}/man1/cc.1 +echo ".so man1/gcc.1" > $RPM_BUILD_ROOT%{_mandir}/man1/cc.1 libssp=$(cd $RPM_BUILD_ROOT%{_libdir}; echo libssp.so.*.*.*) mv $RPM_BUILD_ROOT%{_libdir}/libssp.so.* $RPM_BUILD_ROOT%{_slibdir} ln -sf %{_slibdir}/$libssp $RPM_BUILD_ROOT%{_libdir}/libssp.so + +libitm=$(cd $RPM_BUILD_ROOT%{_libdir}; echo libitm.so.*.*.*) +mv $RPM_BUILD_ROOT%{_libdir}/libitm.so.* $RPM_BUILD_ROOT%{_slibdir} +ln -sf %{_slibdir}/$libitm $RPM_BUILD_ROOT%{_libdir}/libitm.so + +libgomp=$(cd $RPM_BUILD_ROOT%{_libdir}; echo libgomp.so.*.*.*) +mv $RPM_BUILD_ROOT%{_libdir}/libgomp.so.* $RPM_BUILD_ROOT%{_slibdir} +ln -sf %{_slibdir}/$libgomp $RPM_BUILD_ROOT%{_libdir}/libgomp.so + %if %{with multilib} libssp=$(cd $RPM_BUILD_ROOT%{_libdir32}; echo libssp.so.*.*.*) mv $RPM_BUILD_ROOT%{_libdir32}/libssp.so.* $RPM_BUILD_ROOT%{_slibdir32} ln -sf %{_slibdir32}/$libssp $RPM_BUILD_ROOT%{_libdir32}/libssp.so + +libitm=$(cd $RPM_BUILD_ROOT%{_libdir32}; echo libitm.so.*.*.*) +mv $RPM_BUILD_ROOT%{_libdir32}/libitm.so.* $RPM_BUILD_ROOT%{_slibdir32} +ln -sf %{_slibdir32}/$libitm $RPM_BUILD_ROOT%{_libdir32}/libitm.so + +libgomp=$(cd $RPM_BUILD_ROOT%{_libdir32}; echo libgomp.so.*.*.*) +mv $RPM_BUILD_ROOT%{_libdir32}/libgomp.so.* $RPM_BUILD_ROOT%{_slibdir32} +ln -sf %{_slibdir32}/$libgomp $RPM_BUILD_ROOT%{_libdir32}/libgomp.so %endif %if %{with fortran} ln -sf gfortran $RPM_BUILD_ROOT%{_bindir}/g95 -echo ".so gfortran.1" > $RPM_BUILD_ROOT%{_mandir}/man1/g95.1 +echo ".so man1/gfortran.1" > $RPM_BUILD_ROOT%{_mandir}/man1/g95.1 %endif %if %{with ada} # move ada shared libraries to proper place... -mv -f $RPM_BUILD_ROOT%{_libdir}/gcc/*/*/adalib/*.so.1 \ +mv -f $RPM_BUILD_ROOT%{gcclibdir}/adalib/*.so.1 \ $RPM_BUILD_ROOT%{_libdir} # check if symlink to be made is valid test -f $RPM_BUILD_ROOT%{_libdir}/libgnat-%{major_ver}.so.1 @@ -1394,7 +1881,7 @@ ln -sf libgnarl-%{major_ver}.so.1 $RPM_BUILD_ROOT%{_libdir}/libgnarl-%{major_ver ln -sf libgnat-%{major_ver}.so $RPM_BUILD_ROOT%{_libdir}/libgnat.so ln -sf libgnarl-%{major_ver}.so $RPM_BUILD_ROOT%{_libdir}/libgnarl.so %if %{with multilib} -mv -f $RPM_BUILD_ROOT%{_libdir}/gcc/*/*/32/adalib/*.so.1 \ +mv -f $RPM_BUILD_ROOT%{gcclibdir}/32/adalib/*.so.1 \ $RPM_BUILD_ROOT%{_libdir32} # check if symlink to be made is valid test -f $RPM_BUILD_ROOT%{_libdir32}/libgnat-%{major_ver}.so.1 @@ -1411,25 +1898,43 @@ cd .. install -d java-doc cp -f libjava/READ* java-doc ln -sf libgcj-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/libgcj.jar -rm -f $RPM_BUILD_ROOT%{_libdir}/classpath/libgjs*.la -# tools.zip sources -rm -rf $RPM_BUILD_ROOT%{_datadir}/classpath/tools/gnu %endif + +%if %{with gcc_libffi} +# still not installed by gcc? +[ ! -f $RPM_BUILD_ROOT%{_pkgconfigdir}/libffi.pc ] || exit 1 +install -d $RPM_BUILD_ROOT%{_pkgconfigdir} +sed -e 's,@prefix@,%{_prefix}, + s,@exec_prefix@,%{_exec_prefix}, + s,@libdir@,%{_libdir}, + s,@gcclibdir@,%{gcclibdir},' %{SOURCE3} >$RPM_BUILD_ROOT%{_pkgconfigdir}/libffi.pc +%if %{with multilib} +[ ! -f $RPM_BUILD_ROOT%{_pkgconfigdir32}/libffi.pc ] || exit 1 +install -d $RPM_BUILD_ROOT%{_pkgconfigdir32} +sed -e 's,@prefix@,%{_prefix}, + s,@exec_prefix@,%{_exec_prefix}, + s,@libdir@,%{_libdir32}, + s,@gcclibdir@,%{gcclibdir},' %{SOURCE3} >$RPM_BUILD_ROOT%{_pkgconfigdir32}/libffi.pc +%endif +%endif + %if %{with objc} cp -f libobjc/README gcc/objc/README.libobjc %endif -%define gcjdbexecdir gcj-%{version}-%{gcj_soname_ver} - -# avoid -L poisoning in *.la - there should be only -L%{_libdir}/gcc/*/%{version} +# avoid -L poisoning in *.la - there should be only -L%{_libdir}/gcc/%{_target_platform}/%{version} # normalize libdir, to avoid propagation of unnecessary RPATHs by libtool -for f in libssp.la libssp_nonshared.la \ +for f in libitm.la libssp.la libssp_nonshared.la \ %{?with_cxx:libstdc++.la libsupc++.la} \ - %{?with_fortran:libgfortran.la} \ + %{?with_fortran:libgfortran.la libquadmath.la} \ %{?with_gomp:libgomp.la} \ + %{?with_asan:libasan.la} \ + %{?with_tsan:libtsan.la} \ + %{?with_atomic:libatomic.la} \ %{?with_mudflap:libmudflap.la libmudflapth.la} \ %if %{with java} - libffi.la libgcj.la libgcj-tools.la libgij.la \ + %{?with_gcc_libffi:libffi.la} \ + libgcj.la libgcj-tools.la libgij.la \ %{gcjdbexecdir}/libjvm.la \ %{gcjdbexecdir}/libxmlj.la \ %{?with_x:lib-gnu-awt-xlib.la} \ @@ -1444,12 +1949,14 @@ do mv $RPM_BUILD_ROOT%{_libdir}/$f{.fixed,} done %if %{with multilib} -for f in libssp.la libssp_nonshared.la \ +for f in libitm.la libssp.la libssp_nonshared.la \ %{?with_cxx:libstdc++.la libsupc++.la} \ - %{?with_fortran:libgfortran.la} \ + %{?with_fortran:libgfortran.la libquadmath.la} \ %{?with_gomp:libgomp.la} \ + %{?with_asan:libasan.la} \ + %{?with_atomic:libatomic.la} \ %{?with_mudflap:libmudflap.la libmudflapth.la} \ - %{?with_java:libffi.la} \ + %{?with_java:%{?with_gcc_libffi:libffi.la}} \ %{?with_objc:libobjc.la}; do %{__perl} %{SOURCE1} $RPM_BUILD_ROOT%{_libdir32}/$f %{_libdir32} > $RPM_BUILD_ROOT%{_libdir32}/$f.fixed @@ -1457,11 +1964,15 @@ do done %endif -gccdir=$(echo $RPM_BUILD_ROOT%{_libdir}/gcc/*/*) -cp $gccdir/install-tools/include/*.h $gccdir/include -cp $gccdir/include-fixed/syslimits.h $gccdir/include -rm -rf $gccdir/install-tools -rm -rf $gccdir/include-fixed +cp -p $RPM_BUILD_ROOT%{gcclibdir}/install-tools/include/*.h $RPM_BUILD_ROOT%{gcclibdir}/include +cp -p $RPM_BUILD_ROOT%{gcclibdir}/include-fixed/syslimits.h $RPM_BUILD_ROOT%{gcclibdir}/include +%{__rm} -r $RPM_BUILD_ROOT%{gcclibdir}/install-tools +%{__rm} -r $RPM_BUILD_ROOT%{gcclibdir}/include-fixed + +# plugin, .la not needed +%{__rm} $RPM_BUILD_ROOT%{gcclibdir}/liblto_plugin.la +# already packaged in binutils-devel +%{__rm} $RPM_BUILD_ROOT%{_libdir}/libiberty.a %if %{with python} for LIB in lib lib64; do @@ -1471,13 +1982,27 @@ for LIB in lib lib64; do sed -e 's,@pythondir@,%{_datadir}/gdb,' \ -e 's,@toolexeclibdir@,%{_prefix}/'"$LIB," \ < libstdc++-v3/python/hook.in \ - > $LIBPATH/$(basename $RPM_BUILD_ROOT/%{_prefix}/%{_lib}/libstdc++.so.*.*.*)-gdb.py + > $LIBPATH/$(basename $RPM_BUILD_ROOT%{_prefix}/%{_lib}/libstdc++.so.*.*.*)-gdb.py done install -d $RPM_BUILD_ROOT%{py_sitescriptdir} -cp -a libstdc++-v3/python/libstdcxx $RPM_BUILD_ROOT%{py_sitescriptdir} +mv $RPM_BUILD_ROOT%{_datadir}/gcc-%{version}/python/libstdcxx $RPM_BUILD_ROOT%{py_sitescriptdir} +%if %{with java} +mv $RPM_BUILD_ROOT%{_datadir}/gcc-%{version}/python/libjava $RPM_BUILD_ROOT%{py_sitescriptdir} +%{__sed} -i -e '1s,#!/usr/bin/env python,#!/usr/bin/python,' $RPM_BUILD_ROOT%{_bindir}/aot-compile +%endif %py_ocomp $RPM_BUILD_ROOT%{py_sitescriptdir} %py_comp $RPM_BUILD_ROOT%{py_sitescriptdir} %py_postclean +%else +%{__rm} -r $RPM_BUILD_ROOT%{_datadir}/gcc-%{version}/python/libstdcxx +%if %{with java} +%{__rm} -r $RPM_BUILD_ROOT%{_datadir}/gcc-%{version}/python/libjava +%endif +%endif +# script(s) always installed; see above for builds with python; if no python, just don't package +%{__rm} $RPM_BUILD_ROOT%{_libdir}/libstdc++.so.*-gdb.py +%if %{with multilib} +%{__rm} $RPM_BUILD_ROOT%{_libdir32}/libstdc++.so.*-gdb.py %endif %find_lang gcc @@ -1486,14 +2011,11 @@ cat cpplib.lang >> gcc.lang %if %{with cxx} %find_lang libstdc\+\+ -install libstdc++-v3/include/precompiled/* $RPM_BUILD_ROOT%{_includedir} +cp -p libstdc++-v3/include/precompiled/* $RPM_BUILD_ROOT%{_includedir} %endif -# gdb stuff maybe? -%{__rm} $RPM_BUILD_ROOT%{_libdir}/*.py -%if %{with multilib} -%{__rm} $RPM_BUILD_ROOT%{_libdir32}/*.py -%endif +# always -f, as "dir" is created depending which texlive version is installed +%{__rm} -f $RPM_BUILD_ROOT%{_infodir}/dir # svn snap doesn't contain (release does) below files, # so let's create dummy entries to satisfy %%files. @@ -1528,6 +2050,24 @@ rm -rf $RPM_BUILD_ROOT %postun java -p /sbin/postshell -/usr/sbin/fix-info-dir -c %{_infodir} +%post go -p /sbin/postshell +-/usr/sbin/fix-info-dir -c %{_infodir} + +%postun go -p /sbin/postshell +-/usr/sbin/fix-info-dir -c %{_infodir} + +%post -n libquadmath-devel -p /sbin/postshell +-/usr/sbin/fix-info-dir -c %{_infodir} + +%postun -n libquadmath-devel -p /sbin/postshell +-/usr/sbin/fix-info-dir -c %{_infodir} + +%post -n libffi-devel -p /sbin/postshell +-/usr/sbin/fix-info-dir -c %{_infodir} + +%postun -n libffi-devel -p /sbin/postshell +-/usr/sbin/fix-info-dir -c %{_infodir} + %post -p /sbin/ldconfig -n libgcc %postun -p /sbin/ldconfig -n libgcc %post -p /sbin/ldconfig -n libgcc-multilib @@ -1562,6 +2102,24 @@ rm -rf $RPM_BUILD_ROOT %postun -p /sbin/ldconfig -n libobjc %post -p /sbin/ldconfig -n libobjc-multilib %postun -p /sbin/ldconfig -n libobjc-multilib +%post -p /sbin/ldconfig -n libquadmath +%postun -p /sbin/ldconfig -n libquadmath +%post -p /sbin/ldconfig -n libquadmath-multilib +%postun -p /sbin/ldconfig -n libquadmath-multilib +%post -p /sbin/ldconfig -n libgo +%postun -p /sbin/ldconfig -n libgo +%post -p /sbin/ldconfig -n libgo-multilib +%postun -p /sbin/ldconfig -n libgo-multilib +%post -p /sbin/ldconfig -n libasan +%postun -p /sbin/ldconfig -n libasan +%post -p /sbin/ldconfig -n libasan-multilib +%postun -p /sbin/ldconfig -n libasan-multilib +%post -p /sbin/ldconfig -n libtsan +%postun -p /sbin/ldconfig -n libtsan +%post -p /sbin/ldconfig -n libatomic +%postun -p /sbin/ldconfig -n libatomic +%post -p /sbin/ldconfig -n libatomic-multilib +%postun -p /sbin/ldconfig -n libatomic-multilib %files -f gcc.lang %defattr(644,root,root,755) @@ -1572,7 +2130,10 @@ rm -rf $RPM_BUILD_ROOT %attr(755,root,root) %{_bindir}/cc %attr(755,root,root) %{_bindir}/cpp %attr(755,root,root) %{_bindir}/gcc -%attr(755,root,root) %{_bindir}/gccbug +%attr(755,root,root) %{_bindir}/gcc-ar +%attr(755,root,root) %{_bindir}/gcc-nm +%attr(755,root,root) %{_bindir}/gcc-ranlib +#%attr(755,root,root) %{_bindir}/gccbug %attr(755,root,root) %{_bindir}/gcov %{_mandir}/man1/cc.1* %{_mandir}/man1/cpp.1* @@ -1583,87 +2144,115 @@ rm -rf $RPM_BUILD_ROOT %{_infodir}/gcc.info* %{_infodir}/gccinstall.info* %{_infodir}/gccint.info* +%{_infodir}/libitm.info* %attr(755,root,root) /lib/cpp %attr(755,root,root) %{_slibdir}/libgcc_s.so +%attr(755,root,root) %{_libdir}/libitm.so %attr(755,root,root) %{_libdir}/libssp.so +%{_libdir}/libitm.la +%{_libdir}/libitm.a +%{_libdir}/libitm.spec %{_libdir}/libssp.la %{_libdir}/libssp.a %{_libdir}/libssp_nonshared.la %{_libdir}/libssp_nonshared.a %dir %{_libdir}/gcc -%dir %{_libdir}/gcc/* -%dir %{_libdir}/gcc/*/* -%{_libdir}/gcc/*/*/libgcc.a -%{_libdir}/gcc/*/*/libgcc_eh.a -%{_libdir}/gcc/*/*/libgcov.a -%{_libdir}/gcc/*/*/specs -%{_libdir}/gcc/*/*/crt*.o -%attr(755,root,root) %{_libdir}/gcc/*/*/cc1 -%attr(755,root,root) %{_libdir}/gcc/*/*/collect2 -%attr(755,root,root) %{_libdir}/gcc/*/*/lto-wrapper -%attr(755,root,root) %{_libdir}/gcc/*/*/lto1 -%{_libdir}/gcc/*/*/plugin -%dir %{_libdir}/gcc/*/*/include -%dir %{_libdir}/gcc/*/*/include/ssp -%{_libdir}/gcc/*/*/include/ssp/*.h -%{_libdir}/gcc/*/*/include/float.h -%{_libdir}/gcc/*/*/include/iso646.h -%{_libdir}/gcc/*/*/include/limits.h -%{_libdir}/gcc/*/*/include/stdarg.h -%{_libdir}/gcc/*/*/include/stdbool.h -%{_libdir}/gcc/*/*/include/stddef.h -%{_libdir}/gcc/*/*/include/stdfix.h -%{_libdir}/gcc/*/*/include/stdint.h -%{_libdir}/gcc/*/*/include/stdint-gcc.h -%{_libdir}/gcc/*/*/include/syslimits.h -%{_libdir}/gcc/*/*/include/unwind.h -%{_libdir}/gcc/*/*/include/varargs.h +%dir %{_libdir}/gcc/%{_target_platform} +%dir %{gcclibdir} +%{gcclibdir}/libgcc.a +%{gcclibdir}/libgcc_eh.a +%{gcclibdir}/libgcov.a +%{gcclibdir}/specs +%{gcclibdir}/crt*.o +%attr(755,root,root) %{gcclibdir}/cc1 +%attr(755,root,root) %{gcclibdir}/collect2 +%attr(755,root,root) %{gcclibdir}/lto-wrapper +%attr(755,root,root) %{gcclibdir}/lto1 +%attr(755,root,root) %{gcclibdir}/liblto_plugin.so* +%{gcclibdir}/plugin +%dir %{gcclibdir}/include +%dir %{gcclibdir}/include/ssp +%{gcclibdir}/include/ssp/*.h +%{gcclibdir}/include/float.h +%{gcclibdir}/include/iso646.h +%{gcclibdir}/include/limits.h +%{gcclibdir}/include/stdalign.h +%{gcclibdir}/include/stdarg.h +%{gcclibdir}/include/stdbool.h +%{gcclibdir}/include/stddef.h +%{gcclibdir}/include/stdfix.h +%{gcclibdir}/include/stdint.h +%{gcclibdir}/include/stdint-gcc.h +%{gcclibdir}/include/stdnoreturn.h +%{gcclibdir}/include/syslimits.h +%{gcclibdir}/include/unwind.h +%{gcclibdir}/include/varargs.h %ifarch %{ix86} %{x8664} -%{_libdir}/gcc/*/*/include/abmintrin.h -%{_libdir}/gcc/*/*/include/ammintrin.h -%{_libdir}/gcc/*/*/include/avxintrin.h -%{_libdir}/gcc/*/*/include/bmmintrin.h -%{_libdir}/gcc/*/*/include/cpuid.h -%{_libdir}/gcc/*/*/include/cross-stdarg.h -%{_libdir}/gcc/*/*/include/emmintrin.h -%{_libdir}/gcc/*/*/include/fma4intrin.h -%{_libdir}/gcc/*/*/include/ia32intrin.h -%{_libdir}/gcc/*/*/include/immintrin.h -%{_libdir}/gcc/*/*/include/lwpintrin.h -%{_libdir}/gcc/*/*/include/mm3dnow.h -%{_libdir}/gcc/*/*/include/mm_malloc.h -%{_libdir}/gcc/*/*/include/mmintrin.h -%{_libdir}/gcc/*/*/include/nmmintrin.h -%{_libdir}/gcc/*/*/include/popcntintrin.h -%{_libdir}/gcc/*/*/include/pmmintrin.h -%{_libdir}/gcc/*/*/include/smmintrin.h -%{_libdir}/gcc/*/*/include/tmmintrin.h -%{_libdir}/gcc/*/*/include/wmmintrin.h -%{_libdir}/gcc/*/*/include/x86intrin.h -%{_libdir}/gcc/*/*/include/xmmintrin.h -%{_libdir}/gcc/*/*/include/xopintrin.h -%endif -%ifarch powerpc ppc ppc64 -%{_libdir}/gcc/*/*/include/altivec.h -%{_libdir}/gcc/*/*/include/paired.h -%{_libdir}/gcc/*/*/include/ppc-asm.h -%{_libdir}/gcc/*/*/include/ppu_intrinsics.h -%{_libdir}/gcc/*/*/include/si2vmx.h -%{_libdir}/gcc/*/*/include/spe.h -%{_libdir}/gcc/*/*/include/spu2vmx.h -%{_libdir}/gcc/*/*/include/vec_types.h +%{gcclibdir}/include/ammintrin.h +%{gcclibdir}/include/avxintrin.h +%{gcclibdir}/include/avx2intrin.h +%{gcclibdir}/include/bmiintrin.h +%{gcclibdir}/include/bmi2intrin.h +%{gcclibdir}/include/bmmintrin.h +%{gcclibdir}/include/cpuid.h +%{gcclibdir}/include/cross-stdarg.h +%{gcclibdir}/include/emmintrin.h +%{gcclibdir}/include/f16cintrin.h +%{gcclibdir}/include/fmaintrin.h +%{gcclibdir}/include/fma4intrin.h +%{gcclibdir}/include/ia32intrin.h +%{gcclibdir}/include/immintrin.h +%{gcclibdir}/include/lwpintrin.h +%{gcclibdir}/include/lzcntintrin.h +%{gcclibdir}/include/mm3dnow.h +%{gcclibdir}/include/mm_malloc.h +%{gcclibdir}/include/mmintrin.h +%{gcclibdir}/include/nmmintrin.h +%{gcclibdir}/include/popcntintrin.h +%{gcclibdir}/include/pmmintrin.h +%{gcclibdir}/include/smmintrin.h +%{gcclibdir}/include/tbmintrin.h +%{gcclibdir}/include/tmmintrin.h +%{gcclibdir}/include/wmmintrin.h +%{gcclibdir}/include/x86intrin.h +%{gcclibdir}/include/xmmintrin.h +%{gcclibdir}/include/xopintrin.h +%{gcclibdir}/include/adxintrin.h +%{gcclibdir}/include/fxsrintrin.h +%{gcclibdir}/include/prfchwintrin.h +%{gcclibdir}/include/rdseedintrin.h +%{gcclibdir}/include/rtmintrin.h +%{gcclibdir}/include/xsaveintrin.h +%{gcclibdir}/include/xsaveoptintrin.h +%{gcclibdir}/include/xtestintrin.h +%endif +%ifarch arm +%{gcclibdir}/include/arm_neon.h +%{gcclibdir}/include/mmintrin.h +%endif +%ifarch ia64 +%{gcclibdir}/include/ia64intrin.h +%endif +%ifarch m68k +%{gcclibdir}/include/math-68881.h +%endif +%ifarch mips +%{gcclibdir}/include/loongson.h %endif %if %{with multilib} %files multilib %defattr(644,root,root,755) %attr(755,root,root) %{_slibdir32}/libgcc_s.so -%dir %{_libdir}/gcc/*/*/32 -%{_libdir}/gcc/*/*/32/crt*.o -%{_libdir}/gcc/*/*/32/libgcc.a -%{_libdir}/gcc/*/*/32/libgcc_eh.a -%{_libdir}/gcc/*/*/32/libgcov.a +%dir %{gcclibdir}/32 +%{gcclibdir}/32/crt*.o +%{gcclibdir}/32/libgcc.a +%{gcclibdir}/32/libgcc_eh.a +%{gcclibdir}/32/libgcov.a +%attr(755,root,root) %{_libdir32}/libitm.so %attr(755,root,root) %{_libdir32}/libssp.so +%{_libdir32}/libitm.la +%{_libdir32}/libitm.a %{_libdir32}/libssp.la %{_libdir32}/libssp.a %{_libdir32}/libssp_nonshared.la @@ -1673,28 +2262,32 @@ rm -rf $RPM_BUILD_ROOT %files -n libgcc %defattr(644,root,root,755) %attr(755,root,root) %{_slibdir}/libgcc_s.so.1 +%attr(755,root,root) %{_slibdir}/libitm.so.*.*.* %attr(755,root,root) %{_slibdir}/libssp.so.*.*.* +%attr(755,root,root) %ghost %{_slibdir}/libitm.so.1 %attr(755,root,root) %ghost %{_slibdir}/libssp.so.0 %if %{with multilib} %files -n libgcc-multilib %defattr(644,root,root,755) %attr(755,root,root) %{_slibdir32}/libgcc_s.so.1 +%attr(755,root,root) %{_slibdir32}/libitm.so.*.*.* %attr(755,root,root) %{_slibdir32}/libssp.so.*.*.* %attr(755,root,root) %ghost %{_slibdir32}/libssp.so.0 +%attr(755,root,root) %ghost %{_slibdir32}/libitm.so.1 %endif %if %{with gomp} %files -n libgomp %defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/libgomp.so.*.*.* -%attr(755,root,root) %ghost %{_libdir}/libgomp.so.1 +%attr(755,root,root) %{_slibdir}/libgomp.so.*.*.* +%attr(755,root,root) %ghost %{_slibdir}/libgomp.so.1 %if %{with multilib} %files -n libgomp-multilib %defattr(644,root,root,755) -%attr(755,root,root) %{_libdir32}/libgomp.so.*.*.* -%attr(755,root,root) %ghost %{_libdir32}/libgomp.so.1 +%attr(755,root,root) %{_slibdir32}/libgomp.so.*.*.* +%attr(755,root,root) %ghost %{_slibdir32}/libgomp.so.1 %endif %files -n libgomp-devel @@ -1702,8 +2295,8 @@ rm -rf $RPM_BUILD_ROOT %attr(755,root,root) %{_libdir}/libgomp.so %{_libdir}/libgomp.la %{_libdir}/libgomp.spec -%{_libdir}/gcc/*/*/finclude -%{_libdir}/gcc/*/*/include/omp.h +%{gcclibdir}/finclude +%{gcclibdir}/include/omp.h %{_infodir}/libgomp.info* %if %{with multilib} @@ -1748,7 +2341,7 @@ rm -rf $RPM_BUILD_ROOT %attr(755,root,root) %{_libdir}/libmudflapth.so %{_libdir}/libmudflap.la %{_libdir}/libmudflapth.la -%{_libdir}/gcc/*/*/include/mf-runtime.h +%{gcclibdir}/include/mf-runtime.h %if %{with multilib} %files -n libmudflap-multilib-devel @@ -1784,13 +2377,12 @@ rm -rf $RPM_BUILD_ROOT %attr(755,root,root) %{_libdir}/libgnarl.so %attr(755,root,root) %{_libdir}/libgnat-*.so %attr(755,root,root) %{_libdir}/libgnat.so -%attr(755,root,root) %{_libdir}/gcc/*/*/gnat1 -%{_libdir}/gcc/*/*/adainclude -%dir %{_libdir}/gcc/*/*/adalib -%{_libdir}/gcc/*/*/adalib/*.ali -%{_libdir}/gcc/*/*/adalib/g-trasym.o +%attr(755,root,root) %{gcclibdir}/gnat1 +%{gcclibdir}/adainclude +%dir %{gcclibdir}/adalib +%{gcclibdir}/adalib/*.ali %ifarch %{ix86} %{x8664} -%{_libdir}/gcc/*/*/adalib/libgmem.a +%{gcclibdir}/adalib/libgmem.a %endif %{_infodir}/gnat-style.info* %{_infodir}/gnat_rm.info* @@ -1803,12 +2395,11 @@ rm -rf $RPM_BUILD_ROOT %attr(755,root,root) %{_libdir32}/libgnarl.so %attr(755,root,root) %{_libdir32}/libgnat-*.so %attr(755,root,root) %{_libdir32}/libgnat.so -%{_libdir}/gcc/*/*/32/adainclude -%dir %{_libdir}/gcc/*/*/32/adalib -%{_libdir}/gcc/*/*/32/adalib/*.ali -%{_libdir}/gcc/*/*/32/adalib/g-trasym.o +%{gcclibdir}/32/adainclude +%dir %{gcclibdir}/32/adalib +%{gcclibdir}/32/adalib/*.ali %ifarch %{ix86} %{x8664} -%{_libdir}/gcc/*/*/32/adalib/libgmem.a +%{gcclibdir}/32/adalib/libgmem.a %endif %endif @@ -1830,16 +2421,14 @@ rm -rf $RPM_BUILD_ROOT %files -n libgnat-static %defattr(644,root,root,755) -%{_libdir}/gcc/*/*/adalib/libgnala.a -%{_libdir}/gcc/*/*/adalib/libgnarl.a -%{_libdir}/gcc/*/*/adalib/libgnat.a +%{gcclibdir}/adalib/libgnarl.a +%{gcclibdir}/adalib/libgnat.a %if %{with multilib} %files -n libgnat-multilib-static %defattr(644,root,root,755) -%{_libdir}/gcc/*/*/32/adalib/libgnala.a -%{_libdir}/gcc/*/*/32/adalib/libgnarl.a -%{_libdir}/gcc/*/*/32/adalib/libgnat.a +%{gcclibdir}/32/adalib/libgnarl.a +%{gcclibdir}/32/adalib/libgnat.a %endif %endif @@ -1851,7 +2440,7 @@ rm -rf $RPM_BUILD_ROOT %attr(755,root,root) %{_bindir}/*-g++ %attr(755,root,root) %{_bindir}/c++ %attr(755,root,root) %{_bindir}/*-c++ -%attr(755,root,root) %{_libdir}/gcc/*/*/cc1plus +%attr(755,root,root) %{gcclibdir}/cc1plus %{_libdir}/libsupc++.la %{_libdir}/libsupc++.a %{_mandir}/man1/g++.1* @@ -1867,13 +2456,13 @@ rm -rf $RPM_BUILD_ROOT %defattr(644,root,root,755) %doc libstdc++-v3/{ChangeLog,README} %attr(755,root,root) %{_libdir}/libstdc++.so.*.*.* -%attr(755,root,root) %ghost %{_libdir}/libstdc++.so.6 +%attr(755,root,root) %ghost %{_libdir}/libstdc++.so.%{cxx_sover} %if %{with multilib} %files -n libstdc++-multilib %defattr(644,root,root,755) %attr(755,root,root) %{_libdir32}/libstdc++.so.*.*.* -%attr(755,root,root) %ghost %{_libdir32}/libstdc++.so.6 +%attr(755,root,root) %ghost %{_libdir32}/libstdc++.so.%{cxx_sover} %endif %if %{with python} @@ -1883,7 +2472,10 @@ rm -rf $RPM_BUILD_ROOT %{py_sitescriptdir}/libstdcxx/*.py[co] %dir %{py_sitescriptdir}/libstdcxx/v6 %{py_sitescriptdir}/libstdcxx/v6/*.py[co] -%{_datadir}/gdb/auto-load/usr/lib*/libstdc++.so.6.0.14-gdb.py +%{_datadir}/gdb/auto-load/usr/%{_lib}/libstdc++.so.%{cxx_sover}.*.*-gdb.py +%if %{with multilib} +%{_datadir}/gdb/auto-load/usr/lib/libstdc++.so.%{cxx_sover}.*.*-gdb.py +%endif %endif %files -n libstdc++-devel @@ -1935,11 +2527,14 @@ rm -rf $RPM_BUILD_ROOT %attr(755,root,root) %{_bindir}/g95 %attr(755,root,root) %{_bindir}/gfortran %attr(755,root,root) %{_bindir}/*-gfortran -%attr(755,root,root) %{_libdir}/gcc/*/*/f951 +%attr(755,root,root) %{gcclibdir}/f951 %attr(755,root,root) %{_libdir}/libgfortran.so +%{_libdir}/libgfortran.spec %{_libdir}/libgfortran.la -%{_libdir}/gcc/*/*/libgfortranbegin.la -%{_libdir}/gcc/*/*/libgfortranbegin.a +%{gcclibdir}/libcaf_single.a +%{gcclibdir}/libcaf_single.la +%{gcclibdir}/libgfortranbegin.la +%{gcclibdir}/libgfortranbegin.a %{_infodir}/gfortran.info* %{_mandir}/man1/g95.1* %{_mandir}/man1/gfortran.1* @@ -1948,9 +2543,12 @@ rm -rf $RPM_BUILD_ROOT %files fortran-multilib %defattr(644,root,root,755) %attr(755,root,root) %{_libdir32}/libgfortran.so +%{_libdir32}/libgfortran.spec %{_libdir32}/libgfortran.la -%{_libdir}/gcc/*/*/32/libgfortranbegin.la -%{_libdir}/gcc/*/*/32/libgfortranbegin.a +%{gcclibdir}/32/libcaf_single.a +%{gcclibdir}/32/libcaf_single.la +%{gcclibdir}/32/libgfortranbegin.la +%{gcclibdir}/32/libgfortranbegin.a %endif %files -n libgfortran @@ -1975,6 +2573,43 @@ rm -rf $RPM_BUILD_ROOT %defattr(644,root,root,755) %{_libdir32}/libgfortran.a %endif + +%files -n libquadmath +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdir}/libquadmath.so.*.*.* +%attr(755,root,root) %ghost %{_libdir}/libquadmath.so.0 + +%if %{with multilib} +%files -n libquadmath-multilib +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdir32}/libquadmath.so.*.*.* +%attr(755,root,root) %ghost %{_libdir32}/libquadmath.so.0 +%endif + +%files -n libquadmath-devel +%defattr(644,root,root,755) +%{gcclibdir}/include/quadmath.h +%{gcclibdir}/include/quadmath_weak.h +%attr(755,root,root) %{_libdir}/libquadmath.so +%{_libdir}/libquadmath.la +%{_infodir}/libquadmath.info* + +%if %{with multilib} +%files -n libquadmath-multilib-devel +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdir32}/libquadmath.so +%{_libdir32}/libquadmath.la +%endif + +%files -n libquadmath-static +%defattr(644,root,root,755) +%{_libdir}/libquadmath.a + +%if %{with multilib} +%files -n libquadmath-multilib-static +%defattr(644,root,root,755) +%{_libdir32}/libquadmath.a +%endif %endif %if %{with java} @@ -2001,9 +2636,9 @@ rm -rf $RPM_BUILD_ROOT %attr(755,root,root) %{_bindir}/jv-convert %attr(755,root,root) %{_bindir}/rebuild-gcj-db %attr(755,root,root) %{_bindir}/*-gcj -%attr(755,root,root) %{_libdir}/gcc/*/*/ecj1 -%attr(755,root,root) %{_libdir}/gcc/*/*/jc1 -%attr(755,root,root) %{_libdir}/gcc/*/*/jvgenmain +%attr(755,root,root) %{gcclibdir}/ecj1 +%attr(755,root,root) %{gcclibdir}/jc1 +%attr(755,root,root) %{gcclibdir}/jvgenmain %{_infodir}/cp-tools.info* %{_infodir}/gcj.info* %{_mandir}/man1/gappletviewer.1* @@ -2026,6 +2661,15 @@ rm -rf $RPM_BUILD_ROOT %{_mandir}/man1/jv-convert.1* %{_mandir}/man1/rebuild-gcj-db* +%if %{with python} +%files java-aotcompile +%defattr(644,root,root,755) +%attr(755,root,root) %{_bindir}/aot-compile +%dir %{py_sitescriptdir}/libjava +%{py_sitescriptdir}/libjava/*.py[co] +%{_mandir}/man1/aot-compile.1* +%endif + %files -n libgcj %defattr(644,root,root,755) %doc libjava/{ChangeLog,LIBGCJ_LICENSE,NEWS,README,THANKS} @@ -2081,12 +2725,12 @@ rm -rf $RPM_BUILD_ROOT %{?with_qt:%{_libdir}/%{gcjdbexecdir}/libqtpeer.la} %{?with_mozilla:%{_libdir}/%{gcjdbexecdir}/libgcjwebplugin.la} %{_libdir}/%{gcjdbexecdir}/libxmlj.la -%{_libdir}/gcc/*/*/include/gcj -%{_libdir}/gcc/*/*/include/jawt.h -%{_libdir}/gcc/*/*/include/jawt_md.h -%{_libdir}/gcc/*/*/include/jni.h -%{_libdir}/gcc/*/*/include/jni_md.h -%{_libdir}/gcc/*/*/include/jvmpi.h +%{gcclibdir}/include/gcj +%{gcclibdir}/include/jawt.h +%{gcclibdir}/include/jawt_md.h +%{gcclibdir}/include/jni.h +%{gcclibdir}/include/jni_md.h +%{gcclibdir}/include/jvmpi.h %{_includedir}/c++/%{version}/java %{_includedir}/c++/%{version}/javax %{_includedir}/c++/%{version}/gcj @@ -2103,7 +2747,9 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/libgij.a %{?with_x:%{_libdir}/lib-gnu-awt-xlib.a} %{_libdir}/%{gcjdbexecdir}/libjvm.a +%endif +%if %{with gcc_libffi} %files -n libffi %defattr(644,root,root,755) %doc libffi/{ChangeLog,ChangeLog.libgcj,LICENSE,README} @@ -2121,15 +2767,18 @@ rm -rf $RPM_BUILD_ROOT %defattr(644,root,root,755) %attr(755,root,root) %{_libdir}/libffi.so %{_libdir}/libffi.la -%{_libdir}/gcc/*/*/include/ffi.h -%{_libdir}/gcc/*/*/include/ffitarget.h +%{gcclibdir}/include/ffi.h +%{gcclibdir}/include/ffitarget.h +%{_pkgconfigdir}/libffi.pc %{_mandir}/man3/ffi*.3* +%{_infodir}/libffi.info* %if %{with multilib} %files -n libffi-multilib-devel %defattr(644,root,root,755) %attr(755,root,root) %{_libdir32}/libffi.so %{_libdir32}/libffi.la +%{_pkgconfigdir32}/libffi.pc %endif %files -n libffi-static @@ -2146,11 +2795,18 @@ rm -rf $RPM_BUILD_ROOT %if %{with objc} %files objc %defattr(644,root,root,755) -%doc gcc/objc/README -%attr(755,root,root) %{_libdir}/gcc/*/*/cc1obj +%doc gcc/objc/README.libobjc +%attr(755,root,root) %{gcclibdir}/cc1obj %attr(755,root,root) %{_libdir}/libobjc.so %{_libdir}/libobjc.la -%{_libdir}/gcc/*/*/include/objc +%{gcclibdir}/include/objc + +%if %{with objcxx} +%files objc++ +%defattr(644,root,root,755) +%doc gcc/objcp/ChangeLog +%attr(755,root,root) %{gcclibdir}/cc1objplus +%endif %if %{with multilib} %files objc-multilib @@ -2163,13 +2819,13 @@ rm -rf $RPM_BUILD_ROOT %defattr(644,root,root,755) %doc libobjc/{ChangeLog,README*} %attr(755,root,root) %{_libdir}/libobjc.so.*.*.* -%attr(755,root,root) %ghost %{_libdir}/libobjc.so.2 +%attr(755,root,root) %ghost %{_libdir}/libobjc.so.4 %if %{with multilib} %files -n libobjc-multilib %defattr(644,root,root,755) %attr(755,root,root) %{_libdir32}/libobjc.so.*.*.* -%attr(755,root,root) %ghost %{_libdir32}/libobjc.so.2 +%attr(755,root,root) %ghost %{_libdir32}/libobjc.so.4 %endif %files -n libobjc-static @@ -2183,9 +2839,151 @@ rm -rf $RPM_BUILD_ROOT %endif %endif -%if %{with objcxx} -%files objc++ +%if %{with go} +%files go %defattr(644,root,root,755) -%doc gcc/objcp/ChangeLog -%attr(755,root,root) %{_libdir}/gcc/*/*/cc1objplus +%doc gcc/go/gofrontend/{LICENSE,PATENTS,README} +%attr(755,root,root) %{_bindir}/gccgo +%attr(755,root,root) %{gcclibdir}/go1 +%dir %{_libdir}/go +%{_libdir}/go/%{version} +%{_mandir}/man1/gccgo.1* +%{_infodir}/gccgo.info* + +%if %{with multilib} +%files go-multilib +%defattr(644,root,root,755) +%dir %{_libdir32}/go +%{_libdir32}/go/%{version} +%endif + +%files -n libgo +%defattr(644,root,root,755) +%doc libgo/{LICENSE,PATENTS,README} +%attr(755,root,root) %{_libdir}/libgo.so.*.*.* +%attr(755,root,root) %ghost %{_libdir}/libgo.so.4 + +%if %{with multilib} +%files -n libgo-multilib +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdir32}/libgo.so.*.*.* +%attr(755,root,root) %ghost %{_libdir32}/libgo.so.4 +%endif + +%files -n libgo-devel +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdir}/libgo.so +%{_libdir}/libgo.la +%{_libdir}/libgobegin.a + +%if %{with multilib} +%files -n libgo-multilib-devel +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdir32}/libgo.so +%{_libdir32}/libgo.la +%{_libdir32}/libgobegin.a +%endif + +%files -n libgo-static +%defattr(644,root,root,755) +%{_libdir}/libgo.a + +%if %{with multilib} +%files -n libgo-multilib-static +%defattr(644,root,root,755) +%{_libdir32}/libgo.a +%endif +%endif + +%if %{with asan} +%files -n libasan +%defattr(644,root,root,755) +%doc libsanitizer/ChangeLog* libsanitizer/LICENSE.TXT +%attr(755,root,root) %{_libdir}/libasan.so.*.*.* +%attr(755,root,root) %ghost %{_libdir}/libasan.so.0 + +%if %{with multilib} +%files -n libasan-multilib +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdir32}/libasan.so.*.*.* +%attr(755,root,root) %ghost %{_libdir32}/libasan.so.0 +%endif + +%files -n libasan-devel +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdir}/libasan.so +%{_libdir}/libasan_preinit.o +%{_libdir}/libasan.la + +%if %{with multilib} +%files -n libasan-multilib-devel +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdir32}/libasan.so +%{_libdir32}/libasan_preinit.o +%{_libdir32}/libasan.la +%endif + +%files -n libasan-static +%defattr(644,root,root,755) +%{_libdir}/libasan.a + +%if %{with multilib} +%files -n libasan-multilib-static +%defattr(644,root,root,755) +%{_libdir32}/libasan.a +%endif +%endif + +%if %{with tsan} +%files -n libtsan +%defattr(644,root,root,755) +%doc libsanitizer/ChangeLog* libsanitizer/LICENSE.TXT +%attr(755,root,root) %{_libdir}/libtsan.so.*.*.* +%attr(755,root,root) %ghost %{_libdir}/libtsan.so.0 + +%files -n libtsan-devel +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdir}/libtsan.so +%{_libdir}/libtsan.la + +%files -n libtsan-static +%defattr(644,root,root,755) +%{_libdir}/libtsan.a +%endif + +%if %{with atomic} +%files -n libatomic +%defattr(644,root,root,755) +%doc libatomic/ChangeLog* +%attr(755,root,root) %{_libdir}/libatomic.so.*.*.* +%attr(755,root,root) %ghost %{_libdir}/libatomic.so.1 + +%if %{with multilib} +%files -n libatomic-multilib +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdir32}/libatomic.so.*.*.* +%attr(755,root,root) %ghost %{_libdir32}/libatomic.so.1 +%endif + +%files -n libatomic-devel +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdir}/libatomic.so +%{_libdir}/libatomic.la + +%if %{with multilib} +%files -n libatomic-multilib-devel +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdir32}/libatomic.so +%{_libdir32}/libatomic.la +%endif + +%files -n libatomic-static +%defattr(644,root,root,755) +%{_libdir}/libatomic.a + +%if %{with multilib} +%files -n libatomic-multilib-static +%defattr(644,root,root,755) +%{_libdir32}/libatomic.a +%endif %endif