]> git.pld-linux.org Git - packages/gcc.git/blobdiff - gcc.spec
branch.diff updated and moved to distfiles. release 6.
[packages/gcc.git] / gcc.spec
index fca383393206ea7235d9c170fd31e72549c5ec3f..843eeb3289a83698cda069097b75763c89636113 100644 (file)
--- a/gcc.spec
+++ b/gcc.spec
@@ -3,37 +3,48 @@
 # 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_with    cloogpplleg     # use cloog-ppl-legacy (0.15.x) backend (instead of cloog-isl)
+%bcond_with    cloogppl        # use cloog-ppl 0.16.1 backend (instead of cloog-isl)
+%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_with    profiling       # build with profiling
+%bcond_without python          # build without libstdc++ printers for gdb and aot-compile for java
+# - 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    ppc64_nof       # "nof" multilib target in ppc64 compiler
 %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
 
 %if %{without cxx}
+%undefine      with_go
 %undefine      with_java
 %undefine      with_objcxx
 %endif
 %undefine      with_ada
 %endif
 
-%define                major_ver       4.6
-%define                minor_ver       0
+%if %{with cloogppl}
+%define        cloog_backend   ppl
+%else
+%if %{with cloogpplleg}
+%define        cloog_backend   ppl-legacy
+%else
+%define        cloog_backend   isl
+%endif
+%endif
+
+%define                major_ver       4.7
+%define                minor_ver       2
 %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  12
+%define                gcj_soname_ver  13
 
 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
@@ -72,18 +93,22 @@ 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:       0.1
+Release:       6
 Epoch:         6
 License:       GPL v3+
 Group:         Development/Languages
 Source0:       ftp://gcc.gnu.org/pub/gcc/releases/gcc-%{version}/%{name}-%{version}.tar.bz2
-# Source0-md5: 93d1c436bf991564524701259b6285a2
+# Source0-md5: cc308a0891e778cfda7a151ab8a6e762
 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_6_0_release svn://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch > gcc-branch.diff
+# check libffi version with libffi/configure.ac
+Source3:       libffi.pc.in
+# svn diff -x --ignore-eol-style --force svn://gcc.gnu.org/svn/gcc/tags/gcc_4_7_2_release svn://gcc.gnu.org/svn/gcc/branches/gcc-4_7-branch > gcc-branch.diff
 Patch100:      %{name}-branch.diff
+# Patch100-md5:        34d2f91a58f942cf98a15e73614625c9
 Patch0:                %{name}-info.patch
+Patch1:                %{name}-cloog.patch
 Patch2:                %{name}-nodebug.patch
 Patch3:                %{name}-ada-link.patch
 Patch4:                %{name}-sparc64-ada_fix.patch
@@ -91,16 +116,26 @@ Patch6:            %{name}-ppc64-m32-m64-multilib-only.patch
 Patch7:                %{name}-libjava-multilib.patch
 Patch8:                %{name}-enable-java-awt-qt.patch
 Patch10:       %{name}-moresparcs.patch
-# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41757
-Patch12:       %{name}-plugin-decl-hook.patch
+Patch11:       libgo-werror.patch
+Patch13:       issue4664051.patch
 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
+%if %{with cloogppl}
+BuildRequires: cloog-ppl-devel >= 0.16.1
+%else
+%if %{with cloogpplleg}
+BuildRequires: cloog-ppl-devel >= 0.15.9
+BuildRequires: cloog-ppl-devel < 0.16
+%else
+BuildRequires: cloog-isl-devel >= 0.16.1
+%endif
+%endif
 %{?with_tests:BuildRequires:   dejagnu}
 BuildRequires: elfutils-devel >= 0.145-1
 BuildRequires: fileutils >= 4.0.41
@@ -127,8 +162,10 @@ BuildRequires:     glibc-devel(sparcv9)
 %endif
 %endif
 BuildRequires: gmp-devel >= 4.1
+BuildRequires: gmp-c++-devel >= 4.1
 BuildRequires: libmpc-devel
 BuildRequires: mpfr-devel >= 2.3.0
+BuildRequires: ppl-devel >= 0.11
 %if %{with python}
 BuildRequires: python-devel
 BuildRequires: rpm-pythonprov
@@ -147,6 +184,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}
@@ -183,13 +221,19 @@ BuildRoot:        %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 # 32-bit environment on x86-64,ppc64,s390x,sparc64
 %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                skip_post_check_so      '.*(libgo|libmudflap|libmudflapth|libxmlj|lib-gnu-awt-xlib)\.so.*'
 
 %description
 A compiler aimed at integrating all the optimizations and features
@@ -691,7 +735,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
@@ -804,6 +847,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
@@ -829,6 +873,7 @@ Summary(pl.UTF-8):  Obsługa binariów 32-bitowych Fortrana 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
@@ -844,6 +889,7 @@ Summary(es.UTF-8):  Biblioteca de Fortran 95
 Summary(pl.UTF-8):     Biblioteka Fortrana 95
 License:       GPL v2+ with unlimited link permission
 Group:         Libraries
+Requires:      libquadmath = %{epoch}:%{version}-%{release}
 Obsoletes:     libg2c
 
 %description -n libgfortran
@@ -860,6 +906,7 @@ Summary:    Fortran 95 Library - 32-bit version
 Summary(pl.UTF-8):     Biblioteka Fortrana 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.
@@ -1017,6 +1064,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
@@ -1319,27 +1383,140 @@ 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.
+
 %prep
 %setup -q
 %patch100 -p0
 %patch0 -p1
+%patch1 -p1
 %patch2 -p1
 %patch3 -p1
 %patch4 -p1
 
-%patch6 -p1
+%{!?with_ppc64_nof:%patch6 -p1}
 %patch7 -p0
 %if %{with qt}
 %patch8 -p1
 %endif
 %patch10 -p1
-%patch12 -p1
+%patch11 -p1
+
+%patch13 -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.
@@ -1374,68 +1551,81 @@ 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 \
+%ifarch %{ix86} %{x8664}
+       --disable-cld \
+%endif
+       --enable-cloog-backend=%{cloog_backend} \
+       %{?with_fortran:--enable-cmath} \
+       --enable-decimal-float \
        --enable-gnu-unique-object \
-       --enable-shared \
-       --enable-threads=posix \
-       --enable-linker-build-id \
-       --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}" \
+       --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 \
+%ifarch ppc ppc64
+       --enable-secureplt \
 %endif
+       --enable-shared \
+       --enable-threads=posix \
+       --disable-werror \
+       --with-cloog \
 %ifarch sparc64
        --with-cpu=ultrasparc \
 %endif
+       --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 \
        --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="PLD-Linux" \
        --with-bugurl="http://bugs.pld-linux.org" \
        %{_target_platform}
@@ -1478,7 +1668,7 @@ cd builddir
        infodir=%{_infodir} \
        DESTDIR=$RPM_BUILD_ROOT
 
-install gcc/specs $RPM_BUILD_ROOT%{gcclibdir}
+cp -p gcc/specs $RPM_BUILD_ROOT%{gcclibdir}
 
 %if %{with multilib}
 # create links
@@ -1507,10 +1697,27 @@ echo ".so 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}
@@ -1546,19 +1753,30 @@ 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
+
+# still not installed by gcc?
+[ ! -f $RPM_BUILD_ROOT%{_pkgconfigdir}/libffi.pc ] || exit 1
+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/%{_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 libquadmath.la} \
        %{?with_gomp:libgomp.la} \
@@ -1579,7 +1797,7 @@ 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 libquadmath.la} \
        %{?with_gomp:libgomp.la} \
@@ -1592,10 +1810,15 @@ do
 done
 %endif
 
-cp %{gcclibdir}/install-tools/include/*.h %{gcclibdir}/include
-cp %{gcclibdir}/include-fixed/syslimits.h %{gcclibdir}/include
-%{__rm} -r %{gcclibdir}/install-tools
-%{__rm} -r %{gcclibdir}/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
@@ -1605,13 +1828,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
@@ -1620,14 +1857,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.
@@ -1662,6 +1896,12 @@ 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  -p /sbin/ldconfig -n libgcc
 %postun        -p /sbin/ldconfig -n libgcc
 %post  -p /sbin/ldconfig -n libgcc-multilib
@@ -1704,6 +1944,10 @@ rm -rf $RPM_BUILD_ROOT
 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
 %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
 
 %files -f gcc.lang
 %defattr(644,root,root,755)
@@ -1714,6 +1958,9 @@ 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}/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*
@@ -1725,9 +1972,14 @@ 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
@@ -1752,28 +2004,34 @@ rm -rf $RPM_BUILD_ROOT
 %{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}
-%{gcclibdir}/include/abmintrin.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
@@ -1788,6 +2046,19 @@ rm -rf $RPM_BUILD_ROOT
 %{gcclibdir}/include/xmmintrin.h
 %{gcclibdir}/include/xopintrin.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
 %ifarch powerpc ppc ppc64
 %{gcclibdir}/include/altivec.h
 %{gcclibdir}/include/paired.h
@@ -1808,7 +2079,10 @@ rm -rf $RPM_BUILD_ROOT
 %{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
@@ -1818,28 +2092,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
@@ -1933,7 +2211,6 @@ rm -rf $RPM_BUILD_ROOT
 %{gcclibdir}/adainclude
 %dir %{gcclibdir}/adalib
 %{gcclibdir}/adalib/*.ali
-%{gcclibdir}/adalib/g-trasym.o
 %ifarch %{ix86} %{x8664}
 %{gcclibdir}/adalib/libgmem.a
 %endif
@@ -1951,7 +2228,6 @@ rm -rf $RPM_BUILD_ROOT
 %{gcclibdir}/32/adainclude
 %dir %{gcclibdir}/32/adalib
 %{gcclibdir}/32/adalib/*.ali
-%{gcclibdir}/32/adalib/g-trasym.o
 %ifarch %{ix86} %{x8664}
 %{gcclibdir}/32/adalib/libgmem.a
 %endif
@@ -1975,14 +2251,12 @@ rm -rf $RPM_BUILD_ROOT
 
 %files -n libgnat-static
 %defattr(644,root,root,755)
-%{gcclibdir}/adalib/libgnala.a
 %{gcclibdir}/adalib/libgnarl.a
 %{gcclibdir}/adalib/libgnat.a
 
 %if %{with multilib}
 %files -n libgnat-multilib-static
 %defattr(644,root,root,755)
-%{gcclibdir}/32/adalib/libgnala.a
 %{gcclibdir}/32/adalib/libgnarl.a
 %{gcclibdir}/32/adalib/libgnat.a
 %endif
@@ -2012,13 +2286,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}
@@ -2028,7 +2302,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.15-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
@@ -2084,6 +2361,8 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_libdir}/libgfortran.so
 %{_libdir}/libgfortran.spec
 %{_libdir}/libgfortran.la
+%{gcclibdir}/libcaf_single.a
+%{gcclibdir}/libcaf_single.la
 %{gcclibdir}/libgfortranbegin.la
 %{gcclibdir}/libgfortranbegin.a
 %{_infodir}/gfortran.info*
@@ -2096,6 +2375,8 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_libdir32}/libgfortran.so
 %{_libdir32}/libgfortran.spec
 %{_libdir32}/libgfortran.la
+%{gcclibdir}/32/libcaf_single.a
+%{gcclibdir}/32/libcaf_single.la
 %{gcclibdir}/32/libgfortranbegin.la
 %{gcclibdir}/32/libgfortranbegin.a
 %endif
@@ -2210,6 +2491,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}
@@ -2307,6 +2597,7 @@ rm -rf $RPM_BUILD_ROOT
 %{_libdir}/libffi.la
 %{gcclibdir}/include/ffi.h
 %{gcclibdir}/include/ffitarget.h
+%{_pkgconfigdir}/libffi.pc
 %{_mandir}/man3/ffi*.3*
 
 %if %{with multilib}
@@ -2314,6 +2605,7 @@ rm -rf $RPM_BUILD_ROOT
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir32}/libffi.so
 %{_libdir32}/libffi.la
+%{_pkgconfigdir32}/libffi.pc
 %endif
 
 %files -n libffi-static
@@ -2354,13 +2646,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.3
+%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.3
+%attr(755,root,root) %ghost %{_libdir32}/libobjc.so.4
 %endif
 
 %files -n libobjc-static
@@ -2373,3 +2665,59 @@ rm -rf $RPM_BUILD_ROOT
 %{_libdir32}/libobjc.a
 %endif
 %endif
+
+%if %{with go}
+%files go
+%defattr(644,root,root,755)
+%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.0
+
+%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.0
+%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
This page took 0.151402 seconds and 4 git commands to generate.