#
# Conditional build:
-# _without_ada - build without ADA support
+# _with_ada - build with ADA support
# _without_java - build without Java support
-#
+# _without_objc - build without objc support
+
%define DASHED_SNAP %{nil}
%define SNAP %(echo %{DASHED_SNAP} | sed -e "s#-##g")
-%define GCC_VERSION 3.2.1
-%define KSI_VERSION pre55
-%define EPOCH 4
+%define GCC_VERSION 3.3
+%define KSI_VERSION 1.1.0.1567
-Summary: GNU Compiler Collection
-Summary(pl): Kolekcja kompilatorów GNU
+Summary: GNU C Compiler
+Summary(pl): Kompilator C GNU
+Summary(pt_BR): C Compilador GNU (GCC)
Name: gcc
Version: %{GCC_VERSION}
-Release: 0.9
-Epoch: %{EPOCH}
+Release: 1
+Epoch: 5
License: GPL
Group: Development/Languages
Source0: ftp://gcc.gnu.org/pub/gcc/releases/gcc-%{GCC_VERSION}/%{name}-%{GCC_VERSION}.tar.bz2
Source1: ftp://ftp.pld.org.pl/people/malekith/ksi/ksi-%{KSI_VERSION}.tar.gz
+# Source1-md5: 66f07491b44f06928fd95b0e65bb8cd3
Source2: %{name}-non-english-man-pages.tar.bz2
-Patch0: %{name}-slibdir.patch
+# Source2-md5: 4736f3422ddfb808423b745629acc321
+Patch0: %{name}-info.patch
Patch1: %{name}-paths.patch
-Patch2: %{name}-ada-no-addr2line.patch
-Patch3: %{name}-ada-no-prefix.o.patch
-Patch4: %{name}-nolocalefiles.patch
-
-Patch6: %{name}-info.patch
+Patch2: %{name}-nolocalefiles.patch
+Patch3: %{name}-ada-link-new-libgnat.patch
# -- stolen patches from RH --
Patch10: gcc32-ada-link.patch
-Patch11: gcc32-attr-visibility.patch
-Patch12: gcc32-attr-visibility2.patch
-Patch13: gcc32-attr-visibility3.patch
-Patch14: gcc32-attr-visibility4.patch
-Patch15: gcc32-attr-visibility5.patch
-Patch16: gcc32-boehm-gc-libs.patch
-Patch17: gcc32-bogus-inline.patch
-Patch18: gcc32-c++-nrv-test.patch
-Patch19: gcc32-c++-pretty_function.patch
-Patch20: gcc32-c++-tsubst-asm.patch
-Patch21: gcc32-cfg-eh.patch
-Patch22: gcc32-debug-pr7241.patch
-
-Patch24: gcc32-duplicate-decl.patch
-Patch25: gcc32-dwarf2-pr6381.patch
-Patch26: gcc32-dwarf2-pr6436-test.patch
-Patch27: gcc32-fde-merge-compat.patch
-Patch28: gcc32-fold-const-associate.patch
-Patch29: gcc32-hard-reg-sharing.patch
-Patch30: gcc32-hard-reg-sharing2.patch
-Patch31: gcc32-i386-default-momit-leaf-frame-pointer.patch
-Patch32: gcc32-i386-memtest-test.patch
-Patch33: gcc32-i386-no-default-momit-leaf-frame-pointer.patch
-Patch34: gcc32-i386-pic-label-thunk.patch
-Patch35: gcc32-i386-profile-olfp.patch
-Patch36: gcc32-inline-label.patch
-Patch37: gcc32-java-no-rpath.patch
-Patch38: gcc32-pr6842.patch
-Patch39: gcc32-sparc-sll1.patch
-Patch40: gcc32-test-rh65771.patch
-Patch41: gcc32-test-rotate.patch
-Patch42: gcc32-tls-dwarf2.patch
-Patch43: gcc32-tls.patch
-Patch44: gcc32-tls2.patch
-Patch45: gcc32-tls3.patch
-Patch46: gcc32-tls4.patch
-Patch47: gcc32-tls5.patch
+Patch11: gcc32-boehm-gc-libs.patch
+Patch12: gcc32-bogus-inline.patch
+Patch13: gcc32-c++-nrv-test.patch
+Patch14: gcc32-c++-tsubst-asm.patch
+Patch15: gcc32-debug-pr7241.patch
+Patch16: gcc32-duplicate-decl.patch
+Patch17: gcc32-dwarf2-pr6381.patch
+Patch18: gcc32-dwarf2-pr6436-test.patch
+Patch19: gcc32-fde-merge-compat.patch
+Patch20: gcc32-i386-memtest-test.patch
+Patch21: gcc32-inline-label.patch
+Patch22: gcc32-java-no-rpath.patch
+Patch23: gcc32-test-rh65771.patch
+Patch24: gcc32-test-rotate.patch
BuildRequires: autoconf
BuildRequires: bison
BuildRequires: fileutils >= 4.0.41
BuildRequires: gcc
-%{!?_without_ada:BuildRequires: gcc-ada}
+%{?_with_ada:BuildRequires: gcc-ada}
BuildRequires: glibc-devel >= 2.2.5-20
BuildRequires: perl-devel
BuildRequires: texinfo >= 4.1
Kompilator, posiadaj±cy du¿e mo¿liwo¶ci optymalizacyjne niezbêdne do
wyprodukowania szybkiego i stablinego kodu wynikowego.
+%description -l pt_BR
+Este pacote adiciona infraestrutura básica e suporte a linguagem C
+ao Gnu Compiler Collection.
+
%package -n libgcc
Summary: Shared gcc library
Summary(pl): Biblioteka gcc
+Summary(pt_BR): Biblioteca runtime para o GCC
Group: Libraries
-Version: %{GCC_VERSION}
+Version: %{GCC_VERSION}
+Obsoletes: libgcc1
%description -n libgcc
Shared gcc library.
%description -n libgcc -l pl
Biblioteka dynamiczna gcc.
+%description -n libgcc -l pt_BR
+Biblioteca runtime para o GCC.
+
%package c++
Summary: C++ support for gcc
Summary(pl): Obs³uga C++ dla gcc
+Summary(pt_BR): Suporte C++ para o gcc
Group: Development/Languages
Obsoletes: egcc-c++
Obsoletes: egcs-c++
du¿ej ilo¶ci obecnych specyfikacji C++, nie zawiera natomiast
standardowych bibliotek C++, które s± w oddzielnym pakiecie.
+%description c++ -l pt_BR
+Este pacote adiciona suporte C++ para o gcc.
+
%description c++ -l tr
Bu paket, GNU C derleyicisine C++ desteði ekler. 'Template'ler ve
aykýrý durum iþleme gibi çoðu güncel C++ tanýmlarýna uyar. Standart
Summary(pl): Biblioteki Obiektowego C
Group: Libraries
Version: %{GCC_VERSION}
+Obsoletes: libobjc1
%description -n libobjc
Objective C Libraries.
%package g77
Summary: Fortran 77 support for gcc
Summary(pl): Obs³uga Fortranu 77 dla gcc
-Group: Development/Languages
+Summary(pt_BR): Suporte Fortran 77 para o GCC
+Group: Development/Languages/Fortran
Version: %{GCC_VERSION}
Obsoletes: egcs-g77
Requires: libg2c = %{GCC_VERSION}
Ten pakiet dodaje obs³ugê Fortranu 77 do kompilatora gcc. Jest
potrzebny do kompilowania programów pisanych w jêzyku Fortran 77.
+%description g77 -l pt_BR
+Suporte Fortran 77 para o GCC.
+
%package -n libg2c
Summary: Fortran 77 Libraries
Summary(pl): Biblioteki Fortranu 77
Group: Libraries
-Version: %{GCC_VERSION}
+Version: %{GCC_VERSION}
%description -n libg2c
Fortran 77 Libraries.
Summary: Static Fortran 77 Libraries
Summary(pl): Statyczne Biblioteki Fortranu 77
Group: Development/Libraries
-Version: %{GCC_VERSION}
+Version: %{GCC_VERSION}
Requires: libg2c = %{GCC_VERSION}
%description -n libg2c-static
%package java
Summary: Java support for gcc
Summary(pl): Obs³uga Javy dla gcc
-Group: Development/Languages
-Version: %{GCC_VERSION}
+Group: Development/Languages/Java
+Version: %{GCC_VERSION}
Requires: %{name} = %{version}
Requires: libgcj >= 3.0.0
+Requires: libgcj-devel >= 3.0.0
+Requires: java-shared
Provides: gcj = %{epoch}:%{GCC_VERSION}-%{release}
-Provides: jar = %{epoch}:%{GCC_VERSION}-%{release}
%description java
This package adds experimental support for compiling Java(tm) programs
do natywnego kodu. Dodatkowo wymagany jest pakiet libgcj, aby mo¿na
by³o przeprowadziæ kompilacjê.
+%package java-tools
+Summary: Shared java tools
+Summary(pl): Wspó³dzielone narzêdzia javy
+Group: Development/Languages/Java
+Version: %{GCC_VERSION}
+Provides: jar = %{epoch}:%{GCC_VERSION}-%{release}
+Provides: java-shared
+Obsoletes: fastjar
+Obsoletes: java-shared
+Obsoletes: jar
+
+%description java-tools
+This package contains tools that are common for every Java(tm) implementation,
+such as rmic or 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(pl): Biblioteki Klas Javy
Group: Libraries
Version: %{GCC_VERSION}
Requires: zlib
+Obsoletes: libgcj3
%description -n libgcj
Java Class Libraries.
Version: %{GCC_VERSION}
Requires: libgcj = %{GCC_VERSION}
Requires: %{name}-java
+Obsoletes: libgcj3-devel
%description -n libgcj-devel
Development files for Java Class Libraries.
%package -n libstdc++
Summary: GNU c++ library
-Summary(pl): Biblioteki GNU C++
+Summary(pl): Biblioteki GNU C++
+Summary(pt_BR): Biblioteca C++ GNU
Group: Libraries
Version: %{GCC_VERSION}
Obsoletes: libg++
+Obsoletes: libstdc++3
%description -n libstdc++
This is the GNU implementation of the standard C++ libraries, along
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
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 documentatino for C++ development
Summary(de): Header-Dateien zur Entwicklung mit C++
-Summary(fr): Fichiers d'en-tête et biblitothèques pour développer en 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
Version: %{GCC_VERSION}
Requires: libstdc++ = %{GCC_VERSION}
-Requires: %{name}-c++
+Requires: %{name}-c++ = %{GCC_VERSION}
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(pl): Statyczna biblioteka standardowa C++
%description -n libstdc++-static -l pl
Statycza biblioteka standardowa C++.
+%package -n libffi
+Summary: Foreign Function Interface library
+Summary(pl): Biblioteka zewnêtrznych wywo³añ funkcji
+Group: Libraries
+Version: %{GCC_VERSION}
+
+%description -n libffi
+The libffi library provides a portable, high level programming
+interface to various calling conventions. This allows a programmer to
+call any function specified by a call interface description at run
+time.
+
+%description -n libffi -l pl
+Biblioteka libffi dostarcza przno¶nego, wysokopoziomowego miêdzymordzia
+do ró¿nych konwencji wywo³añ funkcji. Pozwala to programi¶cie wywo³ywaæ
+dowolne funkcje podaj±c konwencjê wywo³ania w czasie wykonania.
+
+%package -n libffi-devel
+Summary: Development files for Foreign Function Interface library
+Summary(pl): Pliki nag³ówkowe dla libffi
+Group: Development/Libraries
+Version: %{GCC_VERSION}
+Requires: libffi = %{GCC_VERSION}
+
+%description -n libffi-devel
+Development files for Foreign Function Interface library.
+
+%description -n libffi-devel -l pl
+Pliki nag³ówkowe dla libffi.
+
+%package -n libffi-static
+Summary: Static Foreign Function Interface library
+Summary(pl): Statyczna biblioteka libffi
+Group: Development/Libraries
+Version: %{GCC_VERSION}
+Requires: libffi-devel = %{GCC_VERSION}
+
+%description -n libffi-static
+Static Foreign Function Interface library.
+
+%description -n libffi-static -l pl
+Statyczna biblioteka libffi.
+
%package ada
Summary: Ada support for gcc
Summary(pl): Obs³uga Ady do gcc
Group: Development/Languages
-Version: %{GCC_VERSION}
+Version: %{GCC_VERSION}
Requires: libgnat = %{GCC_VERSION}
Requires: gcc = %{GCC_VERSION}
Obsoletes: gcc-gnat
Summary: Ada standard libraries
Summary(pl): Biblioteki standardowe dla Ady
Group: Libraries
-Version: %{GCC_VERSION}
+Version: %{GCC_VERSION}
Obsoletes: gnat
+Obsoletes: libgnat1
%description -n libgnat
This package contains shared libraries needed to run programs written
Summary: Static Ada standard libraries
Summary(pl): Statyczne biblioteki standardowe dla Ady
Group: Libraries
-Version: %{GCC_VERSION}
+Version: %{GCC_VERSION}
Obsoletes: gnat-static
%description -n libgnat-static
%package -n cpp
Summary: The C Pre Processor
Summary(pl): Preprocesor C
+Summary(pt_BR): Preprocessador para a linguagem C
Group: Development/Languages
Version: %{GCC_VERSION}
Obsoletes: egcs-cpp
line control to inform the compiler of where each source line
originally came from.
+%description -n cpp -l es
+Um preprocessador para a linguagem C.
+
%description -n cpp -l pl
Przeprocesor C jest "makro procesorem" który jest automatycznie
u¿ywany przez kompilator C do obróbki kompilowanego programu przed
s± zapamiêtywane informacje o tym, której linii pliku ¼ród³owego
odpowiada fragment pliku wynikowego.
+%description -n cpp -l pt_BR
+O preprocessador C é um "processador de macros", que é utilizado pelo
+compilador C para fazer algumas modificações no seu programa, antes da
+compilação em si. Ele é chamado de "processador de macros" porque
+permite a você definir "macros", que são abreviações para construções
+mais complicadas.
+
+O preprocessador C fornece quatro funcionalidades básicas: inclusão de
+arquivos de cabeçalho; expansão de macros; compilação condicional;
+e controle da numeração das linhas do programa.
+
%prep
%setup -q -a1 -n %{name}-%{GCC_VERSION}
mv ksi-%{KSI_VERSION} gcc/ksi
%patch1 -p1
%patch2 -p1
%patch3 -p1
-%patch4 -p1
-
-%patch10
-%patch11
-%patch12
-%patch13
-%patch14
-%patch15
-%patch16
-%patch17
-%patch18
-%patch19
-%patch20
-%patch21
-%patch22
-
-%patch24
-%patch25
-%patch26
-%patch27
-%patch28
-%patch29
-%patch30
-%patch31
-%patch32
-%patch33
-%patch34
-%patch35
-%patch36
-%patch37
-%patch38
-%patch39
-%patch40
-%patch41
-%patch42
-%patch43
-%patch44
-%patch45
-%patch46
-%patch47
-
-%patch6 -p1
+
+%patch10 -p1
+#%patch11
+#%patch12
+%patch13
+%patch14
+%patch15
+
+%patch16
+%patch17
+%patch18
+%patch19
+%patch20
+%patch21
+%patch22
+%patch23
+%patch24
+
+# because we distribute modified version of gcc...
+perl -pi -e 's/(version.*)";/$1 (PLD Linux)";/' gcc/version.c
+perl -pi -e 's@(bug_report_url.*<URL:).*";@$1http://bugs.pld.org.pl/>";@' gcc/version.c
%build
# cd gcc && autoconf; cd ..
--enable-shared \
--enable-threads=posix \
--enable-__cxa_atexit \
- --enable-languages="c,c++,f77,gcov,objc,ksi%{!?_without_ada:,ada}%{!?_without_java:,java}" \
+ --enable-languages="c,c++,f77%{?!_without_objc:,objc}%{?_with_ada:,ada}%{!?_without_java:,java},ksi" \
--enable-c99 \
--enable-long-long \
--enable-multilib \
PATH=$PATH:/sbin:%{_sbindir}
# this dirty hack is relict of setting, where objdir is subdir of srcdir
-%if %{!?_without_ada:1}%{?_without_ada:0}
+%if 0%{?_with_ada:1}
sed -e 's/srcdir=\$(fsrcdir)/srcdir=\$(fsrcdir) VPATH=\$(fsrcdir)/' \
gcc/ada/Makefile > makefile.tmp
mv -f makefile.tmp gcc/ada/Makefile
mandir=%{_mandir} \
infodir=%{_infodir}
-%if %{!?_without_ada:1}%{?_without_ada:0}
+%if 0%{?_with_ada:1}
%{__make} -C obj-%{_target_platform}/gcc gnatlib gnattools gnatlib-shared \
LDFLAGS_FOR_TARGET="%{rpmldflags}" \
mandir=%{_mandir} \
infodir=%{_infodir}
-
-# make Gnat Reference Manual
-%{__make} -C obj-%{_target_platform}/gcc/ada doc
%endif
%install
PATH=$PATH:/sbin:%{_sbindir}
%{__make} install \
- prefix=$RPM_BUILD_ROOT%{_prefix} \
- mandir=$RPM_BUILD_ROOT%{_mandir} \
- infodir=$RPM_BUILD_ROOT%{_infodir} \
- slibdir=$RPM_BUILD_ROOT/lib
+ DESTDIR=$RPM_BUILD_ROOT
ln -sf gcc $RPM_BUILD_ROOT%{_bindir}/cc
-echo .so gcc.1 > $RPM_BUILD_ROOT%{_mandir}/man1/cc.1
+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
+echo ".so g77.1" > $RPM_BUILD_ROOT%{_mandir}/man1/f77.1
-%if %{!?_without_ada:1}%{?_without_ada:0}
+%if 0%{?_with_ada:1}
# move ada shared libraries to proper place...
-mv $RPM_BUILD_ROOT%{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/*-*so.1 \
- $RPM_BUILD_ROOT%{_libdir}
-rm -f $RPM_BUILD_ROOT%{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/*.so.1
-(cd $RPM_BUILD_ROOT%{_libdir} && \
- ln -s libgnat-*so.1 libgnat.so.1 && \
- ln -s libgnarl-*so.1 libgnarl.so.1)
+mv $RPM_BUILD_ROOT%{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/*.so.1 \
+ $RPM_BUILD_ROOT%{_libdir}/
+# check if symlink to be made is valid
+test -f $RPM_BUILD_ROOT%{_libdir}/libgnat-3.15.so.1
+ln -sf libgnat-3.15.so.1 $RPM_BUILD_ROOT%{_libdir}/libgnat-3.15.so
+ln -sf libgnarl-3.15.so.1 $RPM_BUILD_ROOT%{_libdir}/libgnarl-3.15.so
+ln -sf libgnat-3.15.so $RPM_BUILD_ROOT%{_libdir}/libgnat.so
+ln -sf libgnarl-3.15.so $RPM_BUILD_ROOT%{_libdir}/libgnarl.so
%endif
ln -sf %{_bindir}/cpp $RPM_BUILD_ROOT/lib/cpp
cd ..
-%if %{!?_without_ada:1}%{?_without_ada:0}
-install obj-%{_target_platform}/gcc/ada/gnat_rm.info* $RPM_BUILD_ROOT%{_infodir}
-install obj-%{_target_platform}/gcc/ada/gnat_ug_unx.info* $RPM_BUILD_ROOT%{_infodir}
-%endif
-
%if %{!?_without_java:1}%{?_without_java:0}
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
+%endif
+%if %{?!_without_objc:1}0
cp -f libobjc/README gcc/objc/README.libobjc
%endif
+# avoid -L poisoning in *.la - there should be only -L%{_libdir}/gcc-lib/*/%{version}
+for f in libstdc++.la libsupc++.la %{!?_without_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 \
+ %{!?_without_java:libgcj.la lib-org-w3c-dom.la lib-org-xml-sax.la libffi.la} \
+ %{!?_without_objc:libobjc.la}; do
+ perl -pi -e "s@^libdir='.*@libdir='/usr/lib'@" $RPM_BUILD_ROOT%{_libdir}/$f
+done
+
bzip2 -dc %{SOURCE2} | 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-lib/%{_target_cpu}*/*/)
+mkdir $gccdir/tmp
+# we have to save these however
+mv -f $gccdir/include/{%{?!_without_objc:objc,}g2c.h,syslimits.h%{?!_without_java:,gcj}} $gccdir/tmp
+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/
+
%find_lang %{name}
%find_lang libstdc\+\+
%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 %{name}.lang
%defattr(644,root,root,755)
%lang(ja) %{_mandir}/ja/man1/gcc.1*
%{_infodir}/gcc*
+%attr(755,root,root) %{_slibdir}/lib*.so
%{_libdir}/gcc-lib/%{_target_cpu}*/*/libgcc.a
%{_libdir}/gcc-lib/%{_target_cpu}*/*/libgcc_eh.a
%{_libdir}/gcc-lib/%{_target_cpu}*/*/specs
%attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1
%attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/collect2
-%{_libdir}/gcc-lib/%{_target_cpu}*/*/include/float.h
-%{_libdir}/gcc-lib/%{_target_cpu}*/*/include/iso646.h
-%{_libdir}/gcc-lib/%{_target_cpu}*/*/include/limits.h
-%{_libdir}/gcc-lib/%{_target_cpu}*/*/include/stdarg.h
-%{_libdir}/gcc-lib/%{_target_cpu}*/*/include/stdbool.h
-%{_libdir}/gcc-lib/%{_target_cpu}*/*/include/stddef.h
-%{_libdir}/gcc-lib/%{_target_cpu}*/*/include/syslimits.h
-%{_libdir}/gcc-lib/%{_target_cpu}*/*/include/varargs.h
-%ifarch %{ix86}
-%{_libdir}/gcc-lib/%{_target_cpu}*/*/include/mmintrin.h
-%{_libdir}/gcc-lib/%{_target_cpu}*/*/include/xmmintrin.h
-%endif
-%ifarch ppc
-%{_libdir}/gcc-lib/%{_target_cpu}*/*/include/altivec.h
-%{_libdir}/gcc-lib/%{_target_cpu}*/*/include/ppc-asm.h
-%endif
+%{_libdir}/gcc-lib/%{_target_cpu}*/*/include/*.h
+%exclude %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/g2c.h
%files -n libgcc
%defattr(644,root,root,755)
-%attr(755,root,root) %{_slibdir}/lib*.so*
+%attr(755,root,root) %{_slibdir}/lib*.so.*
%files c++
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/%{_target_cpu}*-g++
%attr(755,root,root) %{_bindir}/c++
%attr(755,root,root) %{_bindir}/%{_target_cpu}*-c++
-%attr(755,root,root) %{_bindir}/c++filt
%attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1plus
-%attr(755,root,root) %{_libdir}/libsupc++.la
+%{_libdir}/libsupc++.la
%ifarch ppc
-%attr(755,root,root) %{_libdir}/nof/libsupc++.la
+%{_libdir}/nof/libsupc++.la
%{_libdir}/nof/libsupc++.a
%endif
%{_libdir}/libsupc++.a
%{_mandir}/man1/g++.1*
-%lang(es) %{_mandir}/es/man1/c++filt.1*
%lang(ja) %{_mandir}/ja/man1/g++.1*
%files -n libstdc++ -f libstdc++.lang
%dir %{_includedir}/c++
%{_includedir}/c++/%{GCC_VERSION}
%attr(755,root,root) %{_libdir}/libstdc++.so
-%attr(755,root,root) %{_libdir}/libstdc++.la
+%{_libdir}/libstdc++.la
%ifarch ppc
%attr(755,root,root) %{_libdir}/nof/libstdc++.so
-%attr(755,root,root) %{_libdir}/nof/libstdc++.la
+%{_libdir}/nof/libstdc++.la
%endif
%files -n libstdc++-static
%{_libdir}/nof/libstdc++.a
%endif
+%if %{?!_without_objc:1}0
%files objc
%defattr(644,root,root,755)
%doc gcc/objc/READ*
%attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1obj
%attr(755,root,root) %{_libdir}/libobjc.so
-%attr(755,root,root) %{_libdir}/libobjc.la
+%{_libdir}/libobjc.la
%ifarch ppc
%attr(755,root,root) %{_libdir}/nof/libobjc.so
-%attr(755,root,root) %{_libdir}/nof/libobjc.la
+%{_libdir}/nof/libobjc.la
%endif
%{_libdir}/gcc-lib/%{_target_cpu}*/*/include/objc
%ifarch ppc
%{_libdir}/nof/libobjc.a
%endif
+%endif
%files g77
%defattr(644,root,root,755)
%{_infodir}/g77*
%attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/f771
%{_libdir}/libfrtbegin.a
-%attr(755,root,root) %{_libdir}/libg2c.la
+%{_libdir}/libg2c.la
%attr(755,root,root) %{_libdir}/libg2c.so
%ifarch ppc
%{_libdir}/nof/libfrtbegin.a
-%attr(755,root,root) %{_libdir}/nof/libg2c.la
+%{_libdir}/nof/libg2c.la
%attr(755,root,root) %{_libdir}/nof/libg2c.so
%endif
%{_libdir}/gcc-lib/%{_target_cpu}*/*/include/g2c.h
%attr(755,root,root) %{_bindir}/gij
%attr(755,root,root) %{_bindir}/jcf-dump
%attr(755,root,root) %{_bindir}/jv-*
-%attr(755,root,root) %{_bindir}/rmi*
-%attr(755,root,root) %{_bindir}/jar
%attr(755,root,root) %{_bindir}/grepjar
+%attr(755,root,root) %{_bindir}/%{_target_cpu}*-gcj
%attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/jc1
%attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/jvgenmain
%{_infodir}/gcj*
%{_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)
%attr(755,root,root) %{_bindir}/addr2name.awk
-%attr(755,root,root) %{_libdir}/lib*cj*.so.*
+%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
%defattr(644,root,root,755)
%{_includedir}/java
%{_includedir}/javax
-%{_includedir}/org
+#%%{_includedir}/org
%{_includedir}/gcj
%{_includedir}/j*.h
%{_includedir}/gnu/*
%{_libdir}/gcc-lib/%{_target_cpu}*/*/include/gcj
+%dir %{_libdir}/security
%{_libdir}/security/*
%dir %{_datadir}/java
%{_datadir}/java/libgcj*.jar
%{_libdir}/lib*cj.spec
-%attr(755,root,root) %{_libdir}/lib*cj*.la
+%{_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.spec
-%attr(755,root,root) %{_libdir}/nof/lib*cj*.la
+%{_libdir}/nof/lib*cj*.la
%attr(755,root,root) %{_libdir}/nof/lib*cj*.so
%endif
%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
+
+%files -n libffi
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libffi-*.so
+
+%files -n libffi-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libffi.so
+%{_libdir}/libffi.la
+%{_includedir}/ffi*
+
+%files -n libffi-static
+%defattr(644,root,root,755)
+%{_libdir}/libffi.a
%endif
-%if %{!?_without_ada:1}%{?_without_ada:0}
+%if 0%{?_with_ada:1}
%files ada
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/gnat1
%{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/Makefile.adalib
%attr(755,root,root) %{_bindir}/gnat*
%{_infodir}/gnat*
-%attr(755,root,root) %{_libdir}/libgnat.so.1
-%attr(755,root,root) %{_libdir}/libgnarl.so.1
+%attr(755,root,root) %{_libdir}/libgnat*.so
+%attr(755,root,root) %{_libdir}/libgnarl*.so
%files -n libgnat
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libgna*-*so.1
+%attr(755,root,root) %{_libdir}/libgna*.so.1
%files -n libgnat-static
%defattr(644,root,root,755)
%defattr(644,root,root,755)
%attr(755,root,root) %{_slibdir}/cpp
%attr(755,root,root) %{_bindir}/cpp
-%attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cpp0
-%attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/tradcpp0
%{_mandir}/man1/cpp.1*
%lang(ja) %{_mandir}/ja/man1/cpp.1*
%{_infodir}/cpp*