From 2ba0e6c8dfe3d911faae53779f6f1594283e03f4 Mon Sep 17 00:00:00 2001 From: Yigang Wen Date: Mon, 19 May 2014 16:58:07 +0800 Subject: [PATCH] remove unused files Currently, These spec files are useless and have not been submitted to OBS for building, so it's necessary to clean them up. Without this change, `gbs build` results will contails build error with dependency issue, and the build result will be much cleaner after applying this patch. Change-Id: I00a0f1eb635943d5009cdab26ad01fc6948e4c49 Signed-off-by: Yigang Wen Signed-off-by: Zhang Qiang --- packaging/change_spec | 56 +- .../cross-i386-gcc48-icecream-backend.changes | 30 - packaging/cross-i386-gcc48-icecream-backend.spec | 459 ------- packaging/gcc48-testresults.changes | 30 - packaging/gcc48-testresults.spec | 645 ---------- packaging/libffi48.changes | 30 - packaging/libffi48.spec | 961 --------------- packaging/libgcj48-rpmlintrc | 4 - packaging/libgcj48.changes | 30 - packaging/libgcj48.spec | 1291 -------------------- 10 files changed, 2 insertions(+), 3534 deletions(-) delete mode 100644 packaging/cross-i386-gcc48-icecream-backend.changes delete mode 100644 packaging/cross-i386-gcc48-icecream-backend.spec delete mode 100644 packaging/gcc48-testresults.changes delete mode 100644 packaging/gcc48-testresults.spec delete mode 100644 packaging/libffi48.changes delete mode 100644 packaging/libffi48.spec delete mode 100644 packaging/libgcj48-rpmlintrc delete mode 100644 packaging/libgcj48.changes delete mode 100644 packaging/libgcj48.spec diff --git a/packaging/change_spec b/packaging/change_spec index 0e080ba..de83577 100644 --- a/packaging/change_spec +++ b/packaging/change_spec @@ -4,7 +4,7 @@ do_icecream=1 do_cross_static=0 do_cross_shared=1 do_optional_compiler_languages=0 -rm -f libgcj*.spec libgcj*.changes libffi*.spec libffi*.changes gcc*-testresults.spec gcc*-testresults.changes gcc*.spec cross*.spec cross*.changes +rm -f libgcj*.spec libgcj*.changes libffi*.spec libffi*.changes gcc*.spec cross*.spec cross*.changes # Default is to generate the normal gcc package # unless a parameter is given. In case that it is '-*', @@ -49,62 +49,10 @@ s/@variant@/-64bit/g p } }' >> $outfile - if test "$do_optional_compiler_languages" = "0"; then - echo '%define building_libjava 1' > libgcj$base_ver.spec - sed -e '/^# LIBJAVA-DELETE-BEGIN/,/^# LIBJAVA-DELETE-END/d;s/-n libgcj@base_ver@$//g;s/^Name:[[:space:]]*gcc/Name: libgcj/g' \ - gcc.spec.in \ - | sed -e 's%@base_ver@%'$base_ver'%g' \ - | sed -n -e '{ -/^# PACKAGE-BEGIN/h -/^# PACKAGE-BEGIN/,/^# PACKAGE-END/H -/^# PACKAGE-BEGIN/,/^# PACKAGE-END/!p -/^# PACKAGE-END/{g -s/@variant@//g -p -g -s/@variant@/-32bit/g -p -g -s/@variant@/-64bit/g -p -} -}' >> libgcj$base_ver.spec - echo '%define building_testsuite 1' > gcc$base_ver-testresults.spec - echo '%define run_tests 1' >> gcc$base_ver-testresults.spec - sed -e '/^# GCC-TESTSUITE-DELETE-BEGIN/,/^# GCC-TESTSUITE-DELETE-END/d;s/-n gcc@base_ver@-testresults$//g;s/^Name:[[:space:]]*gcc@base_ver@/Name: gcc@base_ver@-testresults/g' \ - gcc.spec.in \ - | sed -e 's%@base_ver@%'$base_ver'%g' \ ->> gcc$base_ver-testresults.spec - echo '%define building_libffi 1' > libffi$base_ver.spec - sed -e '/^# LIBFFI-DELETE-BEGIN/,/^# LIBFFI-DELETE-END/d;s/^Name:[[:space:]]*gcc/Name: libffi/g' \ - gcc.spec.in \ - | sed -e 's%@base_ver@%'$base_ver'%g' \ - | sed -n -e '{ -/^# PACKAGE-BEGIN/h -/^# PACKAGE-BEGIN/,/^# PACKAGE-END/H -/^# PACKAGE-BEGIN/,/^# PACKAGE-END/!p -/^# PACKAGE-END/{g -s/@variant@//g -p -g -s/@variant@/-32bit/g -p -g -s/@variant@/-64bit/g -p -} -}' \ ->> libffi$base_ver.spec - - test -f gcc$base_ver.changes \ - && ( ln -f gcc$base_ver.changes libgcj$base_ver.changes; \ - ln -f gcc$base_ver.changes libffi$base_ver.changes; \ - ln -f gcc$base_ver.changes gcc$base_ver-testresults.changes; ) - fi # disabled: mips, sparc, alpha if test "$do_icecream" = 1 ; then - for arch in i386 x86_64 armv7hl armv7l; do + for arch in x86_64 armv7hl armv7l; do exclarch=`echo $arch | sed -e 's/ppc$/ppc64/'` { sed -n -e '1,/COMMON-BEGIN/p' cross-icecream.spec.in sed -n -e '/COMMON-BEGIN/,/COMMON-END/p' $outfile diff --git a/packaging/cross-i386-gcc48-icecream-backend.changes b/packaging/cross-i386-gcc48-icecream-backend.changes deleted file mode 100644 index 9021e57..0000000 --- a/packaging/cross-i386-gcc48-icecream-backend.changes +++ /dev/null @@ -1,30 +0,0 @@ -* Mon Nov 18 2013 Junfeng Dong upstream/4.8.2@aa6579d -- Update to 4.8.2. -- change the sysroot and c++ include path to fix the bugs the application cannot find the libraries. -- change the minimum requrired value for sysroot_len to 1 in case of identifying sysroot=/ -- disable fortran, ojbc and objcp to reduce 35% build time of gcc -- add the arm architecture in the %asan_arch macro to support address sanitizer -- Porting of address santizer patch for ARM from gcc-4.9 -- set thumb as as default option for armv7l-gcc because thumb becomes default since armv7l architecture -- create the collect2 utility for cross toolchain -- set gcc_dir_version - -* Fri Aug 02 2013 Junfeng Dong upstream/4.8.1@4dd5760 -- Correct gcc config option on armv7l. - -* Wed Jul 31 2013 Junfeng Dong upstream/4.8.1@ebfcd37 -- Satisfied gbs and fix the wrong build target of cross gcc. -- add cross-armv7l-gcc48-icecream-backend.spec. - -* Sat May 11 2013 Anas Nashif submit/tizen/20130509.175139@0f4d31d -- Set license using %license - -* Fri Mar 22 2013 Anas Nashif submit/trunk/20130319.040552@a5384b4 -- Fixed package groups - -* Mon Mar 18 2013 Anas Nashif submit/trunk/20130114.165653@eaa2945 -- Fixed package groups - -* Mon Jan 14 2013 Anas Nashif upstream/4.7.2@6cea208 -- Package info files correctly - diff --git a/packaging/cross-i386-gcc48-icecream-backend.spec b/packaging/cross-i386-gcc48-icecream-backend.spec deleted file mode 100644 index 4855f6a..0000000 --- a/packaging/cross-i386-gcc48-icecream-backend.spec +++ /dev/null @@ -1,459 +0,0 @@ -# -# spec file for package gcc (Version 4.8.2) -# -# Copyright (c) 2005 SUSE Linux AG, Nuernberg, Germany. -# 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_libjava 0 -%define build_java 0 -%define build_fortran 0 -%define build_objc 0 -%define build_objcp 0 -%define build_nof 0 -%define build_with_mudflap 0 -%define gcc_target_arch i386-tizen-linux -%define gcc_icecream 1 - -%define binutils_target i386 -%if %{binutils_target} == "armv7l" || %{binutils_target} == "armv7hl" || %{binutils_target} == "armv7el" -%define binutils_target arm -%endif -%if %{binutils_target} == "armv5el" -%define binutils_target arm -%endif -%define canonical_target %(echo %{binutils_target} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;") -%if %{binutils_target} == "arm" -%define canonical_target_abi -gnueabi -%endif - -Name: cross-i386-gcc48-icecream-backend -BuildRequires: cross-%{binutils_target}-binutils -BuildRequires: bison -BuildRequires: flex -BuildRequires: gettext-devel -BuildRequires: glibc-devel-32bit -BuildRequires: mpc-devel -BuildRequires: mpfr-devel -BuildRequires: perl -BuildRequires: makeinfo -BuildRequires: zlib-devel -%ifarch %ix86 x86_64 %arm -BuildRequires: cloog-devel -BuildRequires: ppl-devel -%endif -%ifarch ia64 -BuildRequires: libunwind-devel -%endif -ExclusiveArch: ppc ppc64 %ix86 x86_64 ia64 -%define _binary_payload w.ufdio - -%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 - -URL: http://gcc.gnu.org/ -Version: 4.8.2 -Release: 1 -%define gcc_dir_version 4.8 -%define binsuffix -4.8 -BuildRoot: %{_tmppath}/%{name}-%{version}-build -Source: gcc-%{version}.tar.bz2 -Source1: change_spec -Source3: gcc48-rpmlintrc -Source4: ecj.jar -Source6: baselibs.conf -Source1001: gcc.manifest - - -Group: Development/Toolchain -Summary: The GNU C Compiler and Support Files -License: GPL-3.0+ - -%description -Core package for the GNU Compiler Collection, including the C language -frontend. - -Language frontends other than C are split to different sub-packages, -namely gcc-ada, gcc-c++, gcc-fortran, gcc-java, gcc-objc and -gcc-obj-c++. - - - - -# Define the canonical target and host architecture -# %gcc_target_arch is supposed to be the full target triple -# %TARGET_ARCH is the canonicalized CPU part -# %CONFIGURE_TARGET is the target triple used for --target= -%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/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;") -%if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "powerpc" -%define CONFIGURE_TARGET powerpc64-tizen-linux -%endif -%if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "powerpc64" -%define CONFIGURE_TARGET powerpc64-tizen-linux -%endif -%if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "i586" -%define CONFIGURE_TARGET i586-tizen-linux -%endif -%if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "armv7l" -%define CONFIGURE_TARGET armv7l-tizen-linux-gnueabi -%endif -%if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "armv7hl" -%define CONFIGURE_TARGET armv7hl-tizen-linux-gnueabi -%endif -%if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "armv5tel" -%define CONFIGURE_TARGET armv5tel-tizen-linux-gnueabi -%endif -%else -%define TARGET_ARCH %(echo %{_target_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;") -%endif -%define HOST_ARCH %(echo %{_host_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;") - -%define biarch %(case " %{biarch_targets} " in (*" %{TARGET_ARCH} "*) echo 1;; (*) echo 0;; esac) - -%ifarch ppc -%define GCCDIST powerpc64-tizen-linux -%else -%ifarch %sparc -%define GCCDIST sparc64-tizen-linux -%else -%ifarch %arm -%define GCCDIST %{HOST_ARCH}-tizen-linux-gnueabi -%else -%define GCCDIST %{HOST_ARCH}-tizen-linux -%endif -%endif -%endif - -%define libsubdir %{_libdir}/gcc/%{GCCDIST}/%{gcc_dir_version} -%define gxxinclude %{_prefix}/include/c++/%{gcc_dir_version} - - -%prep -%setup -q -n gcc-%{version} -cp %{SOURCE1001} . - - -# We are configuring ppc as ppc64 but with switched multilibs. Adjust -# the libstdc++ abi testsuite baseline files accordingly -%ifarch ppc -if [ -d libstdc++-v3/config/abi/post/powerpc64-linux-gnu ]; then - mkdir -p libstdc++-v3/config/abi/post/powerpc64-linux-gnu/64 - mv libstdc++-v3/config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt \ - libstdc++-v3/config/abi/post/powerpc64-linux-gnu/64/ - mv libstdc++-v3/config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt \ - libstdc++-v3/config/abi/post/powerpc64-linux-gnu/ -fi -%endif - -%build -# Avoid rebuilding of generated files -contrib/gcc_update --touch -# Avoid fucking up testsuite results with Java and indirect dispatch -export LD_AS_NEEDED=0 -# 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" - -# 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-build-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 \ -%if "%{TARGET_ARCH}" == "armv7l" || "%{TARGET_ARCH}" == "armv7hl" -# temporary workaround for a miscompilation of hash functions in java code -GCJ_EXTRA_FLAGS="-marm" -%endif -CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" XCFLAGS="$RPM_OPT_FLAGS" \ -TCFLAGS="$RPM_OPT_FLAGS" GCJFLAGS="$RPM_OPT_FLAGS $GCJ_EXTRA_FLAGS" \ -../configure \ - --prefix=%{_prefix} \ - --infodir=%{_infodir} \ - --mandir=%{_mandir} \ - --libdir=%{_libdir} \ - --libexecdir=%{_libdir} \ - --disable-bootstrap \ - --enable-languages=$languages \ - $ENABLE_CHECKING \ - --with-gxx-include-dir=%{_prefix}/include/c++/%{gcc_dir_version} \ - --enable-ssp \ - --disable-libssp \ - --disable-plugin \ - --with-bugurl="http://bugs.tizen.org/" \ - --with-pkgversion="Tizen" \ -%if !%{build_fortran} - --disable-libquadmath \ -%endif -%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 \ - --disable-java-awt \ -%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 \ - --enable-linker-build-id \ -%if 0%{?gcc_target_arch:1} -%if 0%{?gcc_icecream:1} - --with-sysroot=/ \ - --with-gxx-include-dir=%{_prefix}/%{gcc_target_arch}%{?canonical_target_abi:%canonical_target_abi}/include/c++/%{gcc_dir_version} \ - --enable-linux-futex \ -%endif -%if 0%{?canonical_target:1} - --with-build-time-tools=/usr/%{canonical_target}-tizen-linux%{?canonical_target_abi:%canonical_target_abi}/bin \ -%endif -%if 0%{?sysroot:1} - --with-sysroot=%sysroot \ -%endif -%if 0%{?build_static:1} - --disable-shared \ -%endif -%if "%{TARGET_ARCH}" == "spu" - --with-gxx-include-dir=%sysroot/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}" == "armv5tel" - --with-arch=armv5te \ - --with-float=soft \ - --with-mode=arm \ - --with-abi=aapcs-linux \ - --disable-sjlj-exceptions \ -%endif -%if "%{TARGET_ARCH}" == "armv7l" - --with-arch=armv7-a \ - --with-tune=cortex-a8 \ - --with-float=softfp \ - --with-fpu=vfpv3 \ - --with-mode=thumb \ - --disable-sjlj-exceptions \ -%endif -%if "%{TARGET_ARCH}" == "armv7hl" - --with-arch=armv7-a \ - --with-tune=cortex-a9 \ - --with-float=hard \ - --with-abi=aapcs-linux \ - --with-fpu=vfpv3-d16 \ - --disable-sjlj-exceptions \ -%endif -%if "%{TARGET_ARCH}" == "powerpc" || "%{TARGET_ARCH}" == "powerpc64" -%if "%{TARGET_ARCH}" == "powerpc" - --with-cpu=default32 \ -%endif - --with-cpu-64=power4 \ - --enable-secureplt \ - --with-long-double-128 \ -%endif -%if "%{TARGET_ARCH}" == "sparc64" - --with-cpu=ultrasparc \ - --with-long-double-128 \ -%endif -%if "%{TARGET_ARCH}" == "sparc" - --with-cpu=v8 \ - --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=z196 --with-arch=z10 \ - --with-long-double-128 \ - --enable-decimal-float \ -%endif -%if "%{TARGET_ARCH}" == "s390x" - --with-tune=z196 --with-arch=z10 \ - --with-long-double-128 \ - --enable-decimal-float \ -%endif - --build=%{GCCDIST} - - -make %{?jobs:-j%jobs} all-gcc TARGET-gcc="cc1 cc1plus collect2 gcc-cross xg++ native" - -%install -cd obj-%{GCCDIST} -rm -rf $RPM_BUILD_ROOT -make -C gcc DESTDIR=$RPM_BUILD_ROOT/inst install-driver install-common -make DESTDIR=$RPM_BUILD_ROOT/inst maybe-install-lto-plugin - -# 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 %{_prefix}/bin/%{canonical_target}-tizen-linux%{?canonical_target_abi:%canonical_target_abi}-as \ - $RPM_BUILD_ROOT/env/usr/bin/as -install -s $RPM_BUILD_ROOT/inst%{_prefix}/bin/%{CONFIGURE_TARGET}-g++ \ - $RPM_BUILD_ROOT/env/usr/bin/g++ -install -s $RPM_BUILD_ROOT/inst%{_prefix}/bin/%{CONFIGURE_TARGET}-gcc \ - $RPM_BUILD_ROOT/env/usr/bin/gcc - -%define targetlibsubdir %{_libdir}/gcc/%{CONFIGURE_TARGET}/%{gcc_dir_version} -for back in cc1 cc1plus collect2; do - install -s -D $RPM_BUILD_ROOT/inst%{targetlibsubdir}/$back \ - $RPM_BUILD_ROOT/env%{targetlibsubdir}/$back -done -if test -f $RPM_BUILD_ROOT/inst%{targetlibsubdir}/liblto_plugin.so; then - install -s -D $RPM_BUILD_ROOT/inst%{targetlibsubdir}/liblto_plugin.so \ - $RPM_BUILD_ROOT/env%{targetlibsubdir}/liblto_plugin.so -fi - -libs=`for bin in $RPM_BUILD_ROOT/env/usr/bin/* $RPM_BUILD_ROOT/env%{targetlibsubdir}/*; 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 -cd $RPM_BUILD_DIR - -%clean -rm -rf $RPM_BUILD_ROOT - -%files -%defattr(-,root,root) -/usr/share/icecream-envs - -%changelog -n cross-i386-gcc48-icecream-backend diff --git a/packaging/gcc48-testresults.changes b/packaging/gcc48-testresults.changes deleted file mode 100644 index 9021e57..0000000 --- a/packaging/gcc48-testresults.changes +++ /dev/null @@ -1,30 +0,0 @@ -* Mon Nov 18 2013 Junfeng Dong upstream/4.8.2@aa6579d -- Update to 4.8.2. -- change the sysroot and c++ include path to fix the bugs the application cannot find the libraries. -- change the minimum requrired value for sysroot_len to 1 in case of identifying sysroot=/ -- disable fortran, ojbc and objcp to reduce 35% build time of gcc -- add the arm architecture in the %asan_arch macro to support address sanitizer -- Porting of address santizer patch for ARM from gcc-4.9 -- set thumb as as default option for armv7l-gcc because thumb becomes default since armv7l architecture -- create the collect2 utility for cross toolchain -- set gcc_dir_version - -* Fri Aug 02 2013 Junfeng Dong upstream/4.8.1@4dd5760 -- Correct gcc config option on armv7l. - -* Wed Jul 31 2013 Junfeng Dong upstream/4.8.1@ebfcd37 -- Satisfied gbs and fix the wrong build target of cross gcc. -- add cross-armv7l-gcc48-icecream-backend.spec. - -* Sat May 11 2013 Anas Nashif submit/tizen/20130509.175139@0f4d31d -- Set license using %license - -* Fri Mar 22 2013 Anas Nashif submit/trunk/20130319.040552@a5384b4 -- Fixed package groups - -* Mon Mar 18 2013 Anas Nashif submit/trunk/20130114.165653@eaa2945 -- Fixed package groups - -* Mon Jan 14 2013 Anas Nashif upstream/4.7.2@6cea208 -- Package info files correctly - diff --git a/packaging/gcc48-testresults.spec b/packaging/gcc48-testresults.spec deleted file mode 100644 index e33bda0..0000000 --- a/packaging/gcc48-testresults.spec +++ /dev/null @@ -1,645 +0,0 @@ -%define building_testsuite 1 -%define run_tests 1 -# -# spec file for package gcc48 -# -# 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 -# icecream 0 - - -%define build_ada 0 - -%define quadmath_arch %ix86 x86_64 ia64 -%define tsan_arch x86_64 -%define asan_arch x86_64 %ix86 ppc ppc64 %arm -%define itm_arch x86_64 %ix86 %arm ppc ppc64 -%define atomic_arch x86_64 %ix86 %arm ppc ppc64 s390 s390x - -# We don't want to build java -%define build_java 0 -%define build_libjava 0 - -%define build_cp 1 -%define build_fortran 0%{?building_libjava:1}%{?building_libffi:1} -%define build_objc 0%{?building_libjava:1}%{?building_libffi:1} -%define build_objcp 0%{?building_libjava:1}%{?building_libffi:1} -%define build_with_mudflap 0 - -%if %{build_objcp} -%define build_cp 1 -%define build_objc 1 -%endif - -%if %{build_libjava} -%define build_cp 1 -%endif - -# For optional compilers only build C, C++ and Fortran -%if 0%{?build_optional_compiler_languages:1} -%define build_ada 0 -%define build_java 0 -%define build_libjava 0 -%define build_objc 0 -%define build_objcp 0 -%endif - -# Shared library SONAME versions -%define libgcc_s 1 -%define libgcj_sover %{nil} -%define libgcj_bc_sover %{nil} -%define libffi_sover %{nil} -%define libmudflap_sover %{nil} -%define libgomp_sover %{nil} -%define libstdcxx_sover %{nil} -%define libobjc_sover %{nil} -%define libgfortran_sover %{nil} -%define libquadmath_sover %{nil} -%define libasan_sover %{nil} -%define libtsan_sover %{nil} -%define libatomic_sover %{nil} -%define libitm_sover %{nil} - -# Shared library package suffix -# This is used for the "non-standard" set of libraries, the standard -# being defined by %product_libs_gcc_ver, the GCC version that should -# provide un-suffixed shared library packages following the shared-library -# policy. Even suffixed variants should provide the shared-library policy -# mandated names and ensure they conflict with each other. -# Note that on SONAME changes of any library the %product_libs_gcc_ver -# define needs to be either split or the newest GCC version still providing -# the old SONAME needs to unconditionally produce an un-suffixed library -# if %product_libs_gcc_ver is newer than it. Similar the _oldest_ GCC -# version first providing a new SONAME needs to unconditionally produce -# an un-suffixed library if %product_libs_gcc_ver is lower that it. -%if %{!?product_libs_gcc_ver:48}%{?product_libs_gcc_ver} != 48 -%define pne 1 -%endif -%define libgcc_s_suffix %{?pne:-gcc48} -# libgcj SONAME changes with every GCC version -%define libgcj_suffix %nil -%define libgcj_bc_suffix %{?pne:-gcc48} -%define libffi_suffix %{?pne:-gcc48} -%define libmudflap_suffix %{?pne:-gcc48} -%define libgomp_suffix %{?pne:-gcc48} -%define libstdcxx_suffix %{?pne:-gcc48} -%define libobjc_suffix %{?pne:-gcc48} -%define libgfortran_suffix %{?pne:-gcc48} -%define libquadmath_suffix %{?pne:-gcc48} -%define libasan_suffix %{?pne:-gcc48} -%define libtsan_suffix %{?pne:-gcc48} -%define libatomic_suffix %{?pne:-gcc48} -%define libitm_suffix %{?pne:-gcc48} - - - - -Name: gcc48-testresults -BuildRequires: gcc-c++ -BuildRequires: bison -BuildRequires: flex -BuildRequires: glibc-devel-32bit -BuildRequires: mpc-devel -BuildRequires: mpfr-devel -BuildRequires: perl -BuildRequires: makeinfo -BuildRequires: zlib-devel -%ifarch %ix86 x86_64 ppc ppc64 s390 s390x ia64 %sparc hppa %arm -BuildRequires: cloog-isl-devel -BuildRequires: isl-devel -%endif -%if %{build_ada} -%define hostsuffix -4.7 -BuildRequires: gcc47-ada -%endif -%if 0%{?building_libjava:1}%{?building_testsuite:1} -BuildRequires: fastjar -%endif -%if 0%{?building_libffi:1} -BuildRequires: pkg-config -%endif -%ifarch ia64 -BuildRequires: libunwind-devel -%endif -%if 0%{?run_tests:1} -BuildRequires: dejagnu -BuildRequires: expect -BuildRequires: gdb -%endif - -%define separate_bi32 0 -%define separate_bi64 0 -%ifarch ppc sparcv9 -# Beware, this does _not_ separate libgcj, as for that one multilibing -# is inactive for the time being -%define separate_bi64 1 -%endif -%ifarch x86_64 s390x ppc64 sparc64 -%define separate_bi32 1 -%endif - -# Define two macros to trigger -32bit or -64bit package variants -%define separate_biarch 0 -%if %{separate_bi32} -%define separate_biarch 1 -%define separate_biarch_suffix -32bit -%endif -%if %{separate_bi64} -%define separate_biarch 1 -%define separate_biarch_suffix -64bit -%endif - -%ifarch x86_64 ia64 s390x alpha ppc64 sparc64 -# 64-bit is primary build target -%define build_primary_64bit 1 -%else -%define build_primary_64bit 0 -%endif - -%define biarch_libjava 0 - -%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 - -URL: http://gcc.gnu.org/ -Version: 4.8.2 -Release: 1 -%define gcc_dir_version 4.8 -%define binsuffix -4.8 - -%if !0%{?building_libjava:1}%{?building_libffi:1}%{?building_testsuite:1} -Requires: binutils glibc-devel -Requires: cpp48 = %{version}-%{release} -Requires: libgcc_s%{libgcc_s} >= %{version}-%{release} -Requires: libgomp%{libgomp_sover} >= %{version}-%{release} -%if %{build_with_mudflap} -Requires: libmudflap%{libmudflap_sover} >= %{version}-%{release} -Requires: libmudflapth%{libmudflap_sover} >= %{version}-%{release} -%endif -%ifarch %asan_arch -Requires: libasan%{libasan_sover} >= %{version}-%{release} -%endif -%ifarch %tsan_arch -Requires: libtsan%{libtsan_sover} >= %{version}-%{release} -%endif -%ifarch %atomic_arch -Requires: libatomic%{libatomic_sover} >= %{version}-%{release} -%endif -%ifarch %itm_arch -Requires: libitm%{libitm_sover} >= %{version}-%{release} -%endif -Suggests: gcc48-info gcc48-locale -%endif - -BuildRoot: %{_tmppath}/%{name}-%{version}-build -Source: gcc-%{version}.tar.bz2 -Source1: change_spec -Source3: gcc48-rpmlintrc -Source4: ecj.jar -Source6: baselibs.conf -Source1001: gcc.manifest - - -Summary: Testsuite results -License: SUSE-Public-Domain - -%description -Results from running the gcc and target library testsuites. - - - -# Define the canonical target and host architecture -# %gcc_target_arch is supposed to be the full target triple -# %TARGET_ARCH is the canonicalized CPU part -# %CONFIGURE_TARGET is the target triple used for --target= -%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/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;") -%if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "powerpc" -%define CONFIGURE_TARGET powerpc64-tizen-linux -%endif -%if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "powerpc64" -%define CONFIGURE_TARGET powerpc64-tizen-linux -%endif -%if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "i586" -%define CONFIGURE_TARGET i586-tizen-linux -%endif -%if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "armv7l" -%define CONFIGURE_TARGET armv7l-tizen-linux-gnueabi -%endif -%if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "armv7hl" -%define CONFIGURE_TARGET armv7hl-tizen-linux-gnueabi -%endif -%if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "armv5tel" -%define CONFIGURE_TARGET armv5tel-tizen-linux-gnueabi -%endif -%else -%define TARGET_ARCH %(echo %{_target_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;") -%endif -%define HOST_ARCH %(echo %{_host_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;") - -%define biarch %(case " %{biarch_targets} " in (*" %{TARGET_ARCH} "*) echo 1;; (*) echo 0;; esac) - -%ifarch ppc -%define GCCDIST powerpc64-tizen-linux -%else -%ifarch %sparc -%define GCCDIST sparc64-tizen-linux -%else -%ifarch %arm -%define GCCDIST %{HOST_ARCH}-tizen-linux-gnueabi -%else -%define GCCDIST %{HOST_ARCH}-tizen-linux -%endif -%endif -%endif - -%define libsubdir %{_libdir}/gcc/%{GCCDIST}/%{gcc_dir_version} -%define gxxinclude %{_prefix}/include/c++/%{gcc_dir_version} - - -# Versionspecific directories -%define versmainlibdir %{libsubdir} -%define versmainlibdirbi32 %{libsubdir}/32 -%define versmainlibdirbi64 %{libsubdir}/64 -%ifarch ppc -%define versmainlibdirbi32 %{libsubdir} -%define versmainlibdirbi64 %{libsubdir}/64 -%endif -%if %{build_primary_64bit} -%define versmainlibdirbi %{versmainlibdirbi32} -%else -%define versmainlibdirbi %{versmainlibdirbi64} -%endif - -%define mainlibdir %{_libdir} -%define mainlibdirbi32 %{_prefix}/lib -%define mainlibdirbi64 %{_prefix}/lib64 -%if %{build_primary_64bit} -%define mainlibdirbi %{mainlibdirbi32} -%else -%define mainlibdirbi %{mainlibdirbi64} -%endif - - -# Now define a few macros that make it easy to package libs and -# related files just to the right package, without caring for the -# exact path the files are in. -# %mainlib package X from all dirs that belong to the main package -# %biarchlib package X from all dirs that belong to the -32/64bit package -%define mainlib() %{mainlibdir}/%1\ -%{nil} -%define biarchlib() %{nil} -%if %{biarch} -%if !%{separate_biarch} -%define mainlib() %{mainlibdir}/%1\ -%{mainlibdirbi}/%1\ -%{nil} -%else -%define biarchlib() %{mainlibdirbi}/%1\ -%{nil} -%endif -%endif - -%define versmainlib() %{versmainlibdir}/%1\ -%{nil} -%define versbiarchlib() %{nil} -%if %{biarch} -%if !%{separate_biarch} -%define versmainlib() %{versmainlibdir}/%1\ -%{versmainlibdirbi}/%1\ -%{nil} -%else -%define versbiarchlib() %{versmainlibdirbi}/%1\ -%{nil} -%endif -%endif - - - -%prep -%setup -q -n gcc-%{version} -cp %{SOURCE1001} . - - -# We are configuring ppc as ppc64 but with switched multilibs. Adjust -# the libstdc++ abi testsuite baseline files accordingly -%ifarch ppc -if [ -d libstdc++-v3/config/abi/post/powerpc64-linux-gnu ]; then - mkdir -p libstdc++-v3/config/abi/post/powerpc64-linux-gnu/64 - mv libstdc++-v3/config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt \ - libstdc++-v3/config/abi/post/powerpc64-linux-gnu/64/ - mv libstdc++-v3/config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt \ - libstdc++-v3/config/abi/post/powerpc64-linux-gnu/ -fi -%endif - -%build -# Avoid rebuilding of generated files -contrib/gcc_update --touch -# Avoid fucking up testsuite results with Java and indirect dispatch -export LD_AS_NEEDED=0 -# 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" - -# 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-build-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 \ -%if "%{TARGET_ARCH}" == "armv7l" || "%{TARGET_ARCH}" == "armv7hl" -# temporary workaround for a miscompilation of hash functions in java code -GCJ_EXTRA_FLAGS="-marm" -%endif -CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" XCFLAGS="$RPM_OPT_FLAGS" \ -TCFLAGS="$RPM_OPT_FLAGS" GCJFLAGS="$RPM_OPT_FLAGS $GCJ_EXTRA_FLAGS" \ -../configure \ - --prefix=%{_prefix} \ - --infodir=%{_infodir} \ - --mandir=%{_mandir} \ - --libdir=%{_libdir} \ - --libexecdir=%{_libdir} \ - --disable-bootstrap \ - --enable-languages=$languages \ - $ENABLE_CHECKING \ - --with-gxx-include-dir=%{_prefix}/include/c++/%{gcc_dir_version} \ - --enable-ssp \ - --disable-libssp \ - --disable-plugin \ - --with-bugurl="http://bugs.tizen.org/" \ - --with-pkgversion="Tizen" \ -%if !%{build_fortran} - --disable-libquadmath \ -%endif -%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 \ - --disable-java-awt \ -%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 \ - --enable-linker-build-id \ -%if 0%{?gcc_target_arch:1} -%if 0%{?gcc_icecream:1} - --with-sysroot=/ \ - --with-gxx-include-dir=%{_prefix}/%{gcc_target_arch}%{?canonical_target_abi:%canonical_target_abi}/include/c++/%{gcc_dir_version} \ - --enable-linux-futex \ -%endif -%if 0%{?canonical_target:1} - --with-build-time-tools=/usr/%{canonical_target}-tizen-linux%{?canonical_target_abi:%canonical_target_abi}/bin \ -%endif -%if 0%{?sysroot:1} - --with-sysroot=%sysroot \ -%endif -%if 0%{?build_static:1} - --disable-shared \ -%endif -%if "%{TARGET_ARCH}" == "spu" - --with-gxx-include-dir=%sysroot/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}" == "armv5tel" - --with-arch=armv5te \ - --with-float=soft \ - --with-mode=arm \ - --with-abi=aapcs-linux \ - --disable-sjlj-exceptions \ -%endif -%if "%{TARGET_ARCH}" == "armv7l" - --with-arch=armv7-a \ - --with-tune=cortex-a8 \ - --with-float=softfp \ - --with-fpu=vfpv3 \ - --with-mode=thumb \ - --disable-sjlj-exceptions \ -%endif -%if "%{TARGET_ARCH}" == "armv7hl" - --with-arch=armv7-a \ - --with-tune=cortex-a9 \ - --with-float=hard \ - --with-abi=aapcs-linux \ - --with-fpu=vfpv3-d16 \ - --disable-sjlj-exceptions \ -%endif -%if "%{TARGET_ARCH}" == "powerpc" || "%{TARGET_ARCH}" == "powerpc64" -%if "%{TARGET_ARCH}" == "powerpc" - --with-cpu=default32 \ -%endif - --with-cpu-64=power4 \ - --enable-secureplt \ - --with-long-double-128 \ -%endif -%if "%{TARGET_ARCH}" == "sparc64" - --with-cpu=ultrasparc \ - --with-long-double-128 \ -%endif -%if "%{TARGET_ARCH}" == "sparc" - --with-cpu=v8 \ - --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=z196 --with-arch=z10 \ - --with-long-double-128 \ - --enable-decimal-float \ -%endif -%if "%{TARGET_ARCH}" == "s390x" - --with-tune=z196 --with-arch=z10 \ - --with-long-double-128 \ - --enable-decimal-float \ -%endif - --build=%{GCCDIST} - - -%if 0%{?building_libffi:1} -make stage1-bubble $PARALLEL -make all-target-libffi $PARALLEL -%else -STAGE1_FLAGS="-g" -# Only run profiled bootstrap on archs where it works -#%ifarch %ix86 x86_64 ppc ppc64 ia64 -#make profiledbootstrap-lean STAGE1_CFLAGS="$STAGE1_FLAGS" BOOT_CFLAGS="$RPM_OPT_FLAGS" $PARALLEL -#%else -#make bootstrap-lean STAGE1_CFLAGS="$STAGE1_FLAGS" BOOT_CFLAGS="$RPM_OPT_FLAGS" $PARALLEL -make STAGE1_CFLAGS="$STAGE1_FLAGS" BOOT_CFLAGS="$RPM_OPT_FLAGS" $PARALLEL -#%endif -#make -C gcc proto -make info -%if 0%{?run_tests:1} -echo "Run testsuite" -(make -C %{GCCDIST}/libstdc++-v3 check-abi || true) -mv %{GCCDIST}/libstdc++-v3/testsuite/libstdc++.log %{GCCDIST}/libstdc++-v3/testsuite/libstdc++-abi.log -mv %{GCCDIST}/libstdc++-v3/testsuite/libstdc++.sum %{GCCDIST}/libstdc++-v3/testsuite/libstdc++-abi.sum -# asan needs a whole shadow address space -ulimit -v unlimited || true -make -k check $PARALLEL || true -mkdir ../testresults -../contrib/test_summary | tee ../testresults/test_summary.txt -%endif -%endif - -%install -export NO_BRP_CHECK_BYTECODE_VERSION=true -cd obj-%{GCCDIST} -%if 0%{?run_tests:1} -cp `find . -name "*.sum"` ../testresults/ -cp `find . -name "*.log" \! -name "config.log" | grep -v 'acats.\?/tests' ` ../testresults/ -chmod 644 ../testresults/* -%endif - -%if 0%{?run_tests:1} -%files -%manifest gcc.manifest -%defattr(-,root,root) -%doc testresults/test_summary.txt -%doc testresults/*.sum -%doc testresults/*.log -%endif - - -%changelog diff --git a/packaging/libffi48.changes b/packaging/libffi48.changes deleted file mode 100644 index 9021e57..0000000 --- a/packaging/libffi48.changes +++ /dev/null @@ -1,30 +0,0 @@ -* Mon Nov 18 2013 Junfeng Dong upstream/4.8.2@aa6579d -- Update to 4.8.2. -- change the sysroot and c++ include path to fix the bugs the application cannot find the libraries. -- change the minimum requrired value for sysroot_len to 1 in case of identifying sysroot=/ -- disable fortran, ojbc and objcp to reduce 35% build time of gcc -- add the arm architecture in the %asan_arch macro to support address sanitizer -- Porting of address santizer patch for ARM from gcc-4.9 -- set thumb as as default option for armv7l-gcc because thumb becomes default since armv7l architecture -- create the collect2 utility for cross toolchain -- set gcc_dir_version - -* Fri Aug 02 2013 Junfeng Dong upstream/4.8.1@4dd5760 -- Correct gcc config option on armv7l. - -* Wed Jul 31 2013 Junfeng Dong upstream/4.8.1@ebfcd37 -- Satisfied gbs and fix the wrong build target of cross gcc. -- add cross-armv7l-gcc48-icecream-backend.spec. - -* Sat May 11 2013 Anas Nashif submit/tizen/20130509.175139@0f4d31d -- Set license using %license - -* Fri Mar 22 2013 Anas Nashif submit/trunk/20130319.040552@a5384b4 -- Fixed package groups - -* Mon Mar 18 2013 Anas Nashif submit/trunk/20130114.165653@eaa2945 -- Fixed package groups - -* Mon Jan 14 2013 Anas Nashif upstream/4.7.2@6cea208 -- Package info files correctly - diff --git a/packaging/libffi48.spec b/packaging/libffi48.spec deleted file mode 100644 index 602bb5e..0000000 --- a/packaging/libffi48.spec +++ /dev/null @@ -1,961 +0,0 @@ -%define building_libffi 1 -# -# spec file for package gcc48 -# -# 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 -# icecream 0 - - -%define build_ada 0 - -%define quadmath_arch %ix86 x86_64 ia64 -%define tsan_arch x86_64 -%define asan_arch x86_64 %ix86 ppc ppc64 %arm -%define itm_arch x86_64 %ix86 %arm ppc ppc64 -%define atomic_arch x86_64 %ix86 %arm ppc ppc64 s390 s390x - -# We don't want to build java -%define build_java 0 -%define build_libjava 0 - -%define build_cp 1 -%define build_fortran 0%{?building_libjava:1}%{?building_libffi:1} -%define build_objc 0%{?building_libjava:1}%{?building_libffi:1} -%define build_objcp 0%{?building_libjava:1}%{?building_libffi:1} -%define build_with_mudflap 0 - -%if %{build_objcp} -%define build_cp 1 -%define build_objc 1 -%endif - -%if %{build_libjava} -%define build_cp 1 -%endif - -# For optional compilers only build C, C++ and Fortran -%if 0%{?build_optional_compiler_languages:1} -%define build_ada 0 -%define build_java 0 -%define build_libjava 0 -%define build_objc 0 -%define build_objcp 0 -%endif - -# Shared library SONAME versions -%define libgcc_s 1 -%define libgcj_sover %{nil} -%define libgcj_bc_sover %{nil} -%define libffi_sover %{nil} -%define libmudflap_sover %{nil} -%define libgomp_sover %{nil} -%define libstdcxx_sover %{nil} -%define libobjc_sover %{nil} -%define libgfortran_sover %{nil} -%define libquadmath_sover %{nil} -%define libasan_sover %{nil} -%define libtsan_sover %{nil} -%define libatomic_sover %{nil} -%define libitm_sover %{nil} - -# Shared library package suffix -# This is used for the "non-standard" set of libraries, the standard -# being defined by %product_libs_gcc_ver, the GCC version that should -# provide un-suffixed shared library packages following the shared-library -# policy. Even suffixed variants should provide the shared-library policy -# mandated names and ensure they conflict with each other. -# Note that on SONAME changes of any library the %product_libs_gcc_ver -# define needs to be either split or the newest GCC version still providing -# the old SONAME needs to unconditionally produce an un-suffixed library -# if %product_libs_gcc_ver is newer than it. Similar the _oldest_ GCC -# version first providing a new SONAME needs to unconditionally produce -# an un-suffixed library if %product_libs_gcc_ver is lower that it. -%if %{!?product_libs_gcc_ver:48}%{?product_libs_gcc_ver} != 48 -%define pne 1 -%endif -%define libgcc_s_suffix %{?pne:-gcc48} -# libgcj SONAME changes with every GCC version -%define libgcj_suffix %nil -%define libgcj_bc_suffix %{?pne:-gcc48} -%define libffi_suffix %{?pne:-gcc48} -%define libmudflap_suffix %{?pne:-gcc48} -%define libgomp_suffix %{?pne:-gcc48} -%define libstdcxx_suffix %{?pne:-gcc48} -%define libobjc_suffix %{?pne:-gcc48} -%define libgfortran_suffix %{?pne:-gcc48} -%define libquadmath_suffix %{?pne:-gcc48} -%define libasan_suffix %{?pne:-gcc48} -%define libtsan_suffix %{?pne:-gcc48} -%define libatomic_suffix %{?pne:-gcc48} -%define libitm_suffix %{?pne:-gcc48} - - - - -Name: libffi48 -BuildRequires: gcc-c++ -BuildRequires: bison -BuildRequires: flex -BuildRequires: glibc-devel-32bit -BuildRequires: mpc-devel -BuildRequires: mpfr-devel -BuildRequires: perl -BuildRequires: makeinfo -BuildRequires: zlib-devel -%ifarch %ix86 x86_64 ppc ppc64 s390 s390x ia64 %sparc hppa %arm -BuildRequires: cloog-isl-devel -BuildRequires: isl-devel -%endif -%if %{build_ada} -%define hostsuffix -4.7 -BuildRequires: gcc47-ada -%endif -%if 0%{?building_libjava:1}%{?building_testsuite:1} -BuildRequires: fastjar -%endif -%if 0%{?building_libffi:1} -BuildRequires: pkg-config -%endif -%ifarch ia64 -BuildRequires: libunwind-devel -%endif -%if 0%{?run_tests:1} -BuildRequires: dejagnu -BuildRequires: expect -BuildRequires: gdb -%endif - -%define separate_bi32 0 -%define separate_bi64 0 -%ifarch ppc sparcv9 -# Beware, this does _not_ separate libgcj, as for that one multilibing -# is inactive for the time being -%define separate_bi64 1 -%endif -%ifarch x86_64 s390x ppc64 sparc64 -%define separate_bi32 1 -%endif - -# Define two macros to trigger -32bit or -64bit package variants -%define separate_biarch 0 -%if %{separate_bi32} -%define separate_biarch 1 -%define separate_biarch_suffix -32bit -%endif -%if %{separate_bi64} -%define separate_biarch 1 -%define separate_biarch_suffix -64bit -%endif - -%ifarch x86_64 ia64 s390x alpha ppc64 sparc64 -# 64-bit is primary build target -%define build_primary_64bit 1 -%else -%define build_primary_64bit 0 -%endif - -%define biarch_libjava 0 - -%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 - -URL: http://gcc.gnu.org/ -Version: 4.8.2 -Release: 1 -%define gcc_dir_version 4.8 -%define binsuffix -4.8 - -%if !0%{?building_libjava:1}%{?building_libffi:1}%{?building_testsuite:1} -Requires: binutils glibc-devel -Requires: cpp48 = %{version}-%{release} -Requires: libgcc_s%{libgcc_s} >= %{version}-%{release} -Requires: libgomp%{libgomp_sover} >= %{version}-%{release} -%if %{build_with_mudflap} -Requires: libmudflap%{libmudflap_sover} >= %{version}-%{release} -Requires: libmudflapth%{libmudflap_sover} >= %{version}-%{release} -%endif -%ifarch %asan_arch -Requires: libasan%{libasan_sover} >= %{version}-%{release} -%endif -%ifarch %tsan_arch -Requires: libtsan%{libtsan_sover} >= %{version}-%{release} -%endif -%ifarch %atomic_arch -Requires: libatomic%{libatomic_sover} >= %{version}-%{release} -%endif -%ifarch %itm_arch -Requires: libitm%{libitm_sover} >= %{version}-%{release} -%endif -Suggests: gcc48-info gcc48-locale -%endif - -BuildRoot: %{_tmppath}/%{name}-%{version}-build -Source: gcc-%{version}.tar.bz2 -Source1: change_spec -Source3: gcc48-rpmlintrc -Source4: ecj.jar -Source6: baselibs.conf -Source1001: gcc.manifest - - -Group: Development/Toolchain -Summary: The GNU C Compiler and Support Files -License: GPL-3.0+ - -%description -Core package for the GNU Compiler Collection, including the C language -frontend. - -Language frontends other than C are split to different sub-packages, -namely gcc-ada, gcc-c++, gcc-fortran, gcc-java, gcc-objc and -gcc-obj-c++. -%package -n libffi%{libffi_sover}%{libffi_suffix} -Summary: Foreign Function Interface library -License: BSD-3-Clause - -%description -n libffi%{libffi_sover}%{libffi_suffix} -A foreign function interface is the popular name for the interface that allows code written in one language to call code written in another language. - -%post -n libffi%{libffi_sover}%{libffi_suffix} -/sbin/ldconfig - -%postun -n libffi%{libffi_sover}%{libffi_suffix} -/sbin/ldconfig -%package -n libffi%{libffi_sover}%{libffi_suffix}-32bit -Summary: Foreign Function Interface library -License: BSD-3-Clause - -%description -n libffi%{libffi_sover}%{libffi_suffix}-32bit -A foreign function interface is the popular name for the interface that allows code written in one language to call code written in another language. - -%post -n libffi%{libffi_sover}%{libffi_suffix}-32bit -/sbin/ldconfig - -%postun -n libffi%{libffi_sover}%{libffi_suffix}-32bit -/sbin/ldconfig -%package -n libffi%{libffi_sover}%{libffi_suffix}-64bit -Summary: Foreign Function Interface library -License: BSD-3-Clause - -%description -n libffi%{libffi_sover}%{libffi_suffix}-64bit -A foreign function interface is the popular name for the interface that allows code written in one language to call code written in another language. - -%post -n libffi%{libffi_sover}%{libffi_suffix}-64bit -/sbin/ldconfig - -%postun -n libffi%{libffi_sover}%{libffi_suffix}-64bit -/sbin/ldconfig - -%package -n libffi48-devel -Summary: Foreign Function Interface library development files -License: BSD 3-Clause -Requires: libffi%{libffi_sover} >= %{version}-%{release} - -%description -n libffi48-devel -A foreign function interface is the popular name for the interface that allows code written in one language to call code written in another language. -%package -n libffi48-devel-32bit -Summary: Foreign Function Interface library development files -License: BSD 3-Clause -Requires: libffi%{libffi_sover}-32bit >= %{version}-%{release} - -%description -n libffi48-devel-32bit -A foreign function interface is the popular name for the interface that allows code written in one language to call code written in another language. -%package -n libffi48-devel-64bit -Summary: Foreign Function Interface library development files -License: BSD 3-Clause -Requires: libffi%{libffi_sover}-64bit >= %{version}-%{release} - -%description -n libffi48-devel-64bit -A foreign function interface is the popular name for the interface that allows code written in one language to call code written in another language. - -%package -n gcc48-testresults -Summary: Testsuite results -License: SUSE-Public-Domain - -%description -n gcc48-testresults -Results from running the gcc and target library testsuites. - - - -# Define the canonical target and host architecture -# %gcc_target_arch is supposed to be the full target triple -# %TARGET_ARCH is the canonicalized CPU part -# %CONFIGURE_TARGET is the target triple used for --target= -%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/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;") -%if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "powerpc" -%define CONFIGURE_TARGET powerpc64-tizen-linux -%endif -%if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "powerpc64" -%define CONFIGURE_TARGET powerpc64-tizen-linux -%endif -%if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "i586" -%define CONFIGURE_TARGET i586-tizen-linux -%endif -%if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "armv7l" -%define CONFIGURE_TARGET armv7l-tizen-linux-gnueabi -%endif -%if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "armv7hl" -%define CONFIGURE_TARGET armv7hl-tizen-linux-gnueabi -%endif -%if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "armv5tel" -%define CONFIGURE_TARGET armv5tel-tizen-linux-gnueabi -%endif -%else -%define TARGET_ARCH %(echo %{_target_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;") -%endif -%define HOST_ARCH %(echo %{_host_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;") - -%define biarch %(case " %{biarch_targets} " in (*" %{TARGET_ARCH} "*) echo 1;; (*) echo 0;; esac) - -%ifarch ppc -%define GCCDIST powerpc64-tizen-linux -%else -%ifarch %sparc -%define GCCDIST sparc64-tizen-linux -%else -%ifarch %arm -%define GCCDIST %{HOST_ARCH}-tizen-linux-gnueabi -%else -%define GCCDIST %{HOST_ARCH}-tizen-linux -%endif -%endif -%endif - -%define libsubdir %{_libdir}/gcc/%{GCCDIST}/%{gcc_dir_version} -%define gxxinclude %{_prefix}/include/c++/%{gcc_dir_version} - - -# Versionspecific directories -%define versmainlibdir %{libsubdir} -%define versmainlibdirbi32 %{libsubdir}/32 -%define versmainlibdirbi64 %{libsubdir}/64 -%ifarch ppc -%define versmainlibdirbi32 %{libsubdir} -%define versmainlibdirbi64 %{libsubdir}/64 -%endif -%if %{build_primary_64bit} -%define versmainlibdirbi %{versmainlibdirbi32} -%else -%define versmainlibdirbi %{versmainlibdirbi64} -%endif - -%define mainlibdir %{_libdir} -%define mainlibdirbi32 %{_prefix}/lib -%define mainlibdirbi64 %{_prefix}/lib64 -%if %{build_primary_64bit} -%define mainlibdirbi %{mainlibdirbi32} -%else -%define mainlibdirbi %{mainlibdirbi64} -%endif - - -# Now define a few macros that make it easy to package libs and -# related files just to the right package, without caring for the -# exact path the files are in. -# %mainlib package X from all dirs that belong to the main package -# %biarchlib package X from all dirs that belong to the -32/64bit package -%define mainlib() %{mainlibdir}/%1\ -%{nil} -%define biarchlib() %{nil} -%if %{biarch} -%if !%{separate_biarch} -%define mainlib() %{mainlibdir}/%1\ -%{mainlibdirbi}/%1\ -%{nil} -%else -%define biarchlib() %{mainlibdirbi}/%1\ -%{nil} -%endif -%endif - -%define versmainlib() %{versmainlibdir}/%1\ -%{nil} -%define versbiarchlib() %{nil} -%if %{biarch} -%if !%{separate_biarch} -%define versmainlib() %{versmainlibdir}/%1\ -%{versmainlibdirbi}/%1\ -%{nil} -%else -%define versbiarchlib() %{versmainlibdirbi}/%1\ -%{nil} -%endif -%endif - - - -%prep -%setup -q -n gcc-%{version} -cp %{SOURCE1001} . - - -# We are configuring ppc as ppc64 but with switched multilibs. Adjust -# the libstdc++ abi testsuite baseline files accordingly -%ifarch ppc -if [ -d libstdc++-v3/config/abi/post/powerpc64-linux-gnu ]; then - mkdir -p libstdc++-v3/config/abi/post/powerpc64-linux-gnu/64 - mv libstdc++-v3/config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt \ - libstdc++-v3/config/abi/post/powerpc64-linux-gnu/64/ - mv libstdc++-v3/config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt \ - libstdc++-v3/config/abi/post/powerpc64-linux-gnu/ -fi -%endif - -%build -# Avoid rebuilding of generated files -contrib/gcc_update --touch -# Avoid fucking up testsuite results with Java and indirect dispatch -export LD_AS_NEEDED=0 -# 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" - -# 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-build-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 \ -%if "%{TARGET_ARCH}" == "armv7l" || "%{TARGET_ARCH}" == "armv7hl" -# temporary workaround for a miscompilation of hash functions in java code -GCJ_EXTRA_FLAGS="-marm" -%endif -CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" XCFLAGS="$RPM_OPT_FLAGS" \ -TCFLAGS="$RPM_OPT_FLAGS" GCJFLAGS="$RPM_OPT_FLAGS $GCJ_EXTRA_FLAGS" \ -../configure \ - --prefix=%{_prefix} \ - --infodir=%{_infodir} \ - --mandir=%{_mandir} \ - --libdir=%{_libdir} \ - --libexecdir=%{_libdir} \ - --disable-bootstrap \ - --enable-languages=$languages \ - $ENABLE_CHECKING \ - --with-gxx-include-dir=%{_prefix}/include/c++/%{gcc_dir_version} \ - --enable-ssp \ - --disable-libssp \ - --disable-plugin \ - --with-bugurl="http://bugs.tizen.org/" \ - --with-pkgversion="Tizen" \ -%if !%{build_fortran} - --disable-libquadmath \ -%endif -%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 \ - --disable-java-awt \ -%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 \ - --enable-linker-build-id \ -%if 0%{?gcc_target_arch:1} -%if 0%{?gcc_icecream:1} - --with-sysroot=/ \ - --with-gxx-include-dir=%{_prefix}/%{gcc_target_arch}%{?canonical_target_abi:%canonical_target_abi}/include/c++/%{gcc_dir_version} \ - --enable-linux-futex \ -%endif -%if 0%{?canonical_target:1} - --with-build-time-tools=/usr/%{canonical_target}-tizen-linux%{?canonical_target_abi:%canonical_target_abi}/bin \ -%endif -%if 0%{?sysroot:1} - --with-sysroot=%sysroot \ -%endif -%if 0%{?build_static:1} - --disable-shared \ -%endif -%if "%{TARGET_ARCH}" == "spu" - --with-gxx-include-dir=%sysroot/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}" == "armv5tel" - --with-arch=armv5te \ - --with-float=soft \ - --with-mode=arm \ - --with-abi=aapcs-linux \ - --disable-sjlj-exceptions \ -%endif -%if "%{TARGET_ARCH}" == "armv7l" - --with-arch=armv7-a \ - --with-tune=cortex-a8 \ - --with-float=softfp \ - --with-fpu=vfpv3 \ - --with-mode=thumb \ - --disable-sjlj-exceptions \ -%endif -%if "%{TARGET_ARCH}" == "armv7hl" - --with-arch=armv7-a \ - --with-tune=cortex-a9 \ - --with-float=hard \ - --with-abi=aapcs-linux \ - --with-fpu=vfpv3-d16 \ - --disable-sjlj-exceptions \ -%endif -%if "%{TARGET_ARCH}" == "powerpc" || "%{TARGET_ARCH}" == "powerpc64" -%if "%{TARGET_ARCH}" == "powerpc" - --with-cpu=default32 \ -%endif - --with-cpu-64=power4 \ - --enable-secureplt \ - --with-long-double-128 \ -%endif -%if "%{TARGET_ARCH}" == "sparc64" - --with-cpu=ultrasparc \ - --with-long-double-128 \ -%endif -%if "%{TARGET_ARCH}" == "sparc" - --with-cpu=v8 \ - --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=z196 --with-arch=z10 \ - --with-long-double-128 \ - --enable-decimal-float \ -%endif -%if "%{TARGET_ARCH}" == "s390x" - --with-tune=z196 --with-arch=z10 \ - --with-long-double-128 \ - --enable-decimal-float \ -%endif - --build=%{GCCDIST} - - -%if 0%{?building_libffi:1} -make stage1-bubble $PARALLEL -make all-target-libffi $PARALLEL -%else -STAGE1_FLAGS="-g" -# Only run profiled bootstrap on archs where it works -#%ifarch %ix86 x86_64 ppc ppc64 ia64 -#make profiledbootstrap-lean STAGE1_CFLAGS="$STAGE1_FLAGS" BOOT_CFLAGS="$RPM_OPT_FLAGS" $PARALLEL -#%else -#make bootstrap-lean STAGE1_CFLAGS="$STAGE1_FLAGS" BOOT_CFLAGS="$RPM_OPT_FLAGS" $PARALLEL -make STAGE1_CFLAGS="$STAGE1_FLAGS" BOOT_CFLAGS="$RPM_OPT_FLAGS" $PARALLEL -#%endif -#make -C gcc proto -make info -%if 0%{?run_tests:1} -echo "Run testsuite" -(make -C %{GCCDIST}/libstdc++-v3 check-abi || true) -mv %{GCCDIST}/libstdc++-v3/testsuite/libstdc++.log %{GCCDIST}/libstdc++-v3/testsuite/libstdc++-abi.log -mv %{GCCDIST}/libstdc++-v3/testsuite/libstdc++.sum %{GCCDIST}/libstdc++-v3/testsuite/libstdc++-abi.sum -# asan needs a whole shadow address space -ulimit -v unlimited || true -make -k check $PARALLEL || true -mkdir ../testresults -../contrib/test_summary | tee ../testresults/test_summary.txt -%endif -%endif - -%install -export NO_BRP_CHECK_BYTECODE_VERSION=true -cd obj-%{GCCDIST} -# Work around tail/head -1 changes -export _POSIX2_VERSION=199209 -export LIBRARY_PATH=$RPM_BUILD_ROOT%{libsubdir}:$RPM_BUILD_ROOT%{mainlibdirbi} -%if 0%{?building_libffi:1} -make -C %{GCCDIST}/libffi install DESTDIR=$RPM_BUILD_ROOT -%else -%if 0%{?building_libjava:1} -make -C %{GCCDIST}/libjava install DESTDIR=$RPM_BUILD_ROOT -make -C gcc java.install-man DESTDIR=$RPM_BUILD_ROOT -make -C gcc java.install-common DESTDIR=$RPM_BUILD_ROOT -make -C gcc install-common DESTDIR=$RPM_BUILD_ROOT COMPILERS='jc1$(exeext) jvgenmain$(exeext)' -# install-common also installs collect2, gcov and the g++ and gfortran driver -%if %{build_cp} -rm $RPM_BUILD_ROOT%{_prefix}/bin/g++%{binsuffix} -%endif -%if %{build_fortran} -rm $RPM_BUILD_ROOT%{_prefix}/bin/gfortran%{binsuffix} -%endif -rm $RPM_BUILD_ROOT%{_prefix}/bin/gcov%{binsuffix} -rm $RPM_BUILD_ROOT%{libsubdir}/collect2 -%else -make install DESTDIR=$RPM_BUILD_ROOT -%if %{build_java} -make -C gcc java.uninstall DESTDIR=$RPM_BUILD_ROOT -make -C gcc java.install-info DESTDIR=$RPM_BUILD_ROOT -rm $RPM_BUILD_ROOT%{_prefix}/bin/jcf-dump%{binsuffix} -rm $RPM_BUILD_ROOT%{_mandir}/man1/jcf-dump%{binsuffix}.1 -rm $RPM_BUILD_ROOT%{libsubdir}/jc1 -rm $RPM_BUILD_ROOT%{libsubdir}/jvgenmain -%endif -%endif -%endif - -# Remove libffi installed files if we did not want to build it -%if !0%{?building_libffi:1} -rm -f $RPM_BUILD_ROOT%{mainlibdir}/libffi.* -%if %{biarch} - rm -f $RPM_BUILD_ROOT%{mainlibdirbi}/libffi.* -%endif -rm -f $RPM_BUILD_ROOT%{libsubdir}/include/ffi.h -rm -f $RPM_BUILD_ROOT%{libsubdir}/include/ffitarget.h -rm -f $RPM_BUILD_ROOT%{_mandir}/man3/ffi%{binsuffix}.3* -rm -f $RPM_BUILD_ROOT%{_mandir}/man3/ffi_call%{binsuffix}.3* -rm -f $RPM_BUILD_ROOT%{_mandir}/man3/ffi_prep_cif%{binsuffix}.3* -rm -f $RPM_BUILD_ROOT%{_mandir}/man3/ffi_prep_cif_var%{binsuffix}.3* -%endif - -# Remove some useless .la files -for lib in libobjc libgfortran libgfortranbegin libquadmath libcaf_single \ - libmudflap libmudflapth libgomp libstdc++ libsupc++ libgcj-tools libgij \ - libasan libatomic libitm libtsan; do - rm -f $RPM_BUILD_ROOT%{versmainlibdir}/$lib.la -%if %{biarch} - rm -f $RPM_BUILD_ROOT%{versmainlibdirbi}/$lib.la -%endif -done - -mkdir -p $RPM_BUILD_ROOT%{_libdir} -%if %{biarch} -%if %{build_primary_64bit} -mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib -%else -mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib64 -%endif -%endif - - -%if %{build_ada} -mv $RPM_BUILD_ROOT%{libsubdir}/adalib/lib*-*.so $RPM_BUILD_ROOT%{_libdir} -ln -sf %{_libdir}/libgnarl%{binsuffix}.so $RPM_BUILD_ROOT%{libsubdir}/adalib/libgnarl.so -ln -sf %{_libdir}/libgnat%{binsuffix}.so $RPM_BUILD_ROOT%{libsubdir}/adalib/libgnat.so -chmod a+x $RPM_BUILD_ROOT%{_libdir}/libgna*-*.so -%if %{biarch} -mv $RPM_BUILD_ROOT%{versmainlibdirbi}/adalib/lib*-*.so $RPM_BUILD_ROOT%{mainlibdirbi}/ -ln -sf %{mainlibdirbi}/libgnarl%{binsuffix}.so $RPM_BUILD_ROOT%{versmainlibdirbi}/adalib/libgnarl.so -ln -sf %{mainlibdirbi}/libgnat%{binsuffix}.so $RPM_BUILD_ROOT%{versmainlibdirbi}/adalib/libgnarl.so -chmod a+x $RPM_BUILD_ROOT%{mainlibdirbi}/libgna*-*.so -%endif -%endif - -rm -f $RPM_BUILD_ROOT%{_prefix}/bin/c++%{binsuffix} - -# Remove some crap from the .la files: -for l in `find $RPM_BUILD_ROOT -name '*.la'`; do - echo "changing $l" -# -e '/^dependency_libs/s|%{libsubdir}/\([^.]*\)\.la |%{_libdir}/\1\.la |g' - sed -e '/^dependency_libs/s| -L%{_builddir}/[^ ]*||g' \ - -e '/^dependency_libs/s| -L/usr/%{GCCDIST}/bin||g' \ - -e '/^dependency_libs/s|-lm \(-lm \)*|-lm |' \ - -e '/^dependency_libs/s|-L[^ ]* ||g' \ -%if %{biarch} -%if %{build_primary_64bit} - -e '/^libdir/s|%{_libdir}/32|%{_prefix}/lib|' \ - -e '/^libdir/s|lib64/\.\./||' \ -%else - -e '/^libdir/s|%{_libdir}/64|%{_prefix}/lib64|' \ -%endif -%endif - < $l > $l.new - mv $l.new $l -done - -%if 0%{?run_tests:1} -cp `find . -name "*.sum"` ../testresults/ -cp `find . -name "*.log" \! -name "config.log" | grep -v 'acats.\?/tests' ` ../testresults/ -chmod 644 ../testresults/* -%endif -# Remove files that we do not need to clean up filelist -rm -f $RPM_BUILD_ROOT%{_prefix}/bin/%{GCCDIST}-* -rm -rf $RPM_BUILD_ROOT%{libsubdir}/install-tools -#rm -rf $RPM_BUILD_ROOT%{_libdir}/pkgconfig/libgcj%{binsuffix}.pc -rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/root -rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/curses.h -rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/asm-* -rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/linux -rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/sound -rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/features.h -rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/ncurses.h -rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/stdio.h -rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/zutil.h -rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/X11 -rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/bits -rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/obstack.h -rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/spe.h -rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/tgmath.h -rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/bits -rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/sys -# no plugins -rm -rf $RPM_BUILD_ROOT%{libsubdir}/plugin -rm -f $RPM_BUILD_ROOT%{_infodir}/dir -rm -f $RPM_BUILD_ROOT%{_prefix}/bin/gccbug%{binsuffix} - -%if !0%{?building_libjava:1}%{?building_libffi:1} -# delete compile flag tracking from crt files -crt_list=$RPM_BUILD_ROOT%{versmainlibdir}/crt*.o -%if %{biarch} -%if %{build_primary_64bit} -crt32_list=$RPM_BUILD_ROOT%{versmainlibdirbi32}/crt*.o -%else -crt64_list=$RPM_BUILD_ROOT%{versmainlibdirbi64}/crt*.o -%endif -%endif -for o in $crt_list $crt32_list $crt64_list; do - objcopy -R ".comment.SUSE.OPTs" $o -done -%endif - -%if 0%{?building_libjava:1} -# gcj -static doesn't work properly anyway, unless using --whole-archive -# let's save the space instead. -find $RPM_BUILD_ROOT -name libgcj.a \ - -o -name libgcj-tools.a \ - -o -name libgij.a \ - -o -name libjvm.a \ - -o -name libgcj_bc.a \ - | xargs rm -f - -find $RPM_BUILD_ROOT -name libgcj.spec | xargs \ - sed -i -e 's/lib: /&%%{static:%%eJava programs cannot be linked statically}/' - -# security files have broken install locations, also they cause conflicts -# between libgcj versions. Simply delete them here, libgcj will use its -# defaults in this case (which is what these files contain anyway). -rm $RPM_BUILD_ROOT%{_libdir}/logging.properties -rm -r $RPM_BUILD_ROOT%{_libdir}/security -%endif - -%if 0%{?building_libffi:1} -# Move libffi headers, remove empty libffi libtool file -mkdir -p $RPM_BUILD_ROOT%{_prefix}/include -mv $RPM_BUILD_ROOT%{libsubdir}/include/ffitarget.h $RPM_BUILD_ROOT%{_prefix}/include/ -mv $RPM_BUILD_ROOT%{libsubdir}/include/ffi.h $RPM_BUILD_ROOT%{_prefix}/include/ -rm -f $RPM_BUILD_ROOT%{mainlibdir}/libffi.la -%if %{biarch} -rm -f $RPM_BUILD_ROOT%{mainlibdirbi}/libffi.la -%endif -# Generate a simple pkg-config file -mkdir -p $RPM_BUILD_ROOT%{_libdir}/pkgconfig -echo -e 'Name: libffi\nVersion: 3.0.9\nDescription: libffi\nLibs: -lffi' > $RPM_BUILD_ROOT%{_libdir}/pkgconfig/libffi.pc -%endif - -%if %{build_java} -%if !%{build_libjava} -rm $RPM_BUILD_ROOT%{_mandir}/man1/jv-convert%{binsuffix}.1 -rm $RPM_BUILD_ROOT%{_mandir}/man1/gcj-dbtool%{binsuffix}.1 -rm $RPM_BUILD_ROOT%{_mandir}/man1/gij%{binsuffix}.1 -rm $RPM_BUILD_ROOT%{_mandir}/man1/grmic%{binsuffix}.1 -rm $RPM_BUILD_ROOT%{_mandir}/man1/gc-analyze%{binsuffix}.1 -rm $RPM_BUILD_ROOT%{_mandir}/man1/aot-compile%{binsuffix}.1 -rm $RPM_BUILD_ROOT%{_mandir}/man1/rebuild-gcj-db%{binsuffix}.1 -%endif -rm -f $RPM_BUILD_ROOT%{_datadir}/gcc%{binsuffix}/python/libjava/aotcompile.py -rm -f $RPM_BUILD_ROOT%{_datadir}/gcc%{binsuffix}/python/libjava/classfile.py -%endif -rm -f $RPM_BUILD_ROOT%{_mandir}/man7/fsf-funding.7 -rm -f $RPM_BUILD_ROOT%{_mandir}/man7/gfdl.7 -rm -f $RPM_BUILD_ROOT%{_mandir}/man7/gpl.7 -rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a -%if %{biarch} -%if %{build_primary_64bit} -rm -f $RPM_BUILD_ROOT%{_prefix}/lib/libiberty.a -%else -rm -f $RPM_BUILD_ROOT%{_prefix}/lib64/libiberty.a -%endif -%endif -rm -f $RPM_BUILD_ROOT%{libsubdir}/liblto_plugin.a -rm -f $RPM_BUILD_ROOT%{libsubdir}/liblto_plugin.la - - -%if %{build_java} -%if 0%{?building_libffi:1} -%files -n libffi%{libffi_sover}%{libffi_suffix} -%manifest gcc.manifest -%defattr(-,root,root) -%mainlib libffi.so.%{libffi_sover}* - -%if %{separate_biarch} -%files -n libffi%{libffi_sover}%{libffi_suffix}%{separate_biarch_suffix} -%manifest gcc.manifest -%defattr(-,root,root) -%biarchlib libffi.so.%{libffi_sover}* -%endif - -%post -n libffi48-devel -%install_info --info-dir=%{_infodir} %{_infodir}/libffi%{binsuffix}.info.gz -%postun -n libffi48-devel -%install_info_delete --info-dir=%{_infodir} %{_infodir}/libffi%{binsuffix}.info.gz - -%files -n libffi48-devel -%manifest gcc.manifest -%defattr(-,root,root) -%{_prefix}/include/ffi.h -%{_prefix}/include/ffitarget.h -%mainlib libffi.so -%mainlib libffi.a -%{_libdir}/pkgconfig/libffi.pc -%doc %{_infodir}/libffi%{binsuffix}.info.gz -%doc %{_mandir}/man3/ffi%{binsuffix}.3.gz -%doc %{_mandir}/man3/ffi_call%{binsuffix}.3.gz -%doc %{_mandir}/man3/ffi_prep_cif%{binsuffix}.3.gz -%doc %{_mandir}/man3/ffi_prep_cif_var%{binsuffix}.3.gz - -%if %{separate_biarch} -%files -n libffi48-devel%{separate_biarch_suffix} -%manifest gcc.manifest -%defattr(-,root,root) -%biarchlib libffi.so -%biarchlib libffi.a -%endif -%endif -%endif - -%if 0%{?run_tests:1} -%files -n gcc48-testresults -%manifest gcc.manifest -%defattr(-,root,root) -%doc testresults/test_summary.txt -%doc testresults/*.sum -%doc testresults/*.log -%endif - - -%changelog diff --git a/packaging/libgcj48-rpmlintrc b/packaging/libgcj48-rpmlintrc deleted file mode 100644 index 5089f7e..0000000 --- a/packaging/libgcj48-rpmlintrc +++ /dev/null @@ -1,4 +0,0 @@ -# This line is mandatory to access the configuration functions -from Config import * - -addFilter ("libgcj_bc47.*shlib-policy-name-error") diff --git a/packaging/libgcj48.changes b/packaging/libgcj48.changes deleted file mode 100644 index 9021e57..0000000 --- a/packaging/libgcj48.changes +++ /dev/null @@ -1,30 +0,0 @@ -* Mon Nov 18 2013 Junfeng Dong upstream/4.8.2@aa6579d -- Update to 4.8.2. -- change the sysroot and c++ include path to fix the bugs the application cannot find the libraries. -- change the minimum requrired value for sysroot_len to 1 in case of identifying sysroot=/ -- disable fortran, ojbc and objcp to reduce 35% build time of gcc -- add the arm architecture in the %asan_arch macro to support address sanitizer -- Porting of address santizer patch for ARM from gcc-4.9 -- set thumb as as default option for armv7l-gcc because thumb becomes default since armv7l architecture -- create the collect2 utility for cross toolchain -- set gcc_dir_version - -* Fri Aug 02 2013 Junfeng Dong upstream/4.8.1@4dd5760 -- Correct gcc config option on armv7l. - -* Wed Jul 31 2013 Junfeng Dong upstream/4.8.1@ebfcd37 -- Satisfied gbs and fix the wrong build target of cross gcc. -- add cross-armv7l-gcc48-icecream-backend.spec. - -* Sat May 11 2013 Anas Nashif submit/tizen/20130509.175139@0f4d31d -- Set license using %license - -* Fri Mar 22 2013 Anas Nashif submit/trunk/20130319.040552@a5384b4 -- Fixed package groups - -* Mon Mar 18 2013 Anas Nashif submit/trunk/20130114.165653@eaa2945 -- Fixed package groups - -* Mon Jan 14 2013 Anas Nashif upstream/4.7.2@6cea208 -- Package info files correctly - diff --git a/packaging/libgcj48.spec b/packaging/libgcj48.spec deleted file mode 100644 index f25708a..0000000 --- a/packaging/libgcj48.spec +++ /dev/null @@ -1,1291 +0,0 @@ -%define building_libjava 1 -# -# spec file for package gcc48 -# -# 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 -# icecream 0 - - -%define build_ada 0 - -%define quadmath_arch %ix86 x86_64 ia64 -%define tsan_arch x86_64 -%define asan_arch x86_64 %ix86 ppc ppc64 %arm -%define itm_arch x86_64 %ix86 %arm ppc ppc64 -%define atomic_arch x86_64 %ix86 %arm ppc ppc64 s390 s390x - -# We don't want to build java -%define build_java 0 -%define build_libjava 0 - -%define build_cp 1 -%define build_fortran 0%{?building_libjava:1}%{?building_libffi:1} -%define build_objc 0%{?building_libjava:1}%{?building_libffi:1} -%define build_objcp 0%{?building_libjava:1}%{?building_libffi:1} -%define build_with_mudflap 0 - -%if %{build_objcp} -%define build_cp 1 -%define build_objc 1 -%endif - -%if %{build_libjava} -%define build_cp 1 -%endif - -# For optional compilers only build C, C++ and Fortran -%if 0%{?build_optional_compiler_languages:1} -%define build_ada 0 -%define build_java 0 -%define build_libjava 0 -%define build_objc 0 -%define build_objcp 0 -%endif - -# Shared library SONAME versions -%define libgcc_s 1 -%define libgcj_sover %{nil} -%define libgcj_bc_sover %{nil} -%define libffi_sover %{nil} -%define libmudflap_sover %{nil} -%define libgomp_sover %{nil} -%define libstdcxx_sover %{nil} -%define libobjc_sover %{nil} -%define libgfortran_sover %{nil} -%define libquadmath_sover %{nil} -%define libasan_sover %{nil} -%define libtsan_sover %{nil} -%define libatomic_sover %{nil} -%define libitm_sover %{nil} - -# Shared library package suffix -# This is used for the "non-standard" set of libraries, the standard -# being defined by %product_libs_gcc_ver, the GCC version that should -# provide un-suffixed shared library packages following the shared-library -# policy. Even suffixed variants should provide the shared-library policy -# mandated names and ensure they conflict with each other. -# Note that on SONAME changes of any library the %product_libs_gcc_ver -# define needs to be either split or the newest GCC version still providing -# the old SONAME needs to unconditionally produce an un-suffixed library -# if %product_libs_gcc_ver is newer than it. Similar the _oldest_ GCC -# version first providing a new SONAME needs to unconditionally produce -# an un-suffixed library if %product_libs_gcc_ver is lower that it. -%if %{!?product_libs_gcc_ver:48}%{?product_libs_gcc_ver} != 48 -%define pne 1 -%endif -%define libgcc_s_suffix %{?pne:-gcc48} -# libgcj SONAME changes with every GCC version -%define libgcj_suffix %nil -%define libgcj_bc_suffix %{?pne:-gcc48} -%define libffi_suffix %{?pne:-gcc48} -%define libmudflap_suffix %{?pne:-gcc48} -%define libgomp_suffix %{?pne:-gcc48} -%define libstdcxx_suffix %{?pne:-gcc48} -%define libobjc_suffix %{?pne:-gcc48} -%define libgfortran_suffix %{?pne:-gcc48} -%define libquadmath_suffix %{?pne:-gcc48} -%define libasan_suffix %{?pne:-gcc48} -%define libtsan_suffix %{?pne:-gcc48} -%define libatomic_suffix %{?pne:-gcc48} -%define libitm_suffix %{?pne:-gcc48} - - - - -Name: libgcj48 -BuildRequires: gcc-c++ -BuildRequires: bison -BuildRequires: flex -BuildRequires: glibc-devel-32bit -BuildRequires: mpc-devel -BuildRequires: mpfr-devel -BuildRequires: perl -BuildRequires: makeinfo -BuildRequires: zlib-devel -%ifarch %ix86 x86_64 ppc ppc64 s390 s390x ia64 %sparc hppa %arm -BuildRequires: cloog-isl-devel -BuildRequires: isl-devel -%endif -%if %{build_ada} -%define hostsuffix -4.7 -BuildRequires: gcc47-ada -%endif -%if 0%{?building_libjava:1}%{?building_testsuite:1} -BuildRequires: fastjar -%endif -%if 0%{?building_libffi:1} -BuildRequires: pkg-config -%endif -%ifarch ia64 -BuildRequires: libunwind-devel -%endif -%if 0%{?run_tests:1} -BuildRequires: dejagnu -BuildRequires: expect -BuildRequires: gdb -%endif - -%define separate_bi32 0 -%define separate_bi64 0 -%ifarch ppc sparcv9 -# Beware, this does _not_ separate libgcj, as for that one multilibing -# is inactive for the time being -%define separate_bi64 1 -%endif -%ifarch x86_64 s390x ppc64 sparc64 -%define separate_bi32 1 -%endif - -# Define two macros to trigger -32bit or -64bit package variants -%define separate_biarch 0 -%if %{separate_bi32} -%define separate_biarch 1 -%define separate_biarch_suffix -32bit -%endif -%if %{separate_bi64} -%define separate_biarch 1 -%define separate_biarch_suffix -64bit -%endif - -%ifarch x86_64 ia64 s390x alpha ppc64 sparc64 -# 64-bit is primary build target -%define build_primary_64bit 1 -%else -%define build_primary_64bit 0 -%endif - -%define biarch_libjava 0 - -%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 - -URL: http://gcc.gnu.org/ -Version: 4.8.2 -Release: 1 -%define gcc_dir_version 4.8 -%define binsuffix -4.8 - -%if !0%{?building_libjava:1}%{?building_libffi:1}%{?building_testsuite:1} -Requires: binutils glibc-devel -Requires: cpp48 = %{version}-%{release} -Requires: libgcc_s%{libgcc_s} >= %{version}-%{release} -Requires: libgomp%{libgomp_sover} >= %{version}-%{release} -%if %{build_with_mudflap} -Requires: libmudflap%{libmudflap_sover} >= %{version}-%{release} -Requires: libmudflapth%{libmudflap_sover} >= %{version}-%{release} -%endif -%ifarch %asan_arch -Requires: libasan%{libasan_sover} >= %{version}-%{release} -%endif -%ifarch %tsan_arch -Requires: libtsan%{libtsan_sover} >= %{version}-%{release} -%endif -%ifarch %atomic_arch -Requires: libatomic%{libatomic_sover} >= %{version}-%{release} -%endif -%ifarch %itm_arch -Requires: libitm%{libitm_sover} >= %{version}-%{release} -%endif -Suggests: gcc48-info gcc48-locale -%endif - -BuildRoot: %{_tmppath}/%{name}-%{version}-build -Source: gcc-%{version}.tar.bz2 -Source1: change_spec -Source3: gcc48-rpmlintrc -Source4: ecj.jar -Source6: baselibs.conf -Source1001: gcc.manifest - - -Summary: Java Runtime Library for gcc -License: GPL-2.0-with-classpath-exception -Group: System/Libraries - -%description -This library is needed if you want to use the GNU Java compiler, gcj. -Source code for this package is in gcc. - -%post -/sbin/ldconfig - -%postun -/sbin/ldconfig - - -%package -n gcc48-java -Summary: The GNU Java Compiler -License: GPL-3.0+ -Requires: gcc48 = %{version} -Requires: libgcj48-devel = %{version}-%{release} - -%description -n gcc48-java -The Java compiler from the GCC-tools-suite. - - -%package -n libgcj_bc%{libgcj_bc_sover}%{libgcj_bc_suffix} -Summary: Fake library for BC-ABI compatibility. -License: GPL-2.0-with-classpath-exception -# libgcj_bc is special in that it just contains a symlink to -# a proper libgcj version. So require that library and add -# provides for the shlib version as created at link time -Requires: libgcj%{libgcj_sover} >= %{version}-%{release} -%ifarch x86_64 ia64 ppc64 s390x sparc64 aarch64 -Provides: libgcj_bc.so.%{libgcj_bc_sover}()(64bit) -%else -Provides: libgcj_bc.so.%{libgcj_bc_sover} -%endif - -%description -n libgcj_bc%{libgcj_bc_sover}%{libgcj_bc_suffix} -A fake library that is used at link time only. It ensures that -binaries built with the BC-ABI link against a constant SONAME. -This way, BC-ABI binaries continue to work if the SONAME underlying -libgcj.so changes. - - -%package -n libgcj48-jar -Summary: Java runtime library (jar files). -License: GPL-2.0-with-classpath-exception - -%description -n libgcj48-jar -These are the jar files that go along with the gcj front end to gcc. - - -%package -n libgcj48-devel -Summary: Include Files and Libraries mandatory for Development. -License: GPL-2.0-with-classpath-exception -Requires: libstdc++48-devel = %{version} -Requires: libgcj%{libgcj_sover} >= %{version}-%{release} -Requires: libgcj_bc%{libgcj_bc_sover} >= %{version}-%{release} -Requires: libgcj48-jar = %{version}-%{release} -Requires: gtk2-devel -Requires: libart_lgpl-devel -Requires: glibc-devel -Requires: zlib-devel -%ifarch ia64 -Requires: libunwind-devel -%endif - -%description -n libgcj48-devel -This package contains all necessary include files and libraries needed -to develop applications that require these. - - -%package -n gcc48-gij -Summary: Java Bytecode Interpreter for gcc -License: GPL-2.0-with-classpath-exception -Requires: libgcj%{libgcj_sover} >= %{version}-%{release} - -%description -n gcc48-gij -This package contains the java bytecode interpreter gij and related tools. - -%package -n libffi%{libffi_sover}%{libffi_suffix} -Summary: Foreign Function Interface library -License: BSD-3-Clause - -%description -n libffi%{libffi_sover}%{libffi_suffix} -A foreign function interface is the popular name for the interface that allows code written in one language to call code written in another language. - -%post -n libffi%{libffi_sover}%{libffi_suffix} -/sbin/ldconfig - -%postun -n libffi%{libffi_sover}%{libffi_suffix} -/sbin/ldconfig -%package -n libffi%{libffi_sover}%{libffi_suffix}-32bit -Summary: Foreign Function Interface library -License: BSD-3-Clause - -%description -n libffi%{libffi_sover}%{libffi_suffix}-32bit -A foreign function interface is the popular name for the interface that allows code written in one language to call code written in another language. - -%post -n libffi%{libffi_sover}%{libffi_suffix}-32bit -/sbin/ldconfig - -%postun -n libffi%{libffi_sover}%{libffi_suffix}-32bit -/sbin/ldconfig -%package -n libffi%{libffi_sover}%{libffi_suffix}-64bit -Summary: Foreign Function Interface library -License: BSD-3-Clause - -%description -n libffi%{libffi_sover}%{libffi_suffix}-64bit -A foreign function interface is the popular name for the interface that allows code written in one language to call code written in another language. - -%post -n libffi%{libffi_sover}%{libffi_suffix}-64bit -/sbin/ldconfig - -%postun -n libffi%{libffi_sover}%{libffi_suffix}-64bit -/sbin/ldconfig - -%package -n libffi48-devel -Summary: Foreign Function Interface library development files -License: BSD 3-Clause -Requires: libffi%{libffi_sover} >= %{version}-%{release} - -%description -n libffi48-devel -A foreign function interface is the popular name for the interface that allows code written in one language to call code written in another language. -%package -n libffi48-devel-32bit -Summary: Foreign Function Interface library development files -License: BSD 3-Clause -Requires: libffi%{libffi_sover}-32bit >= %{version}-%{release} - -%description -n libffi48-devel-32bit -A foreign function interface is the popular name for the interface that allows code written in one language to call code written in another language. -%package -n libffi48-devel-64bit -Summary: Foreign Function Interface library development files -License: BSD 3-Clause -Requires: libffi%{libffi_sover}-64bit >= %{version}-%{release} - -%description -n libffi48-devel-64bit -A foreign function interface is the popular name for the interface that allows code written in one language to call code written in another language. - -%package -n gcc48-testresults -Summary: Testsuite results -License: SUSE-Public-Domain - -%description -n gcc48-testresults -Results from running the gcc and target library testsuites. - - - -# Define the canonical target and host architecture -# %gcc_target_arch is supposed to be the full target triple -# %TARGET_ARCH is the canonicalized CPU part -# %CONFIGURE_TARGET is the target triple used for --target= -%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/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;") -%if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "powerpc" -%define CONFIGURE_TARGET powerpc64-tizen-linux -%endif -%if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "powerpc64" -%define CONFIGURE_TARGET powerpc64-tizen-linux -%endif -%if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "i586" -%define CONFIGURE_TARGET i586-tizen-linux -%endif -%if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "armv7l" -%define CONFIGURE_TARGET armv7l-tizen-linux-gnueabi -%endif -%if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "armv7hl" -%define CONFIGURE_TARGET armv7hl-tizen-linux-gnueabi -%endif -%if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "armv5tel" -%define CONFIGURE_TARGET armv5tel-tizen-linux-gnueabi -%endif -%else -%define TARGET_ARCH %(echo %{_target_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;") -%endif -%define HOST_ARCH %(echo %{_host_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;") - -%define biarch %(case " %{biarch_targets} " in (*" %{TARGET_ARCH} "*) echo 1;; (*) echo 0;; esac) - -%ifarch ppc -%define GCCDIST powerpc64-tizen-linux -%else -%ifarch %sparc -%define GCCDIST sparc64-tizen-linux -%else -%ifarch %arm -%define GCCDIST %{HOST_ARCH}-tizen-linux-gnueabi -%else -%define GCCDIST %{HOST_ARCH}-tizen-linux -%endif -%endif -%endif - -%define libsubdir %{_libdir}/gcc/%{GCCDIST}/%{gcc_dir_version} -%define gxxinclude %{_prefix}/include/c++/%{gcc_dir_version} - - -# Versionspecific directories -%define versmainlibdir %{libsubdir} -%define versmainlibdirbi32 %{libsubdir}/32 -%define versmainlibdirbi64 %{libsubdir}/64 -%ifarch ppc -%define versmainlibdirbi32 %{libsubdir} -%define versmainlibdirbi64 %{libsubdir}/64 -%endif -%if %{build_primary_64bit} -%define versmainlibdirbi %{versmainlibdirbi32} -%else -%define versmainlibdirbi %{versmainlibdirbi64} -%endif - -%define mainlibdir %{_libdir} -%define mainlibdirbi32 %{_prefix}/lib -%define mainlibdirbi64 %{_prefix}/lib64 -%if %{build_primary_64bit} -%define mainlibdirbi %{mainlibdirbi32} -%else -%define mainlibdirbi %{mainlibdirbi64} -%endif - - -# Now define a few macros that make it easy to package libs and -# related files just to the right package, without caring for the -# exact path the files are in. -# %mainlib package X from all dirs that belong to the main package -# %biarchlib package X from all dirs that belong to the -32/64bit package -%define mainlib() %{mainlibdir}/%1\ -%{nil} -%define biarchlib() %{nil} -%if %{biarch} -%if !%{separate_biarch} -%define mainlib() %{mainlibdir}/%1\ -%{mainlibdirbi}/%1\ -%{nil} -%else -%define biarchlib() %{mainlibdirbi}/%1\ -%{nil} -%endif -%endif - -%define versmainlib() %{versmainlibdir}/%1\ -%{nil} -%define versbiarchlib() %{nil} -%if %{biarch} -%if !%{separate_biarch} -%define versmainlib() %{versmainlibdir}/%1\ -%{versmainlibdirbi}/%1\ -%{nil} -%else -%define versbiarchlib() %{versmainlibdirbi}/%1\ -%{nil} -%endif -%endif - - - -%prep -%setup -q -n gcc-%{version} -cp %{SOURCE1001} . - - -# We are configuring ppc as ppc64 but with switched multilibs. Adjust -# the libstdc++ abi testsuite baseline files accordingly -%ifarch ppc -if [ -d libstdc++-v3/config/abi/post/powerpc64-linux-gnu ]; then - mkdir -p libstdc++-v3/config/abi/post/powerpc64-linux-gnu/64 - mv libstdc++-v3/config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt \ - libstdc++-v3/config/abi/post/powerpc64-linux-gnu/64/ - mv libstdc++-v3/config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt \ - libstdc++-v3/config/abi/post/powerpc64-linux-gnu/ -fi -%endif - -%build -# Avoid rebuilding of generated files -contrib/gcc_update --touch -# Avoid fucking up testsuite results with Java and indirect dispatch -export LD_AS_NEEDED=0 -# 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" - -# 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-build-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 \ -%if "%{TARGET_ARCH}" == "armv7l" || "%{TARGET_ARCH}" == "armv7hl" -# temporary workaround for a miscompilation of hash functions in java code -GCJ_EXTRA_FLAGS="-marm" -%endif -CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" XCFLAGS="$RPM_OPT_FLAGS" \ -TCFLAGS="$RPM_OPT_FLAGS" GCJFLAGS="$RPM_OPT_FLAGS $GCJ_EXTRA_FLAGS" \ -../configure \ - --prefix=%{_prefix} \ - --infodir=%{_infodir} \ - --mandir=%{_mandir} \ - --libdir=%{_libdir} \ - --libexecdir=%{_libdir} \ - --disable-bootstrap \ - --enable-languages=$languages \ - $ENABLE_CHECKING \ - --with-gxx-include-dir=%{_prefix}/include/c++/%{gcc_dir_version} \ - --enable-ssp \ - --disable-libssp \ - --disable-plugin \ - --with-bugurl="http://bugs.tizen.org/" \ - --with-pkgversion="Tizen" \ -%if !%{build_fortran} - --disable-libquadmath \ -%endif -%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 \ - --disable-java-awt \ -%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 \ - --enable-linker-build-id \ -%if 0%{?gcc_target_arch:1} -%if 0%{?gcc_icecream:1} - --with-sysroot=/ \ - --with-gxx-include-dir=%{_prefix}/%{gcc_target_arch}%{?canonical_target_abi:%canonical_target_abi}/include/c++/%{gcc_dir_version} \ - --enable-linux-futex \ -%endif -%if 0%{?canonical_target:1} - --with-build-time-tools=/usr/%{canonical_target}-tizen-linux%{?canonical_target_abi:%canonical_target_abi}/bin \ -%endif -%if 0%{?sysroot:1} - --with-sysroot=%sysroot \ -%endif -%if 0%{?build_static:1} - --disable-shared \ -%endif -%if "%{TARGET_ARCH}" == "spu" - --with-gxx-include-dir=%sysroot/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}" == "armv5tel" - --with-arch=armv5te \ - --with-float=soft \ - --with-mode=arm \ - --with-abi=aapcs-linux \ - --disable-sjlj-exceptions \ -%endif -%if "%{TARGET_ARCH}" == "armv7l" - --with-arch=armv7-a \ - --with-tune=cortex-a8 \ - --with-float=softfp \ - --with-fpu=vfpv3 \ - --with-mode=thumb \ - --disable-sjlj-exceptions \ -%endif -%if "%{TARGET_ARCH}" == "armv7hl" - --with-arch=armv7-a \ - --with-tune=cortex-a9 \ - --with-float=hard \ - --with-abi=aapcs-linux \ - --with-fpu=vfpv3-d16 \ - --disable-sjlj-exceptions \ -%endif -%if "%{TARGET_ARCH}" == "powerpc" || "%{TARGET_ARCH}" == "powerpc64" -%if "%{TARGET_ARCH}" == "powerpc" - --with-cpu=default32 \ -%endif - --with-cpu-64=power4 \ - --enable-secureplt \ - --with-long-double-128 \ -%endif -%if "%{TARGET_ARCH}" == "sparc64" - --with-cpu=ultrasparc \ - --with-long-double-128 \ -%endif -%if "%{TARGET_ARCH}" == "sparc" - --with-cpu=v8 \ - --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=z196 --with-arch=z10 \ - --with-long-double-128 \ - --enable-decimal-float \ -%endif -%if "%{TARGET_ARCH}" == "s390x" - --with-tune=z196 --with-arch=z10 \ - --with-long-double-128 \ - --enable-decimal-float \ -%endif - --build=%{GCCDIST} - - -%if 0%{?building_libffi:1} -make stage1-bubble $PARALLEL -make all-target-libffi $PARALLEL -%else -STAGE1_FLAGS="-g" -# Only run profiled bootstrap on archs where it works -#%ifarch %ix86 x86_64 ppc ppc64 ia64 -#make profiledbootstrap-lean STAGE1_CFLAGS="$STAGE1_FLAGS" BOOT_CFLAGS="$RPM_OPT_FLAGS" $PARALLEL -#%else -#make bootstrap-lean STAGE1_CFLAGS="$STAGE1_FLAGS" BOOT_CFLAGS="$RPM_OPT_FLAGS" $PARALLEL -make STAGE1_CFLAGS="$STAGE1_FLAGS" BOOT_CFLAGS="$RPM_OPT_FLAGS" $PARALLEL -#%endif -#make -C gcc proto -make info -%if 0%{?run_tests:1} -echo "Run testsuite" -(make -C %{GCCDIST}/libstdc++-v3 check-abi || true) -mv %{GCCDIST}/libstdc++-v3/testsuite/libstdc++.log %{GCCDIST}/libstdc++-v3/testsuite/libstdc++-abi.log -mv %{GCCDIST}/libstdc++-v3/testsuite/libstdc++.sum %{GCCDIST}/libstdc++-v3/testsuite/libstdc++-abi.sum -# asan needs a whole shadow address space -ulimit -v unlimited || true -make -k check $PARALLEL || true -mkdir ../testresults -../contrib/test_summary | tee ../testresults/test_summary.txt -%endif -%endif - -%install -export NO_BRP_CHECK_BYTECODE_VERSION=true -cd obj-%{GCCDIST} -# Work around tail/head -1 changes -export _POSIX2_VERSION=199209 -export LIBRARY_PATH=$RPM_BUILD_ROOT%{libsubdir}:$RPM_BUILD_ROOT%{mainlibdirbi} -%if 0%{?building_libffi:1} -make -C %{GCCDIST}/libffi install DESTDIR=$RPM_BUILD_ROOT -%else -%if 0%{?building_libjava:1} -make -C %{GCCDIST}/libjava install DESTDIR=$RPM_BUILD_ROOT -make -C gcc java.install-man DESTDIR=$RPM_BUILD_ROOT -make -C gcc java.install-common DESTDIR=$RPM_BUILD_ROOT -make -C gcc install-common DESTDIR=$RPM_BUILD_ROOT COMPILERS='jc1$(exeext) jvgenmain$(exeext)' -# install-common also installs collect2, gcov and the g++ and gfortran driver -%if %{build_cp} -rm $RPM_BUILD_ROOT%{_prefix}/bin/g++%{binsuffix} -%endif -%if %{build_fortran} -rm $RPM_BUILD_ROOT%{_prefix}/bin/gfortran%{binsuffix} -%endif -rm $RPM_BUILD_ROOT%{_prefix}/bin/gcov%{binsuffix} -rm $RPM_BUILD_ROOT%{libsubdir}/collect2 -%else -make install DESTDIR=$RPM_BUILD_ROOT -%if %{build_java} -make -C gcc java.uninstall DESTDIR=$RPM_BUILD_ROOT -make -C gcc java.install-info DESTDIR=$RPM_BUILD_ROOT -rm $RPM_BUILD_ROOT%{_prefix}/bin/jcf-dump%{binsuffix} -rm $RPM_BUILD_ROOT%{_mandir}/man1/jcf-dump%{binsuffix}.1 -rm $RPM_BUILD_ROOT%{libsubdir}/jc1 -rm $RPM_BUILD_ROOT%{libsubdir}/jvgenmain -%endif -%endif -%endif - -# Remove libffi installed files if we did not want to build it -%if !0%{?building_libffi:1} -rm -f $RPM_BUILD_ROOT%{mainlibdir}/libffi.* -%if %{biarch} - rm -f $RPM_BUILD_ROOT%{mainlibdirbi}/libffi.* -%endif -rm -f $RPM_BUILD_ROOT%{libsubdir}/include/ffi.h -rm -f $RPM_BUILD_ROOT%{libsubdir}/include/ffitarget.h -rm -f $RPM_BUILD_ROOT%{_mandir}/man3/ffi%{binsuffix}.3* -rm -f $RPM_BUILD_ROOT%{_mandir}/man3/ffi_call%{binsuffix}.3* -rm -f $RPM_BUILD_ROOT%{_mandir}/man3/ffi_prep_cif%{binsuffix}.3* -rm -f $RPM_BUILD_ROOT%{_mandir}/man3/ffi_prep_cif_var%{binsuffix}.3* -%endif - -# Remove some useless .la files -for lib in libobjc libgfortran libgfortranbegin libquadmath libcaf_single \ - libmudflap libmudflapth libgomp libstdc++ libsupc++ libgcj-tools libgij \ - libasan libatomic libitm libtsan; do - rm -f $RPM_BUILD_ROOT%{versmainlibdir}/$lib.la -%if %{biarch} - rm -f $RPM_BUILD_ROOT%{versmainlibdirbi}/$lib.la -%endif -done - -mkdir -p $RPM_BUILD_ROOT%{_libdir} -%if %{biarch} -%if %{build_primary_64bit} -mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib -%else -mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib64 -%endif -%endif - - -# move shared libs from versionspecific dir to main libdir -for libname in \ -%if 0%{?building_libjava:1} - libgcj libgij libgcj-tools \ -%else -%if %{build_fortran} - libgfortran \ -%ifarch %quadmath_arch - libquadmath \ -%endif -%endif -%if %{build_objc} - libobjc \ -%endif -%if %{build_cp} - libstdc++ \ -%endif - libgomp \ -%ifarch %atomic_arch - libatomic \ -%endif -%ifarch %itm_arch - libitm \ -%endif -%ifarch %asan_arch - libasan \ -%endif -%ifarch %tsan_arch - libtsan \ -%endif -%if %{build_with_mudflap} - libmudflap libmudflapth \ -%endif -%endif - ; do - for lib in `find $RPM_BUILD_ROOT%{versmainlibdir} -maxdepth 1 -name $libname.so.*`; do - mv $lib $RPM_BUILD_ROOT%{mainlibdir}/ - done - ln -sf %{mainlibdir}/`readlink $RPM_BUILD_ROOT%{versmainlibdir}/$libname.so | sed -e 's/\(.*\.so\.[^\.]*\).*/\1/'` \ - $RPM_BUILD_ROOT%{versmainlibdir}/$libname.so -%if %{biarch} - if test -d $RPM_BUILD_ROOT%{versmainlibdirbi}; then - for lib in `find $RPM_BUILD_ROOT%{versmainlibdirbi} -maxdepth 1 -name "$libname.so.*"`; do - mv $lib $RPM_BUILD_ROOT%{mainlibdirbi}/ - done - ln -sf %{mainlibdirbi}/`readlink $RPM_BUILD_ROOT%{versmainlibdirbi}/$libname.so | sed -e 's/\(.*\.so\.[^\.]*\).*/\1/'` \ - $RPM_BUILD_ROOT%{versmainlibdirbi}/$libname.so - fi -%endif -done -# FIXME, tsan is not multilib -%ifarch %tsan_arch -%if %{biarch} -rm -f $RPM_BUILD_ROOT%{versmainlibdirbi}/libtsan.so -%endif -%endif -%if %{build_cp} -%if !0%{?building_libjava:1} -# And we want to move the shlib gdb pretty printers to a more sane -# place so ldconfig does not complain -mkdir -p $RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdir} -mv $RPM_BUILD_ROOT%{mainlibdir}/libstdc++.so.*-gdb.py $RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdir}/ -sed -i -e '/^libdir/s/\/gcc\/%{GCCDIST}\/%{gcc_dir_version}//g' $RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdir}/libstdc++.so.*-gdb.py -%if %{biarch} - if test -d $RPM_BUILD_ROOT%{versmainlibdirbi}; then - mkdir -p $RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdirbi} - mv $RPM_BUILD_ROOT%{mainlibdirbi}/libstdc++.so.*-gdb.py $RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdirbi}/ - sed -i -e '/^libdir/s/\/gcc\/%{GCCDIST}\/%{gcc_dir_version}//g' $RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdirbi}/libstdc++.so.*-gdb.py - fi -%endif -%endif -%endif -%if 0%{?building_libjava:1} -# libgcj_bc is special as the .so file is actually a different -# library as the library refered to by the SONAME which should -# be a simple link to our libgcj. -for lib in `find $RPM_BUILD_ROOT%{versmainlibdir} -maxdepth 1 -name libgcj_bc.so.*`; do - rm $lib -done -ln -s libgcj.so.%{libgcj_sover} $RPM_BUILD_ROOT%{mainlibdir}/libgcj_bc.so.%{libgcj_bc_sover} -%if %{biarch_libjava} -for lib in `find $RPM_BUILD_ROOT%{versmainlibdirbi} -maxdepth 1 -name libgcj_bc.so.*`; do - rm $lib -done -ln -s libgcj.so.%{libgcj_sover} $RPM_BUILD_ROOT%{mainlibdirbi}/libgcj_bc.so.%{libgcj_bc_sover} -%endif -%endif - - -%if %{build_ada} -mv $RPM_BUILD_ROOT%{libsubdir}/adalib/lib*-*.so $RPM_BUILD_ROOT%{_libdir} -ln -sf %{_libdir}/libgnarl%{binsuffix}.so $RPM_BUILD_ROOT%{libsubdir}/adalib/libgnarl.so -ln -sf %{_libdir}/libgnat%{binsuffix}.so $RPM_BUILD_ROOT%{libsubdir}/adalib/libgnat.so -chmod a+x $RPM_BUILD_ROOT%{_libdir}/libgna*-*.so -%if %{biarch} -mv $RPM_BUILD_ROOT%{versmainlibdirbi}/adalib/lib*-*.so $RPM_BUILD_ROOT%{mainlibdirbi}/ -ln -sf %{mainlibdirbi}/libgnarl%{binsuffix}.so $RPM_BUILD_ROOT%{versmainlibdirbi}/adalib/libgnarl.so -ln -sf %{mainlibdirbi}/libgnat%{binsuffix}.so $RPM_BUILD_ROOT%{versmainlibdirbi}/adalib/libgnarl.so -chmod a+x $RPM_BUILD_ROOT%{mainlibdirbi}/libgna*-*.so -%endif -%endif - -rm -f $RPM_BUILD_ROOT%{_prefix}/bin/c++%{binsuffix} - -# Remove some crap from the .la files: -for l in `find $RPM_BUILD_ROOT -name '*.la'`; do - echo "changing $l" -# -e '/^dependency_libs/s|%{libsubdir}/\([^.]*\)\.la |%{_libdir}/\1\.la |g' - sed -e '/^dependency_libs/s| -L%{_builddir}/[^ ]*||g' \ - -e '/^dependency_libs/s| -L/usr/%{GCCDIST}/bin||g' \ - -e '/^dependency_libs/s|-lm \(-lm \)*|-lm |' \ - -e '/^dependency_libs/s|-L[^ ]* ||g' \ -%if %{biarch} -%if %{build_primary_64bit} - -e '/^libdir/s|%{_libdir}/32|%{_prefix}/lib|' \ - -e '/^libdir/s|lib64/\.\./||' \ -%else - -e '/^libdir/s|%{_libdir}/64|%{_prefix}/lib64|' \ -%endif -%endif - < $l > $l.new - mv $l.new $l -done - -%if 0%{?run_tests:1} -cp `find . -name "*.sum"` ../testresults/ -cp `find . -name "*.log" \! -name "config.log" | grep -v 'acats.\?/tests' ` ../testresults/ -chmod 644 ../testresults/* -%endif -%if %{build_cp} -# Find C++ and Java headers -find $RPM_BUILD_ROOT%{_prefix}/include/c++ \ - -regex ".*/\(org\|gcj\|gnu\|java\|javax\)" -prune \ - -o \( -type d -printf "%%%%dir " , \ - -printf "%{_prefix}/include/c++/%%P\n" \) > ../c++-headers -%endif -# Remove files that we do not need to clean up filelist -rm -f $RPM_BUILD_ROOT%{_prefix}/bin/%{GCCDIST}-* -rm -rf $RPM_BUILD_ROOT%{libsubdir}/install-tools -#rm -rf $RPM_BUILD_ROOT%{_libdir}/pkgconfig/libgcj%{binsuffix}.pc -rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/root -rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/curses.h -rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/asm-* -rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/linux -rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/sound -rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/features.h -rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/ncurses.h -rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/stdio.h -rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/zutil.h -rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/X11 -rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/bits -rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/obstack.h -rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/spe.h -rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/tgmath.h -rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/bits -rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/sys -# no plugins -rm -rf $RPM_BUILD_ROOT%{libsubdir}/plugin -rm -f $RPM_BUILD_ROOT%{_infodir}/dir -rm -f $RPM_BUILD_ROOT%{_prefix}/bin/gccbug%{binsuffix} - -%if !0%{?building_libjava:1}%{?building_libffi:1} -# delete compile flag tracking from crt files -crt_list=$RPM_BUILD_ROOT%{versmainlibdir}/crt*.o -%if %{biarch} -%if %{build_primary_64bit} -crt32_list=$RPM_BUILD_ROOT%{versmainlibdirbi32}/crt*.o -%else -crt64_list=$RPM_BUILD_ROOT%{versmainlibdirbi64}/crt*.o -%endif -%endif -for o in $crt_list $crt32_list $crt64_list; do - objcopy -R ".comment.SUSE.OPTs" $o -done -%endif - -%if 0%{?building_libjava:1} -# gcj -static doesn't work properly anyway, unless using --whole-archive -# let's save the space instead. -find $RPM_BUILD_ROOT -name libgcj.a \ - -o -name libgcj-tools.a \ - -o -name libgij.a \ - -o -name libjvm.a \ - -o -name libgcj_bc.a \ - | xargs rm -f - -find $RPM_BUILD_ROOT -name libgcj.spec | xargs \ - sed -i -e 's/lib: /&%%{static:%%eJava programs cannot be linked statically}/' - -# security files have broken install locations, also they cause conflicts -# between libgcj versions. Simply delete them here, libgcj will use its -# defaults in this case (which is what these files contain anyway). -rm $RPM_BUILD_ROOT%{_libdir}/logging.properties -rm -r $RPM_BUILD_ROOT%{_libdir}/security -%endif - -%if 0%{?building_libffi:1} -# Move libffi headers, remove empty libffi libtool file -mkdir -p $RPM_BUILD_ROOT%{_prefix}/include -mv $RPM_BUILD_ROOT%{libsubdir}/include/ffitarget.h $RPM_BUILD_ROOT%{_prefix}/include/ -mv $RPM_BUILD_ROOT%{libsubdir}/include/ffi.h $RPM_BUILD_ROOT%{_prefix}/include/ -rm -f $RPM_BUILD_ROOT%{mainlibdir}/libffi.la -%if %{biarch} -rm -f $RPM_BUILD_ROOT%{mainlibdirbi}/libffi.la -%endif -# Generate a simple pkg-config file -mkdir -p $RPM_BUILD_ROOT%{_libdir}/pkgconfig -echo -e 'Name: libffi\nVersion: 3.0.9\nDescription: libffi\nLibs: -lffi' > $RPM_BUILD_ROOT%{_libdir}/pkgconfig/libffi.pc -%endif - -%if %{build_java} -%if !%{build_libjava} -rm $RPM_BUILD_ROOT%{_mandir}/man1/jv-convert%{binsuffix}.1 -rm $RPM_BUILD_ROOT%{_mandir}/man1/gcj-dbtool%{binsuffix}.1 -rm $RPM_BUILD_ROOT%{_mandir}/man1/gij%{binsuffix}.1 -rm $RPM_BUILD_ROOT%{_mandir}/man1/grmic%{binsuffix}.1 -rm $RPM_BUILD_ROOT%{_mandir}/man1/gc-analyze%{binsuffix}.1 -rm $RPM_BUILD_ROOT%{_mandir}/man1/aot-compile%{binsuffix}.1 -rm $RPM_BUILD_ROOT%{_mandir}/man1/rebuild-gcj-db%{binsuffix}.1 -%endif -rm -f $RPM_BUILD_ROOT%{_datadir}/gcc%{binsuffix}/python/libjava/aotcompile.py -rm -f $RPM_BUILD_ROOT%{_datadir}/gcc%{binsuffix}/python/libjava/classfile.py -%endif -rm -f $RPM_BUILD_ROOT%{_mandir}/man7/fsf-funding.7 -rm -f $RPM_BUILD_ROOT%{_mandir}/man7/gfdl.7 -rm -f $RPM_BUILD_ROOT%{_mandir}/man7/gpl.7 -rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a -%if %{biarch} -%if %{build_primary_64bit} -rm -f $RPM_BUILD_ROOT%{_prefix}/lib/libiberty.a -%else -rm -f $RPM_BUILD_ROOT%{_prefix}/lib64/libiberty.a -%endif -%endif -rm -f $RPM_BUILD_ROOT%{libsubdir}/liblto_plugin.a -rm -f $RPM_BUILD_ROOT%{libsubdir}/liblto_plugin.la - -%if 0%{?building_libjava:1} -# For building libjava only we need to delete other info docs -rm $RPM_BUILD_ROOT%{_infodir}/cp-tools.info* -# Remove stale manpages for binaries we do not build -rm $RPM_BUILD_ROOT%{_mandir}/man1/gjdoc%{binsuffix}.1 -# For building the java frontend we need to copy the ecj jar -mkdir -p $RPM_BUILD_ROOT%{libsubdir} -cp $RPM_SOURCE_DIR/ecj.jar $RPM_BUILD_ROOT%{libsubdir} -%else -# For regular build, some info files do not get renamed properly. -# Do so here. -mv $RPM_BUILD_ROOT%{_infodir}/libgomp.info $RPM_BUILD_ROOT%{_infodir}/libgomp%{binsuffix}.info -%ifarch %itm_arch -mv $RPM_BUILD_ROOT%{_infodir}/libitm.info $RPM_BUILD_ROOT%{_infodir}/libitm%{binsuffix}.info -%endif -%if %{build_fortran} -%ifarch %quadmath_arch -mv $RPM_BUILD_ROOT%{_infodir}/libquadmath.info $RPM_BUILD_ROOT%{_infodir}/libquadmath%{binsuffix}.info -%endif -%endif -%if %{build_ada} -mv $RPM_BUILD_ROOT%{_infodir}/gnat-style.info $RPM_BUILD_ROOT%{_infodir}/gnat-style%{binsuffix}.info -mv $RPM_BUILD_ROOT%{_infodir}/gnat_rm.info $RPM_BUILD_ROOT%{_infodir}/gnat_rm%{binsuffix}.info -mv $RPM_BUILD_ROOT%{_infodir}/gnat_ugn.info $RPM_BUILD_ROOT%{_infodir}/gnat_ugn%{binsuffix}.info -%endif -%endif - - - -%if %{build_java} -%if 0%{?building_libjava:1} -%files -n gcc48-java -%manifest gcc.manifest -%defattr(-,root,root) -%{_prefix}/bin/gcj%{binsuffix} -%{_prefix}/bin/gcjh%{binsuffix} -%{_prefix}/bin/gcj-dbtool%{binsuffix} -%{_prefix}/bin/jcf-dump%{binsuffix} -%{_prefix}/bin/jv-convert%{binsuffix} -%{_prefix}/bin/gc-analyze%{binsuffix} -%{_prefix}/bin/aot-compile%{binsuffix} -%{_prefix}/bin/rebuild-gcj-db%{binsuffix} -%{libsubdir}/jc1 -%{libsubdir}/jvgenmain -%{libsubdir}/ecj.jar -%{libsubdir}/ecj1 -%doc %{_mandir}/man1/gcj%{binsuffix}.1.gz -%doc %{_mandir}/man1/gcjh%{binsuffix}.1.gz -%doc %{_mandir}/man1/gcj-dbtool%{binsuffix}.1.gz -%doc %{_mandir}/man1/jcf-dump%{binsuffix}.1.gz -%doc %{_mandir}/man1/jv-convert%{binsuffix}.1.gz -%doc %{_mandir}/man1/gc-analyze%{binsuffix}.1.gz -%doc %{_mandir}/man1/aot-compile%{binsuffix}.1.gz -%doc %{_mandir}/man1/rebuild-gcj-db%{binsuffix}.1.gz -%endif -%endif - -%if %{build_java} -%if %{build_libjava} -%files -%manifest gcc.manifest -%defattr(-,root,root) -%dir %{_libdir}/gcj-%{gcc_dir_version}-%{libgcj_sover} -%dir %{_libdir}/gcc -%dir %{_libdir}/gcc/%{GCCDIST} -%dir %{libsubdir} -%{_libdir}/gcj-%{gcc_dir_version}-%{libgcj_sover}/classmap.db -# We usually do not multilib libjava -%if %{biarch_libjava} -%versbiarchlib libgcj.la -%biarchlib libgcj.so.* -%biarchlib libgij.so.* -%biarchlib libgcj-tools.so.* -%else -%versmainlib libgcj.la -%mainlib libgcj.so.* -%mainlib libgij.so.* -%mainlib libgcj-tools.so.* -%endif -%{_libdir}/gcj-%{gcc_dir_version}-%{libgcj_sover}/libjvm.la -%{_libdir}/gcj-%{gcc_dir_version}-%{libgcj_sover}/libjvm.so -%{_libdir}/gcj-%{gcc_dir_version}-%{libgcj_sover}/libjavamath.la -%{_libdir}/gcj-%{gcc_dir_version}-%{libgcj_sover}/libjavamath.so - -%files -n libgcj_bc%{libgcj_bc_sover}%{libgcj_bc_suffix} -%manifest gcc.manifest -%defattr(-,root,root) -%if %{biarch_libjava} -%biarchlib libgcj_bc.so.%{libgcj_bc_sover}* -%else -%mainlib libgcj_bc.so.%{libgcj_bc_sover}* -%endif - -%files -n libgcj48-jar -%manifest gcc.manifest -%defattr(-,root,root) -%{_prefix}/share/java/libgcj-%{gcc_dir_version}.jar -%{_prefix}/share/java/libgcj-tools-%{gcc_dir_version}.jar - -%files -n libgcj48-devel -%manifest gcc.manifest -%defattr(-,root,root) -%dir %{_prefix}/include/c++ -%dir %{libsubdir} -%dir %{libsubdir}/include -%dir %{gxxinclude} -%{_libdir}/pkgconfig/libgcj%{binsuffix}.pc -%{libsubdir}/include/jawt.h -%{libsubdir}/include/jawt_md.h -%{libsubdir}/include/jni.h -%{libsubdir}/include/jni_md.h -%{libsubdir}/include/jvmpi.h -%{gxxinclude}/gnu -%{gxxinclude}/gcj -%{gxxinclude}/java -%{gxxinclude}/javax -%{gxxinclude}/org -%{gxxinclude}/sun -%{libsubdir}/include/gcj -%if %{biarch_libjava} -%versbiarchlib libgcj.so -%versbiarchlib libgcj.spec -%versbiarchlib libgcj-tools.so -%versbiarchlib libgij.so -%versbiarchlib libgcj_bc.so -%else -%versmainlib libgcj.so -%versmainlib libgcj.spec -%versmainlib libgcj-tools.so -%versmainlib libgij.so -%versmainlib libgcj_bc.so -%endif - -%files -n gcc48-gij -%manifest gcc.manifest -%defattr(-,root,root) -%{_prefix}/bin/gij%{binsuffix} -%{_prefix}/bin/gappletviewer%{binsuffix} -%{_prefix}/bin/gjar%{binsuffix} -%{_prefix}/bin/gjarsigner%{binsuffix} -%{_prefix}/bin/gjavah%{binsuffix} -%{_prefix}/bin/gkeytool%{binsuffix} -%{_prefix}/bin/gnative2ascii%{binsuffix} -%{_prefix}/bin/gorbd%{binsuffix} -%{_prefix}/bin/grmic%{binsuffix} -%{_prefix}/bin/grmid%{binsuffix} -%{_prefix}/bin/grmiregistry%{binsuffix} -%{_prefix}/bin/gserialver%{binsuffix} -%{_prefix}/bin/gtnameserv%{binsuffix} -%doc %{_mandir}/man1/gij%{binsuffix}.1.gz -%doc %{_mandir}/man1/gappletviewer%{binsuffix}.1.gz -%doc %{_mandir}/man1/grmic%{binsuffix}.1.gz -%doc %{_mandir}/man1/grmid%{binsuffix}.1.gz -%doc %{_mandir}/man1/grmiregistry%{binsuffix}.1.gz -%doc %{_mandir}/man1/gkeytool%{binsuffix}.1.gz -%doc %{_mandir}/man1/gjar%{binsuffix}.1.gz -%doc %{_mandir}/man1/gjarsigner%{binsuffix}.1.gz -%doc %{_mandir}/man1/gjavah%{binsuffix}.1.gz -%doc %{_mandir}/man1/gnative2ascii%{binsuffix}.1.gz -%doc %{_mandir}/man1/gorbd%{binsuffix}.1.gz -%doc %{_mandir}/man1/gserialver%{binsuffix}.1.gz -%doc %{_mandir}/man1/gtnameserv%{binsuffix}.1.gz -%endif -%endif - -%if %{build_java} -%if 0%{?building_libffi:1} -%files -n libffi%{libffi_sover}%{libffi_suffix} -%manifest gcc.manifest -%defattr(-,root,root) -%mainlib libffi.so.%{libffi_sover}* - -%if %{separate_biarch} -%files -n libffi%{libffi_sover}%{libffi_suffix}%{separate_biarch_suffix} -%manifest gcc.manifest -%defattr(-,root,root) -%biarchlib libffi.so.%{libffi_sover}* -%endif - -%post -n libffi48-devel -%install_info --info-dir=%{_infodir} %{_infodir}/libffi%{binsuffix}.info.gz -%postun -n libffi48-devel -%install_info_delete --info-dir=%{_infodir} %{_infodir}/libffi%{binsuffix}.info.gz - -%files -n libffi48-devel -%manifest gcc.manifest -%defattr(-,root,root) -%{_prefix}/include/ffi.h -%{_prefix}/include/ffitarget.h -%mainlib libffi.so -%mainlib libffi.a -%{_libdir}/pkgconfig/libffi.pc -%doc %{_infodir}/libffi%{binsuffix}.info.gz -%doc %{_mandir}/man3/ffi%{binsuffix}.3.gz -%doc %{_mandir}/man3/ffi_call%{binsuffix}.3.gz -%doc %{_mandir}/man3/ffi_prep_cif%{binsuffix}.3.gz -%doc %{_mandir}/man3/ffi_prep_cif_var%{binsuffix}.3.gz - -%if %{separate_biarch} -%files -n libffi48-devel%{separate_biarch_suffix} -%manifest gcc.manifest -%defattr(-,root,root) -%biarchlib libffi.so -%biarchlib libffi.a -%endif -%endif -%endif - -%if 0%{?run_tests:1} -%files -n gcc48-testresults -%manifest gcc.manifest -%defattr(-,root,root) -%doc testresults/test_summary.txt -%doc testresults/*.sum -%doc testresults/*.log -%endif - - -%changelog -- 2.7.4