#
-# TODO:
-# - http://gcc.gnu.org/PR11203 (inline-asm)
-# - http://gcc.gnu.org/PR20128 (ice with mudflap + profile generate)
-#
# Conditional build:
%bcond_without ada # build without ADA support
%bcond_without cxx # build without C++ support
%bcond_without fortran # build without Fortran support
%bcond_without java # build without Java support
-%bcond_without objc # build without Objective-C support
-%bcond_without objcxx # build without Objective-C++ support
-%bcond_with multilib # build with multilib support (it needs glibc[32&64]-devel)
-%bcond_with profiling # build with profiling
-%bcond_without bootstrap # omit 3-stage bootstrap
-%bcond_with tests # torture gcc
-
-%if %{with multilib}
-# the latest chrpath(64) can't handle 32-bit binaries :/
-%define _noautochrpath .*/lib/.*\\.so.*
-%endif
+%bcond_without objc # build without ObjC support
+%bcond_with ssp # build with stack-smashing protector support
+%bcond_with multilib # build with multilib support
-%if %{without cxx}
-%undefine with_java
-%undefine with_objcxx
-%endif
-
-%if %{without objc}
-%undefine with_objcxx
-%endif
-
-%if %{without bootstrap}
-%undefine with_profiling
-%endif
-
-%ifnarch %{x8664} ppc64 s390x sparc64
+%ifnarch amd64 ppc64 s390x sparc64
%undefine with_multilib
%endif
Summary(pl): Kolekcja kompilatorów GNU: kompilator C i pliki wspó³dzielone
Summary(pt_BR): Coleção dos compiladores GNU: o compilador C e arquivos compartilhados
Name: gcc
-Version: 4.1.0
-%define _snap 20050731T0821UTC
-Release: 0.%{_snap}.1
+Version: 3.4.6
+Release: 1
Epoch: 5
-License: GPL v2+
+License: GPL
Group: Development/Languages
-#Source0: ftp://gcc.gnu.org/pub/gcc/releases/gcc-%{version}/%{name}-%{version}.tar.bz2
-#Source0: ftp://gcc.gnu.org/pub/gcc/snapshots/4.1-%{_snap}/gcc-4.1-%{_snap}.tar.bz2
-Source0: gcc-4.1-%{_snap}.tar.bz2
-# Source0-md5: d23b54c31ca712bd7acdc1392a77ef1b
-Source1: %{name}-optimize-la.pl
+Source0: ftp://gcc.gnu.org/pub/gcc/releases/gcc-%{version}/%{name}-%{version}.tar.bz2
+# Source0-md5: 4a21ac777d4b5617283ce488b808da7b
+Source1: http://ep09.pld-linux.org/~djrzulf/gcc33/%{name}-non-english-man-pages.tar.bz2
+# Source1-md5: 4736f3422ddfb808423b745629acc321
+Source2: http://www.trl.ibm.com/projects/security/ssp/gcc2_95_3/gcc_stack_protect.m4.gz
+# Source2-md5: 07d93ad5fc07ca44cdaba46c658820de
Patch0: %{name}-info.patch
Patch1: %{name}-nolocalefiles.patch
-Patch2: %{name}-nodebug.patch
-Patch3: %{name}-ada-link-new-libgnat.patch
-Patch4: %{name}-ada-link.patch
-Patch5: %{name}-alpha-ada_fix.patch
-Patch6: %{name}-keep-volatile-sematics.patch
-# PRs
-Patch10: %{name}-pr7776.patch
-Patch11: %{name}-pr20297.patch
-Patch12: %{name}-pr23128_23129.patch
-Patch13: %{name}-pr22037.patch
-Patch14: %{name}-pr22533.patch
+Patch2: %{name}-ada-link-new-libgnat.patch
+Patch3: %{name}-ada-bootstrap.patch
+Patch4: %{name}-nodebug.patch
+Patch5: %{name}-ssp.patch
+Patch6: %{name}-ada-link.patch
+Patch7: %{name}-pr13676.patch
URL: http://gcc.gnu.org/
BuildRequires: autoconf
-%{?with_tests:BuildRequires: autogen}
BuildRequires: automake
-BuildRequires: binutils >= 2:2.15.94.0.1
+BuildRequires: binutils >= 2:2.15.91.0.2
BuildRequires: bison
-%{?with_java:BuildRequires: cairo-devel >= 0.5.0}
-%{?with_tests:BuildRequires: dejagnu}
BuildRequires: fileutils >= 4.0.41
BuildRequires: flex
%if %{with ada}
BuildRequires: gcc-ada
%endif
BuildRequires: gettext-devel
-BuildRequires: glibc-devel >= %{!?with_multilib:2.2.5-20}%{?with_multilib:6:2.3.4-1.5}
-%if %{with fortran}
-BuildRequires: gmp-devel
-BuildRequires: libmpfr-devel
-%endif
-%{?with_java:BuildRequires: pango-devel}
+BuildRequires: glibc-devel >= 2.2.5-20
BuildRequires: perl-devel
-%{?with_java:BuildRequires: pkgconfig}
-BuildRequires: rpmbuild(macros) >= 1.211
BuildRequires: texinfo >= 4.1
BuildRequires: zlib-devel
-# AS_NEEDED directive for dynamic linker
-# http://sources.redhat.com/ml/glibc-cvs/2005-q1/msg00614.html
-# http://sources.redhat.com/ml/binutils/2005-01/msg00288.html
-Requires: binutils >= 2:2.16.90.0.1-0.3
+Requires: binutils >= 2:2.15.91.0.2
+Requires: gcc-dirs >= 1.0-5
Requires: libgcc = %{epoch}:%{version}-%{release}
Provides: cpp = %{epoch}:%{version}-%{release}
%{?with_ada:Provides: gcc(ada)}
-%{?with_multilib:Provides: gcc(multilib)}
+%{?with_ssp:Provides: gcc(ssp)}
Obsoletes: cpp
Obsoletes: egcs-cpp
-Obsoletes: gcc-chill
Obsoletes: gcc-cpp
Obsoletes: gcc-ksi
Obsoletes: gont
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%define _slibdir /%{_lib}
-%if %{with multilib}
-# 32-bit environment on x86-64,ppc64,s390x,sparc64
+%ifarch %{x8664} ppc64 s390x sparc64
%define _slibdir32 /lib
%define _libdir32 /usr/lib
%endif
+%ifarch sparc64
+%define rpmcflags -O2 -mtune=ultrasparc
+%endif
+
+%ifarch ppc
+# ac-ppc: libgcc_s.so.1 __libc_stack_end
+# ac-ppc: libgcc_s_nof.so.1 __libc_stack_end
+%define skip_post_check_so libgcc_s.so.1
+%endif
%description
A compiler aimed at integrating all the optimizations and features
Summary(es): Biblioteca compartida de gcc
Summary(pl): Biblioteka gcc
Summary(pt_BR): Biblioteca runtime para o GCC
-License: GPL with unlimited link permission
Group: Libraries
Obsoletes: libgcc1
%description -n libgcc -l pt_BR
Biblioteca runtime para o GCC.
-%package -n libmudflap
-Summary: GCC mudflap shared support library
-Summary(pl): Wspó³dzielona biblioteka wspomagaj±ca GCC mudflap
-License: GPL v2+ with unlimited link permission
-Group: Libraries
-
-%description -n libmudflap
-The libmudflap libraries are used by GCC for instrumenting pointer and
-array dereferencing operations.
-
-%description -n libmudflap -l pl
-Biblioteki libmudflap s± u¿ywane przez GCC do obs³ugi operacji
-dereferencji wspa¼ników i tablic.
-
-%package -n libmudflap-devel
-Summary: Development files for GCC mudflap library
-Summary(pl): Pliki programistyczne biblioteki GCC mudflap
-License: GPL v2+ with unlimited link permission
-Group: Development/Libraries
-Requires: libmudflap = %{epoch}:%{version}-%{release}
-
-%description -n libmudflap-devel
-The libmudflap libraries are used by GCC for instrumenting pointer and
-array dereferencing operations. This package contains development
-files.
-
-%description -n libmudflap-devel -l pl
-Biblioteki libmudflap s± u¿ywane przez GCC do obs³ugi operacji
-dereferencji wspa¼ników i tablic. Ten pakiet zawiera pliki
-programistyczne.
-
-%package -n libmudflap-static
-Summary: Static GCC mudflap library
-Summary(pl): Statyczna biblioteka GCC mudflap
-License: GPL v2+ with unlimited link permission
-Group: Development/Libraries
-Requires: libmudflap-devel = %{epoch}:%{version}-%{release}
-
-%description -n libmudflap-static
-The libmudflap libraries are used by GCC for instrumenting pointer and
-array dereferencing operations. This package contains static
-libraries.
-
-%description -n libmudflap-static -l pl
-Biblioteki libmudflap s± u¿ywane przez GCC do obs³ugi operacji
-dereferencji wspa¼ników i tablic. Ten pakiet zawiera biblioteki
-statyczne.
-
-%package ada
-Summary: Ada support for gcc
-Summary(es): Soporte de Ada para gcc
-Summary(pl): Obs³uga Ady do gcc
-Group: Development/Languages
-Requires: %{name} = %{epoch}:%{version}-%{release}
-Requires: libgnat = %{epoch}:%{version}-%{release}
-Obsoletes: gcc-gnat
-Obsoletes: gnat-devel
-
-%description ada
-This package adds experimental support for compiling Ada programs.
-
-%description ada -l es
-Este paquete añade soporte experimental para compilar programas en
-Ada.
-
-%description ada -l pl
-Ten pakiet dodaje eksperymentalne wsparcie dla kompilacji programów w
-Adzie.
-
-%package -n libgnat
-Summary: Ada standard libraries
-Summary(es): Bibliotecas estándares de Ada
-Summary(pl): Biblioteki standardowe dla Ady
-License: GPL v2+ with linking exception
-Group: Libraries
-Obsoletes: gnat
-Obsoletes: libgnat1
-
-%description -n libgnat
-This package contains shared libraries needed to run programs written
-in Ada.
-
-%description -n libgnat -l es
-Este paquete contiene las bibliotecas compartidas necesarias para
-ejecutar programas escritos en Ada.
-
-%description -n libgnat -l pl
-Ten pakiet zawiera biblioteki potrzebne do uruchamiania programów
-napisanych w Adzie.
-
-%package -n libgnat-static
-Summary: Static Ada standard libraries
-Summary(pl): Statyczne biblioteki standardowe dla Ady
-License: GPL v2+ with linking exception
-Group: Development/Libraries
-Obsoletes: gnat-static
-
-%description -n libgnat-static
-This package contains static libraries for programs written in Ada.
-
-%description -n libgnat-static -l pl
-Ten pakiet zawiera biblioteki statyczne dla programów napisanych w
-Adzie.
-
%package c++
Summary: C++ support for gcc
Summary(es): Soporte de C++ para gcc
aykýrý durum iþleme gibi çoðu güncel C++ tanýmlarýna uyar. Standart
C++ kitaplýðý bu pakette yer almaz.
-%package -n libstdc++
-Summary: GNU C++ library
-Summary(es): Biblioteca C++ de GNU
-Summary(pl): Biblioteki GNU C++
-Summary(pt_BR): Biblioteca C++ GNU
-License: GPL v2+ with free software exception
-Group: Libraries
-Obsoletes: libg++
-Obsoletes: libstdc++3
-
-%description -n libstdc++
-This is the GNU implementation of the standard C++ libraries, along
-with additional GNU tools. This package includes the shared libraries
-necessary to run C++ applications.
-
-%description -n libstdc++ -l de
-Dies ist die GNU-Implementierung der Standard-C++-Libraries mit
-weiteren GNU-Tools. Dieses Paket enthält die zum Ausführen von
-C++-Anwendungen erforderlichen gemeinsam genutzten Libraries.
+%package objc
+Summary: Objective C support for gcc
+Summary(de): Objektive C-Unterstützung für gcc
+Summary(es): Soporte de Objective C para gcc
+Summary(fr): Gestion d'Objective C pour gcc
+Summary(pl): Obs³uga obiektowego C dla kompilatora gcc
+Summary(tr): gcc için Objective C desteði
+Group: Development/Languages
+Requires: %{name} = %{epoch}:%{version}-%{release}
+Requires: libobjc = %{epoch}:%{version}-%{release}
+Obsoletes: egcc-objc
+Obsoletes: egcs-objc
-%description -n libstdc++ -l es
-Este es el soporte de las bibliotecas padrón del C++, junto con
-herramientas GNU adicionales. El paquete incluye las bibliotecas
-compartidas necesarias para ejecutar aplicaciones C++.
+%description objc
+This package adds Objective C support to the GNU Compiler Collection.
+Objective C is a object oriented derivative of the C language, mainly
+used on systems running NeXTSTEP. This package does not include the
+standard objective C object library.
-%description -n libstdc++ -l fr
-Ceci est l'implémentation GNU des librairies C++ standard, ainsi que
-des outils GNU supplémentaires. Ce package comprend les librairies
-partagées nécessaires à l'exécution d'application C++.
+%description objc -l de
+Dieses Paket ergänzt den GNU-Compiler-Collection durch
+Objective-C-Support. Objective C ist ein objektorientiertes Derivat
+von C, das zur Hauptsache auf Systemen mit NeXTSTEP zum Einsatz kommt.
+Die Standard-Objective-C-Objekt-Library ist nicht Teil des Pakets.
-%description -n libstdc++ -l pl
-Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
-bibliotek C++. Znajduj± siê w nim biblioteki dynamiczne niezbêdne do
-uruchomienia aplikacji napisanych w C++.
+%description objc -l es
+Este paquete añade soporte de Objective C al GCC (colección de
+compiladores GNU). Objective C es un lenguaje orientado a objetos
+derivado de C, principalmente usado en sistemas que funcionan bajo
+NeXTSTEP. El paquete no incluye la biblioteca de objetos estándar de
+Objective C.
-%description -n libstdc++ -l pt_BR
-Este pacote é uma implementação da biblioteca padrão C++ v3, um
-subconjunto do padrão ISO 14882.
+%description objc -l fr
+Ce package ajoute un support Objective C a la collection de
+compilateurs GNU. L'Objective C est un langage orienté objetdérivé du
+langage C, principalement utilisé sur les systèmes NeXTSTEP. Ce
+package n'inclue pas la bibliothéque Objective C standard.
-%description -n libstdc++ -l tr
-Bu paket, standart C++ kitaplýklarýnýn GNU gerçeklemesidir ve C++
-uygulamalarýnýn koþturulmasý için gerekli kitaplýklarý içerir.
+%description objc -l pl
+Ten pakiet dodaje obs³ugê obiektowego C do kompilatora gcc. Obiektowe
+C (objc) jest zorientowan± obiektowo pochodn± jêzyka C, u¿ywan±
+g³ównie w systemach u¿ywaj±cych NeXTSTEP. W pakiecie nie ma
+standardowej biblioteki objc (która znajduje siê w osobnym pakiecie).
-%package -n libstdc++-devel
-Summary: Header files and documentation for C++ development
-Summary(de): Header-Dateien zur Entwicklung mit C++
-Summary(es): Ficheros de cabecera y documentación para desarrollo C++
-Summary(fr): Fichiers d'en-tête et biblitothèques pour développer en C++
-Summary(pl): Pliki nag³ówkowe i dokumentacja do biblioteki standardowej C++
-Summary(pt_BR): Arquivos de inclusão e bibliotecas para o desenvolvimento em C++
-Summary(tr): C++ ile program geliþtirmek için gerekli dosyalar
-License: GPL v2+ with free software exception
-Group: Development/Libraries
-Requires: %{name}-c++ = %{epoch}:%{version}-%{release}
-Requires: libstdc++ = %{epoch}:%{version}-%{release}
-Requires: glibc-devel
-Obsoletes: libg++-devel
-Obsoletes: libstdc++3-devel
+%description objc -l tr
+Bu paket, GNU C derleyicisine Objective C desteði ekler. Objective C,
+C dilinin nesne yönelik bir türevidir ve NeXTSTEP altýnda çalýþan
+sistemlerde yaygýn olarak kullanýlýr. Standart Objective C nesne
+kitaplýðý bu pakette yer almaz.
-%description -n libstdc++-devel
-This is the GNU implementation of the standard C++ libraries. This
-package includes the header files needed for C++ development and
-library documentation.
+%package -n libobjc
+Summary: Objective C Libraries
+Summary(es): Bibliotecas de Objective C
+Summary(pl): Biblioteki Obiektowego C
+Group: Libraries
+Obsoletes: libobjc1
-%description -n libstdc++-devel -l es
-Este es el soporte de las bibliotecas padrón del lenguaje C++. Este
-paquete incluye los archivos de inclusión y bibliotecas necesarios
-para desarrollo de programas en lenguaje C++.
+%description -n libobjc
+Objective C Libraries.
-%description -n libstdc++-devel -l pl
-Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
-bibliotek C++. Znajduj± siê w nim pliki nag³ówkowe wykorzystywane przy
-programowaniu w jêzyku C++ oraz dokumentacja biblioteki standardowej.
+%description -n libobjc -l es
+Bibliotecas de Objective C.
-%description -n libstdc++-devel -l pt_BR
-Este pacote inclui os arquivos de inclusão e bibliotecas necessárias
-para desenvolvimento de programas C++.
+%description -n libobjc -l pl
+Biblioteki Obiektowego C.
-%package -n libstdc++-static
-Summary: Static C++ standard library
-Summary(es): Biblioteca estándar estática de C++
-Summary(pl): Statyczna biblioteka standardowa C++
-License: GPL v2+ with free software exception
+%package -n libobjc-static
+Summary: Static Objective C Libraries
+Summary(es): Bibliotecas estáticas de Objective C
+Summary(pl): Statyczne Biblioteki Obiektowego C
Group: Development/Libraries
-Requires: libstdc++-devel = %{epoch}:%{version}-%{release}
+Requires: libobjc = %{epoch}:%{version}-%{release}
-%description -n libstdc++-static
-Static C++ standard library.
+%description -n libobjc-static
+Static Objective C Libraries.
-%description -n libstdc++-static -l es
-Biblioteca estándar estática de C++.
+%description -n libobjc-static -l es
+Bibliotecas estáticas de Objective C.
-%description -n libstdc++-static -l pl
-Statyczna biblioteka standardowa C++.
+%description -n libobjc-static -l pl
+Statyczne biblioteki Obiektowego C.
-%package fortran
-Summary: Fortran 95 support for gcc
-Summary(es): Soporte de Fortran 95 para gcc
-Summary(pl): Obs³uga Fortranu 95 dla gcc
-Summary(pt_BR): Suporte Fortran 95 para o GCC
+%package g77
+Summary: Fortran 77 support for gcc
+Summary(es): Soporte de Fortran 77 para gcc
+Summary(pl): Obs³uga Fortranu 77 dla gcc
+Summary(pt_BR): Suporte Fortran 77 para o GCC
Group: Development/Languages/Fortran
-Requires: libgfortran = %{epoch}:%{version}-%{release}
-Provides: gcc-g77 = %{epoch}:%{version}-%{release}
+Requires: libg2c = %{epoch}:%{version}-%{release}
Obsoletes: egcs-g77
-Obsoletes: gcc-g77
-%description fortran
-This package adds support for compiling Fortran 95 programs with the
+%description g77
+This package adds support for compiling Fortran 77 programs with the
GNU compiler.
-%description fortran -l es
+%description g77 -l es
Este paquete añade soporte para compilar programas escritos en Fortran
-95 con el compilador GNU.
+77 con el compilador GNU.
-%description fortran -l pl
-Ten pakiet dodaje obs³ugê Fortranu 95 do kompilatora gcc. Jest
-potrzebny do kompilowania programów pisanych w jêzyku Fortran 95.
+%description g77 -l pl
+Ten pakiet dodaje obs³ugê Fortranu 77 do kompilatora gcc. Jest
+potrzebny do kompilowania programów pisanych w jêzyku Fortran 77.
-%description fortran -l pt_BR
-Suporte Fortran 95 para o GCC.
+%description g77 -l pt_BR
+Suporte Fortran 77 para o GCC.
-%package -n libgfortran
-Summary: Fortran 95 Libraries
-Summary(es): Bibliotecas de Fortran 95
-Summary(pl): Biblioteki Fortranu 95
-License: LGPL v2+
+%package -n libg2c
+Summary: Fortran 77 Libraries
+Summary(es): Bibliotecas de Fortran 77
+Summary(pl): Biblioteki Fortranu 77
Group: Libraries
-Obsoletes: libg2c
-%description -n libgfortran
-Fortran 95 Libraries.
+%description -n libg2c
+Fortran 77 Libraries.
-%description -n libgfortran -l es
-Bibliotecas de Fortran 95.
+%description -n libg2c -l es
+Bibliotecas de Fortran 77.
-%description -n libgfortran -l pl
-Biblioteki Fortranu 95.
+%description -n libg2c -l pl
+Biblioteki Fortranu 77.
-%package -n libgfortran-static
-Summary: Static Fortran 95 Libraries
-Summary(es): Bibliotecas estáticas de Fortran 95
-Summary(pl): Statyczne Biblioteki Fortranu 95
-License: LGPL v2+
+%package -n libg2c-static
+Summary: Static Fortran 77 Libraries
+Summary(es): Bibliotecas estáticas de Fortran 77
+Summary(pl): Statyczne Biblioteki Fortranu 77
Group: Development/Libraries
-Requires: libgfortran = %{epoch}:%{version}-%{release}
-Obsoletes: libg2c-static
+Requires: libg2c = %{epoch}:%{version}-%{release}
-%description -n libgfortran-static
-Static Fortran 95 Libraries.
+%description -n libg2c-static
+Static Fortran 77 Libraries.
-%description -n libgfortran-static -l es
-Bibliotecas estáticas de Fortran 95.
+%description -n libg2c -l es
+Bibliotecas estáticas de Fortran 77.
-%description -n libgfortran-static -l pl
-Statyczne biblioteki Fortranu 95.
+%description -n libg2c-static -l pl
+Statyczne biblioteki Fortranu 77.
%package java
Summary: Java support for gcc
Summary(pl): Obs³uga Javy dla gcc
Group: Development/Languages/Java
Requires: %{name} = %{epoch}:%{version}-%{release}
+Requires: libgcj = %{epoch}:%{version}-%{release}
Requires: libgcj-devel = %{epoch}:%{version}-%{release}
+Requires: java-shared
Provides: gcj = %{epoch}:%{version}-%{release}
-Provides: gcc-java-tools
-Obsoletes: fastjar
-Obsoletes: gcc-java-tools
%description java
-This package adds experimental support for compiling Java(TM) programs
+This package adds experimental support for compiling Java(tm) programs
and bytecode into native code. To use this you will also need the
libgcj package.
necesitar el paquete libgcj.
%description java -l pl
-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.
+Wsparcie dla kompilowania programów Java(tm) zarówno do bajt-kodu jak i
+do natywnego kodu. Dodatkowo wymagany jest pakiet libgcj, aby mo¿na
+by³o przeprowadziæ kompilacjê.
+
+%package java-tools
+Summary: Shared java tools
+Summary(es): Herramientas compartidas de Java
+Summary(pl): Wspó³dzielone narzêdzia javy
+Group: Development/Languages/Java
+Provides: jar = %{epoch}:%{version}-%{release}
+Provides: java-shared
+Obsoletes: fastjar
+Obsoletes: jar
+Obsoletes: java-shared
+
+%description java-tools
+This package contains tools that are common for every Java(tm)
+implementation, such as rmic or jar.
+
+%description java-tools -l es
+Este paquete contiene herramientas que son comunes para cada
+implementación de Java(tm), como rmic o jar.
+
+%description java-tools -l pl
+Pakiet ten zawiera narzêdzia wspólne dla ka¿dej implementacji
+Javy(tm), takie jak rmic czy jar.
%package -n libgcj
Summary: Java Class Libraries
Summary(es): Bibliotecas de clases de Java
Summary(pl): Biblioteki Klas Javy
-License: GPL with limited linking exception
Group: Libraries
+Requires: zlib
Obsoletes: libgcj3
%description -n libgcj
Summary: Development files for Java Class Libraries
Summary(es): Ficheros de desarrollo para las bibliotecas de clases de Java
Summary(pl): Pliki nag³ówkowe dla Bibliotek Klas Javy
-License: GPL with limited linking exception
Group: Development/Libraries
+Requires: %{name}-java = %{epoch}:%{version}-%{release}
Requires: libgcj = %{epoch}:%{version}-%{release}
-Requires: zlib-devel
Obsoletes: libgcj3-devel
%description -n libgcj-devel
Summary: Static Java Class Libraries
Summary(es): Bibliotecas estáticas de clases de Java
Summary(pl): Statyczne Biblioteki Klas Javy
-License: GPL with limited linking exception
Group: Development/Libraries
Requires: libgcj-devel = %{epoch}:%{version}-%{release}
Requires: libstdc++-devel = %{epoch}:%{version}-%{release}
%description -n libgcj-static -l pl
Statyczne Biblioteki Klas Javy.
+%package -n libstdc++
+Summary: GNU c++ library
+Summary(es): Biblioteca C++ de GNU
+Summary(pl): Biblioteki GNU C++
+Summary(pt_BR): Biblioteca C++ GNU
+Group: Libraries
+Obsoletes: libg++
+Obsoletes: libstdc++3
+
+%description -n libstdc++
+This is the GNU implementation of the standard C++ libraries, along
+with additional GNU tools. This package includes the shared libraries
+necessary to run C++ applications.
+
+%description -n libstdc++ -l de
+Dies ist die GNU-Implementierung der Standard-C++-Libraries mit
+weiteren GNU-Tools. Dieses Paket enthält die zum Ausführen von
+C++-Anwendungen erforderlichen gemeinsam genutzten Libraries.
+
+%description -n libstdc++ -l es
+Este es el soporte de las bibliotecas padrón del C++, junto con
+herramientas GNU adicionales. El paquete incluye las bibliotecas
+compartidas necesarias para ejecutar aplicaciones C++.
+
+%description -n libstdc++ -l fr
+Ceci est l'implémentation GNU des librairies C++ standard, ainsi que
+des outils GNU supplémentaires. Ce package comprend les librairies
+partagées nécessaires à l'exécution d'application C++.
+
+%description -n libstdc++ -l pl
+Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
+bibliotek C++. Znajduj± siê w nim biblioteki dynamiczne niezbêdne do
+uruchomienia aplikacji napisanych w C++.
+
+%description -n libstdc++ -l pt_BR
+Este pacote é uma implementação da biblioteca padrão C++ v3, um
+subconjunto do padrão ISO 14882.
+
+%description -n libstdc++ -l tr
+Bu paket, standart C++ kitaplýklarýnýn GNU gerçeklemesidir ve C++
+uygulamalarýnýn koþturulmasý için gerekli kitaplýklarý içerir.
+
+%package -n libstdc++-devel
+Summary: Header files and documentation for C++ development
+Summary(de): Header-Dateien zur Entwicklung mit C++
+Summary(es): Ficheros de cabecera y documentación para desarrollo C++
+Summary(fr): Fichiers d'en-tête et biblitothèques pour développer en C++
+Summary(pl): Pliki nag³ówkowe i dokumentacja do biblioteki standardowej C++
+Summary(pt_BR): Arquivos de inclusão e bibliotecas para o desenvolvimento em C++
+Summary(tr): C++ ile program geliþtirmek için gerekli dosyalar
+Group: Development/Libraries
+Requires: %{name}-c++ = %{epoch}:%{version}-%{release}
+Requires: libstdc++ = %{epoch}:%{version}-%{release}
+Requires: glibc-devel
+Obsoletes: libg++-devel
+Obsoletes: libstdc++3-devel
+
+%description -n libstdc++-devel
+This is the GNU implementation of the standard C++ libraries. This
+package includes the header files needed for C++ development and
+library documentation.
+
+%description -n libstdc++-devel -l es
+Este es el soporte de las bibliotecas padrón del lenguaje C++. Este
+paquete incluye los archivos de inclusión y bibliotecas necesarios
+para desarrollo de programas en lenguaje C++.
+
+%description -n libstdc++-devel -l pl
+Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
+bibliotek C++. Znajduj± siê w nim pliki nag³ówkowe wykorzystywane przy
+programowaniu w jêzyku C++ oraz dokumentacja biblioteki standardowej.
+
+%description -n libstdc++-devel -l pt_BR
+Este pacote inclui os arquivos de inclusão e bibliotecas necessárias
+para desenvolvimento de programas C++.
+
+%package -n libstdc++-static
+Summary: Static C++ standard library
+Summary(es): Biblioteca estándar estática de C++
+Summary(pl): Statyczna biblioteka standardowa C++
+Group: Development/Libraries
+Requires: libstdc++-devel = %{epoch}:%{version}-%{release}
+
+%description -n libstdc++-static
+Static C++ standard library.
+
+%description -n libstdc++-static -l es
+Biblioteca estándar estática de C++.
+
+%description -n libstdc++-static -l pl
+Statyczna biblioteka standardowa C++.
+
%package -n libffi
Summary: Foreign Function Interface library
Summary(es): Biblioteca de interfaz de funciones ajenas
Summary(pl): Biblioteka zewnêtrznych wywo³añ funkcji
-License: BSD-like
Group: Libraries
%description -n libffi
Summary: Development files for Foreign Function Interface library
Summary(es): Ficheros de desarrollo para libffi
Summary(pl): Pliki nag³ówkowe dla libffi
-License: BSD-like
Group: Development/Libraries
Requires: libffi = %{epoch}:%{version}-%{release}
Summary: Static Foreign Function Interface library
Summary(es): Biblioteca libffi estática
Summary(pl): Statyczna biblioteka libffi
-License: BSD-like
Group: Development/Libraries
Requires: libffi-devel = %{epoch}:%{version}-%{release}
%description -n libffi-static -l pl
Statyczna biblioteka libffi.
-%package objc
-Summary: Objective C support for gcc
-Summary(de): Objektive C-Unterstützung für gcc
-Summary(es): Soporte de Objective C para gcc
-Summary(fr): Gestion d'Objective C pour gcc
-Summary(pl): Obs³uga obiektowego C dla kompilatora gcc
-Summary(tr): gcc için Objective C desteði
+%package ada
+Summary: Ada support for gcc
+Summary(es): Soporte de Ada para gcc
+Summary(pl): Obs³uga Ady do gcc
Group: Development/Languages
Requires: %{name} = %{epoch}:%{version}-%{release}
-Requires: libobjc = %{epoch}:%{version}-%{release}
-Obsoletes: egcc-objc
-Obsoletes: egcs-objc
-
-%description objc
-This package adds Objective C support to the GNU Compiler Collection.
-Objective C is a object oriented derivative of the C language, mainly
-used on systems running NeXTSTEP. This package does not include the
-standard objective C object library.
-
-%description objc -l de
-Dieses Paket ergänzt den GNU-Compiler-Collection durch
-Objective-C-Support. Objective C ist ein objektorientiertes Derivat
-von C, das zur Hauptsache auf Systemen mit NeXTSTEP zum Einsatz kommt.
-Die Standard-Objective-C-Objekt-Library ist nicht Teil des Pakets.
-
-%description objc -l es
-Este paquete añade soporte de Objective C al GCC (colección de
-compiladores GNU). Objective C es un lenguaje orientado a objetos
-derivado de C, principalmente usado en sistemas que funcionan bajo
-NeXTSTEP. El paquete no incluye la biblioteca de objetos estándar de
-Objective C.
-
-%description objc -l fr
-Ce package ajoute un support Objective C a la collection de
-compilateurs GNU. L'Objective C est un langage orienté objetdérivé du
-langage C, principalement utilisé sur les systèmes NeXTSTEP. Ce
-package n'inclue pas la bibliothéque Objective C standard.
-
-%description objc -l pl
-Ten pakiet dodaje obs³ugê obiektowego C do kompilatora gcc. Obiektowe
-C (objc) jest zorientowan± obiektowo pochodn± jêzyka C, u¿ywan±
-g³ównie w systemach u¿ywaj±cych NeXTSTEP. W pakiecie nie ma
-standardowej biblioteki objc (która znajduje siê w osobnym pakiecie).
-
-%description objc -l tr
-Bu paket, GNU C derleyicisine Objective C desteði ekler. Objective C,
-C dilinin nesne yönelik bir türevidir ve NeXTSTEP altýnda çalýþan
-sistemlerde yaygýn olarak kullanýlýr. Standart Objective C nesne
-kitaplýðý bu pakette yer almaz.
+Requires: libgnat = %{epoch}:%{version}-%{release}
+Obsoletes: gcc-gnat
+Obsoletes: gnat-devel
-%package objc++
-Summary: Objective C++ support for gcc
-Summary(pl): Obs³uga jêzyka Objective C++ dla gcc
-Group: Development/Languages
-Requires: %{name}-c++ = %{epoch}:%{version}-%{release}
-Requires: %{name}-objc = %{epoch}:%{version}-%{release}
+%description ada
+This package adds experimental support for compiling Ada programs.
-%description objc++
-This package adds Objective C++ support to the GNU Compiler
-Collection.
+%description ada -l es
+Este paquete añade soporte experimental para compilar programas en
+Ada.
-%description objc++ -l pl
-Ten pakiet dodaje obs³ugê jêzyka Objective C++ do zestawu
-kompilatorów GNU Compiler Collection.
+%description ada -l pl
+Ten pakiet dodaje eksperymentalne wsparcie dla kompilacji programów w
+Adzie.
-%package -n libobjc
-Summary: Objective C Libraries
-Summary(es): Bibliotecas de Objective C
-Summary(pl): Biblioteki Obiektowego C
-License: GPL v2+ with linking exception
+%package -n libgnat
+Summary: Ada standard libraries
+Summary(es): Bibliotecas estándares de Ada
+Summary(pl): Biblioteki standardowe dla Ady
Group: Libraries
-Obsoletes: libobjc1
-
-%description -n libobjc
-Objective C Libraries.
-
-%description -n libobjc -l es
-Bibliotecas de Objective C.
+Obsoletes: gnat
+Obsoletes: libgnat1
-%description -n libobjc -l pl
-Biblioteki Obiektowego C.
+%description -n libgnat
+This package contains shared libraries needed to run programs written
+in Ada.
-%package -n libobjc-static
-Summary: Static Objective C Libraries
-Summary(es): Bibliotecas estáticas de Objective C
-Summary(pl): Statyczne Biblioteki Obiektowego C
-License: GPL v2+ with linking exception
-Group: Development/Libraries
-Requires: libobjc = %{epoch}:%{version}-%{release}
+%description -n libgnat -l es
+Este paquete contiene las bibliotecas compartidas necesarias para
+ejecutar programas escritos en Ada.
-%description -n libobjc-static
-Static Objective C Libraries.
+%description -n libgnat -l pl
+Ten pakiet zawiera biblioteki potrzebne do uruchamiania programów
+napisanych w Adzie.
-%description -n libobjc-static -l es
-Bibliotecas estáticas de Objective C.
+%package -n libgnat-static
+Summary: Static Ada standard libraries
+Summary(pl): Statyczne biblioteki standardowe dla Ady
+Group: Libraries
+Obsoletes: gnat-static
-%description -n libobjc-static -l pl
-Statyczne biblioteki Obiektowego C.
+%description -n libgnat-static
+This package contains static libraries for programs written in Ada.
+
+%description -n libgnat-static -l pl
+Ten pakiet zawiera biblioteki statyczne dla programów napisanych w
+Adzie.
%prep
-#setup -q -n gcc-%{version}
-%setup -q -n gcc-4.1-%{_snap}
+%setup -q -a1
%patch0 -p1
%patch1 -p1
-%{!?debug:%patch2 -p1}
-%patch3 -p1
-%patch4 -p1
-%patch5 -p1
+%patch2 -p1
+%ifarch alpha ia64
+# needed for bootstrap using gcc 3.3.x on alpha
+# and even using the same 3.4.x(!) (but not Debian's 3.3.x) on ia64
+%patch3 -p2
+%endif
+%{!?debug:%patch4 -p1}
+%{?with_ssp:%patch5 -p1}
%patch6 -p1
-
-# PRs
-%patch10 -p1
-%patch11 -p1
-%patch12 -p1
-%patch13 -p1
-%patch14 -p1
+%patch7 -p1
# because we distribute modified version of gcc...
-perl -pi -e 's/(version.*)";/$1 (PLD Linux)";/' gcc/version.c
+perl -pi -e 's/(version.*)";/$1 %{?with_ssp:SSP }(PLD Linux)";/' gcc/version.c
perl -pi -e 's@(bug_report_url.*<URL:).*";@$1http://bugs.pld-linux.org/>";@' gcc/version.c
mv ChangeLog ChangeLog.general
%build
-cd gcc
-%{__autoconf}
-cd ..
cp -f /usr/share/automake/config.sub .
-rm -rf obj-%{_target_platform}
-install -d obj-%{_target_platform}
-cd obj-%{_target_platform}
+rm -rf obj-%{_target_platform} && install -d obj-%{_target_platform} && cd obj-%{_target_platform}
CFLAGS="%{rpmcflags}" \
-CXXFLAGS="%{rpmcxxflags}" \
+CXXFLAGS="%{rpmcflags}" \
+CC="%{__cc}" \
TEXCONFIG=false \
../configure \
--prefix=%{_prefix} \
--enable-shared \
--enable-threads=posix \
--enable-__cxa_atexit \
- --enable-languages="c%{?with_cxx:,c++}%{?with_fortran:,f95}%{?with_objc:,objc}%{?with_objcxx:,obj-c++}%{?with_ada:,ada}%{?with_java:,java}" \
+ --enable-languages="c%{?with_cxx:,c++}%{?with_fortran:,f77}%{?with_objc:,objc}%{?with_ada:,ada}%{?with_java:,java}" \
--enable-c99 \
--enable-long-long \
- --%{?with_multilib:en}%{!?with_multilib:dis}able-multilib \
+%ifnarch ppc
+%if %{without multilib}
+ --disable-multilib \
+%endif
+%endif
--enable-nls \
- --disable-werror \
--with-gnu-as \
--with-gnu-ld \
- --with-demangler-in-ld \
--with-system-zlib \
--with-slibdir=%{_slibdir} \
--without-x \
- %{?with_fortran:--enable-cmath} \
-%if %{with java}
- --enable-libgcj \
- --enable-libgcj-multifile \
- --enable-libgcj-database \
- --enable-gtk-cairo \
-%endif
%{_target_platform}
-cd ..
+PATH=$PATH:/sbin:%{_sbindir}
+cd ..
%{__make} -C obj-%{_target_platform} \
- %{?with_bootstrap:%{?with_profiling:profiled}bootstrap} \
+ bootstrap \
GCJFLAGS="%{rpmcflags}" \
BOOT_CFLAGS="%{rpmcflags}" \
STAGE1_CFLAGS="%{rpmcflags} -O0" \
mandir=%{_mandir} \
infodir=%{_infodir}
-%{?with_tests:%{__make} -k -C obj-%{_target_platform} check 2>&1 | cat}
+%if %{with ada}
+# cannot build it in parallel
+for tgt in gnatlib-shared gnattools gnatlib; do
+%{__make} -C obj-%{_target_platform}/gcc $tgt \
+ BOOT_CFLAGS="%{rpmcflags}" \
+ LDFLAGS_FOR_TARGET="%{rpmldflags}" \
+ mandir=%{_mandir} \
+ infodir=%{_infodir}
+done
+%endif
%install
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT{/lib,%{_aclocaldir},%{_datadir},%{_infodir}}
cd obj-%{_target_platform}
+PATH=$PATH:/sbin:%{_sbindir}
%{__make} -j1 install \
mandir=%{_mandir} \
infodir=%{_infodir} \
DESTDIR=$RPM_BUILD_ROOT
-install gcc/specs $RPM_BUILD_ROOT%{_libdir}/gcc/%{_target_platform}/%{version}
-
%ifarch sparc64
-ln -sf %{_bindir}/sparc64-pld-linux-gcc \
+ln -f $RPM_BUILD_ROOT%{_bindir}/sparc64-pld-linux-gcc \
$RPM_BUILD_ROOT%{_bindir}/sparc-pld-linux-gcc
%endif
-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
-libssp=$(cd $RPM_BUILD_ROOT%{_libdir}; echo libssp.so.*.*.*)
-mv $RPM_BUILD_ROOT{%{_libdir}/$libssp,%{_slibdir}}
-ln -sf %{_slibdir}/$libssp $RPM_BUILD_ROOT%{_libdir}/libssp.so
-%if %{with multilib}
-libssp=$($RPM_BUILD_ROOT%{_libdir32}; echo libssp.so.*.*.*`)
-mv $RPM_BUILD_ROOT{%{_libdir32}/$libssp,%{_slibdir32}}
-ln -sf %{_slibdir32}/$libssp $RPM_BUILD_ROOT%{_libdir32}/libssp.so
-%endif
-
%if %{with fortran}
-ln -sf gfortran $RPM_BUILD_ROOT%{_bindir}/g95
-echo ".so gfortran.1" > $RPM_BUILD_ROOT%{_mandir}/man1/g95.1
+ln -sf g77 $RPM_BUILD_ROOT%{_bindir}/f77
+echo ".so g77.1" > $RPM_BUILD_ROOT%{_mandir}/man1/f77.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%{_libdir}/gcc/*/*/adalib/*.so.1 \
$RPM_BUILD_ROOT%{_libdir}
# check if symlink to be made is valid
-test -f $RPM_BUILD_ROOT%{_libdir}/libgnat-4.0.so.1
-ln -sf libgnat-4.0.so.1 $RPM_BUILD_ROOT%{_libdir}/libgnat-4.0.so
-ln -sf libgnarl-4.0.so.1 $RPM_BUILD_ROOT%{_libdir}/libgnarl-4.0.so
-ln -sf libgnat-4.0.so $RPM_BUILD_ROOT%{_libdir}/libgnat.so
-ln -sf libgnarl-4.0.so $RPM_BUILD_ROOT%{_libdir}/libgnarl.so
+test -f $RPM_BUILD_ROOT%{_libdir}/libgnat-3.4.so.1
+ln -sf libgnat-3.4.so.1 $RPM_BUILD_ROOT%{_libdir}/libgnat-3.4.so
+ln -sf libgnarl-3.4.so.1 $RPM_BUILD_ROOT%{_libdir}/libgnarl-3.4.so
+ln -sf libgnat-3.4.so $RPM_BUILD_ROOT%{_libdir}/libgnat.so
+ln -sf libgnarl-3.4.so $RPM_BUILD_ROOT%{_libdir}/libgnarl.so
%endif
+ln -sf %{_bindir}/cpp $RPM_BUILD_ROOT/lib/cpp
+
cd ..
%if %{with java}
install -d java-doc
-cp -f libjava/READ* java-doc
-cp -f fastjar/README java-doc/README.fastjar
-cp -f libffi/README java-doc/README.libffi
-cp -f libffi/LICENSE java-doc/LICENSE.libffi
-ln -sf %{_javadir}/libgcj-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/libgcj.jar
+cp -f libjava/doc/cni.sgml libjava/READ* java-doc
+cp -f fastjar/README java-doc/README.fastjar
+cp -f libffi/README java-doc/README.libffi
+cp -f libffi/LICENSE java-doc/LICENSE.libffi
%endif
+
%if %{with objc}
-cp -f libobjc/README gcc/objc/README.libobjc
+cp -f libobjc/README gcc/objc/README.libobjc
%endif
# avoid -L poisoning in *.la - there should be only -L%{_libdir}/gcc/*/%{version}
+for f in %{?with_cxx:libstdc++.la libsupc++.la} %{?with_java:libgcj.la} ; do
+ perl -pi -e 's@-L[^ ]*[acs.] @@g' $RPM_BUILD_ROOT%{_libdir}/$f
+done
# normalize libdir, to avoid propagation of unnecessary RPATHs by libtool
-for f in libmudflap.la libmudflapth.la libssp.la \
+
+for f in \
%{?with_cxx:libstdc++.la libsupc++.la} \
- %{?with_fortran:libgfortran.la libgfortranbegin.la} \
- %{?with_java:libgcj.la libffi.la} \
- %{?with_objc:libobjc.la};
-do
- %{SOURCE1} $RPM_BUILD_ROOT%{_libdir}/$f %{_libdir} > $RPM_BUILD_ROOT%{_libdir}/$f.fixed
- mv $RPM_BUILD_ROOT%{_libdir}/$f{.fixed,}
-%if %{with multilib}
- %{SOURCE1} $RPM_BUILD_ROOT%{_libdir32}/$f %{_libdir32} > $RPM_BUILD_ROOT%{_libdir32}/$f.fixed
- mv $RPM_BUILD_ROOT%{_libdir32}/$f{.fixed,}
-%endif
+ %{?with_fortran:libg2c.la} \
+ %{?with_java:libgcj.la lib-org-w3c-dom.la lib-org-xml-sax.la libffi.la} \
+ %{?with_objc:libobjc.la}; do
+ perl -pi -e "s@^libdir='.*@libdir='/usr/%{_lib}'@" $RPM_BUILD_ROOT%{_libdir}/$f
done
+bzip2 -dc %{SOURCE1} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
+mv -f $RPM_BUILD_ROOT%{_mandir}/ja/man1/{cccp,cpp}.1
+
# include/ contains install-tools/include/* and headers that were fixed up
# by fixincludes, we don't want former
gccdir=$(echo $RPM_BUILD_ROOT%{_libdir}/gcc/*/*/)
-mkdir $gccdir/tmp
+mkdir $gccdir/tmp
# we have to save these however
-%{?with_java:mv -f $gccdir/include/{gcj,libffi/ffitarget.h,jawt.h,jawt_md.h,jni.h,jvmpi.h} $gccdir/tmp}
-%{?with_objc:mv -f $gccdir/include/objc $gccdir/tmp}
-mv -f $gccdir/include/syslimits.h $gccdir/tmp
-rm -rf $gccdir/include
-mv -f $gccdir/tmp $gccdir/include
-cp -f $gccdir/install-tools/include/*.h $gccdir/include
+for f in syslimits.h %{?with_fortran:g2c.h} %{?with_java:libffi/ffitarget.h gcj} %{?with_objc:objc}; do
+ mv -f $gccdir/include/$f $gccdir/tmp
+done
+rm -rf $gccdir/include
+mv -f $gccdir/tmp $gccdir/include
+cp $gccdir/install-tools/include/*.h $gccdir/include
# but we don't want anything more from install-tools
-rm -rf $gccdir/install-tools
+rm -rf $gccdir/install-tools
%if %{with multilib}
-ln -sf %{_slibdir32}/libgcc_s.so.1 $gccdir/32/libgcc_s.so
+ln -sf %{_slibdir}/libgcc_s.so.1 $gccdir/libgcc_s.so
+ln -sf %{_slibdir32}/libgcc_s.so.1 $gccdir/libgcc_s_32.so
+%endif
+
+%find_lang %{name}
+%if %{with cxx}
+%find_lang libstdc\+\+
%endif
-ln -sf %{_slibdir}/libgcc_s.so.1 $gccdir/libgcc_s.so
-%find_lang gcc
-%{?with_cxx:%find_lang libstdc\+\+}
+%if %{with ssp}
+zcat %{SOURCE2} > $RPM_BUILD_ROOT%{_aclocaldir}/gcc_stack_protect.m4
+%endif
-# cvs snap doesn't contain (release does) below files,
-# so let's create dummy entries to satisfy %%files.
-[ ! -f NEWS ] && touch NEWS
-[ ! -f libgfortran/AUTHORS ] && touch libgfortran/AUTHORS
-[ ! -f libgfortran/README ] && touch libgfortran/README
+# kill unpackaged files
+rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
+%{?with_multilib:rm -f $RPM_BUILD_ROOT%{_libdir}/32/libiberty.a}
+rm -f $RPM_BUILD_ROOT%{_infodir}/dir*
+rm -f $RPM_BUILD_ROOT%{_mandir}/man7/{fsf-funding,gfdl,gpl}*
%clean
rm -rf $RPM_BUILD_ROOT
%postun
[ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
-%post ada
-[ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
-
-%postun ada
-[ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
-
-%post fortran
+%post g77
[ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
-%postun fortran
+%postun g77
[ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
%post java
%postun java
[ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
-%post -p /sbin/ldconfig -n libgcc
-%postun -p /sbin/ldconfig -n libgcc
-%post -p /sbin/ldconfig -n libmudflap
-%postun -p /sbin/ldconfig -n libmudflap
-%post -p /sbin/ldconfig -n libgnat
-%postun -p /sbin/ldconfig -n libgnat
-%post -p /sbin/ldconfig -n libstdc++
-%postun -p /sbin/ldconfig -n libstdc++
-%post -p /sbin/ldconfig -n libgfortran
-%postun -p /sbin/ldconfig -n libgfortran
-%post -p /sbin/ldconfig -n libgcj
-%postun -p /sbin/ldconfig -n libgcj
-%post -p /sbin/ldconfig -n libffi
-%postun -p /sbin/ldconfig -n libffi
-%post -p /sbin/ldconfig -n libobjc
-%postun -p /sbin/ldconfig -n libobjc
+%post -p /sbin/ldconfig -n libgcc
+%postun -p /sbin/ldconfig -n libgcc
+%post -p /sbin/ldconfig -n libstdc++
+%postun -p /sbin/ldconfig -n libstdc++
+%post -p /sbin/ldconfig -n libobjc
+%postun -p /sbin/ldconfig -n libobjc
+%post -p /sbin/ldconfig -n libg2c
+%postun -p /sbin/ldconfig -n libg2c
+%post -p /sbin/ldconfig -n libgcj
+%postun -p /sbin/ldconfig -n libgcj
+%post -p /sbin/ldconfig -n libgnat
+%postun -p /sbin/ldconfig -n libgnat
+%post -p /sbin/ldconfig -n libffi
+%postun -p /sbin/ldconfig -n libffi
%files -f gcc.lang
%defattr(644,root,root,755)
-%doc ChangeLog.general MAINTAINERS NEWS
-# bugs.html faq.html
+%doc ChangeLog.general MAINTAINERS NEWS bugs.html faq.html
%doc gcc/{ChangeLog,ONEWS,README.Portability}
-%dir %{_libdir}/gcc
-%dir %{_libdir}/gcc/*
%dir %{_libdir}/gcc/*/*
%dir %{_libdir}/gcc/*/*/include
+%{?with_ssp:%{_aclocaldir}/gcc_stack_protect.m4}
%attr(755,root,root) %{_bindir}/*-gcc*
%attr(755,root,root) %{_bindir}/gcc
%attr(755,root,root) %{_bindir}/cc
%attr(755,root,root) %{_bindir}/cpp
-%{_includedir}/ssp
-
%{_mandir}/man1/cc.1*
%{_mandir}/man1/cpp.1*
+%lang(ja) %{_mandir}/ja/man1/cpp.1*
%{_mandir}/man1/gcc.1*
+%lang(fr) %{_mandir}/fr/man1/gcc.1*
+%lang(ja) %{_mandir}/ja/man1/gcc.1*
%{_mandir}/man1/gcov.1*
%{_infodir}/cpp*
%attr(755,root,root) /lib/cpp
%attr(755,root,root) %{_slibdir}/lib*.so
-%{_libdir}/libssp.la
-%attr(755,root,root) %{_libdir}/libssp.a
-%attr(755,root,root) %{_libdir}/libssp.so
-%{_libdir}/libssp_nonshared.a
-%{_libdir}/libssp_nonshared.la
-%if %{with multilib}
-%dir %{_libdir}/gcc/*/*/32
-%{_libdir}/gcc/*/*/32/libgcov.a
-%{_libdir}/gcc/*/*/32/libgcc.a
-%{_libdir}/gcc/*/*/32/libgcc_eh.a
-%{_libdir}/gcc/*/*/32/libgcc_s.so
-%{_libdir32}/libssp.la
-%attr(755,root,root) %{_libdir32}/libssp.a
-%attr(755,root,root) %{_libdir32}/libssp.so
-%{_libdir32}/libssp_nonshared.a
-%{_libdir32}/libssp_nonshared.la
+%ifarch ia64
+%{_slibdir}/libunwind.a
%endif
%{_libdir}/gcc/*/*/libgcov.a
%{_libdir}/gcc/*/*/libgcc.a
%{_libdir}/gcc/*/*/libgcc_eh.a
-%{_libdir}/gcc/*/*/libgcc_s.so
%{_libdir}/gcc/*/*/specs
+%{_libdir}/gcc/*/*/crt*.o
%if %{with multilib}
+%attr(755,root,root) %{_libdir}/gcc/*/*/libgcc_s*.so
+%{_libdir}/gcc/*/*/32/libgcc.a
+%{_libdir}/gcc/*/*/32/libgcc_eh.a
+%{_libdir}/gcc/*/*/32/libgcov.a
%{_libdir}/gcc/*/*/32/crt*.o
%endif
-%{_libdir}/gcc/*/*/crt*.o
+%ifarch ppc
+%{_libdir}/gcc/*/*/ecrt*.o
+%{_libdir}/gcc/*/*/ncrt*.o
+%{_libdir}/gcc/*/*/nof
+%dir %{_libdir}/nof
+%endif
%attr(755,root,root) %{_libdir}/gcc/*/*/cc1
%attr(755,root,root) %{_libdir}/gcc/*/*/collect2
%{_libdir}/gcc/*/*/include/*.h
+%{?with_fortran:%exclude %{_libdir}/gcc/*/*/include/g2c.h}
%files -n libgcc
%defattr(644,root,root,755)
+%attr(755,root,root) %{_slibdir}*/lib*.so.*
%if %{with multilib}
%attr(755,root,root) %{_slibdir32}/lib*.so.*
%endif
-%attr(755,root,root) %{_slibdir}/lib*.so.*
-
-%files -n libmudflap
-%defattr(644,root,root,755)
-%if %{with multilib}
-%attr(755,root,root) %{_libdir32}/libmudflap*.so.*.*.*
-%endif
-%attr(755,root,root) %{_libdir}/libmudflap*.so.*.*.*
-
-%files -n libmudflap-devel
-%defattr(644,root,root,755)
-%{_includedir}/mf-runtime.h
-%if %{with multilib}
-%{_libdir32}/libmudflap*.la
-%attr(755,root,root) %{_libdir32}/libmudflap*.so
-%endif
-%{_libdir}/libmudflap*.la
-%attr(755,root,root) %{_libdir}/libmudflap*.so
-
-%files -n libmudflap-static
-%defattr(644,root,root,755)
-%if %{with multilib}
-%{_libdir32}/libmudflap*.a
-%endif
-%{_libdir}/libmudflap*.a
-
-%if %{with ada}
-%files ada
-%defattr(644,root,root,755)
-%doc gcc/ada/ChangeLog
-%attr(755,root,root) %{_bindir}/gnat*
-%attr(755,root,root) %{_bindir}/gpr*
-%attr(755,root,root) %{_libdir}/libgnarl*.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
-%{_libdir}/gcc/*/*/adalib/libgccprefix.a
-%ifarch %{ix86}
-%{_libdir}/gcc/*/*/adalib/libgmem.a
-%endif
-%{_infodir}/gnat*
-
-%files -n libgnat
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libgnarl*.so.1
-%attr(755,root,root) %{_libdir}/libgnat*.so.1
-
-%files -n libgnat-static
-%defattr(644,root,root,755)
-%{_libdir}/gcc/*/*/adalib/libgnarl.a
-%{_libdir}/gcc/*/*/adalib/libgnat.a
-%endif
%if %{with cxx}
%files c++
%attr(755,root,root) %{_bindir}/c++
%attr(755,root,root) %{_bindir}/*-c++
%attr(755,root,root) %{_libdir}/gcc/*/*/cc1plus
+%{_libdir}/libsupc++.la
+%{_libdir}/libsupc++.a
+%ifarch ppc
+%{_libdir}/nof/libsupc++.la
+%{_libdir}/nof/libsupc++.a
+%endif
%if %{with multilib}
-%{_libdir32}/libsupc++.a
%{_libdir32}/libsupc++.la
+%{_libdir32}/libsupc++.a
%endif
-%{_libdir}/libsupc++.a
-%{_libdir}/libsupc++.la
%{_mandir}/man1/g++.1*
+%lang(ja) %{_mandir}/ja/man1/g++.1*
%files -n libstdc++ -f libstdc++.lang
%defattr(644,root,root,755)
%doc libstdc++-v3/{ChangeLog,README}
+%attr(755,root,root) %{_libdir}/libstdc++.so.*.*.*
+%ifarch ppc
+%attr(755,root,root) %{_libdir}/nof/libstdc++.so.*.*.*
+%endif
%if %{with multilib}
%attr(755,root,root) %{_libdir32}/libstdc++.so.*.*.*
%endif
-%attr(755,root,root) %{_libdir}/libstdc++.so.*.*.*
%files -n libstdc++-devel
%defattr(644,root,root,755)
%doc libstdc++-v3/docs/html
%dir %{_includedir}/c++
%{_includedir}/c++/%{version}
-%if %{with java}
-%exclude %{_includedir}/c++/%{version}/java
-%exclude %{_includedir}/c++/%{version}/javax
-%exclude %{_includedir}/c++/%{version}/gcj
-%exclude %{_includedir}/c++/%{version}/gnu
-%endif
-%ifnarch sparc
%exclude %{_includedir}/c++/%{version}/*/bits/stdc++.h.gch
+%attr(755,root,root) %{_libdir}/libstdc++.so
+%{_libdir}/libstdc++.la
+%ifarch ppc
+%attr(755,root,root) %{_libdir}/nof/libstdc++.so
+%{_libdir}/nof/libstdc++.la
%endif
%if %{with multilib}
-%{_libdir32}/libstdc++.la
%attr(755,root,root) %{_libdir32}/libstdc++.so
+%{_libdir32}/libstdc++.la
%endif
-%{_libdir}/libstdc++.la
-%attr(755,root,root) %{_libdir}/libstdc++.so
%files -n libstdc++-static
%defattr(644,root,root,755)
+%{_libdir}/libstdc++.a
+%ifarch ppc
+%{_libdir}/nof/libstdc++.a
+%endif
%if %{with multilib}
%{_libdir32}/libstdc++.a
%endif
-%{_libdir}/libstdc++.a
+%endif
+
+%if %{with objc}
+%files objc
+%defattr(644,root,root,755)
+%doc gcc/objc/README
+%attr(755,root,root) %{_libdir}/gcc/*/*/cc1obj
+%attr(755,root,root) %{_libdir}/libobjc.so
+%{_libdir}/libobjc.la
+%ifarch ppc
+%attr(755,root,root) %{_libdir}/nof/libobjc.so
+%{_libdir}/nof/libobjc.la
+%endif
+%if %{with multilib}
+%attr(755,root,root) %{_libdir32}/libobjc.so
+%{_libdir32}/libobjc.la
+%endif
+%{_libdir}/gcc/*/*/include/objc
+
+%files -n libobjc
+%defattr(644,root,root,755)
+%doc libobjc/{ChangeLog,README*}
+%attr(755,root,root) %{_libdir}/libobjc.so.*.*.*
+%ifarch ppc
+%attr(755,root,root) %{_libdir}/nof/libobjc.so.*.*.*
+%endif
+%if %{with multilib}
+%attr(755,root,root) %{_libdir32}/libobjc.so.*.*.*
+%endif
+
+%files -n libobjc-static
+%defattr(644,root,root,755)
+%{_libdir}/libobjc.a
+%ifarch ppc
+%{_libdir}/nof/libobjc.a
+%endif
+%if %{with multilib}
+%{_libdir32}/libobjc.a
+%endif
%endif
%if %{with fortran}
-%files fortran
+%files g77
%defattr(644,root,root,755)
-%doc gcc/fortran/ChangeLog
-%attr(755,root,root) %{_bindir}/g95
-%attr(755,root,root) %{_bindir}/gfortran
-%{_infodir}/gfortran*
-%attr(755,root,root) %{_libdir}/gcc/*/*/f951
+%doc gcc/f/{BUGS,ChangeLog,NEWS}
+%attr(755,root,root) %{_bindir}/g77
+%attr(755,root,root) %{_bindir}/f77
+%{_infodir}/g77*
+%attr(755,root,root) %{_libdir}/gcc/*/*/f771
+%{_libdir}/libfrtbegin.a
+%{_libdir}/libg2c.la
+%attr(755,root,root) %{_libdir}/libg2c.so
+%ifarch ppc
+%{_libdir}/nof/libfrtbegin.a
+%{_libdir}/nof/libg2c.la
+%attr(755,root,root) %{_libdir}/nof/libg2c.so
+%endif
%if %{with multilib}
-%{_libdir32}/libgfortranbegin.a
-%{_libdir32}/libgfortranbegin.la
-%{_libdir32}/libgfortran.la
-%attr(755,root,root) %{_libdir32}/libgfortran.so
+%{_libdir32}/libfrtbegin.a
+%{_libdir32}/libg2c.la
+%attr(755,root,root) %{_libdir32}/libg2c.so
%endif
-%{_libdir}/libgfortranbegin.a
-%{_libdir}/libgfortranbegin.la
-%{_libdir}/libgfortran.la
-%attr(755,root,root) %{_libdir}/libgfortran.so
-%{_mandir}/man1/g95.1*
-%{_mandir}/man1/gfortran.1*
-
-%files -n libgfortran
+%{_libdir}/gcc/*/*/include/g2c.h
+%{_mandir}/man1/g77.1*
+%{_mandir}/man1/f77.1*
+%lang(ja) %{_mandir}/ja/man1/g77.1*
+%lang(ja) %{_mandir}/ja/man1/f77.1*
+
+%files -n libg2c
%defattr(644,root,root,755)
-%doc libgfortran/{AUTHORS,README,ChangeLog}
+%doc libf2c/{ChangeLog,README,TODO}
+%attr(755,root,root) %{_libdir}/libg2c.so.*.*.*
+%ifarch ppc
+%attr(755,root,root) %{_libdir}/nof/libg2c.so.*.*.*
+%endif
%if %{with multilib}
-%attr(755,root,root) %{_libdir32}/libgfortran.so.*.*.*
+%attr(755,root,root) %{_libdir32}/libg2c.so.*.*.*
%endif
-%attr(755,root,root) %{_libdir}/libgfortran.so.*.*.*
-%files -n libgfortran-static
+%files -n libg2c-static
%defattr(644,root,root,755)
+%{_libdir}/libg2c.a
+%ifarch ppc
+%{_libdir}/nof/libg2c.a
+%endif
%if %{with multilib}
-%{_libdir32}/libgfortran.a
+%{_libdir32}/libg2c.a
%endif
-%{_libdir}/libgfortran.a
%endif
%if %{with java}
%files java
%defattr(644,root,root,755)
%doc gcc/java/ChangeLog java-doc/*
-%attr(755,root,root) %{_bindir}/fastjar
%attr(755,root,root) %{_bindir}/gcj*
-%attr(755,root,root) %{_bindir}/gjnih
-%attr(755,root,root) %{_bindir}/grepjar
-%attr(755,root,root) %{_bindir}/grmi*
+%attr(755,root,root) %{_bindir}/gij
%attr(755,root,root) %{_bindir}/jcf-dump
%attr(755,root,root) %{_bindir}/jv-*
+%attr(755,root,root) %{_bindir}/grepjar
%attr(755,root,root) %{_bindir}/*-gcj*
%attr(755,root,root) %{_libdir}/gcc/*/*/jc1
%attr(755,root,root) %{_libdir}/gcc/*/*/jvgenmain
-%{_infodir}/fastjar*
%{_infodir}/gcj*
-%{_infodir}/hacking*
-%{_infodir}/vmintegration*
-%{_mandir}/man1/fastjar*
-%{_mandir}/man1/gcj*
-%{_mandir}/man1/gjnih*
-%{_mandir}/man1/grepjar*
-%{_mandir}/man1/grmi*
%{_mandir}/man1/jcf-*
%{_mandir}/man1/jv-*
+%{_mandir}/man1/gij*
+%{_mandir}/man1/gcj*
+%{_mandir}/man1/grepjar*
+
+%files java-tools
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/rmi*
+%attr(755,root,root) %{_bindir}/jar
+%{_mandir}/man1/rmi*
+%{_mandir}/man1/jar*
+%{_infodir}/fastjar*
%files -n libgcj
%defattr(644,root,root,755)
%doc libjava/{ChangeLog,LIBGCJ_LICENSE,NEWS,README,THANKS}
%attr(755,root,root) %{_bindir}/addr2name.awk
-%attr(755,root,root) %{_bindir}/gij
-%dir %{_libdir}/gcj-%{version}
-%{_libdir}/gcj-%{version}/classmap.db
%attr(755,root,root) %{_libdir}/lib*cj*.so.*.*.*
-%attr(755,root,root) %{_libdir}/libgij.so.*.*.*
+%attr(755,root,root) %{_libdir}/lib-org*.so.*.*.*
+%if %{with multilib}
+%attr(755,root,root) %{_libdir32}/lib*cj*.so.*.*.*
+%attr(755,root,root) %{_libdir32}/lib-org*.so.*.*.*
+%endif
+%ifarch ppc
+%attr(755,root,root) %{_libdir}/nof/lib*cj*.so.*
+%endif
%{_libdir}/logging.properties
-%{_javadir}/libgcj*.jar
-%{_mandir}/man1/gij*
%files -n libgcj-devel
%defattr(644,root,root,755)
-%{_includedir}/c++/%{version}/java
-%{_includedir}/c++/%{version}/javax
-%{_includedir}/c++/%{version}/gcj
-%{_includedir}/c++/%{version}/gnu
+%{_includedir}/java
+%{_includedir}/javax
+%{_includedir}/gcj
+%{_includedir}/j*.h
+%{_includedir}/gnu/*
%{_libdir}/gcc/*/*/include/gcj
-%{_libdir}/gcc/*/*/include/jawt.h
-%{_libdir}/gcc/*/*/include/jawt_md.h
-%{_libdir}/gcc/*/*/include/jni.h
-%{_libdir}/gcc/*/*/include/jvmpi.h
%dir %{_libdir}/security
%{_libdir}/security/*
+%dir %{_datadir}/java
+%{_datadir}/java/libgcj*.jar
%{_libdir}/lib*cj.spec
-%{_libdir}/lib*cj*.la
%attr(755,root,root) %{_libdir}/lib*cj*.so
-%{_libdir}/libgij.la
-%attr(755,root,root) %{_libdir}/libgij.so
+%attr(755,root,root) %{_libdir}/lib-org-*.so
+%{_libdir}/lib*cj*.la
+%{_libdir}/lib-org-*.la
+%if %{with multilib}
+%attr(755,root,root) %{_libdir32}/lib*cj*.so
+%attr(755,root,root) %{_libdir32}/lib-org-*.so
+%{_libdir32}/lib*cj*.la
+%{_libdir32}/lib-org-*.la
+%endif
+%ifarch ppc
+%{_libdir}/nof/lib*cj*.la
+%attr(755,root,root) %{_libdir}/nof/lib*cj*.so
+%endif
%{_pkgconfigdir}/libgcj.pc
%files -n libgcj-static
%defattr(644,root,root,755)
%{_libdir}/lib*cj*.a
-%{_libdir}/libgij.a
+%{_libdir}/lib-org-*.a
+%if %{with multilib}
+%{_libdir32}/lib*cj*.a
+%{_libdir32}/lib-org-*.a
+%endif
+%ifarch ppc
+%{_libdir}/nof/lib*cj*.a
+%endif
%files -n libffi
%defattr(644,root,root,755)
%doc libffi/{ChangeLog,ChangeLog.libgcj,LICENSE,README}
-%attr(755,root,root) %{_libdir}/libffi.so.*.*.*
+%attr(755,root,root) %{_libdir}/libffi-*.so
+%{?with_multilib:%attr(755,root,root) %{_libdir32}/libffi-*.so}
%files -n libffi-devel
%defattr(644,root,root,755)
%{_libdir}/gcc/*/*/include/ffitarget.h
%attr(755,root,root) %{_libdir}/libffi.so
%{_libdir}/libffi.la
+%if %{with multilib}
+%attr(755,root,root) %{_libdir32}/libffi.so
+%{_libdir32}/libffi.la
+%endif
%{_includedir}/ffi.h
%files -n libffi-static
%defattr(644,root,root,755)
%{_libdir}/libffi.a
+%{?with_multilib:%{_libdir32}/libffi.a}
%endif
-%if %{with objc}
-%files objc
-%defattr(644,root,root,755)
-%doc gcc/objc/README
-%attr(755,root,root) %{_libdir}/gcc/*/*/cc1obj
-%if %{with multilib}
-%attr(755,root,root) %{_libdir32}/libobjc.so
-%{_libdir32}/libobjc.la
-%endif
-%attr(755,root,root) %{_libdir}/libobjc.so
-%{_libdir}/libobjc.la
-%{_libdir}/gcc/*/*/include/objc
-
-%files -n libobjc
+%if %{with ada}
+%files ada
%defattr(644,root,root,755)
-%doc libobjc/{ChangeLog,README*}
-%if %{with multilib}
-%attr(755,root,root) %{_libdir32}/libobjc.so.*.*.*
+%doc gcc/ada/ChangeLog
+%attr(755,root,root) %{_bindir}/gnat*
+%attr(755,root,root) %{_bindir}/gpr*
+%attr(755,root,root) %{_libdir}/libgnarl*.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
+%{_libdir}/gcc/*/*/adalib/libgccprefix.a
+%ifarch %{ix86}
+%{_libdir}/gcc/*/*/adalib/libgmem.a
%endif
-%attr(755,root,root) %{_libdir}/libobjc.so.*.*.*
+%{_datadir}/gnat
+%{_infodir}/gnat*
-%files -n libobjc-static
+%files -n libgnat
%defattr(644,root,root,755)
-%if %{with multilib}
-%{_libdir32}/libobjc.a
-%endif
-%{_libdir}/libobjc.a
-%endif
+%attr(755,root,root) %{_libdir}/libgnarl*.so.1
+%attr(755,root,root) %{_libdir}/libgnat*.so.1
-%if %{with objcxx}
-%files objc++
+%files -n libgnat-static
%defattr(644,root,root,755)
-%doc gcc/objcp/ChangeLog
-%attr(755,root,root) %{_libdir}/gcc/*/*/cc1objplus
+%{_libdir}/gcc/*/*/adalib/libgnarl.a
+%{_libdir}/gcc/*/*/adalib/libgnat.a
%endif