mirror of
https://abf.rosa.ru/djam/cross-ppc-gcc.git
synced 2025-02-23 10:42:58 +00:00
2284 lines
74 KiB
RPMSpec
2284 lines
74 KiB
RPMSpec
##
|
||
## This a generated specfile from gcc.spec
|
||
##
|
||
%define cross_bootstrap ppc
|
||
##
|
||
%define name %{cross_prefix}gcc%{package_suffix}
|
||
%define branch 3.4
|
||
%define branch_tag %(perl -e 'printf "%%02d%%02d", split(/\\./,shift)' %{branch})
|
||
%define version 3.4.3
|
||
#define snapshot_version %{version}
|
||
%define snapshot_version 3.4.4
|
||
%define release %mkrel 8
|
||
%define biarches x86_64
|
||
|
||
# TODO: Provide fastjar, gccint info pages?
|
||
%define _unpackaged_files_terminate_build 0
|
||
|
||
# Define libraries major versions
|
||
%define libgcc_major 1
|
||
%define libstdcxx_major 6
|
||
%define libstdcxx_minor 3
|
||
%define libf2c_major 0
|
||
%define libgcj_major 5
|
||
%define libobjc_major 1
|
||
%define libgnat_major 1
|
||
%define libffi_major 2
|
||
|
||
# Package holding Java tools (gij, jv-convert, etc.)
|
||
%define GCJ_TOOLS %{cross_prefix}gcj%{package_suffix}-tools
|
||
|
||
#-- JDK version
|
||
# "gcj" implements the JDK 1.1 language, "libgcj" is largely compatible with JDK 1.2
|
||
%define JDK_VERSION 1.2
|
||
|
||
#-- Alternatives for Java tools
|
||
# Sun JDK 40
|
||
# Kaffe 30
|
||
# Gcj 3.2 20
|
||
%define gcj_alternative_priority 20
|
||
%define gcj_alternative_programs jar rmic rmiregistry grepjar java
|
||
|
||
# Define Mandrakelinux version we are building for
|
||
%define mdkversion %(perl -pe '/(\\d+)\\.(\\d)\\.?(\\d)?/; $_="$1$2".($3||0)' /etc/mandrake-release)
|
||
|
||
# Define if building a cross compiler
|
||
# FIXME: assume user does not define both cross and cross_bootstrap variables
|
||
%define build_cross 0
|
||
%define build_cross_bootstrap 0
|
||
%{expand: %{?cross: %%global build_cross 1}}
|
||
%{expand: %{?cross_bootstrap: %%global build_cross_bootstrap 1}}
|
||
|
||
%define system_compiler 1
|
||
%define target_cpu %{_target_cpu}
|
||
%if %{build_cross}
|
||
%define system_compiler 0
|
||
%define target_cpu %{cross}
|
||
%endif
|
||
%if %{build_cross_bootstrap}
|
||
%define build_cross 1
|
||
%define system_compiler 0
|
||
%define target_cpu %{cross_bootstrap}
|
||
%endif
|
||
%if %{system_compiler}
|
||
%define alternative_priority 30%{branch_tag}
|
||
%define cross_prefix %{nil}
|
||
%define cross_program_prefix %{nil}
|
||
%define package_suffix %{nil}
|
||
%define program_prefix %{nil}
|
||
%define program_suffix %{nil}
|
||
%else
|
||
%if %{build_cross}
|
||
%define alternative_priority 10%{branch_tag}
|
||
%define cross_prefix cross-%{target_cpu}-
|
||
%define cross_program_prefix %{target_cpu}-linux-
|
||
%define package_suffix %{nil}
|
||
%define program_prefix %{cross_program_prefix}
|
||
%define program_suffix %{nil}
|
||
%else
|
||
%define alternative_priority 20%{branch_tag}
|
||
%define cross_prefix %{nil}
|
||
%define cross_program_prefix %{nil}
|
||
%define package_suffix %{branch}
|
||
%define program_prefix %{nil}
|
||
%define program_suffix -%{version}
|
||
%endif
|
||
%endif
|
||
%define _alternativesdir /etc/alternatives
|
||
%if "%{package_suffix}" == "%{nil}"
|
||
%define _package_suffix %{nil}
|
||
%else
|
||
%define _package_suffix -%{package_suffix}
|
||
%endif
|
||
|
||
%define RELEASE 0
|
||
%if %{RELEASE}
|
||
%define source_package gcc-%{version}
|
||
%define source_dir gcc-%{version}
|
||
%else
|
||
%define snapshot 20041228
|
||
%define source_package gcc-%{snapshot_version}-%{snapshot}
|
||
%define source_dir gcc-%{snapshot_version}
|
||
%endif
|
||
|
||
# Define GCC target platform, and arch we built for
|
||
%if %{build_cross}
|
||
%define arch %{target_cpu}
|
||
%define gcc_target_platform %{target_cpu}-linux
|
||
%define target_prefix %{_prefix}/%{gcc_target_platform}
|
||
%define target_libdir %{target_prefix}/lib
|
||
%define target_slibdir %{target_prefix}/lib
|
||
%else
|
||
%define arch %(echo %{_target_cpu}|sed -e "s/i.86/i386/" -e "s/athlon/i386/" -e "s/amd64/x86_64/")
|
||
%define gcc_target_platform %{_target_platform}
|
||
%define target_prefix %{_prefix}
|
||
%define target_libdir %{_libdir}
|
||
%define target_slibdir /%{_lib}
|
||
%endif
|
||
%define gcc_libdir %{_prefix}/lib/gcc
|
||
|
||
# Location of Java headers, don't let them in compiler specific
|
||
# directory as they are grabbed first
|
||
%define libjava_includedir %{target_prefix}/include/libgcj-%{version}
|
||
|
||
# We now have versioned libstdcxx_includedir, that is c++/<VERSION>/
|
||
%define libstdcxx_includedir %{target_prefix}/include/c++/%{version}
|
||
|
||
%define color_gcc_version 1.3.2
|
||
%define build_minimal 0
|
||
%define build_doc 1
|
||
%define build_pdf_doc 1
|
||
%define build_check 1
|
||
%define build_ada 0
|
||
%define gpc_snapshot 20040516
|
||
%define build_pascal 0
|
||
%ifarch noarch
|
||
%define build_pascal 1
|
||
%endif
|
||
%ifarch %{ix86} x86_64
|
||
# XXX: ada is broken on 64-bit arches
|
||
%define build_ada 1
|
||
%endif
|
||
%define build_cxx 1
|
||
%define build_fortran 1
|
||
%define build_objc 1
|
||
%ifarch sparc sparcv9 sparc64
|
||
%define build_libffi 0
|
||
%define build_java 0
|
||
%else
|
||
%define build_libffi 1
|
||
%define build_java 1
|
||
%endif
|
||
%define build_colorgcc 1
|
||
%define build_debug 0
|
||
%if !%{system_compiler}
|
||
%define build_fortran 0
|
||
%define build_objc 0
|
||
%define build_pascal 0
|
||
%define build_ada 0
|
||
%define build_colorgcc 0
|
||
#define build_java 0
|
||
%define build_libffi 0
|
||
%endif
|
||
|
||
# Allow --with[out] <feature> at rpm command line build
|
||
%{expand: %{?_without_PDF: %%global build_pdf_doc 0}}
|
||
%{expand: %{?_without_DEBUG: %%global build_debug 0}}
|
||
%{expand: %{?_without_CHECK: %%global build_check 0}}
|
||
%{expand: %{?_without_MINIMAL: %%global build_minimal 0}}
|
||
%{expand: %{?_with_PDF: %%global build_pdf_doc 1}}
|
||
%{expand: %{?_with_DEBUG: %%global build_debug 1}}
|
||
%{expand: %{?_with_CHECK: %%global build_check 1}}
|
||
%{expand: %{?_with_MINIMAL: %%global build_minimal 1}}
|
||
|
||
# Allow --without <front-end> at rpm command line build
|
||
%{expand: %{?_with_CXX: %%global build_cxx 1}}
|
||
%{expand: %{?_with_ADA: %%global build_ada 1}}
|
||
%{expand: %{?_with_F77: %%global build_fortran 1}}
|
||
%{expand: %{?_with_JAVA: %%global build_java 1}}
|
||
%{expand: %{?_with_OBJC: %%global build_objc 1}}
|
||
%{expand: %{?_with_PASCAL: %%global build_pascal 1}}
|
||
|
||
# Allow --with <front-end> at rpm command line build
|
||
%{expand: %{?_without_CXX: %%global build_cxx 0}}
|
||
%{expand: %{?_without_ADA: %%global build_ada 0}}
|
||
%{expand: %{?_without_F77: %%global build_fortran 0}}
|
||
%{expand: %{?_without_JAVA: %%global build_java 0}}
|
||
%{expand: %{?_without_OBJC: %%global build_objc 0}}
|
||
%{expand: %{?_without_PASCAL: %%global build_pascal 0}}
|
||
|
||
# A minimal build overrides all other options
|
||
%if %{build_cross_bootstrap}
|
||
%define build_minimal 1
|
||
%endif
|
||
%if %{build_minimal}
|
||
%define build_doc 0
|
||
%define build_pdf_doc 0
|
||
%define build_check 0
|
||
%define build_ada 0
|
||
%define build_cxx 0
|
||
%define build_fortran 0
|
||
%define build_objc 0
|
||
%define build_java 0
|
||
%define build_pascal 0
|
||
%define build_colorgcc 0
|
||
%define build_debug 0
|
||
%endif
|
||
%if %{build_cross}
|
||
%define build_doc 0
|
||
%define build_pdf_doc 0
|
||
# Unsupported features when cross-compiling for now
|
||
%define build_check 0
|
||
%define build_colorgcc 0
|
||
%define build_pascal 0
|
||
%define build_java 0
|
||
%define build_ada 0
|
||
%endif
|
||
|
||
# Define library packages names
|
||
%define libgcc_name_orig %{cross_prefix}libgcc
|
||
%define libgcc_name %{libgcc_name_orig}%{libgcc_major}
|
||
%define libstdcxx_name_orig %{cross_prefix}libstdc++
|
||
%define libstdcxx_name %{libstdcxx_name_orig}%{libstdcxx_major}
|
||
%define libf2c_name_orig %{cross_prefix}libf2c
|
||
%define libf2c_name %{libf2c_name_orig}%{libf2c_major}
|
||
%define libgcj_name_orig %{cross_prefix}libgcj
|
||
%define libgcj_name %{libgcj_name_orig}%{libgcj_major}
|
||
%define libobjc_name_orig %{cross_prefix}libobjc
|
||
%define libobjc_name %{libobjc_name_orig}%{libobjc_major}
|
||
%define libgnat_name_orig %{cross_prefix}libgnat
|
||
%define libgnat_name %{libgnat_name_orig}%{libgnat_major}
|
||
%define libffi_name_orig %{cross_prefix}libffi
|
||
%define libffi_name %{libffi_name_orig}%{libffi_major}
|
||
|
||
%if %{mdkversion} >= 1010
|
||
%{expand:%%define mdk_version %(A=$(awk '{print $3}' /etc/release); if [ -n "$A" ];then echo $A;else echo Cooker;fi)}
|
||
%else
|
||
%{expand:%%define mdk_version %(A=$(awk '{print $4}' /etc/mandrake-release); if [ -n "$A" ];then echo $A;else echo Cooker;fi)}
|
||
%endif
|
||
|
||
Summary: GNU Compiler Collection
|
||
Name: %{name}
|
||
Version: %{version}
|
||
Release: %{release}
|
||
License: GPL
|
||
Group: Development/C
|
||
|
||
# Main source: (CVS)
|
||
URL: http://gcc.gnu.org/
|
||
Source0: %{source_package}.tar.bz2
|
||
Source1: gcc34-java.bz2
|
||
Source2: gcc34-javac.bz2
|
||
Source3: gcc32-jdk-config.bz2
|
||
# ColorGCC: http://home.i1.net/~jamoyers/software/colorgcc/
|
||
Source4: colorgcc-%{color_gcc_version}.tar.bz2
|
||
Source5: gcc34-gpc-%{gpc_snapshot}.tar.bz2
|
||
# FIXME: unless we get proper help2man package
|
||
Source6: gcc33-help2man.pl.bz2
|
||
Source7: gcc34-gnatmake-bash-completion.bz2
|
||
Source8: build_cross_gcc.sh
|
||
|
||
# CVS patches
|
||
Patch1: gcc33-pr11536-testcase.patch.bz2
|
||
Patch2: gcc33-pr9929-testcase.patch.bz2
|
||
Patch3: gcc34-ada-64bithack.patch.bz2
|
||
Patch4: gcc34-dont-crash-with-nonexistent-file.patch.bz2
|
||
|
||
# Mandrake patches
|
||
Patch100: colorgcc-1.3.2-mdkconf.patch.bz2
|
||
Patch101: gcc33-pass-slibdir.patch.bz2
|
||
Patch102: gcc32-pr7434-testcase.patch.bz2
|
||
Patch103: gcc33-pr8213-testcase.patch.bz2
|
||
Patch104: gcc34-amd64-biarch-testsuite.patch.bz2
|
||
Patch105: gcc34-ada-link.patch.bz2
|
||
Patch106: gcc34-ada-makefile.patch.bz2
|
||
Patch107: gcc33-multi-do-libdir.patch.bz2
|
||
Patch108: gcc34-cross-inhibit_libc.patch.bz2
|
||
Patch109: gcc32-mklibgcc-serialize-crtfiles.patch.bz2
|
||
Patch110: gcc34-c++-classfn-member-template.patch.bz2
|
||
Patch111: gcc34-gpc-fixes.patch.bz2
|
||
Patch112: gcc33-gpc-serialize-build.patch.bz2
|
||
Patch113: gcc33-pr11631.patch.bz2
|
||
Patch114: gcc34-pch-mdkflags.patch.bz2
|
||
Patch115: gcc34-cross-build-fixes.patch.bz2
|
||
Patch116: gcc34-biarch-personality.patch.bz2
|
||
Patch117: gcc34-visibility4.patch.bz2
|
||
Patch118: gcc34-visibility5.patch.bz2
|
||
|
||
# Red Hat patches
|
||
Patch200: gcc33-2.96-RH-compat.patch.bz2
|
||
Patch201: gcc34-fde-merge-compat.patch.bz2
|
||
Patch202: gcc34-debug-pr7241.patch.bz2
|
||
Patch203: gcc34-visibility1.patch.bz2
|
||
Patch204: gcc34-visibility2.patch.bz2
|
||
Patch205: gcc34-visibility3.patch.bz2
|
||
|
||
BuildRoot: %{_tmppath}/%{name}-%{version}-root
|
||
# Want updated alternatives priorities
|
||
%if %{build_cross}
|
||
Conflicts: gcc-cpp < 3.2.2-4mdk
|
||
%endif
|
||
# We want -pie support
|
||
%if %{mdkversion} >= 1020
|
||
%define binutils_version 2.15.92.0.2-1mdk
|
||
%else
|
||
%if %{mdkversion} >= 1010
|
||
%define binutils_version 2.15.90.0.3-1mdk
|
||
%else
|
||
%define binutils_version 2.14.90.0.5-1mdk
|
||
%endif
|
||
%endif
|
||
Requires: %{cross_prefix}binutils >= %{binutils_version}
|
||
BuildRequires: %{cross_prefix}binutils >= %{binutils_version}
|
||
# Make sure gdb will understand DW_FORM_strp
|
||
Conflicts: gdb < 5.1.1
|
||
BuildRequires: zlib-devel
|
||
%if %{build_ada}
|
||
# Ada requires Ada to build
|
||
BuildRequires: %{name}-gnat >= 3.1, %{libgnat_name} >= 3.1
|
||
%endif
|
||
Requires: %{name}-cpp = %{version}-%{release}
|
||
# FIXME: We need a libgcc with 3.4 symbols
|
||
Requires: %{libgcc_name_orig} >= 3.3.2-5mdk
|
||
Requires(post,preun): info-install
|
||
Requires(post,preun): update-alternatives
|
||
BuildRequires: gettext, flex, bison
|
||
BuildRequires: texinfo >= 4.1
|
||
# Make sure pthread.h doesn't contain __thread keyword
|
||
%if !%{build_cross_bootstrap}
|
||
Requires: %{cross_prefix}glibc-devel >= 2.2.5-14mdk
|
||
BuildRequires: %{cross_prefix}glibc-devel >= 2.2.5-14mdk
|
||
%endif
|
||
%if %{build_check}
|
||
%if %{mdkversion} >= 900
|
||
BuildRequires: %{cross_prefix}glibc-static-devel >= 2.2.5-14mdk
|
||
%endif
|
||
%endif
|
||
%if %{system_compiler}
|
||
Obsoletes: gcc%{branch}
|
||
Provides: gcc%{branch} = %{version}-%{release}
|
||
%endif
|
||
%if %{build_pdf_doc}
|
||
BuildRequires: tetex, tetex-dvips, tetex-latex
|
||
%endif
|
||
%if %{build_check}
|
||
BuildRequires: dejagnu
|
||
%endif
|
||
|
||
%description
|
||
A compiler aimed at integrating all the optimizations and features
|
||
necessary for a high-performance and stable development environment.
|
||
This package is required for all other GCC compilers, namely C++,
|
||
Fortran 77, Objective C and Java.
|
||
|
||
If you have multiple versions of GCC installed on your system, it is
|
||
preferred to type "gcc-$(gcc%{branch}-version)" (without double quotes) in
|
||
order to use the GNU C compiler version %{version}.
|
||
|
||
%package -n %{libgcc_name}
|
||
Summary: GNU C library
|
||
Group: System/Libraries
|
||
Provides: %{libgcc_name_orig} = %{version}-%{release}
|
||
Obsoletes: %{libgcc_name_orig}%{branch}
|
||
Provides: %{libgcc_name_orig}%{branch} = %{version}-%{release}
|
||
Obsoletes: %{libgcc_name_orig}3.0
|
||
Provides: %{libgcc_name_orig}3.0 = %{version}-%{release}
|
||
Provides: %{libgcc_name_orig}3.2 = %{version}-%{release}
|
||
|
||
%description -n %{libgcc_name}
|
||
The %{libgcc_name} package contains GCC shared libraries for gcc %{branch}
|
||
|
||
####################################################################
|
||
# C++ Compiler
|
||
|
||
%package c++
|
||
Summary: C++ support for gcc
|
||
Group: Development/C++
|
||
%if %{system_compiler}
|
||
Obsoletes: gcc%{branch}-c++
|
||
Provides: gcc%{branch}-c++ = %{version}-%{release}
|
||
%endif
|
||
Requires: %{name} = %{version}-%{release}
|
||
Requires: %{libstdcxx_name} = %{version}
|
||
Requires: %{libstdcxx_name}-devel = %{version}
|
||
Requires(post,preun): update-alternatives
|
||
|
||
%description c++
|
||
This package adds C++ support to the GNU C compiler. It includes support
|
||
for most of the current C++ specification, including templates and
|
||
exception handling. It does include the static standard C++
|
||
library and C++ header files; the library for dynamically linking
|
||
programs is available separately.
|
||
|
||
If you have multiple versions of GCC installed on your system, it is
|
||
preferred to type "g++-$(gcc%{branch}-version)" (without double quotes) in
|
||
order to use the GNU C++ compiler version %{version}.
|
||
|
||
####################################################################
|
||
# C++ Libraries
|
||
|
||
%package -n %{libstdcxx_name}
|
||
Summary: GNU C++ library
|
||
Group: System/Libraries
|
||
Obsoletes: %{libstdcxx_name_orig}%{branch}
|
||
Provides: %{libstdcxx_name_orig}%{branch} = %{version}-%{release}
|
||
Provides: %{libstdcxx_name_orig} = %{version}-%{release}
|
||
%if "%{branch}" == "3.3"
|
||
# By default, the libstdc++ from gcc3.3 is ABI compatible with the one
|
||
# from gcc3.2. Just tell other packages about it if they relied on that.
|
||
Provides: %{libstdcxx_name_orig}3.2 = %{version}-%{release}
|
||
%endif
|
||
|
||
%description -n %{libstdcxx_name}
|
||
This package contains the GCC Standard C++ Library v3, an ongoing
|
||
project to implement the ISO/IEC 14882:1998 Standard C++ library.
|
||
|
||
%package -n %{libstdcxx_name}-devel
|
||
Summary: Header files and libraries for C++ development
|
||
Group: Development/C++
|
||
Requires: %{libstdcxx_name} = %{version}-%{release}
|
||
Obsoletes: %{libstdcxx_name_orig}%{branch}-devel
|
||
Provides: %{libstdcxx_name_orig}%{branch}-devel = %{version}-%{release}
|
||
Provides: %{libstdcxx_name_orig}-devel = %{version}-%{release}
|
||
|
||
%description -n %{libstdcxx_name}-devel
|
||
This is the GNU implementation of the standard C++ libraries. This
|
||
package includes the header files and libraries needed for C++
|
||
development.
|
||
|
||
%package -n %{libstdcxx_name}-static-devel
|
||
Summary: Static libraries for C++ development
|
||
Group: Development/C++
|
||
Requires: %{libstdcxx_name}-devel = %{version}-%{release}
|
||
Obsoletes: %{libstdcxx_name_orig}%{branch}-static-devel
|
||
Provides: %{libstdcxx_name_orig}%{branch}-static-devel = %{version}-%{release}
|
||
Provides: %{libstdcxx_name_orig}-static-devel = %{version}-%{release}
|
||
|
||
%description -n %{libstdcxx_name}-static-devel
|
||
This is the GNU implementation of the standard C++ libraries. This
|
||
package includes the static libraries needed for C++ development.
|
||
|
||
####################################################################
|
||
# Objective C Compiler
|
||
|
||
%package objc
|
||
Summary: Objective C support for gcc
|
||
Group: Development/Other
|
||
%if %{system_compiler}
|
||
Obsoletes: gcc%{branch}-objc
|
||
Provides: gcc%{branch}-objc = %{version}-%{release}
|
||
%endif
|
||
Requires: %{name} = %{version}-%{release}
|
||
|
||
%description objc
|
||
This package adds Objective C support to the GNU C compiler. Objective
|
||
C is an object oriented derivative of the C language, mainly used on
|
||
systems running NeXTSTEP. This package does not include the standard
|
||
Objective C object library.
|
||
|
||
####################################################################
|
||
# Objective C Libraries
|
||
|
||
%package -n %{libobjc_name}
|
||
Summary: Objective C runtime libraries
|
||
Group: System/Libraries
|
||
Obsoletes: %{libobjc_name_orig}3.0, %{libobjc_name_orig}3.1
|
||
Provides: %{libobjc_name_orig} = %{version}-%{release}
|
||
Provides: %{libobjc_name_orig}3.0 = %{version}-%{release}
|
||
Provides: %{libobjc_name_orig}3.1 = %{version}-%{release}
|
||
%if !%{system_compiler}
|
||
Conflicts: %{name}-objc < %{branch}
|
||
%endif
|
||
|
||
%description -n %{libobjc_name}
|
||
Runtime libraries for the GNU Objective C Compiler.
|
||
|
||
####################################################################
|
||
# Pascal Compiler
|
||
|
||
%package gpc
|
||
Summary: Pascal support for gcc
|
||
Group: Development/Other
|
||
%if %{system_compiler}
|
||
Obsoletes: gcc%{branch}-gpc
|
||
Provides: gcc%{branch}-gpc = %{version}-%{release}
|
||
%endif
|
||
Requires: %{name} = %{version}-%{release}
|
||
|
||
%description gpc
|
||
The GNU Pascal Compiler (GPC) is, as the name says, the Pascal
|
||
compiler of the GNU family. The compiler supports the following
|
||
language standards and quasi-standards:
|
||
|
||
* ISO 7185 Pascal (see Resources),
|
||
* most of ISO 10206 Extended Pascal,
|
||
* Borland Pascal 7.0,
|
||
* parts of Borland Delphi, Mac Pascal and Pascal-SC (PXSC).
|
||
|
||
If you have multiple versions of GCC installed on your system, it is
|
||
preferred to type "gpc-$(gcc%{branch}-version)" (without double quotes) in
|
||
order to use the GNU Fortran 77 compiler version %{version}.
|
||
|
||
####################################################################
|
||
# Fortran 77 Compiler
|
||
|
||
%package g77
|
||
Summary: Fortran 77 support for gcc
|
||
Group: Development/Other
|
||
%if %{system_compiler}
|
||
Obsoletes: gcc%{branch}-g77
|
||
Provides: gcc%{branch}-g77 = %{version}-%{release}
|
||
%endif
|
||
Requires: %{name} = %{version}-%{release}
|
||
Requires: %{libf2c_name_orig} = %{version}-%{release}
|
||
|
||
%description g77
|
||
This package adds support for compiling Fortran 77 programs with the GNU
|
||
compiler.
|
||
|
||
If you have multiple versions of GCC installed on your system, it is
|
||
preferred to type "g77-$(gcc%{branch}-version)" (without double quotes) in
|
||
order to use the GNU Fortran 77 compiler version %{version}.
|
||
|
||
####################################################################
|
||
# Fortran 77 Libraries
|
||
|
||
%package -n %{libf2c_name}
|
||
Summary: Fortran 77 runtime libraries
|
||
Group: System/Libraries
|
||
Provides: %{libf2c_name_orig} = %{version}
|
||
Obsoletes: %{libf2c_name_orig}%{branch}
|
||
Provides: %{libf2c_name_orig}%{branch} = %{version}-%{release}
|
||
|
||
%description -n %{libf2c_name}
|
||
This package contains Fortran 77 shared library which is needed to run
|
||
Fortran 77 dynamically linked programs.
|
||
|
||
####################################################################
|
||
# Ada 95 Compiler
|
||
|
||
%package gnat
|
||
Summary: Ada 95 support for gcc
|
||
Group: Development/Other
|
||
Requires: %{libgnat_name} = %{version}-%{release}
|
||
%if %{system_compiler}
|
||
Obsoletes: gcc%{branch}-gnat
|
||
Provides: gcc%{branch}-gnat = %{version}-%{release}
|
||
%endif
|
||
Obsoletes: %{cross_prefix}gnat
|
||
Provides: %{cross_prefix}gnat = %{version}-%{release}
|
||
Requires: %{name} = %{version}-%{release}
|
||
|
||
%description gnat
|
||
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 sources
|
||
you must have installed a binary version to bootstrap the compiler.
|
||
|
||
####################################################################
|
||
# Ada 95 Libraries
|
||
|
||
%package -n %{libgnat_name}
|
||
Summary: Ada 95 runtime libraries
|
||
Group: System/Libraries
|
||
Provides: %{libgnat_name_orig} = %{version}-%{release}
|
||
Obsoletes: %{cross_prefix}gnat-runtime
|
||
Provides: %{cross_prefix}gnat-runtime = %{version}-%{release}
|
||
|
||
%description -n %{libgnat_name}
|
||
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).
|
||
|
||
####################################################################
|
||
# Java Compiler
|
||
|
||
%package java
|
||
Summary: Java support for gcc
|
||
Group: Development/Java
|
||
%if %{system_compiler}
|
||
Obsoletes: gcc%{branch}-java
|
||
Provides: gcc%{branch}-java = %{version}-%{release}
|
||
%endif
|
||
Requires: %{name} = %{version}-%{release}
|
||
Requires: %{GCJ_TOOLS} = %{version}-%{release}
|
||
Requires: %{libgcj_name} >= %{version}
|
||
Requires: %{libgcj_name}-devel >= %{version}
|
||
Requires(post,preun): update-alternatives
|
||
|
||
%description java
|
||
This package adds experimental support for compiling Java(tm) programs
|
||
and bytecode into native code. To use this you will also need the
|
||
libgcj package.
|
||
|
||
If you have multiple versions of GCC installed on your system, it is
|
||
preferred to type "gcj-$(gcc%{branch}-version)" (without double quotes) in
|
||
order to use the GNU Java compiler version %{version}.
|
||
|
||
####################################################################
|
||
# Java Runtime Tools
|
||
|
||
%package -n %{GCJ_TOOLS}
|
||
Summary: Java related tools from gcc %{version}
|
||
Group: Development/Java
|
||
%if %{system_compiler}
|
||
Obsoletes: %{cross_prefix}gcj%{branch}-tools
|
||
Provides: %{cross_prefix}gcj%{branch}-tools = %{version}-%{release}
|
||
%endif
|
||
Provides: %{cross_prefix}gcj-tools = %{version}-%{release}
|
||
Requires: %{libgcj_name} >= %{version}
|
||
Requires: %{libgcj_name}-devel >= %{version}
|
||
Conflicts: kaffe < 1.0.7-3mdk
|
||
Requires(post,preun): update-alternatives
|
||
|
||
%description -n %{GCJ_TOOLS}
|
||
This package includes Java related tools built from gcc %{version}:
|
||
|
||
* gij: a Java ByteCode Interpreter
|
||
* gcj-jar: a fast .jar archiver
|
||
* gcjh: generating C++ header files corresponding to ``.class'' files
|
||
* jcf-dump: printing out useful information from a ``.class'' file
|
||
* jv-scan: printing some useful information from a ``.java'' file
|
||
|
||
If you have multiple versions of GCC installed on your system, the
|
||
above-mentioned tools are called as follows: "<gcj_tool>-$(gcc%{branch}-version)"
|
||
(without double quotes).
|
||
|
||
####################################################################
|
||
# Java Libraries
|
||
|
||
%package -n %{libgcj_name}
|
||
Summary: GNU Java runtime libraries
|
||
Group: System/Libraries
|
||
Requires: zip >= 2.1
|
||
Obsoletes: %{cross_prefix}gcc-libgcj
|
||
Provides: %{cross_prefix}gcc-libgcj = %{version}-%{release}
|
||
Obsoletes: %{libgcj_name_orig}%{branch}
|
||
Provides: %{libgcj_name_orig}%{branch} = %{version}-%{release}
|
||
Obsoletes: libgcj3
|
||
|
||
%description -n %{libgcj_name}
|
||
Runtime libraries for the GNU Java Compiler. The libgcj includes parts
|
||
of the Java Class Libraries, plus glue to connect the libraries to the
|
||
compiler and the underlying OS.
|
||
|
||
%package -n %{libgcj_name}-devel
|
||
Summary: Header files and libraries for Java development
|
||
Group: Development/Java
|
||
Requires: zip >= 2.1
|
||
Requires: zlib-devel
|
||
Requires: %{libgcj_name} = %{version}-%{release}
|
||
Obsoletes: %{libgcj_name_orig}%{branch}-devel
|
||
Provides: %{libgcj_name_orig}%{branch}-devel = %{version}-%{release}
|
||
Provides: %{libgcj_name_orig}-devel = %{version}-%{release}
|
||
Obsoletes: libgcj3-devel
|
||
|
||
%description -n %{libgcj_name}-devel
|
||
Development headers and libraries for the GNU Java Compiler. The
|
||
libgcj includes parts of the Java Class Libraries, plus glue to
|
||
connect the libraries to the compiler and the underlying OS.
|
||
|
||
%package -n %{libgcj_name}-static-devel
|
||
Summary: Static libraries for Java development
|
||
Group: Development/Java
|
||
Requires: %{libgcj_name}-devel = %{version}-%{release}
|
||
Obsoletes: %{libgcj_name_orig}%{branch}-static-devel
|
||
Provides: %{libgcj_name_orig}%{branch}-static-devel = %{version}-%{release}
|
||
Provides: %{libgcj_name_orig}-static-devel = %{version}-%{release}
|
||
Obsoletes: libgcj3-static-devel
|
||
|
||
%description -n %{libgcj_name}-static-devel
|
||
Static libraries for the GNU Java Compiler.
|
||
|
||
####################################################################
|
||
# FFI headers and libraries
|
||
|
||
%package -n %{libffi_name}-devel
|
||
Summary: Development headers and static library for FFI
|
||
Group: Development/C
|
||
Obsoletes: %{libffi_name_orig}%{branch}-devel
|
||
Provides: %{libffi_name_orig}%{branch}-devel = %{version}-%{release}
|
||
Obsoletes: %{libffi_name_orig}-devel
|
||
Provides: %{libffi_name_orig}-devel = %{version}-%{release}
|
||
Provides: ffi-devel = %{version}-%{release}
|
||
|
||
%description -n %{libffi_name}-devel
|
||
This package contains the development headers and the static library
|
||
for libffi. The libffi library provides a portable, high level
|
||
programming interface to various calling conventions. This allows a
|
||
programmer to call any function specified by a call interface
|
||
description at run time.
|
||
|
||
####################################################################
|
||
# Preprocessor
|
||
|
||
%package cpp
|
||
Summary: The C Preprocessor
|
||
Group: Development/C
|
||
%if %{system_compiler}
|
||
Obsoletes: gcc%{branch}-cpp
|
||
Provides: gcc%{branch}-cpp = %{version}-%{release}
|
||
%endif
|
||
Requires(post,preun): info-install
|
||
Requires(post,preun): update-alternatives
|
||
|
||
%description cpp
|
||
The C preprocessor is a 'macro processor' which is used automatically
|
||
by the C compiler to transform your program before actual
|
||
compilation. It is called a macro processor because it allows
|
||
you to define 'macros,' which are abbreviations for longer
|
||
constructs.
|
||
|
||
The C preprocessor provides four separate facilities that you can use as
|
||
you see fit:
|
||
|
||
* Inclusion of header files. These are files of declarations that can be
|
||
substituted into your program.
|
||
* Macro expansion. You can define 'macros,' which are abbreviations for
|
||
arbitrary fragments of C code, and then the C preprocessor will replace
|
||
the macros with their definitions throughout the program.
|
||
* Conditional compilation. Using special preprocessing directives,
|
||
you can include or exclude parts of the program according to various
|
||
conditions.
|
||
* Line control. If you use a program to combine or rearrange source files
|
||
into an intermediate file which is then compiled, you can use line
|
||
control to inform the compiler about where each source line originated.
|
||
|
||
You should install this package if you are a programmer who is searching for
|
||
such a macro processor.
|
||
|
||
If you have multiple versions of GCC installed on your system, you
|
||
will have to type "cpp -V%{version}" or "cpp-%{version}" (without double quotes)
|
||
in order to use the GNU C Preprocessor version %{version}.
|
||
|
||
####################################################################
|
||
# ColorGCC
|
||
|
||
%package colorgcc
|
||
Summary: GCC output colorizer
|
||
Group: Development/Other
|
||
Obsoletes: gcc2.96-colorgcc
|
||
%if %{system_compiler}
|
||
Obsoletes: gcc%{branch}-colorgcc
|
||
Provides: gcc%{branch}-colorgcc = %{version}-%{release}
|
||
%endif
|
||
Requires: %{name} = %{version}
|
||
Requires(post,preun): update-alternatives
|
||
Requires: perl
|
||
|
||
%description colorgcc
|
||
ColorGCC is a Perl wrapper to colorize the output of compilers with
|
||
warning and error messages matching the GCC output format.
|
||
|
||
This package is configured to run with the associated system compiler,
|
||
that is GCC version %{version}. If you want to use it for another
|
||
compiler (e.g. gcc 2.96), you may have to define gccVersion: 2.96 and
|
||
uncomment the respective compiler paths in %{_sysconfdir}/colorgccrc
|
||
for a system-wide effect, or in ~/.colorgccrc for your user only.
|
||
|
||
####################################################################
|
||
# Documentation
|
||
|
||
%package doc
|
||
Summary: GCC documentation
|
||
Group: Development/Other
|
||
%if %{system_compiler}
|
||
Obsoletes: gcc%{branch}-doc
|
||
Provides: gcc%{branch}-doc = %{version}-%{release}
|
||
%endif
|
||
|
||
%description doc
|
||
GCC is a compiler suite aimed at integrating all the optimizations and
|
||
features necessary for a high-performance and stable development
|
||
environment. This package contains the compiler documentation in INFO
|
||
pages.
|
||
|
||
%package doc-pdf
|
||
Summary: GCC documentation
|
||
Group: Development/Other
|
||
%if %{system_compiler}
|
||
Obsoletes: gcc%{branch}-doc-pdf
|
||
Provides: gcc%{branch}-doc-pdf = %{version}-%{release}
|
||
%endif
|
||
|
||
%description doc-pdf
|
||
GCC is a compiler suite aimed at integrating all the optimizations and
|
||
features necessary for a high-performance and stable development
|
||
environment. This package contains the compiler printable
|
||
documentation in PDF.
|
||
|
||
%prep
|
||
%setup -q -n %{source_dir} -a 4 -a 5
|
||
%patch1 -p1 -b .pr11536-testcase
|
||
%patch2 -p1 -b .pr9929-testcase
|
||
%patch3 -p1 -b .ada-64bithack
|
||
%patch4 -p1 -b .dont-crash-with-nonexistent-file
|
||
|
||
# Mandrake patches
|
||
%patch101 -p1 -b .pass-slibdir
|
||
%patch102 -p1 -b .pr7434-testcase
|
||
%patch103 -p1 -b .pr8213-testcase
|
||
%patch104 -p1 -b .amd64-biarch-testsuite
|
||
%patch105 -p1 -b .ada-link
|
||
%patch106 -p1 -b .ada-makefile
|
||
%patch107 -p1 -b .multi-do-libdir
|
||
%patch108 -p1 -b .cross-inhibit_libc
|
||
%patch109 -p1 -b .mklibgcc-serialize-crtfiles
|
||
%patch110 -p1 -b .c++-classfn-member-template
|
||
%patch113 -p1 -b .pr11631-testcase
|
||
%patch114 -p1 -b .pch-mdkflags
|
||
%patch115 -p1 -b .cross-build-fixes
|
||
%patch116 -p1 -b .biarch-personality
|
||
# FIXME: use a configure flag
|
||
optflags=`echo $RPM_OPT_FLAGS | sed -e 's/-mcpu=/-mtune=/'`
|
||
perl -pi -e "s&\@MDK_OPT_FLAGS\@&$optflags&" \
|
||
libstdc++-v3/include/Makefile.am \
|
||
libstdc++-v3/include/Makefile.in
|
||
|
||
# Red Hat patches
|
||
%patch200 -p0 -b .2.96-RH-compat
|
||
%patch201 -p0 -b .fde-merge-compat
|
||
%patch202 -p0 -b .debug-pr7241
|
||
%patch203 -p0 -b .visibility1
|
||
%patch204 -p0 -b .visibility2
|
||
%patch205 -p0 -b .visibility3
|
||
%patch117 -p1 -b .visibility4
|
||
%patch118 -p1 -b .visibility5
|
||
|
||
# Integrate GNU Pascal compiler
|
||
mv gpc-%{gpc_snapshot}/p gcc/p
|
||
rmdir gpc-%{gpc_snapshot}
|
||
patch -p0 < gcc/p/diffs/gcc-3.4.1.diff
|
||
%patch111 -p1 -b .gpc-fixes
|
||
%patch112 -p1 -b .gpc-serialize-build
|
||
|
||
# Mandrakezification for bug reports
|
||
perl -pi -e 's/%{snapshot_version}/%{version}/' gcc/version.c
|
||
perl -pi -e "/bug_report_url/ and s/\"[^\"]+\"/\"<URL:https:\/\/qa.mandrakesoft.com\/>\"/;" \
|
||
-e '/version_string/ and s/([0-9]*(\.[0-9]*){1,3}).*(\";)$/\1 \(Mandrakelinux %{mdk_version} %{version}-%{release}\)\3/;' \
|
||
gcc/version.c
|
||
|
||
# ColorGCC patch
|
||
(cd colorgcc-%{color_gcc_version};
|
||
%patch100 -p1 -b .mdkconf
|
||
perl -pi -e 's|GCC_VERSION|%{version}|' colorgcc*
|
||
)
|
||
|
||
bzcat %{SOURCE7} > gnatmake.bash-completion
|
||
|
||
%build
|
||
# Force a seperate object dir
|
||
rm -fr obj-%{gcc_target_platform}
|
||
mkdir obj-%{gcc_target_platform}
|
||
cd obj-%{gcc_target_platform}
|
||
|
||
# FIXME: extra tools needed
|
||
mkdir -p bin
|
||
bzcat %{SOURCE6} >bin/help2man
|
||
export PATH=$PATH:$PWD/bin
|
||
|
||
# Make bootstrap-lean
|
||
CC=gcc
|
||
OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-fno-rtti//g' -e 's/-fno-exceptions//g' -e 's/-mcpu=pentiumpro//g'`
|
||
%if %{build_debug}
|
||
OPT_FLAGS=`echo "$OPT_FLAGS -g" | sed -e "s/-fomit-frame-pointer//g"`
|
||
%endif
|
||
%if %{build_cross}
|
||
OPT_FLAGS="-O2 -pipe"
|
||
%endif
|
||
OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-fomit-frame-pointer//g'`
|
||
|
||
LANGUAGES="c"
|
||
%if %{build_cxx}
|
||
LANGUAGES="$LANGUAGES,c++"
|
||
%endif
|
||
%if %{build_ada}
|
||
LANGUAGES="$LANGUAGES,ada"
|
||
%endif
|
||
%if %{build_fortran}
|
||
LANGUAGES="$LANGUAGES,f77"
|
||
%endif
|
||
%if %{build_objc}
|
||
LANGUAGES="$LANGUAGES,objc"
|
||
%endif
|
||
%if %{build_java}
|
||
LANGUAGES="$LANGUAGES,java"
|
||
%endif
|
||
%if %{build_pascal}
|
||
LANGUAGES="$LANGUAGES,pascal"
|
||
%endif
|
||
PROGRAM_SUFFIX=""
|
||
%if !%{system_compiler}
|
||
PROGRAM_SUFFIX="--program-suffix=%{program_suffix}"
|
||
%endif
|
||
%if %{build_cxx}
|
||
LIBSTDCXX_V3_FLAGS="--enable-long-long --enable-__cxa_atexit --enable-clocale=gnu --disable-libunwind-exceptions"
|
||
%endif
|
||
%if %{build_cross}
|
||
CROSS_FLAGS="--with-sysroot=%{_prefix}/%{target_cpu}-linux --disable-multilib --disable-nls"
|
||
%endif
|
||
%if %{build_cross_bootstrap}
|
||
CROSS_FLAGS="--disable-multilib --disable-shared --disable-threads"
|
||
%endif
|
||
[[ -n "$CROSS_FLAGS" ]] && CROSS_FLAGS="$CROSS_FLAGS --target=%{gcc_target_platform}"
|
||
# update config.{sub,guess} scripts
|
||
%{?__cputoolize: %{__cputoolize} -c ..}
|
||
%{?__cputoolize: %{__cputoolize} -c ../boehm-gc}
|
||
CC="$CC" CFLAGS="$OPT_FLAGS" CXXFLAGS="$OPT_FLAGS" XCFLAGS="$OPT_FLAGS" TCFLAGS="$OPT_FLAGS" \
|
||
../configure --prefix=%{_prefix} --libexecdir=%{_prefix}/lib --with-slibdir=%{target_slibdir} \
|
||
--mandir=%{_mandir} --infodir=%{_infodir} \
|
||
--enable-shared --enable-threads=posix --disable-checking $LIBSTDCXX_V3_FLAGS \
|
||
--enable-languages="$LANGUAGES" $PROGRAM_SUFFIX \
|
||
--host=%{_target_platform} $CROSS_FLAGS \
|
||
--with-system-zlib
|
||
touch ../gcc/c-gperf.h
|
||
%if %{build_cross}
|
||
%make
|
||
%else
|
||
%if %{build_ada}
|
||
# XXX: ada is broken on 64-bit arches
|
||
%make all-bootstrap
|
||
%make configure-gcc
|
||
make -C gcc ada
|
||
%endif
|
||
%ifarch %{ix86} x86_64
|
||
%make profiledbootstrap BOOT_CFLAGS="$OPT_FLAGS"
|
||
%else
|
||
%make bootstrap-lean BOOT_CFLAGS="$OPT_FLAGS"
|
||
%endif
|
||
%endif
|
||
|
||
%if %{build_ada}
|
||
# This doesn't work with -j$RPM_BUILD_NCPUS
|
||
make -C gcc gnatlib-shared
|
||
make -C gcc gnattools
|
||
make -C gcc ada.info
|
||
%endif
|
||
|
||
%if !%{build_cross}
|
||
# Make protoize
|
||
make -C gcc CC="./xgcc -B ./ -O2" proto
|
||
%endif
|
||
cd ..
|
||
|
||
# Copy various doc files here and there
|
||
mkdir -p rpm.doc/g77
|
||
mkdir -p rpm.doc/objc
|
||
mkdir -p rpm.doc/libjava
|
||
mkdir -p rpm.doc/libobjc
|
||
mkdir -p rpm.doc/boehm-gc
|
||
mkdir -p rpm.doc/fastjar
|
||
mkdir -p rpm.doc/gpc
|
||
|
||
%if %{build_pascal}
|
||
(cd gcc/p; for i in ChangeLog* README NEWS FAQ; do
|
||
cp -p $i ../../rpm.doc/gpc/$i
|
||
done)
|
||
%endif
|
||
%if %{build_fortran}
|
||
(cd gcc/f; for i in ChangeLog*; do
|
||
cp -p $i ../../rpm.doc/g77/$i.f
|
||
done)
|
||
(cd libf2c; for i in ChangeLog*; do
|
||
cp -p $i ../rpm.doc/g77/$i.libf2c
|
||
done)
|
||
%endif
|
||
%if %{build_objc}
|
||
(cd gcc/objc; for i in README*; do
|
||
cp -p $i ../../rpm.doc/objc/$i.objc
|
||
done)
|
||
(cd libobjc; for i in README*; do
|
||
cp -p $i ../rpm.doc/libobjc/$i.libobjc
|
||
done)
|
||
%endif
|
||
%if %{build_java}
|
||
(cd boehm-gc; for i in ChangeLog*; do
|
||
cp -p $i ../rpm.doc/boehm-gc/$i.gc
|
||
done)
|
||
(cd fastjar; for i in ChangeLog* README*; do
|
||
cp -p $i ../rpm.doc/fastjar/$i.fastjar
|
||
done)
|
||
(cd libjava; for i in README THANKS COPYING ChangeLog; do
|
||
cp -p $i ../rpm.doc/libjava/$i.libjava
|
||
done)
|
||
(cd libjava; cp -p LIBGCJ_LICENSE ../rpm.doc/libjava/LICENSE.libjava)
|
||
%endif
|
||
|
||
# [ghibo] - build printable documentation
|
||
%if %{build_pdf_doc}
|
||
unset TEXINPUTS
|
||
(cd gcc/doc; for file in gcc.texi cpp.texi cppinternals.texi; do
|
||
texi2dvi -p -t @afourpaper -t @finalout -I ./include $file
|
||
done)
|
||
(cd gcc/f;
|
||
texi2dvi -p -t @afourpaper -t @finalout -I ../doc/include g77.texi)
|
||
(cd gcc/ada;
|
||
texi2dvi -p -t @afourpaper -t @finalout -I ../doc/include gnat_rm.texi)
|
||
(cd obj-%{gcc_target_platform}/gcc/doc;
|
||
texi2dvi -p -t @afourpaper -t @finalout -I ../../../gcc/doc/include gnat_ugn_unw.texi
|
||
mv gnat_ugn_unw.pdf ../../../gcc/ada/gnat_ug.pdf)
|
||
%endif
|
||
|
||
# Run tests
|
||
%ifarch %{biarches}
|
||
RUNTESTFLAGS="--target_board 'unix{-m32,}'"
|
||
%endif
|
||
echo ====================TESTING=========================
|
||
%if %{build_check}
|
||
cd obj-%{gcc_target_platform}
|
||
%make -k RUNTESTFLAGS="$RUNTESTFLAGS" check || true
|
||
logfile="$PWD/../%{name}-%{version}-%{release}.log"
|
||
../contrib/test_summary > $logfile
|
||
cd ..
|
||
%endif
|
||
echo ====================TESTING END=====================
|
||
|
||
%install
|
||
rm -rf $RPM_BUILD_ROOT
|
||
|
||
# Fix HTML docs for libstdc++-v3
|
||
perl -pi -e \
|
||
's~href="l(ibstdc|atest)~href="http://gcc.gnu.org/onlinedocs/libstdc++/l\1~' \
|
||
libstdc++-v3/docs/html/documentation.html
|
||
ln -sf documentation.html libstdc++-v3/docs/html/index.html
|
||
find libstdc++-v3/docs/html -name CVS | xargs rm -rf
|
||
|
||
# Create some directories, just to make sure (e.g. ColorGCC)
|
||
mkdir -p $RPM_BUILD_ROOT%{_bindir}
|
||
mkdir -p $RPM_BUILD_ROOT%{_mandir}
|
||
mkdir -p $RPM_BUILD_ROOT%{_infodir}
|
||
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}
|
||
|
||
# ColorGCC stuff
|
||
%if %{build_colorgcc}
|
||
(cd colorgcc-%{color_gcc_version};
|
||
install -m 755 colorgcc $RPM_BUILD_ROOT%{_bindir}/colorgcc-%{version}
|
||
ln -s colorgcc-%{version} $RPM_BUILD_ROOT%{_bindir}/colorgcc
|
||
install -m 644 colorgccrc $RPM_BUILD_ROOT%{_sysconfdir}/
|
||
for i in COPYING CREDITS ChangeLog; do
|
||
[ ! -f ../$i.colorgcc ] && mv -f $i ../$i.colorgcc
|
||
done
|
||
)
|
||
%endif
|
||
|
||
pushd obj-%{gcc_target_platform};
|
||
%makeinstall_std
|
||
%if %{build_ada}
|
||
for f in $RPM_BUILD_ROOT%{_infodir}/gnat_ugn_unw.info*; do
|
||
sed -e "s/gnat_ugn_unw/gnat_ug/g" $f > ${f/gnat_ugn_unw/gnat_ug}
|
||
done
|
||
chmod 644 $RPM_BUILD_ROOT%{_infodir}/gnat*
|
||
%endif
|
||
popd
|
||
|
||
FULLVER=`$RPM_BUILD_ROOT%{_bindir}/%{gcc_target_platform}-gcc%{program_suffix} --version | head -n 1 | cut -d' ' -f3`
|
||
FULLPATH=$(dirname $RPM_BUILD_ROOT%{gcc_libdir}/%{gcc_target_platform}/%{version}/cc1)
|
||
|
||
#if [ "%{gcc_target_platform}" != "%{_target_platform}" ]; then
|
||
# mv -f $RPM_BUILD_ROOT%{_bindir}/%{gcc_target_platform}-gcc $RPM_BUILD_ROOT%{_bindir}/%{_target_platform}-gcc
|
||
#fi
|
||
|
||
file $RPM_BUILD_ROOT/%{_bindir}/* | grep ELF | cut -d':' -f1 | xargs strip || :
|
||
strip $FULLPATH/cc1
|
||
%if %{build_cxx}
|
||
strip $FULLPATH/cc1plus
|
||
%endif
|
||
%if %{build_pascal}
|
||
strip $FULLPATH/gpc1
|
||
%endif
|
||
%if %{build_fortran}
|
||
strip $FULLPATH/f771
|
||
%endif
|
||
%if %{build_java}
|
||
strip $FULLPATH/{jc1,jvgenmain}
|
||
%endif
|
||
|
||
# Create /usr/bin/%{program_prefix}gcc%{branch}-version that contains the full version of gcc
|
||
cat >$RPM_BUILD_ROOT%{_bindir}/%{program_prefix}gcc%{branch}-version <<EOF
|
||
#!/bin/sh
|
||
echo "$FULLVER"
|
||
EOF
|
||
chmod 0755 $RPM_BUILD_ROOT%{_bindir}/%{program_prefix}gcc%{branch}-version
|
||
|
||
# Fix program names
|
||
# (gb) For each primary program in every package, I want it to be
|
||
# named <program>-<version>
|
||
(cd $RPM_BUILD_ROOT%{_bindir}; for file in cpp gcc c++ g++ gcj gij g77 gpc gpidump; do
|
||
file_version="${file}-%{version}"
|
||
if [ -x "$file" -a "(" ! -x "$file_version" -o -L "$file_version" ")" ]; then
|
||
cp -f $file $file_version
|
||
rm -f $file
|
||
ln -s $file_version $file
|
||
fi
|
||
file="%{program_prefix}$file" file_version="%{program_prefix}$file_version"
|
||
if [ -x "$file" -a ! -x "$file_version" ]; then
|
||
cp -f $file $file_version
|
||
rm -f $file
|
||
ln -s $file_version $file
|
||
fi
|
||
done)
|
||
|
||
# Fix some links
|
||
ln -sf gcc $RPM_BUILD_ROOT%{_bindir}/cc
|
||
rm -f $RPM_BUILD_ROOT%{_infodir}/dir
|
||
|
||
# Dispatch Ada 95 libraries (special case)
|
||
%if %{build_ada}
|
||
pushd $FULLPATH/adalib
|
||
rm -f libgnarl.so* libgnat.so*
|
||
mv -f libgnarl-*.so.* $RPM_BUILD_ROOT%{_libdir}/
|
||
ln -s ../../../../../%{_lib}/libgnarl-*.so.* libgnarl-%{branch}.so
|
||
ln -s libgnarl-%{branch}.so libgnarl.so
|
||
mv -f libgnat-*.so.* $RPM_BUILD_ROOT%{_libdir}/
|
||
ln -s ../../../../../%{_lib}/libgnat-*.so.* libgnat-%{branch}.so
|
||
ln -s libgnat-%{branch}.so libgnat.so
|
||
popd
|
||
%endif
|
||
|
||
# Strip debug info from libraries
|
||
STRIP_DEBUG=
|
||
%if !%{build_debug}
|
||
STRIP_DEBUG="strip -g"
|
||
if [[ "%{_target_cpu}" != "%{target_cpu}" ]]; then
|
||
STRIP_DEBUG="%{target_cpu}-linux-$STRIP_DEBUG"
|
||
|
||
fi
|
||
%endif
|
||
|
||
# Dispatch libraries to the right directories
|
||
DispatchLibs() {
|
||
libname=$1 libversion=$2
|
||
rm -f $libname.so $libname.a
|
||
$STRIP_DEBUG ../../../../%{_lib}/$crosslibdir/$libname.so.$libversion
|
||
$STRIP_DEBUG ../../../../%{_lib}/$crosslibdir/$libname.a
|
||
ln -s ../../../../%{_lib}/$crosslibdir/$libname.so.$libversion $libname.so
|
||
rm -f ../../../../%{_lib}/$crosslibdir/$libname.so
|
||
cp -f ../../../../%{_lib}/$crosslibdir/$libname.a $libname.a
|
||
rm -f ../../../../%{_lib}/$crosslibdir/$libname.a
|
||
%ifarch %{biarches}
|
||
[ -d 32 ] || mkdir 32
|
||
cd 32
|
||
mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib
|
||
$STRIP_DEBUG ../../../../$libname.so.$libversion
|
||
$STRIP_DEBUG ../../../../$libname.a
|
||
ln -s ../../../../$libname.so.$libversion $libname.so
|
||
rm -f ../../../../$libname.so
|
||
[ -r "../../../../$libname.a" ] && {
|
||
cp -f ../../../../$libname.a $libname.a
|
||
rm -f ../../../../$libname.a
|
||
}
|
||
cd ..
|
||
%endif
|
||
%ifarch ppc
|
||
[ -d nof ] || mkdir nof
|
||
(cd nof
|
||
$STRIP_DEBUG ../../../../nof/$libname.so.$libversion
|
||
$STRIP_DEBUG ../../../../nof/$libname.a
|
||
ln -s ../../../../nof/$libname.so.$libversion $libname.so
|
||
rm -f ../../../../nof/$libname.so
|
||
[ -r "../../../../nof/$libname.a" ] && {
|
||
cp -f ../../../../nof/$libname.a $libname.a
|
||
rm -f ../../../../nof/$libname.a
|
||
}
|
||
cd ..)
|
||
%endif
|
||
}
|
||
(cd $FULLPATH;
|
||
if [[ "%{_target_cpu}" != "%{target_cpu}" ]]; then
|
||
crosslibdir="../%{gcc_target_platform}/lib"
|
||
fi
|
||
%if %{build_cxx}
|
||
DispatchLibs libstdc++ %{libstdcxx_major}.0.%{libstdcxx_minor}
|
||
mv ../../../../%{_lib}/$crosslibdir/libsupc++.a libsupc++.a
|
||
%ifarch %{biarches}
|
||
mv -f ../../../libsupc++.a 32/libsupc++.a
|
||
%endif
|
||
%ifarch ppc
|
||
mv -f ../../../nof/libsupc++.a nof/libsupc++.a
|
||
%endif
|
||
%endif
|
||
%if %{build_java}
|
||
DispatchLibs libgcj %{libgcj_major}.0.0
|
||
DispatchLibs lib-org-xml-sax 5.0.0
|
||
DispatchLibs lib-org-w3c-dom 5.0.0
|
||
%endif
|
||
%if %{build_objc}
|
||
DispatchLibs libobjc %{libobjc_major}.0.0
|
||
%endif
|
||
%if %{build_fortran}
|
||
DispatchLibs libg2c %{libf2c_major}.0.0
|
||
mv -f ../../../../%{_lib}/$crosslibdir/libfrtbegin.a libfrtbegin.a
|
||
[ -r "../../../libfrtbegin.a" ] &&
|
||
mv -f ../../../libfrtbegin.a 32/libfrtbegin.a
|
||
[ -r "../../../nof/libfrtbegin.a" ] &&
|
||
mv -f ../../../nof/libfrtbegin.a nof/libfrtbegin.a
|
||
%endif
|
||
)
|
||
|
||
# Move Java headers to /usr/include/libgcj-<version>
|
||
%if %{build_java}
|
||
if [ "%{libjava_includedir}" != "%{_includedir}" ]; then
|
||
mkdir -p $RPM_BUILD_ROOT%{libjava_includedir}
|
||
mv $RPM_BUILD_ROOT%{_includedir}/j*.h $RPM_BUILD_ROOT%{libjava_includedir}/
|
||
for dir in gcj gnu java javax; do
|
||
mkdir -p $RPM_BUILD_ROOT%{libjava_includedir}/$dir
|
||
mv $RPM_BUILD_ROOT%{_includedir}/$dir/* $RPM_BUILD_ROOT%{libjava_includedir}/$dir/
|
||
rmdir $RPM_BUILD_ROOT%{_includedir}/$dir
|
||
done
|
||
|
||
# move <gcj/libgcj-config.h> too
|
||
mv $FULLPATH/include/gcj/libgcj-config.h $RPM_BUILD_ROOT%{libjava_includedir}/gcj/
|
||
rmdir $FULLPATH/include/gcj
|
||
|
||
# include <libgcj/XXX.h> should lead to <libgcj-VERSION/XXX.h>
|
||
ln -s %{libjava_includedir} $RPM_BUILD_ROOT%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/libgcj
|
||
ln -s %{libjava_includedir} $RPM_BUILD_ROOT%{_includedir}/libgcj
|
||
|
||
# fix pkgconfig files
|
||
perl -pi -e 's,^(includedir=).+,\1%{libjava_includedir},' $RPM_BUILD_ROOT%{_prefix}/lib/pkgconfig/libgcj.pc
|
||
%ifarch %{biarches}
|
||
mkdir -p $RPM_BUILD_ROOT%{_libdir}/pkgconfig
|
||
perl -pe '/^libdir=/ and s,/lib,/%{_lib},' $RPM_BUILD_ROOT%{_prefix}/lib/pkgconfig/libgcj.pc > $RPM_BUILD_ROOT%{_libdir}/pkgconfig/libgcj.pc
|
||
%endif
|
||
fi
|
||
%endif
|
||
|
||
# Move libgcj.spec to compiler-specific directories
|
||
%if %{build_java}
|
||
mv $RPM_BUILD_ROOT%{_prefix}/lib/libgcj.spec $FULLPATH/libgcj.spec
|
||
%endif
|
||
|
||
# Rename jar because it could clash with Kaffe's if this gcc
|
||
# is primary compiler (aka don't have the -<version> extension)
|
||
%if %{build_java}
|
||
(cd $RPM_BUILD_ROOT%{_bindir}/;
|
||
mv jar%{program_suffix} gcj-jar-%{version}
|
||
for app in grepjar rmic rmiregistry; do
|
||
mv $app%{program_suffix} gcj-$app-%{version}
|
||
done
|
||
)
|
||
%endif
|
||
|
||
# Add java and javac wrappers
|
||
%if %{build_java}
|
||
(cd $RPM_BUILD_ROOT%{_bindir}/;
|
||
SED_PATTERN="s|@GCJ_VERSION@|%{version}|;s|@JDK_VERSION@|%{JDK_VERSION}|;s|@JDK_INCLUDES@|-I%{libjava_includedir}|;"
|
||
bzcat %{SOURCE1} | sed -e "$SED_PATTERN" > gcj-java-%{version}
|
||
chmod 0755 gcj-java-%{version}
|
||
bzcat %{SOURCE2} | sed -e "$SED_PATTERN" > gcj-javac-%{version}
|
||
chmod 0755 gcj-javac-%{version}
|
||
bzcat %{SOURCE3} | sed -e "$SED_PATTERN" > gcj-jdk-config-%{version}
|
||
chmod 0755 gcj-jdk-config-%{version}
|
||
)
|
||
%endif
|
||
|
||
# Move <cxxabi.h> to compiler-specific directories
|
||
%if %{build_cxx}
|
||
mv $RPM_BUILD_ROOT%{libstdcxx_includedir}/cxxabi.h $FULLPATH/include/
|
||
%endif
|
||
|
||
# Fix links to binaries
|
||
pushd $RPM_BUILD_ROOT%{_bindir};
|
||
progs="cpp gcc"
|
||
%if %{build_cxx}
|
||
progs="$progs g++ c++"
|
||
%endif
|
||
for file in $progs; do
|
||
[[ -L $file ]] && rm -f $file
|
||
[[ -x $file ]] && mv $file "$file"-%{version}
|
||
[[ -n "%{program_prefix}" ]] && {
|
||
[[ -x "$file"-%{version} ]] && mv "$file"-%{version} "%{program_prefix}$file"-%{version}
|
||
[[ -L "%{program_prefix}$file" ]] || ln -s "%{program_prefix}$file"-%{version} "%{program_prefix}$file"
|
||
}
|
||
[[ -x "%{program_prefix}$file"-%{version} ]] || { echo "ERROR: no versioned binary for $file"; exit 1; }
|
||
done
|
||
%if %{build_java}
|
||
for file in gcjh jcf-dump jv-scan; do [ -x $file -a -n "%{program_suffix}" ] && mv $file "$file"-%{version}; done
|
||
%endif
|
||
popd
|
||
|
||
# Link gnatgcc to gcc
|
||
ln -sf gcc $RPM_BUILD_ROOT%{_bindir}/gnatgcc
|
||
|
||
# Create an empty file with perms 0755
|
||
FakeAlternatives() {
|
||
for file in ${1+"$@"}; do
|
||
rm -f $file
|
||
touch $file
|
||
chmod 0755 $file
|
||
done
|
||
}
|
||
|
||
# Alternatives provide /lib/cpp and %{_bindir}/cpp
|
||
(cd $RPM_BUILD_ROOT%{_bindir}; FakeAlternatives cpp)
|
||
(mkdir -p $RPM_BUILD_ROOT/lib; cd $RPM_BUILD_ROOT/lib; ln -sf %{_bindir}/cpp cpp)
|
||
|
||
# Alternatives provide /usr/bin/{g77,f77}
|
||
(cd $RPM_BUILD_ROOT%{_bindir}; FakeAlternatives g77 f77)
|
||
|
||
# Alternatives provide /usr/bin/c++
|
||
(cd $RPM_BUILD_ROOT%{_bindir}; FakeAlternatives c++)
|
||
|
||
# Alternatives provide java programs
|
||
(cd $RPM_BUILD_ROOT%{_bindir}; FakeAlternatives %{gcj_alternative_programs} javac)
|
||
|
||
# Alternatives provide jdk-config script
|
||
(cd $RPM_BUILD_ROOT%{_bindir}; FakeAlternatives jdk-config)
|
||
|
||
if [[ -z "%{?cross_bootstrap:1}" ]]; then
|
||
# Move libgcc_s.so* to /%{_lib}
|
||
pushd $RPM_BUILD_ROOT%{_libdir}
|
||
chmod 0755 libgcc_s.so.%{libgcc_major}
|
||
mkdir -p $RPM_BUILD_ROOT%{target_slibdir}
|
||
mv -f libgcc_s.so.%{libgcc_major} $RPM_BUILD_ROOT%{target_slibdir}/libgcc_s-%{version}.so.%{libgcc_major}
|
||
ln -sf libgcc_s-%{version}.so.%{libgcc_major} $RPM_BUILD_ROOT%{target_slibdir}/libgcc_s.so.%{libgcc_major}
|
||
ln -sf ../../%{target_slibdir}/libgcc_s.so.%{libgcc_major} $RPM_BUILD_ROOT%{target_libdir}/libgcc_s.so
|
||
%ifarch ppc
|
||
chmod 0755 libgcc_s_nof.so.%{libgcc_major}
|
||
mv -f libgcc_s_nof.so.%{libgcc_major} $RPM_BUILD_ROOT/%{_lib}/libgcc_s_nof-%{version}.so.%{libgcc_major}
|
||
ln -sf libgcc_s_nof-%{version}.so.%{libgcc_major} $RPM_BUILD_ROOT/%{_lib}/libgcc_s_nof.so.%{libgcc_major}
|
||
ln -sf ../../%{_lib}/libgcc_s_nof.so.%{libgcc_major} $RPM_BUILD_ROOT%{_libdir}/libgcc_s_nof.so
|
||
%endif
|
||
popd
|
||
%ifarch %{biarches}
|
||
pushd $RPM_BUILD_ROOT%{_prefix}/lib
|
||
chmod 0755 libgcc_s.so.%{libgcc_major}
|
||
mkdir -p $RPM_BUILD_ROOT/lib
|
||
mv -f libgcc_s.so.%{libgcc_major} $RPM_BUILD_ROOT/lib/libgcc_s-%{version}.so.%{libgcc_major}
|
||
ln -sf libgcc_s-%{version}.so.%{libgcc_major} $RPM_BUILD_ROOT/lib/libgcc_s.so.%{libgcc_major}
|
||
ln -sf ../../lib/libgcc_s.so.%{libgcc_major} $RPM_BUILD_ROOT%{_prefix}/lib/libgcc_s.so
|
||
ln -sf ../../lib/libgcc_s.so.%{libgcc_major} $RPM_BUILD_ROOT%{_prefix}/lib/libgcc_s_32.so
|
||
popd
|
||
%endif
|
||
fi
|
||
|
||
# Create c89 and c99 wrappers
|
||
%if %{system_compiler}
|
||
cat > $RPM_BUILD_ROOT%{_prefix}/bin/c89 <<"EOF"
|
||
#!/bin/sh
|
||
fl="-std=c89"
|
||
for opt; do
|
||
case "$opt" in
|
||
-ansi|-std=c89|-std=iso9899:1990) fl="";;
|
||
-std=*) echo "`basename $0` called with non ANSI/ISO C option $opt" >&2
|
||
exit 1;;
|
||
esac
|
||
done
|
||
exec %{_bindir}/gcc-%{version} $fl ${1+"$@"}
|
||
EOF
|
||
cat > $RPM_BUILD_ROOT%{_prefix}/bin/c99 <<"EOF"
|
||
#!/bin/sh
|
||
fl="-std=c99"
|
||
for opt; do
|
||
case "$opt" in
|
||
-std=c99|-std=iso9899:1999) fl="";;
|
||
-std=*) echo "`basename $0` called with non ISO C99 option $opt" >&2
|
||
exit 1;;
|
||
esac
|
||
done
|
||
exec %{_bindir}/gcc-%{version} $fl ${1+"$@"}
|
||
EOF
|
||
chmod 755 $RPM_BUILD_ROOT%{_prefix}/bin/c?9
|
||
%endif
|
||
|
||
# FIXME: cpp, gcov manpages names
|
||
(cd $RPM_BUILD_ROOT%{_mandir}/man1;
|
||
if [[ -n "%{program_prefix}%{program_suffix}" ]]; then
|
||
for f in gcov cpp gcc g++ g77 gpc; do
|
||
[[ -f "$f.1" ]] && mv $f.1 %{program_prefix}$f%{program_suffix}.1
|
||
done
|
||
fi
|
||
)
|
||
|
||
# Fix info pages
|
||
if [[ "%{name}" = "gcc%{branch}" ]]; then
|
||
cd $RPM_BUILD_ROOT%{_infodir}/
|
||
for f in cpp cppinternals gcc gpc gpcs g77 gnat-style gnat_rm gnat_ug gcj; do
|
||
if [[ -f "$f.info" ]]; then
|
||
perl -pe "/^START-INFO-DIR-ENTRY/ .. /^END-INFO-DIR-ENTRY/ and s/($f)/\${1}-%{branch}/ig" $f.info > ${f}-%{branch}.info
|
||
rm -f $f.info
|
||
fi
|
||
done
|
||
cd ..
|
||
fi
|
||
|
||
# Remove unpackaged files
|
||
rm -rf $RPM_BUILD_ROOT%{_prefix}/doc
|
||
|
||
# In case we are cross-compiling, don't bother to remake symlinks and
|
||
# don't let spec-helper when stripping files either
|
||
%if "%{name}" != "gcc"
|
||
export DONT_SYMLINK_LIBS=1
|
||
export DONT_STRIP=1
|
||
%endif
|
||
|
||
%if %{build_debug}
|
||
# Don't strip in debug mode
|
||
export DONT_STRIP=1
|
||
%endif
|
||
|
||
# gnatmake bash completion
|
||
install -d -m 755 $RPM_BUILD_ROOT%{_sysconfdir}/bash_completion.d
|
||
install -m 644 gnatmake.bash-completion $RPM_BUILD_ROOT%{_sysconfdir}/bash_completion.d/gnatmake
|
||
|
||
%clean
|
||
#rm -rf $RPM_BUILD_ROOT
|
||
|
||
%post
|
||
update-alternatives --install %{_bindir}/%{cross_program_prefix}gcc %{cross_program_prefix}gcc %{_bindir}/%{program_prefix}gcc-%{version} %{alternative_priority}
|
||
[ -e %{_bindir}/%{cross_program_prefix}gcc ] || update-alternatives --auto %{cross_program_prefix}gcc
|
||
|
||
%postun
|
||
if [ ! -f %{_bindir}/%{cross_program_prefix}gcc-%{version} ]; then
|
||
update-alternatives --remove %{cross_program_prefix}gcc %{_bindir}/%{program_prefix}gcc-%{version}
|
||
fi
|
||
|
||
%post colorgcc
|
||
update-alternatives --install %{_bindir}/gcc gcc %{_bindir}/%{program_prefix}colorgcc %(expr %{alternative_priority} + 50000)
|
||
|
||
%postun colorgcc
|
||
if [ ! -f %{_bindir}/colorgcc-%{version} ]; then
|
||
update-alternatives --remove gcc %{_bindir}/colorgcc
|
||
# update-alternatives silently ignores paths that don't exist
|
||
update-alternatives --remove g++ %{_bindir}/colorgcc
|
||
update-alternatives --remove g77 %{_bindir}/colorgcc
|
||
update-alternatives --remove gcj %{_bindir}/colorgcc
|
||
fi
|
||
|
||
%triggerin colorgcc -- %{name}-c++
|
||
update-alternatives --install %{_bindir}/g++ g++ %{_bindir}/colorgcc %(expr %{alternative_priority} + 50000) --slave %{_bindir}/c++ c++ %{_bindir}/colorgcc
|
||
|
||
%triggerpostun colorgcc -- %{name}-c++
|
||
if [ ! -f %{_bindir}/g++-%{version} ]; then
|
||
update-alternatives --remove g++ %{_bindir}/colorgcc
|
||
fi
|
||
|
||
%triggerin colorgcc -- %{name}-g77
|
||
update-alternatives --install %{_bindir}/g77 g77 %{_bindir}/colorgcc %(expr %{alternative_priority} + 50000) --slave %{_bindir}/f77 f77 %{_bindir}/colorgcc
|
||
|
||
%triggerpostun colorgcc -- %{name}-g77
|
||
if [ ! -f %{_bindir}/g77-%{version} ]; then
|
||
update-alternatives --remove g77 %{_bindir}/colorgcc
|
||
fi
|
||
|
||
%triggerin colorgcc -- %{name}-java
|
||
update-alternatives --install %{_bindir}/gcj gcj %{_bindir}/colorgcc %(expr %{alternative_priority} + 50000)
|
||
|
||
%triggerpostun colorgcc -- %{name}-java
|
||
if [ ! -f %{_bindir}/gcj-%{version} ]; then
|
||
update-alternatives --remove gcj %{_bindir}/colorgcc
|
||
fi
|
||
|
||
%if %{build_cxx}
|
||
%post c++
|
||
update-alternatives --install %{_bindir}/%{cross_program_prefix}g++ %{cross_program_prefix}g++ %{_bindir}/%{program_prefix}g++-%{version} %{alternative_priority} --slave %{_bindir}/%{cross_program_prefix}c++ %{cross_program_prefix}c++ %{_bindir}/%{program_prefix}g++-%{version}
|
||
[ -e %{_bindir}/%{cross_program_prefix}g++ ] || update-alternatives --auto %{cross_program_prefix}g++
|
||
|
||
%postun c++
|
||
if [ ! -f %{_bindir}/%{cross_program_prefix}g++-%{version} ]; then
|
||
update-alternatives --remove %{cross_program_prefix}g++ %{_bindir}/%{program_prefix}g++-%{version}
|
||
fi
|
||
%endif
|
||
|
||
%if %{build_cxx}
|
||
%if %mdkversion < 200900
|
||
%post -n %{libstdcxx_name} -p /sbin/ldconfig
|
||
%endif
|
||
%if %mdkversion < 200900
|
||
%postun -n %{libstdcxx_name} -p /sbin/ldconfig
|
||
%endif
|
||
%endif
|
||
|
||
%if %mdkversion < 200900
|
||
%post -n %{libgcc_name} -p /sbin/ldconfig
|
||
%endif
|
||
%if %mdkversion < 200900
|
||
%postun -n %{libgcc_name} -p /sbin/ldconfig
|
||
%endif
|
||
|
||
%post cpp
|
||
update-alternatives --install %{_bindir}/%{cross_program_prefix}cpp %{cross_program_prefix}cpp %{_bindir}/%{program_prefix}cpp-%{version} %{alternative_priority} --slave /lib/%{cross_program_prefix}cpp %{cross_program_prefix}lib_cpp %{_bindir}/%{program_prefix}cpp-%{version}
|
||
[ -e %{_bindir}/%{cross_program_prefix}cpp ] || update-alternatives --auto %{cross_program_prefix}cpp
|
||
|
||
%postun cpp
|
||
if [ ! -f %{_bindir}/cpp-%{version} ]; then
|
||
update-alternatives --remove cpp %{_bindir}/%{program_prefix}cpp-%{version}
|
||
fi
|
||
|
||
%if %{build_pascal}
|
||
%post gpc
|
||
update-alternatives --install %{_bindir}/gpc gpc %{_bindir}/%{program_prefix}gpc-%{version} %{alternative_priority} --slave %{_bindir}/gpidump gpidump %{_bindir}/%{program_prefix}gpidump-%{version}
|
||
[ -e %{_bindir}/gpc ] || update-alternatives --auto gpc
|
||
|
||
%postun gpc
|
||
if [ ! -f %{_bindir}/gpc-%{version} ]; then
|
||
update-alternatives --remove gpc %{_bindir}/%{program_prefix}gpc-%{version}
|
||
fi
|
||
%endif
|
||
|
||
%if %{build_fortran}
|
||
%post g77
|
||
update-alternatives --install %{_bindir}/%{cross_program_prefix}g77 %{cross_program_prefix}g77 %{_bindir}/%{program_prefix}g77-%{version} %{alternative_priority} --slave %{_bindir}/%{cross_program_prefix}f77 %{cross_program_prefix}f77 %{_bindir}/%{program_prefix}g77-%{version}
|
||
[ -e %{_bindir}/%{cross_program_prefix}g77 ] || update-alternatives --auto %{cross_program_prefix}g77
|
||
|
||
%postun g77
|
||
if [ ! -f %{_bindir}/%{cross_program_prefix}g77-%{version} ]; then
|
||
update-alternatives --remove %{cross_program_prefix}g77 %{_bindir}/%{program_prefix}g77-%{version}
|
||
fi
|
||
%endif
|
||
|
||
%if %{build_java}
|
||
%post java
|
||
update-alternatives --install %{_bindir}/gcj gcj %{_bindir}/gcj-%{version} %{alternative_priority}
|
||
[ -e %{_bindir}/gcj ] || update-alternatives --auto gcj
|
||
# Remove binaries if not alternativeszificated yet
|
||
[ ! -L %{_bindir}/javac ] && /bin/rm -f %{_bindir}/javac
|
||
update-alternatives --install %{_bindir}/javac javac %{_bindir}/gcj-javac-%{version} %{gcj_alternative_priority}
|
||
update-alternatives --install %{_bindir}/jdk-config jdk-config %{_bindir}/gcj-jdk-config-%{version} %{gcj_alternative_priority}
|
||
|
||
%postun java
|
||
if [ ! -f %{_bindir}/gcj-%{version} ]; then
|
||
update-alternatives --remove gcj %{_bindir}/gcj-%{version}
|
||
fi
|
||
if [ ! -f %{_bindir}/gcj-javac-%{version} ]; then
|
||
update-alternatives --remove javac %{_bindir}/gcj-javac-%{version}
|
||
fi
|
||
if [ ! -f %{_bindir}/gcj-jdk-config-%{version} ]; then
|
||
update-alternatives --remove jdk-config %{_bindir}/gcj-jdk-config-%{version}
|
||
fi
|
||
%endif
|
||
|
||
%if %{build_java}
|
||
%post -n %{GCJ_TOOLS}
|
||
for app in %{gcj_alternative_programs}; do
|
||
# Remove binaries if not alternativeszificated yet
|
||
[ ! -L %{_bindir}/$app ] && /bin/rm -f %{_bindir}/$app
|
||
# Build slaves list
|
||
[[ "$app" != java ]] && slaves="$slaves --slave %{_bindir}/$app $app %{_bindir}/gcj-$app-%{version}"
|
||
done
|
||
update-alternatives --install %{_bindir}/java java %{_bindir}/gcj-java-%{version} %{gcj_alternative_priority} $slaves
|
||
%endif
|
||
|
||
%if %{build_java}
|
||
%postun -n %{GCJ_TOOLS}
|
||
if [ ! -f "%{_bindir}/gcj-java-%{version}" ]; then
|
||
update-alternatives --remove java %{_bindir}/gcj-java-%{version}
|
||
fi
|
||
%endif
|
||
|
||
%if %{build_java}
|
||
%post -n %{libgcj_name}-devel
|
||
update-alternatives --install %{_includedir}/libgcj libgcj %{_includedir}/libgcj-%{version} %{gcj_alternative_priority}
|
||
%endif
|
||
|
||
%if %{build_java}
|
||
%postun -n %{libgcj_name}-devel
|
||
if [ ! -d %{_includedir}/libgcj-%{version} ]; then
|
||
update-alternatives --remove gcj %{_includedir}/libgcj-%{version}
|
||
fi
|
||
%endif
|
||
|
||
%if %{build_java}
|
||
%if %mdkversion < 200900
|
||
%post -n %{libgcj_name} -p /sbin/ldconfig
|
||
%endif
|
||
%if %mdkversion < 200900
|
||
%postun -n %{libgcj_name} -p /sbin/ldconfig
|
||
%endif
|
||
%endif
|
||
|
||
%if %{build_objc}
|
||
%if %mdkversion < 200900
|
||
%post -n %{libobjc_name} -p /sbin/ldconfig
|
||
%endif
|
||
%if %mdkversion < 200900
|
||
%postun -n %{libobjc_name} -p /sbin/ldconfig
|
||
%endif
|
||
%endif
|
||
|
||
%if %{build_fortran}
|
||
%if %mdkversion < 200900
|
||
%post -n %{libf2c_name} -p /sbin/ldconfig
|
||
%endif
|
||
%if %mdkversion < 200900
|
||
%postun -n %{libf2c_name} -p /sbin/ldconfig
|
||
%endif
|
||
%endif
|
||
|
||
%if %{build_ada}
|
||
%if %mdkversion < 200900
|
||
%post -n %{libgnat_name} -p /sbin/ldconfig
|
||
%endif
|
||
%if %mdkversion < 200900
|
||
%postun -n %{libgnat_name} -p /sbin/ldconfig
|
||
%endif
|
||
%endif
|
||
|
||
%post doc
|
||
%_install_info gcc%{_package_suffix}.info
|
||
%_install_info cpp%{_package_suffix}.info
|
||
%if %{build_pascal}
|
||
%_install_info gpc%{_package_suffix}.info
|
||
%_install_info gpcs%{_package_suffix}.info
|
||
%endif
|
||
%if %{build_fortran}
|
||
%_install_info g77%{_package_suffix}.info
|
||
%endif
|
||
%if %{build_ada}
|
||
%_install_info gnat-style%{_package_suffix}.info
|
||
%_install_info gnat_rm%{_package_suffix}.info
|
||
%_install_info gnat_ug%{_package_suffix}.info
|
||
%endif
|
||
%if %{build_java}
|
||
%_install_info gcj%{_package_suffix}_ug.info
|
||
%endif
|
||
|
||
%preun doc
|
||
if [ "$1" = "0" ];then /sbin/install-info %{_infodir}/gcc%{_package_suffix}.info.bz2 --dir=%{_infodir}/dir --remove;fi;
|
||
%_remove_install_info cpp%{_package_suffix}.info
|
||
%if %{build_pascal}
|
||
%_remove_install_info gpc%{_package_suffix}.info
|
||
%_remove_install_info gpcs%{_package_suffix}.info
|
||
%endif
|
||
%if %{build_fortran}
|
||
%_remove_install_info g77%{_package_suffix}.info
|
||
%endif
|
||
%if %{build_ada}
|
||
%_remove_install_info gnat-style%{_package_suffix}.info
|
||
%_remove_install_info gnat_rm%{_package_suffix}.info
|
||
%_remove_install_info gnat_ug%{_package_suffix}.info
|
||
%endif
|
||
%if %{build_java}
|
||
%_remove_install_info gcj%{_package_suffix}.info
|
||
%endif
|
||
|
||
%files
|
||
%defattr(-,root,root)
|
||
#
|
||
%doc gcc/README* gcc/*ChangeLog*
|
||
%{_mandir}/man1/%{program_prefix}gcc%{program_suffix}.1*
|
||
%if "%{name}" == "gcc%{package_suffix}"
|
||
%{_mandir}/man1/gcov%{program_suffix}.1*
|
||
%endif
|
||
#
|
||
%{_bindir}/%{program_prefix}gcc%{branch}-version
|
||
%{_bindir}/%{program_prefix}gcc-%{version}
|
||
%{_bindir}/%{gcc_target_platform}-gcc%{program_suffix}
|
||
%if "%{name}" == "gcc%{package_suffix}"
|
||
%{_bindir}/protoize%{program_suffix}
|
||
%{_bindir}/unprotoize%{program_suffix}
|
||
%{_bindir}/gcov%{program_suffix}
|
||
%endif
|
||
%if %{system_compiler}
|
||
%{_bindir}/cc
|
||
%{_bindir}/c89
|
||
%{_bindir}/c99
|
||
%endif
|
||
#
|
||
%if !%{build_cross_bootstrap}
|
||
%{target_libdir}/libgcc_s.so
|
||
%endif
|
||
%if "%{name}" == "gcc%{package_suffix}"
|
||
%ifarch ppc
|
||
%{_libdir}/libgcc_s_nof.so
|
||
%endif
|
||
%ifarch %{biarches}
|
||
%{_prefix}/lib/libgcc_s.so
|
||
%{_prefix}/lib/libgcc_s_32.so
|
||
%endif
|
||
%endif
|
||
#
|
||
%dir %{gcc_libdir}/%{gcc_target_platform}
|
||
%dir %{gcc_libdir}/%{gcc_target_platform}/%{version}
|
||
#
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/collect2
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/crt*.o
|
||
%if "%{arch}" == "ppc"
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/ecrt*.o
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/ncrt*.o
|
||
%endif
|
||
%if "%{arch}" == "ppc64"
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/ecrt*.o
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/ncrt*.o
|
||
%endif
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/libgcc.a
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/libgcov.a
|
||
%if !%{build_cross_bootstrap}
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/libgcc_eh.a
|
||
%endif
|
||
%if "%{name}" == "gcc%{package_suffix}"
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/SYSCALLS.c.X
|
||
%ifarch %{biarches}
|
||
%dir %{gcc_libdir}/%{gcc_target_platform}/%{version}/32
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/32/crt*.o
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/32/libgcc.a
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/32/libgcc_eh.a
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/32/libgcov.a
|
||
%endif
|
||
%ifarch ppc
|
||
%dir %{gcc_libdir}/%{gcc_target_platform}/%{version}/nof
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/nof/crt*.o
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/nof/ecrt*.o
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/nof/libgcc.a
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/nof/libgcc_eh.a
|
||
%endif
|
||
%endif
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/specs
|
||
#
|
||
%dir %{gcc_libdir}/%{gcc_target_platform}/%{version}/include
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/float.h
|
||
%if %{build_fortran}
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/g2c.h
|
||
%endif
|
||
%if "%{arch}" == "i386"
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/mmintrin.h
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/xmmintrin.h
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/pmmintrin.h
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/emmintrin.h
|
||
%endif
|
||
%if "%{arch}" == "x86_64"
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/mmintrin.h
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/xmmintrin.h
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/pmmintrin.h
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/emmintrin.h
|
||
%endif
|
||
%if "%{arch}" == "ppc"
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/spe.h
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/altivec.h
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/ppc-asm.h
|
||
%endif
|
||
%if "%{arch}" == "ppc64"
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/spe.h
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/altivec.h
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/ppc-asm.h
|
||
%endif
|
||
%if "%{arch}" == "ia64"
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/ia64intrin.h
|
||
%endif
|
||
%if "%{arch}" == "m68k"
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/math-68881.h
|
||
%endif
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/iso646.h
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/limits.h
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/stdarg.h
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/stdbool.h
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/stddef.h
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/syslimits.h
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/unwind.h
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/varargs.h
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/README
|
||
|
||
%if "%{name}" == "%{cross_prefix}gcc"
|
||
%files -n %{libgcc_name}
|
||
%defattr(-,root,root)
|
||
%if "%{name}" == "gcc%{package_suffix}"
|
||
/%{_lib}/libgcc_s-%{version}.so.%{libgcc_major}
|
||
/%{_lib}/libgcc_s.so.%{libgcc_major}
|
||
%ifarch %{biarches}
|
||
/lib/libgcc_s-%{version}.so.%{libgcc_major}
|
||
/lib/libgcc_s.so.%{libgcc_major}
|
||
%endif
|
||
%ifarch ppc
|
||
/%{_lib}/libgcc_s_nof-%{version}.so.%{libgcc_major}
|
||
/%{_lib}/libgcc_s_nof.so.%{libgcc_major}
|
||
%endif
|
||
%endif
|
||
%if %{?build_cross:0}%{!?build_cross:1}
|
||
%{target_libdir}/libgcc_s-%{version}.so.%{libgcc_major}
|
||
%{target_libdir}/libgcc_s.so.%{libgcc_major}
|
||
%endif
|
||
%endif
|
||
|
||
%files cpp
|
||
%defattr(-,root,root)
|
||
#
|
||
%{_mandir}/man1/%{program_prefix}cpp%{program_suffix}.1*
|
||
#
|
||
/lib/cpp
|
||
%ghost %{_bindir}/%{cross_program_prefix}cpp
|
||
%{_bindir}/%{program_prefix}cpp-%{version}
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/cc1
|
||
|
||
%if %{build_cxx}
|
||
%files c++
|
||
%defattr(-,root,root)
|
||
#
|
||
%doc gcc/cp/ChangeLog*
|
||
%{_mandir}/man1/%{program_prefix}g++%{program_suffix}.1*
|
||
#
|
||
%ghost %{_bindir}/%{cross_program_prefix}c++
|
||
%{_bindir}/%{program_prefix}g++-%{version}
|
||
%{_bindir}/%{program_prefix}c++-%{version}
|
||
%{_bindir}/%{gcc_target_platform}-g++%{program_suffix}
|
||
%{_bindir}/%{gcc_target_platform}-c++%{program_suffix}
|
||
#
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/cc1plus
|
||
%endif
|
||
|
||
%if %{build_cxx}
|
||
%files -n %{libstdcxx_name}
|
||
%defattr(-,root,root)
|
||
%{target_libdir}/libstdc++.so.%{libstdcxx_major}
|
||
%{target_libdir}/libstdc++.so.%{libstdcxx_major}.0.%{libstdcxx_minor}
|
||
%ifarch %{biarches}
|
||
%{_prefix}/lib/libstdc++.so.%{libstdcxx_major}
|
||
%{_prefix}/lib/libstdc++.so.%{libstdcxx_major}.0.%{libstdcxx_minor}
|
||
%endif
|
||
%ifarch ppc
|
||
%dir %{_libdir}/nof
|
||
%{_libdir}/nof/libstdc++.so.%{libstdcxx_major}
|
||
%{_libdir}/nof/libstdc++.so.%{libstdcxx_major}.0.%{libstdcxx_minor}
|
||
%endif
|
||
%endif
|
||
|
||
%if %{build_cxx}
|
||
%files -n %{libstdcxx_name}-devel
|
||
%defattr(-,root,root)
|
||
#
|
||
%doc libstdc++-v3/ChangeLog* libstdc++-v3/README* libstdc++-v3/docs/html/
|
||
#
|
||
%dir %{libstdcxx_includedir}
|
||
%{libstdcxx_includedir}/*
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/cxxabi.h
|
||
#
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/libstdc++.so
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/libsupc++.a
|
||
%ifarch %{biarches}
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/32/libstdc++.so
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/32/libsupc++.a
|
||
%endif
|
||
%ifarch ppc
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/nof/libstdc++.so
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/nof/libsupc++.a
|
||
%endif
|
||
%endif
|
||
|
||
%if %{build_cxx}
|
||
%files -n %{libstdcxx_name}-static-devel
|
||
%defattr(-,root,root)
|
||
%doc libstdc++-v3/README
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/libstdc++.a
|
||
%ifarch %{biarches}
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/32/libstdc++.a
|
||
%endif
|
||
%ifarch ppc
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/nof/libstdc++.a
|
||
%endif
|
||
%endif
|
||
|
||
%if %{build_objc}
|
||
%files objc
|
||
%defattr(-,root,root)
|
||
#
|
||
%doc rpm.doc/objc/*
|
||
#
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/cc1obj
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/libobjc.a
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/libobjc.so
|
||
%ifarch %{biarches}
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/32/libobjc.a
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/32/libobjc.so
|
||
%endif
|
||
%ifarch ppc
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/nof/libobjc.a
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/nof/libobjc.so
|
||
%endif
|
||
#
|
||
%dir %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/objc
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/objc/*.h
|
||
%endif
|
||
|
||
%if %{build_objc}
|
||
%files -n %{libobjc_name}
|
||
%defattr(-,root,root)
|
||
#
|
||
%doc rpm.doc/libobjc/*
|
||
%doc libobjc/THREADS* libobjc/ChangeLog
|
||
#
|
||
%{target_libdir}/libobjc.so.%{libobjc_major}
|
||
%{target_libdir}/libobjc.so.%{libobjc_major}.0.0
|
||
%ifarch %{biarches}
|
||
%{_prefix}/lib/libobjc.so.%{libobjc_major}
|
||
%{_prefix}/lib/libobjc.so.%{libobjc_major}.0.0
|
||
%endif
|
||
%endif
|
||
|
||
%if %{build_pascal}
|
||
%files gpc
|
||
%defattr(-,root,root)
|
||
#
|
||
%doc rpm.doc/gpc/*
|
||
%{_mandir}/man1/%{program_prefix}gpc%{program_suffix}.1*
|
||
%{_mandir}/man1/%{program_prefix}/gpc-run%{program_suffix}.1*
|
||
#
|
||
%{_bindir}/gpc-run
|
||
%{_bindir}/binobj
|
||
%ghost %{_bindir}/gpc
|
||
%ghost %{_bindir}/gpidump
|
||
%{_bindir}/%{program_prefix}gpc-%{version}
|
||
%{_bindir}/%{program_prefix}gpidump-%{version}
|
||
#
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/gpc1
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/gpcpp
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/libgpc.a
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/gpc-in-c.h
|
||
%dir %{gcc_libdir}/%{gcc_target_platform}/%{version}/units
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/units/*.c
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/units/*.h
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/units/*.s
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/units/*.inc
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/units/*.pas
|
||
%endif
|
||
|
||
%if %{build_fortran}
|
||
%files g77
|
||
%defattr(-,root,root)
|
||
#
|
||
%doc rpm.doc/g77/*
|
||
%{_mandir}/man1/%{program_prefix}g77%{program_suffix}.1*
|
||
#
|
||
%ghost %{_bindir}/g77
|
||
%ghost %{_bindir}/f77
|
||
%{_bindir}/%{program_prefix}g77-%{version}
|
||
#
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/f771
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/libfrtbegin.a
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/libg2c.a
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/libg2c.so
|
||
%ifarch %{biarches}
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/32/libfrtbegin.a
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/32/libg2c.a
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/32/libg2c.so
|
||
%endif
|
||
%ifarch ppc
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/nof/libg2c.a
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/nof/libg2c.so
|
||
%endif
|
||
#
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/g2c.h
|
||
%endif
|
||
|
||
%if %{build_fortran}
|
||
%files -n %{libf2c_name}
|
||
%defattr(-,root,root)
|
||
#
|
||
%{target_libdir}/libg2c.so.%{libf2c_major}
|
||
%{target_libdir}/libg2c.so.%{libf2c_major}.0.0
|
||
%ifarch %{biarches}
|
||
%{_prefix}/lib/libg2c.so.%{libf2c_major}
|
||
%{_prefix}/lib/libg2c.so.%{libf2c_major}.0.0
|
||
%endif
|
||
%endif
|
||
|
||
%if %{build_java}
|
||
%files java
|
||
%defattr(-,root,root)
|
||
%doc gcc/java/ChangeLog*
|
||
%{_bindir}/gcj-%{version}
|
||
%{_bindir}/gcj-javac-%{version}
|
||
%{_bindir}/gcj-jdk-config-%{version}
|
||
%ghost %{_bindir}/javac
|
||
%ghost %{_bindir}/jdk-config
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/jc1
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/jvgenmain
|
||
%{_mandir}/man1/%{program_prefix}gcj%{program_suffix}.1*
|
||
%endif
|
||
|
||
%if %{build_java}
|
||
%files -n %{GCJ_TOOLS}
|
||
%defattr(-,root,root)
|
||
%doc rpm.doc/fastjar/*
|
||
%{_bindir}/gij-%{version}
|
||
%{_bindir}/gcj-java-%{version}
|
||
%{_bindir}/gcj-jar-%{version}
|
||
%{_bindir}/gcj-grepjar-%{version}
|
||
%{_bindir}/gcj-rmic-%{version}
|
||
%{_bindir}/gcj-rmiregistry-%{version}
|
||
%ghost %{_bindir}/java
|
||
%ghost %{_bindir}/jar
|
||
%ghost %{_bindir}/grepjar
|
||
%ghost %{_bindir}/rmic
|
||
%ghost %{_bindir}/rmiregistry
|
||
%{_bindir}/gcjh%{program_suffix}
|
||
%{_bindir}/jcf-dump%{program_suffix}
|
||
%{_bindir}/jv-scan%{program_suffix}
|
||
#
|
||
%{_mandir}/man1/gij*.1*
|
||
%{_mandir}/man1/gcjh*.1*
|
||
%{_mandir}/man1/jv-scan*.1*
|
||
%{_mandir}/man1/jcf-dump*.1*
|
||
%endif
|
||
|
||
%if %{build_java}
|
||
%files -n %{libgcj_name}
|
||
%defattr(-,root,root)
|
||
#
|
||
%{target_libdir}/libgcj.so.%{libgcj_major}
|
||
%{target_libdir}/libgcj.so.%{libgcj_major}.0.0
|
||
%{target_libdir}/lib-org-xml-sax.so.%{libgcj_major}
|
||
%{target_libdir}/lib-org-xml-sax.so.%{libgcj_major}.0.0
|
||
%{target_libdir}/lib-org-w3c-dom.so.%{libgcj_major}
|
||
%{target_libdir}/lib-org-w3c-dom.so.%{libgcj_major}.0.0
|
||
%ifarch %{biarches}
|
||
%{_prefix}/lib/libgcj.so.%{libgcj_major}
|
||
%{_prefix}/lib/libgcj.so.%{libgcj_major}.0.0
|
||
%{_prefix}/lib/lib-org-xml-sax.so.%{libgcj_major}
|
||
%{_prefix}/lib/lib-org-xml-sax.so.%{libgcj_major}.0.0
|
||
%{_prefix}/lib/lib-org-w3c-dom.so.%{libgcj_major}
|
||
%{_prefix}/lib/lib-org-w3c-dom.so.%{libgcj_major}.0.0
|
||
%endif
|
||
#
|
||
%dir %{_datadir}/java
|
||
%{_datadir}/java/libgcj-%{version}.jar
|
||
%endif
|
||
|
||
%if %{build_java}
|
||
%files -n %{libgcj_name}-devel
|
||
%defattr(-,root,root)
|
||
#
|
||
%doc rpm.doc/boehm-gc/*
|
||
%doc rpm.doc/libjava/*
|
||
#
|
||
%{_bindir}/jv-convert%{program_suffix}
|
||
#
|
||
%{_libdir}/pkgconfig/libgcj.pc
|
||
%ifarch %{biarches}
|
||
%{_prefix}/lib/pkgconfig/libgcj.pc
|
||
%endif
|
||
#
|
||
%ghost %{_includedir}/libgcj
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/libgcj
|
||
#
|
||
%dir %{libjava_includedir}
|
||
%{libjava_includedir}/jni.h
|
||
%{libjava_includedir}/jvmpi.h
|
||
%dir %{libjava_includedir}/gcj
|
||
%{libjava_includedir}/gcj/*.h
|
||
%dir %{libjava_includedir}/gnu
|
||
%{libjava_includedir}/gnu/*
|
||
%dir %{libjava_includedir}/java
|
||
%{libjava_includedir}/java/*
|
||
%dir %{libjava_includedir}/javax
|
||
%{libjava_includedir}/javax/*
|
||
#
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/libgcj.spec
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/libgcj.so
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/lib-org-w3c-dom.so
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/lib-org-xml-sax.so
|
||
%ifarch %{biarches}
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/32/libgcj.so
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/32/lib-org-w3c-dom.so
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/32/lib-org-xml-sax.so
|
||
%endif
|
||
%ifarch
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/nof/libgcj.so
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/nof/lib-org-w3c-dom.so
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/nof/lib-org-xml-sax.so
|
||
%endif
|
||
%endif
|
||
|
||
%if %{build_java}
|
||
%files -n %{libgcj_name}-static-devel
|
||
%defattr(-,root,root)
|
||
%doc libjava/README libjava/LIBGCJ_LICENSE
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/libgcj.a
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/lib-org-w3c-dom.a
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/lib-org-xml-sax.a
|
||
%ifarch %{biarches}
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/32/libgcj.a
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/32/lib-org-w3c-dom.a
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/32/lib-org-xml-sax.a
|
||
%endif
|
||
%ifarch ppc
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/nof/libgcj.a
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/nof/lib-org-w3c-dom.a
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/nof/lib-org-xml-sax.a
|
||
%endif
|
||
%endif
|
||
|
||
%if %{build_ada}
|
||
%files gnat
|
||
%defattr(-,root,root)
|
||
#
|
||
%{_bindir}/gprcmd
|
||
%{_bindir}/gpr2make
|
||
%{_bindir}/gnat*
|
||
%config(noreplace) %{_sysconfdir}/bash_completion.d/gnatmake
|
||
#
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/gnat1
|
||
%dir %{gcc_libdir}/%{gcc_target_platform}/%{version}/adainclude
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/adainclude/*.adb
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/adainclude/*.ads
|
||
%dir %{gcc_libdir}/%{gcc_target_platform}/%{version}/adalib
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/adalib/*.ali
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/adalib/g-trasym.o
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/adalib/libgccprefix.a
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/adalib/libgmem.a
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/adalib/libgnat.a
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/adalib/libgnat.so
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/adalib/libgnat-%{branch}.so
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/adalib/libgnarl.a
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/adalib/libgnarl.so
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/adalib/libgnarl-%{branch}.so
|
||
%dir %{_datadir}/gnat
|
||
%{_datadir}/gnat/Makefile.prolog
|
||
%{_datadir}/gnat/Makefile.generic
|
||
%endif
|
||
|
||
%if %{build_libffi}
|
||
%files -n %{libffi_name}-devel
|
||
%defattr(-,root,root)
|
||
%doc libffi/README libffi/LICENSE libffi/ChangeLog*
|
||
%{_includedir}/ffi*.h
|
||
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/libffi/ffitarget.h
|
||
%{_libdir}/libffi.a
|
||
%ifarch %{biarches}
|
||
%{_prefix}/lib/libffi.a
|
||
%endif
|
||
%endif
|
||
|
||
%if %{build_ada}
|
||
%files -n %{libgnat_name}
|
||
%defattr(-,root,root)
|
||
#
|
||
%{target_libdir}/libgnat-*.so.*
|
||
%{target_libdir}/libgnarl-*.so.*
|
||
%ifarch %{biarches}
|
||
# FIXME: no biarch ada yet
|
||
#%{_prefix}/lib/libgnat-*.so.*
|
||
#%{_prefix}/lib/libgnarl-*.so.*
|
||
%endif
|
||
%endif
|
||
|
||
%if %{build_colorgcc}
|
||
%files colorgcc
|
||
%defattr (-,root,root)
|
||
%doc COPYING.colorgcc CREDITS.colorgcc ChangeLog.colorgcc
|
||
%config(noreplace) %{_sysconfdir}/colorgccrc
|
||
%{_bindir}/colorgcc
|
||
%{_bindir}/colorgcc-%{version}
|
||
%endif
|
||
|
||
%if %{build_doc}
|
||
%files doc
|
||
%defattr(-,root,root)
|
||
%{_infodir}/cppinternals%{_package_suffix}.info*
|
||
%{_infodir}/cpp%{_package_suffix}.info*
|
||
%{_infodir}/gcc%{_package_suffix}.info*
|
||
%if %{build_ada}
|
||
%{_infodir}/gnat-style%{_package_suffix}.info*
|
||
%{_infodir}/gnat_rm%{_package_suffix}.info*
|
||
%{_infodir}/gnat_ug%{_package_suffix}.info*
|
||
%endif
|
||
%if %{build_java}
|
||
%{_infodir}/gcj%{_package_suffix}.info*
|
||
%endif
|
||
%if %{build_pascal}
|
||
%{_infodir}/gpc%{_package_suffix}.info*
|
||
%{_infodir}/gpcs%{_package_suffix}.info*
|
||
%endif
|
||
%if %{build_fortran}
|
||
%{_infodir}/g77%{_package_suffix}.info*
|
||
%endif
|
||
%endif
|
||
|
||
%if %{build_pdf_doc}
|
||
%files doc-pdf
|
||
%defattr(-,root,root)
|
||
%doc gcc/doc/cppinternals.pdf
|
||
%doc gcc/doc/gcc.pdf
|
||
%doc gcc/doc/cpp.pdf
|
||
%if %{build_ada}
|
||
%doc gcc/ada/gnat_rm.pdf
|
||
%doc gcc/ada/gnat_ug.pdf
|
||
%endif
|
||
%if %{build_fortran}
|
||
%doc gcc/f/g77.pdf
|
||
%endif
|
||
%endif
|
||
|
||
|
||
|
||
%changelog
|
||
* Wed Jul 23 2008 Thierry Vignaud <tvignaud@mandriva.com> 3.4.3-8mdv2009.0
|
||
+ Revision: 243797
|
||
- rebuild
|
||
|
||
+ Pixel <pixel@mandriva.com>
|
||
- do not call ldconfig in %%post/%%postun, it is now handled by filetriggers
|
||
|
||
+ Olivier Blin <oblin@mandriva.com>
|
||
- restore BuildRoot
|
||
|
||
* Tue Dec 18 2007 Thierry Vignaud <tvignaud@mandriva.com> 3.4.3-6mdv2008.1
|
||
+ Revision: 132986
|
||
- fix perl expression regarding "Wp,-D..." in optflags
|
||
- kill re-definition of %%buildroot on Pixel's request
|
||
- use %%mkrel
|
||
- fix prereq on info-install
|
||
- kill file require on update-alternatives
|
||
- fix require on info-install
|
||
- import cross-ppc-gcc
|
||
|
||
|
||
* Tue Mar 8 2005 Gwenole Beauchesne <gbeauchesne@mandrakesoft.com> 3.4.3-6mdk
|
||
- fix javac wrapper script for automake1.9 testsuite (Christiaan)
|
||
- fix minimal cross compilers, in particular x86_64 -> { ppc, ppc64 }
|
||
- don't crash when command line contains a nonexistent file (CVS, #14315)
|
||
|
||
* Fri Feb 25 2005 Gwenole Beauchesne <gbeauchesne@mandrakesoft.com> 3.4.3-5mdk
|
||
- fix libgcj pkgconfig files to look for gcj includes at the right place
|
||
- avoid installing gcc into /usr/lib64 so that existing ways to generate
|
||
libtool scripts can cope with 32-bit development on 64-bit platforms (!)
|
||
|
||
* Thu Feb 10 2005 Gwenole Beauchesne <gbeauchesne@mandrakesoft.com> 3.4.3-4mdk
|
||
- unset TEXINPUTS when building PDF docs (G. Rousse)
|
||
- backport further -fvisibility-inlines-hidden fixes on x86_64 from gcc4
|
||
|
||
* Thu Jan 13 2005 Gwenole Beauchesne <gbeauchesne@mandrakesoft.com> 3.4.3-3mdk
|
||
- fix internal build of ada for the testsuite
|
||
- disable 64-bit code generation if running under a 32-bit personality
|
||
|
||
* Wed Dec 29 2004 Gwenole Beauchesne <gbeauchesne@mandrakesoft.com> 3.4.3-2mdk
|
||
- 3.4-branch (2004/12/28)
|
||
- C++ visibility patches, -fvisibility*, #pragma GCC visibility (3.4-rhl-branch)
|
||
|
||
* Tue Nov 16 2004 Gwenole Beauchesne <gbeauchesne@mandrakesoft.com> 3.4.3-1mdk
|
||
- 3.4.3 release
|
||
|
||
* Fri Sep 17 2004 Gwenole Beauchesne <gbeauchesne@mandrakesoft.com> 3.4.1-4mdk
|
||
- workaround build of ada on 64-bit arches
|
||
|
||
* Tue Jul 27 2004 Gwenole Beauchesne <gbeauchesne@mandrakesoft.com> 3.4.1-3mdk
|
||
- temporarily disable libffi/java on sparc, sparc64 (Per Oyvind Karlsen)
|
||
- selected fixes from 3_4-branch (2004/07/21):
|
||
* don't record usage of globally qualified names (fix PR c++/16637)
|
||
* fix diagnostics with cv-qualified template template parms (PR c++/16175)
|
||
* fix inline nested functions (PR middle-end/15345, c/16450)
|
||
* enable SSE prefetches with -mtune, only if compiling for i686 or higher
|
||
|
||
* Tue Jul 13 2004 Gwenole Beauchesne <gbeauchesne@mandrakesoft.com> 3.4.1-2mdk
|
||
- fix minimal cross-compiler builds for: m68k, ppc, ppc64
|
||
- fix sparc64 __frame_state_for(), used by asm trampoline (Per <EFBFBD>yvind Karlsen)
|
||
- selected fixes from 3_4-branch (2004/07/12):
|
||
* fix C++ enums handling in build_range_check (aka OOo miscompilation)
|
||
* fix SPARC PRs target/16494, target/16430, target/16199
|
||
|
||
* Fri Jul 2 2004 Gwenole Beauchesne <gbeauchesne@mandrakesoft.com> 3.4.1-1mdk
|
||
- 3.4.1 release
|
||
|
||
* Fri Jun 11 2004 Gwenole Beauchesne <gbeauchesne@mandrakesoft.com> 3.4.1-0.3mdk
|
||
- rebuild against new rpm
|
||
|
||
* Tue Jun 8 2004 Gwenole Beauchesne <gbeauchesne@mandrakesoft.com> 3.4.1-0.2mdk
|
||
- 3.4.1 CVS (2004/06/08)
|
||
- fix ada build, start fixing pascal
|
||
- bash-completion for gnatmake (Guillaume Rousse)
|
||
|
||
* Wed Jun 2 2004 Gwenole Beauchesne <gbeauchesne@mandrakesoft.com> 3.4.1-0.1mdk
|
||
- 3.4.1 CVS (2004/06/01)
|
||
- fix pascal & ada frontend later
|
||
- fix javac wrapper to not self move files to the same directory
|
||
|
||
* Thu Apr 22 2004 Gwenole Beauchesne <gbeauchesne@mandrakesoft.com> 3.4.0-1mdk
|
||
- 3.4.0 release
|
||
|
||
* Tue Mar 2 2004 Gwenole Beauchesne <gbeauchesne@mandrakesoft.com> 3.4.0-0.4mdk
|
||
- 3.4.0 CVS (2004/03/02)
|
||
|
||
* Fri Feb 20 2004 Gwenole Beauchesne <gbeauchesne@mandrakesoft.com> 3.4.0-0.3mdk
|
||
- Enable Java front-end
|
||
- 3.4.0 CVS (2004/02/20)
|
||
|
||
* Thu Feb 12 2004 Gwenole Beauchesne <gbeauchesne@mandrakesoft.com> 3.4.0-0.2mdk
|
||
- Include a set of precompiled headers built with $RPM_OPT_FLAGS
|
||
|
||
* Tue Feb 10 2004 Gwenole Beauchesne <gbeauchesne@mandrakesoft.com> 3.4.0-0.1mdk
|
||
- 3.4.0 CVS (2004/02/10)
|
||
|
||
# Local Variables:
|
||
# tab-width: 8
|
||
# End:
|