#
+# TODO:
+# checking for XTestQueryExtension in -lXtst... no
+# configure: error: libXtst not found, required by java.awt.Robot
+# make[2]: *** [configure-target-libjava] Error 1
+#
# Conditional build:
%bcond_without ada # build without ADA support
%bcond_without cxx # build without C++ support
Summary(pt_BR): Coleção dos compiladores GNU: o compilador C e arquivos compartilhados
Name: gcc
Version: 4.1.0
-%define _snap 20051019T0822UTC
-Release: 0.%{_snap}.1
+%define _snap 20051126r107546
+Release: 0.%{_snap}.2
Epoch: 5
License: GPL v2+
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: 17f1799208df6e0142d3af55e03e0eed
+# Source0-md5: 75028aa85a2c604505a8706c6c813c94
Source1: %{name}-optimize-la.pl
Patch0: %{name}-info.patch
Patch1: %{name}-nolocalefiles.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
+# -fvisibility fixes...
+Patch6: %{name}-pr19664_gnu_internal.patch
+Patch7: %{name}-pr19664_libstdc++.patch
+
+#Patch9: %{name}-enable-java-awt-qt.patch NEEDS UPDATE
# PRs
Patch10: %{name}-pr7776.patch
Patch11: %{name}-pr20297.patch
-Patch12: %{name}-pr22429.patch
-Patch13: %{name}-pr22533.patch
-Patch14: %{name}-x87-mmx-switch.patch
-Patch15: %{name}-x87-mmx-eh.patch
+Patch12: %{name}-pr22533.patch
+
+#Patch14: %{name}-x87-mmx-switch.patch NEEDS UPDATE
+#Patch15: %{name}-x87-mmx-eh.patch NEEDS UPDATE
Patch16: %{name}-pr23948.patch
Patch17: %{name}-pr19505.patch
-Patch18: %{name}-pr20606_pr24069.patch
-Patch19: %{name}-pr24419.patch
-Patch20: %{name}-pr24172.patch
-Patch21: %{name}-pr24295.patch
-Patch22: %{name}-pr20928.patch
+Patch18: %{name}-pr24419.patch
+Patch19: %{name}-pr24669.patch
+Patch20: %{name}-pr17390.patch
URL: http://gcc.gnu.org/
+#{?with_java:BuildRequires: QtGui-devel >= 4.0.1}
+%{?with_java:BuildRequires: alsa-lib-devel}
BuildRequires: autoconf
%{?with_tests:BuildRequires: autogen}
BuildRequires: automake
BuildRequires: binutils >= 2:2.15.94.0.1
BuildRequires: bison
%{?with_java:BuildRequires: cairo-devel >= 0.5.0}
+%{?with_java:BuildRequires: dssi}
%{?with_tests:BuildRequires: dejagnu}
BuildRequires: fileutils >= 4.0.41
BuildRequires: flex
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 multilib}
+BuildRequires: glibc-devel >= 6:2.3.4-1.5
+%ifarch %{x8664}
+BuildRequires: glibc-devel(i686)
+%endif
+%ifarch ppc64
+BuildRequires: glibc-devel(ppc)
+%endif
+%ifarch s390x
+BuildRequires: glibc-devel(s390)
+%endif
+%ifarch sparc64
+BuildRequires: glibc-devel(sparc)
+%endif
+%else
+BuildRequires: glibc-devel >= 2.2.5-20
+%endif
+#{?with_java:BuildRequires: gtk+2-devel >= 2.4.0}
%if %{with fortran}
BuildRequires: gmp-devel
BuildRequires: libmpfr-devel
%endif
+%{?with_java:BuildRequires: libxslt-devel}
%{?with_java:BuildRequires: pango-devel}
BuildRequires: perl-devel
%{?with_java:BuildRequires: pkgconfig}
%prep
#setup -q -n gcc-%{version}
-%setup -q -n gcc-4.1-%{_snap}
+%setup -q -n gcc-4_1-branch
%patch0 -p1
%patch1 -p1
-%{!?debug:%patch2 -p1}
+%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
+
+# -fvisbility fixes...
%patch6 -p1
+%patch7 -p1
+#patch9 -p1 NEEDS UPDATE
# PRs
%patch10 -p1
%patch11 -p1
%patch12 -p1
-%patch13 -p1
-#patch14 -p1 NEEDS UPDATE
+
+%ifarch %{ix86} %{x8664}
+#patch14 -p1
#patch15 -p1
+%endif
%patch16 -p1
%patch17 -p1
%patch18 -p1
%patch19 -p1
%patch20 -p1
-%patch21 -p1
-%patch22 -p1
# because we distribute modified version of gcc...
perl -pi -e 's/(version.*)";/$1 (PLD Linux)";/' gcc/version.c
cd gcc
%{__autoconf}
cd ..
+cd libjava/classpath
+%{__autoconf}
+cd ../..
cp -f /usr/share/automake/config.sub .
rm -rf obj-%{_target_platform}
--libexecdir=%{_libdir} \
--infodir=%{_infodir} \
--mandir=%{_mandir} \
+ --x-libraries=/usr/X11R6/%{_lib} \
--enable-shared \
--enable-threads=posix \
--enable-__cxa_atexit \
--enable-libgcj \
--enable-libgcj-multifile \
--enable-libgcj-database \
+ --enable-gtk-peer \
--enable-gtk-cairo \
+ --enable-jni \
+ --enable-xmlj \
+ --enable-alsa \
+ --enable-dssi \
%endif
%{_target_platform}
+# not finished yet
+# --enable-java-awt=gtk \
+
+# horrible compile time hog with perfect tree checking
+# --enable-checking=all \
+
cd ..
%{__make} -C obj-%{_target_platform} \
GCJFLAGS="%{rpmcflags}" \
BOOT_CFLAGS="%{rpmcflags}" \
STAGE1_CFLAGS="%{rpmcflags} -O0" \
+ GNATLIBCFLAGS="%{rpmcflags}" \
LDFLAGS_FOR_TARGET="%{rpmldflags}" \
mandir=%{_mandir} \
infodir=%{_infodir}
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-4.1.so.1
+ln -sf libgnat-4.1.so.1 $RPM_BUILD_ROOT%{_libdir}/libgnat-4.1.so
+ln -sf libgnarl-4.1.so.1 $RPM_BUILD_ROOT%{_libdir}/libgnarl-4.1.so
+ln -sf libgnat-4.1.so $RPM_BUILD_ROOT%{_libdir}/libgnat.so
+ln -sf libgnarl-4.1.so $RPM_BUILD_ROOT%{_libdir}/libgnarl.so
%endif
cd ..
%doc gcc/fortran/ChangeLog
%attr(755,root,root) %{_bindir}/g95
%attr(755,root,root) %{_bindir}/gfortran
+%attr(755,root,root) %{_bindir}/*-gfortran
%{_infodir}/gfortran*
%attr(755,root,root) %{_libdir}/gcc/*/*/f951
%if %{with multilib}
%doc libjava/{ChangeLog,LIBGCJ_LICENSE,NEWS,README,THANKS}
%attr(755,root,root) %{_bindir}/addr2name.awk
%attr(755,root,root) %{_bindir}/gij
+%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}/lib*cj*.so.*.*.*
%{_includedir}/c++/%{version}/javax
%{_includedir}/c++/%{version}/gcj
%{_includedir}/c++/%{version}/gnu
+%{_libdir}/classpath/libgjsmalsa.la
+%attr(755,root,root) %{_libdir}/classpath/libgjsmalsa.so
+%{_libdir}/classpath/libgjsmdssi.la
+%attr(755,root,root) %{_libdir}/classpath/libgjsmdssi.so
%{_libdir}/gcc/*/*/include/gcj
%{_libdir}/gcc/*/*/include/jawt.h
%{_libdir}/gcc/*/*/include/jawt_md.h