Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:lafenghu
gcc33
libgcj33.spec
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File libgcj33.spec of Package gcc33
# # spec file for package libgcj33 # # Copyright (c) 2012 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/ # # icecream 0 %define building_libjava 1 %define run_tests 1 # # spec file for package gcc33 (Version 3.3.3) # # 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/ # # Run the testsuite if there's a file named RUN_TESTS in the source %if 0%{!?run_tests:1} %define run_tests %(test -f %_sourcedir/RUN_TESTS && echo 1 || echo 0) %endif # Ada currently fails to build on a few platforms, enable it only # on those that work # Note that AdaCore only supports %ix86, x86_64 and ia64 %ifarch %ix86 x86_64 ia64 hppa ppc s390 %define build_ada 0 %else # alpha ppc64 s390x %define build_ada 0 %endif # We don't want to build java on arm %ifarch mips %arm %define build_java 0 %define build_libjava 0 %else %define build_java 0 #%define build_libjava 0%{?building_libjava:1} %define build_libjava 0 %endif %define build_fortran 1 %define build_objcp 0 %if 0%{?build_for_base:1} %define build_ada 0 %define build_java 0 %define build_libjava 0 %define build_fortran 0 %define build_objcp 0 %define run_tests 0 %endif Name: libgcj33 BuildRequires: bison BuildRequires: flex BuildRequires: gettext-devel BuildRequires: glibc-devel-32bit BuildRequires: zlib-devel ExcludeArch: %arm %if %{build_ada} BuildRequires: gcc-ada %endif %if %{build_libjava} BuildRequires: gtk2-devel BuildRequires: libart_lgpl-devel BuildRequires: update-desktop-files %endif %if %{build_fortran} #BuildRequires: mpfr-devel %endif %ifarch ia64 BuildRequires: libunwind-devel %endif %if %{run_tests} BuildRequires: dejagnu BuildRequires: expect %endif # Define version number of libgcc_s %ifarch hppa %define libgcc_s 4 %else %define libgcc_s 1 %endif %ifarch ppc # We support building the nof libraries, but don't want this in the # regular rpms %define build_nof 0 %else %define build_nof 0 %endif %define separate_bi32 0 %define separate_bi64 0 %ifarch ppc # 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 %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 # 64-bit is primary build target %define build_primary_64bit 1 %else %define build_primary_64bit 0 %endif %define biarch_libjava 0 # COMMON-BEGIN %define biarch_targets x86_64 s390x powerpc64 powerpc Url: http://gcc.gnu.org/ Version: 3.3.3 Release: 0 %define gcc_version %(echo %version | sed 's/_.*//') %define snapshot_date %(echo %version | sed 's/[34]\.[0-4]\.[0-6]//' | sed 's/_/-/') %define binsuffix -3.3 %define versionspecificlibs 0 # COMMON-END %if 0%{?!building_libjava:1} Requires: binutils glibc-devel Requires: cpp33 = %{version}-%{release} Requires: libgcc%{libgcc_s} >= %{version}-%{release} %endif # COMMON-BEGIN BuildRoot: %{_tmppath}/%{name}-%{version}-build Source: gcc-%{gcc_version}%{snapshot_date}.tar.bz2 Source1: change_spec Source2: gcc33-rpmlintrc Source3: baselibs.conf Patch0: gcc-3.3.3-hammer.patch.bz2 Patch1: gcc-noalias-warn.diff Patch2: copy-frame-related.diff Patch3: head-tail.patch Patch4: bug-reporting.patch Patch5: libgc.patch Patch6: ia64intrin.patch Patch7: ffi.patch Patch8: string-allocator.patch Patch9: ia64-unwind.patch Patch11: compact-dwarf2.patch Patch16: c99-double-inline.diff Patch17: c99numbers.diff Patch19: pathlength.patch Patch21: gcse-volatile.patch Patch22: swig-alias.patch Patch32: aliasing.diff Patch33: aliasing12.diff Patch34: aliasing3.diff Patch37: cse-mem-expr.patch Patch42: emit-note.patch Patch47: regparam.patch.gz Patch48: unwind-ia64.patch Patch49: ia64-reorg.patch Patch50: fix-var-tracking.diff Patch51: istream-perf.diff Patch52: lsb2-symbols.diff # Ada patches Patch53: gcc32-ada-link.patch Patch54: gcc32-ada-addr2line.patch # c++ patches # PPC specific Patch61: gcc-3.3-ppc64.patch # Do not merge this patch into the Alan M patch, it will just get lost later. # If you think it is useless, try building "fam" and watch libtool break. Patch63: ppc-nostartfileprefix.patch Patch64: ppc-nof.patch Patch65: altivec.patch Patch66: altivec-to-head.diff.gz Patch67: suse44478.diff Patch68: suse50394.diff Patch69: nov74176.diff Patch70: unwind-ia64-2.patch Patch71: nov65883.diff Patch72: ia64-trap-int-div.diff Patch73: nov102315.diff Patch74: nov132124.diff Patch75: nov148558.diff Patch76: nov141311.diff Patch77: pr14348.patch Patch78: nov216246-1.diff Patch79: nov161594.diff Patch80: nov166448.diff Patch81: nov191825.diff Patch82: nov194478.diff Patch83: nov201157.diff Patch84: libstdc++-config.diff Patch85: gcc44-fixes.patch Patch86: bison-errors.patch Patch87: testsuite-hooks.patch Summary: Java Runtime Library for gcc License: GPL-2.0-with-classpath-exception Group: System/Libraries Provides: libgcj = %{version}-%{release} Obsoletes: libgcj %description This library is needed if you want to use the GNU Java compiler, gcj. Source code for this package is in gcc. %package -n libgcj33-devel Summary: Include Files and Libraries mandatory for Development. License: GPL-2.0-with-classpath-exception Group: Development/Libraries/Java Requires: libstdc++33-devel = %{version}-%{release} Requires: libgcj >= %{version}-%{release} Requires: gtk2-devel Requires: libart_lgpl-devel Requires: glibc-devel Requires: zlib-devel %ifarch ia64 Requires: libunwind-devel %endif %description -n libgcj33-devel This package contains all necessary include files and libraries needed to develop applications that require these. %package -n gcc33-gij Summary: Java Bytecode Interpreter for gcc License: GPL-2.0-with-classpath-exception Group: Development/Libraries/Java Requires: libgcj >= %{version}-%{release} %description -n gcc33-gij This package contains the java bytecode interpreter gij and related tools. # PACKAGE-BEGIN # PACKAGE-BEGIN %package -n libffi33 Summary: Foreign Function Interface library License: BSD-3-Clause Group: Development/Languages/C and C++ Provides: g-wrap:/usr/lib/libffi.so.4 %description -n libffi33 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-END # PACKAGE-BEGIN # PACKAGE-BEGIN %package -n libffi33-32bit Summary: Foreign Function Interface library License: BSD-3-Clause Group: Development/Languages/C and C++ Provides: g-wrap:/usr/lib/libffi.so.4 %description -n libffi33-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-END # PACKAGE-BEGIN # PACKAGE-BEGIN %package -n libffi33-64bit Summary: Foreign Function Interface library License: BSD-3-Clause Group: Development/Languages/C and C++ Provides: g-wrap:/usr/lib/libffi.so.4 %description -n libffi33-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-END # PACKAGE-BEGIN # PACKAGE-BEGIN %package -n libffi33-devel Summary: Foreign Function Interface library development files License: GPL-2.0-with-classpath-exception Group: Development/Languages/C and C++ Requires: libffi33 >= %{version}-%{release} %description -n libffi33-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-END # PACKAGE-BEGIN # PACKAGE-BEGIN %package -n libffi33-devel-32bit Summary: Foreign Function Interface library development files License: GPL-2.0-with-classpath-exception Group: Development/Languages/C and C++ Requires: libffi33-32bit >= %{version}-%{release} %description -n libffi33-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-END # PACKAGE-BEGIN # PACKAGE-BEGIN %package -n libffi33-devel-64bit Summary: Foreign Function Interface library development files License: GPL-2.0-with-classpath-exception Group: Development/Languages/C and C++ Requires: libffi33-64bit >= %{version}-%{release} %description -n libffi33-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-END %package -n gcc33-testresults Summary: Testsuite results License: GPL-2.0-with-classpath-exception Group: Development/Languages/C and C++ %description -n gcc33-testresults Results from running the gcc and target library testsuites. # COMMON-BEGIN # 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/") %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "powerpc" %define CONFIGURE_TARGET powerpc64-linux %endif %else %define TARGET_ARCH %(echo %{_target_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/") %endif %define HOST_ARCH %(echo %{_host_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/") %define biarch %(case " %{biarch_targets} " in (*" %{TARGET_ARCH} "*) echo 1;; (*) echo 0;; esac) %ifarch ppc %define GCCDIST powerpc64-suse-linux %else %define GCCDIST %{HOST_ARCH}-suse-linux %endif %define libsubdir %{_libdir}/gcc-lib/%{GCCDIST}/3.3.3-hammer %define gxxinclude %{_prefix}/include/c++/%{gcc_version} # COMMON-END # Versionspecific directories %define versmainlibdir %{libsubdir} %define versmainlibdirbi32 %{libsubdir}/32 %define versmainlibdirbi64 %{libsubdir}/64 %ifarch ppc %define versnoflibdir %{libsubdir}/nof %define versmainlibdirbi32 %{libsubdir} %define versmainlibdirbi64 %{libsubdir}/64 %endif %ifarch ppc64 %define versnoflibdir %{libsubdir}/32/nof %endif # If we use versionspecific libs, they end in libsubdir %if %{versionspecificlibs} %define mainlibdir %{libsubdir} %define mainlibdirbi32 %{libsubdir}/32 %define mainlibdirbi64 %{libsubdir}/64 %ifarch ppc %define noflibdir %{libsubdir}/nof %define mainlibdirbi32 %{libsubdir} %define mainlibdirbi64 %{libsubdir}/64 %endif %ifarch ppc64 %define noflibdir %{libsubdir}/32/nof %endif %else %define mainlibdir %{_libdir} %define mainlibdirbi32 %{_prefix}/lib %define mainlibdirbi64 %{_prefix}/lib64 %define noflibdir %{_prefix}/lib/nof %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 # by default, nof libs go where the 32bit libs go. %if %{build_nof} %define mainlib() %{mainlibdir}/%1\ %{noflibdir}/%1\ %{nil} %else %define mainlib() %{mainlibdir}/%1\ %{nil} %endif %define biarchlib() %{nil} %if %{biarch} %if %{build_primary_64bit} %if !%{separate_bi32} %if %{build_nof} %define mainlib() %{mainlibdir}/%1\ %{mainlibdirbi32}/%1\ %{noflibdir}/%1\ %{nil} %else %define mainlib() %{mainlibdir}/%1\ %{mainlibdirbi32}/%1\ %{nil} %endif %else %if %{build_nof} %define biarchlib() %{mainlibdirbi32}/%1\ %{noflibdir}/%1\ %{nil} %define mainlib() %{mainlibdir}/%1\ %{nil} %else %define biarchlib() %{mainlibdirbi32}/%1\ %{nil} %endif %endif %else %if !%{separate_bi64} %if %{build_nof} %define mainlib() %{mainlibdir}/%1\ %{mainlibdirbi64}/%1\ %{noflibdir}/%1\ %{nil} %else %define mainlib() %{mainlibdir}/%1\ %{mainlibdirbi64}/%1\ %{nil} %endif %else %define biarchlib() %{mainlibdirbi64}/%1\ %{nil} %endif %endif %endif %if %{build_nof} %define versmainlib() %{versmainlibdir}/%1\ %{versnoflibdir}/%1\ %{nil} %else %define versmainlib() %{versmainlibdir}/%1\ %{nil} %endif %define versbiarchlib() %{nil} %if %{biarch} %if %{build_primary_64bit} %if !%{separate_bi32} %if %{build_nof} %define versmainlib() %{versmainlibdir}/%1\ %{versmainlibdirbi32}/%1\ %{versnoflibdir}/%1\ %{nil} %else %define versmainlib() %{versmainlibdir}/%1\ %{versmainlibdirbi32}/%1\ %{nil} %endif %else %if %{build_nof} %define versbiarchlib() %{versmainlibdirbi32}/%1\ %{versnoflibdir}/%1\ %{nil} %define versmainlib() %{versmainlibdir}/%1\ %{nil} %else %define versbiarchlib() %{versmainlibdirbi32}/%1\ %{nil} %endif %endif %else %if !%{separate_bi64} %if %{build_nof} %define versmainlib() %{versmainlibdir}/%1\ %{versmainlibdirbi64}/%1\ %{versnoflibdir}/%1\ %{nil} %else %define versmainlib() %{versmainlibdir}/%1\ %{versmainlibdirbi64}/%1\ %{nil} %endif %else %define versbiarchlib() %{versmainlibdirbi64}/%1\ %{nil} %endif %endif %endif # COMMON-BEGIN %prep %setup -q -n gcc-%{gcc_version}%{snapshot_date} %patch0 %patch1 %patch2 %patch3 %patch4 %patch5 %patch6 %patch7 %patch8 %patch9 -p1 %patch11 %patch16 %patch17 %patch19 %patch21 %patch22 %patch32 %patch33 %patch34 %patch37 %patch42 %patch47 %patch48 %patch49 %patch50 %patch51 %patch52 %patch53 %patch54 #%ifarch ppc ppc64 %patch61 -p1 #%patch63 -p1 #%endif %patch64 -p1 %patch65 -p1 %patch66 %patch67 %patch68 %patch69 %patch70 %patch71 -p1 %patch72 %patch73 %ifarch s390 s390x %patch74 -p1 %endif %patch75 %patch76 -p1 %patch77 -p1 %patch78 -p1 %patch79 %patch80 %patch81 -p1 %patch82 -p1 %patch83 -p1 %patch84 %patch85 %patch86 %patch87 %build # Avoid conflict with commercial libjawt.so sed -i -e 's/libjawt/libgcjawt/g' libjava/Makefile.{am,in} # Avoid rebuilding of generated files contrib/gcc_update --touch 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/-funwind-tables//g' -e 's/-fasynchronous-unwind-tables//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. RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-mcpu=i.86//g'` RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -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'` RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-march=z9-109//g'` RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-mtune=z10//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,c++,objc %if %{build_fortran} languages=$languages,f77 %endif %if %{build_objcp} languages=$languages,obj-c++ %endif %if %{build_java} languages=$languages,java %endif %if %{build_ada} languages=$languages,ada %endif # override for cross targets until we have build_objc %if 0%{?gcc_target_arch:1} languages=c,c++ %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 ENABLE_CHECKING="--disable-checking" %if "%{name}" != "gcc33" export PATH=/opt/cross/bin:$PATH %endif # Work around tail/head -1 changes export _POSIX2_VERSION=199209 # configure tries to parse include/features.h to detect # if glibc supports SSP. When cross compiling we would need # to install a cross glibc, which we don't, or make the whole # thing point to the native glibc, which is in /, hence the # --with-sysroot=/ CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" XCFLAGS="$RPM_OPT_FLAGS" \ TCFLAGS="$RPM_OPT_FLAGS" GCJFLAGS="$RPM_OPT_FLAGS" \ ../configure \ %if 0%{?gcc_target_arch:1} && 0%{!?gcc_icecream:1} %else --enable-threads=posix \ %endif --prefix=%{_prefix} --with-local-prefix=/usr/local \ --infodir=%{_infodir} --mandir=%{_mandir} \ --libdir=%{_libdir} --libexecdir=%{_libdir} \ --enable-languages=$languages $ENABLE_CHECKING \ --with-gxx-include-dir=/usr/include/c++/%{gcc_version} \ --enable-ssp --disable-libssp \ %if !%{build_libjava} --disable-libgcj \ %else --enable-java-awt=gtk --enable-gtk-cairo \ %if !%{biarch_libjava} --disable-libjava-multilib \ %endif %endif --with-slibdir=/%{_lib} --with-system-zlib \ --enable-shared --enable-__cxa_atexit \ --enable-libstdcxx-allocator=new \ %if 0%{?gcc_target_arch:1} %if 0%{?gcc_icecream:1} --with-as=/opt/cross/%{TARGET_ARCH}-linux/bin/as \ --with-ld=/opt/cross/%{TARGET_ARCH}-linux/bin/ld \ --with-sysroot=/ \ %endif --disable-nls --disable-shared \ --target=%{CONFIGURE_TARGET} \ %else --program-suffix=%{binsuffix} \ --enable-version-specific-runtime-libs \ %ifarch ia64 --with-system-libunwind \ %else --without-system-libunwind \ %endif %endif %if "%{TARGET_ARCH}" == "powerpc" --with-cpu=default32 \ --enable-secureplt \ --with-long-double-128 \ --enable-biarch \ %endif %if "%{TARGET_ARCH}" == "powerpc64" --enable-secureplt \ --with-long-double-128 \ --enable-biarch \ %endif %if "%{TARGET_ARCH}" == "i586" --with-cpu=generic \ %endif %if "%{TARGET_ARCH}" == "x86_64" --with-cpu=generic \ %endif %if "%{TARGET_ARCH}" == "s390" --with-tune=z9-109 --with-arch=z900 \ --with-long-double-128 \ %endif %if "%{TARGET_ARCH}" == "s390x" --with-tune=z9-109 --with-arch=z900 \ --with-long-double-128 \ %endif --host=%{GCCDIST} # COMMON-END # Only run profiled bootstrap on archs where it works #%ifarch %ix86 x86_64 ppc ppc64 ia64 #make profiledbootstrap BOOT_CFLAGS="$RPM_OPT_FLAGS" $PARALLEL #%else make bootstrap-lean BOOT_CFLAGS="$RPM_OPT_FLAGS" $PARALLEL #%endif #make -C gcc proto make info %if %{run_tests} echo "Run testsuite" make -k check $PARALLEL || true (make -C %{GCCDIST}/libstdc++-v3 check-abi || true) %endif %install rm -rf $RPM_BUILD_ROOT cd obj-%{GCCDIST} # Work around tail/head -1 changes export _POSIX2_VERSION=199209 export LIBRARY_PATH=$RPM_BUILD_ROOT%{libsubdir}:$RPM_BUILD_ROOT%{mainlibdirbi32}:$RPM_BUILD_ROOT%{mainlibdirbi64} %if 0%{?building_libjava:1} %if %{build_libjava} make -C %{GCCDIST}/libjava install DESTDIR=$RPM_BUILD_ROOT make -C %{GCCDIST}/libffi install DESTDIR=$RPM_BUILD_ROOT make -C gcc java.install-man DESTDIR=$RPM_BUILD_ROOT %endif %else make install DESTDIR=$RPM_BUILD_ROOT %endif mkdir -p $RPM_BUILD_ROOT%{_libdir} %if 0%{?!building_libjava:1} # Move wrongly installed fortran stuff mv $RPM_BUILD_ROOT%{libsubdir}/../lib* $RPM_BUILD_ROOT%{libsubdir}/ %if %{biarch} %if %{build_primary_64bit} mv $RPM_BUILD_ROOT%{libsubdir}/../32/lib* $RPM_BUILD_ROOT%{libsubdir}/32/ %else mv $RPM_BUILD_ROOT%{libsubdir}/../64/lib* $RPM_BUILD_ROOT%{libsubdir}/64/ %endif %endif %endif # Move manpages that were not properly versioned %if 0%{?!building_libjava:1} mv $RPM_BUILD_ROOT%{_mandir}/man1/gcov.1 $RPM_BUILD_ROOT%{_mandir}/man1/gcov%{binsuffix}.1 mv $RPM_BUILD_ROOT%{_mandir}/man1/cpp.1 $RPM_BUILD_ROOT%{_mandir}/man1/cpp%{binsuffix}.1 %endif %if %{build_java} for i in gcjh gij jcf-dump jv-convert jv-scan rmic rmiregistry; do mv $RPM_BUILD_ROOT%{_mandir}/man1/$i.1 $RPM_BUILD_ROOT%{_mandir}/man1/$i%{binsuffix}.1 done %endif # Remove some useless .la files for lib in libobjc libg2c libfrtbegin \ libstdc++ libsupc++; do rm -f $RPM_BUILD_ROOT%{versmainlibdir}/$lib.la %if %{biarch} %if %{build_primary_64bit} rm -f $RPM_BUILD_ROOT%{versmainlibdirbi32}/$lib.la %else rm -f $RPM_BUILD_ROOT%{versmainlibdirbi64}/$lib.la %endif %endif done %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 around %if %{versionspecificlibs} %else # libjava possibly breaks, ada is broken for libname in \ %if %{build_libjava} libgcj libgij libgcjawt lib-gnu-java-awt-peer-gtk \ %endif ; do mv -f $RPM_BUILD_ROOT%{versmainlibdir}/$libname.* $RPM_BUILD_ROOT%{mainlibdir}/ %if %{biarch_libjava} %if %{build_primary_64bit} mv -f $RPM_BUILD_ROOT%{versmainlibdirbi32}/$libname.* $RPM_BUILD_ROOT%{mainlibdirbi32}/ %else mv -f $RPM_BUILD_ROOT%{versmainlibdirbi64}/$libname.* $RPM_BUILD_ROOT%{mainlibdirbi64}/ %endif %endif done %endif %if %{build_ada} mv $RPM_BUILD_ROOT%{libsubdir}/adalib/lib*-*.so $RPM_BUILD_ROOT%{_libdir} ln -sf %{_libdir}/$(cd $RPM_BUILD_ROOT%{_libdir} && echo libgnarl-*.so) $RPM_BUILD_ROOT%{libsubdir}/adalib/libgnarl.so ln -sf %{_libdir}/$(cd $RPM_BUILD_ROOT%{_libdir} && echo libgnat-*.so) $RPM_BUILD_ROOT%{libsubdir}/adalib/libgnat.so chmod a+x $RPM_BUILD_ROOT%{_libdir}/libgna*-*.so %endif #ln -sf gcc%{binsuffix} $RPM_BUILD_ROOT%{_prefix}/bin/cc%{binsuffix} #ln -sf g++%{binsuffix} $RPM_BUILD_ROOT%{_prefix}/bin/c++%{binsuffix} rm -f $RPM_BUILD_ROOT%{_prefix}/bin/c++%{binsuffix} #mkdir -p $RPM_BUILD_ROOT/lib %if %{biarch} %if %{build_primary_64bit} # move around some libs that end in wrong paths pushd . mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib mkdir -p $RPM_BUILD_ROOT%{_libdir}/32 (cd $RPM_BUILD_ROOT%{_libdir}/32; tar cf - .) | (cd $RPM_BUILD_ROOT%{_prefix}/lib ; tar xf -) rm -rf $RPM_BUILD_ROOT%{_libdir}/32 %if 0%{?!building_libjava:1} ln -s %{_prefix}/lib $RPM_BUILD_ROOT%{_libdir}/32 rm -rf $RPM_BUILD_ROOT/%{_lib}/32 ln -s /lib $RPM_BUILD_ROOT/%{_lib}/32 %endif popd %else # 32-bit biarch systems # move around some libs that end in wrong paths pushd . mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib64 mkdir -p $RPM_BUILD_ROOT%{_libdir}/64 (cd $RPM_BUILD_ROOT%{_libdir}/64; tar cf - .) | (cd $RPM_BUILD_ROOT%{_prefix}/lib64 ; tar xf -) rm -rf $RPM_BUILD_ROOT%{_libdir}/64 %if 0%{?!building_libjava:1} ln -s %{_prefix}/lib $RPM_BUILD_ROOT%{_libdir}/64 %endif popd %endif %endif # Remove some crap from the .la files: for l in `find $RPM_BUILD_ROOT -name '*.la'`; do echo "changing $l" 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 %{run_tests} mkdir ../testresults cp `find . -name "*.sum"` ../testresults/ cp `find . -name "*.log" \! -name "config.log" |grep -v 'acats/tests' ` ../testresults/ %endif # Find C++ and Java headers if test -d $RPM_BUILD_ROOT%{_prefix}/include/c++; then 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 fi # 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%{libsubdir}/install-tools rm -rf $RPM_BUILD_ROOT%{_libdir}/pkgconfig/libgcj.pc rm -rf $RPM_BUILD_ROOT%{libsubdir}/include/root rm -f $RPM_BUILD_ROOT%{libsubdir}/include/curses.h rm -rf $RPM_BUILD_ROOT%{libsubdir}/include/asm-* rm -rf $RPM_BUILD_ROOT%{libsubdir}/include/linux rm -f $RPM_BUILD_ROOT%{libsubdir}/include/ncurses.h rm -f $RPM_BUILD_ROOT%{libsubdir}/include/stdio.h rm -f $RPM_BUILD_ROOT%{libsubdir}/include/zutil.h rm -rf $RPM_BUILD_ROOT%{libsubdir}/include/X11 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include/bits rm -f $RPM_BUILD_ROOT%{libsubdir}/include/obstack.h rm -f $RPM_BUILD_ROOT%{libsubdir}/include/spe.h rm -rf $RPM_BUILD_ROOT%{libsubdir}/include/bits rm -rf $RPM_BUILD_ROOT%{libsubdir}/include/sys rm -f $RPM_BUILD_ROOT%{_infodir}/dir rm -f $RPM_BUILD_ROOT%{_prefix}/bin/gccbug%{binsuffix} %if %{build_libjava} # 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 lib-gnu-java-awt-peer-gtk.a \ -o -name libgjsmalsa.a \ -o -name libgij.a -o -name libgcjawt.a | xargs rm -f find $RPM_BUILD_ROOT -name libgcj.spec | xargs \ sed -i -e 's/lib: /&%%{static:%%eJava programs cannot be linked statically}/' mv $RPM_BUILD_ROOT%{libsubdir}/include/libffi/ffitarget.h $RPM_BUILD_ROOT%{_prefix}/include/ rm -r $RPM_BUILD_ROOT%{libsubdir}/include/libffi %endif %if %{build_java} %if !%{build_libjava} rm -f $RPM_BUILD_ROOT%{_mandir}/man1/gcj-dbtool%{binsuffix}.1 rm -f $RPM_BUILD_ROOT%{_mandir}/man1/gij%{binsuffix}.1 %if 0%{?building_libjava:1} rm -f $RPM_BUILD_ROOT%{_mandir}/man1/rmic%{binsuffix}.1 rm -f $RPM_BUILD_ROOT%{_mandir}/man1/rmiregistry%{binsuffix}.1 rm -f $RPM_BUILD_ROOT%{_mandir}/man1/jcf-dump%{binsuffix}.1 rm -f $RPM_BUILD_ROOT%{_mandir}/man1/jv-convert%{binsuffix}.1 %endif %endif # fastjar is separate now rm -f $RPM_BUILD_ROOT%{_prefix}/bin/fastjar%{binsuffix} rm -f $RPM_BUILD_ROOT%{_prefix}/bin/grepjar%{binsuffix} rm -f $RPM_BUILD_ROOT%{_infodir}/fastjar.info* rm -f $RPM_BUILD_ROOT%{_mandir}/man1/fastjar%{binsuffix}.1 rm -f $RPM_BUILD_ROOT%{_mandir}/man1/grepjar%{binsuffix}.1 %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 %{build_nof} rm -f $RPM_BUILD_ROOT%{_prefix}/lib/nof/libiberty.a %endif %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 # For building libjava only we need to delete other manpages %if 0%{?building_libjava:1} rm -f $RPM_BUILD_ROOT%{_prefix}/bin/addr2name.awk%{binsuffix} rm -f $RPM_BUILD_ROOT%{_mandir}/man1/gcj%{binsuffix}.1 rm -f $RPM_BUILD_ROOT%{_mandir}/man1/gcjh%{binsuffix}.1 rm -f $RPM_BUILD_ROOT%{_mandir}/man1/jv-scan%{binsuffix}.1 %endif # Delete some files... %if %{versionspecificlibs} %if %{build_libjava} rm $RPM_BUILD_ROOT%{_libdir}/logging.properties rm $RPM_BUILD_ROOT%{_libdir}/security/classpath.security rm $RPM_BUILD_ROOT%{_libdir}/security/libgcj.security %endif rm $RPM_BUILD_ROOT%{_infodir}/*.info* rm $RPM_BUILD_ROOT%{_prefix}/share/locale/*/LC_MESSAGES/*.mo %endif %if %{build_java} %if %{build_libjava} %files %defattr(-,root,root) %dir %{_libdir}/gcj-%{gcc_version} %{_prefix}/share/java/libgcj-%{gcc_version}.jar %{_libdir}/gcj-%{gcc_version}/classmap.db %if !%{versionspecificlibs} %dir %{_libdir}/security %{_libdir}/security/classpath.security %{_libdir}/security/libgcj.security %endif # We usually do not multilib libjava %if %{biarch_libjava} %mainlib libgcj.so.* %mainlib libgij.so.* %mainlib libgcjawt.so.* %mainlib lib-gnu-java-awt-peer-gtk.so.* # these libs may get dlopened by their .la/.so name %mainlib libgcjawt.la %mainlib libgcjawt.so %mainlib lib-gnu-java-awt-peer-gtk.la %mainlib lib-gnu-java-awt-peer-gtk.so %else %{mainlibdir}/libgcj.so.* %{mainlibdir}/libgij.so.* %{mainlibdir}/libgcjawt.so.* %{mainlibdir}/lib-gnu-java-awt-peer-gtk.so.* # these libs may get dlopened by their .la/.so name %{mainlibdir}/libgcjawt.la %{mainlibdir}/libgcjawt.so %{mainlibdir}/lib-gnu-java-awt-peer-gtk.la %{mainlibdir}/lib-gnu-java-awt-peer-gtk.so %endif %if !%{versionspecificlibs} %{_libdir}/logging.properties %endif %files -n libgcj33-devel %defattr(-,root,root) %dir %{_prefix}/include/c++ %dir %{gxxinclude} %{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 %{libsubdir}/include/gcj %if %{biarch_libjava} %mainlib libgcj.la %mainlib libgcj.so %mainlib libgcj.spec %mainlib libgij.la %mainlib libgij.so %else %{mainlibdir}/libgcj.la %{mainlibdir}/libgcj.so %{mainlibdir}/libgcj.spec %{mainlibdir}/libgij.la %{mainlibdir}/libgij.so %endif %files -n gcc33-gij %defattr(-,root,root) %{_prefix}/bin/rmic%{binsuffix} %{_prefix}/bin/rmiregistry%{binsuffix} %{_prefix}/bin/jv-convert%{binsuffix} %{_prefix}/bin/gcj-dbtool%{binsuffix} %{_prefix}/bin/gij%{binsuffix} %doc %{_mandir}/man1/gij%{binsuffix}.1.gz %doc %{_mandir}/man1/gcj-dbtool%{binsuffix}.1.gz %doc %{_mandir}/man1/rmic%{binsuffix}.1.gz %doc %{_mandir}/man1/rmiregistry%{binsuffix}.1.gz %doc %{_mandir}/man1/jv-convert%{binsuffix}.1.gz %files -n libffi33 %defattr(-,root,root) %mainlib libffi.so.* %if %{separate_biarch} %files -n libffi33%{separate_biarch_suffix} %defattr(-,root,root) %biarchlib libffi.so.* %endif %files -n libffi33-devel %defattr(-,root,root) %{_prefix}/include/ffi.h %{_prefix}/include/ffitarget.h %mainlib libffi.so %mainlib libffi.a %mainlib libffi.la %if %{separate_biarch} %files -n libffi33-devel%{separate_biarch_suffix} %defattr(-,root,root) %biarchlib libffi.so %biarchlib libffi.a %biarchlib libffi.la %endif %endif %endif %if %{run_tests} %files -n gcc33-testresults %defattr(-,root,root) %doc testresults/*.sum %doc testresults/*.log %endif %changelog
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor