- Remove not needed %{libsubdir}/include/asm/ to fix build for i586 OBS-URL: https://build.opensuse.org/request/show/814772 OBS-URL: https://build.opensuse.org/package/show/devel:gcc/gcc33?expand=0&rev=48
1761 lines
47 KiB
RPMSpec
1761 lines
47 KiB
RPMSpec
#
|
|
# spec file for package gcc33 (Version 3.3.3)
|
|
#
|
|
# Copyright (c) 2012 SUSE LINUX Products GmbH, 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/
|
|
#
|
|
|
|
# icecream 0
|
|
|
|
|
|
# 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: gcc@base_ver@
|
|
BuildRequires: glibc-devel-32bit flex bison gettext-devel zlib-devel
|
|
ExcludeArch: %arm aarch64 ppc64le riscv64
|
|
%if %{build_ada}
|
|
BuildRequires: gcc-ada
|
|
%endif
|
|
%if %{build_libjava}
|
|
BuildRequires: gtk2-devel libart_lgpl-devel update-desktop-files
|
|
%endif
|
|
%if %{build_fortran}
|
|
#BuildRequires: mpfr-devel
|
|
%endif
|
|
%ifarch ia64
|
|
BuildRequires: libunwind-devel
|
|
%endif
|
|
%if %{run_tests}
|
|
BuildRequires: dejagnu 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: 1
|
|
%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: cpp@base_ver@ = %{version}-%{release}
|
|
Requires: libgcc_s%{libgcc_s} >= %{version}-%{release}
|
|
%endif
|
|
|
|
# COMMON-BEGIN
|
|
Autoreqprov: on
|
|
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
|
|
Patch88: gcc-unwind-glibc216.patch
|
|
Patch89: gcc33-bison-yylex-error.patch
|
|
Patch90: gcc33-update-ucontext-type.patch
|
|
|
|
# LIBJAVA-DELETE-BEGIN
|
|
Group: Development/Languages/C and C++
|
|
Summary: The GNU C Compiler and Support Files
|
|
License: GPL-2.0+
|
|
|
|
%description
|
|
Language frontends other than C are split to different sub-packages,
|
|
namely gcc-ada, gcc-c++, gcc-fortran, gcc-java and gcc-objc.
|
|
|
|
|
|
# COMMON-END
|
|
%package -n gcc@base_ver@-32bit
|
|
Summary: The GNU C Compiler 32bit support
|
|
Group: Development/Languages/C and C++
|
|
Autoreqprov: on
|
|
Requires: gcc@base_ver@ = %{version}-%{release}
|
|
Requires: libgcc_s%{libgcc_s}-32bit >= %{version}-%{release}
|
|
Requires: glibc-devel-32bit
|
|
|
|
%description -n gcc@base_ver@-32bit
|
|
This package contains 32bit support for the GNU Compiler Collection.
|
|
|
|
%package -n gcc@base_ver@-64bit
|
|
Summary: The GNU C Compiler 64bit support
|
|
Group: Development/Languages/C and C++
|
|
Autoreqprov: on
|
|
Requires: gcc@base_ver@ = %{version}-%{release}
|
|
Requires: libgcc_s%{libgcc_s}-64bit >= %{version}-%{release}
|
|
Requires: glibc-devel-64bit
|
|
|
|
%description -n gcc@base_ver@-64bit
|
|
This package contains 64bit support for the GNU Compiler Collection.
|
|
|
|
|
|
%package locale
|
|
Summary: gcc-locale
|
|
Group: Development/Languages/C and C++
|
|
Requires: gcc@base_ver@ = %{version}-%{release}
|
|
Autoreqprov: on
|
|
|
|
%description locale
|
|
|
|
|
|
%package c++
|
|
Summary: The GNU C++ Compiler
|
|
Group: Development/Languages/C and C++
|
|
Autoreqprov: on
|
|
Requires: gcc@base_ver@ = %{version}-%{release}
|
|
Requires: libstdc++@base_ver@-devel = %{version}-%{release}
|
|
|
|
%description c++
|
|
This package contains the GNU compiler for C++.
|
|
|
|
# PACKAGE-BEGIN
|
|
%package -n libstdc++@base_ver@-devel@variant@
|
|
Summary: Include Files and Libraries mandatory for Development
|
|
License: GPL-2.0-with-GCC-exception
|
|
Group: System/Libraries
|
|
Autoreqprov: on
|
|
Requires: libstdc++5@variant@ >= %{version}-%{release}
|
|
Requires: gcc@base_ver@ = %{version}-%{release}
|
|
Requires: glibc-devel@variant@
|
|
%ifarch ia64
|
|
Requires: libunwind-devel
|
|
%endif
|
|
|
|
%description -n libstdc++@base_ver@-devel@variant@
|
|
This package contains all the headers and libraries of the standard C++
|
|
library. It is needed for compiling C++ code.
|
|
# PACKAGE-END
|
|
|
|
%package -n libstdc++@base_ver@-doc
|
|
Summary: Documentation for the GNU C++ standard library
|
|
Group: Development/Languages/C and C++
|
|
Autoreqprov: on
|
|
|
|
%description -n libstdc++@base_ver@-doc
|
|
Documentation for the GNU C++ standard library
|
|
|
|
# PACKAGE-BEGIN
|
|
%package -n libgcc@base_ver@@variant@
|
|
Summary: C compiler runtime library
|
|
License: GPL-2.0-with-GCC-exception
|
|
Group: System/Base
|
|
Provides: libgcc_s%{libgcc_s}@variant@ = %{version}-%{release}
|
|
Provides: libgcc%{libgcc_s}@variant@ = %{version}-%{release}
|
|
Provides: libgcc@variant@ = %{version}-%{release}
|
|
Obsoletes: libgcc@variant@
|
|
Autoreqprov: on
|
|
|
|
%description -n libgcc@base_ver@@variant@
|
|
Libgcc is needed for dynamically linked C programs.
|
|
|
|
%post -n libgcc@base_ver@@variant@ -p /sbin/ldconfig
|
|
|
|
%postun -n libgcc@base_ver@@variant@ -p /sbin/ldconfig
|
|
# PACKAGE-END
|
|
|
|
# PACKAGE-BEGIN
|
|
%package -n libstdc++@base_ver@@variant@
|
|
Summary: The standard C++ shared library
|
|
License: GPL-2.0-with-GCC-exception
|
|
Group: System/Libraries
|
|
# Only on ppc separate -64bit packages were used. Split-provide
|
|
# for all other archs properly.
|
|
%ifarch x86_64 s390x
|
|
%if "@variant@" == "-32bit"
|
|
Provides: compat-libstdc++:%{_libdir}/libstdc++.so.5
|
|
%endif
|
|
%endif
|
|
Provides: compat-libstdc++@variant@
|
|
Obsoletes: compat-libstdc++@variant@
|
|
Provides: libstdc++5@variant@ = %{version}-%{release}
|
|
Obsoletes: libstdc++5@variant@ < %{version}-%{release}
|
|
Autoreqprov: on
|
|
|
|
%description -n libstdc++@base_ver@@variant@
|
|
The standard C++ library, needed for dynamically linked C++ programs.
|
|
|
|
Authors:
|
|
--------
|
|
Paolo Carlini <pcarlini@suse.de>
|
|
Gabriel Dos Reis <gdr@integrable-solutions.net>
|
|
Ulrich Drepper <drepper@redhat.com>
|
|
Phil Edwards <pme@gcc.gnu.org>
|
|
Benjamin Kosnik <bkoz@redhat.com>
|
|
Loren J. Rittle <ljrittle@acm.org>
|
|
et.al.
|
|
|
|
%post -n libstdc++@base_ver@@variant@ -p /sbin/ldconfig
|
|
|
|
%postun -n libstdc++@base_ver@@variant@ -p /sbin/ldconfig
|
|
# PACKAGE-END
|
|
|
|
|
|
%package info
|
|
Summary: GNU Info-Pages for GCC
|
|
Group: Development/Languages/C and C++
|
|
Autoreqprov: on
|
|
PreReq: %{install_info_prereq}
|
|
|
|
%description info
|
|
GNU info-pages for GCC.
|
|
|
|
|
|
# PACKAGE-BEGIN
|
|
%package objc@variant@
|
|
Summary: GNU Objective C Compiler
|
|
Group: Development/Languages/Other
|
|
Autoreqprov: on
|
|
Requires: gcc@base_ver@ = %{version}-%{release}
|
|
Requires: libobjc@variant@ >= %{version}-%{release}
|
|
|
|
%description objc@variant@
|
|
This package contains the GNU Objective C compiler. Objective C is an
|
|
object oriented language, created by Next Inc. and used in their
|
|
Nextstep OS. The source code is available in the gcc package.
|
|
# PACKAGE-END
|
|
|
|
# PACKAGE-BEGIN
|
|
%package -n libobjc@base_ver@@variant@
|
|
Summary: Library for the GNU Objective C Compiler
|
|
License: GPL-2.0-with-GCC-exception
|
|
Group: Development/Libraries/Other
|
|
Provides: libobjc@variant@ = %{version}-%{release}
|
|
Obsoletes: libobjc@variant@
|
|
|
|
%description -n libobjc@base_ver@@variant@
|
|
The library for the GNU Objective C compiler.
|
|
|
|
%post -n libobjc@base_ver@@variant@ -p /sbin/ldconfig
|
|
|
|
%postun -n libobjc@base_ver@@variant@ -p /sbin/ldconfig
|
|
# PACKAGE-END
|
|
|
|
%package obj-c++
|
|
Summary: GNU Objective C++ Compiler
|
|
Group: Development/Languages/Other
|
|
Autoreqprov: on
|
|
Requires: gcc@base_ver@-objc = %{version}-%{release}
|
|
Requires: gcc@base_ver@-c++ = %{version}-%{release}
|
|
|
|
%description obj-c++
|
|
This package contains the GNU Objective C++ compiler. Objective C++ is an
|
|
object oriented language, created by Next Inc. and used in their
|
|
Nextstep OS. The source code is available in the gcc package.
|
|
|
|
|
|
%package -n cpp@base_ver@
|
|
Summary: The GCC Preprocessor
|
|
Group: Development/Languages/C and C++
|
|
|
|
%description -n cpp@base_ver@
|
|
This Package contains just the preprocessor that is used by the X11
|
|
packages.
|
|
|
|
|
|
%package ada
|
|
Requires: gcc@base_ver@ = %{version}-%{release}
|
|
Requires: libada@base_ver@ = %{version}-%{release}
|
|
Summary: GNU Ada95 Compiler Based on GCC (GNAT)
|
|
Group: Development/Languages/Other
|
|
Autoreqprov: on
|
|
Provides: gnat
|
|
Obsoletes: gnat
|
|
|
|
%description ada
|
|
This package contains an Ada95 compiler and associated development
|
|
tools based on the GNU GCC technology. Ada95 is the object oriented
|
|
successor of the Ada83 language. To build this package from source you
|
|
must have installed a binary version to bootstrap the compiler.
|
|
|
|
|
|
%package -n libada@base_ver@
|
|
Summary: GNU Ada Runtime Libraries
|
|
License: GPL-2.0-with-GCC-exception
|
|
Group: System/Libraries
|
|
Autoreqprov: on
|
|
Provides: libada
|
|
Obsoletes: libada
|
|
Provides: gnat-runtime
|
|
Obsoletes: gnat-runtime
|
|
|
|
%description -n libada@base_ver@
|
|
This package contains the shared libraries required to run programs
|
|
compiled with the GNU Ada compiler (GNAT) if they are compiled to use
|
|
shared libraries. It also contains the shared libraries for the
|
|
Implementation of the Ada Semantic Interface Specification (ASIS), the
|
|
implementation of Distributed Systems Programming (GLADE) and the Posix
|
|
1003.5 Binding (Florist).
|
|
|
|
# PACKAGE-BEGIN
|
|
%package fortran@variant@
|
|
Summary: The GNU Fortran Compiler and Support Files
|
|
Group: Development/Languages/Fortran
|
|
Autoreqprov: on
|
|
Requires: gcc@base_ver@ = %{version}-%{release}
|
|
Requires: libg2c@variant@ >= %{version}-%{release}
|
|
|
|
%description fortran@variant@
|
|
This is the Fortran compiler of the GNU Compiler Collection (GCC).
|
|
# PACKAGE-END
|
|
|
|
# PACKAGE-BEGIN
|
|
%package -n libg2c@base_ver@@variant@
|
|
Summary: The GNU Fortran Compiler Runtime Library
|
|
License: GPL-2.0-with-GCC-exception
|
|
Group: Development/Languages/Fortran
|
|
# Only on ppc separate -64bit packages were used. Split-provide
|
|
# for all other archs properly.
|
|
%ifarch x86_64 s390x
|
|
%if "@variant@" == "-32bit"
|
|
Provides: compat-g77:%{_libdir}/lib/libg2c.so.0
|
|
%endif
|
|
%endif
|
|
Provides: compat-g77@variant@
|
|
Obsoletes: compat-g77@variant@
|
|
Provides: libg2c@variant@ = %{version}-%{release}
|
|
Obsoletes: libg2c@variant@ < %{version}-%{release}
|
|
Autoreqprov: on
|
|
|
|
%description -n libg2c@base_ver@@variant@
|
|
The runtime library needed to run programs compiled with the Fortran compiler
|
|
of the GNU Compiler Collection (GCC).
|
|
|
|
%post -n libg2c@base_ver@@variant@ -p /sbin/ldconfig
|
|
|
|
%postun -n libg2c@base_ver@@variant@ -p /sbin/ldconfig
|
|
# PACKAGE-END
|
|
|
|
|
|
%package java
|
|
Summary: The GNU Java Compiler
|
|
Group: Development/Languages/Java
|
|
Autoreqprov: on
|
|
Requires: gcc@base_ver@ = %{version}-%{release}
|
|
Requires: libgcj@base_ver@-devel = %{version}-%{release}
|
|
|
|
%description java
|
|
The Java compiler from the GCC-tools-suite.
|
|
|
|
|
|
%package -n libgcj@base_ver@
|
|
# LIBJAVA-DELETE-END
|
|
Summary: Java Runtime Library for gcc
|
|
License: GPL-2.0-with-classpath-exception
|
|
Group: System/Libraries
|
|
Provides: libgcj = %{version}-%{release}
|
|
Obsoletes: libgcj
|
|
Autoreqprov: on
|
|
|
|
%description -n libgcj@base_ver@
|
|
This library is needed if you want to use the GNU Java compiler, gcj.
|
|
Source code for this package is in gcc.
|
|
|
|
|
|
%package -n libgcj@base_ver@-devel
|
|
Summary: Include Files and Libraries mandatory for Development.
|
|
License: GPL-2.0-with-classpath-exception
|
|
Group: Development/Libraries/Java
|
|
Autoreqprov: on
|
|
Requires: libstdc++@base_ver@-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 libgcj@base_ver@-devel
|
|
This package contains all necessary include files and libraries needed
|
|
to develop applications that require these.
|
|
|
|
|
|
%package -n gcc@base_ver@-gij
|
|
Summary: Java Bytecode Interpreter for gcc
|
|
Group: Development/Libraries/Java
|
|
Requires: libgcj >= %{version}-%{release}
|
|
Autoreqprov: on
|
|
|
|
%description -n gcc@base_ver@-gij
|
|
This package contains the java bytecode interpreter gij and related tools.
|
|
|
|
|
|
# PACKAGE-BEGIN
|
|
%package -n libffi@base_ver@@variant@
|
|
Summary: Foreign Function Interface library
|
|
License: BSD-3-Clause
|
|
Group: Development/Languages/C and C++
|
|
Autoreqprov: on
|
|
Provides: g-wrap:/usr/lib/libffi.so.4
|
|
|
|
%description -n libffi@base_ver@@variant@
|
|
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 -n libffi@base_ver@-devel@variant@
|
|
Summary: Foreign Function Interface library development files
|
|
Group: Development/Languages/C and C++
|
|
Autoreqprov: on
|
|
Requires: libffi@base_ver@@variant@ >= %{version}-%{release}
|
|
|
|
%description -n libffi@base_ver@-devel@variant@
|
|
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 gcc@base_ver@-testresults
|
|
Summary: Testsuite results
|
|
Group: Development/Languages/C and C++
|
|
|
|
%description -n gcc@base_ver@-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
|
|
%patch88 -p1
|
|
%if 0%{?suse_version} > 1320
|
|
%patch89 -p1
|
|
%endif
|
|
%if 0%{?suse_version} > 1330
|
|
%patch90 -p1
|
|
%endif
|
|
|
|
|
|
%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
|
|
|
|
# the Makefile rules for c-parse.y (from c-parse.in)
|
|
# aren't parallel-make safe, our patches touch .in and .y
|
|
# so just make sure to not try to rebuild .y
|
|
touch gcc/c-parse.y
|
|
|
|
rm -rf obj-%{GCCDIST}
|
|
mkdir obj-%{GCCDIST}
|
|
cd obj-%{GCCDIST}
|
|
|
|
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}" != "gcc@base_ver@"
|
|
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=/
|
|
|
|
# Do not use RPM_OPT_FLAGS, the ancient compiler cannot cope with
|
|
# most of it anyway thus use compiler defaults, -O2 -g
|
|
../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
|
|
make bootstrap-lean $PARALLEL
|
|
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
|
|
|
|
# LIBJAVA-DELETE-BEGIN
|
|
# Fix c++config.h for multilibs
|
|
cxxconfig="`find %{GCCDIST}/libstdc++-v3/include -name c++config.h`"
|
|
for i in `find %{GCCDIST}/[36]*/libstdc++-v3/include -name c++config.h 2>/dev/null`; do
|
|
if ! diff -up $cxxconfig $i; then
|
|
file_32=x
|
|
file_64=x
|
|
case $i in
|
|
%{GCCDIST}/32/*)
|
|
file_32=$i
|
|
file_64=$cxxconfig
|
|
;;
|
|
%{GCCDIST}/64/*)
|
|
file_32=$cxxconfig
|
|
file_64=$i
|
|
;;
|
|
esac
|
|
if ! ( test -f "$file_32" && test -f "$file_64" ); then
|
|
echo "Urgs?"
|
|
exit 1
|
|
fi
|
|
|
|
cat > $RPM_BUILD_ROOT%{_prefix}/include/c++/%{gcc_version}/%{GCCDIST}/bits/c++config.h <<EOF
|
|
#ifndef _CPP_CPPCONFIG_WRAPPER
|
|
#define _CPP_CPPCONFIG_WRAPPER 1
|
|
#include <bits/wordsize.h>
|
|
#if __WORDSIZE == 32
|
|
`cat $file_32`
|
|
#else
|
|
`cat $file_64`
|
|
#endif
|
|
#endif
|
|
EOF
|
|
break
|
|
fi
|
|
done
|
|
# LIBJAVA-DELETE-END
|
|
|
|
# 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
|
|
# LIBJAVA-DELETE-BEGIN
|
|
# move shared libs from versionspecific dir to main libdir
|
|
for libname in \
|
|
%if %{build_fortran}
|
|
libg2c \
|
|
%endif
|
|
libobjc libstdc++ ; 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 %{build_primary_64bit}
|
|
for lib in `find $RPM_BUILD_ROOT%{versmainlibdirbi32} -maxdepth 1 -name "$libname.so.*"`; do
|
|
mv $lib $RPM_BUILD_ROOT%{mainlibdirbi32}/
|
|
done
|
|
ln -sf %{mainlibdirbi32}/`readlink $RPM_BUILD_ROOT%{versmainlibdirbi32}/$libname.so | sed -e 's/\(.*\.so\.[^\.]*\).*/\1/'` \
|
|
$RPM_BUILD_ROOT%{versmainlibdirbi32}/$libname.so
|
|
%else
|
|
for lib in `find $RPM_BUILD_ROOT%{versmainlibdirbi64} -maxdepth 1 -name "$libname.so.*"`; do
|
|
mv $lib $RPM_BUILD_ROOT%{mainlibdirbi64}/
|
|
done
|
|
ln -sf %{mainlibdirbi64}/`readlink $RPM_BUILD_ROOT%{versmainlibdirbi64}/$libname.so | sed -e 's/\(.*\.so\.[^\.]*\).*/\1/'` \
|
|
$RPM_BUILD_ROOT%{versmainlibdirbi64}/$libname.so
|
|
%endif
|
|
%endif
|
|
done
|
|
%endif
|
|
|
|
# Move libgcc_s around
|
|
rm -f $RPM_BUILD_ROOT/%{_lib}/libgcc_s.so
|
|
ln -sf /%{_lib}/libgcc_s.so.%{libgcc_s} $RPM_BUILD_ROOT%{versmainlibdir}/libgcc_s.so
|
|
chmod a+x $RPM_BUILD_ROOT/%{_lib}/libgcc_s.so.%{libgcc_s}
|
|
%if %{biarch}
|
|
%if %{build_primary_64bit}
|
|
rm -f $RPM_BUILD_ROOT/lib/libgcc_s*.so
|
|
ln -sf /lib/libgcc_s.so.%{libgcc_s} $RPM_BUILD_ROOT%{versmainlibdirbi32}/libgcc_s.so
|
|
ln -sf /lib/libgcc_s.so.%{libgcc_s} $RPM_BUILD_ROOT%{versmainlibdirbi32}/libgcc_s_32.so
|
|
chmod a+x $RPM_BUILD_ROOT/lib/libgcc_s.so.%{libgcc_s}
|
|
%else
|
|
# 32-bit biarch systems
|
|
rm -f $RPM_BUILD_ROOT/lib64/libgcc_s*.so
|
|
ln -sf /lib64/libgcc_s.so.%{libgcc_s} $RPM_BUILD_ROOT%{versmainlibdirbi64}/libgcc_s.so
|
|
ln -sf /lib64/libgcc_s.so.%{libgcc_s} $RPM_BUILD_ROOT%{versmainlibdirbi64}/libgcc_s_64.so
|
|
chmod a+x $RPM_BUILD_ROOT/lib64/libgcc_s.so.%{libgcc_s}
|
|
%endif
|
|
# LIBJAVA-DELETE-END
|
|
%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/asm-*
|
|
rm -rf $RPM_BUILD_ROOT%{libsubdir}/include/linux
|
|
rm -f $RPM_BUILD_ROOT%{libsubdir}/include/math.h
|
|
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
|
|
# ??? The libstdc++5 locale conflicts with the libstdc++6 locale.
|
|
# prefer the libstdc++6 one by simply removing ours
|
|
rm -f $RPM_BUILD_ROOT%{_prefix}/share/locale/*/LC_MESSAGES/libstdc++.mo
|
|
|
|
# Do not package gcc-info as that conflicts with later gcc
|
|
%if %{suse_version} >= 1010
|
|
rm -f $RPM_BUILD_ROOT%{_infodir}/*.info*
|
|
%endif
|
|
|
|
# LIBJAVA-DELETE-BEGIN
|
|
%post info
|
|
%install_info --info-dir=%{_infodir} %{_infodir}/cpp.info.gz
|
|
%install_info --info-dir=%{_infodir} %{_infodir}/cppinternals.info.gz
|
|
%install_info --info-dir=%{_infodir} %{_infodir}/gcc.info.gz
|
|
%install_info --info-dir=%{_infodir} %{_infodir}/gccint.info.gz
|
|
%if %{build_fortran}
|
|
%install_info --info-dir=%{_infodir} %{_infodir}/g77.info.gz
|
|
%endif
|
|
%if %{build_java}
|
|
%install_info --info-dir=%{_infodir} %{_infodir}/gcj.info.gz
|
|
%endif
|
|
%if %{build_ada}
|
|
%install_info --info-dir=%{_infodir} %{_infodir}/gnat-style.info.gz
|
|
%install_info --info-dir=%{_infodir} %{_infodir}/gnat_rm.info.gz
|
|
%install_info --info-dir=%{_infodir} --section="GNU Ada tools" --entry="* GNAT User's Guide: (gnat_ug_unx). GNAT User's Guide for Unix Platforms" %{_infodir}/gnat_ug_unx.info.gz
|
|
%endif
|
|
|
|
%postun info
|
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/cpp.info.gz
|
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/cppinternals.info.gz
|
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/gcc.info.gz
|
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/gccint.info.gz
|
|
%if %{build_fortran}
|
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/g77.info.gz
|
|
%endif
|
|
%if %{build_java}
|
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/gcj.info.gz
|
|
%endif
|
|
%if %{build_ada}
|
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/gnat-style.info.gz
|
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/gnat_rm.info.gz
|
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/gnat_ug_unx.info.gz
|
|
%endif
|
|
|
|
|
|
%clean
|
|
%if %{suse_version} >= 1315
|
|
# For SLE12 keeping libgcc33 around breaks virus scanning as after
|
|
# the package install test libgcc33 remains on the system making
|
|
# clamav fail to load
|
|
# No product newer than SLE9 should ever need this library anyway
|
|
rm /home/abuild/rpmbuild/RPMS/*/libgcc@base_ver@-${version}*
|
|
rm -f /home/abuild/rpmbuild/RPMS/*/libgcc@base_ver@-32bit-${version}*
|
|
rm -f /home/abuild/rpmbuild/RPMS/*/libgcc@base_ver@-64bit-${version}*
|
|
%endif
|
|
|
|
|
|
%files
|
|
%defattr(-,root,root)
|
|
%dir %{_libdir}/gcc-lib
|
|
%dir %{_libdir}/gcc-lib/%{GCCDIST}
|
|
%dir %{libsubdir}
|
|
%dir %{libsubdir}/include
|
|
%if %{biarch}
|
|
%if %{build_primary_64bit}
|
|
# This link is essential for correct execution
|
|
%{_libdir}/32
|
|
/%{_lib}/32
|
|
%dir %{libsubdir}/32
|
|
%else
|
|
%{_libdir}/64
|
|
%dir %{libsubdir}/64
|
|
%endif
|
|
%endif
|
|
%if %{build_nof}
|
|
%dir %{libsubdir}/nof
|
|
%endif
|
|
%{_prefix}/bin/gcc%{binsuffix}
|
|
%{_prefix}/bin/gcov%{binsuffix}
|
|
%{libsubdir}/collect2
|
|
%{libsubdir}/include/README
|
|
%{libsubdir}/include/float.h
|
|
%{libsubdir}/include/iso646.h
|
|
%{libsubdir}/include/limits.h
|
|
%{libsubdir}/include/stdarg.h
|
|
%{libsubdir}/include/stdbool.h
|
|
%{libsubdir}/include/stddef.h
|
|
%{libsubdir}/include/syslimits.h
|
|
%{libsubdir}/include/unwind.h
|
|
%{libsubdir}/include/varargs.h
|
|
%ifarch ppc ppc64
|
|
%{libsubdir}/include/altivec.h
|
|
%{libsubdir}/include/ppc-asm.h
|
|
%endif
|
|
%ifarch ia64
|
|
%{libsubdir}/include/ia64intrin.h
|
|
%endif
|
|
%ifarch %arm
|
|
%{libsubdir}/include/mmintrin.h
|
|
%endif
|
|
%ifarch %ix86 x86_64
|
|
%{libsubdir}/include/mmintrin.h
|
|
%{libsubdir}/include/emmintrin.h
|
|
%{libsubdir}/include/pmmintrin.h
|
|
%{libsubdir}/include/xmmintrin.h
|
|
%endif
|
|
%{libsubdir}/specs
|
|
%versmainlib *crt*.o
|
|
%versmainlib libgcc*.a
|
|
%versmainlib libgcc_s*.so
|
|
%doc %{_mandir}/man1/gcc%{binsuffix}.1.gz
|
|
%doc %{_mandir}/man1/gcov%{binsuffix}.1.gz
|
|
|
|
%if %{separate_biarch}
|
|
%files -n gcc@base_ver@%{separate_biarch_suffix}
|
|
%defattr(-,root,root)
|
|
%versbiarchlib *crt*.o
|
|
%versbiarchlib libgcc*.a
|
|
%versbiarchlib libgcc_s*.so
|
|
%endif
|
|
|
|
%if !%{versionspecificlibs}
|
|
%files locale
|
|
%defattr(-,root,root)
|
|
%{_prefix}/share/locale/*/LC_MESSAGES/gcc.mo
|
|
%endif
|
|
|
|
%files c++
|
|
%defattr(-,root,root)
|
|
%dir %{_libdir}/gcc-lib
|
|
%dir %{_libdir}/gcc-lib/%{GCCDIST}
|
|
%dir %{libsubdir}
|
|
%{_prefix}/bin/g++%{binsuffix}
|
|
%doc %{_mandir}/man1/g++%{binsuffix}.1.gz
|
|
%{libsubdir}/cc1plus
|
|
|
|
%files -n libstdc++@base_ver@-devel -f c++-headers
|
|
%defattr(-,root,root)
|
|
%versmainlib libstdc++.a
|
|
%versmainlib libstdc++.so
|
|
%versmainlib libsupc++.a
|
|
|
|
%if %{separate_biarch}
|
|
%files -n libstdc++@base_ver@-devel%{separate_biarch_suffix}
|
|
%defattr(-,root,root)
|
|
%versbiarchlib libstdc++.a
|
|
%versbiarchlib libstdc++.so
|
|
%versbiarchlib libsupc++.a
|
|
%endif
|
|
|
|
%files -n libstdc++@base_ver@-doc
|
|
%defattr(-,root,root)
|
|
%doc libstdc++-v3/docs/html
|
|
|
|
%files -n libgcc@base_ver@
|
|
%defattr(-,root,root)
|
|
%if %{versionspecificlibs}
|
|
%versmainlib libgcc_s.so.%{libgcc_s}
|
|
%else
|
|
# not versionspecificlibs
|
|
/%{_lib}/libgcc_s.so.%{libgcc_s}
|
|
%if %{build_nof}
|
|
%dir /lib/nof
|
|
/lib/nof/libgcc_s.so.%{libgcc_s}
|
|
%endif
|
|
%if %{biarch}
|
|
%if %{build_primary_64bit}
|
|
%if !%{separate_bi32}
|
|
/lib/libgcc_s.so.%{libgcc_s}
|
|
%endif
|
|
%else
|
|
%if !%{separate_bi64}
|
|
/lib64/libgcc_s.so.%{libgcc_s}
|
|
%endif
|
|
%endif
|
|
%endif
|
|
%endif
|
|
|
|
%if %{separate_bi64}
|
|
%files -n libgcc@base_ver@-64bit
|
|
%defattr(-,root,root)
|
|
%if %{versionspecificlibs}
|
|
%versbiarchlib libgcc_s.so.%{libgcc_s}
|
|
%else
|
|
/lib64/libgcc_s.so.%{libgcc_s}
|
|
%endif
|
|
%endif
|
|
|
|
%if %{separate_bi32}
|
|
%files -n libgcc@base_ver@-32bit
|
|
%defattr(-,root,root)
|
|
%if %{versionspecificlibs}
|
|
%versbiarchlib libgcc_s.so.%{libgcc_s}
|
|
%else
|
|
/lib/libgcc_s.so.%{libgcc_s}
|
|
%endif
|
|
%endif
|
|
|
|
|
|
%files -n libstdc++@base_ver@
|
|
%defattr(-,root,root)
|
|
%if %{build_nof}
|
|
%dir %{noflibdir}
|
|
%endif
|
|
%mainlib libstdc++.so.*
|
|
|
|
%if %{separate_biarch}
|
|
%files -n libstdc++@base_ver@%{separate_biarch_suffix}
|
|
%defattr(-,root,root)
|
|
%biarchlib libstdc++.so.*
|
|
%endif
|
|
|
|
%if %{build_fortran}
|
|
%files fortran
|
|
%defattr(-,root,root)
|
|
%{_prefix}/bin/g77%{binsuffix}
|
|
%{libsubdir}/f771
|
|
%{libsubdir}/include/g2c.h
|
|
%versmainlib libg2c.a
|
|
%versmainlib libg2c.so
|
|
%versmainlib libfrtbegin.a
|
|
%doc %{_mandir}/man1/g77%{binsuffix}.1.gz
|
|
|
|
%if %{separate_biarch}
|
|
%files fortran%{separate_biarch_suffix}
|
|
%defattr(-,root,root)
|
|
%versbiarchlib libg2c.a
|
|
%versbiarchlib libg2c.so
|
|
%versbiarchlib libfrtbegin.a
|
|
%endif
|
|
|
|
%files -n libg2c@base_ver@
|
|
%defattr(-,root,root)
|
|
%mainlib libg2c.so.*
|
|
|
|
%if %{separate_biarch}
|
|
%files -n libg2c@base_ver@%{separate_biarch_suffix}
|
|
%defattr(-,root,root)
|
|
%biarchlib libg2c.so.*
|
|
%endif
|
|
%endif
|
|
|
|
%if %{suse_version} < 1010
|
|
%if !%{versionspecificlibs}
|
|
%files info
|
|
%defattr(-,root,root)
|
|
%doc %{_infodir}/cpp.info*.gz
|
|
%doc %{_infodir}/cppinternals.info*.gz
|
|
%doc %{_infodir}/gcc.info*.gz
|
|
%doc %{_infodir}/gccint.info*.gz
|
|
%if %{build_fortran}
|
|
%doc %{_infodir}/g77.info*.gz
|
|
%endif
|
|
%if %{build_java}
|
|
%doc %{_infodir}/gcj.info*.gz
|
|
%endif
|
|
%if %{build_ada}
|
|
%doc %{_infodir}/gnat-style.info*gz
|
|
%doc %{_infodir}/gnat_rm.info*gz
|
|
%doc %{_infodir}/gnat_ugn_unw.info*gz
|
|
%endif
|
|
%endif
|
|
%endif
|
|
|
|
%files -n cpp@base_ver@
|
|
%defattr(-,root,root)
|
|
%dir %{_libdir}/gcc-lib
|
|
%dir %{_libdir}/gcc-lib/%{GCCDIST}
|
|
%dir %{libsubdir}
|
|
%{_prefix}/bin/cpp%{binsuffix}
|
|
%{libsubdir}/cc1
|
|
#%{libsubdir}/specs
|
|
%doc %{_mandir}/man1/cpp%{binsuffix}.1.gz
|
|
|
|
%files objc
|
|
%defattr(-,root,root)
|
|
%{libsubdir}/cc1obj
|
|
%{libsubdir}/include/objc
|
|
%versmainlib libobjc.a
|
|
%versmainlib libobjc.so
|
|
|
|
%if %{separate_biarch}
|
|
%files objc%{separate_biarch_suffix}
|
|
%defattr(-,root,root)
|
|
%versbiarchlib libobjc.a
|
|
%versbiarchlib libobjc.so
|
|
%endif
|
|
|
|
%files -n libobjc@base_ver@
|
|
%defattr(-,root,root)
|
|
%mainlib libobjc.so.*
|
|
|
|
%if %{separate_biarch}
|
|
%files -n libobjc@base_ver@%{separate_biarch_suffix}
|
|
%defattr(-,root,root)
|
|
%biarchlib libobjc.so.*
|
|
%endif
|
|
|
|
|
|
%if %{build_objcp}
|
|
%files obj-c++
|
|
%defattr(-,root,root)
|
|
%{libsubdir}/cc1objplus
|
|
%endif
|
|
|
|
|
|
%if %{build_ada}
|
|
%files ada
|
|
%defattr(-,root,root)
|
|
%dir %{_libdir}/gcc-lib
|
|
%dir %{_libdir}/gcc-lib/%{GCCDIST}
|
|
%dir %{libsubdir}
|
|
%{_prefix}/bin/gnat*
|
|
%{_prefix}/bin/gpr*
|
|
%{libsubdir}/adainclude
|
|
%dir %{libsubdir}/adalib
|
|
%{libsubdir}/adalib/*.ali
|
|
%{libsubdir}/adalib/*.a
|
|
%{libsubdir}/adalib/libgnarl.so
|
|
%{libsubdir}/adalib/libgnat.so
|
|
%{libsubdir}/adalib/g-trasym.o
|
|
%{libsubdir}/gnat1
|
|
|
|
%files -n libada@base_ver@
|
|
%defattr(-,root,root)
|
|
# Ada is not multilibbed
|
|
%{mainlibdir}/libgnarl-*.so
|
|
%{mainlibdir}/libgnat-*.so
|
|
%endif
|
|
|
|
|
|
%if %{build_java}
|
|
%files java
|
|
%defattr(-,root,root)
|
|
%{_prefix}/bin/gcj%{binsuffix}
|
|
%{_prefix}/bin/gcjh%{binsuffix}
|
|
%{_prefix}/bin/jcf-dump%{binsuffix}
|
|
%{_prefix}/bin/jv-scan%{binsuffix}
|
|
%{_prefix}/bin/jar%{binsuffix}
|
|
%{libsubdir}/jc1
|
|
%{libsubdir}/jvgenmain
|
|
%doc %{_mandir}/man1/gcj%{binsuffix}.1.gz
|
|
%doc %{_mandir}/man1/gcjh%{binsuffix}.1.gz
|
|
%doc %{_mandir}/man1/jcf-dump%{binsuffix}.1.gz
|
|
%doc %{_mandir}/man1/jv-scan%{binsuffix}.1.gz
|
|
%doc %{_mandir}/man1/jar%{binsuffix}.1.gz
|
|
%doc %{_mandir}/man1/jv-convert%{binsuffix}.1.gz
|
|
%doc %{_mandir}/man1/rmic%{binsuffix}.1.gz
|
|
%doc %{_mandir}/man1/rmiregistry%{binsuffix}.1.gz
|
|
%endif
|
|
# LIBJAVA-DELETE-END
|
|
|
|
%if %{build_java}
|
|
%if %{build_libjava}
|
|
%files -n libgcj@base_ver@
|
|
%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 libgcj@base_ver@-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 gcc@base_ver@-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 libffi@base_ver@
|
|
%defattr(-,root,root)
|
|
%mainlib libffi.so.*
|
|
|
|
%if %{separate_biarch}
|
|
%files -n libffi@base_ver@%{separate_biarch_suffix}
|
|
%defattr(-,root,root)
|
|
%biarchlib libffi.so.*
|
|
%endif
|
|
|
|
%files -n libffi@base_ver@-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 libffi@base_ver@-devel%{separate_biarch_suffix}
|
|
%defattr(-,root,root)
|
|
%biarchlib libffi.so
|
|
%biarchlib libffi.a
|
|
%biarchlib libffi.la
|
|
%endif
|
|
%endif
|
|
%endif
|
|
|
|
%if %{run_tests}
|
|
%files -n gcc@base_ver@-testresults
|
|
%defattr(-,root,root)
|
|
%doc testresults/*.sum
|
|
%doc testresults/*.log
|
|
%endif
|
|
|
|
|
|
%changelog -n gcc
|
|
* Wed Oct 29 2003 - aj@suse.de
|
|
- New package.
|
|
|