Hello community, here is the log from the commit of package gcc44 for openSUSE:Factory checked in at Fri May 15 12:20:33 CEST 2009. -------- New Changes file: --- /dev/null 2009-04-14 11:58:14.000000000 +0200 +++ /mounts/work_src_done/STABLE/gcc44/cross-avr-gcc44.changes 2009-04-22 12:21:07.000000000 +0200 @@ -0,0 +1,174 @@ +------------------------------------------------------------------- +Mon Apr 20 17:07:59 CEST 2009 - rguenther@suse.de + +- Update to GCC 4.4.0 release. + +------------------------------------------------------------------- +Sat Apr 18 14:45:46 CEST 2009 - rguenther@suse.de + +- Adjust Ada BuildRequires check. + +------------------------------------------------------------------- +Tue Apr 14 13:42:06 CEST 2009 - rguenther@suse.de + +- Update to GCC 4.4.0 RC1. + +------------------------------------------------------------------- +Tue Mar 31 12:00:48 CEST 2009 - rguenther@suse.de + +- Update to gcc-4_4-branch head (r145337). +- Switch to release-checking. + +------------------------------------------------------------------- +Mon Mar 23 10:54:07 CET 2009 - rguenther@suse.de + +- Update to SVN trunk head (r145004). + +------------------------------------------------------------------- +Mon Mar 16 14:49:31 CET 2009 - rguenther@suse.de + +- Update to SVN trunk head (r144881). + +------------------------------------------------------------------- +Thu Feb 26 11:30:35 CET 2009 - rguenther@suse.de + +- Update to SVN trunk head (r144446). +- Updates classpath to 0.98 release. [bnc#457169] +- Add patch for PR39272. + +------------------------------------------------------------------- +Thu Feb 19 11:24:56 CET 2009 - rguenther@suse.de + +- Update to SVN trunk head (r144292). + +------------------------------------------------------------------- +Wed Feb 11 15:35:38 CET 2009 - rguenther@suse.de + +- Update to SVN trunk head (r144122). +- Enable LFS support for 32bit host binaries. +- Set default cpu and tuning for x86_64 and ix86. Filter RPM_OPT_FLAGS. + +------------------------------------------------------------------- +Fri Feb 6 16:37:28 CET 2009 - rguenther@suse.de + +- Update baselibs.conf. + +------------------------------------------------------------------- +Wed Feb 4 15:17:50 CET 2009 - rguenther@suse.de + +- Update to SVN trunk head (r143983). +- Forward-port -Wunprototyped-calls. + +------------------------------------------------------------------- +Wed Jan 28 13:36:48 CET 2009 - rguenther@suse.de + +- Update to SVN trunk head (143725). +- Add patch to fix PR38977. +- Forward-port SUSE local changes from gcc43 package. + +------------------------------------------------------------------- +Fri Jan 23 00:02:21 CET 2009 - rguenther@suse.de + +- Update to SVN trunk head (143577). + +------------------------------------------------------------------- +Fri Jan 9 11:42:24 CET 2009 - rguenther@suse.de + +- Properly package x86intrin.h. + +------------------------------------------------------------------- +Thu Jan 8 17:18:11 CET 2009 - rguenther@suse.de + +- Update to SVN trunk head (143188). + +------------------------------------------------------------------- +Thu Dec 11 12:36:56 CET 2008 - rguenther@suse.de + +- Update to SVN trunk head (142676). +- Add build-id patch and patch to disable unwind tables for crtstuff. + +------------------------------------------------------------------- +Thu Dec 4 18:05:23 CET 2008 - rguenther@suse.de + +- Update to SVN trunk head (142437). + +------------------------------------------------------------------- +Tue Nov 25 18:04:48 CET 2008 - rguenther@suse.de + +- Update to SVN trunk head (142195). + +------------------------------------------------------------------- +Tue Nov 25 14:03:03 CET 2008 - rguenther@suse.de + +- Update to SVN trunk head (r142190). +- Install new immintrin.h and avxintrin.h files, remove gmmintrin.h. + +------------------------------------------------------------------- +Thu Nov 15 16:25:53 CET 2008 - rguenther@suse.de + +- Update to SVN trunk head (r141893). + +------------------------------------------------------------------- +Thu Nov 6 16:25:53 CET 2008 - rguenther@suse.de + +- Update to SVN trunk head (r141645). +- Bring forward some spec file changes from gcc43. + +------------------------------------------------------------------- +Fri Oct 31 14:06:39 CET 2008 - rguenther@suse.de + +- Fix Ada multilibbing. +- Fix updated classpath packaging. + +------------------------------------------------------------------- +Thu Oct 30 22:18:07 CET 2008 - rguenther@suse.de + +- Update to SVN trunk head (r141467). + +------------------------------------------------------------------- +Fri Sep 19 11:53:02 CEST 2008 - rguenther@suse.de + +- Update to SVN trunk head (r140485). + +------------------------------------------------------------------- +Wed Sep 17 17:45:25 CEST 2008 - rguenther@suse.de + +- Update to SVN trunk head (r140419). + +------------------------------------------------------------------- +Tue Sep 16 11:16:16 CEST 2008 - rguenther@suse.de + +- Add proper provides/obsoletes to shared library packages. + +------------------------------------------------------------------- +Fri Sep 5 11:19:07 CEST 2008 - rguenther@suse.de + +- Update to SVN trunk head (r140030). +- Fix GRAPHITE enablement. + +------------------------------------------------------------------- +Wed Sep 3 13:54:17 CEST 2008 - rguenther@suse.de + +- Update to SVN trunk head (r139931). +- Add ppl and cloog build dependencies to enable GRAPHITE. + +------------------------------------------------------------------- +Fri Aug 29 10:57:30 CEST 2008 - rguenther@suse.de + +- Update to SVN trunk head (r139755). + +------------------------------------------------------------------- +Tue Aug 19 18:47:37 CEST 2008 - rguenther@suse.de + +- Update to SVN trunk head (r139235). + +------------------------------------------------------------------- +Sat Jul 19 14:06:37 CEST 2008 - rguenther@suse.de + +- Update to SVN trunk head (r137977). + +------------------------------------------------------------------- +Wed Jun 11 15:20:35 CEST 2008 - rguenther@suse.de + +- New gcc44 package. + New Changes file: cross-hppa-gcc-icecream-backend.changes: same change New Changes file: cross-i386-gcc-icecream-backend.changes: same change New Changes file: cross-ia64-gcc-icecream-backend.changes: same change New Changes file: cross-ppc64-gcc-icecream-backend.changes: same change New Changes file: cross-ppc-gcc-icecream-backend.changes: same change New Changes file: cross-s390-gcc-icecream-backend.changes: same change New Changes file: cross-s390x-gcc-icecream-backend.changes: same change New Changes file: cross-spu-gcc.changes: same change New Changes file: cross-spu-gcc-static.changes: same change New Changes file: cross-x86_64-gcc-icecream-backend.changes: same change libgcj44.changes: same change calling whatdependson for head-i586 New: ---- cross-avr-gcc44.changes cross-avr-gcc44.spec cross-hppa-gcc-icecream-backend.changes cross-hppa-gcc-icecream-backend.spec cross-i386-gcc-icecream-backend.changes cross-i386-gcc-icecream-backend.spec cross-ia64-gcc-icecream-backend.changes cross-ia64-gcc-icecream-backend.spec cross-ppc64-gcc-icecream-backend.changes cross-ppc64-gcc-icecream-backend.spec cross-ppc-gcc-icecream-backend.changes cross-ppc-gcc-icecream-backend.spec cross-s390-gcc-icecream-backend.changes cross-s390-gcc-icecream-backend.spec cross-s390x-gcc-icecream-backend.changes cross-s390x-gcc-icecream-backend.spec cross-spu-gcc.changes cross-spu-gcc.spec cross-spu-gcc-static.changes cross-spu-gcc-static.spec cross-x86_64-gcc-icecream-backend.changes cross-x86_64-gcc-icecream-backend.spec ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ cross-avr-gcc44.spec ++++++ # # spec file for package cross-avr-gcc44 (Version 4.4.0_20090421) # # Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # # norootforbuild %define build_static 1 # # spec file for package gcc (Version 4.0.1) # # This file and all modifications and additions to the pristine # package are under the same license as the package itself. # # Please submit bugfixes or comments via http://www.suse.de/feedback/ # %define build_cp 1 %define build_ada 0 %define build_java 0 %define build_libjava 0 %define build_fortran 0 %define build_objc 0 %define build_objcp 0 %define build_nof 0 %define gcc_for_opt 0 %define gcc_target_arch avr %if "avr" == "spu" %define build_cp 0 %endif Name: cross-avr-gcc44 BuildRequires: bison flex mpfr-devel BuildRequires: cross-avr-binutils %if "avr44" == "spu-static" BuildRequires: cross-avr-newlib-headers %endif %if "avr44" == "spu" BuildRequires: cross-avr-newlib Requires: cross-avr-newlib %endif Requires: cross-avr-binutils # Suffixed gcc conflicts with unsuffixed gcc %if "44" == "" %else Conflicts: cross-avr-gcc %endif %define _prefix /opt/cross # COMMON-BEGIN %define biarch_targets x86_64 s390x powerpc64 powerpc Url: http://gcc.gnu.org/ License: BSD 3-Clause; GPL v2 or later; LGPL v2.1 or later; X11/MIT Version: 4.4.0_20090421 Release: 1 %define gcc_version %(echo %version | sed 's/_.*//') %define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1-2) %define snapshot_date %(echo %version | sed 's/[34]\.[0-4]\.[0-6]//' | sed 's/_/-/') %define binsuffix -4.4 # COMMON-END # COMMON-BEGIN Group: Development/Languages/C and C++ AutoReqProv: on Summary: The GNU C Compiler for atmel Processors BuildRoot: %{_tmppath}/%{name}-%{version}-build Source: gcc-%{gcc_version}%{snapshot_date}.tar.bz2 Source1: change_spec Source2: libgcj44-rpmlintrc Source3: gcc44-rpmlintrc Source4: ecj.jar Source5: README.First-for.SuSE.packagers Patch1: gcc-dir-version.patch Patch2: gcc-sles-version.patch Patch3: gcc-noalias-warn.diff Patch5: boehm-gc-strict-aliasing.patch Patch6: suse-record-gcc-opts.diff Patch7: acats-timeout.patch Patch8: Wunprototyped-calls.diff Patch9: gcc44-lfs.diff Patch10: program-transform-name.diff Patch12: gcc4-ppc64-m32-m64-multilib-only.patch Patch23: libjava-no-multilib.diff Patch24: tls-no-direct.diff Patch25: pr27880.diff Patch28: pr33763.diff Patch29: build-id.diff Patch30: gcc43-no-unwind-tables.diff # A set of patches from the RH srpm Patch51: gcc41-ia64-stack-protector.patch Patch55: gcc41-java-slow_pthread_self.patch Patch57: gcc41-ppc32-retaddr.patch # Some patches taken from Debian Patch60: gcc44-textdomain.patch Patch61: gcc44-rename-info-files.patch # Patches for SAP features Patch130: sap303956-uchar.diff # LIBJAVA-DELETE-BEGIN %description This compiler supports the C language on avr microprocessors. Also install cross-avr-binutils and avr-libc. Authors: -------- The GCC team. %if 0%{?gcc_target_arch:1} %define CONFIGURE_TARGET %{gcc_target_arch} %define TARGET_ARCH %(echo %{gcc_target_arch} | cut -d - -f 1 | sed -e "s/i.86/i586/;s/ppc/powerpc/") %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "powerpc" %define CONFIGURE_TARGET powerpc64-linux %endif %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "powerpc64" %define CONFIGURE_TARGET powerpc64-linux %endif %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "i586" %define CONFIGURE_TARGET i586-linux %endif %else %define TARGET_ARCH %(echo %{_target_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/") %endif %define HOST_ARCH %(echo %{_host_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/") %define biarch %(case " %{biarch_targets} " in (*" %{TARGET_ARCH} "*) echo 1;; (*) echo 0;; esac) %ifarch ppc %define GCCDIST powerpc64-suse-linux %else %define GCCDIST %{HOST_ARCH}-suse-linux %endif %define libsubdir %{_libdir}/gcc/%{GCCDIST}/%{gcc_dir_version} %define gxxinclude %{_prefix}/include/c++/%{gcc_dir_version} # COMMON-END # COMMON-BEGIN %prep %setup -q -n gcc-%{gcc_version}%{snapshot_date} %patch1 %patch2 %patch3 %patch5 %patch6 %patch7 %patch8 %patch9 %patch10 %if !%{build_nof} %patch12 %endif %patch23 %patch24 %patch25 %patch28 %if 0%{suse_version} > 1100 %patch29 %endif %patch30 %patch51 %patch55 %patch57 %patch60 %patch61 %patch130 %build # Avoid rebuilding of generated files contrib/gcc_update --touch # Split version file into version used for directories (X.Y) and # version to report with --version (X.Y.Z). # See also gcc-dir-version.patch. # Also decrement the patchlevel version by one if test `cat gcc/DEV-PHASE` == "prerelease"; then ( cat gcc/BASE-VER | cut -d '.' -f 1-2 | tr -d '\n'; echo -n .; cat gcc/BASE-VER | cut -d '.' -f 3 | tr '0123456789' '0012345678' ) > gcc/FULL-VER else mv gcc/BASE-VER gcc/FULL-VER fi cat gcc/FULL-VER | cut -d '.' -f 1-2 > gcc/BASE-VER rm -rf obj-%{GCCDIST} mkdir obj-%{GCCDIST} cd obj-%{GCCDIST} RPM_OPT_FLAGS="$RPM_OPT_FLAGS -U_FORTIFY_SOURCE" RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-fno-rtti//g' -e 's/-fno-exceptions//g' -e 's/-Wmissing-format-attribute//g' -e 's/-fstack-protector//g' -e 's/-ffortify=.//g' -e 's/-Wall//g' -e 's/-m32//g' -e 's/-m64//g'` %ifarch %ix86 # -mcpu is superceded by -mtune but -mtune is not supported by # our bootstrap compiler. -mcpu gives a warning that stops # the build process, so remove it for now. Also remove all other # -march and -mtune flags. They are superseeded by proper # default compiler settings now. RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-mcpu=i.86//g' -e 's/-march=i.86//g' -e 's/-mtune=i.86//g'` %endif %ifarch s390 s390x RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-fsigned-char//g'` RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-O1/-O2/g'` %endif %if 0%{?gcc_target_arch:1} && 0%{!?gcc_icecream:1} # Kill all -march/tune/cpu because that screws building the target libs RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-m\(arch\|tune\|cpu\)=[^ ]*//g'` %endif # Replace 2 spaces by one finally RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/ / /g'` languages=c %if %{build_cp} languages=$languages,c++ %endif %if %{build_objc} languages=$languages,objc %endif %if %{build_fortran} languages=$languages,fortran %endif %if %{build_objcp} languages=$languages,obj-c++ %endif %if %{build_java} languages=$languages,java %endif %if %{build_ada} languages=$languages,ada %endif J=%{?jobs:%jobs} if test -z "$J"; then J=$(getconf _NPROCESSORS_CONF) JL=$(($J * 2)) else test 1 -gt "$J" && J=1 JL=$(($(getconf _NPROCESSORS_CONF)*2)) fi if test "$J" == "0"; then J=1 fi if test "$JL" == "0"; then JL=1 fi PARALLEL="-j$J -l$JL" # we don't want some miscompiles in the testsuite, or some fault in # the compiler to kill the machine. Hence we limit the amount of memory # by the physical RAM plus half of swap #MEM=$(free -m | awk '/^Mem:/ {print $2}') #SWAP=$(free -m | awk '/^Swap:/ {print $2}') #ulimit -v $(((MEM + SWAP/2)*1024)) # In general we want to ship release checking enabled compilers # and run BETA with checking enabled. #ENABLE_CHECKING="--enable-checking=yes" ENABLE_CHECKING="--enable-checking=release" %if "%{name}" != "gcc44" export PATH=/opt/cross/bin:$PATH %endif # Work around tail/head -1 changes export _POSIX2_VERSION=199209 # configure tries to parse include/features.h to detect # if glibc supports SSP. When cross compiling we would need # to install a cross glibc, which we don't, or make the whole # thing point to the native glibc, which is in /, hence the # --with-sysroot=/ %if %{build_ada} # Using the host gnatmake like # CC="gcc%{hostsuffix}" GNATBIND="gnatbind%{hostsuffix}" # GNATMAKE="gnatmake%{hostsuffix}" # doesn't work due to PR33857, so an un-suffixed gnatmake has to be # available mkdir -p host-tools/bin cp -a /usr/bin/gnatmake%{hostsuffix} host-tools/bin/gnatmake cp -a /usr/bin/gnatlink%{hostsuffix} host-tools/bin/gnatlink cp -a /usr/bin/gnatbind%{hostsuffix} host-tools/bin/gnatbind cp -a /usr/bin/gcc%{hostsuffix} host-tools/bin/gcc ln -sf /usr/%{_lib} host-tools/%{_lib} export PATH="`pwd`/host-tools/bin:$PATH" %endif #%if 0%{?gcc_target_arch:1} && 0%{!?gcc_icecream:1} #%else # --enable-threads=posix \ #%endif # --enable-shared \ CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" XCFLAGS="$RPM_OPT_FLAGS" \ TCFLAGS="$RPM_OPT_FLAGS" GCJFLAGS="$RPM_OPT_FLAGS" \ ../configure \ --prefix=%{_prefix} \ --infodir=%{_infodir} \ --mandir=%{_mandir} \ --libdir=%{_libdir} \ --libexecdir=%{_libdir} \ --enable-languages=$languages \ $ENABLE_CHECKING \ --with-gxx-include-dir=%{_prefix}/include/c++/%{gcc_dir_version} \ --enable-ssp \ --disable-libssp \ --with-bugurl="http://bugs.opensuse.org/" \ --with-pkgversion="SUSE Linux" \ %if !%{build_libjava} --disable-libgcj \ %else --with-java-home=%{_libdir}/jvm/java-1.5.0-gcj%{binsuffix}-1.5.0.0/jre \ --with-ecj-jar=%{libsubdir}/ecj.jar \ --enable-java-awt=gtk \ --enable-gtk-cairo \ %if !%{biarch_libjava} --disable-libjava-multilib \ %endif %endif %if !%{build_with_mudflap} --disable-libmudflap \ %endif --with-slibdir=/%{_lib} \ --with-system-zlib \ --enable-__cxa_atexit \ --enable-libstdcxx-allocator=new \ --disable-libstdcxx-pch \ --enable-version-specific-runtime-libs \ %if 0%{?gcc_target_arch:1} %if 0%{?gcc_icecream:1} --with-as=/opt/cross/%{TARGET_ARCH}-linux/bin/as \ --with-ld=/opt/cross/%{TARGET_ARCH}-linux/bin/ld \ --with-sysroot=/ \ --enable-linux-futex \ %endif %if 0%{?build_static:1} --disable-shared \ %endif %if "%{TARGET_ARCH}" == "spu" --with-sysroot=/usr/spu \ --with-gxx-include-dir=%{_prefix}/spu/include/c++/%{gcc_dir_version} \ --with-newlib \ %endif --disable-nls \ --target=%{CONFIGURE_TARGET} \ %else --program-suffix=%{binsuffix} \ --enable-linux-futex \ %ifarch ia64 --with-system-libunwind \ %else --without-system-libunwind \ %endif %endif %if "%{TARGET_ARCH}" == "powerpc" --with-cpu=default32 \ --enable-secureplt \ --with-long-double-128 \ %endif %if "%{TARGET_ARCH}" == "powerpc64" --with-cpu=power4 \ --enable-secureplt \ --with-long-double-128 \ %endif %if "%{TARGET_ARCH}" == "i586" --with-arch-32=i586 \ --with-tune=generic \ %endif %if "%{TARGET_ARCH}" == "x86_64" --with-arch-32=i586 \ --with-tune=generic \ %endif %if "%{TARGET_ARCH}" == "s390" --with-tune=z9-109 --with-arch=z900 \ --with-long-double-128 \ %endif %if "%{TARGET_ARCH}" == "s390x" --with-tune=z10 --with-arch=z9-109 \ --with-long-double-128 \ %endif --build=%{GCCDIST} # COMMON-END make %{?jobs:-j%jobs} %install cd obj-%{GCCDIST} make install DESTDIR=$RPM_BUILD_ROOT # ln -s avr-elf-gcc $RPM_BUILD_ROOT/%{_prefix}/bin/avr-gcc rm -rf $RPM_BUILD_ROOT/%{_prefix}/share rm $RPM_BUILD_ROOT/%{_libdir}/libiberty.a # The libgcc.a that is not inside an avr* subdirectory is for avr2. # rm $RPM_BUILD_ROOT/%{_libdir}/gcc/*/*/{libgcc.a,libgcov.a} rmdir $RPM_BUILD_ROOT/%{_prefix}/include %clean rm -rf $RPM_BUILD_ROOT %files %defattr(-,root,root) %{_prefix} %changelog * Mon Apr 20 2009 rguenther@suse.de - Update to GCC 4.4.0 release. * Sat Apr 18 2009 rguenther@suse.de - Adjust Ada BuildRequires check. * Tue Apr 14 2009 rguenther@suse.de - Update to GCC 4.4.0 RC1. * Tue Mar 31 2009 rguenther@suse.de - Update to gcc-4_4-branch head (r145337). - Switch to release-checking. * Mon Mar 23 2009 rguenther@suse.de - Update to SVN trunk head (r145004). * Mon Mar 16 2009 rguenther@suse.de - Update to SVN trunk head (r144881). * Thu Feb 26 2009 rguenther@suse.de - Update to SVN trunk head (r144446). - Updates classpath to 0.98 release. [bnc#457169] - Add patch for PR39272. * Thu Feb 19 2009 rguenther@suse.de - Update to SVN trunk head (r144292). * Wed Feb 11 2009 rguenther@suse.de - Update to SVN trunk head (r144122). - Enable LFS support for 32bit host binaries. - Set default cpu and tuning for x86_64 and ix86. Filter RPM_OPT_FLAGS. * Fri Feb 06 2009 rguenther@suse.de - Update baselibs.conf. * Wed Feb 04 2009 rguenther@suse.de - Update to SVN trunk head (r143983). - Forward-port -Wunprototyped-calls. * Wed Jan 28 2009 rguenther@suse.de - Update to SVN trunk head (143725). - Add patch to fix PR38977. - Forward-port SUSE local changes from gcc43 package. * Fri Jan 23 2009 rguenther@suse.de - Update to SVN trunk head (143577). * Fri Jan 09 2009 rguenther@suse.de - Properly package x86intrin.h. * Thu Jan 08 2009 rguenther@suse.de - Update to SVN trunk head (143188). * Thu Dec 11 2008 rguenther@suse.de - Update to SVN trunk head (142676). - Add build-id patch and patch to disable unwind tables for crtstuff. * Thu Dec 04 2008 rguenther@suse.de - Update to SVN trunk head (142437). * Tue Nov 25 2008 rguenther@suse.de - Update to SVN trunk head (142195). * Tue Nov 25 2008 rguenther@suse.de - Update to SVN trunk head (r142190). - Install new immintrin.h and avxintrin.h files, remove gmmintrin.h. * Sat Nov 15 2008 rguenther@suse.de - Update to SVN trunk head (r141893). * Thu Nov 06 2008 rguenther@suse.de - Update to SVN trunk head (r141645). - Bring forward some spec file changes from gcc43. * Fri Oct 31 2008 rguenther@suse.de - Fix Ada multilibbing. - Fix updated classpath packaging. * Thu Oct 30 2008 rguenther@suse.de - Update to SVN trunk head (r141467). * Fri Sep 19 2008 rguenther@suse.de - Update to SVN trunk head (r140485). * Wed Sep 17 2008 rguenther@suse.de - Update to SVN trunk head (r140419). * Tue Sep 16 2008 rguenther@suse.de - Add proper provides/obsoletes to shared library packages. * Fri Sep 05 2008 rguenther@suse.de - Update to SVN trunk head (r140030). - Fix GRAPHITE enablement. * Wed Sep 03 2008 rguenther@suse.de - Update to SVN trunk head (r139931). - Add ppl and cloog build dependencies to enable GRAPHITE. * Fri Aug 29 2008 rguenther@suse.de - Update to SVN trunk head (r139755). * Tue Aug 19 2008 rguenther@suse.de - Update to SVN trunk head (r139235). * Sat Jul 19 2008 rguenther@suse.de - Update to SVN trunk head (r137977). * Wed Jun 11 2008 rguenther@suse.de - New gcc44 package. ++++++ cross-hppa-gcc-icecream-backend.spec ++++++ # # spec file for package cross-hppa-gcc-icecream-backend (Version 4.4.0_20090421) # # Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # # norootforbuild %define build_cp 1 %define build_ada 0 %define build_libjava 0 %define build_java 0 %define build_fortran 0 %define build_objc 0 %define build_objcp 0 %define build_nof 0 %define gcc_for_opt 0 %define gcc_target_arch hppa-linux %define gcc_icecream 1 Name: cross-hppa-gcc-icecream-backend BuildRequires: cross-hppa-binutils glibc-devel-32bit BuildRequires: gmp-devel mpfr-devel BuildRequires: bison BuildRequires: flex ExclusiveArch: ppc ppc64 %ix86 x86_64 ia64 %define _binary_payload w.ufdio # COMMON-BEGIN # COMMON-BEGIN %define biarch_targets x86_64 s390x powerpc64 powerpc Url: http://gcc.gnu.org/ License: BSD 3-Clause; GPL v2 or later; LGPL v2.1 or later; X11/MIT Version: 4.4.0_20090421 Release: 1 %define gcc_version %(echo %version | sed 's/_.*//') %define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1-2) %define snapshot_date %(echo %version | sed 's/[34]\.[0-4]\.[0-6]//' | sed 's/_/-/') %define binsuffix -4.4 # COMMON-END # COMMON-BEGIN Group: Development/Languages/C and C++ AutoReqProv: on Summary: The GNU C Compiler and Support Files BuildRoot: %{_tmppath}/%{name}-%{version}-build Source: gcc-%{gcc_version}%{snapshot_date}.tar.bz2 Source1: change_spec Source2: libgcj44-rpmlintrc Source3: gcc44-rpmlintrc Source4: ecj.jar Source5: README.First-for.SuSE.packagers Patch1: gcc-dir-version.patch Patch2: gcc-sles-version.patch Patch3: gcc-noalias-warn.diff Patch5: boehm-gc-strict-aliasing.patch Patch6: suse-record-gcc-opts.diff Patch7: acats-timeout.patch Patch8: Wunprototyped-calls.diff Patch9: gcc44-lfs.diff Patch10: program-transform-name.diff Patch12: gcc4-ppc64-m32-m64-multilib-only.patch Patch23: libjava-no-multilib.diff Patch24: tls-no-direct.diff Patch25: pr27880.diff Patch28: pr33763.diff Patch29: build-id.diff Patch30: gcc43-no-unwind-tables.diff # A set of patches from the RH srpm Patch51: gcc41-ia64-stack-protector.patch Patch55: gcc41-java-slow_pthread_self.patch Patch57: gcc41-ppc32-retaddr.patch # Some patches taken from Debian Patch60: gcc44-textdomain.patch Patch61: gcc44-rename-info-files.patch # Patches for SAP features Patch130: sap303956-uchar.diff # LIBJAVA-DELETE-BEGIN %description NOTE: Be sure to install at least the following packages as well or you will not be able to compile: binutils and glibc-devel. Compiled with support for Ada, C, C++, Fortran77, Java, and Objective-C. Authors: -------- The GCC team. %if 0%{?gcc_target_arch:1} %define CONFIGURE_TARGET %{gcc_target_arch} %define TARGET_ARCH %(echo %{gcc_target_arch} | cut -d - -f 1 | sed -e "s/i.86/i586/;s/ppc/powerpc/") %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "powerpc" %define CONFIGURE_TARGET powerpc64-linux %endif %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "powerpc64" %define CONFIGURE_TARGET powerpc64-linux %endif %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "i586" %define CONFIGURE_TARGET i586-linux %endif %else %define TARGET_ARCH %(echo %{_target_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/") %endif %define HOST_ARCH %(echo %{_host_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/") %define biarch %(case " %{biarch_targets} " in (*" %{TARGET_ARCH} "*) echo 1;; (*) echo 0;; esac) %ifarch ppc %define GCCDIST powerpc64-suse-linux %else %define GCCDIST %{HOST_ARCH}-suse-linux %endif %define libsubdir %{_libdir}/gcc/%{GCCDIST}/%{gcc_dir_version} %define gxxinclude %{_prefix}/include/c++/%{gcc_dir_version} # COMMON-END # COMMON-BEGIN %prep %setup -q -n gcc-%{gcc_version}%{snapshot_date} %patch1 %patch2 %patch3 %patch5 %patch6 %patch7 %patch8 %patch9 %patch10 %if !%{build_nof} %patch12 %endif %patch23 %patch24 %patch25 %patch28 %if 0%{suse_version} > 1100 %patch29 %endif %patch30 %patch51 %patch55 %patch57 %patch60 %patch61 %patch130 %build # Avoid rebuilding of generated files contrib/gcc_update --touch # Split version file into version used for directories (X.Y) and # version to report with --version (X.Y.Z). # See also gcc-dir-version.patch. # Also decrement the patchlevel version by one if test `cat gcc/DEV-PHASE` == "prerelease"; then ( cat gcc/BASE-VER | cut -d '.' -f 1-2 | tr -d '\n'; echo -n .; cat gcc/BASE-VER | cut -d '.' -f 3 | tr '0123456789' '0012345678' ) > gcc/FULL-VER else mv gcc/BASE-VER gcc/FULL-VER fi cat gcc/FULL-VER | cut -d '.' -f 1-2 > gcc/BASE-VER rm -rf obj-%{GCCDIST} mkdir obj-%{GCCDIST} cd obj-%{GCCDIST} RPM_OPT_FLAGS="$RPM_OPT_FLAGS -U_FORTIFY_SOURCE" RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-fno-rtti//g' -e 's/-fno-exceptions//g' -e 's/-Wmissing-format-attribute//g' -e 's/-fstack-protector//g' -e 's/-ffortify=.//g' -e 's/-Wall//g' -e 's/-m32//g' -e 's/-m64//g'` %ifarch %ix86 # -mcpu is superceded by -mtune but -mtune is not supported by # our bootstrap compiler. -mcpu gives a warning that stops # the build process, so remove it for now. Also remove all other # -march and -mtune flags. They are superseeded by proper # default compiler settings now. RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-mcpu=i.86//g' -e 's/-march=i.86//g' -e 's/-mtune=i.86//g'` %endif %ifarch s390 s390x RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-fsigned-char//g'` RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-O1/-O2/g'` %endif %if 0%{?gcc_target_arch:1} && 0%{!?gcc_icecream:1} # Kill all -march/tune/cpu because that screws building the target libs RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-m\(arch\|tune\|cpu\)=[^ ]*//g'` %endif # Replace 2 spaces by one finally RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/ / /g'` languages=c %if %{build_cp} languages=$languages,c++ %endif %if %{build_objc} languages=$languages,objc %endif %if %{build_fortran} languages=$languages,fortran %endif %if %{build_objcp} languages=$languages,obj-c++ %endif %if %{build_java} languages=$languages,java %endif %if %{build_ada} languages=$languages,ada %endif J=%{?jobs:%jobs} if test -z "$J"; then J=$(getconf _NPROCESSORS_CONF) JL=$(($J * 2)) else test 1 -gt "$J" && J=1 JL=$(($(getconf _NPROCESSORS_CONF)*2)) fi if test "$J" == "0"; then J=1 fi if test "$JL" == "0"; then JL=1 fi PARALLEL="-j$J -l$JL" # we don't want some miscompiles in the testsuite, or some fault in # the compiler to kill the machine. Hence we limit the amount of memory # by the physical RAM plus half of swap #MEM=$(free -m | awk '/^Mem:/ {print $2}') #SWAP=$(free -m | awk '/^Swap:/ {print $2}') #ulimit -v $(((MEM + SWAP/2)*1024)) # In general we want to ship release checking enabled compilers # and run BETA with checking enabled. #ENABLE_CHECKING="--enable-checking=yes" ENABLE_CHECKING="--enable-checking=release" %if "%{name}" != "gcc44" export PATH=/opt/cross/bin:$PATH %endif # Work around tail/head -1 changes export _POSIX2_VERSION=199209 # configure tries to parse include/features.h to detect # if glibc supports SSP. When cross compiling we would need # to install a cross glibc, which we don't, or make the whole # thing point to the native glibc, which is in /, hence the # --with-sysroot=/ %if %{build_ada} # Using the host gnatmake like # CC="gcc%{hostsuffix}" GNATBIND="gnatbind%{hostsuffix}" # GNATMAKE="gnatmake%{hostsuffix}" # doesn't work due to PR33857, so an un-suffixed gnatmake has to be # available mkdir -p host-tools/bin cp -a /usr/bin/gnatmake%{hostsuffix} host-tools/bin/gnatmake cp -a /usr/bin/gnatlink%{hostsuffix} host-tools/bin/gnatlink cp -a /usr/bin/gnatbind%{hostsuffix} host-tools/bin/gnatbind cp -a /usr/bin/gcc%{hostsuffix} host-tools/bin/gcc ln -sf /usr/%{_lib} host-tools/%{_lib} export PATH="`pwd`/host-tools/bin:$PATH" %endif #%if 0%{?gcc_target_arch:1} && 0%{!?gcc_icecream:1} #%else # --enable-threads=posix \ #%endif # --enable-shared \ CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" XCFLAGS="$RPM_OPT_FLAGS" \ TCFLAGS="$RPM_OPT_FLAGS" GCJFLAGS="$RPM_OPT_FLAGS" \ ../configure \ --prefix=%{_prefix} \ --infodir=%{_infodir} \ --mandir=%{_mandir} \ --libdir=%{_libdir} \ --libexecdir=%{_libdir} \ --enable-languages=$languages \ $ENABLE_CHECKING \ --with-gxx-include-dir=%{_prefix}/include/c++/%{gcc_dir_version} \ --enable-ssp \ --disable-libssp \ --with-bugurl="http://bugs.opensuse.org/" \ --with-pkgversion="SUSE Linux" \ %if !%{build_libjava} --disable-libgcj \ %else --with-java-home=%{_libdir}/jvm/java-1.5.0-gcj%{binsuffix}-1.5.0.0/jre \ --with-ecj-jar=%{libsubdir}/ecj.jar \ --enable-java-awt=gtk \ --enable-gtk-cairo \ %if !%{biarch_libjava} --disable-libjava-multilib \ %endif %endif %if !%{build_with_mudflap} --disable-libmudflap \ %endif --with-slibdir=/%{_lib} \ --with-system-zlib \ --enable-__cxa_atexit \ --enable-libstdcxx-allocator=new \ --disable-libstdcxx-pch \ --enable-version-specific-runtime-libs \ %if 0%{?gcc_target_arch:1} %if 0%{?gcc_icecream:1} --with-as=/opt/cross/%{TARGET_ARCH}-linux/bin/as \ --with-ld=/opt/cross/%{TARGET_ARCH}-linux/bin/ld \ --with-sysroot=/ \ --enable-linux-futex \ %endif %if 0%{?build_static:1} --disable-shared \ %endif %if "%{TARGET_ARCH}" == "spu" --with-sysroot=/usr/spu \ --with-gxx-include-dir=%{_prefix}/spu/include/c++/%{gcc_dir_version} \ --with-newlib \ %endif --disable-nls \ --target=%{CONFIGURE_TARGET} \ %else --program-suffix=%{binsuffix} \ --enable-linux-futex \ %ifarch ia64 --with-system-libunwind \ %else --without-system-libunwind \ %endif %endif %if "%{TARGET_ARCH}" == "powerpc" --with-cpu=default32 \ --enable-secureplt \ --with-long-double-128 \ %endif %if "%{TARGET_ARCH}" == "powerpc64" --with-cpu=power4 \ --enable-secureplt \ --with-long-double-128 \ %endif %if "%{TARGET_ARCH}" == "i586" --with-arch-32=i586 \ --with-tune=generic \ %endif %if "%{TARGET_ARCH}" == "x86_64" --with-arch-32=i586 \ --with-tune=generic \ %endif %if "%{TARGET_ARCH}" == "s390" --with-tune=z9-109 --with-arch=z900 \ --with-long-double-128 \ %endif %if "%{TARGET_ARCH}" == "s390x" --with-tune=z10 --with-arch=z9-109 \ --with-long-double-128 \ %endif --build=%{GCCDIST} # COMMON-END # COMMON-END make %{?jobs:-j%jobs} all-gcc TARGET-gcc="cc1 cc1plus gcc-cross g++ native" %install cd obj-%{GCCDIST} rm -rf $RPM_BUILD_ROOT BUILD_TARGET=%{TARGET_ARCH} ORIG_TARGET=$BUILD_TARGET # We play funny tricks with the ppc compiler. We want to have it biarch, # which the powerpc compiler itself doesn't support. So we actually # configure it as powerpc64 target compiler (i.e. a native cross compiler # even on ppc), with the default code generation to be powerpc32. # But this doesn't hide the fact that it's still a cross compiler which # shows also in various paths test "$BUILD_TARGET" = powerpc && BUILD_TARGET=powerpc64 make -C gcc DESTDIR=$RPM_BUILD_ROOT/inst install-driver install-common # But the assembler comes from the cross-binutils, and hence is _not_ # named funnily, not even on ppc, so there we need the original target install -s -D /opt/cross/bin/${ORIG_TARGET}-linux-as $RPM_BUILD_ROOT/env/usr/bin/as install -s $RPM_BUILD_ROOT/inst%{_prefix}/bin/${BUILD_TARGET}-linux-g++ $RPM_BUILD_ROOT/env/usr/bin/g++ install -s $RPM_BUILD_ROOT/inst%{_prefix}/bin/${BUILD_TARGET}-linux-gcc $RPM_BUILD_ROOT/env/usr/bin/gcc for back in cc1 cc1plus; do install -s -D $RPM_BUILD_ROOT/inst%{_libdir}/gcc/${BUILD_TARGET}-linux/%{gcc_dir_version}/$back \ $RPM_BUILD_ROOT/env%{_libdir}/gcc/${BUILD_TARGET}-linux/%{gcc_dir_version}/$back done libs=`for bin in $RPM_BUILD_ROOT/env/usr/bin/* $RPM_BUILD_ROOT/env%{_libdir}/gcc/${BUILD_TARGET}-linux/%{gcc_dir_version}/*; do \ ldd $bin | sed -n '\,^[^/]*\(/[^ ]*\).*,{ s//\1/; p; }' ;\ done | sort -u ` for lib in $libs; do # Check wether the same library also exists in the parent directory, # and prefer that on the assumption that it is a more generic one. baselib=`echo "$lib" | sed 's,/[^/]*\(/[^/]*\)$,\1,'` test -f "$baselib" && lib=$baselib install -s -D $lib $RPM_BUILD_ROOT/env$lib done rm -rf $RPM_BUILD_ROOT/inst cd $RPM_BUILD_ROOT/env tar cvzf ../%{name}_%{_arch}.tar.gz * cd .. mkdir -p usr/share/icecream-envs mv %{name}_%{_arch}.tar.gz usr/share/icecream-envs rpm -q --changelog glibc > usr/share/icecream-envs/%{name}_%{_arch}.glibc rpm -q --changelog binutils > usr/share/icecream-envs/%{name}_%{_arch}.binutils rm -r env %clean rm -rf $RPM_BUILD_ROOT %files %defattr(-,root,root) /usr/share/icecream-envs %changelog * Mon Apr 20 2009 rguenther@suse.de - Update to GCC 4.4.0 release. * Sat Apr 18 2009 rguenther@suse.de - Adjust Ada BuildRequires check. * Tue Apr 14 2009 rguenther@suse.de - Update to GCC 4.4.0 RC1. * Tue Mar 31 2009 rguenther@suse.de - Update to gcc-4_4-branch head (r145337). - Switch to release-checking. * Mon Mar 23 2009 rguenther@suse.de - Update to SVN trunk head (r145004). * Mon Mar 16 2009 rguenther@suse.de - Update to SVN trunk head (r144881). * Thu Feb 26 2009 rguenther@suse.de - Update to SVN trunk head (r144446). - Updates classpath to 0.98 release. [bnc#457169] - Add patch for PR39272. * Thu Feb 19 2009 rguenther@suse.de - Update to SVN trunk head (r144292). * Wed Feb 11 2009 rguenther@suse.de - Update to SVN trunk head (r144122). - Enable LFS support for 32bit host binaries. - Set default cpu and tuning for x86_64 and ix86. Filter RPM_OPT_FLAGS. * Fri Feb 06 2009 rguenther@suse.de - Update baselibs.conf. * Wed Feb 04 2009 rguenther@suse.de - Update to SVN trunk head (r143983). - Forward-port -Wunprototyped-calls. * Wed Jan 28 2009 rguenther@suse.de - Update to SVN trunk head (143725). - Add patch to fix PR38977. - Forward-port SUSE local changes from gcc43 package. * Fri Jan 23 2009 rguenther@suse.de - Update to SVN trunk head (143577). * Fri Jan 09 2009 rguenther@suse.de - Properly package x86intrin.h. * Thu Jan 08 2009 rguenther@suse.de - Update to SVN trunk head (143188). * Thu Dec 11 2008 rguenther@suse.de - Update to SVN trunk head (142676). - Add build-id patch and patch to disable unwind tables for crtstuff. * Thu Dec 04 2008 rguenther@suse.de - Update to SVN trunk head (142437). * Tue Nov 25 2008 rguenther@suse.de - Update to SVN trunk head (142195). * Tue Nov 25 2008 rguenther@suse.de - Update to SVN trunk head (r142190). - Install new immintrin.h and avxintrin.h files, remove gmmintrin.h. * Sat Nov 15 2008 rguenther@suse.de - Update to SVN trunk head (r141893). * Thu Nov 06 2008 rguenther@suse.de - Update to SVN trunk head (r141645). - Bring forward some spec file changes from gcc43. * Fri Oct 31 2008 rguenther@suse.de - Fix Ada multilibbing. - Fix updated classpath packaging. * Thu Oct 30 2008 rguenther@suse.de - Update to SVN trunk head (r141467). * Fri Sep 19 2008 rguenther@suse.de - Update to SVN trunk head (r140485). * Wed Sep 17 2008 rguenther@suse.de - Update to SVN trunk head (r140419). * Tue Sep 16 2008 rguenther@suse.de - Add proper provides/obsoletes to shared library packages. * Fri Sep 05 2008 rguenther@suse.de - Update to SVN trunk head (r140030). - Fix GRAPHITE enablement. * Wed Sep 03 2008 rguenther@suse.de - Update to SVN trunk head (r139931). - Add ppl and cloog build dependencies to enable GRAPHITE. * Fri Aug 29 2008 rguenther@suse.de - Update to SVN trunk head (r139755). * Tue Aug 19 2008 rguenther@suse.de - Update to SVN trunk head (r139235). * Sat Jul 19 2008 rguenther@suse.de - Update to SVN trunk head (r137977). * Wed Jun 11 2008 rguenther@suse.de - New gcc44 package. ++++++ cross-i386-gcc-icecream-backend.spec ++++++ # # spec file for package cross-i386-gcc-icecream-backend (Version 4.4.0_20090421) # # Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # # norootforbuild %define build_cp 1 %define build_ada 0 %define build_libjava 0 %define build_java 0 %define build_fortran 0 %define build_objc 0 %define build_objcp 0 %define build_nof 0 %define gcc_for_opt 0 %define gcc_target_arch i386-linux %define gcc_icecream 1 Name: cross-i386-gcc-icecream-backend BuildRequires: cross-i386-binutils glibc-devel-32bit BuildRequires: gmp-devel mpfr-devel BuildRequires: bison BuildRequires: flex ExclusiveArch: ppc ppc64 %ix86 x86_64 ia64 %define _binary_payload w.ufdio # COMMON-BEGIN # COMMON-BEGIN %define biarch_targets x86_64 s390x powerpc64 powerpc Url: http://gcc.gnu.org/ License: BSD 3-Clause; GPL v2 or later; LGPL v2.1 or later; X11/MIT Version: 4.4.0_20090421 Release: 1 %define gcc_version %(echo %version | sed 's/_.*//') %define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1-2) %define snapshot_date %(echo %version | sed 's/[34]\.[0-4]\.[0-6]//' | sed 's/_/-/') %define binsuffix -4.4 # COMMON-END # COMMON-BEGIN Group: Development/Languages/C and C++ AutoReqProv: on Summary: The GNU C Compiler and Support Files BuildRoot: %{_tmppath}/%{name}-%{version}-build Source: gcc-%{gcc_version}%{snapshot_date}.tar.bz2 Source1: change_spec Source2: libgcj44-rpmlintrc Source3: gcc44-rpmlintrc Source4: ecj.jar Source5: README.First-for.SuSE.packagers Patch1: gcc-dir-version.patch Patch2: gcc-sles-version.patch Patch3: gcc-noalias-warn.diff Patch5: boehm-gc-strict-aliasing.patch Patch6: suse-record-gcc-opts.diff Patch7: acats-timeout.patch Patch8: Wunprototyped-calls.diff Patch9: gcc44-lfs.diff Patch10: program-transform-name.diff Patch12: gcc4-ppc64-m32-m64-multilib-only.patch Patch23: libjava-no-multilib.diff Patch24: tls-no-direct.diff Patch25: pr27880.diff Patch28: pr33763.diff Patch29: build-id.diff Patch30: gcc43-no-unwind-tables.diff # A set of patches from the RH srpm Patch51: gcc41-ia64-stack-protector.patch Patch55: gcc41-java-slow_pthread_self.patch Patch57: gcc41-ppc32-retaddr.patch # Some patches taken from Debian Patch60: gcc44-textdomain.patch Patch61: gcc44-rename-info-files.patch # Patches for SAP features Patch130: sap303956-uchar.diff # LIBJAVA-DELETE-BEGIN %description NOTE: Be sure to install at least the following packages as well or you will not be able to compile: binutils and glibc-devel. Compiled with support for Ada, C, C++, Fortran77, Java, and Objective-C. Authors: -------- The GCC team. %if 0%{?gcc_target_arch:1} %define CONFIGURE_TARGET %{gcc_target_arch} %define TARGET_ARCH %(echo %{gcc_target_arch} | cut -d - -f 1 | sed -e "s/i.86/i586/;s/ppc/powerpc/") %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "powerpc" %define CONFIGURE_TARGET powerpc64-linux %endif %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "powerpc64" %define CONFIGURE_TARGET powerpc64-linux %endif %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "i586" %define CONFIGURE_TARGET i586-linux %endif %else %define TARGET_ARCH %(echo %{_target_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/") %endif %define HOST_ARCH %(echo %{_host_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/") %define biarch %(case " %{biarch_targets} " in (*" %{TARGET_ARCH} "*) echo 1;; (*) echo 0;; esac) %ifarch ppc %define GCCDIST powerpc64-suse-linux %else %define GCCDIST %{HOST_ARCH}-suse-linux %endif %define libsubdir %{_libdir}/gcc/%{GCCDIST}/%{gcc_dir_version} %define gxxinclude %{_prefix}/include/c++/%{gcc_dir_version} # COMMON-END # COMMON-BEGIN %prep %setup -q -n gcc-%{gcc_version}%{snapshot_date} %patch1 %patch2 %patch3 %patch5 %patch6 %patch7 %patch8 %patch9 %patch10 %if !%{build_nof} %patch12 %endif %patch23 %patch24 %patch25 %patch28 %if 0%{suse_version} > 1100 %patch29 %endif %patch30 %patch51 %patch55 %patch57 %patch60 %patch61 %patch130 %build # Avoid rebuilding of generated files contrib/gcc_update --touch # Split version file into version used for directories (X.Y) and # version to report with --version (X.Y.Z). # See also gcc-dir-version.patch. # Also decrement the patchlevel version by one if test `cat gcc/DEV-PHASE` == "prerelease"; then ( cat gcc/BASE-VER | cut -d '.' -f 1-2 | tr -d '\n'; echo -n .; cat gcc/BASE-VER | cut -d '.' -f 3 | tr '0123456789' '0012345678' ) > gcc/FULL-VER else mv gcc/BASE-VER gcc/FULL-VER fi cat gcc/FULL-VER | cut -d '.' -f 1-2 > gcc/BASE-VER rm -rf obj-%{GCCDIST} mkdir obj-%{GCCDIST} cd obj-%{GCCDIST} RPM_OPT_FLAGS="$RPM_OPT_FLAGS -U_FORTIFY_SOURCE" RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-fno-rtti//g' -e 's/-fno-exceptions//g' -e 's/-Wmissing-format-attribute//g' -e 's/-fstack-protector//g' -e 's/-ffortify=.//g' -e 's/-Wall//g' -e 's/-m32//g' -e 's/-m64//g'` %ifarch %ix86 # -mcpu is superceded by -mtune but -mtune is not supported by # our bootstrap compiler. -mcpu gives a warning that stops # the build process, so remove it for now. Also remove all other # -march and -mtune flags. They are superseeded by proper # default compiler settings now. RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-mcpu=i.86//g' -e 's/-march=i.86//g' -e 's/-mtune=i.86//g'` %endif %ifarch s390 s390x RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-fsigned-char//g'` RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-O1/-O2/g'` %endif %if 0%{?gcc_target_arch:1} && 0%{!?gcc_icecream:1} # Kill all -march/tune/cpu because that screws building the target libs RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-m\(arch\|tune\|cpu\)=[^ ]*//g'` %endif # Replace 2 spaces by one finally RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/ / /g'` languages=c %if %{build_cp} languages=$languages,c++ %endif %if %{build_objc} languages=$languages,objc %endif %if %{build_fortran} languages=$languages,fortran %endif %if %{build_objcp} languages=$languages,obj-c++ %endif %if %{build_java} languages=$languages,java %endif %if %{build_ada} languages=$languages,ada %endif J=%{?jobs:%jobs} if test -z "$J"; then J=$(getconf _NPROCESSORS_CONF) JL=$(($J * 2)) else test 1 -gt "$J" && J=1 JL=$(($(getconf _NPROCESSORS_CONF)*2)) fi if test "$J" == "0"; then J=1 fi if test "$JL" == "0"; then JL=1 fi PARALLEL="-j$J -l$JL" # we don't want some miscompiles in the testsuite, or some fault in # the compiler to kill the machine. Hence we limit the amount of memory # by the physical RAM plus half of swap #MEM=$(free -m | awk '/^Mem:/ {print $2}') #SWAP=$(free -m | awk '/^Swap:/ {print $2}') #ulimit -v $(((MEM + SWAP/2)*1024)) # In general we want to ship release checking enabled compilers # and run BETA with checking enabled. #ENABLE_CHECKING="--enable-checking=yes" ENABLE_CHECKING="--enable-checking=release" %if "%{name}" != "gcc44" export PATH=/opt/cross/bin:$PATH %endif # Work around tail/head -1 changes export _POSIX2_VERSION=199209 # configure tries to parse include/features.h to detect # if glibc supports SSP. When cross compiling we would need # to install a cross glibc, which we don't, or make the whole # thing point to the native glibc, which is in /, hence the # --with-sysroot=/ %if %{build_ada} # Using the host gnatmake like # CC="gcc%{hostsuffix}" GNATBIND="gnatbind%{hostsuffix}" # GNATMAKE="gnatmake%{hostsuffix}" # doesn't work due to PR33857, so an un-suffixed gnatmake has to be # available mkdir -p host-tools/bin cp -a /usr/bin/gnatmake%{hostsuffix} host-tools/bin/gnatmake cp -a /usr/bin/gnatlink%{hostsuffix} host-tools/bin/gnatlink cp -a /usr/bin/gnatbind%{hostsuffix} host-tools/bin/gnatbind cp -a /usr/bin/gcc%{hostsuffix} host-tools/bin/gcc ln -sf /usr/%{_lib} host-tools/%{_lib} export PATH="`pwd`/host-tools/bin:$PATH" %endif #%if 0%{?gcc_target_arch:1} && 0%{!?gcc_icecream:1} #%else # --enable-threads=posix \ #%endif # --enable-shared \ CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" XCFLAGS="$RPM_OPT_FLAGS" \ TCFLAGS="$RPM_OPT_FLAGS" GCJFLAGS="$RPM_OPT_FLAGS" \ ../configure \ --prefix=%{_prefix} \ --infodir=%{_infodir} \ --mandir=%{_mandir} \ --libdir=%{_libdir} \ --libexecdir=%{_libdir} \ --enable-languages=$languages \ $ENABLE_CHECKING \ --with-gxx-include-dir=%{_prefix}/include/c++/%{gcc_dir_version} \ --enable-ssp \ --disable-libssp \ --with-bugurl="http://bugs.opensuse.org/" \ --with-pkgversion="SUSE Linux" \ %if !%{build_libjava} --disable-libgcj \ %else --with-java-home=%{_libdir}/jvm/java-1.5.0-gcj%{binsuffix}-1.5.0.0/jre \ --with-ecj-jar=%{libsubdir}/ecj.jar \ --enable-java-awt=gtk \ --enable-gtk-cairo \ %if !%{biarch_libjava} --disable-libjava-multilib \ %endif %endif %if !%{build_with_mudflap} --disable-libmudflap \ %endif --with-slibdir=/%{_lib} \ --with-system-zlib \ --enable-__cxa_atexit \ --enable-libstdcxx-allocator=new \ --disable-libstdcxx-pch \ --enable-version-specific-runtime-libs \ %if 0%{?gcc_target_arch:1} %if 0%{?gcc_icecream:1} --with-as=/opt/cross/%{TARGET_ARCH}-linux/bin/as \ --with-ld=/opt/cross/%{TARGET_ARCH}-linux/bin/ld \ --with-sysroot=/ \ --enable-linux-futex \ %endif %if 0%{?build_static:1} --disable-shared \ %endif %if "%{TARGET_ARCH}" == "spu" --with-sysroot=/usr/spu \ --with-gxx-include-dir=%{_prefix}/spu/include/c++/%{gcc_dir_version} \ --with-newlib \ %endif --disable-nls \ --target=%{CONFIGURE_TARGET} \ %else --program-suffix=%{binsuffix} \ --enable-linux-futex \ %ifarch ia64 --with-system-libunwind \ %else --without-system-libunwind \ %endif %endif %if "%{TARGET_ARCH}" == "powerpc" --with-cpu=default32 \ --enable-secureplt \ --with-long-double-128 \ %endif %if "%{TARGET_ARCH}" == "powerpc64" --with-cpu=power4 \ --enable-secureplt \ --with-long-double-128 \ %endif %if "%{TARGET_ARCH}" == "i586" --with-arch-32=i586 \ --with-tune=generic \ %endif %if "%{TARGET_ARCH}" == "x86_64" --with-arch-32=i586 \ --with-tune=generic \ %endif %if "%{TARGET_ARCH}" == "s390" --with-tune=z9-109 --with-arch=z900 \ --with-long-double-128 \ %endif %if "%{TARGET_ARCH}" == "s390x" --with-tune=z10 --with-arch=z9-109 \ --with-long-double-128 \ %endif --build=%{GCCDIST} # COMMON-END # COMMON-END make %{?jobs:-j%jobs} all-gcc TARGET-gcc="cc1 cc1plus gcc-cross g++ native" %install cd obj-%{GCCDIST} rm -rf $RPM_BUILD_ROOT BUILD_TARGET=%{TARGET_ARCH} ORIG_TARGET=$BUILD_TARGET # We play funny tricks with the ppc compiler. We want to have it biarch, # which the powerpc compiler itself doesn't support. So we actually # configure it as powerpc64 target compiler (i.e. a native cross compiler # even on ppc), with the default code generation to be powerpc32. # But this doesn't hide the fact that it's still a cross compiler which # shows also in various paths test "$BUILD_TARGET" = powerpc && BUILD_TARGET=powerpc64 make -C gcc DESTDIR=$RPM_BUILD_ROOT/inst install-driver install-common # But the assembler comes from the cross-binutils, and hence is _not_ # named funnily, not even on ppc, so there we need the original target install -s -D /opt/cross/bin/${ORIG_TARGET}-linux-as $RPM_BUILD_ROOT/env/usr/bin/as install -s $RPM_BUILD_ROOT/inst%{_prefix}/bin/${BUILD_TARGET}-linux-g++ $RPM_BUILD_ROOT/env/usr/bin/g++ install -s $RPM_BUILD_ROOT/inst%{_prefix}/bin/${BUILD_TARGET}-linux-gcc $RPM_BUILD_ROOT/env/usr/bin/gcc for back in cc1 cc1plus; do install -s -D $RPM_BUILD_ROOT/inst%{_libdir}/gcc/${BUILD_TARGET}-linux/%{gcc_dir_version}/$back \ $RPM_BUILD_ROOT/env%{_libdir}/gcc/${BUILD_TARGET}-linux/%{gcc_dir_version}/$back done libs=`for bin in $RPM_BUILD_ROOT/env/usr/bin/* $RPM_BUILD_ROOT/env%{_libdir}/gcc/${BUILD_TARGET}-linux/%{gcc_dir_version}/*; do \ ldd $bin | sed -n '\,^[^/]*\(/[^ ]*\).*,{ s//\1/; p; }' ;\ done | sort -u ` for lib in $libs; do # Check wether the same library also exists in the parent directory, # and prefer that on the assumption that it is a more generic one. baselib=`echo "$lib" | sed 's,/[^/]*\(/[^/]*\)$,\1,'` test -f "$baselib" && lib=$baselib install -s -D $lib $RPM_BUILD_ROOT/env$lib done rm -rf $RPM_BUILD_ROOT/inst cd $RPM_BUILD_ROOT/env tar cvzf ../%{name}_%{_arch}.tar.gz * cd .. mkdir -p usr/share/icecream-envs mv %{name}_%{_arch}.tar.gz usr/share/icecream-envs rpm -q --changelog glibc > usr/share/icecream-envs/%{name}_%{_arch}.glibc rpm -q --changelog binutils > usr/share/icecream-envs/%{name}_%{_arch}.binutils rm -r env %clean rm -rf $RPM_BUILD_ROOT %files %defattr(-,root,root) /usr/share/icecream-envs %changelog * Mon Apr 20 2009 rguenther@suse.de - Update to GCC 4.4.0 release. * Sat Apr 18 2009 rguenther@suse.de - Adjust Ada BuildRequires check. * Tue Apr 14 2009 rguenther@suse.de - Update to GCC 4.4.0 RC1. * Tue Mar 31 2009 rguenther@suse.de - Update to gcc-4_4-branch head (r145337). - Switch to release-checking. * Mon Mar 23 2009 rguenther@suse.de - Update to SVN trunk head (r145004). * Mon Mar 16 2009 rguenther@suse.de - Update to SVN trunk head (r144881). * Thu Feb 26 2009 rguenther@suse.de - Update to SVN trunk head (r144446). - Updates classpath to 0.98 release. [bnc#457169] - Add patch for PR39272. * Thu Feb 19 2009 rguenther@suse.de - Update to SVN trunk head (r144292). * Wed Feb 11 2009 rguenther@suse.de - Update to SVN trunk head (r144122). - Enable LFS support for 32bit host binaries. - Set default cpu and tuning for x86_64 and ix86. Filter RPM_OPT_FLAGS. * Fri Feb 06 2009 rguenther@suse.de - Update baselibs.conf. * Wed Feb 04 2009 rguenther@suse.de - Update to SVN trunk head (r143983). - Forward-port -Wunprototyped-calls. * Wed Jan 28 2009 rguenther@suse.de - Update to SVN trunk head (143725). - Add patch to fix PR38977. - Forward-port SUSE local changes from gcc43 package. * Fri Jan 23 2009 rguenther@suse.de - Update to SVN trunk head (143577). * Fri Jan 09 2009 rguenther@suse.de - Properly package x86intrin.h. * Thu Jan 08 2009 rguenther@suse.de - Update to SVN trunk head (143188). * Thu Dec 11 2008 rguenther@suse.de - Update to SVN trunk head (142676). - Add build-id patch and patch to disable unwind tables for crtstuff. * Thu Dec 04 2008 rguenther@suse.de - Update to SVN trunk head (142437). * Tue Nov 25 2008 rguenther@suse.de - Update to SVN trunk head (142195). * Tue Nov 25 2008 rguenther@suse.de - Update to SVN trunk head (r142190). - Install new immintrin.h and avxintrin.h files, remove gmmintrin.h. * Sat Nov 15 2008 rguenther@suse.de - Update to SVN trunk head (r141893). * Thu Nov 06 2008 rguenther@suse.de - Update to SVN trunk head (r141645). - Bring forward some spec file changes from gcc43. * Fri Oct 31 2008 rguenther@suse.de - Fix Ada multilibbing. - Fix updated classpath packaging. * Thu Oct 30 2008 rguenther@suse.de - Update to SVN trunk head (r141467). * Fri Sep 19 2008 rguenther@suse.de - Update to SVN trunk head (r140485). * Wed Sep 17 2008 rguenther@suse.de - Update to SVN trunk head (r140419). * Tue Sep 16 2008 rguenther@suse.de - Add proper provides/obsoletes to shared library packages. * Fri Sep 05 2008 rguenther@suse.de - Update to SVN trunk head (r140030). - Fix GRAPHITE enablement. * Wed Sep 03 2008 rguenther@suse.de - Update to SVN trunk head (r139931). - Add ppl and cloog build dependencies to enable GRAPHITE. * Fri Aug 29 2008 rguenther@suse.de - Update to SVN trunk head (r139755). * Tue Aug 19 2008 rguenther@suse.de - Update to SVN trunk head (r139235). * Sat Jul 19 2008 rguenther@suse.de - Update to SVN trunk head (r137977). * Wed Jun 11 2008 rguenther@suse.de - New gcc44 package. ++++++ cross-ia64-gcc-icecream-backend.spec ++++++ # # spec file for package cross-ia64-gcc-icecream-backend (Version 4.4.0_20090421) # # Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # # norootforbuild %define build_cp 1 %define build_ada 0 %define build_libjava 0 %define build_java 0 %define build_fortran 0 %define build_objc 0 %define build_objcp 0 %define build_nof 0 %define gcc_for_opt 0 %define gcc_target_arch ia64-linux %define gcc_icecream 1 Name: cross-ia64-gcc-icecream-backend BuildRequires: cross-ia64-binutils glibc-devel-32bit BuildRequires: gmp-devel mpfr-devel BuildRequires: bison BuildRequires: flex ExclusiveArch: ppc ppc64 %ix86 x86_64 ia64 %define _binary_payload w.ufdio # COMMON-BEGIN # COMMON-BEGIN %define biarch_targets x86_64 s390x powerpc64 powerpc Url: http://gcc.gnu.org/ License: BSD 3-Clause; GPL v2 or later; LGPL v2.1 or later; X11/MIT Version: 4.4.0_20090421 Release: 1 %define gcc_version %(echo %version | sed 's/_.*//') %define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1-2) %define snapshot_date %(echo %version | sed 's/[34]\.[0-4]\.[0-6]//' | sed 's/_/-/') %define binsuffix -4.4 # COMMON-END # COMMON-BEGIN Group: Development/Languages/C and C++ AutoReqProv: on Summary: The GNU C Compiler and Support Files BuildRoot: %{_tmppath}/%{name}-%{version}-build Source: gcc-%{gcc_version}%{snapshot_date}.tar.bz2 Source1: change_spec Source2: libgcj44-rpmlintrc Source3: gcc44-rpmlintrc Source4: ecj.jar Source5: README.First-for.SuSE.packagers Patch1: gcc-dir-version.patch Patch2: gcc-sles-version.patch Patch3: gcc-noalias-warn.diff Patch5: boehm-gc-strict-aliasing.patch Patch6: suse-record-gcc-opts.diff Patch7: acats-timeout.patch Patch8: Wunprototyped-calls.diff Patch9: gcc44-lfs.diff Patch10: program-transform-name.diff Patch12: gcc4-ppc64-m32-m64-multilib-only.patch Patch23: libjava-no-multilib.diff Patch24: tls-no-direct.diff Patch25: pr27880.diff Patch28: pr33763.diff Patch29: build-id.diff Patch30: gcc43-no-unwind-tables.diff # A set of patches from the RH srpm Patch51: gcc41-ia64-stack-protector.patch Patch55: gcc41-java-slow_pthread_self.patch Patch57: gcc41-ppc32-retaddr.patch # Some patches taken from Debian Patch60: gcc44-textdomain.patch Patch61: gcc44-rename-info-files.patch # Patches for SAP features Patch130: sap303956-uchar.diff # LIBJAVA-DELETE-BEGIN %description NOTE: Be sure to install at least the following packages as well or you will not be able to compile: binutils and glibc-devel. Compiled with support for Ada, C, C++, Fortran77, Java, and Objective-C. Authors: -------- The GCC team. %if 0%{?gcc_target_arch:1} %define CONFIGURE_TARGET %{gcc_target_arch} %define TARGET_ARCH %(echo %{gcc_target_arch} | cut -d - -f 1 | sed -e "s/i.86/i586/;s/ppc/powerpc/") %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "powerpc" %define CONFIGURE_TARGET powerpc64-linux %endif %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "powerpc64" %define CONFIGURE_TARGET powerpc64-linux %endif %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "i586" %define CONFIGURE_TARGET i586-linux %endif %else %define TARGET_ARCH %(echo %{_target_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/") %endif %define HOST_ARCH %(echo %{_host_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/") %define biarch %(case " %{biarch_targets} " in (*" %{TARGET_ARCH} "*) echo 1;; (*) echo 0;; esac) %ifarch ppc %define GCCDIST powerpc64-suse-linux %else %define GCCDIST %{HOST_ARCH}-suse-linux %endif %define libsubdir %{_libdir}/gcc/%{GCCDIST}/%{gcc_dir_version} %define gxxinclude %{_prefix}/include/c++/%{gcc_dir_version} # COMMON-END # COMMON-BEGIN %prep %setup -q -n gcc-%{gcc_version}%{snapshot_date} %patch1 %patch2 %patch3 %patch5 %patch6 %patch7 %patch8 %patch9 %patch10 %if !%{build_nof} %patch12 %endif %patch23 %patch24 %patch25 %patch28 %if 0%{suse_version} > 1100 %patch29 %endif %patch30 %patch51 %patch55 %patch57 %patch60 %patch61 %patch130 %build # Avoid rebuilding of generated files contrib/gcc_update --touch # Split version file into version used for directories (X.Y) and # version to report with --version (X.Y.Z). # See also gcc-dir-version.patch. # Also decrement the patchlevel version by one if test `cat gcc/DEV-PHASE` == "prerelease"; then ( cat gcc/BASE-VER | cut -d '.' -f 1-2 | tr -d '\n'; echo -n .; cat gcc/BASE-VER | cut -d '.' -f 3 | tr '0123456789' '0012345678' ) > gcc/FULL-VER else mv gcc/BASE-VER gcc/FULL-VER fi cat gcc/FULL-VER | cut -d '.' -f 1-2 > gcc/BASE-VER rm -rf obj-%{GCCDIST} mkdir obj-%{GCCDIST} cd obj-%{GCCDIST} RPM_OPT_FLAGS="$RPM_OPT_FLAGS -U_FORTIFY_SOURCE" RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-fno-rtti//g' -e 's/-fno-exceptions//g' -e 's/-Wmissing-format-attribute//g' -e 's/-fstack-protector//g' -e 's/-ffortify=.//g' -e 's/-Wall//g' -e 's/-m32//g' -e 's/-m64//g'` %ifarch %ix86 # -mcpu is superceded by -mtune but -mtune is not supported by # our bootstrap compiler. -mcpu gives a warning that stops # the build process, so remove it for now. Also remove all other # -march and -mtune flags. They are superseeded by proper # default compiler settings now. RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-mcpu=i.86//g' -e 's/-march=i.86//g' -e 's/-mtune=i.86//g'` %endif %ifarch s390 s390x RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-fsigned-char//g'` RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-O1/-O2/g'` %endif %if 0%{?gcc_target_arch:1} && 0%{!?gcc_icecream:1} # Kill all -march/tune/cpu because that screws building the target libs RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-m\(arch\|tune\|cpu\)=[^ ]*//g'` %endif # Replace 2 spaces by one finally RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/ / /g'` languages=c %if %{build_cp} languages=$languages,c++ %endif %if %{build_objc} languages=$languages,objc %endif %if %{build_fortran} languages=$languages,fortran %endif %if %{build_objcp} languages=$languages,obj-c++ %endif %if %{build_java} languages=$languages,java %endif %if %{build_ada} languages=$languages,ada %endif J=%{?jobs:%jobs} if test -z "$J"; then J=$(getconf _NPROCESSORS_CONF) JL=$(($J * 2)) else test 1 -gt "$J" && J=1 JL=$(($(getconf _NPROCESSORS_CONF)*2)) fi if test "$J" == "0"; then J=1 fi if test "$JL" == "0"; then JL=1 fi PARALLEL="-j$J -l$JL" # we don't want some miscompiles in the testsuite, or some fault in # the compiler to kill the machine. Hence we limit the amount of memory # by the physical RAM plus half of swap #MEM=$(free -m | awk '/^Mem:/ {print $2}') #SWAP=$(free -m | awk '/^Swap:/ {print $2}') #ulimit -v $(((MEM + SWAP/2)*1024)) # In general we want to ship release checking enabled compilers # and run BETA with checking enabled. #ENABLE_CHECKING="--enable-checking=yes" ENABLE_CHECKING="--enable-checking=release" %if "%{name}" != "gcc44" export PATH=/opt/cross/bin:$PATH %endif # Work around tail/head -1 changes export _POSIX2_VERSION=199209 # configure tries to parse include/features.h to detect # if glibc supports SSP. When cross compiling we would need # to install a cross glibc, which we don't, or make the whole # thing point to the native glibc, which is in /, hence the # --with-sysroot=/ %if %{build_ada} # Using the host gnatmake like # CC="gcc%{hostsuffix}" GNATBIND="gnatbind%{hostsuffix}" # GNATMAKE="gnatmake%{hostsuffix}" # doesn't work due to PR33857, so an un-suffixed gnatmake has to be # available mkdir -p host-tools/bin cp -a /usr/bin/gnatmake%{hostsuffix} host-tools/bin/gnatmake cp -a /usr/bin/gnatlink%{hostsuffix} host-tools/bin/gnatlink cp -a /usr/bin/gnatbind%{hostsuffix} host-tools/bin/gnatbind cp -a /usr/bin/gcc%{hostsuffix} host-tools/bin/gcc ln -sf /usr/%{_lib} host-tools/%{_lib} export PATH="`pwd`/host-tools/bin:$PATH" %endif #%if 0%{?gcc_target_arch:1} && 0%{!?gcc_icecream:1} #%else # --enable-threads=posix \ #%endif # --enable-shared \ CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" XCFLAGS="$RPM_OPT_FLAGS" \ TCFLAGS="$RPM_OPT_FLAGS" GCJFLAGS="$RPM_OPT_FLAGS" \ ../configure \ --prefix=%{_prefix} \ --infodir=%{_infodir} \ --mandir=%{_mandir} \ --libdir=%{_libdir} \ --libexecdir=%{_libdir} \ --enable-languages=$languages \ $ENABLE_CHECKING \ --with-gxx-include-dir=%{_prefix}/include/c++/%{gcc_dir_version} \ --enable-ssp \ --disable-libssp \ --with-bugurl="http://bugs.opensuse.org/" \ --with-pkgversion="SUSE Linux" \ %if !%{build_libjava} --disable-libgcj \ %else --with-java-home=%{_libdir}/jvm/java-1.5.0-gcj%{binsuffix}-1.5.0.0/jre \ --with-ecj-jar=%{libsubdir}/ecj.jar \ --enable-java-awt=gtk \ --enable-gtk-cairo \ %if !%{biarch_libjava} --disable-libjava-multilib \ %endif %endif %if !%{build_with_mudflap} --disable-libmudflap \ %endif --with-slibdir=/%{_lib} \ --with-system-zlib \ --enable-__cxa_atexit \ --enable-libstdcxx-allocator=new \ --disable-libstdcxx-pch \ --enable-version-specific-runtime-libs \ %if 0%{?gcc_target_arch:1} %if 0%{?gcc_icecream:1} --with-as=/opt/cross/%{TARGET_ARCH}-linux/bin/as \ --with-ld=/opt/cross/%{TARGET_ARCH}-linux/bin/ld \ --with-sysroot=/ \ --enable-linux-futex \ %endif %if 0%{?build_static:1} --disable-shared \ %endif %if "%{TARGET_ARCH}" == "spu" --with-sysroot=/usr/spu \ --with-gxx-include-dir=%{_prefix}/spu/include/c++/%{gcc_dir_version} \ --with-newlib \ %endif --disable-nls \ --target=%{CONFIGURE_TARGET} \ %else --program-suffix=%{binsuffix} \ --enable-linux-futex \ %ifarch ia64 --with-system-libunwind \ %else --without-system-libunwind \ %endif %endif %if "%{TARGET_ARCH}" == "powerpc" --with-cpu=default32 \ --enable-secureplt \ --with-long-double-128 \ %endif %if "%{TARGET_ARCH}" == "powerpc64" --with-cpu=power4 \ --enable-secureplt \ --with-long-double-128 \ %endif %if "%{TARGET_ARCH}" == "i586" --with-arch-32=i586 \ --with-tune=generic \ %endif %if "%{TARGET_ARCH}" == "x86_64" --with-arch-32=i586 \ --with-tune=generic \ %endif %if "%{TARGET_ARCH}" == "s390" --with-tune=z9-109 --with-arch=z900 \ --with-long-double-128 \ %endif %if "%{TARGET_ARCH}" == "s390x" --with-tune=z10 --with-arch=z9-109 \ --with-long-double-128 \ %endif --build=%{GCCDIST} # COMMON-END # COMMON-END make %{?jobs:-j%jobs} all-gcc TARGET-gcc="cc1 cc1plus gcc-cross g++ native" %install cd obj-%{GCCDIST} rm -rf $RPM_BUILD_ROOT BUILD_TARGET=%{TARGET_ARCH} ORIG_TARGET=$BUILD_TARGET # We play funny tricks with the ppc compiler. We want to have it biarch, # which the powerpc compiler itself doesn't support. So we actually # configure it as powerpc64 target compiler (i.e. a native cross compiler # even on ppc), with the default code generation to be powerpc32. # But this doesn't hide the fact that it's still a cross compiler which # shows also in various paths test "$BUILD_TARGET" = powerpc && BUILD_TARGET=powerpc64 make -C gcc DESTDIR=$RPM_BUILD_ROOT/inst install-driver install-common # But the assembler comes from the cross-binutils, and hence is _not_ # named funnily, not even on ppc, so there we need the original target install -s -D /opt/cross/bin/${ORIG_TARGET}-linux-as $RPM_BUILD_ROOT/env/usr/bin/as install -s $RPM_BUILD_ROOT/inst%{_prefix}/bin/${BUILD_TARGET}-linux-g++ $RPM_BUILD_ROOT/env/usr/bin/g++ install -s $RPM_BUILD_ROOT/inst%{_prefix}/bin/${BUILD_TARGET}-linux-gcc $RPM_BUILD_ROOT/env/usr/bin/gcc for back in cc1 cc1plus; do install -s -D $RPM_BUILD_ROOT/inst%{_libdir}/gcc/${BUILD_TARGET}-linux/%{gcc_dir_version}/$back \ $RPM_BUILD_ROOT/env%{_libdir}/gcc/${BUILD_TARGET}-linux/%{gcc_dir_version}/$back done libs=`for bin in $RPM_BUILD_ROOT/env/usr/bin/* $RPM_BUILD_ROOT/env%{_libdir}/gcc/${BUILD_TARGET}-linux/%{gcc_dir_version}/*; do \ ldd $bin | sed -n '\,^[^/]*\(/[^ ]*\).*,{ s//\1/; p; }' ;\ done | sort -u ` for lib in $libs; do # Check wether the same library also exists in the parent directory, # and prefer that on the assumption that it is a more generic one. baselib=`echo "$lib" | sed 's,/[^/]*\(/[^/]*\)$,\1,'` test -f "$baselib" && lib=$baselib install -s -D $lib $RPM_BUILD_ROOT/env$lib done rm -rf $RPM_BUILD_ROOT/inst cd $RPM_BUILD_ROOT/env tar cvzf ../%{name}_%{_arch}.tar.gz * cd .. mkdir -p usr/share/icecream-envs mv %{name}_%{_arch}.tar.gz usr/share/icecream-envs rpm -q --changelog glibc > usr/share/icecream-envs/%{name}_%{_arch}.glibc rpm -q --changelog binutils > usr/share/icecream-envs/%{name}_%{_arch}.binutils rm -r env %clean rm -rf $RPM_BUILD_ROOT %files %defattr(-,root,root) /usr/share/icecream-envs %changelog * Mon Apr 20 2009 rguenther@suse.de - Update to GCC 4.4.0 release. * Sat Apr 18 2009 rguenther@suse.de - Adjust Ada BuildRequires check. * Tue Apr 14 2009 rguenther@suse.de - Update to GCC 4.4.0 RC1. * Tue Mar 31 2009 rguenther@suse.de - Update to gcc-4_4-branch head (r145337). - Switch to release-checking. * Mon Mar 23 2009 rguenther@suse.de - Update to SVN trunk head (r145004). * Mon Mar 16 2009 rguenther@suse.de - Update to SVN trunk head (r144881). * Thu Feb 26 2009 rguenther@suse.de - Update to SVN trunk head (r144446). - Updates classpath to 0.98 release. [bnc#457169] - Add patch for PR39272. * Thu Feb 19 2009 rguenther@suse.de - Update to SVN trunk head (r144292). * Wed Feb 11 2009 rguenther@suse.de - Update to SVN trunk head (r144122). - Enable LFS support for 32bit host binaries. - Set default cpu and tuning for x86_64 and ix86. Filter RPM_OPT_FLAGS. * Fri Feb 06 2009 rguenther@suse.de - Update baselibs.conf. * Wed Feb 04 2009 rguenther@suse.de - Update to SVN trunk head (r143983). - Forward-port -Wunprototyped-calls. * Wed Jan 28 2009 rguenther@suse.de - Update to SVN trunk head (143725). - Add patch to fix PR38977. - Forward-port SUSE local changes from gcc43 package. * Fri Jan 23 2009 rguenther@suse.de - Update to SVN trunk head (143577). * Fri Jan 09 2009 rguenther@suse.de - Properly package x86intrin.h. * Thu Jan 08 2009 rguenther@suse.de - Update to SVN trunk head (143188). * Thu Dec 11 2008 rguenther@suse.de - Update to SVN trunk head (142676). - Add build-id patch and patch to disable unwind tables for crtstuff. * Thu Dec 04 2008 rguenther@suse.de - Update to SVN trunk head (142437). * Tue Nov 25 2008 rguenther@suse.de - Update to SVN trunk head (142195). * Tue Nov 25 2008 rguenther@suse.de - Update to SVN trunk head (r142190). - Install new immintrin.h and avxintrin.h files, remove gmmintrin.h. * Sat Nov 15 2008 rguenther@suse.de - Update to SVN trunk head (r141893). * Thu Nov 06 2008 rguenther@suse.de - Update to SVN trunk head (r141645). - Bring forward some spec file changes from gcc43. * Fri Oct 31 2008 rguenther@suse.de - Fix Ada multilibbing. - Fix updated classpath packaging. * Thu Oct 30 2008 rguenther@suse.de - Update to SVN trunk head (r141467). * Fri Sep 19 2008 rguenther@suse.de - Update to SVN trunk head (r140485). * Wed Sep 17 2008 rguenther@suse.de - Update to SVN trunk head (r140419). * Tue Sep 16 2008 rguenther@suse.de - Add proper provides/obsoletes to shared library packages. * Fri Sep 05 2008 rguenther@suse.de - Update to SVN trunk head (r140030). - Fix GRAPHITE enablement. * Wed Sep 03 2008 rguenther@suse.de - Update to SVN trunk head (r139931). - Add ppl and cloog build dependencies to enable GRAPHITE. * Fri Aug 29 2008 rguenther@suse.de - Update to SVN trunk head (r139755). * Tue Aug 19 2008 rguenther@suse.de - Update to SVN trunk head (r139235). * Sat Jul 19 2008 rguenther@suse.de - Update to SVN trunk head (r137977). * Wed Jun 11 2008 rguenther@suse.de - New gcc44 package. ++++++ cross-ppc64-gcc-icecream-backend.spec ++++++ # # spec file for package cross-ppc64-gcc-icecream-backend (Version 4.4.0_20090421) # # Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # # norootforbuild %define build_cp 1 %define build_ada 0 %define build_libjava 0 %define build_java 0 %define build_fortran 0 %define build_objc 0 %define build_objcp 0 %define build_nof 0 %define gcc_for_opt 0 %define gcc_target_arch ppc64-linux %define gcc_icecream 1 Name: cross-ppc64-gcc-icecream-backend BuildRequires: cross-ppc64-binutils glibc-devel-32bit BuildRequires: gmp-devel mpfr-devel BuildRequires: bison BuildRequires: flex ExclusiveArch: ppc ppc64 %ix86 x86_64 ia64 %define _binary_payload w.ufdio # COMMON-BEGIN # COMMON-BEGIN %define biarch_targets x86_64 s390x powerpc64 powerpc Url: http://gcc.gnu.org/ License: BSD 3-Clause; GPL v2 or later; LGPL v2.1 or later; X11/MIT Version: 4.4.0_20090421 Release: 1 %define gcc_version %(echo %version | sed 's/_.*//') %define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1-2) %define snapshot_date %(echo %version | sed 's/[34]\.[0-4]\.[0-6]//' | sed 's/_/-/') %define binsuffix -4.4 # COMMON-END # COMMON-BEGIN Group: Development/Languages/C and C++ AutoReqProv: on Summary: The GNU C Compiler and Support Files BuildRoot: %{_tmppath}/%{name}-%{version}-build Source: gcc-%{gcc_version}%{snapshot_date}.tar.bz2 Source1: change_spec Source2: libgcj44-rpmlintrc Source3: gcc44-rpmlintrc Source4: ecj.jar Source5: README.First-for.SuSE.packagers Patch1: gcc-dir-version.patch Patch2: gcc-sles-version.patch Patch3: gcc-noalias-warn.diff Patch5: boehm-gc-strict-aliasing.patch Patch6: suse-record-gcc-opts.diff Patch7: acats-timeout.patch Patch8: Wunprototyped-calls.diff Patch9: gcc44-lfs.diff Patch10: program-transform-name.diff Patch12: gcc4-ppc64-m32-m64-multilib-only.patch Patch23: libjava-no-multilib.diff Patch24: tls-no-direct.diff Patch25: pr27880.diff Patch28: pr33763.diff Patch29: build-id.diff Patch30: gcc43-no-unwind-tables.diff # A set of patches from the RH srpm Patch51: gcc41-ia64-stack-protector.patch Patch55: gcc41-java-slow_pthread_self.patch Patch57: gcc41-ppc32-retaddr.patch # Some patches taken from Debian Patch60: gcc44-textdomain.patch Patch61: gcc44-rename-info-files.patch # Patches for SAP features Patch130: sap303956-uchar.diff # LIBJAVA-DELETE-BEGIN %description NOTE: Be sure to install at least the following packages as well or you will not be able to compile: binutils and glibc-devel. Compiled with support for Ada, C, C++, Fortran77, Java, and Objective-C. Authors: -------- The GCC team. %if 0%{?gcc_target_arch:1} %define CONFIGURE_TARGET %{gcc_target_arch} %define TARGET_ARCH %(echo %{gcc_target_arch} | cut -d - -f 1 | sed -e "s/i.86/i586/;s/ppc/powerpc/") %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "powerpc" %define CONFIGURE_TARGET powerpc64-linux %endif %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "powerpc64" %define CONFIGURE_TARGET powerpc64-linux %endif %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "i586" %define CONFIGURE_TARGET i586-linux %endif %else %define TARGET_ARCH %(echo %{_target_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/") %endif %define HOST_ARCH %(echo %{_host_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/") %define biarch %(case " %{biarch_targets} " in (*" %{TARGET_ARCH} "*) echo 1;; (*) echo 0;; esac) %ifarch ppc %define GCCDIST powerpc64-suse-linux %else %define GCCDIST %{HOST_ARCH}-suse-linux %endif %define libsubdir %{_libdir}/gcc/%{GCCDIST}/%{gcc_dir_version} %define gxxinclude %{_prefix}/include/c++/%{gcc_dir_version} # COMMON-END # COMMON-BEGIN %prep %setup -q -n gcc-%{gcc_version}%{snapshot_date} %patch1 %patch2 %patch3 %patch5 %patch6 %patch7 %patch8 %patch9 %patch10 %if !%{build_nof} %patch12 %endif %patch23 %patch24 %patch25 %patch28 %if 0%{suse_version} > 1100 %patch29 %endif %patch30 %patch51 %patch55 %patch57 %patch60 %patch61 %patch130 %build # Avoid rebuilding of generated files contrib/gcc_update --touch # Split version file into version used for directories (X.Y) and # version to report with --version (X.Y.Z). # See also gcc-dir-version.patch. # Also decrement the patchlevel version by one if test `cat gcc/DEV-PHASE` == "prerelease"; then ( cat gcc/BASE-VER | cut -d '.' -f 1-2 | tr -d '\n'; echo -n .; cat gcc/BASE-VER | cut -d '.' -f 3 | tr '0123456789' '0012345678' ) > gcc/FULL-VER else mv gcc/BASE-VER gcc/FULL-VER fi cat gcc/FULL-VER | cut -d '.' -f 1-2 > gcc/BASE-VER rm -rf obj-%{GCCDIST} mkdir obj-%{GCCDIST} cd obj-%{GCCDIST} RPM_OPT_FLAGS="$RPM_OPT_FLAGS -U_FORTIFY_SOURCE" RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-fno-rtti//g' -e 's/-fno-exceptions//g' -e 's/-Wmissing-format-attribute//g' -e 's/-fstack-protector//g' -e 's/-ffortify=.//g' -e 's/-Wall//g' -e 's/-m32//g' -e 's/-m64//g'` %ifarch %ix86 # -mcpu is superceded by -mtune but -mtune is not supported by # our bootstrap compiler. -mcpu gives a warning that stops # the build process, so remove it for now. Also remove all other # -march and -mtune flags. They are superseeded by proper # default compiler settings now. RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-mcpu=i.86//g' -e 's/-march=i.86//g' -e 's/-mtune=i.86//g'` %endif %ifarch s390 s390x RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-fsigned-char//g'` RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-O1/-O2/g'` %endif %if 0%{?gcc_target_arch:1} && 0%{!?gcc_icecream:1} # Kill all -march/tune/cpu because that screws building the target libs RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-m\(arch\|tune\|cpu\)=[^ ]*//g'` %endif # Replace 2 spaces by one finally RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/ / /g'` languages=c %if %{build_cp} languages=$languages,c++ %endif %if %{build_objc} languages=$languages,objc %endif %if %{build_fortran} languages=$languages,fortran %endif %if %{build_objcp} languages=$languages,obj-c++ %endif %if %{build_java} languages=$languages,java %endif %if %{build_ada} languages=$languages,ada %endif J=%{?jobs:%jobs} if test -z "$J"; then J=$(getconf _NPROCESSORS_CONF) JL=$(($J * 2)) else test 1 -gt "$J" && J=1 JL=$(($(getconf _NPROCESSORS_CONF)*2)) fi if test "$J" == "0"; then J=1 fi if test "$JL" == "0"; then JL=1 fi PARALLEL="-j$J -l$JL" # we don't want some miscompiles in the testsuite, or some fault in # the compiler to kill the machine. Hence we limit the amount of memory # by the physical RAM plus half of swap #MEM=$(free -m | awk '/^Mem:/ {print $2}') #SWAP=$(free -m | awk '/^Swap:/ {print $2}') #ulimit -v $(((MEM + SWAP/2)*1024)) # In general we want to ship release checking enabled compilers # and run BETA with checking enabled. #ENABLE_CHECKING="--enable-checking=yes" ENABLE_CHECKING="--enable-checking=release" %if "%{name}" != "gcc44" export PATH=/opt/cross/bin:$PATH %endif # Work around tail/head -1 changes export _POSIX2_VERSION=199209 # configure tries to parse include/features.h to detect # if glibc supports SSP. When cross compiling we would need # to install a cross glibc, which we don't, or make the whole # thing point to the native glibc, which is in /, hence the # --with-sysroot=/ %if %{build_ada} # Using the host gnatmake like # CC="gcc%{hostsuffix}" GNATBIND="gnatbind%{hostsuffix}" # GNATMAKE="gnatmake%{hostsuffix}" # doesn't work due to PR33857, so an un-suffixed gnatmake has to be # available mkdir -p host-tools/bin cp -a /usr/bin/gnatmake%{hostsuffix} host-tools/bin/gnatmake cp -a /usr/bin/gnatlink%{hostsuffix} host-tools/bin/gnatlink cp -a /usr/bin/gnatbind%{hostsuffix} host-tools/bin/gnatbind cp -a /usr/bin/gcc%{hostsuffix} host-tools/bin/gcc ln -sf /usr/%{_lib} host-tools/%{_lib} export PATH="`pwd`/host-tools/bin:$PATH" %endif #%if 0%{?gcc_target_arch:1} && 0%{!?gcc_icecream:1} #%else # --enable-threads=posix \ #%endif # --enable-shared \ CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" XCFLAGS="$RPM_OPT_FLAGS" \ TCFLAGS="$RPM_OPT_FLAGS" GCJFLAGS="$RPM_OPT_FLAGS" \ ../configure \ --prefix=%{_prefix} \ --infodir=%{_infodir} \ --mandir=%{_mandir} \ --libdir=%{_libdir} \ --libexecdir=%{_libdir} \ --enable-languages=$languages \ $ENABLE_CHECKING \ --with-gxx-include-dir=%{_prefix}/include/c++/%{gcc_dir_version} \ --enable-ssp \ --disable-libssp \ --with-bugurl="http://bugs.opensuse.org/" \ --with-pkgversion="SUSE Linux" \ %if !%{build_libjava} --disable-libgcj \ %else --with-java-home=%{_libdir}/jvm/java-1.5.0-gcj%{binsuffix}-1.5.0.0/jre \ --with-ecj-jar=%{libsubdir}/ecj.jar \ --enable-java-awt=gtk \ --enable-gtk-cairo \ %if !%{biarch_libjava} --disable-libjava-multilib \ %endif %endif %if !%{build_with_mudflap} --disable-libmudflap \ %endif --with-slibdir=/%{_lib} \ --with-system-zlib \ --enable-__cxa_atexit \ --enable-libstdcxx-allocator=new \ --disable-libstdcxx-pch \ --enable-version-specific-runtime-libs \ %if 0%{?gcc_target_arch:1} %if 0%{?gcc_icecream:1} --with-as=/opt/cross/%{TARGET_ARCH}-linux/bin/as \ --with-ld=/opt/cross/%{TARGET_ARCH}-linux/bin/ld \ --with-sysroot=/ \ --enable-linux-futex \ %endif %if 0%{?build_static:1} --disable-shared \ %endif %if "%{TARGET_ARCH}" == "spu" --with-sysroot=/usr/spu \ --with-gxx-include-dir=%{_prefix}/spu/include/c++/%{gcc_dir_version} \ --with-newlib \ %endif --disable-nls \ --target=%{CONFIGURE_TARGET} \ %else --program-suffix=%{binsuffix} \ --enable-linux-futex \ %ifarch ia64 --with-system-libunwind \ %else --without-system-libunwind \ %endif %endif %if "%{TARGET_ARCH}" == "powerpc" --with-cpu=default32 \ --enable-secureplt \ --with-long-double-128 \ %endif %if "%{TARGET_ARCH}" == "powerpc64" --with-cpu=power4 \ --enable-secureplt \ --with-long-double-128 \ %endif %if "%{TARGET_ARCH}" == "i586" --with-arch-32=i586 \ --with-tune=generic \ %endif %if "%{TARGET_ARCH}" == "x86_64" --with-arch-32=i586 \ --with-tune=generic \ %endif %if "%{TARGET_ARCH}" == "s390" --with-tune=z9-109 --with-arch=z900 \ --with-long-double-128 \ %endif %if "%{TARGET_ARCH}" == "s390x" --with-tune=z10 --with-arch=z9-109 \ --with-long-double-128 \ %endif --build=%{GCCDIST} # COMMON-END # COMMON-END make %{?jobs:-j%jobs} all-gcc TARGET-gcc="cc1 cc1plus gcc-cross g++ native" %install cd obj-%{GCCDIST} rm -rf $RPM_BUILD_ROOT BUILD_TARGET=%{TARGET_ARCH} ORIG_TARGET=$BUILD_TARGET # We play funny tricks with the ppc compiler. We want to have it biarch, # which the powerpc compiler itself doesn't support. So we actually # configure it as powerpc64 target compiler (i.e. a native cross compiler # even on ppc), with the default code generation to be powerpc32. # But this doesn't hide the fact that it's still a cross compiler which # shows also in various paths test "$BUILD_TARGET" = powerpc && BUILD_TARGET=powerpc64 make -C gcc DESTDIR=$RPM_BUILD_ROOT/inst install-driver install-common # But the assembler comes from the cross-binutils, and hence is _not_ # named funnily, not even on ppc, so there we need the original target install -s -D /opt/cross/bin/${ORIG_TARGET}-linux-as $RPM_BUILD_ROOT/env/usr/bin/as install -s $RPM_BUILD_ROOT/inst%{_prefix}/bin/${BUILD_TARGET}-linux-g++ $RPM_BUILD_ROOT/env/usr/bin/g++ install -s $RPM_BUILD_ROOT/inst%{_prefix}/bin/${BUILD_TARGET}-linux-gcc $RPM_BUILD_ROOT/env/usr/bin/gcc for back in cc1 cc1plus; do install -s -D $RPM_BUILD_ROOT/inst%{_libdir}/gcc/${BUILD_TARGET}-linux/%{gcc_dir_version}/$back \ $RPM_BUILD_ROOT/env%{_libdir}/gcc/${BUILD_TARGET}-linux/%{gcc_dir_version}/$back done libs=`for bin in $RPM_BUILD_ROOT/env/usr/bin/* $RPM_BUILD_ROOT/env%{_libdir}/gcc/${BUILD_TARGET}-linux/%{gcc_dir_version}/*; do \ ldd $bin | sed -n '\,^[^/]*\(/[^ ]*\).*,{ s//\1/; p; }' ;\ done | sort -u ` for lib in $libs; do # Check wether the same library also exists in the parent directory, # and prefer that on the assumption that it is a more generic one. baselib=`echo "$lib" | sed 's,/[^/]*\(/[^/]*\)$,\1,'` test -f "$baselib" && lib=$baselib install -s -D $lib $RPM_BUILD_ROOT/env$lib done rm -rf $RPM_BUILD_ROOT/inst cd $RPM_BUILD_ROOT/env tar cvzf ../%{name}_%{_arch}.tar.gz * cd .. mkdir -p usr/share/icecream-envs mv %{name}_%{_arch}.tar.gz usr/share/icecream-envs rpm -q --changelog glibc > usr/share/icecream-envs/%{name}_%{_arch}.glibc rpm -q --changelog binutils > usr/share/icecream-envs/%{name}_%{_arch}.binutils rm -r env %clean rm -rf $RPM_BUILD_ROOT %files %defattr(-,root,root) /usr/share/icecream-envs %changelog * Mon Apr 20 2009 rguenther@suse.de - Update to GCC 4.4.0 release. * Sat Apr 18 2009 rguenther@suse.de - Adjust Ada BuildRequires check. * Tue Apr 14 2009 rguenther@suse.de - Update to GCC 4.4.0 RC1. * Tue Mar 31 2009 rguenther@suse.de - Update to gcc-4_4-branch head (r145337). - Switch to release-checking. * Mon Mar 23 2009 rguenther@suse.de - Update to SVN trunk head (r145004). * Mon Mar 16 2009 rguenther@suse.de - Update to SVN trunk head (r144881). * Thu Feb 26 2009 rguenther@suse.de - Update to SVN trunk head (r144446). - Updates classpath to 0.98 release. [bnc#457169] - Add patch for PR39272. * Thu Feb 19 2009 rguenther@suse.de - Update to SVN trunk head (r144292). * Wed Feb 11 2009 rguenther@suse.de - Update to SVN trunk head (r144122). - Enable LFS support for 32bit host binaries. - Set default cpu and tuning for x86_64 and ix86. Filter RPM_OPT_FLAGS. * Fri Feb 06 2009 rguenther@suse.de - Update baselibs.conf. * Wed Feb 04 2009 rguenther@suse.de - Update to SVN trunk head (r143983). - Forward-port -Wunprototyped-calls. * Wed Jan 28 2009 rguenther@suse.de - Update to SVN trunk head (143725). - Add patch to fix PR38977. - Forward-port SUSE local changes from gcc43 package. * Fri Jan 23 2009 rguenther@suse.de - Update to SVN trunk head (143577). * Fri Jan 09 2009 rguenther@suse.de - Properly package x86intrin.h. * Thu Jan 08 2009 rguenther@suse.de - Update to SVN trunk head (143188). * Thu Dec 11 2008 rguenther@suse.de - Update to SVN trunk head (142676). - Add build-id patch and patch to disable unwind tables for crtstuff. * Thu Dec 04 2008 rguenther@suse.de - Update to SVN trunk head (142437). * Tue Nov 25 2008 rguenther@suse.de - Update to SVN trunk head (142195). * Tue Nov 25 2008 rguenther@suse.de - Update to SVN trunk head (r142190). - Install new immintrin.h and avxintrin.h files, remove gmmintrin.h. * Sat Nov 15 2008 rguenther@suse.de - Update to SVN trunk head (r141893). * Thu Nov 06 2008 rguenther@suse.de - Update to SVN trunk head (r141645). - Bring forward some spec file changes from gcc43. * Fri Oct 31 2008 rguenther@suse.de - Fix Ada multilibbing. - Fix updated classpath packaging. * Thu Oct 30 2008 rguenther@suse.de - Update to SVN trunk head (r141467). * Fri Sep 19 2008 rguenther@suse.de - Update to SVN trunk head (r140485). * Wed Sep 17 2008 rguenther@suse.de - Update to SVN trunk head (r140419). * Tue Sep 16 2008 rguenther@suse.de - Add proper provides/obsoletes to shared library packages. * Fri Sep 05 2008 rguenther@suse.de - Update to SVN trunk head (r140030). - Fix GRAPHITE enablement. * Wed Sep 03 2008 rguenther@suse.de - Update to SVN trunk head (r139931). - Add ppl and cloog build dependencies to enable GRAPHITE. * Fri Aug 29 2008 rguenther@suse.de - Update to SVN trunk head (r139755). * Tue Aug 19 2008 rguenther@suse.de - Update to SVN trunk head (r139235). * Sat Jul 19 2008 rguenther@suse.de - Update to SVN trunk head (r137977). * Wed Jun 11 2008 rguenther@suse.de - New gcc44 package. ++++++ cross-ppc-gcc-icecream-backend.spec ++++++ # # spec file for package cross-ppc-gcc-icecream-backend (Version 4.4.0_20090421) # # Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # # norootforbuild %define build_cp 1 %define build_ada 0 %define build_libjava 0 %define build_java 0 %define build_fortran 0 %define build_objc 0 %define build_objcp 0 %define build_nof 0 %define gcc_for_opt 0 %define gcc_target_arch ppc-linux %define gcc_icecream 1 Name: cross-ppc-gcc-icecream-backend BuildRequires: cross-ppc-binutils glibc-devel-32bit BuildRequires: gmp-devel mpfr-devel BuildRequires: bison BuildRequires: flex ExclusiveArch: ppc ppc64 %ix86 x86_64 ia64 %define _binary_payload w.ufdio # COMMON-BEGIN # COMMON-BEGIN %define biarch_targets x86_64 s390x powerpc64 powerpc Url: http://gcc.gnu.org/ License: BSD 3-Clause; GPL v2 or later; LGPL v2.1 or later; X11/MIT Version: 4.4.0_20090421 Release: 1 %define gcc_version %(echo %version | sed 's/_.*//') %define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1-2) %define snapshot_date %(echo %version | sed 's/[34]\.[0-4]\.[0-6]//' | sed 's/_/-/') %define binsuffix -4.4 # COMMON-END # COMMON-BEGIN Group: Development/Languages/C and C++ AutoReqProv: on Summary: The GNU C Compiler and Support Files BuildRoot: %{_tmppath}/%{name}-%{version}-build Source: gcc-%{gcc_version}%{snapshot_date}.tar.bz2 Source1: change_spec Source2: libgcj44-rpmlintrc Source3: gcc44-rpmlintrc Source4: ecj.jar Source5: README.First-for.SuSE.packagers Patch1: gcc-dir-version.patch Patch2: gcc-sles-version.patch Patch3: gcc-noalias-warn.diff Patch5: boehm-gc-strict-aliasing.patch Patch6: suse-record-gcc-opts.diff Patch7: acats-timeout.patch Patch8: Wunprototyped-calls.diff Patch9: gcc44-lfs.diff Patch10: program-transform-name.diff Patch12: gcc4-ppc64-m32-m64-multilib-only.patch Patch23: libjava-no-multilib.diff Patch24: tls-no-direct.diff Patch25: pr27880.diff Patch28: pr33763.diff Patch29: build-id.diff Patch30: gcc43-no-unwind-tables.diff # A set of patches from the RH srpm Patch51: gcc41-ia64-stack-protector.patch Patch55: gcc41-java-slow_pthread_self.patch Patch57: gcc41-ppc32-retaddr.patch # Some patches taken from Debian Patch60: gcc44-textdomain.patch Patch61: gcc44-rename-info-files.patch # Patches for SAP features Patch130: sap303956-uchar.diff # LIBJAVA-DELETE-BEGIN %description NOTE: Be sure to install at least the following packages as well or you will not be able to compile: binutils and glibc-devel. Compiled with support for Ada, C, C++, Fortran77, Java, and Objective-C. Authors: -------- The GCC team. %if 0%{?gcc_target_arch:1} %define CONFIGURE_TARGET %{gcc_target_arch} %define TARGET_ARCH %(echo %{gcc_target_arch} | cut -d - -f 1 | sed -e "s/i.86/i586/;s/ppc/powerpc/") %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "powerpc" %define CONFIGURE_TARGET powerpc64-linux %endif %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "powerpc64" %define CONFIGURE_TARGET powerpc64-linux %endif %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "i586" %define CONFIGURE_TARGET i586-linux %endif %else %define TARGET_ARCH %(echo %{_target_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/") %endif %define HOST_ARCH %(echo %{_host_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/") %define biarch %(case " %{biarch_targets} " in (*" %{TARGET_ARCH} "*) echo 1;; (*) echo 0;; esac) %ifarch ppc %define GCCDIST powerpc64-suse-linux %else %define GCCDIST %{HOST_ARCH}-suse-linux %endif %define libsubdir %{_libdir}/gcc/%{GCCDIST}/%{gcc_dir_version} %define gxxinclude %{_prefix}/include/c++/%{gcc_dir_version} # COMMON-END # COMMON-BEGIN %prep %setup -q -n gcc-%{gcc_version}%{snapshot_date} %patch1 %patch2 %patch3 %patch5 %patch6 %patch7 %patch8 %patch9 %patch10 %if !%{build_nof} %patch12 %endif %patch23 %patch24 %patch25 %patch28 %if 0%{suse_version} > 1100 %patch29 %endif %patch30 %patch51 %patch55 %patch57 %patch60 %patch61 %patch130 %build # Avoid rebuilding of generated files contrib/gcc_update --touch # Split version file into version used for directories (X.Y) and # version to report with --version (X.Y.Z). # See also gcc-dir-version.patch. # Also decrement the patchlevel version by one if test `cat gcc/DEV-PHASE` == "prerelease"; then ( cat gcc/BASE-VER | cut -d '.' -f 1-2 | tr -d '\n'; echo -n .; cat gcc/BASE-VER | cut -d '.' -f 3 | tr '0123456789' '0012345678' ) > gcc/FULL-VER else mv gcc/BASE-VER gcc/FULL-VER fi cat gcc/FULL-VER | cut -d '.' -f 1-2 > gcc/BASE-VER rm -rf obj-%{GCCDIST} mkdir obj-%{GCCDIST} cd obj-%{GCCDIST} RPM_OPT_FLAGS="$RPM_OPT_FLAGS -U_FORTIFY_SOURCE" RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-fno-rtti//g' -e 's/-fno-exceptions//g' -e 's/-Wmissing-format-attribute//g' -e 's/-fstack-protector//g' -e 's/-ffortify=.//g' -e 's/-Wall//g' -e 's/-m32//g' -e 's/-m64//g'` %ifarch %ix86 # -mcpu is superceded by -mtune but -mtune is not supported by # our bootstrap compiler. -mcpu gives a warning that stops # the build process, so remove it for now. Also remove all other # -march and -mtune flags. They are superseeded by proper # default compiler settings now. RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-mcpu=i.86//g' -e 's/-march=i.86//g' -e 's/-mtune=i.86//g'` %endif %ifarch s390 s390x RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-fsigned-char//g'` RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-O1/-O2/g'` %endif %if 0%{?gcc_target_arch:1} && 0%{!?gcc_icecream:1} # Kill all -march/tune/cpu because that screws building the target libs RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-m\(arch\|tune\|cpu\)=[^ ]*//g'` %endif # Replace 2 spaces by one finally RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/ / /g'` languages=c %if %{build_cp} languages=$languages,c++ %endif %if %{build_objc} languages=$languages,objc %endif %if %{build_fortran} languages=$languages,fortran %endif %if %{build_objcp} languages=$languages,obj-c++ %endif %if %{build_java} languages=$languages,java %endif %if %{build_ada} languages=$languages,ada %endif J=%{?jobs:%jobs} if test -z "$J"; then J=$(getconf _NPROCESSORS_CONF) JL=$(($J * 2)) else test 1 -gt "$J" && J=1 JL=$(($(getconf _NPROCESSORS_CONF)*2)) fi if test "$J" == "0"; then J=1 fi if test "$JL" == "0"; then JL=1 fi PARALLEL="-j$J -l$JL" # we don't want some miscompiles in the testsuite, or some fault in # the compiler to kill the machine. Hence we limit the amount of memory # by the physical RAM plus half of swap #MEM=$(free -m | awk '/^Mem:/ {print $2}') #SWAP=$(free -m | awk '/^Swap:/ {print $2}') #ulimit -v $(((MEM + SWAP/2)*1024)) # In general we want to ship release checking enabled compilers # and run BETA with checking enabled. #ENABLE_CHECKING="--enable-checking=yes" ENABLE_CHECKING="--enable-checking=release" %if "%{name}" != "gcc44" export PATH=/opt/cross/bin:$PATH %endif # Work around tail/head -1 changes export _POSIX2_VERSION=199209 # configure tries to parse include/features.h to detect # if glibc supports SSP. When cross compiling we would need # to install a cross glibc, which we don't, or make the whole # thing point to the native glibc, which is in /, hence the # --with-sysroot=/ %if %{build_ada} # Using the host gnatmake like # CC="gcc%{hostsuffix}" GNATBIND="gnatbind%{hostsuffix}" # GNATMAKE="gnatmake%{hostsuffix}" # doesn't work due to PR33857, so an un-suffixed gnatmake has to be # available mkdir -p host-tools/bin cp -a /usr/bin/gnatmake%{hostsuffix} host-tools/bin/gnatmake cp -a /usr/bin/gnatlink%{hostsuffix} host-tools/bin/gnatlink cp -a /usr/bin/gnatbind%{hostsuffix} host-tools/bin/gnatbind cp -a /usr/bin/gcc%{hostsuffix} host-tools/bin/gcc ln -sf /usr/%{_lib} host-tools/%{_lib} export PATH="`pwd`/host-tools/bin:$PATH" %endif #%if 0%{?gcc_target_arch:1} && 0%{!?gcc_icecream:1} #%else # --enable-threads=posix \ #%endif # --enable-shared \ CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" XCFLAGS="$RPM_OPT_FLAGS" \ TCFLAGS="$RPM_OPT_FLAGS" GCJFLAGS="$RPM_OPT_FLAGS" \ ../configure \ --prefix=%{_prefix} \ --infodir=%{_infodir} \ --mandir=%{_mandir} \ --libdir=%{_libdir} \ --libexecdir=%{_libdir} \ --enable-languages=$languages \ $ENABLE_CHECKING \ --with-gxx-include-dir=%{_prefix}/include/c++/%{gcc_dir_version} \ --enable-ssp \ --disable-libssp \ --with-bugurl="http://bugs.opensuse.org/" \ --with-pkgversion="SUSE Linux" \ %if !%{build_libjava} --disable-libgcj \ %else --with-java-home=%{_libdir}/jvm/java-1.5.0-gcj%{binsuffix}-1.5.0.0/jre \ --with-ecj-jar=%{libsubdir}/ecj.jar \ --enable-java-awt=gtk \ --enable-gtk-cairo \ %if !%{biarch_libjava} --disable-libjava-multilib \ %endif %endif %if !%{build_with_mudflap} --disable-libmudflap \ %endif --with-slibdir=/%{_lib} \ --with-system-zlib \ --enable-__cxa_atexit \ --enable-libstdcxx-allocator=new \ --disable-libstdcxx-pch \ --enable-version-specific-runtime-libs \ %if 0%{?gcc_target_arch:1} %if 0%{?gcc_icecream:1} --with-as=/opt/cross/%{TARGET_ARCH}-linux/bin/as \ --with-ld=/opt/cross/%{TARGET_ARCH}-linux/bin/ld \ --with-sysroot=/ \ --enable-linux-futex \ %endif %if 0%{?build_static:1} --disable-shared \ %endif %if "%{TARGET_ARCH}" == "spu" --with-sysroot=/usr/spu \ --with-gxx-include-dir=%{_prefix}/spu/include/c++/%{gcc_dir_version} \ --with-newlib \ %endif --disable-nls \ --target=%{CONFIGURE_TARGET} \ %else --program-suffix=%{binsuffix} \ --enable-linux-futex \ %ifarch ia64 --with-system-libunwind \ %else --without-system-libunwind \ %endif %endif %if "%{TARGET_ARCH}" == "powerpc" --with-cpu=default32 \ --enable-secureplt \ --with-long-double-128 \ %endif %if "%{TARGET_ARCH}" == "powerpc64" --with-cpu=power4 \ --enable-secureplt \ --with-long-double-128 \ %endif %if "%{TARGET_ARCH}" == "i586" --with-arch-32=i586 \ --with-tune=generic \ %endif %if "%{TARGET_ARCH}" == "x86_64" --with-arch-32=i586 \ --with-tune=generic \ %endif %if "%{TARGET_ARCH}" == "s390" --with-tune=z9-109 --with-arch=z900 \ --with-long-double-128 \ %endif %if "%{TARGET_ARCH}" == "s390x" --with-tune=z10 --with-arch=z9-109 \ --with-long-double-128 \ %endif --build=%{GCCDIST} # COMMON-END # COMMON-END make %{?jobs:-j%jobs} all-gcc TARGET-gcc="cc1 cc1plus gcc-cross g++ native" %install cd obj-%{GCCDIST} rm -rf $RPM_BUILD_ROOT BUILD_TARGET=%{TARGET_ARCH} ORIG_TARGET=$BUILD_TARGET # We play funny tricks with the ppc compiler. We want to have it biarch, # which the powerpc compiler itself doesn't support. So we actually # configure it as powerpc64 target compiler (i.e. a native cross compiler # even on ppc), with the default code generation to be powerpc32. # But this doesn't hide the fact that it's still a cross compiler which # shows also in various paths test "$BUILD_TARGET" = powerpc && BUILD_TARGET=powerpc64 make -C gcc DESTDIR=$RPM_BUILD_ROOT/inst install-driver install-common # But the assembler comes from the cross-binutils, and hence is _not_ # named funnily, not even on ppc, so there we need the original target install -s -D /opt/cross/bin/${ORIG_TARGET}-linux-as $RPM_BUILD_ROOT/env/usr/bin/as install -s $RPM_BUILD_ROOT/inst%{_prefix}/bin/${BUILD_TARGET}-linux-g++ $RPM_BUILD_ROOT/env/usr/bin/g++ install -s $RPM_BUILD_ROOT/inst%{_prefix}/bin/${BUILD_TARGET}-linux-gcc $RPM_BUILD_ROOT/env/usr/bin/gcc for back in cc1 cc1plus; do install -s -D $RPM_BUILD_ROOT/inst%{_libdir}/gcc/${BUILD_TARGET}-linux/%{gcc_dir_version}/$back \ $RPM_BUILD_ROOT/env%{_libdir}/gcc/${BUILD_TARGET}-linux/%{gcc_dir_version}/$back done libs=`for bin in $RPM_BUILD_ROOT/env/usr/bin/* $RPM_BUILD_ROOT/env%{_libdir}/gcc/${BUILD_TARGET}-linux/%{gcc_dir_version}/*; do \ ldd $bin | sed -n '\,^[^/]*\(/[^ ]*\).*,{ s//\1/; p; }' ;\ done | sort -u ` for lib in $libs; do # Check wether the same library also exists in the parent directory, # and prefer that on the assumption that it is a more generic one. baselib=`echo "$lib" | sed 's,/[^/]*\(/[^/]*\)$,\1,'` test -f "$baselib" && lib=$baselib install -s -D $lib $RPM_BUILD_ROOT/env$lib done rm -rf $RPM_BUILD_ROOT/inst cd $RPM_BUILD_ROOT/env tar cvzf ../%{name}_%{_arch}.tar.gz * cd .. mkdir -p usr/share/icecream-envs mv %{name}_%{_arch}.tar.gz usr/share/icecream-envs rpm -q --changelog glibc > usr/share/icecream-envs/%{name}_%{_arch}.glibc rpm -q --changelog binutils > usr/share/icecream-envs/%{name}_%{_arch}.binutils rm -r env %clean rm -rf $RPM_BUILD_ROOT %files %defattr(-,root,root) /usr/share/icecream-envs %changelog * Mon Apr 20 2009 rguenther@suse.de - Update to GCC 4.4.0 release. * Sat Apr 18 2009 rguenther@suse.de - Adjust Ada BuildRequires check. * Tue Apr 14 2009 rguenther@suse.de - Update to GCC 4.4.0 RC1. * Tue Mar 31 2009 rguenther@suse.de - Update to gcc-4_4-branch head (r145337). - Switch to release-checking. * Mon Mar 23 2009 rguenther@suse.de - Update to SVN trunk head (r145004). * Mon Mar 16 2009 rguenther@suse.de - Update to SVN trunk head (r144881). * Thu Feb 26 2009 rguenther@suse.de - Update to SVN trunk head (r144446). - Updates classpath to 0.98 release. [bnc#457169] - Add patch for PR39272. * Thu Feb 19 2009 rguenther@suse.de - Update to SVN trunk head (r144292). * Wed Feb 11 2009 rguenther@suse.de - Update to SVN trunk head (r144122). - Enable LFS support for 32bit host binaries. - Set default cpu and tuning for x86_64 and ix86. Filter RPM_OPT_FLAGS. * Fri Feb 06 2009 rguenther@suse.de - Update baselibs.conf. * Wed Feb 04 2009 rguenther@suse.de - Update to SVN trunk head (r143983). - Forward-port -Wunprototyped-calls. * Wed Jan 28 2009 rguenther@suse.de - Update to SVN trunk head (143725). - Add patch to fix PR38977. - Forward-port SUSE local changes from gcc43 package. * Fri Jan 23 2009 rguenther@suse.de - Update to SVN trunk head (143577). * Fri Jan 09 2009 rguenther@suse.de - Properly package x86intrin.h. * Thu Jan 08 2009 rguenther@suse.de - Update to SVN trunk head (143188). * Thu Dec 11 2008 rguenther@suse.de - Update to SVN trunk head (142676). - Add build-id patch and patch to disable unwind tables for crtstuff. * Thu Dec 04 2008 rguenther@suse.de - Update to SVN trunk head (142437). * Tue Nov 25 2008 rguenther@suse.de - Update to SVN trunk head (142195). * Tue Nov 25 2008 rguenther@suse.de - Update to SVN trunk head (r142190). - Install new immintrin.h and avxintrin.h files, remove gmmintrin.h. * Sat Nov 15 2008 rguenther@suse.de - Update to SVN trunk head (r141893). * Thu Nov 06 2008 rguenther@suse.de - Update to SVN trunk head (r141645). - Bring forward some spec file changes from gcc43. * Fri Oct 31 2008 rguenther@suse.de - Fix Ada multilibbing. - Fix updated classpath packaging. * Thu Oct 30 2008 rguenther@suse.de - Update to SVN trunk head (r141467). * Fri Sep 19 2008 rguenther@suse.de - Update to SVN trunk head (r140485). * Wed Sep 17 2008 rguenther@suse.de - Update to SVN trunk head (r140419). * Tue Sep 16 2008 rguenther@suse.de - Add proper provides/obsoletes to shared library packages. * Fri Sep 05 2008 rguenther@suse.de - Update to SVN trunk head (r140030). - Fix GRAPHITE enablement. * Wed Sep 03 2008 rguenther@suse.de - Update to SVN trunk head (r139931). - Add ppl and cloog build dependencies to enable GRAPHITE. * Fri Aug 29 2008 rguenther@suse.de - Update to SVN trunk head (r139755). * Tue Aug 19 2008 rguenther@suse.de - Update to SVN trunk head (r139235). * Sat Jul 19 2008 rguenther@suse.de - Update to SVN trunk head (r137977). * Wed Jun 11 2008 rguenther@suse.de - New gcc44 package. ++++++ cross-s390-gcc-icecream-backend.spec ++++++ # # spec file for package cross-s390-gcc-icecream-backend (Version 4.4.0_20090421) # # Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # # norootforbuild %define build_cp 1 %define build_ada 0 %define build_libjava 0 %define build_java 0 %define build_fortran 0 %define build_objc 0 %define build_objcp 0 %define build_nof 0 %define gcc_for_opt 0 %define gcc_target_arch s390-linux %define gcc_icecream 1 Name: cross-s390-gcc-icecream-backend BuildRequires: cross-s390-binutils glibc-devel-32bit BuildRequires: gmp-devel mpfr-devel BuildRequires: bison BuildRequires: flex ExclusiveArch: ppc ppc64 %ix86 x86_64 ia64 %define _binary_payload w.ufdio # COMMON-BEGIN # COMMON-BEGIN %define biarch_targets x86_64 s390x powerpc64 powerpc Url: http://gcc.gnu.org/ License: BSD 3-Clause; GPL v2 or later; LGPL v2.1 or later; X11/MIT Version: 4.4.0_20090421 Release: 1 %define gcc_version %(echo %version | sed 's/_.*//') %define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1-2) %define snapshot_date %(echo %version | sed 's/[34]\.[0-4]\.[0-6]//' | sed 's/_/-/') %define binsuffix -4.4 # COMMON-END # COMMON-BEGIN Group: Development/Languages/C and C++ AutoReqProv: on Summary: The GNU C Compiler and Support Files BuildRoot: %{_tmppath}/%{name}-%{version}-build Source: gcc-%{gcc_version}%{snapshot_date}.tar.bz2 Source1: change_spec Source2: libgcj44-rpmlintrc Source3: gcc44-rpmlintrc Source4: ecj.jar Source5: README.First-for.SuSE.packagers Patch1: gcc-dir-version.patch Patch2: gcc-sles-version.patch Patch3: gcc-noalias-warn.diff Patch5: boehm-gc-strict-aliasing.patch Patch6: suse-record-gcc-opts.diff Patch7: acats-timeout.patch Patch8: Wunprototyped-calls.diff Patch9: gcc44-lfs.diff Patch10: program-transform-name.diff Patch12: gcc4-ppc64-m32-m64-multilib-only.patch Patch23: libjava-no-multilib.diff Patch24: tls-no-direct.diff Patch25: pr27880.diff Patch28: pr33763.diff Patch29: build-id.diff Patch30: gcc43-no-unwind-tables.diff # A set of patches from the RH srpm Patch51: gcc41-ia64-stack-protector.patch Patch55: gcc41-java-slow_pthread_self.patch Patch57: gcc41-ppc32-retaddr.patch # Some patches taken from Debian Patch60: gcc44-textdomain.patch Patch61: gcc44-rename-info-files.patch # Patches for SAP features Patch130: sap303956-uchar.diff # LIBJAVA-DELETE-BEGIN %description NOTE: Be sure to install at least the following packages as well or you will not be able to compile: binutils and glibc-devel. Compiled with support for Ada, C, C++, Fortran77, Java, and Objective-C. Authors: -------- The GCC team. %if 0%{?gcc_target_arch:1} %define CONFIGURE_TARGET %{gcc_target_arch} %define TARGET_ARCH %(echo %{gcc_target_arch} | cut -d - -f 1 | sed -e "s/i.86/i586/;s/ppc/powerpc/") %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "powerpc" %define CONFIGURE_TARGET powerpc64-linux %endif %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "powerpc64" %define CONFIGURE_TARGET powerpc64-linux %endif %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "i586" %define CONFIGURE_TARGET i586-linux %endif %else %define TARGET_ARCH %(echo %{_target_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/") %endif %define HOST_ARCH %(echo %{_host_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/") %define biarch %(case " %{biarch_targets} " in (*" %{TARGET_ARCH} "*) echo 1;; (*) echo 0;; esac) %ifarch ppc %define GCCDIST powerpc64-suse-linux %else %define GCCDIST %{HOST_ARCH}-suse-linux %endif %define libsubdir %{_libdir}/gcc/%{GCCDIST}/%{gcc_dir_version} %define gxxinclude %{_prefix}/include/c++/%{gcc_dir_version} # COMMON-END # COMMON-BEGIN %prep %setup -q -n gcc-%{gcc_version}%{snapshot_date} %patch1 %patch2 %patch3 %patch5 %patch6 %patch7 %patch8 %patch9 %patch10 %if !%{build_nof} %patch12 %endif %patch23 %patch24 %patch25 %patch28 %if 0%{suse_version} > 1100 %patch29 %endif %patch30 %patch51 %patch55 %patch57 %patch60 %patch61 %patch130 %build # Avoid rebuilding of generated files contrib/gcc_update --touch # Split version file into version used for directories (X.Y) and # version to report with --version (X.Y.Z). # See also gcc-dir-version.patch. # Also decrement the patchlevel version by one if test `cat gcc/DEV-PHASE` == "prerelease"; then ( cat gcc/BASE-VER | cut -d '.' -f 1-2 | tr -d '\n'; echo -n .; cat gcc/BASE-VER | cut -d '.' -f 3 | tr '0123456789' '0012345678' ) > gcc/FULL-VER else mv gcc/BASE-VER gcc/FULL-VER fi cat gcc/FULL-VER | cut -d '.' -f 1-2 > gcc/BASE-VER rm -rf obj-%{GCCDIST} mkdir obj-%{GCCDIST} cd obj-%{GCCDIST} RPM_OPT_FLAGS="$RPM_OPT_FLAGS -U_FORTIFY_SOURCE" RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-fno-rtti//g' -e 's/-fno-exceptions//g' -e 's/-Wmissing-format-attribute//g' -e 's/-fstack-protector//g' -e 's/-ffortify=.//g' -e 's/-Wall//g' -e 's/-m32//g' -e 's/-m64//g'` %ifarch %ix86 # -mcpu is superceded by -mtune but -mtune is not supported by # our bootstrap compiler. -mcpu gives a warning that stops # the build process, so remove it for now. Also remove all other # -march and -mtune flags. They are superseeded by proper # default compiler settings now. RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-mcpu=i.86//g' -e 's/-march=i.86//g' -e 's/-mtune=i.86//g'` %endif %ifarch s390 s390x RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-fsigned-char//g'` RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-O1/-O2/g'` %endif %if 0%{?gcc_target_arch:1} && 0%{!?gcc_icecream:1} # Kill all -march/tune/cpu because that screws building the target libs RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-m\(arch\|tune\|cpu\)=[^ ]*//g'` %endif # Replace 2 spaces by one finally RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/ / /g'` languages=c %if %{build_cp} languages=$languages,c++ %endif %if %{build_objc} languages=$languages,objc %endif %if %{build_fortran} languages=$languages,fortran %endif %if %{build_objcp} languages=$languages,obj-c++ %endif %if %{build_java} languages=$languages,java %endif %if %{build_ada} languages=$languages,ada %endif J=%{?jobs:%jobs} if test -z "$J"; then J=$(getconf _NPROCESSORS_CONF) JL=$(($J * 2)) else test 1 -gt "$J" && J=1 JL=$(($(getconf _NPROCESSORS_CONF)*2)) fi if test "$J" == "0"; then J=1 fi if test "$JL" == "0"; then JL=1 fi PARALLEL="-j$J -l$JL" # we don't want some miscompiles in the testsuite, or some fault in # the compiler to kill the machine. Hence we limit the amount of memory # by the physical RAM plus half of swap #MEM=$(free -m | awk '/^Mem:/ {print $2}') #SWAP=$(free -m | awk '/^Swap:/ {print $2}') #ulimit -v $(((MEM + SWAP/2)*1024)) # In general we want to ship release checking enabled compilers # and run BETA with checking enabled. #ENABLE_CHECKING="--enable-checking=yes" ENABLE_CHECKING="--enable-checking=release" %if "%{name}" != "gcc44" export PATH=/opt/cross/bin:$PATH %endif # Work around tail/head -1 changes export _POSIX2_VERSION=199209 # configure tries to parse include/features.h to detect # if glibc supports SSP. When cross compiling we would need # to install a cross glibc, which we don't, or make the whole # thing point to the native glibc, which is in /, hence the # --with-sysroot=/ %if %{build_ada} # Using the host gnatmake like # CC="gcc%{hostsuffix}" GNATBIND="gnatbind%{hostsuffix}" # GNATMAKE="gnatmake%{hostsuffix}" # doesn't work due to PR33857, so an un-suffixed gnatmake has to be # available mkdir -p host-tools/bin cp -a /usr/bin/gnatmake%{hostsuffix} host-tools/bin/gnatmake cp -a /usr/bin/gnatlink%{hostsuffix} host-tools/bin/gnatlink cp -a /usr/bin/gnatbind%{hostsuffix} host-tools/bin/gnatbind cp -a /usr/bin/gcc%{hostsuffix} host-tools/bin/gcc ln -sf /usr/%{_lib} host-tools/%{_lib} export PATH="`pwd`/host-tools/bin:$PATH" %endif #%if 0%{?gcc_target_arch:1} && 0%{!?gcc_icecream:1} #%else # --enable-threads=posix \ #%endif # --enable-shared \ CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" XCFLAGS="$RPM_OPT_FLAGS" \ TCFLAGS="$RPM_OPT_FLAGS" GCJFLAGS="$RPM_OPT_FLAGS" \ ../configure \ --prefix=%{_prefix} \ --infodir=%{_infodir} \ --mandir=%{_mandir} \ --libdir=%{_libdir} \ --libexecdir=%{_libdir} \ --enable-languages=$languages \ $ENABLE_CHECKING \ --with-gxx-include-dir=%{_prefix}/include/c++/%{gcc_dir_version} \ --enable-ssp \ --disable-libssp \ --with-bugurl="http://bugs.opensuse.org/" \ --with-pkgversion="SUSE Linux" \ %if !%{build_libjava} --disable-libgcj \ %else --with-java-home=%{_libdir}/jvm/java-1.5.0-gcj%{binsuffix}-1.5.0.0/jre \ --with-ecj-jar=%{libsubdir}/ecj.jar \ --enable-java-awt=gtk \ --enable-gtk-cairo \ %if !%{biarch_libjava} --disable-libjava-multilib \ %endif %endif %if !%{build_with_mudflap} --disable-libmudflap \ %endif --with-slibdir=/%{_lib} \ --with-system-zlib \ --enable-__cxa_atexit \ --enable-libstdcxx-allocator=new \ --disable-libstdcxx-pch \ --enable-version-specific-runtime-libs \ %if 0%{?gcc_target_arch:1} %if 0%{?gcc_icecream:1} --with-as=/opt/cross/%{TARGET_ARCH}-linux/bin/as \ --with-ld=/opt/cross/%{TARGET_ARCH}-linux/bin/ld \ --with-sysroot=/ \ --enable-linux-futex \ %endif %if 0%{?build_static:1} --disable-shared \ %endif %if "%{TARGET_ARCH}" == "spu" --with-sysroot=/usr/spu \ --with-gxx-include-dir=%{_prefix}/spu/include/c++/%{gcc_dir_version} \ --with-newlib \ %endif --disable-nls \ --target=%{CONFIGURE_TARGET} \ %else --program-suffix=%{binsuffix} \ --enable-linux-futex \ %ifarch ia64 --with-system-libunwind \ %else --without-system-libunwind \ %endif %endif %if "%{TARGET_ARCH}" == "powerpc" --with-cpu=default32 \ --enable-secureplt \ --with-long-double-128 \ %endif %if "%{TARGET_ARCH}" == "powerpc64" --with-cpu=power4 \ --enable-secureplt \ --with-long-double-128 \ %endif %if "%{TARGET_ARCH}" == "i586" --with-arch-32=i586 \ --with-tune=generic \ %endif %if "%{TARGET_ARCH}" == "x86_64" --with-arch-32=i586 \ --with-tune=generic \ %endif %if "%{TARGET_ARCH}" == "s390" --with-tune=z9-109 --with-arch=z900 \ --with-long-double-128 \ %endif %if "%{TARGET_ARCH}" == "s390x" --with-tune=z10 --with-arch=z9-109 \ --with-long-double-128 \ %endif --build=%{GCCDIST} # COMMON-END # COMMON-END make %{?jobs:-j%jobs} all-gcc TARGET-gcc="cc1 cc1plus gcc-cross g++ native" %install cd obj-%{GCCDIST} rm -rf $RPM_BUILD_ROOT BUILD_TARGET=%{TARGET_ARCH} ORIG_TARGET=$BUILD_TARGET # We play funny tricks with the ppc compiler. We want to have it biarch, # which the powerpc compiler itself doesn't support. So we actually # configure it as powerpc64 target compiler (i.e. a native cross compiler # even on ppc), with the default code generation to be powerpc32. # But this doesn't hide the fact that it's still a cross compiler which # shows also in various paths test "$BUILD_TARGET" = powerpc && BUILD_TARGET=powerpc64 make -C gcc DESTDIR=$RPM_BUILD_ROOT/inst install-driver install-common # But the assembler comes from the cross-binutils, and hence is _not_ # named funnily, not even on ppc, so there we need the original target install -s -D /opt/cross/bin/${ORIG_TARGET}-linux-as $RPM_BUILD_ROOT/env/usr/bin/as install -s $RPM_BUILD_ROOT/inst%{_prefix}/bin/${BUILD_TARGET}-linux-g++ $RPM_BUILD_ROOT/env/usr/bin/g++ install -s $RPM_BUILD_ROOT/inst%{_prefix}/bin/${BUILD_TARGET}-linux-gcc $RPM_BUILD_ROOT/env/usr/bin/gcc for back in cc1 cc1plus; do install -s -D $RPM_BUILD_ROOT/inst%{_libdir}/gcc/${BUILD_TARGET}-linux/%{gcc_dir_version}/$back \ $RPM_BUILD_ROOT/env%{_libdir}/gcc/${BUILD_TARGET}-linux/%{gcc_dir_version}/$back done libs=`for bin in $RPM_BUILD_ROOT/env/usr/bin/* $RPM_BUILD_ROOT/env%{_libdir}/gcc/${BUILD_TARGET}-linux/%{gcc_dir_version}/*; do \ ldd $bin | sed -n '\,^[^/]*\(/[^ ]*\).*,{ s//\1/; p; }' ;\ done | sort -u ` for lib in $libs; do # Check wether the same library also exists in the parent directory, # and prefer that on the assumption that it is a more generic one. baselib=`echo "$lib" | sed 's,/[^/]*\(/[^/]*\)$,\1,'` test -f "$baselib" && lib=$baselib install -s -D $lib $RPM_BUILD_ROOT/env$lib done rm -rf $RPM_BUILD_ROOT/inst cd $RPM_BUILD_ROOT/env tar cvzf ../%{name}_%{_arch}.tar.gz * cd .. mkdir -p usr/share/icecream-envs mv %{name}_%{_arch}.tar.gz usr/share/icecream-envs rpm -q --changelog glibc > usr/share/icecream-envs/%{name}_%{_arch}.glibc rpm -q --changelog binutils > usr/share/icecream-envs/%{name}_%{_arch}.binutils rm -r env %clean rm -rf $RPM_BUILD_ROOT %files %defattr(-,root,root) /usr/share/icecream-envs %changelog * Mon Apr 20 2009 rguenther@suse.de - Update to GCC 4.4.0 release. * Sat Apr 18 2009 rguenther@suse.de - Adjust Ada BuildRequires check. * Tue Apr 14 2009 rguenther@suse.de - Update to GCC 4.4.0 RC1. * Tue Mar 31 2009 rguenther@suse.de - Update to gcc-4_4-branch head (r145337). - Switch to release-checking. * Mon Mar 23 2009 rguenther@suse.de - Update to SVN trunk head (r145004). * Mon Mar 16 2009 rguenther@suse.de - Update to SVN trunk head (r144881). * Thu Feb 26 2009 rguenther@suse.de - Update to SVN trunk head (r144446). - Updates classpath to 0.98 release. [bnc#457169] - Add patch for PR39272. * Thu Feb 19 2009 rguenther@suse.de - Update to SVN trunk head (r144292). * Wed Feb 11 2009 rguenther@suse.de - Update to SVN trunk head (r144122). - Enable LFS support for 32bit host binaries. - Set default cpu and tuning for x86_64 and ix86. Filter RPM_OPT_FLAGS. * Fri Feb 06 2009 rguenther@suse.de - Update baselibs.conf. * Wed Feb 04 2009 rguenther@suse.de - Update to SVN trunk head (r143983). - Forward-port -Wunprototyped-calls. * Wed Jan 28 2009 rguenther@suse.de - Update to SVN trunk head (143725). - Add patch to fix PR38977. - Forward-port SUSE local changes from gcc43 package. * Fri Jan 23 2009 rguenther@suse.de - Update to SVN trunk head (143577). * Fri Jan 09 2009 rguenther@suse.de - Properly package x86intrin.h. * Thu Jan 08 2009 rguenther@suse.de - Update to SVN trunk head (143188). * Thu Dec 11 2008 rguenther@suse.de - Update to SVN trunk head (142676). - Add build-id patch and patch to disable unwind tables for crtstuff. * Thu Dec 04 2008 rguenther@suse.de - Update to SVN trunk head (142437). * Tue Nov 25 2008 rguenther@suse.de - Update to SVN trunk head (142195). * Tue Nov 25 2008 rguenther@suse.de - Update to SVN trunk head (r142190). - Install new immintrin.h and avxintrin.h files, remove gmmintrin.h. * Sat Nov 15 2008 rguenther@suse.de - Update to SVN trunk head (r141893). * Thu Nov 06 2008 rguenther@suse.de - Update to SVN trunk head (r141645). - Bring forward some spec file changes from gcc43. * Fri Oct 31 2008 rguenther@suse.de - Fix Ada multilibbing. - Fix updated classpath packaging. * Thu Oct 30 2008 rguenther@suse.de - Update to SVN trunk head (r141467). * Fri Sep 19 2008 rguenther@suse.de - Update to SVN trunk head (r140485). * Wed Sep 17 2008 rguenther@suse.de - Update to SVN trunk head (r140419). * Tue Sep 16 2008 rguenther@suse.de - Add proper provides/obsoletes to shared library packages. * Fri Sep 05 2008 rguenther@suse.de - Update to SVN trunk head (r140030). - Fix GRAPHITE enablement. * Wed Sep 03 2008 rguenther@suse.de - Update to SVN trunk head (r139931). - Add ppl and cloog build dependencies to enable GRAPHITE. * Fri Aug 29 2008 rguenther@suse.de - Update to SVN trunk head (r139755). * Tue Aug 19 2008 rguenther@suse.de - Update to SVN trunk head (r139235). * Sat Jul 19 2008 rguenther@suse.de - Update to SVN trunk head (r137977). * Wed Jun 11 2008 rguenther@suse.de - New gcc44 package. ++++++ cross-s390x-gcc-icecream-backend.spec ++++++ # # spec file for package cross-s390x-gcc-icecream-backend (Version 4.4.0_20090421) # # Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # # norootforbuild %define build_cp 1 %define build_ada 0 %define build_libjava 0 %define build_java 0 %define build_fortran 0 %define build_objc 0 %define build_objcp 0 %define build_nof 0 %define gcc_for_opt 0 %define gcc_target_arch s390x-linux %define gcc_icecream 1 Name: cross-s390x-gcc-icecream-backend BuildRequires: cross-s390x-binutils glibc-devel-32bit BuildRequires: gmp-devel mpfr-devel BuildRequires: bison BuildRequires: flex ExclusiveArch: ppc ppc64 %ix86 x86_64 ia64 %define _binary_payload w.ufdio # COMMON-BEGIN # COMMON-BEGIN %define biarch_targets x86_64 s390x powerpc64 powerpc Url: http://gcc.gnu.org/ License: BSD 3-Clause; GPL v2 or later; LGPL v2.1 or later; X11/MIT Version: 4.4.0_20090421 Release: 1 %define gcc_version %(echo %version | sed 's/_.*//') %define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1-2) %define snapshot_date %(echo %version | sed 's/[34]\.[0-4]\.[0-6]//' | sed 's/_/-/') %define binsuffix -4.4 # COMMON-END # COMMON-BEGIN Group: Development/Languages/C and C++ AutoReqProv: on Summary: The GNU C Compiler and Support Files BuildRoot: %{_tmppath}/%{name}-%{version}-build Source: gcc-%{gcc_version}%{snapshot_date}.tar.bz2 Source1: change_spec Source2: libgcj44-rpmlintrc Source3: gcc44-rpmlintrc Source4: ecj.jar Source5: README.First-for.SuSE.packagers Patch1: gcc-dir-version.patch Patch2: gcc-sles-version.patch Patch3: gcc-noalias-warn.diff Patch5: boehm-gc-strict-aliasing.patch Patch6: suse-record-gcc-opts.diff Patch7: acats-timeout.patch Patch8: Wunprototyped-calls.diff Patch9: gcc44-lfs.diff Patch10: program-transform-name.diff Patch12: gcc4-ppc64-m32-m64-multilib-only.patch Patch23: libjava-no-multilib.diff Patch24: tls-no-direct.diff Patch25: pr27880.diff Patch28: pr33763.diff Patch29: build-id.diff Patch30: gcc43-no-unwind-tables.diff # A set of patches from the RH srpm Patch51: gcc41-ia64-stack-protector.patch Patch55: gcc41-java-slow_pthread_self.patch Patch57: gcc41-ppc32-retaddr.patch # Some patches taken from Debian Patch60: gcc44-textdomain.patch Patch61: gcc44-rename-info-files.patch # Patches for SAP features Patch130: sap303956-uchar.diff # LIBJAVA-DELETE-BEGIN %description NOTE: Be sure to install at least the following packages as well or you will not be able to compile: binutils and glibc-devel. Compiled with support for Ada, C, C++, Fortran77, Java, and Objective-C. Authors: -------- The GCC team. %if 0%{?gcc_target_arch:1} %define CONFIGURE_TARGET %{gcc_target_arch} %define TARGET_ARCH %(echo %{gcc_target_arch} | cut -d - -f 1 | sed -e "s/i.86/i586/;s/ppc/powerpc/") %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "powerpc" %define CONFIGURE_TARGET powerpc64-linux %endif %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "powerpc64" %define CONFIGURE_TARGET powerpc64-linux %endif %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "i586" %define CONFIGURE_TARGET i586-linux %endif %else %define TARGET_ARCH %(echo %{_target_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/") %endif %define HOST_ARCH %(echo %{_host_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/") %define biarch %(case " %{biarch_targets} " in (*" %{TARGET_ARCH} "*) echo 1;; (*) echo 0;; esac) %ifarch ppc %define GCCDIST powerpc64-suse-linux %else %define GCCDIST %{HOST_ARCH}-suse-linux %endif %define libsubdir %{_libdir}/gcc/%{GCCDIST}/%{gcc_dir_version} %define gxxinclude %{_prefix}/include/c++/%{gcc_dir_version} # COMMON-END # COMMON-BEGIN %prep %setup -q -n gcc-%{gcc_version}%{snapshot_date} %patch1 %patch2 %patch3 %patch5 %patch6 %patch7 %patch8 %patch9 %patch10 %if !%{build_nof} %patch12 %endif %patch23 %patch24 %patch25 %patch28 %if 0%{suse_version} > 1100 %patch29 %endif %patch30 %patch51 %patch55 %patch57 %patch60 %patch61 %patch130 %build # Avoid rebuilding of generated files contrib/gcc_update --touch # Split version file into version used for directories (X.Y) and # version to report with --version (X.Y.Z). # See also gcc-dir-version.patch. # Also decrement the patchlevel version by one if test `cat gcc/DEV-PHASE` == "prerelease"; then ( cat gcc/BASE-VER | cut -d '.' -f 1-2 | tr -d '\n'; echo -n .; cat gcc/BASE-VER | cut -d '.' -f 3 | tr '0123456789' '0012345678' ) > gcc/FULL-VER else mv gcc/BASE-VER gcc/FULL-VER fi cat gcc/FULL-VER | cut -d '.' -f 1-2 > gcc/BASE-VER rm -rf obj-%{GCCDIST} mkdir obj-%{GCCDIST} cd obj-%{GCCDIST} RPM_OPT_FLAGS="$RPM_OPT_FLAGS -U_FORTIFY_SOURCE" RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-fno-rtti//g' -e 's/-fno-exceptions//g' -e 's/-Wmissing-format-attribute//g' -e 's/-fstack-protector//g' -e 's/-ffortify=.//g' -e 's/-Wall//g' -e 's/-m32//g' -e 's/-m64//g'` %ifarch %ix86 # -mcpu is superceded by -mtune but -mtune is not supported by # our bootstrap compiler. -mcpu gives a warning that stops # the build process, so remove it for now. Also remove all other # -march and -mtune flags. They are superseeded by proper # default compiler settings now. RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-mcpu=i.86//g' -e 's/-march=i.86//g' -e 's/-mtune=i.86//g'` %endif %ifarch s390 s390x RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-fsigned-char//g'` RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-O1/-O2/g'` %endif %if 0%{?gcc_target_arch:1} && 0%{!?gcc_icecream:1} # Kill all -march/tune/cpu because that screws building the target libs RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-m\(arch\|tune\|cpu\)=[^ ]*//g'` %endif # Replace 2 spaces by one finally RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/ / /g'` languages=c %if %{build_cp} languages=$languages,c++ %endif %if %{build_objc} languages=$languages,objc %endif %if %{build_fortran} languages=$languages,fortran %endif %if %{build_objcp} languages=$languages,obj-c++ %endif %if %{build_java} languages=$languages,java %endif %if %{build_ada} languages=$languages,ada %endif J=%{?jobs:%jobs} if test -z "$J"; then J=$(getconf _NPROCESSORS_CONF) JL=$(($J * 2)) else test 1 -gt "$J" && J=1 JL=$(($(getconf _NPROCESSORS_CONF)*2)) fi if test "$J" == "0"; then J=1 fi if test "$JL" == "0"; then JL=1 fi PARALLEL="-j$J -l$JL" # we don't want some miscompiles in the testsuite, or some fault in # the compiler to kill the machine. Hence we limit the amount of memory # by the physical RAM plus half of swap #MEM=$(free -m | awk '/^Mem:/ {print $2}') #SWAP=$(free -m | awk '/^Swap:/ {print $2}') #ulimit -v $(((MEM + SWAP/2)*1024)) # In general we want to ship release checking enabled compilers # and run BETA with checking enabled. #ENABLE_CHECKING="--enable-checking=yes" ENABLE_CHECKING="--enable-checking=release" %if "%{name}" != "gcc44" export PATH=/opt/cross/bin:$PATH %endif # Work around tail/head -1 changes export _POSIX2_VERSION=199209 # configure tries to parse include/features.h to detect # if glibc supports SSP. When cross compiling we would need # to install a cross glibc, which we don't, or make the whole # thing point to the native glibc, which is in /, hence the # --with-sysroot=/ %if %{build_ada} # Using the host gnatmake like # CC="gcc%{hostsuffix}" GNATBIND="gnatbind%{hostsuffix}" # GNATMAKE="gnatmake%{hostsuffix}" # doesn't work due to PR33857, so an un-suffixed gnatmake has to be # available mkdir -p host-tools/bin cp -a /usr/bin/gnatmake%{hostsuffix} host-tools/bin/gnatmake cp -a /usr/bin/gnatlink%{hostsuffix} host-tools/bin/gnatlink cp -a /usr/bin/gnatbind%{hostsuffix} host-tools/bin/gnatbind cp -a /usr/bin/gcc%{hostsuffix} host-tools/bin/gcc ln -sf /usr/%{_lib} host-tools/%{_lib} export PATH="`pwd`/host-tools/bin:$PATH" %endif #%if 0%{?gcc_target_arch:1} && 0%{!?gcc_icecream:1} #%else # --enable-threads=posix \ #%endif # --enable-shared \ CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" XCFLAGS="$RPM_OPT_FLAGS" \ TCFLAGS="$RPM_OPT_FLAGS" GCJFLAGS="$RPM_OPT_FLAGS" \ ../configure \ --prefix=%{_prefix} \ --infodir=%{_infodir} \ --mandir=%{_mandir} \ --libdir=%{_libdir} \ --libexecdir=%{_libdir} \ --enable-languages=$languages \ $ENABLE_CHECKING \ --with-gxx-include-dir=%{_prefix}/include/c++/%{gcc_dir_version} \ --enable-ssp \ --disable-libssp \ --with-bugurl="http://bugs.opensuse.org/" \ --with-pkgversion="SUSE Linux" \ %if !%{build_libjava} --disable-libgcj \ %else --with-java-home=%{_libdir}/jvm/java-1.5.0-gcj%{binsuffix}-1.5.0.0/jre \ --with-ecj-jar=%{libsubdir}/ecj.jar \ --enable-java-awt=gtk \ --enable-gtk-cairo \ %if !%{biarch_libjava} --disable-libjava-multilib \ %endif %endif %if !%{build_with_mudflap} --disable-libmudflap \ %endif --with-slibdir=/%{_lib} \ --with-system-zlib \ --enable-__cxa_atexit \ --enable-libstdcxx-allocator=new \ --disable-libstdcxx-pch \ --enable-version-specific-runtime-libs \ %if 0%{?gcc_target_arch:1} %if 0%{?gcc_icecream:1} --with-as=/opt/cross/%{TARGET_ARCH}-linux/bin/as \ --with-ld=/opt/cross/%{TARGET_ARCH}-linux/bin/ld \ --with-sysroot=/ \ --enable-linux-futex \ %endif %if 0%{?build_static:1} --disable-shared \ %endif %if "%{TARGET_ARCH}" == "spu" --with-sysroot=/usr/spu \ --with-gxx-include-dir=%{_prefix}/spu/include/c++/%{gcc_dir_version} \ --with-newlib \ %endif --disable-nls \ --target=%{CONFIGURE_TARGET} \ %else --program-suffix=%{binsuffix} \ --enable-linux-futex \ %ifarch ia64 --with-system-libunwind \ %else --without-system-libunwind \ %endif %endif %if "%{TARGET_ARCH}" == "powerpc" --with-cpu=default32 \ --enable-secureplt \ --with-long-double-128 \ %endif %if "%{TARGET_ARCH}" == "powerpc64" --with-cpu=power4 \ --enable-secureplt \ --with-long-double-128 \ %endif %if "%{TARGET_ARCH}" == "i586" --with-arch-32=i586 \ --with-tune=generic \ %endif %if "%{TARGET_ARCH}" == "x86_64" --with-arch-32=i586 \ --with-tune=generic \ %endif %if "%{TARGET_ARCH}" == "s390" --with-tune=z9-109 --with-arch=z900 \ --with-long-double-128 \ %endif %if "%{TARGET_ARCH}" == "s390x" --with-tune=z10 --with-arch=z9-109 \ --with-long-double-128 \ %endif --build=%{GCCDIST} # COMMON-END # COMMON-END make %{?jobs:-j%jobs} all-gcc TARGET-gcc="cc1 cc1plus gcc-cross g++ native" %install cd obj-%{GCCDIST} rm -rf $RPM_BUILD_ROOT BUILD_TARGET=%{TARGET_ARCH} ORIG_TARGET=$BUILD_TARGET # We play funny tricks with the ppc compiler. We want to have it biarch, # which the powerpc compiler itself doesn't support. So we actually # configure it as powerpc64 target compiler (i.e. a native cross compiler # even on ppc), with the default code generation to be powerpc32. # But this doesn't hide the fact that it's still a cross compiler which # shows also in various paths test "$BUILD_TARGET" = powerpc && BUILD_TARGET=powerpc64 make -C gcc DESTDIR=$RPM_BUILD_ROOT/inst install-driver install-common # But the assembler comes from the cross-binutils, and hence is _not_ # named funnily, not even on ppc, so there we need the original target install -s -D /opt/cross/bin/${ORIG_TARGET}-linux-as $RPM_BUILD_ROOT/env/usr/bin/as install -s $RPM_BUILD_ROOT/inst%{_prefix}/bin/${BUILD_TARGET}-linux-g++ $RPM_BUILD_ROOT/env/usr/bin/g++ install -s $RPM_BUILD_ROOT/inst%{_prefix}/bin/${BUILD_TARGET}-linux-gcc $RPM_BUILD_ROOT/env/usr/bin/gcc for back in cc1 cc1plus; do install -s -D $RPM_BUILD_ROOT/inst%{_libdir}/gcc/${BUILD_TARGET}-linux/%{gcc_dir_version}/$back \ $RPM_BUILD_ROOT/env%{_libdir}/gcc/${BUILD_TARGET}-linux/%{gcc_dir_version}/$back done libs=`for bin in $RPM_BUILD_ROOT/env/usr/bin/* $RPM_BUILD_ROOT/env%{_libdir}/gcc/${BUILD_TARGET}-linux/%{gcc_dir_version}/*; do \ ldd $bin | sed -n '\,^[^/]*\(/[^ ]*\).*,{ s//\1/; p; }' ;\ done | sort -u ` for lib in $libs; do # Check wether the same library also exists in the parent directory, # and prefer that on the assumption that it is a more generic one. baselib=`echo "$lib" | sed 's,/[^/]*\(/[^/]*\)$,\1,'` test -f "$baselib" && lib=$baselib install -s -D $lib $RPM_BUILD_ROOT/env$lib done rm -rf $RPM_BUILD_ROOT/inst cd $RPM_BUILD_ROOT/env tar cvzf ../%{name}_%{_arch}.tar.gz * cd .. mkdir -p usr/share/icecream-envs mv %{name}_%{_arch}.tar.gz usr/share/icecream-envs rpm -q --changelog glibc > usr/share/icecream-envs/%{name}_%{_arch}.glibc rpm -q --changelog binutils > usr/share/icecream-envs/%{name}_%{_arch}.binutils rm -r env %clean rm -rf $RPM_BUILD_ROOT %files %defattr(-,root,root) /usr/share/icecream-envs %changelog * Mon Apr 20 2009 rguenther@suse.de - Update to GCC 4.4.0 release. * Sat Apr 18 2009 rguenther@suse.de - Adjust Ada BuildRequires check. * Tue Apr 14 2009 rguenther@suse.de - Update to GCC 4.4.0 RC1. * Tue Mar 31 2009 rguenther@suse.de - Update to gcc-4_4-branch head (r145337). - Switch to release-checking. * Mon Mar 23 2009 rguenther@suse.de - Update to SVN trunk head (r145004). * Mon Mar 16 2009 rguenther@suse.de - Update to SVN trunk head (r144881). * Thu Feb 26 2009 rguenther@suse.de - Update to SVN trunk head (r144446). - Updates classpath to 0.98 release. [bnc#457169] - Add patch for PR39272. * Thu Feb 19 2009 rguenther@suse.de - Update to SVN trunk head (r144292). * Wed Feb 11 2009 rguenther@suse.de - Update to SVN trunk head (r144122). - Enable LFS support for 32bit host binaries. - Set default cpu and tuning for x86_64 and ix86. Filter RPM_OPT_FLAGS. * Fri Feb 06 2009 rguenther@suse.de - Update baselibs.conf. * Wed Feb 04 2009 rguenther@suse.de - Update to SVN trunk head (r143983). - Forward-port -Wunprototyped-calls. * Wed Jan 28 2009 rguenther@suse.de - Update to SVN trunk head (143725). - Add patch to fix PR38977. - Forward-port SUSE local changes from gcc43 package. * Fri Jan 23 2009 rguenther@suse.de - Update to SVN trunk head (143577). * Fri Jan 09 2009 rguenther@suse.de - Properly package x86intrin.h. * Thu Jan 08 2009 rguenther@suse.de - Update to SVN trunk head (143188). * Thu Dec 11 2008 rguenther@suse.de - Update to SVN trunk head (142676). - Add build-id patch and patch to disable unwind tables for crtstuff. * Thu Dec 04 2008 rguenther@suse.de - Update to SVN trunk head (142437). * Tue Nov 25 2008 rguenther@suse.de - Update to SVN trunk head (142195). * Tue Nov 25 2008 rguenther@suse.de - Update to SVN trunk head (r142190). - Install new immintrin.h and avxintrin.h files, remove gmmintrin.h. * Sat Nov 15 2008 rguenther@suse.de - Update to SVN trunk head (r141893). * Thu Nov 06 2008 rguenther@suse.de - Update to SVN trunk head (r141645). - Bring forward some spec file changes from gcc43. * Fri Oct 31 2008 rguenther@suse.de - Fix Ada multilibbing. - Fix updated classpath packaging. * Thu Oct 30 2008 rguenther@suse.de - Update to SVN trunk head (r141467). * Fri Sep 19 2008 rguenther@suse.de - Update to SVN trunk head (r140485). * Wed Sep 17 2008 rguenther@suse.de - Update to SVN trunk head (r140419). * Tue Sep 16 2008 rguenther@suse.de - Add proper provides/obsoletes to shared library packages. * Fri Sep 05 2008 rguenther@suse.de - Update to SVN trunk head (r140030). - Fix GRAPHITE enablement. * Wed Sep 03 2008 rguenther@suse.de - Update to SVN trunk head (r139931). - Add ppl and cloog build dependencies to enable GRAPHITE. * Fri Aug 29 2008 rguenther@suse.de - Update to SVN trunk head (r139755). * Tue Aug 19 2008 rguenther@suse.de - Update to SVN trunk head (r139235). * Sat Jul 19 2008 rguenther@suse.de - Update to SVN trunk head (r137977). * Wed Jun 11 2008 rguenther@suse.de - New gcc44 package. ++++++ cross-spu-gcc.spec ++++++ # # spec file for package cross-spu-gcc (Version 4.4.0_20090421) # # Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # # norootforbuild %define build_cp 1 %define build_ada 0 %define build_java 0 %define build_libjava 0 %define build_fortran 0 %define build_objc 0 %define build_objcp 0 %define build_nof 0 %define gcc_for_opt 0 %define gcc_target_arch spu %if "spu" == "spu" %define build_cp 0 %endif Name: cross-spu-gcc BuildRequires: bison flex mpfr-devel BuildRequires: cross-spu-binutils %if "spu" == "spu-static" BuildRequires: cross-spu-newlib-headers %endif %if "spu" == "spu" BuildRequires: cross-spu-newlib Requires: cross-spu-newlib %endif Requires: cross-spu-binutils # Suffixed gcc conflicts with unsuffixed gcc %if "" == "" %else Conflicts: cross-spu-gcc %endif %define _prefix /opt/cross # COMMON-BEGIN %define biarch_targets x86_64 s390x powerpc64 powerpc Url: http://gcc.gnu.org/ License: GPL v2 or later Version: 4.4.0_20090421 Release: 1 %define gcc_version %(echo %version | sed 's/_.*//') %define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1-2) %define snapshot_date %(echo %version | sed 's/[34]\.[0-4]\.[0-6]//' | sed 's/_/-/') %define binsuffix -4.4 # COMMON-END # COMMON-BEGIN Group: Development/Libraries/Cross AutoReqProv: on Summary: The GNU C Compiler for Cell SPU Processors (shared) BuildRoot: %{_tmppath}/%{name}-%{version}-build Source: gcc-%{gcc_version}%{snapshot_date}.tar.bz2 Source1: change_spec Source2: libgcj44-rpmlintrc Source3: gcc44-rpmlintrc Source4: ecj.jar Source5: README.First-for.SuSE.packagers Patch1: gcc-dir-version.patch Patch2: gcc-sles-version.patch Patch3: gcc-noalias-warn.diff Patch5: boehm-gc-strict-aliasing.patch Patch6: suse-record-gcc-opts.diff Patch7: acats-timeout.patch Patch8: Wunprototyped-calls.diff Patch9: gcc44-lfs.diff Patch10: program-transform-name.diff Patch12: gcc4-ppc64-m32-m64-multilib-only.patch Patch23: libjava-no-multilib.diff Patch24: tls-no-direct.diff Patch25: pr27880.diff Patch28: pr33763.diff Patch29: build-id.diff Patch30: gcc43-no-unwind-tables.diff # A set of patches from the RH srpm Patch51: gcc41-ia64-stack-protector.patch Patch55: gcc41-java-slow_pthread_self.patch Patch57: gcc41-ppc32-retaddr.patch # Some patches taken from Debian Patch60: gcc44-textdomain.patch Patch61: gcc44-rename-info-files.patch # Patches for SAP features Patch130: sap303956-uchar.diff # LIBJAVA-DELETE-BEGIN %description This compiler supports the C language on Cell SPU microprocessors. %if 0%{?gcc_target_arch:1} %define CONFIGURE_TARGET %{gcc_target_arch} %define TARGET_ARCH %(echo %{gcc_target_arch} | cut -d - -f 1 | sed -e "s/i.86/i586/;s/ppc/powerpc/") %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "powerpc" %define CONFIGURE_TARGET powerpc64-linux %endif %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "powerpc64" %define CONFIGURE_TARGET powerpc64-linux %endif %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "i586" %define CONFIGURE_TARGET i586-linux %endif %else %define TARGET_ARCH %(echo %{_target_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/") %endif %define HOST_ARCH %(echo %{_host_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/") %define biarch %(case " %{biarch_targets} " in (*" %{TARGET_ARCH} "*) echo 1;; (*) echo 0;; esac) %ifarch ppc %define GCCDIST powerpc64-suse-linux %else %define GCCDIST %{HOST_ARCH}-suse-linux %endif %define libsubdir %{_libdir}/gcc/%{GCCDIST}/%{gcc_dir_version} %define gxxinclude %{_prefix}/include/c++/%{gcc_dir_version} # COMMON-END # COMMON-BEGIN %prep %setup -q -n gcc-%{gcc_version}%{snapshot_date} %patch1 %patch2 %patch3 %patch5 %patch6 %patch7 %patch8 %patch9 %patch10 %if !%{build_nof} %patch12 %endif %patch23 %patch24 %patch25 %patch28 %if 0%{suse_version} > 1100 %patch29 %endif %patch30 %patch51 %patch55 %patch57 %patch60 %patch61 %patch130 %build # Avoid rebuilding of generated files contrib/gcc_update --touch # Split version file into version used for directories (X.Y) and # version to report with --version (X.Y.Z). # See also gcc-dir-version.patch. # Also decrement the patchlevel version by one if test `cat gcc/DEV-PHASE` == "prerelease"; then ( cat gcc/BASE-VER | cut -d '.' -f 1-2 | tr -d '\n'; echo -n .; cat gcc/BASE-VER | cut -d '.' -f 3 | tr '0123456789' '0012345678' ) > gcc/FULL-VER else mv gcc/BASE-VER gcc/FULL-VER fi cat gcc/FULL-VER | cut -d '.' -f 1-2 > gcc/BASE-VER rm -rf obj-%{GCCDIST} mkdir obj-%{GCCDIST} cd obj-%{GCCDIST} RPM_OPT_FLAGS="$RPM_OPT_FLAGS -U_FORTIFY_SOURCE" RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-fno-rtti//g' -e 's/-fno-exceptions//g' -e 's/-Wmissing-format-attribute//g' -e 's/-fstack-protector//g' -e 's/-ffortify=.//g' -e 's/-Wall//g' -e 's/-m32//g' -e 's/-m64//g'` %ifarch %ix86 # -mcpu is superceded by -mtune but -mtune is not supported by # our bootstrap compiler. -mcpu gives a warning that stops # the build process, so remove it for now. Also remove all other # -march and -mtune flags. They are superseeded by proper # default compiler settings now. RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-mcpu=i.86//g' -e 's/-march=i.86//g' -e 's/-mtune=i.86//g'` %endif %ifarch s390 s390x RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-fsigned-char//g'` RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-O1/-O2/g'` %endif %if 0%{?gcc_target_arch:1} && 0%{!?gcc_icecream:1} # Kill all -march/tune/cpu because that screws building the target libs RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-m\(arch\|tune\|cpu\)=[^ ]*//g'` %endif # Replace 2 spaces by one finally RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/ / /g'` languages=c %if %{build_cp} languages=$languages,c++ %endif %if %{build_objc} languages=$languages,objc %endif %if %{build_fortran} languages=$languages,fortran %endif %if %{build_objcp} languages=$languages,obj-c++ %endif %if %{build_java} languages=$languages,java %endif %if %{build_ada} languages=$languages,ada %endif J=%{?jobs:%jobs} if test -z "$J"; then J=$(getconf _NPROCESSORS_CONF) JL=$(($J * 2)) else test 1 -gt "$J" && J=1 JL=$(($(getconf _NPROCESSORS_CONF)*2)) fi if test "$J" == "0"; then J=1 fi if test "$JL" == "0"; then JL=1 fi PARALLEL="-j$J -l$JL" # we don't want some miscompiles in the testsuite, or some fault in # the compiler to kill the machine. Hence we limit the amount of memory # by the physical RAM plus half of swap #MEM=$(free -m | awk '/^Mem:/ {print $2}') #SWAP=$(free -m | awk '/^Swap:/ {print $2}') #ulimit -v $(((MEM + SWAP/2)*1024)) # In general we want to ship release checking enabled compilers # and run BETA with checking enabled. #ENABLE_CHECKING="--enable-checking=yes" ENABLE_CHECKING="--enable-checking=release" %if "%{name}" != "gcc44" export PATH=/opt/cross/bin:$PATH %endif # Work around tail/head -1 changes export _POSIX2_VERSION=199209 # configure tries to parse include/features.h to detect # if glibc supports SSP. When cross compiling we would need # to install a cross glibc, which we don't, or make the whole # thing point to the native glibc, which is in /, hence the # --with-sysroot=/ %if %{build_ada} # Using the host gnatmake like # CC="gcc%{hostsuffix}" GNATBIND="gnatbind%{hostsuffix}" # GNATMAKE="gnatmake%{hostsuffix}" # doesn't work due to PR33857, so an un-suffixed gnatmake has to be # available mkdir -p host-tools/bin cp -a /usr/bin/gnatmake%{hostsuffix} host-tools/bin/gnatmake cp -a /usr/bin/gnatlink%{hostsuffix} host-tools/bin/gnatlink cp -a /usr/bin/gnatbind%{hostsuffix} host-tools/bin/gnatbind cp -a /usr/bin/gcc%{hostsuffix} host-tools/bin/gcc ln -sf /usr/%{_lib} host-tools/%{_lib} export PATH="`pwd`/host-tools/bin:$PATH" %endif #%if 0%{?gcc_target_arch:1} && 0%{!?gcc_icecream:1} #%else # --enable-threads=posix \ #%endif # --enable-shared \ CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" XCFLAGS="$RPM_OPT_FLAGS" \ TCFLAGS="$RPM_OPT_FLAGS" GCJFLAGS="$RPM_OPT_FLAGS" \ ../configure \ --prefix=%{_prefix} \ --infodir=%{_infodir} \ --mandir=%{_mandir} \ --libdir=%{_libdir} \ --libexecdir=%{_libdir} \ --enable-languages=$languages \ $ENABLE_CHECKING \ --with-gxx-include-dir=%{_prefix}/include/c++/%{gcc_dir_version} \ --enable-ssp \ --disable-libssp \ --with-bugurl="http://bugs.opensuse.org/" \ --with-pkgversion="SUSE Linux" \ %if !%{build_libjava} --disable-libgcj \ %else --with-java-home=%{_libdir}/jvm/java-1.5.0-gcj%{binsuffix}-1.5.0.0/jre \ --with-ecj-jar=%{libsubdir}/ecj.jar \ --enable-java-awt=gtk \ --enable-gtk-cairo \ %if !%{biarch_libjava} --disable-libjava-multilib \ %endif %endif %if !%{build_with_mudflap} --disable-libmudflap \ %endif --with-slibdir=/%{_lib} \ --with-system-zlib \ --enable-__cxa_atexit \ --enable-libstdcxx-allocator=new \ --disable-libstdcxx-pch \ --enable-version-specific-runtime-libs \ %if 0%{?gcc_target_arch:1} %if 0%{?gcc_icecream:1} --with-as=/opt/cross/%{TARGET_ARCH}-linux/bin/as \ --with-ld=/opt/cross/%{TARGET_ARCH}-linux/bin/ld \ --with-sysroot=/ \ --enable-linux-futex \ %endif %if 0%{?build_static:1} --disable-shared \ %endif %if "%{TARGET_ARCH}" == "spu" --with-sysroot=/usr/spu \ --with-gxx-include-dir=%{_prefix}/spu/include/c++/%{gcc_dir_version} \ --with-newlib \ %endif --disable-nls \ --target=%{CONFIGURE_TARGET} \ %else --program-suffix=%{binsuffix} \ --enable-linux-futex \ %ifarch ia64 --with-system-libunwind \ %else --without-system-libunwind \ %endif %endif %if "%{TARGET_ARCH}" == "powerpc" --with-cpu=default32 \ --enable-secureplt \ --with-long-double-128 \ %endif %if "%{TARGET_ARCH}" == "powerpc64" --with-cpu=power4 \ --enable-secureplt \ --with-long-double-128 \ %endif %if "%{TARGET_ARCH}" == "i586" --with-arch-32=i586 \ --with-tune=generic \ %endif %if "%{TARGET_ARCH}" == "x86_64" --with-arch-32=i586 \ --with-tune=generic \ %endif %if "%{TARGET_ARCH}" == "s390" --with-tune=z9-109 --with-arch=z900 \ --with-long-double-128 \ %endif %if "%{TARGET_ARCH}" == "s390x" --with-tune=z10 --with-arch=z9-109 \ --with-long-double-128 \ %endif --build=%{GCCDIST} # COMMON-END make %{?jobs:-j%jobs} %install cd obj-%{GCCDIST} make install DESTDIR=$RPM_BUILD_ROOT # ln -s spu-elf-gcc $RPM_BUILD_ROOT/%{_prefix}/bin/spu-gcc rm -rf $RPM_BUILD_ROOT/%{_prefix}/share rm $RPM_BUILD_ROOT/%{_libdir}/libiberty.a # The libgcc.a that is not inside an avr* subdirectory is for avr2. # rm $RPM_BUILD_ROOT/%{_libdir}/gcc/*/*/{libgcc.a,libgcov.a} rmdir $RPM_BUILD_ROOT/%{_prefix}/include %clean rm -rf $RPM_BUILD_ROOT %files %defattr(-,root,root) %{_prefix} %changelog * Mon Apr 20 2009 rguenther@suse.de - Update to GCC 4.4.0 release. * Sat Apr 18 2009 rguenther@suse.de - Adjust Ada BuildRequires check. * Tue Apr 14 2009 rguenther@suse.de - Update to GCC 4.4.0 RC1. * Tue Mar 31 2009 rguenther@suse.de - Update to gcc-4_4-branch head (r145337). - Switch to release-checking. * Mon Mar 23 2009 rguenther@suse.de - Update to SVN trunk head (r145004). * Mon Mar 16 2009 rguenther@suse.de - Update to SVN trunk head (r144881). * Thu Feb 26 2009 rguenther@suse.de - Update to SVN trunk head (r144446). - Updates classpath to 0.98 release. [bnc#457169] - Add patch for PR39272. * Thu Feb 19 2009 rguenther@suse.de - Update to SVN trunk head (r144292). * Wed Feb 11 2009 rguenther@suse.de - Update to SVN trunk head (r144122). - Enable LFS support for 32bit host binaries. - Set default cpu and tuning for x86_64 and ix86. Filter RPM_OPT_FLAGS. * Fri Feb 06 2009 rguenther@suse.de - Update baselibs.conf. * Wed Feb 04 2009 rguenther@suse.de - Update to SVN trunk head (r143983). - Forward-port -Wunprototyped-calls. * Wed Jan 28 2009 rguenther@suse.de - Update to SVN trunk head (143725). - Add patch to fix PR38977. - Forward-port SUSE local changes from gcc43 package. * Fri Jan 23 2009 rguenther@suse.de - Update to SVN trunk head (143577). * Fri Jan 09 2009 rguenther@suse.de - Properly package x86intrin.h. * Thu Jan 08 2009 rguenther@suse.de - Update to SVN trunk head (143188). * Thu Dec 11 2008 rguenther@suse.de - Update to SVN trunk head (142676). - Add build-id patch and patch to disable unwind tables for crtstuff. * Thu Dec 04 2008 rguenther@suse.de - Update to SVN trunk head (142437). * Tue Nov 25 2008 rguenther@suse.de - Update to SVN trunk head (142195). * Tue Nov 25 2008 rguenther@suse.de - Update to SVN trunk head (r142190). - Install new immintrin.h and avxintrin.h files, remove gmmintrin.h. * Sat Nov 15 2008 rguenther@suse.de - Update to SVN trunk head (r141893). * Thu Nov 06 2008 rguenther@suse.de - Update to SVN trunk head (r141645). - Bring forward some spec file changes from gcc43. * Fri Oct 31 2008 rguenther@suse.de - Fix Ada multilibbing. - Fix updated classpath packaging. * Thu Oct 30 2008 rguenther@suse.de - Update to SVN trunk head (r141467). * Fri Sep 19 2008 rguenther@suse.de - Update to SVN trunk head (r140485). * Wed Sep 17 2008 rguenther@suse.de - Update to SVN trunk head (r140419). * Tue Sep 16 2008 rguenther@suse.de - Add proper provides/obsoletes to shared library packages. * Fri Sep 05 2008 rguenther@suse.de - Update to SVN trunk head (r140030). - Fix GRAPHITE enablement. * Wed Sep 03 2008 rguenther@suse.de - Update to SVN trunk head (r139931). - Add ppl and cloog build dependencies to enable GRAPHITE. * Fri Aug 29 2008 rguenther@suse.de - Update to SVN trunk head (r139755). * Tue Aug 19 2008 rguenther@suse.de - Update to SVN trunk head (r139235). * Sat Jul 19 2008 rguenther@suse.de - Update to SVN trunk head (r137977). * Wed Jun 11 2008 rguenther@suse.de - New gcc44 package. ++++++ cross-spu-gcc-static.spec ++++++ # # spec file for package cross-spu-gcc-static (Version 4.4.0_20090421) # # Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # # norootforbuild %define build_static 1 # # spec file for package gcc (Version 4.0.1) # # This file and all modifications and additions to the pristine # package are under the same license as the package itself. # # Please submit bugfixes or comments via http://www.suse.de/feedback/ # %define build_cp 1 %define build_ada 0 %define build_java 0 %define build_libjava 0 %define build_fortran 0 %define build_objc 0 %define build_objcp 0 %define build_nof 0 %define gcc_for_opt 0 %define gcc_target_arch spu %if "spu" == "spu" %define build_cp 0 %endif Name: cross-spu-gcc-static BuildRequires: bison flex mpfr-devel BuildRequires: cross-spu-binutils %if "spu-static" == "spu-static" BuildRequires: cross-spu-newlib-headers %endif %if "spu-static" == "spu" BuildRequires: cross-spu-newlib Requires: cross-spu-newlib %endif Requires: cross-spu-binutils # Suffixed gcc conflicts with unsuffixed gcc %if "-static" == "" %else Conflicts: cross-spu-gcc %endif %define _prefix /opt/cross # COMMON-BEGIN %define biarch_targets x86_64 s390x powerpc64 powerpc Url: http://gcc.gnu.org/ License: GPL v2 or later Version: 4.4.0_20090421 Release: 1 %define gcc_version %(echo %version | sed 's/_.*//') %define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1-2) %define snapshot_date %(echo %version | sed 's/[34]\.[0-4]\.[0-6]//' | sed 's/_/-/') %define binsuffix -4.4 # COMMON-END # COMMON-BEGIN Group: Development/Libraries/Cross AutoReqProv: on Summary: The GNU C Compiler for Cell SPU Processors (static) BuildRoot: %{_tmppath}/%{name}-%{version}-build Source: gcc-%{gcc_version}%{snapshot_date}.tar.bz2 Source1: change_spec Source2: libgcj44-rpmlintrc Source3: gcc44-rpmlintrc Source4: ecj.jar Source5: README.First-for.SuSE.packagers Patch1: gcc-dir-version.patch Patch2: gcc-sles-version.patch Patch3: gcc-noalias-warn.diff Patch5: boehm-gc-strict-aliasing.patch Patch6: suse-record-gcc-opts.diff Patch7: acats-timeout.patch Patch8: Wunprototyped-calls.diff Patch9: gcc44-lfs.diff Patch10: program-transform-name.diff Patch12: gcc4-ppc64-m32-m64-multilib-only.patch Patch23: libjava-no-multilib.diff Patch24: tls-no-direct.diff Patch25: pr27880.diff Patch28: pr33763.diff Patch29: build-id.diff Patch30: gcc43-no-unwind-tables.diff # A set of patches from the RH srpm Patch51: gcc41-ia64-stack-protector.patch Patch55: gcc41-java-slow_pthread_self.patch Patch57: gcc41-ppc32-retaddr.patch # Some patches taken from Debian Patch60: gcc44-textdomain.patch Patch61: gcc44-rename-info-files.patch # Patches for SAP features Patch130: sap303956-uchar.diff # LIBJAVA-DELETE-BEGIN %description This compiler supports the C language on Cell SPU microprocessors. %if 0%{?gcc_target_arch:1} %define CONFIGURE_TARGET %{gcc_target_arch} %define TARGET_ARCH %(echo %{gcc_target_arch} | cut -d - -f 1 | sed -e "s/i.86/i586/;s/ppc/powerpc/") %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "powerpc" %define CONFIGURE_TARGET powerpc64-linux %endif %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "powerpc64" %define CONFIGURE_TARGET powerpc64-linux %endif %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "i586" %define CONFIGURE_TARGET i586-linux %endif %else %define TARGET_ARCH %(echo %{_target_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/") %endif %define HOST_ARCH %(echo %{_host_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/") %define biarch %(case " %{biarch_targets} " in (*" %{TARGET_ARCH} "*) echo 1;; (*) echo 0;; esac) %ifarch ppc %define GCCDIST powerpc64-suse-linux %else %define GCCDIST %{HOST_ARCH}-suse-linux %endif %define libsubdir %{_libdir}/gcc/%{GCCDIST}/%{gcc_dir_version} %define gxxinclude %{_prefix}/include/c++/%{gcc_dir_version} # COMMON-END # COMMON-BEGIN %prep %setup -q -n gcc-%{gcc_version}%{snapshot_date} %patch1 %patch2 %patch3 %patch5 %patch6 %patch7 %patch8 %patch9 %patch10 %if !%{build_nof} %patch12 %endif %patch23 %patch24 %patch25 %patch28 %if 0%{suse_version} > 1100 %patch29 %endif %patch30 %patch51 %patch55 %patch57 %patch60 %patch61 %patch130 %build # Avoid rebuilding of generated files contrib/gcc_update --touch # Split version file into version used for directories (X.Y) and # version to report with --version (X.Y.Z). # See also gcc-dir-version.patch. # Also decrement the patchlevel version by one if test `cat gcc/DEV-PHASE` == "prerelease"; then ( cat gcc/BASE-VER | cut -d '.' -f 1-2 | tr -d '\n'; echo -n .; cat gcc/BASE-VER | cut -d '.' -f 3 | tr '0123456789' '0012345678' ) > gcc/FULL-VER else mv gcc/BASE-VER gcc/FULL-VER fi cat gcc/FULL-VER | cut -d '.' -f 1-2 > gcc/BASE-VER rm -rf obj-%{GCCDIST} mkdir obj-%{GCCDIST} cd obj-%{GCCDIST} RPM_OPT_FLAGS="$RPM_OPT_FLAGS -U_FORTIFY_SOURCE" RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-fno-rtti//g' -e 's/-fno-exceptions//g' -e 's/-Wmissing-format-attribute//g' -e 's/-fstack-protector//g' -e 's/-ffortify=.//g' -e 's/-Wall//g' -e 's/-m32//g' -e 's/-m64//g'` %ifarch %ix86 # -mcpu is superceded by -mtune but -mtune is not supported by # our bootstrap compiler. -mcpu gives a warning that stops # the build process, so remove it for now. Also remove all other # -march and -mtune flags. They are superseeded by proper # default compiler settings now. RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-mcpu=i.86//g' -e 's/-march=i.86//g' -e 's/-mtune=i.86//g'` %endif %ifarch s390 s390x RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-fsigned-char//g'` RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-O1/-O2/g'` %endif %if 0%{?gcc_target_arch:1} && 0%{!?gcc_icecream:1} # Kill all -march/tune/cpu because that screws building the target libs RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-m\(arch\|tune\|cpu\)=[^ ]*//g'` %endif # Replace 2 spaces by one finally RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/ / /g'` languages=c %if %{build_cp} languages=$languages,c++ %endif %if %{build_objc} languages=$languages,objc %endif %if %{build_fortran} languages=$languages,fortran %endif %if %{build_objcp} languages=$languages,obj-c++ %endif %if %{build_java} languages=$languages,java %endif %if %{build_ada} languages=$languages,ada %endif J=%{?jobs:%jobs} if test -z "$J"; then J=$(getconf _NPROCESSORS_CONF) JL=$(($J * 2)) else test 1 -gt "$J" && J=1 JL=$(($(getconf _NPROCESSORS_CONF)*2)) fi if test "$J" == "0"; then J=1 fi if test "$JL" == "0"; then JL=1 fi PARALLEL="-j$J -l$JL" # we don't want some miscompiles in the testsuite, or some fault in # the compiler to kill the machine. Hence we limit the amount of memory # by the physical RAM plus half of swap #MEM=$(free -m | awk '/^Mem:/ {print $2}') #SWAP=$(free -m | awk '/^Swap:/ {print $2}') #ulimit -v $(((MEM + SWAP/2)*1024)) # In general we want to ship release checking enabled compilers # and run BETA with checking enabled. #ENABLE_CHECKING="--enable-checking=yes" ENABLE_CHECKING="--enable-checking=release" %if "%{name}" != "gcc44" export PATH=/opt/cross/bin:$PATH %endif # Work around tail/head -1 changes export _POSIX2_VERSION=199209 # configure tries to parse include/features.h to detect # if glibc supports SSP. When cross compiling we would need # to install a cross glibc, which we don't, or make the whole # thing point to the native glibc, which is in /, hence the # --with-sysroot=/ %if %{build_ada} # Using the host gnatmake like # CC="gcc%{hostsuffix}" GNATBIND="gnatbind%{hostsuffix}" # GNATMAKE="gnatmake%{hostsuffix}" # doesn't work due to PR33857, so an un-suffixed gnatmake has to be # available mkdir -p host-tools/bin cp -a /usr/bin/gnatmake%{hostsuffix} host-tools/bin/gnatmake cp -a /usr/bin/gnatlink%{hostsuffix} host-tools/bin/gnatlink cp -a /usr/bin/gnatbind%{hostsuffix} host-tools/bin/gnatbind cp -a /usr/bin/gcc%{hostsuffix} host-tools/bin/gcc ln -sf /usr/%{_lib} host-tools/%{_lib} export PATH="`pwd`/host-tools/bin:$PATH" %endif #%if 0%{?gcc_target_arch:1} && 0%{!?gcc_icecream:1} #%else # --enable-threads=posix \ #%endif # --enable-shared \ CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" XCFLAGS="$RPM_OPT_FLAGS" \ TCFLAGS="$RPM_OPT_FLAGS" GCJFLAGS="$RPM_OPT_FLAGS" \ ../configure \ --prefix=%{_prefix} \ --infodir=%{_infodir} \ --mandir=%{_mandir} \ --libdir=%{_libdir} \ --libexecdir=%{_libdir} \ --enable-languages=$languages \ $ENABLE_CHECKING \ --with-gxx-include-dir=%{_prefix}/include/c++/%{gcc_dir_version} \ --enable-ssp \ --disable-libssp \ --with-bugurl="http://bugs.opensuse.org/" \ --with-pkgversion="SUSE Linux" \ %if !%{build_libjava} --disable-libgcj \ %else --with-java-home=%{_libdir}/jvm/java-1.5.0-gcj%{binsuffix}-1.5.0.0/jre \ --with-ecj-jar=%{libsubdir}/ecj.jar \ --enable-java-awt=gtk \ --enable-gtk-cairo \ %if !%{biarch_libjava} --disable-libjava-multilib \ %endif %endif %if !%{build_with_mudflap} --disable-libmudflap \ %endif --with-slibdir=/%{_lib} \ --with-system-zlib \ --enable-__cxa_atexit \ --enable-libstdcxx-allocator=new \ --disable-libstdcxx-pch \ --enable-version-specific-runtime-libs \ %if 0%{?gcc_target_arch:1} %if 0%{?gcc_icecream:1} --with-as=/opt/cross/%{TARGET_ARCH}-linux/bin/as \ --with-ld=/opt/cross/%{TARGET_ARCH}-linux/bin/ld \ --with-sysroot=/ \ --enable-linux-futex \ %endif %if 0%{?build_static:1} --disable-shared \ %endif %if "%{TARGET_ARCH}" == "spu" --with-sysroot=/usr/spu \ --with-gxx-include-dir=%{_prefix}/spu/include/c++/%{gcc_dir_version} \ --with-newlib \ %endif --disable-nls \ --target=%{CONFIGURE_TARGET} \ %else --program-suffix=%{binsuffix} \ --enable-linux-futex \ %ifarch ia64 --with-system-libunwind \ %else --without-system-libunwind \ %endif %endif %if "%{TARGET_ARCH}" == "powerpc" --with-cpu=default32 \ --enable-secureplt \ --with-long-double-128 \ %endif %if "%{TARGET_ARCH}" == "powerpc64" --with-cpu=power4 \ --enable-secureplt \ --with-long-double-128 \ %endif %if "%{TARGET_ARCH}" == "i586" --with-arch-32=i586 \ --with-tune=generic \ %endif %if "%{TARGET_ARCH}" == "x86_64" --with-arch-32=i586 \ --with-tune=generic \ %endif %if "%{TARGET_ARCH}" == "s390" --with-tune=z9-109 --with-arch=z900 \ --with-long-double-128 \ %endif %if "%{TARGET_ARCH}" == "s390x" --with-tune=z10 --with-arch=z9-109 \ --with-long-double-128 \ %endif --build=%{GCCDIST} # COMMON-END make %{?jobs:-j%jobs} %install cd obj-%{GCCDIST} make install DESTDIR=$RPM_BUILD_ROOT # ln -s spu-elf-gcc $RPM_BUILD_ROOT/%{_prefix}/bin/spu-gcc rm -rf $RPM_BUILD_ROOT/%{_prefix}/share rm $RPM_BUILD_ROOT/%{_libdir}/libiberty.a # The libgcc.a that is not inside an avr* subdirectory is for avr2. # rm $RPM_BUILD_ROOT/%{_libdir}/gcc/*/*/{libgcc.a,libgcov.a} rmdir $RPM_BUILD_ROOT/%{_prefix}/include %clean rm -rf $RPM_BUILD_ROOT %files %defattr(-,root,root) %{_prefix} %changelog * Mon Apr 20 2009 rguenther@suse.de - Update to GCC 4.4.0 release. * Sat Apr 18 2009 rguenther@suse.de - Adjust Ada BuildRequires check. * Tue Apr 14 2009 rguenther@suse.de - Update to GCC 4.4.0 RC1. * Tue Mar 31 2009 rguenther@suse.de - Update to gcc-4_4-branch head (r145337). - Switch to release-checking. * Mon Mar 23 2009 rguenther@suse.de - Update to SVN trunk head (r145004). * Mon Mar 16 2009 rguenther@suse.de - Update to SVN trunk head (r144881). * Thu Feb 26 2009 rguenther@suse.de - Update to SVN trunk head (r144446). - Updates classpath to 0.98 release. [bnc#457169] - Add patch for PR39272. * Thu Feb 19 2009 rguenther@suse.de - Update to SVN trunk head (r144292). * Wed Feb 11 2009 rguenther@suse.de - Update to SVN trunk head (r144122). - Enable LFS support for 32bit host binaries. - Set default cpu and tuning for x86_64 and ix86. Filter RPM_OPT_FLAGS. * Fri Feb 06 2009 rguenther@suse.de - Update baselibs.conf. * Wed Feb 04 2009 rguenther@suse.de - Update to SVN trunk head (r143983). - Forward-port -Wunprototyped-calls. * Wed Jan 28 2009 rguenther@suse.de - Update to SVN trunk head (143725). - Add patch to fix PR38977. - Forward-port SUSE local changes from gcc43 package. * Fri Jan 23 2009 rguenther@suse.de - Update to SVN trunk head (143577). * Fri Jan 09 2009 rguenther@suse.de - Properly package x86intrin.h. * Thu Jan 08 2009 rguenther@suse.de - Update to SVN trunk head (143188). * Thu Dec 11 2008 rguenther@suse.de - Update to SVN trunk head (142676). - Add build-id patch and patch to disable unwind tables for crtstuff. * Thu Dec 04 2008 rguenther@suse.de - Update to SVN trunk head (142437). * Tue Nov 25 2008 rguenther@suse.de - Update to SVN trunk head (142195). * Tue Nov 25 2008 rguenther@suse.de - Update to SVN trunk head (r142190). - Install new immintrin.h and avxintrin.h files, remove gmmintrin.h. * Sat Nov 15 2008 rguenther@suse.de - Update to SVN trunk head (r141893). * Thu Nov 06 2008 rguenther@suse.de - Update to SVN trunk head (r141645). - Bring forward some spec file changes from gcc43. * Fri Oct 31 2008 rguenther@suse.de - Fix Ada multilibbing. - Fix updated classpath packaging. * Thu Oct 30 2008 rguenther@suse.de - Update to SVN trunk head (r141467). * Fri Sep 19 2008 rguenther@suse.de - Update to SVN trunk head (r140485). * Wed Sep 17 2008 rguenther@suse.de - Update to SVN trunk head (r140419). * Tue Sep 16 2008 rguenther@suse.de - Add proper provides/obsoletes to shared library packages. * Fri Sep 05 2008 rguenther@suse.de - Update to SVN trunk head (r140030). - Fix GRAPHITE enablement. * Wed Sep 03 2008 rguenther@suse.de - Update to SVN trunk head (r139931). - Add ppl and cloog build dependencies to enable GRAPHITE. * Fri Aug 29 2008 rguenther@suse.de - Update to SVN trunk head (r139755). * Tue Aug 19 2008 rguenther@suse.de - Update to SVN trunk head (r139235). * Sat Jul 19 2008 rguenther@suse.de - Update to SVN trunk head (r137977). * Wed Jun 11 2008 rguenther@suse.de - New gcc44 package. ++++++ cross-x86_64-gcc-icecream-backend.spec ++++++ # # spec file for package cross-x86_64-gcc-icecream-backend (Version 4.4.0_20090421) # # Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # # norootforbuild %define build_cp 1 %define build_ada 0 %define build_libjava 0 %define build_java 0 %define build_fortran 0 %define build_objc 0 %define build_objcp 0 %define build_nof 0 %define gcc_for_opt 0 %define gcc_target_arch x86_64-linux %define gcc_icecream 1 Name: cross-x86_64-gcc-icecream-backend BuildRequires: cross-x86_64-binutils glibc-devel-32bit BuildRequires: gmp-devel mpfr-devel BuildRequires: bison BuildRequires: flex ExclusiveArch: ppc ppc64 %ix86 x86_64 ia64 %define _binary_payload w.ufdio # COMMON-BEGIN # COMMON-BEGIN %define biarch_targets x86_64 s390x powerpc64 powerpc Url: http://gcc.gnu.org/ License: BSD 3-Clause; GPL v2 or later; LGPL v2.1 or later; X11/MIT Version: 4.4.0_20090421 Release: 1 %define gcc_version %(echo %version | sed 's/_.*//') %define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1-2) %define snapshot_date %(echo %version | sed 's/[34]\.[0-4]\.[0-6]//' | sed 's/_/-/') %define binsuffix -4.4 # COMMON-END # COMMON-BEGIN Group: Development/Languages/C and C++ AutoReqProv: on Summary: The GNU C Compiler and Support Files BuildRoot: %{_tmppath}/%{name}-%{version}-build Source: gcc-%{gcc_version}%{snapshot_date}.tar.bz2 Source1: change_spec Source2: libgcj44-rpmlintrc Source3: gcc44-rpmlintrc Source4: ecj.jar Source5: README.First-for.SuSE.packagers Patch1: gcc-dir-version.patch Patch2: gcc-sles-version.patch Patch3: gcc-noalias-warn.diff Patch5: boehm-gc-strict-aliasing.patch Patch6: suse-record-gcc-opts.diff Patch7: acats-timeout.patch Patch8: Wunprototyped-calls.diff Patch9: gcc44-lfs.diff Patch10: program-transform-name.diff Patch12: gcc4-ppc64-m32-m64-multilib-only.patch Patch23: libjava-no-multilib.diff Patch24: tls-no-direct.diff Patch25: pr27880.diff Patch28: pr33763.diff Patch29: build-id.diff Patch30: gcc43-no-unwind-tables.diff # A set of patches from the RH srpm Patch51: gcc41-ia64-stack-protector.patch Patch55: gcc41-java-slow_pthread_self.patch Patch57: gcc41-ppc32-retaddr.patch # Some patches taken from Debian Patch60: gcc44-textdomain.patch Patch61: gcc44-rename-info-files.patch # Patches for SAP features Patch130: sap303956-uchar.diff # LIBJAVA-DELETE-BEGIN %description NOTE: Be sure to install at least the following packages as well or you will not be able to compile: binutils and glibc-devel. Compiled with support for Ada, C, C++, Fortran77, Java, and Objective-C. Authors: -------- The GCC team. %if 0%{?gcc_target_arch:1} %define CONFIGURE_TARGET %{gcc_target_arch} %define TARGET_ARCH %(echo %{gcc_target_arch} | cut -d - -f 1 | sed -e "s/i.86/i586/;s/ppc/powerpc/") %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "powerpc" %define CONFIGURE_TARGET powerpc64-linux %endif %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "powerpc64" %define CONFIGURE_TARGET powerpc64-linux %endif %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "i586" %define CONFIGURE_TARGET i586-linux %endif %else %define TARGET_ARCH %(echo %{_target_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/") %endif %define HOST_ARCH %(echo %{_host_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/") %define biarch %(case " %{biarch_targets} " in (*" %{TARGET_ARCH} "*) echo 1;; (*) echo 0;; esac) %ifarch ppc %define GCCDIST powerpc64-suse-linux %else %define GCCDIST %{HOST_ARCH}-suse-linux %endif %define libsubdir %{_libdir}/gcc/%{GCCDIST}/%{gcc_dir_version} %define gxxinclude %{_prefix}/include/c++/%{gcc_dir_version} # COMMON-END # COMMON-BEGIN %prep %setup -q -n gcc-%{gcc_version}%{snapshot_date} %patch1 %patch2 %patch3 %patch5 %patch6 %patch7 %patch8 %patch9 %patch10 %if !%{build_nof} %patch12 %endif %patch23 %patch24 %patch25 %patch28 %if 0%{suse_version} > 1100 %patch29 %endif %patch30 %patch51 %patch55 %patch57 %patch60 %patch61 %patch130 %build # Avoid rebuilding of generated files contrib/gcc_update --touch # Split version file into version used for directories (X.Y) and # version to report with --version (X.Y.Z). # See also gcc-dir-version.patch. # Also decrement the patchlevel version by one if test `cat gcc/DEV-PHASE` == "prerelease"; then ( cat gcc/BASE-VER | cut -d '.' -f 1-2 | tr -d '\n'; echo -n .; cat gcc/BASE-VER | cut -d '.' -f 3 | tr '0123456789' '0012345678' ) > gcc/FULL-VER else mv gcc/BASE-VER gcc/FULL-VER fi cat gcc/FULL-VER | cut -d '.' -f 1-2 > gcc/BASE-VER rm -rf obj-%{GCCDIST} mkdir obj-%{GCCDIST} cd obj-%{GCCDIST} RPM_OPT_FLAGS="$RPM_OPT_FLAGS -U_FORTIFY_SOURCE" RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-fno-rtti//g' -e 's/-fno-exceptions//g' -e 's/-Wmissing-format-attribute//g' -e 's/-fstack-protector//g' -e 's/-ffortify=.//g' -e 's/-Wall//g' -e 's/-m32//g' -e 's/-m64//g'` %ifarch %ix86 # -mcpu is superceded by -mtune but -mtune is not supported by # our bootstrap compiler. -mcpu gives a warning that stops # the build process, so remove it for now. Also remove all other # -march and -mtune flags. They are superseeded by proper # default compiler settings now. RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-mcpu=i.86//g' -e 's/-march=i.86//g' -e 's/-mtune=i.86//g'` %endif %ifarch s390 s390x RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-fsigned-char//g'` RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-O1/-O2/g'` %endif %if 0%{?gcc_target_arch:1} && 0%{!?gcc_icecream:1} # Kill all -march/tune/cpu because that screws building the target libs RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-m\(arch\|tune\|cpu\)=[^ ]*//g'` %endif # Replace 2 spaces by one finally RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/ / /g'` languages=c %if %{build_cp} languages=$languages,c++ %endif %if %{build_objc} languages=$languages,objc %endif %if %{build_fortran} languages=$languages,fortran %endif %if %{build_objcp} languages=$languages,obj-c++ %endif %if %{build_java} languages=$languages,java %endif %if %{build_ada} languages=$languages,ada %endif J=%{?jobs:%jobs} if test -z "$J"; then J=$(getconf _NPROCESSORS_CONF) JL=$(($J * 2)) else test 1 -gt "$J" && J=1 JL=$(($(getconf _NPROCESSORS_CONF)*2)) fi if test "$J" == "0"; then J=1 fi if test "$JL" == "0"; then JL=1 fi PARALLEL="-j$J -l$JL" # we don't want some miscompiles in the testsuite, or some fault in # the compiler to kill the machine. Hence we limit the amount of memory # by the physical RAM plus half of swap #MEM=$(free -m | awk '/^Mem:/ {print $2}') #SWAP=$(free -m | awk '/^Swap:/ {print $2}') #ulimit -v $(((MEM + SWAP/2)*1024)) # In general we want to ship release checking enabled compilers # and run BETA with checking enabled. #ENABLE_CHECKING="--enable-checking=yes" ENABLE_CHECKING="--enable-checking=release" %if "%{name}" != "gcc44" export PATH=/opt/cross/bin:$PATH %endif # Work around tail/head -1 changes export _POSIX2_VERSION=199209 # configure tries to parse include/features.h to detect # if glibc supports SSP. When cross compiling we would need # to install a cross glibc, which we don't, or make the whole # thing point to the native glibc, which is in /, hence the # --with-sysroot=/ %if %{build_ada} # Using the host gnatmake like # CC="gcc%{hostsuffix}" GNATBIND="gnatbind%{hostsuffix}" # GNATMAKE="gnatmake%{hostsuffix}" # doesn't work due to PR33857, so an un-suffixed gnatmake has to be # available mkdir -p host-tools/bin cp -a /usr/bin/gnatmake%{hostsuffix} host-tools/bin/gnatmake cp -a /usr/bin/gnatlink%{hostsuffix} host-tools/bin/gnatlink cp -a /usr/bin/gnatbind%{hostsuffix} host-tools/bin/gnatbind cp -a /usr/bin/gcc%{hostsuffix} host-tools/bin/gcc ln -sf /usr/%{_lib} host-tools/%{_lib} export PATH="`pwd`/host-tools/bin:$PATH" %endif #%if 0%{?gcc_target_arch:1} && 0%{!?gcc_icecream:1} #%else # --enable-threads=posix \ #%endif # --enable-shared \ CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" XCFLAGS="$RPM_OPT_FLAGS" \ TCFLAGS="$RPM_OPT_FLAGS" GCJFLAGS="$RPM_OPT_FLAGS" \ ../configure \ --prefix=%{_prefix} \ --infodir=%{_infodir} \ --mandir=%{_mandir} \ --libdir=%{_libdir} \ --libexecdir=%{_libdir} \ --enable-languages=$languages \ $ENABLE_CHECKING \ --with-gxx-include-dir=%{_prefix}/include/c++/%{gcc_dir_version} \ --enable-ssp \ --disable-libssp \ --with-bugurl="http://bugs.opensuse.org/" \ --with-pkgversion="SUSE Linux" \ %if !%{build_libjava} --disable-libgcj \ %else --with-java-home=%{_libdir}/jvm/java-1.5.0-gcj%{binsuffix}-1.5.0.0/jre \ --with-ecj-jar=%{libsubdir}/ecj.jar \ --enable-java-awt=gtk \ --enable-gtk-cairo \ %if !%{biarch_libjava} --disable-libjava-multilib \ %endif %endif %if !%{build_with_mudflap} --disable-libmudflap \ %endif --with-slibdir=/%{_lib} \ --with-system-zlib \ --enable-__cxa_atexit \ --enable-libstdcxx-allocator=new \ --disable-libstdcxx-pch \ --enable-version-specific-runtime-libs \ %if 0%{?gcc_target_arch:1} %if 0%{?gcc_icecream:1} --with-as=/opt/cross/%{TARGET_ARCH}-linux/bin/as \ --with-ld=/opt/cross/%{TARGET_ARCH}-linux/bin/ld \ --with-sysroot=/ \ --enable-linux-futex \ %endif %if 0%{?build_static:1} --disable-shared \ %endif %if "%{TARGET_ARCH}" == "spu" --with-sysroot=/usr/spu \ --with-gxx-include-dir=%{_prefix}/spu/include/c++/%{gcc_dir_version} \ --with-newlib \ %endif --disable-nls \ --target=%{CONFIGURE_TARGET} \ %else --program-suffix=%{binsuffix} \ --enable-linux-futex \ %ifarch ia64 --with-system-libunwind \ %else --without-system-libunwind \ %endif %endif %if "%{TARGET_ARCH}" == "powerpc" --with-cpu=default32 \ --enable-secureplt \ --with-long-double-128 \ %endif %if "%{TARGET_ARCH}" == "powerpc64" --with-cpu=power4 \ --enable-secureplt \ --with-long-double-128 \ %endif %if "%{TARGET_ARCH}" == "i586" --with-arch-32=i586 \ --with-tune=generic \ %endif %if "%{TARGET_ARCH}" == "x86_64" --with-arch-32=i586 \ --with-tune=generic \ %endif %if "%{TARGET_ARCH}" == "s390" --with-tune=z9-109 --with-arch=z900 \ --with-long-double-128 \ %endif %if "%{TARGET_ARCH}" == "s390x" --with-tune=z10 --with-arch=z9-109 \ --with-long-double-128 \ %endif --build=%{GCCDIST} # COMMON-END # COMMON-END make %{?jobs:-j%jobs} all-gcc TARGET-gcc="cc1 cc1plus gcc-cross g++ native" %install cd obj-%{GCCDIST} rm -rf $RPM_BUILD_ROOT BUILD_TARGET=%{TARGET_ARCH} ORIG_TARGET=$BUILD_TARGET # We play funny tricks with the ppc compiler. We want to have it biarch, # which the powerpc compiler itself doesn't support. So we actually # configure it as powerpc64 target compiler (i.e. a native cross compiler # even on ppc), with the default code generation to be powerpc32. # But this doesn't hide the fact that it's still a cross compiler which # shows also in various paths test "$BUILD_TARGET" = powerpc && BUILD_TARGET=powerpc64 make -C gcc DESTDIR=$RPM_BUILD_ROOT/inst install-driver install-common # But the assembler comes from the cross-binutils, and hence is _not_ # named funnily, not even on ppc, so there we need the original target install -s -D /opt/cross/bin/${ORIG_TARGET}-linux-as $RPM_BUILD_ROOT/env/usr/bin/as install -s $RPM_BUILD_ROOT/inst%{_prefix}/bin/${BUILD_TARGET}-linux-g++ $RPM_BUILD_ROOT/env/usr/bin/g++ install -s $RPM_BUILD_ROOT/inst%{_prefix}/bin/${BUILD_TARGET}-linux-gcc $RPM_BUILD_ROOT/env/usr/bin/gcc for back in cc1 cc1plus; do install -s -D $RPM_BUILD_ROOT/inst%{_libdir}/gcc/${BUILD_TARGET}-linux/%{gcc_dir_version}/$back \ $RPM_BUILD_ROOT/env%{_libdir}/gcc/${BUILD_TARGET}-linux/%{gcc_dir_version}/$back done libs=`for bin in $RPM_BUILD_ROOT/env/usr/bin/* $RPM_BUILD_ROOT/env%{_libdir}/gcc/${BUILD_TARGET}-linux/%{gcc_dir_version}/*; do \ ldd $bin | sed -n '\,^[^/]*\(/[^ ]*\).*,{ s//\1/; p; }' ;\ done | sort -u ` for lib in $libs; do # Check wether the same library also exists in the parent directory, # and prefer that on the assumption that it is a more generic one. baselib=`echo "$lib" | sed 's,/[^/]*\(/[^/]*\)$,\1,'` test -f "$baselib" && lib=$baselib install -s -D $lib $RPM_BUILD_ROOT/env$lib done rm -rf $RPM_BUILD_ROOT/inst cd $RPM_BUILD_ROOT/env tar cvzf ../%{name}_%{_arch}.tar.gz * cd .. mkdir -p usr/share/icecream-envs mv %{name}_%{_arch}.tar.gz usr/share/icecream-envs rpm -q --changelog glibc > usr/share/icecream-envs/%{name}_%{_arch}.glibc rpm -q --changelog binutils > usr/share/icecream-envs/%{name}_%{_arch}.binutils rm -r env %clean rm -rf $RPM_BUILD_ROOT %files %defattr(-,root,root) /usr/share/icecream-envs %changelog * Mon Apr 20 2009 rguenther@suse.de - Update to GCC 4.4.0 release. * Sat Apr 18 2009 rguenther@suse.de - Adjust Ada BuildRequires check. * Tue Apr 14 2009 rguenther@suse.de - Update to GCC 4.4.0 RC1. * Tue Mar 31 2009 rguenther@suse.de - Update to gcc-4_4-branch head (r145337). - Switch to release-checking. * Mon Mar 23 2009 rguenther@suse.de - Update to SVN trunk head (r145004). * Mon Mar 16 2009 rguenther@suse.de - Update to SVN trunk head (r144881). * Thu Feb 26 2009 rguenther@suse.de - Update to SVN trunk head (r144446). - Updates classpath to 0.98 release. [bnc#457169] - Add patch for PR39272. * Thu Feb 19 2009 rguenther@suse.de - Update to SVN trunk head (r144292). * Wed Feb 11 2009 rguenther@suse.de - Update to SVN trunk head (r144122). - Enable LFS support for 32bit host binaries. - Set default cpu and tuning for x86_64 and ix86. Filter RPM_OPT_FLAGS. * Fri Feb 06 2009 rguenther@suse.de - Update baselibs.conf. * Wed Feb 04 2009 rguenther@suse.de - Update to SVN trunk head (r143983). - Forward-port -Wunprototyped-calls. * Wed Jan 28 2009 rguenther@suse.de - Update to SVN trunk head (143725). - Add patch to fix PR38977. - Forward-port SUSE local changes from gcc43 package. * Fri Jan 23 2009 rguenther@suse.de - Update to SVN trunk head (143577). * Fri Jan 09 2009 rguenther@suse.de - Properly package x86intrin.h. * Thu Jan 08 2009 rguenther@suse.de - Update to SVN trunk head (143188). * Thu Dec 11 2008 rguenther@suse.de - Update to SVN trunk head (142676). - Add build-id patch and patch to disable unwind tables for crtstuff. * Thu Dec 04 2008 rguenther@suse.de - Update to SVN trunk head (142437). * Tue Nov 25 2008 rguenther@suse.de - Update to SVN trunk head (142195). * Tue Nov 25 2008 rguenther@suse.de - Update to SVN trunk head (r142190). - Install new immintrin.h and avxintrin.h files, remove gmmintrin.h. * Sat Nov 15 2008 rguenther@suse.de - Update to SVN trunk head (r141893). * Thu Nov 06 2008 rguenther@suse.de - Update to SVN trunk head (r141645). - Bring forward some spec file changes from gcc43. * Fri Oct 31 2008 rguenther@suse.de - Fix Ada multilibbing. - Fix updated classpath packaging. * Thu Oct 30 2008 rguenther@suse.de - Update to SVN trunk head (r141467). * Fri Sep 19 2008 rguenther@suse.de - Update to SVN trunk head (r140485). * Wed Sep 17 2008 rguenther@suse.de - Update to SVN trunk head (r140419). * Tue Sep 16 2008 rguenther@suse.de - Add proper provides/obsoletes to shared library packages. * Fri Sep 05 2008 rguenther@suse.de - Update to SVN trunk head (r140030). - Fix GRAPHITE enablement. * Wed Sep 03 2008 rguenther@suse.de - Update to SVN trunk head (r139931). - Add ppl and cloog build dependencies to enable GRAPHITE. * Fri Aug 29 2008 rguenther@suse.de - Update to SVN trunk head (r139755). * Tue Aug 19 2008 rguenther@suse.de - Update to SVN trunk head (r139235). * Sat Jul 19 2008 rguenther@suse.de - Update to SVN trunk head (r137977). * Wed Jun 11 2008 rguenther@suse.de - New gcc44 package. ++++++ gcc44.spec ++++++ --- /var/tmp/diff_new_pack.W29290/_old 2009-05-15 12:19:22.000000000 +0200 +++ /var/tmp/diff_new_pack.W29290/_new 2009-05-15 12:19:22.000000000 +0200 @@ -116,7 +116,7 @@ Url: http://gcc.gnu.org/ License: GPL v3 or later Version: 4.4.0_20090421 -Release: 1 +Release: 2 %define gcc_version %(echo %version | sed 's/_.*//') %define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1-2) %define snapshot_date %(echo %version | sed 's/[34]\.[0-4]\.[0-6]//' | sed 's/_/-/') ++++++ libgcj44.spec ++++++ --- /var/tmp/diff_new_pack.W29290/_old 2009-05-15 12:19:23.000000000 +0200 +++ /var/tmp/diff_new_pack.W29290/_new 2009-05-15 12:19:23.000000000 +0200 @@ -127,7 +127,7 @@ Url: http://gcc.gnu.org/ License: GPL v2 or later; LGPL v2.1 or later Version: 4.4.0_20090421 -Release: 1 +Release: 2 %define gcc_version %(echo %version | sed 's/_.*//') %define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1-2) %define snapshot_date %(echo %version | sed 's/[34]\.[0-4]\.[0-6]//' | sed 's/_/-/') ++++++ change_spec ++++++ --- /var/tmp/diff_new_pack.W29290/_old 2009-05-15 12:19:23.000000000 +0200 +++ /var/tmp/diff_new_pack.W29290/_new 2009-05-15 12:19:23.000000000 +0200 @@ -1,8 +1,8 @@ #!/bin/bash -do_icecream=0 -do_cross_static=0 -do_cross_shared=0 +do_icecream=1 +do_cross_static=1 +do_cross_shared=1 rm -f gcc*.spec cross*.spec cross*.changes # Default is to generate the normal gcc package @@ -83,7 +83,7 @@ # avr is static but wants the non-static versioned name if test "$do_cross_static" = 1 ; then echo '%define build_static 1' > cross-avr-gcc$base_ver.spec - cross_arch=avr name_suffix="43" sh cross.spec.in >> cross-avr-gcc$base_ver.spec + cross_arch=avr name_suffix="44" sh cross.spec.in >> cross-avr-gcc$base_ver.spec test -f gcc*.changes && ln -f gcc*.changes cross-avr-gcc$base_ver.changes fi if test "$do_cross_shared" = 1 ; then ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org