%define gcc_version 4.3.0 %define __gnuversion 4.3.0 %define __gnufullversion 4.3.0 #%define __cvscodate svn20061005 %define __unamer %(uname -r) %define __arch %(uname -p) %ifarch ppc ppc64 %define __arch64 ppc64 %else %define __arch64 x86_64 %endif %define gcc_target_platform %{__arch}-apple-darwin%{__unamer} Summary: The GNU Compiler Collection: gcc, g++, and g95 Name: gcc %define version %{__gnuversion} Version: %{version} #Release: %{__cvscodate}b Release: 10.5hepx1e #Source: localhost:/%{name}-%{version}-%{__cvscodate}.tar.gz Source: localhost:/%{name}-%{version}.tar.bz2 Group: Development/Languages License: Apple Public Source License, GPL BuildRoot: %{_tmppath}/%{name}-root Requires(post): alternatives Requires(postun): alternatives Requires: alternatives gmp mpfr BuildRequires: gmp-devel mpfr-devel %description The GNU Compiler Collection: gcc, g++, and gfortran. %prep #%setup -q -n %{name}-%{version}-%{__cvscodate} %setup -q -n %{name}-%{version} %build export CPPFLAGS='-I%{_prefix}/include' ./configure --prefix=%{_prefix} --includedir=%{_prefix}/include --sysconfdir=%{_sysconfdir} \ --mandir=%{_mandir} --datadir=%{_datadir} --infodir=%{_infodir} \ --disable-checking --enable-languages=c,c++,f95 \ --with-gmp-lib=%{_prefix}/lib --with-gmp-include=%{_prefix}/include \ --with-mpfr-lib=%{_prefix}/lib --with-mpfr-include=%{_prefix}/include make %install rm -rf %{buildroot} export CPPFLAGS='-I%{_prefix}/include' make install DESTDIR=%{buildroot} # Remove unwanted files (cd %{buildroot} rm -f .%{_libdir}/lib*.la rm -f .%{_infodir}/dir ) # for alternatives pushd %{buildroot}%{_bindir} for i in gcc cpp c++ g++ gfortran f95 \ gcj gcjh gjnih jcf-dump jv-scan \ jv-convert gij fastjar grepjar grmic grmiregistry gcj-dbtool gcj-dbtool \ gnat gnatbind gnatbl gnatchop gnatfind gnatkr gnatlink \ gnatls gnatmake gnatprep gnatxref gprmake gcov \ %{gcc_target_platform}-gcc \ %{gcc_target_platform}-g++ \ %{gcc_target_platform}-c++ \ %{gcc_target_platform}-gfortran \ %{gcc_target_platform}-gcj \ %{gcc_target_platform}-gcjh ; do if [ -f "$i" ] ; then mv -f $i $i-%{gcc_version} # ln -sf $i-%{gcc_version} $i fi done popd rm -f %{buildroot}%{_bindir}/%{gcc_target_platform}-gcc pushd %{buildroot}%{_libdir} for i in libgcc_s.1.dylib libgcc_s.10.4.dylib libgcc_s.10.5.dylib \ libstdc++.6.dylib ; do if [ -f "$i" ] ; then mv -f $i $i-%{gcc_version} chmod 755 $i-%{gcc_version} #ln -sf $i-%{gcc_version} $i fi done popd # Make list of files in the package find %{buildroot} -type f > list.f find %{buildroot} -type l > list.l sed -e "s;%{buildroot};;" list.f > list.new mv list.new list.f sed -e "s,%{buildroot},," list.l > list.new mv list.new list.l cat list.l >> list.f cat list.f | sed -e 's;\(%{_mandir}/.*/.*\..*\);\1*;' \ -e 's;\(%{_infodir}/.*\..*\);\1*;' > list.new mv list.new list.f %clean rm -rf %{buildroot} %post # this package (default) %{_sbindir}/update-alternatives \ --install %{_bindir}/gcc gcc %{_bindir}/gcc-%{gcc_version} 30 \ --slave %{_bindir}/cc cc %{_bindir}/gcc-%{gcc_version} \ --slave %{_bindir}/%{gcc_target_platform}-gcc \ %{gcc_target_platform}-gcc \ %{_bindir}/%{gcc_target_platform}-gcc-%{gcc_version} \ --slave %{_bindir}/g++ g++ %{_bindir}/g++-%{gcc_version} \ --slave %{_bindir}/c++ c++ %{_bindir}/g++-%{gcc_version} \ --slave %{_bindir}/%{gcc_target_platform}-g++ \ %{gcc_target_platform}-g++ \ %{_bindir}/%{gcc_target_platform}-g++-%{gcc_version} \ --slave %{_bindir}/%{gcc_target_platform}-c++ \ %{gcc_target_platform}-c++ \ %{_bindir}/%{gcc_target_platform}-c++-%{gcc_version} \ --slave %{_bindir}/cpp cpp %{_bindir}/cpp-%{gcc_version} \ --slave %{_bindir}/gcov gcov %{_bindir}/gcov-%{gcc_version} \ --slave %{_bindir}/gfortran gfortran %{_bindir}/gfortran-%{gcc_version} \ --slave %{_bindir}/%{gcc_target_platform}-gfortran \ %{gcc_target_platform}-gfortran \ %{_bindir}/%{gcc_target_platform}-gfortran-%{gcc_version} \ --slave %{_libdir}/libgcc_s.1.dylib libgcc_s.1.dylib %{_libdir}/libgcc_s.1.dylib-%{gcc_version} \ --slave %{_libdir}/libgcc_s.10.4.dylib libgcc_s.10.4.dylib %{_libdir}/libgcc_s.10.4.dylib-%{gcc_version} \ --slave %{_libdir}/libgcc_s.10.5.dylib libgcc_s.10.5.dylib %{_libdir}/libgcc_s.10.5.dylib-%{gcc_version} \ --slave %{_libdir}/libstdc++.6.dylib libstdc++.6.dylib %{_libdir}/libstdc++.6.dylib-%{gcc_version} # Apple 4.0.1 %{_sbindir}/update-alternatives \ --install %{_bindir}/gcc gcc /usr/bin/gcc-4.0 20 \ --slave %{_bindir}/cc cc /usr/bin/gcc-4.0 \ --slave %{_bindir}/powerpc-apple-darwin9-gcc-4.0.1 \ powerpc-apple-darwin9-gcc-4.0.1 \ /usr/bin/powerpc-apple-darwin9-gcc-4.0.1 \ --slave %{_bindir}/i686-apple-darwin9-gcc-4.0.1 \ i686-apple-darwin9-gcc-4.0.1 \ /usr/bin/i686-apple-darwin9-gcc-4.0.1 \ --slave %{_bindir}/g++ g++ /usr/bin/g++-4.0 \ --slave %{_bindir}/c++ c++ /usr/bin/g++-4.0 \ --slave %{_bindir}/powerpc-apple-darwin9-g++-4.0.1 \ powerpc-apple-darwin9-g++-4.0.1 \ /usr/bin/powerpc-apple-darwin9-g++-4.0.1 \ --slave %{_bindir}/i686-apple-darwin9-g++-4.0.1 \ i686-apple-darwin9-g++-4.0.1 \ /usr/bin/i686-apple-darwin9-g++-4.0.1 \ --slave %{_bindir}/cpp cpp /usr/bin/cpp-4.0 \ --slave %{_bindir}/gcov gcov /usr/bin/gcov-4.0 \ --slave %{_libdir}/libgcc_s.1.dylib libgcc_s.1.dylib /usr/lib/libgcc_s.1.dylib \ --slave %{_libdir}/libgcc_s.10.4.dylib libgcc_s.10.4.dylib /usr/lib/libgcc_s.10.4.dylib \ --slave %{_libdir}/libgcc_s.10.5.dylib libgcc_s.10.5.dylib /usr/lib/libgcc_s.10.5.dylib \ --slave %{_libdir}/libstdc++.6.dylib libstdc++.6.dylib /usr/lib/libstdc++.6.dylib # Apple 4.2.1 %{_sbindir}/update-alternatives \ --install %{_bindir}/gcc gcc /usr/bin/gcc-4.2 25 \ --slave %{_bindir}/cc cc /usr/bin/gcc-4.2 \ --slave %{_bindir}/powerpc-apple-darwin9-gcc-4.2.1 \ powerpc-apple-darwin9-gcc-4.2.1 \ /usr/bin/powerpc-apple-darwin9-gcc-4.2.1 \ --slave %{_bindir}/i686-apple-darwin9-gcc-4.2.1 \ i686-apple-darwin9-gcc-4.2.1 \ /usr/bin/i686-apple-darwin9-gcc-4.2.1 \ --slave %{_bindir}/g++ g++ /usr/bin/g++-4.2 \ --slave %{_bindir}/c++ c++ /usr/bin/g++-4.2 \ --slave %{_bindir}/powerpc-apple-darwin9-g++-4.2.1 \ powerpc-apple-darwin9-g++-4.2.1 \ /usr/bin/powerpc-apple-darwin9-g++-4.2.1 \ --slave %{_bindir}/i686-apple-darwin9-g++-4.2.1 \ i686-apple-darwin9-g++-4.2.1 \ /usr/bin/i686-apple-darwin9-g++-4.2.1 \ --slave %{_bindir}/cpp cpp /usr/bin/cpp-4.2 \ --slave %{_bindir}/gcov gcov /usr/bin/gcov-4.2 \ --slave %{_libdir}/libgcc_s.1.dylib libgcc_s.1.dylib /usr/lib/libgcc_s.1.dylib \ --slave %{_libdir}/libgcc_s.10.4.dylib libgcc_s.10.4.dylib /usr/lib/libgcc_s.10.4.dylib \ --slave %{_libdir}/libgcc_s.10.5.dylib libgcc_s.10.5.dylib /usr/lib/libgcc_s.10.5.dylib \ --slave %{_libdir}/libstdc++.6.dylib libstdc++.6.dylib /usr/lib/libstdc++.6.dylib # fix broken symlink if it's there if [ ! -f %{_bindir}/gcc ] ; then echo "%{_sbindir}/update-alternatives --auto gcc" %{_sbindir}/update-alternatives --auto gcc fi %postun if [ $1 = 0 ]; then %{_sbindir}/update-alternatives --remove gcc %{_bindir}/gcc-%{gcc_version} %{_sbindir}/update-alternatives --auto gcc fi %triggerpostun -- gcc < %{version}-%{release} %{_sbindir}/update-alternatives --auto gcc %changelog * Wed Jul 2 2008 Keisuke Fujii 4.3.0-10.5hepx1e - recover libstdc++.dylib. * Sat Jun 28 2008 KOBAYASHI Taizo 4.3.0-10.5hepx1d - drop libstdc++.dylib because Apple's GCC does not include it. - libgcc_s.*.dylib and libstdc++.6.dylib are managed under the alternatives. * Wed May 14 2008 KOBAYASHI Taizo 4.3.0-10.5hepx1c - using alternatives * Thu Mar 27 2008 Keisuke Fujii 4.3.0-10.5hepx1b - 1st build on MacOS X 10.5 for ppc Macs - gcc.spec modified to accomodate ppc architecture. * Sun Mar 22 2008 Keisuke Fujii 4.3.0-10.5hepx1a - 1st build on MacOS X 10.5 for Intel Macs * Wed Mar 18 2008 Keisuke Fujii 4.3.0-1a - 1st build on MacOS X 10.5 for Intel Macs * Wed Apr 18 2007 Keisuke Fujii 4.2.0-svn20061005b - 2nd build on MacOS X 10.4 for Intel Macs with gettext-0.16.2. * Thu Oct 05 2006 Keisuke Fujii 4.2.0-svn20061005a - 1st build on MacOS X 10.4 for Intel Macs. * Fri Nov 25 2005 Keisuke Fujii 4.1.0-svn20051124b - 11th build on MacOS X 10.4. - disabled gthread for libgfortran * Thu Nov 24 2005 Keisuke Fujii 4.1.0-svn20051124a - 10th build on MacOS X 10.4. * Mon Nov 7 2005 Keisuke Fujii 4.1.0-cvs20051004b - 9th build on MacOS X 10.4. - added lang-specs patch. * Tue Oct 4 2005 Keisuke Fujii 4.1.0-cvs20051004a - 8th build on MacOS X 10.4. * Wed Sep 27 2005 Keisuke Fujii 4.1.0-cvs20050927a - 7th build on MacOS X 10.4. - applied csqrt patch. * Wed Sep 22 2005 Keisuke Fujii 4.1.0-cvs20050921c - 6th build on MacOS X 10.4. - applied noauto and csqrt patches. * Sun Sep 18 2005 Keisuke Fujii 4.1.0-cvs20050918a - 5th build on MacOS X 10.4. * Mon Aug 29 2005 Keisuke Fujii 4.1.0-cvs20050829a - 4th build on MacOS X 10.4. * Tue Jul 19 2005 Keisuke Fujii 4.1.0-cvs20050719a - 3rd build on MacOS X 10.4. - applied noauto patche. * Wed Jun 29 2005 Keisuke Fujii 4.1.0-cvs20050629a - 2nd build on MacOS X 10.4. - applied hollerith and noauto patches. * Wed Jun 22 2005 Keisuke Fujii 4.1.0-cvs20050622a - 2nd build on MacOS X 10.4. - applied hollerith and noauto patches. * Sat Jun 4 2005 Keisuke Fujii 4.1.0-cvs20050528a - 1st build on MacOS X 10.4. - applied hollerith patch. %files -f list.f %defattr(-,root,wheel) %dir %{_prefix}/include/c++/%{__gnuversion} %dir %{_prefix}/include/c++/%{__gnuversion}/backward %dir %{_prefix}/include/c++/%{__gnuversion}/bits %dir %{_prefix}/include/c++/%{__gnuversion}/debug %dir %{_prefix}/include/c++/%{__gnuversion}/ext %dir %{_prefix}/include/c++/%{__gnuversion}/ext/pb_ds %dir %{_prefix}/include/c++/%{__gnuversion}/ext/pb_ds/detail %dir %{_prefix}/include/c++/%{__gnuversion}/ext/pb_ds/detail/basic_tree_policy %dir %{_prefix}/include/c++/%{__gnuversion}/ext/pb_ds/detail/bin_search_tree_ %dir %{_prefix}/include/c++/%{__gnuversion}/ext/pb_ds/detail/binary_heap_ %dir %{_prefix}/include/c++/%{__gnuversion}/ext/pb_ds/detail/binomial_heap_ %dir %{_prefix}/include/c++/%{__gnuversion}/ext/pb_ds/detail/binomial_heap_base_ %dir %{_prefix}/include/c++/%{__gnuversion}/ext/pb_ds/detail/cc_hash_table_map_ %dir %{_prefix}/include/c++/%{__gnuversion}/ext/pb_ds/detail/eq_fn %dir %{_prefix}/include/c++/%{__gnuversion}/ext/pb_ds/detail/gp_hash_table_map_ %dir %{_prefix}/include/c++/%{__gnuversion}/ext/pb_ds/detail/hash_fn %dir %{_prefix}/include/c++/%{__gnuversion}/ext/pb_ds/detail/left_child_next_sibling_heap_ %dir %{_prefix}/include/c++/%{__gnuversion}/ext/pb_ds/detail/list_update_map_ %dir %{_prefix}/include/c++/%{__gnuversion}/ext/pb_ds/detail/list_update_policy %dir %{_prefix}/include/c++/%{__gnuversion}/ext/pb_ds/detail/ov_tree_map_ %dir %{_prefix}/include/c++/%{__gnuversion}/ext/pb_ds/detail/pairing_heap_ %dir %{_prefix}/include/c++/%{__gnuversion}/ext/pb_ds/detail/pat_trie_ %dir %{_prefix}/include/c++/%{__gnuversion}/ext/pb_ds/detail/rb_tree_map_ %dir %{_prefix}/include/c++/%{__gnuversion}/ext/pb_ds/detail/rc_binomial_heap_ %dir %{_prefix}/include/c++/%{__gnuversion}/ext/pb_ds/detail/resize_policy %dir %{_prefix}/include/c++/%{__gnuversion}/ext/pb_ds/detail/splay_tree_ %dir %{_prefix}/include/c++/%{__gnuversion}/ext/pb_ds/detail/thin_heap_ %dir %{_prefix}/include/c++/%{__gnuversion}/ext/pb_ds/detail/tree_policy %dir %{_prefix}/include/c++/%{__gnuversion}/ext/pb_ds/detail/trie_policy %dir %{_prefix}/include/c++/%{__gnuversion}/ext/pb_ds/detail/unordered_iterator %dir %{_prefix}/include/c++/%{__gnuversion}/%{__arch}-apple-darwin%{__unamer} %dir %{_prefix}/include/c++/%{__gnuversion}/%{__arch}-apple-darwin%{__unamer}/bits %dir %{_prefix}/include/c++/%{__gnuversion}/%{__arch}-apple-darwin%{__unamer}/%{__arch64} %dir %{_prefix}/include/c++/%{__gnuversion}/%{__arch}-apple-darwin%{__unamer}/%{__arch64}/bits %dir %{_prefix}/include/c++/%{__gnuversion}/parallel %dir %{_prefix}/include/c++/%{__gnuversion}/tr1 %dir %{_prefix}/include/c++/%{__gnuversion}/tr1_impl %dir %{_prefix}/lib/gcc/%{__arch}-apple-darwin%{__unamer}/%{__gnufullversion} %dir %{_prefix}/lib/gcc/%{__arch}-apple-darwin%{__unamer}/%{__gnufullversion}/finclude %dir %{_prefix}/lib/gcc/%{__arch}-apple-darwin%{__unamer}/%{__gnufullversion}/include %dir %{_prefix}/lib/gcc/%{__arch}-apple-darwin%{__unamer}/%{__gnufullversion}/include/ssp %dir %{_prefix}/lib/gcc/%{__arch}-apple-darwin%{__unamer}/%{__gnufullversion}/include-fixed %dir %{_prefix}/lib/gcc/%{__arch}-apple-darwin%{__unamer}/%{__gnufullversion}/install-tools %dir %{_prefix}/lib/gcc/%{__arch}-apple-darwin%{__unamer}/%{__gnufullversion}/install-tools/include %dir %{_prefix}/lib/gcc/%{__arch}-apple-darwin%{__unamer}/%{__gnufullversion}/%{__arch64} %dir %{_prefix}/libexec/gcc/%{__arch}-apple-darwin%{__unamer}/%{__gnufullversion} %dir %{_prefix}/libexec/gcc/%{__arch}-apple-darwin%{__unamer}/%{__gnufullversion}/install-tools