X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=gcc4.spec;h=9a453975b824ea7510f7e3b206ca28709a03c6a6;hb=6d4c4143539e366c2834044fab5d550f622dd467;hp=a257316f21c2f7ee288bbd1cad20f947f2509ce8;hpb=59c005c7cbcf4c1393c22d5bb35eb895b789d0cb;p=packages%2Fgcc4.git diff --git a/gcc4.spec b/gcc4.spec index a257316..9a45397 100644 --- a/gcc4.spec +++ b/gcc4.spec @@ -1,81 +1,79 @@ # -# TODO: -# - http://gcc.gnu.org/PR11203 (inline-asm) -# - http://gcc.gnu.org/PR14776 (target / wrong SSE-code) -# - http://gcc.gnu.org/PR18378 (regression) -# - fix build on ac-i586: (it`s strange because other builders are OK) -# (File not found by glob: /tmp/B.e501ff/gcc-3.4.3-root-builder/usr/include/c++/3.4.3/*/bits/stdc++.h.gch) -# -# # 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 ObjC support -%bcond_with ssp # build with stack-smashing protector support -%bcond_with multilib # build with multilib support -%ifnarch amd64 ppc64 s390x sparc64 +%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 + +%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 %undefine with_multilib %endif -# + Summary: GNU Compiler Collection: the C compiler and shared files Summary(es): Colección de compiladores GNU: el compilador C y ficheros compartidos 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: 3.4.3 -Release: 5 +Version: 4.1.0 +%define _snap 20051005T0949UTC +Release: 0.%{_snap}.1 Epoch: 5 License: GPL v2+ Group: Development/Languages -Source0: ftp://gcc.gnu.org/pub/gcc/releases/gcc-%{version}/%{name}-%{version}.tar.bz2 -# Source0-md5: e744b30c834360fccac41eb7269a3011 -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 -Source3: gcc_visibility.m4 +#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: 19b30d36af9aaa6216af104b77714cad +Source1: %{name}-optimize-la.pl Patch0: %{name}-info.patch Patch1: %{name}-nolocalefiles.patch -Patch2: %{name}-ada-link-new-libgnat.patch -Patch3: %{name}-nodebug.patch -Patch4: %{name}-ssp.patch -Patch5: %{name}-ada-link.patch -Patch6: %{name}-pr15666.patch -Patch7: %{name}-pr16276.patch -Patch8: %{name}-pr18185.patch -# -# -fvisibility={default|internal|hidden|protected} -# -# Set the default ELF image symbol visibility to the specified option. -# All symbols will be marked with this unless overrided within the code. -# Using this feature can very substantially improve linking and load times -# of shared object libraries, produce more optimised code, provide near-perfect -# API export and prevent symbol clashes. It is strongly recommended that you -# use this in any shared objects you distribute. -# -# -fvisibility-inlines-hidden -# -# Causes all inlined methods to be marked with __attribute__((visibility("hidden"))) -# so that they do not appear in the export table of a DSO and do not require a PLT -# indirection when used within the DSO. Enabling this option can have a dramatic -# effect on load and link times of a DSO as it massively reduces the size -# of the dynamic export table when the library makes heavy use of templates. -# While it can cause bloating through duplication of code within each DSO -# where it is used, often the wastage is less than the considerable space -# occupied by a long symbol name in the export table which is typical when using -# templates and namespaces. -# -# How to Write Shared Libraries: http://people.redhat.com/drepper/dsohowto.pdf -# -Patch9: %{name}-visibility.patch -Patch10: %{name}-pr13470.patch -# -Patch20: %{name}-ada-bootstrap.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 + +Patch13: %{name}-pr22533.patch +Patch14: %{name}-x87-mmx-switch.patch +Patch15: %{name}-x87-mmx-eh.patch +Patch16: %{name}-pr23948.patch +Patch17: %{name}-pr19505.patch +Patch18: %{name}-pr20606_pr24069.patch URL: http://gcc.gnu.org/ BuildRequires: autoconf +%{?with_tests:BuildRequires: autogen} BuildRequires: automake -BuildRequires: binutils >= 2:2.15.91.0.2 +BuildRequires: binutils >= 2:2.15.94.0.1 BuildRequires: bison +%{?with_java:BuildRequires: cairo-devel >= 0.5.0} +%{?with_tests:BuildRequires: dejagnu} BuildRequires: fileutils >= 4.0.41 BuildRequires: flex %if %{with ada} @@ -83,19 +81,28 @@ BuildRequires: gcc(ada) BuildRequires: gcc-ada %endif BuildRequires: gettext-devel -BuildRequires: glibc-devel >= 2.2.5-20 +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: perl-devel +%{?with_java:BuildRequires: pkgconfig} +BuildRequires: rpmbuild(macros) >= 1.211 BuildRequires: texinfo >= 4.1 BuildRequires: zlib-devel -Requires: binutils >= 2:2.15.91.0.2 -Requires: gcc-dirs >= 1.0-3 +# 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: libgcc = %{epoch}:%{version}-%{release} Provides: cpp = %{epoch}:%{version}-%{release} %{?with_ada:Provides: gcc(ada)} -%{?with_ssp:Provides: gcc(ssp)} -# ksi for gcc > 3.3.x not ready yet +%{?with_multilib:Provides: gcc(multilib)} Obsoletes: cpp Obsoletes: egcs-cpp +Obsoletes: gcc-chill Obsoletes: gcc-cpp Obsoletes: gcc-ksi Obsoletes: gont @@ -103,13 +110,11 @@ Conflicts: glibc-devel < 2.2.5-20 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %define _slibdir /%{_lib} -%ifarch amd64 ppc64 s390x sparc64 +%if %{with multilib} +# 32-bit environment on x86-64,ppc64,s390x,sparc64 %define _slibdir32 /lib %define _libdir32 /usr/lib %endif -%ifarch sparc64 -%define rpmcflags -O2 -mtune=ultrasparc -%endif %description A compiler aimed at integrating all the optimizations and features @@ -162,6 +167,110 @@ Biblioteka dynamiczna gcc. %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 @@ -210,146 +319,161 @@ Bu paket, GNU C derleyicisine C++ deste aykýrý durum iþleme gibi çoðu güncel C++ tanýmlarýna uyar. Standart C++ kitaplýðý bu pakette yer almaz. -%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 +%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 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++ +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 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 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 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 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 -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 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 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 -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 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++ -l pt_BR +Este pacote é uma implementação da biblioteca padrão C++ v3, um +subconjunto do padrão ISO 14882. -%package -n libobjc -Summary: Objective C Libraries -Summary(es): Bibliotecas de Objective C -Summary(pl): Biblioteki Obiektowego C -License: GPL v2+ with linking exception -Group: Libraries -Obsoletes: libobjc1 +%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 -n libobjc -Objective C Libraries. +%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 -n libobjc -l es -Bibliotecas de Objective C. +%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 libobjc -l pl -Biblioteki Obiektowego C. +%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++. -%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 +%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++ +License: GPL v2+ with free software exception Group: Development/Libraries -Requires: libobjc = %{epoch}:%{version}-%{release} +Requires: libstdc++-devel = %{epoch}:%{version}-%{release} -%description -n libobjc-static -Static Objective C Libraries. +%description -n libstdc++-static +Static C++ standard library. -%description -n libobjc-static -l es -Bibliotecas estáticas de Objective C. +%description -n libstdc++-static -l es +Biblioteca estándar estática de C++. -%description -n libobjc-static -l pl -Statyczne biblioteki Obiektowego C. +%description -n libstdc++-static -l pl +Statyczna biblioteka standardowa C++. -%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 +%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 Group: Development/Languages/Fortran -Requires: libg2c = %{epoch}:%{version}-%{release} +Requires: libgfortran = %{epoch}:%{version}-%{release} +Provides: gcc-g77 = %{epoch}:%{version}-%{release} Obsoletes: egcs-g77 +Obsoletes: gcc-g77 -%description g77 -This package adds support for compiling Fortran 77 programs with the +%description fortran +This package adds support for compiling Fortran 95 programs with the GNU compiler. -%description g77 -l es +%description fortran -l es Este paquete añade soporte para compilar programas escritos en Fortran -77 con el compilador GNU. +95 con el compilador GNU. -%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 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 pt_BR -Suporte Fortran 77 para o GCC. +%description fortran -l pt_BR +Suporte Fortran 95 para o GCC. -%package -n libg2c -Summary: Fortran 77 Libraries -Summary(es): Bibliotecas de Fortran 77 -Summary(pl): Biblioteki Fortranu 77 +%package -n libgfortran +Summary: Fortran 95 Libraries +Summary(es): Bibliotecas de Fortran 95 +Summary(pl): Biblioteki Fortranu 95 License: LGPL v2+ Group: Libraries +Obsoletes: libg2c -%description -n libg2c -Fortran 77 Libraries. +%description -n libgfortran +Fortran 95 Libraries. -%description -n libg2c -l es -Bibliotecas de Fortran 77. +%description -n libgfortran -l es +Bibliotecas de Fortran 95. -%description -n libg2c -l pl -Biblioteki Fortranu 77. +%description -n libgfortran -l pl +Biblioteki Fortranu 95. -%package -n libg2c-static -Summary: Static Fortran 77 Libraries -Summary(es): Bibliotecas estáticas de Fortran 77 -Summary(pl): Statyczne 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+ Group: Development/Libraries -Requires: libg2c = %{epoch}:%{version}-%{release} +Requires: libgfortran = %{epoch}:%{version}-%{release} +Obsoletes: libg2c-static -%description -n libg2c-static -Static Fortran 77 Libraries. +%description -n libgfortran-static +Static Fortran 95 Libraries. -%description -n libg2c -l es -Bibliotecas estáticas de Fortran 77. +%description -n libgfortran-static -l es +Bibliotecas estáticas de Fortran 95. -%description -n libg2c-static -l pl -Statyczne biblioteki Fortranu 77. +%description -n libgfortran-static -l pl +Statyczne biblioteki Fortranu 95. %package java Summary: Java support for gcc @@ -357,13 +481,14 @@ Summary(es): Soporte de Java para 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. @@ -373,32 +498,9 @@ Java(tm) y su bytecode en c necesitar el paquete libgcj. %description java -l pl -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. +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 -n libgcj Summary: Java Class Libraries @@ -406,7 +508,6 @@ 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 @@ -424,8 +525,8 @@ 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 @@ -455,101 +556,6 @@ Bibliotecas est %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 -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. - -%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 -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 -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++ -License: GPL v2+ with free software exception -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 @@ -609,112 +615,146 @@ Biblioteca libffi est %description -n libffi-static -l pl Statyczna biblioteka libffi. -%package ada -Summary: Ada support for gcc -Summary(es): Soporte de Ada para gcc -Summary(pl): Obs³uga Ady do gcc +%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: libgnat = %{epoch}:%{version}-%{release} -Obsoletes: gcc-gnat -Obsoletes: gnat-devel +Requires: libobjc = %{epoch}:%{version}-%{release} +Obsoletes: egcc-objc +Obsoletes: egcs-objc -%description ada -This package adds experimental support for compiling Ada programs. +%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 ada -l es -Este paquete añade soporte experimental para compilar programas en -Ada. +%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 ada -l pl -Ten pakiet dodaje eksperymentalne wsparcie dla kompilacji programów w -Adzie. +%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. -%package -n libgnat -Summary: Ada standard libraries -Summary(es): Bibliotecas estándares de Ada -Summary(pl): Biblioteki standardowe dla Ady +%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. + +%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 objc++ +This package adds Objective C++ support to the GNU Compiler +Collection. + +%description objc++ -l pl +Ten pakiet dodaje obs³ugê jêzyka Objective C++ do zestawu +kompilatorów GNU Compiler Collection. + +%package -n libobjc +Summary: Objective C Libraries +Summary(es): Bibliotecas de Objective C +Summary(pl): Biblioteki Obiektowego C License: GPL v2+ with linking exception Group: Libraries -Obsoletes: gnat -Obsoletes: libgnat1 +Obsoletes: libobjc1 -%description -n libgnat -This package contains shared libraries needed to run programs written -in Ada. +%description -n libobjc +Objective C Libraries. -%description -n libgnat -l es -Este paquete contiene las bibliotecas compartidas necesarias para -ejecutar programas escritos en Ada. +%description -n libobjc -l es +Bibliotecas de Objective C. -%description -n libgnat -l pl -Ten pakiet zawiera biblioteki potrzebne do uruchamiania programów -napisanych w Adzie. +%description -n libobjc -l pl +Biblioteki Obiektowego C. -%package -n libgnat-static -Summary: Static Ada standard libraries -Summary(pl): Statyczne biblioteki standardowe dla Ady +%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: Libraries -Obsoletes: gnat-static +Group: Development/Libraries +Requires: libobjc = %{epoch}:%{version}-%{release} -%description -n libgnat-static -This package contains static libraries for programs written in Ada. +%description -n libobjc-static +Static Objective C Libraries. -%description -n libgnat-static -l pl -Ten pakiet zawiera biblioteki statyczne dla programów napisanych w -Adzie. +%description -n libobjc-static -l es +Bibliotecas estáticas de Objective C. + +%description -n libobjc-static -l pl +Statyczne biblioteki Obiektowego C. %prep -%setup -q -a1 +#setup -q -n gcc-%{version} +%setup -q -n gcc-4.1-%{_snap} %patch0 -p1 %patch1 -p1 -%patch2 -p1 -%{!?debug:%patch3 -p1} -%{?with_ssp:%patch4 -p1} +%{!?debug:%patch2 -p1} +%patch3 -p1 +%patch4 -p1 %patch5 -p1 -%patch6 -p0 -#%patch7 -p0 -%patch8 -p1 -%patch9 -p1 +%patch6 -p1 + +# PRs %patch10 -p1 +%patch11 -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 -%patch20 -p2 -%endif +%patch13 -p1 +#patch14 -p1 NEEDS UPDATE +#patch15 -p1 +%patch16 -p1 +%patch17 -p1 +%patch18 -p1 # because we distribute modified version of gcc... -perl -pi -e 's/(version.*)";/$1 %{?with_ssp:SSP }(PLD Linux)";/' gcc/version.c +perl -pi -e 's/(version.*)";/$1 (PLD Linux)";/' gcc/version.c perl -pi -e 's@(bug_report_url.*";@' gcc/version.c mv ChangeLog ChangeLog.general %build -# because pr16276 patch modifies configure.ac 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} - -CC="%{__cc}" - -%if %{with multilib} -cat > gcc64 <<"EOF" -#!/bin/sh -exec /usr/bin/gcc -m64 "$@" -EOF -chmod +x gcc64 -CC=`pwd`/gcc64 -%endif +rm -rf obj-%{_target_platform} +install -d obj-%{_target_platform} +cd obj-%{_target_platform} CFLAGS="%{rpmcflags}" \ -CXXFLAGS="%{rpmcflags}" \ -CC="$CC" \ +CXXFLAGS="%{rpmcxxflags}" \ TEXCONFIG=false \ ../configure \ --prefix=%{_prefix} \ @@ -725,144 +765,146 @@ TEXCONFIG=false \ --enable-shared \ --enable-threads=posix \ --enable-__cxa_atexit \ - --enable-languages="c,c++,f77%{?with_objc:,objc}%{?with_ada:,ada}%{?with_java:,java}" \ + --enable-languages="c%{?with_cxx:,c++}%{?with_fortran:,f95}%{?with_objc:,objc}%{?with_objcxx:,obj-c++}%{?with_ada:,ada}%{?with_java:,java}" \ --enable-c99 \ --enable-long-long \ -%ifnarch ppc -%if %{without multilib} - --disable-multilib \ -%endif -%endif + --%{?with_multilib:en}%{!?with_multilib:dis}able-multilib \ --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} -PATH=$PATH:/sbin:%{_sbindir} - cd .. -# - on alpha stage1 needs -O0 for 3.3->3.4 bootstrap (gnat from 3.3 is seriously broken) -# - on ia64 use bootstrap-lean as profiledbootstrap is broken (PR 13882, 15836, 16108) + %{__make} -C obj-%{_target_platform} \ -%ifarch ia64 - bootstrap-lean \ -%else - profiledbootstrap \ -%endif + %{?with_bootstrap:%{?with_profiling:profiled}bootstrap} \ GCJFLAGS="%{rpmcflags}" \ BOOT_CFLAGS="%{rpmcflags}" \ -%ifarch alpha STAGE1_CFLAGS="%{rpmcflags} -O0" \ -%else - STAGE1_CFLAGS="%{rpmcflags}" \ -%endif LDFLAGS_FOR_TARGET="%{rpmldflags}" \ mandir=%{_mandir} \ infodir=%{_infodir} -%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 +%{?with_tests:%{__make} -k -C obj-%{_target_platform} check 2>&1 ||:} %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 -f $RPM_BUILD_ROOT%{_bindir}/sparc64-pld-linux-gcc \ +ln -sf %{_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 -ln -sf g77 $RPM_BUILD_ROOT%{_bindir}/f77 -echo ".so g77.1" > $RPM_BUILD_ROOT%{_mandir}/man1/f77.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 +%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-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 +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 %endif -ln -sf %{_bindir}/cpp $RPM_BUILD_ROOT/lib/cpp - cd .. %if %{with java} install -d java-doc -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 +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 %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 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 libstdc++.la libsupc++.la 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 +for f in libmudflap.la libmudflapth.la libssp.la \ + %{?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 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 -mv -f $gccdir/include/{%{?with_objc:objc,}g2c.h,syslimits.h%{?with_java:,libffi/ffitarget.h,gcj}} $gccdir/tmp +%{?with_java:mv $gccdir/include/{gcj,libffi/ffitarget.h,jawt.h,jawt_md.h,jni.h,jni_md.h,jvmpi.h} $gccdir/tmp} +%{?with_objc:mv $gccdir/include/objc $gccdir/tmp} +mv $gccdir/include/syslimits.h $gccdir/tmp rm -rf $gccdir/include -mv -f $gccdir/tmp $gccdir/include +mv $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 %if %{with multilib} -ln -sf %{_slibdir}/libgcc_s.so.1 $gccdir/libgcc_s.so -ln -sf %{_slibdir32}/libgcc_s.so.1 $gccdir/libgcc_s_32.so +ln -sf %{_slibdir32}/libgcc_s.so.1 $gccdir/32/libgcc_s.so %endif +ln -sf %{_slibdir}/libgcc_s.so.1 $gccdir/libgcc_s.so -%find_lang %{name} -%find_lang libstdc\+\+ +%find_lang gcc +%{?with_cxx:%find_lang libstdc\+\+} -%if %{with ssp} -zcat %{SOURCE2} > $RPM_BUILD_ROOT%{_aclocaldir}/gcc_stack_protect.m4 -%endif -install %{SOURCE3} $RPM_BUILD_ROOT%{_aclocaldir}/gcc_visibility.m4 +# 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 %clean rm -rf $RPM_BUILD_ROOT @@ -873,10 +915,16 @@ rm -rf $RPM_BUILD_ROOT %postun [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1 -%post g77 +%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 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1 -%postun g77 +%postun fortran [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1 %post java @@ -885,29 +933,32 @@ rm -rf $RPM_BUILD_ROOT %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 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 +%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 %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} -%{_aclocaldir}/gcc_visibility.m4 %attr(755,root,root) %{_bindir}/*-gcc* %attr(755,root,root) %{_bindir}/gcc @@ -916,12 +967,11 @@ rm -rf $RPM_BUILD_ROOT %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* @@ -930,40 +980,99 @@ rm -rf $RPM_BUILD_ROOT %attr(755,root,root) /lib/cpp %attr(755,root,root) %{_slibdir}/lib*.so -%ifarch ia64 -%{_slibdir}/libunwind.a +%{_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 %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 -%ifarch ppc -%{_libdir}/gcc/*/*/ecrt*.o -%{_libdir}/gcc/*/*/ncrt*.o -%{_libdir}/gcc/*/*/nof -%dir %{_libdir}/nof -%endif +%{_libdir}/gcc/*/*/crt*.o %attr(755,root,root) %{_libdir}/gcc/*/*/cc1 %attr(755,root,root) %{_libdir}/gcc/*/*/collect2 %{_libdir}/gcc/*/*/include/*.h -%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++ %defattr(644,root,root,755) %doc gcc/cp/{ChangeLog,NEWS} @@ -972,216 +1081,154 @@ rm -rf $RPM_BUILD_ROOT %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++.la %{_libdir32}/libsupc++.a +%{_libdir32}/libsupc++.la %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} -%attr(755,root,root) %{_libdir32}/libstdc++.so %{_libdir32}/libstdc++.la +%attr(755,root,root) %{_libdir32}/libstdc++.so %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 - -%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.*.*.* +%{_libdir}/libstdc++.a %endif -%files -n libobjc-static +%if %{with fortran} +%files fortran %defattr(644,root,root,755) -%{_libdir}/libobjc.a -%ifarch ppc -%{_libdir}/nof/libobjc.a -%endif +%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 %if %{with multilib} -%{_libdir32}/libobjc.a -%endif +%{_libdir32}/libgfortranbegin.a +%{_libdir32}/libgfortranbegin.la +%{_libdir32}/libgfortran.la +%attr(755,root,root) %{_libdir32}/libgfortran.so %endif - -%files g77 +%{_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 %defattr(644,root,root,755) -%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 +%doc libgfortran/{AUTHORS,README,ChangeLog} %if %{with multilib} -%{_libdir32}/libfrtbegin.a -%{_libdir32}/libg2c.la -%attr(755,root,root) %{_libdir32}/libg2c.so +%attr(755,root,root) %{_libdir32}/libgfortran.so.*.*.* %endif -%{_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* +%attr(755,root,root) %{_libdir}/libgfortran.so.*.*.* -%files -n libg2c +%files -n libgfortran-static %defattr(644,root,root,755) -%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}/libg2c.so.*.*.* -%endif - -%files -n libg2c-static -%defattr(644,root,root,755) -%{_libdir}/libg2c.a -%ifarch ppc -%{_libdir}/nof/libg2c.a +%{_libdir32}/libgfortran.a %endif -%if %{with multilib} -%{_libdir32}/libg2c.a +%{_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}/gij +%attr(755,root,root) %{_bindir}/gjnih +%attr(755,root,root) %{_bindir}/grepjar +%attr(755,root,root) %{_bindir}/grmi* %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* -%{_mandir}/man1/jcf-* -%{_mandir}/man1/jv-* -%{_mandir}/man1/gij* +%{_mandir}/man1/fastjar* %{_mandir}/man1/gcj* +%{_mandir}/man1/gjnih* %{_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* +%{_mandir}/man1/grmi* +%{_mandir}/man1/jcf-* +%{_mandir}/man1/jv-* %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}/lib-org*.so.*.*.* -%ifarch ppc -%attr(755,root,root) %{_libdir}/nof/lib*cj*.so.* -%endif +%attr(755,root,root) %{_libdir}/libgij.so.*.*.* %{_libdir}/logging.properties +%{_javadir}/libgcj*.jar +%{_mandir}/man1/gij* %files -n libgcj-devel %defattr(644,root,root,755) -%{_includedir}/java -%{_includedir}/javax -%{_includedir}/gcj -%{_includedir}/j*.h -%{_includedir}/gnu/* +%{_includedir}/c++/%{version}/java +%{_includedir}/c++/%{version}/javax +%{_includedir}/c++/%{version}/gcj +%{_includedir}/c++/%{version}/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 -%attr(755,root,root) %{_libdir}/lib-org-*.so -%{_libdir}/lib-org-*.la -%ifarch ppc -%{_libdir}/nof/lib*cj*.la -%attr(755,root,root) %{_libdir}/nof/lib*cj*.so -%endif +%{_libdir}/libgij.la +%attr(755,root,root) %{_libdir}/libgij.so %{_pkgconfigdir}/libgcj.pc %files -n libgcj-static %defattr(644,root,root,755) %{_libdir}/lib*cj*.a -%{_libdir}/lib-org-*.a -%ifarch ppc -%{_libdir}/nof/lib*cj*.a -%endif +%{_libdir}/libgij.a %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.*.*.* %files -n libffi-devel %defattr(644,root,root,755) @@ -1195,33 +1242,38 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/libffi.a %endif -%if %{with ada} -%files ada +%if %{with objc} +%files objc %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 +%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 -%{_datadir}/gnat -%{_infodir}/gnat* +%attr(755,root,root) %{_libdir}/libobjc.so +%{_libdir}/libobjc.la +%{_libdir}/gcc/*/*/include/objc -%files -n libgnat +%files -n libobjc %defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/libgnarl*.so.1 -%attr(755,root,root) %{_libdir}/libgnat*.so.1 +%doc libobjc/{ChangeLog,README*} +%if %{with multilib} +%attr(755,root,root) %{_libdir32}/libobjc.so.*.*.* +%endif +%attr(755,root,root) %{_libdir}/libobjc.so.*.*.* -%files -n libgnat-static +%files -n libobjc-static %defattr(644,root,root,755) -%{_libdir}/gcc/*/*/adalib/libgnarl.a -%{_libdir}/gcc/*/*/adalib/libgnat.a +%if %{with multilib} +%{_libdir32}/libobjc.a +%endif +%{_libdir}/libobjc.a +%endif + +%if %{with objcxx} +%files objc++ +%defattr(644,root,root,755) +%doc gcc/objcp/ChangeLog +%attr(755,root,root) %{_libdir}/gcc/*/*/cc1objplus %endif