#
# TODO:
-# /usr/include/omp.h
-# <multilib>
-# /usr/lib/libgomp.a
-# /usr/lib/libgomp.la
-# /usr/lib/libgomp.so.1.0.0
-# </multilib>
-# /usr/lib/libgomp.spec
-# /usr/lib64/classpath/libxmlj.la
-# /usr/lib64/classpath/libxmlj.so.0.0.0
-# /usr/lib64/libgomp.a
-# /usr/lib64/libgomp.la
-# /usr/lib64/libgomp.so.1.0.0
-# /usr/lib64/libgomp.spec
-# /usr/share/classpath/tools/tools.zip
+# - libgomp subpackage.
#
# Conditional build:
%bcond_without ada # build without ADA 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_without multilib # build without multilib support (it needs glibc[32&64]-devel)
+%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
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.2.0
-%define _snap 20060725r115734
-Release: 0.%{_snap}.1
+%define _major_ver 4.2
+%define _minor_ver 0
+Version: %{_major_ver}.%{_minor_ver}
+%define _snap 20061030r118195
+Release: 0.%{_snap}.2
#Release: 2
Epoch: 5
License: GPL v2+
#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.2-%{_snap}.tar.bz2
-# Source0-md5: 4a1609034f22de15e9a94e0938a6595b
+# Source0-md5: 5aa7973cf26b71a34a39431c9f9ecb7c
Source1: %{name}-optimize-la.pl
Patch0: %{name}-info.patch
Patch1: %{name}-nolocalefiles.patch
Patch11: %{name}-pr19505.patch
Patch12: %{name}-pr20218.patch
Patch13: %{name}-pr24669.patch
+Patch14: %{name}-force_jar_wrapper.patch
+Patch15: %{name}-pr29512.patch
URL: http://gcc.gnu.org/
BuildRequires: autoconf
%{?with_tests:BuildRequires: autogen}
BuildRequires: glibc-devel(sparc)
%endif
%endif
-BuildRequires: perl-devel
+BuildRequires: perl-base
BuildRequires: rpmbuild(macros) >= 1.211
BuildRequires: texinfo >= 4.1
BuildRequires: zlib-devel
%define _libdir32 /usr/lib
%endif
-# temporary workaround for bootstrap failures.
-%define specflags -O1
+%define filterout -fwrapv -fno-strict-aliasing -fsigned-char
%description
A compiler aimed at integrating all the optimizations and features
%prep
#setup -q -n gcc-%{version}
-%setup -q -n trunk
+%setup -q -n gcc-4_2-branch
%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch11 -p1
%patch12 -p1
%patch13 -p1
+%patch14 -p1
+%patch15 -p1
# because we distribute modified version of gcc...
sed -i 's:#define VERSUFFIX.*:#define VERSUFFIX " (PLD-Linux)":' gcc/version.c
--enable-secureplt \
%endif
%if %{with cxx}
- --with-gxx-include-dir=%{_includedir}/c++ \
+ --with-gxx-include-dir=%{_includedir}/c++/%{version} \
--disable-libstdcxx-pch \
--enable-__cxa_atexit \
--enable-libstdcxx-allocator=new \
# normalize libdir, to avoid propagation of unnecessary RPATHs by libtool
for f in libgomp.la libmudflap.la libmudflapth.la libssp.la libssp_nonshared.la \
%{?with_cxx:libstdc++.la libsupc++.la} \
- %{?with_fortran:libgfortran.la libgfortranbegin.la} \
+ %{?with_fortran:libgfortran.la} \
%if %{with java}
libgcj.la libgcj-tools.la libffi.la lib-gnu-awt-xlib.la \
gcj-%{version}/libgtkpeer.la gcj-%{version}/libjawt.la gcj-%{version}/libjvm.la gcj-%{version}/libqtpeer.la \
+ gcj-%{version}/libgjsmalsa.la gcj-%{version}/libgjsmdssi.la gcj-%{version}/libxmlj.la \
%endif
%{?with_objc:libobjc.la};
do
%if %{with multilib}
for f in libgomp.la libmudflap.la libmudflapth.la libssp.la libssp_nonshared.la \
%{?with_cxx:libstdc++.la libsupc++.la} \
- %{?with_fortran:libgfortran.la libgfortranbegin.la} \
+ %{?with_fortran:libgfortran.la} \
%{?with_java:libffi.la} \
%{?with_objc:libobjc.la};
do
mkdir $gccdir/tmp
# we have to save these however
-%{?with_java:mv $gccdir/include/{gcj,libffi/ffitarget.h,jawt.h,jawt_md.h,jni.h,jni_md.h,jvmpi.h} $gccdir/tmp}
+%{?with_java:mv $gccdir/include/{gcj,ffi.h,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/mf-runtime.h $gccdir/tmp
mv $gccdir/include/syslimits.h $gccdir/tmp
%dir %{_libdir}/gcc
%dir %{_libdir}/gcc/*
%dir %{_libdir}/gcc/*/*
-
%attr(755,root,root) %{_bindir}/*-gcc*
%attr(755,root,root) %{_bindir}/gcc
%attr(755,root,root) %{_bindir}/gccbug
%attr(755,root,root) %{_bindir}/gcov
%attr(755,root,root) %{_bindir}/cc
%attr(755,root,root) %{_bindir}/cpp
-
%{_mandir}/man1/cc.1*
%{_mandir}/man1/cpp.1*
%{_mandir}/man1/gcc.1*
%{_mandir}/man1/gcov.1*
-
%{_infodir}/cpp*
%{_infodir}/gcc*
-
%attr(755,root,root) /lib/cpp
-
%attr(755,root,root) %{_slibdir}/lib*.so
%{_libdir}/libssp.a
%{_libdir}/libssp.la
%{_libdir}/gcc/*/*/crt*.o
%attr(755,root,root) %{_libdir}/gcc/*/*/cc1
%attr(755,root,root) %{_libdir}/gcc/*/*/collect2
-
%dir %{_libdir}/gcc/*/*/include
%dir %{_libdir}/gcc/*/*/include/ssp
%{_libdir}/gcc/*/*/include/ssp/*.h
%files -n libstdc++-devel
%defattr(644,root,root,755)
%doc libstdc++-v3/docs/html
-%dir %{_includedir}/c++
+%{_includedir}/c++
+%{_includedir}/c++/%{version}
%{_includedir}/extc++.h
%{_includedir}/stdc++.h
%{_includedir}/stdtr1c++.h
-%{_includedir}/c++
%if %{with java}
-%exclude %{_includedir}/c++/java
-%exclude %{_includedir}/c++/javax
-%exclude %{_includedir}/c++/gcj
-%exclude %{_includedir}/c++/gnu
+%exclude %{_includedir}/c++/%{version}/java
+%exclude %{_includedir}/c++/%{version}/javax
+%exclude %{_includedir}/c++/%{version}/gcj
+%exclude %{_includedir}/c++/%{version}/gnu
%endif
%if %{with multilib}
%{_libdir32}/libstdc++.la
%attr(755,root,root) %{_bindir}/*-gfortran
%{_infodir}/gfortran*
%attr(755,root,root) %{_libdir}/gcc/*/*/f951
+%{_libdir}/gcc/*/*/libgfortranbegin.a
%if %{with multilib}
-%{_libdir32}/libgfortranbegin.a
-%{_libdir32}/libgfortranbegin.la
+%{_libdir}/gcc/*/*/32/libgfortranbegin.a
%{_libdir32}/libgfortran.la
%attr(755,root,root) %{_libdir32}/libgfortran.so
%endif
-%{_libdir}/libgfortranbegin.a
-%{_libdir}/libgfortranbegin.la
%{_libdir}/libgfortran.la
%attr(755,root,root) %{_libdir}/libgfortran.so
%{_mandir}/man1/g95.1*
%doc libjava/{ChangeLog,LIBGCJ_LICENSE,NEWS,README,THANKS}
%attr(755,root,root) %{_bindir}/addr2name.awk
%attr(755,root,root) %{_bindir}/gij
+%attr(755,root,root) %{_libdir}/libgcj-tools.so.*.*.*
%attr(755,root,root) %{_libdir}/libgcj.so.*.*.*
-%attr(755,root,root) %{_libdir}/libgcj-tools.so.7.0.0
+%attr(755,root,root) %{_libdir}/libgcj_bc.so
+%attr(755,root,root) %{_libdir}/libgcj_bc.so.*.*.*
%attr(755,root,root) %{_libdir}/libgij.so.*.*.*
%attr(755,root,root) %{_libdir}/lib-gnu-awt-xlib.so.*.*.*
-%dir %{_libdir}/classpath
-%attr(755,root,root) %{_libdir}/classpath/libgjsmalsa.so*
-%attr(755,root,root) %{_libdir}/classpath/libgjsmdssi.so*
%dir %{_libdir}/gcj-%{version}
%{_libdir}/gcj-%{version}/classmap.db
-%attr(755,root,root) %{_libdir}/gcj-%{version}/libgtkpeer.so.*.*.*
-%attr(755,root,root) %{_libdir}/gcj-%{version}/libjawt.so.*.*.*
-%attr(755,root,root) %{_libdir}/gcj-%{version}/libjvm.so.*.*.*
-%attr(755,root,root) %{_libdir}/gcj-%{version}/libqtpeer.so.*.*.*
+%attr(755,root,root) %{_libdir}/gcj-%{version}/libgjsmalsa.so*
+%attr(755,root,root) %{_libdir}/gcj-%{version}/libgjsmdssi.so*
+%attr(755,root,root) %{_libdir}/gcj-%{version}/libgtkpeer.so
+%attr(755,root,root) %{_libdir}/gcj-%{version}/libjawt.so
+%attr(755,root,root) %{_libdir}/gcj-%{version}/libjvm.so
+%attr(755,root,root) %{_libdir}/gcj-%{version}/libqtpeer.so
+%attr(755,root,root) %{_libdir}/gcj-%{version}/libxmlj.so*
%{_libdir}/logging.properties
%{_javadir}/libgcj*.jar
%{_mandir}/man1/gij*
%files -n libgcj-devel
%defattr(644,root,root,755)
-%{_includedir}/c++/java
-%{_includedir}/c++/javax
-%{_includedir}/c++/gcj
-%{_includedir}/c++/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/jni_md.h
%{_libdir}/gcc/*/*/include/jvmpi.h
+%{_libdir}/gcj-%{version}/libgjsmalsa.la
+%{_libdir}/gcj-%{version}/libgjsmdssi.la
+%{_libdir}/gcj-%{version}/libgtkpeer.la
+%{_libdir}/gcj-%{version}/libjawt.la
+%{_libdir}/gcj-%{version}/libjvm.la
+%{_libdir}/gcj-%{version}/libqtpeer.la
+%{_libdir}/gcj-%{version}/libxmlj.la
%dir %{_libdir}/security
%{_libdir}/security/*
%{_libdir}/libgcj.spec
-%attr(755,root,root) %{_libdir}/libgcj.so
-%{_libdir}/libgcj.la
-%attr(755,root,root) %{_libdir}/libgcj-tools.so
%{_libdir}/libgcj-tools.la
-%attr(755,root,root) %{_libdir}/libgij.so
+%attr(755,root,root) %{_libdir}/libgcj-tools.so
+%{_libdir}/libgcj.la
+%attr(755,root,root) %{_libdir}/libgcj.so
%{_libdir}/libgij.la
-%attr(755,root,root) %{_libdir}/lib-gnu-awt-xlib.so
+%attr(755,root,root) %{_libdir}/libgij.so
%{_libdir}/lib-gnu-awt-xlib.la
-%attr(755,root,root) %{_libdir}/gcj-%{version}/libgtkpeer.so
-%{_libdir}/gcj-%{version}/libgtkpeer.la
-%attr(755,root,root) %{_libdir}/gcj-%{version}/libjawt.so
-%{_libdir}/gcj-%{version}/libjawt.la
-%attr(755,root,root) %{_libdir}/gcj-%{version}/libjvm.so
-%{_libdir}/gcj-%{version}/libjvm.la
-%attr(755,root,root) %{_libdir}/gcj-%{version}/libqtpeer.so
-%{_libdir}/gcj-%{version}/libqtpeer.la
-%{_pkgconfigdir}/libgcj.pc
+%attr(755,root,root) %{_libdir}/lib-gnu-awt-xlib.so
+%{_pkgconfigdir}/libgcj-%{_major_ver}.pc
%files -n libgcj-static
%defattr(644,root,root,755)
-%{_libdir}/libgcj.a
+%{_libdir}/gcj-%{version}/libjvm.a
%{_libdir}/libgcj-tools.a
+%{_libdir}/libgcj.a
+%{_libdir}/libgcj_bc.a
%{_libdir}/libgij.a
-%{_libdir}/lib-gnu-awt-xlib.a
-%{_libdir}/gcj-%{version}/libjvm.a
-# needs check.
-#{_libdir}/gcj-%{version}/libgtkpeer.a
-#{_libdir}/gcj-%{version}/libjawt.a
-#{_libdir}/gcj-%{version}/libqtpeer.a
%files -n libffi
%defattr(644,root,root,755)
%files -n libffi-devel
%defattr(644,root,root,755)
+%{_libdir}/gcc/*/*/include/ffi.h
%{_libdir}/gcc/*/*/include/ffitarget.h
%if %{with multilib}
%attr(755,root,root) %{_libdir32}/libffi.so
%endif
%attr(755,root,root) %{_libdir}/libffi.so
%{_libdir}/libffi.la
-%{_includedir}/ffi.h
%files -n libffi-static
%defattr(644,root,root,755)