michael@320: ##
michael@320: ## gcc.spec -- OpenPKG RPM Package Specification
michael@320: ## Copyright (c) 2000-2010 OpenPKG Foundation e.V.
michael@320: ##
michael@320: ## Permission to use, copy, modify, and distribute this software for
michael@320: ## any purpose with or without fee is hereby granted, provided that
michael@320: ## the above copyright notice and this permission notice appear in all
michael@320: ## copies.
michael@320: ##
michael@320: ## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
michael@320: ## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
michael@320: ## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
michael@320: ## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
michael@320: ## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
michael@320: ## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
michael@320: ## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
michael@320: ## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
michael@320: ## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
michael@320: ## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
michael@320: ## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
michael@320: ## SUCH DAMAGE.
michael@320: ##
michael@320:
michael@320: # package version
michael@473: %define V_full 4.7.1
michael@320: %define V_comp %nil
michael@320:
michael@320: # package information
michael@320: Name: gcc
michael@320: Summary: GNU Compiler Collection
michael@320: URL: http://gcc.gnu.org/
michael@320: Vendor: Free Software Foundation
michael@320: Packager: OpenPKG Foundation e.V.
michael@320: Distribution: OpenPKG Community
michael@320: Class: CORE
michael@320: Group: Compiler
michael@320: License: GPL
michael@320: Version: %{V_full}
michael@473: Release: 20120800
michael@320:
michael@320: # package options
michael@320: %option with_binutils yes
michael@320: %option with_cxx yes
michael@320: %option with_objc no
michael@320: %option with_java no
michael@320: %option with_fortran no
michael@320: %option with_optimize yes
michael@320: %option with_profile no
michael@320: %option with_threads yes
michael@320: %option with_multilib no
michael@320:
michael@335: # fix intermodule dependencies implicitly
michael@335: %if "%{with_java}" == "yes"
michael@335: %define with_cxx yes
michael@335: %define with_threads yes
michael@335: %endif
michael@335:
michael@320: # list of sources
michael@473: Source0: ftp://gcc.gnu.org/pub/gcc/releases/gcc-%{V_full}/gcc-%{V_full}.tar.bz2
michael@320: Patch0: gcc.patch
michael@320:
michael@320: # build information
michael@473: BuildPreReq: OpenPKG, openpkg >= 20100101, make
michael@473: PreReq: OpenPKG, openpkg >= 20100101
michael@332: BuildPreReq: mpc, mpfr, gmp
michael@332: PreReq: mpc, mpfr, gmp
michael@320: %if "%{with_binutils}" == "yes"
michael@320: BuildPreReq: binutils >= 2.14
michael@320: PreReq: binutils >= 2.14
michael@320: %endif
michael@320: %if "%{with_cxx}" == "yes"
michael@320: BuildPreReq: libiconv
michael@320: PreReq: libiconv
michael@320: %endif
michael@320: %if "%{with_java}" == "yes"
michael@335: BuildPreReq: zlib, infozip
michael@320: PreReq: zlib
michael@320: %endif
michael@320:
michael@320: %description
michael@320: The GNU Compiler Collection (GCC) provides standard conforming and
michael@320: highly portable compilers for the ISO C, ISO C++, Objective-C,
michael@320: Fortran and Java languages.
michael@320:
michael@320: %track
michael@320: prog gcc = {
michael@320: version = %{V_full}
michael@320: url = ftp://gcc.gnu.org/pub/gcc/releases/
michael@320: regex = gcc-(4\.\d+\.\d+)
michael@320: url = ftp://gcc.gnu.org/pub/gcc/releases/gcc-__NEWVER__/
michael@473: regex = gcc-(\d+\.\d+\.\d+)\.tar\.bz2
michael@320: }
michael@320:
michael@320: %prep
michael@320: %setup -q
michael@320: %patch -p0
michael@332: %{l_shtool} subst \
michael@332: -e 's;\(instname="\$dir/\$name"\)i;\1;' \
michael@332: ltmain.sh
michael@320: %{l_shtool} subst -v -s \
michael@328: -e 's;\(gmplibs="-lmpc\) \(-lmpfr -lgmp\);\1 -lm \2;' \
michael@328: configure
michael@328: %{l_shtool} subst -v -s \
michael@335: -e 's;\(LDEXP_LIB=\)"$LIBS";\1"$LDFLAGS";' \
michael@320: -e 's;PREFIX_INCLUDE_DIR;PREFIX_INCLUDE_DIR_DISABLED;g' \
michael@320: gcc/configure
michael@332: %{l_shtool} subst \
michael@332: -e 's;[ \t]*-W[a-zA-Z0-9_\-][a-zA-Z0-9_\-]*,*;;g' \
michael@332: lto-plugin/Makefile.in
michael@332: %{l_shtool} subst \
michael@332: -e 's;-rpath *[^ \t][^ \t]*;;g' \
michael@332: -e 's;--tag=disable-static;--tag=disable-shared;g' \
michael@332: -e 's;\.\./libiberty/libiberty\.a;-L../libiberty -liberty;g' \
michael@332: -e 's;\.\./libiberty/pic/libiberty\.a;-L../libiberty/pic -liberty;g' \
michael@332: lto-plugin/Makefile.in
michael@337: %if "%{with_cxx}" == "yes"
michael@337: %{l_shtool} subst \
michael@337: -e 's;\(pythondir *= *\$(datadir)\)/gcc-\$(gcc_version);\1/gcc;' \
michael@337: libstdc++-v3/python/Makefile.in
michael@337: %endif
michael@337: %if "%{with_java}" == "yes"
michael@337: %{l_shtool} subst \
michael@337: -e 's;\(default_python_dir\) *=.*;\1=/share/gcc/python/libjava;' \
michael@337: libjava/configure
michael@337: %{l_shtool} subst \
michael@337: -e 's;JAR *= *@JAR@;JAR = $(here)/scripts/jar;' \
michael@337: libjava/Makefile.in
michael@337: %endif
michael@320: if [ ".%{V_comp}" != . ]; then
michael@320: %{l_shtool} subst -v -s \
michael@320: -e 's;(libdir)/gcc/;(libdir)/gcc%{V_comp}/;' \
michael@337: -e 's;(libexecdir)/gcc/;(libexecdir)/gcc%{V_comp}/;' \
michael@320: `find . -name Makefile.in -type f -print`
michael@320: fi
michael@334: %{l_shtool} subst \
michael@334: -e 's;^\(do-compare\) *\(=.*\);#\1-shouldnt-be-defined-here \2;' \
michael@334: config/*.mk
michael@320: case "%{l_platform -t}" in
michael@334: amd64-linux* )
michael@320: %{l_shtool} subst \
michael@320: -e 's/GLIBCXX_IS_NATIVE=false/GLIBCXX_IS_NATIVE=true/g' \
michael@320: -e 's/test x.gcc_no_link = xyes/false/g' \
michael@320: libstdc++-v3/configure
michael@320: ;;
michael@320: esac
michael@320: %{l_shtool} subst \
michael@320: -e 's;;"%{l_prefix}/include/iconv.h";' \
michael@320: libstdc++-v3/include/ext/codecvt_specializations.h
michael@337: %{l_shtool} subst \
michael@337: -e 's;.*with_arch_32=\${with_arch_32:-pentium4}.*;;' \
michael@337: -e 's;with_arch_32=\${with_arch_32:-pentiumpro};arch_without_sse2=yes;' \
michael@337: gcc/config.gcc
michael@406: #-e 's;\(with_arch_32=\${with_arch_32:-\)pentium4};\1pentium3};' \
michael@406:
michael@406: %if "%{with_cxx}" == "yes"
michael@406: # sad hack to correct split gettext in libc and libintl each
michael@406: # providing locale-intl.cc disparate libintl.h with externs,
michael@406: # see http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11074
michael@406: [ -f %{l_prefix}/include/libintl.h -a -f /usr/include/libintl.h ] && \
michael@406: cp /usr/include/libintl.h libstdc++-v3/libsupc++/ || \
michael@406: [ -f /usr/include/libintl.h ] || \
michael@406: ( echo "A system native gettext installation is not detected. Because GCC"
michael@406: echo "C++ components require gettext problems may arise. These problems"
michael@406: echo "can appear at build time causing the build to stop with errors"
michael@406: echo "containing the words NLS, intl, or locale, or at run time should"
michael@406: echo "undefined external symbols libintl_* in libstdc++.a interfere with"
michael@406: echo "building other C++ sources."
michael@406: echo ""
michael@406: echo "To solve such problems, contact the GCC package maintainer and inform"
michael@406: echo "of the location of libintl.h header on the system in question."
michael@406: ) | %{l_rpmtool} msg -b -t warn
michael@406: %endif
michael@320:
michael@320: %build
michael@334: # create build subdirectory
michael@337: %{l_shtool} mkdir -p objbld
michael@337: cd objbld
michael@320:
michael@334: # locate ld(1) and as(1) accordingly
michael@328: %if "%{with_binutils}" == "yes"
michael@334: # allow OpenPKG binutils
michael@328: LD=%{l_tool_locate ld ld}
michael@328: AS=%{l_tool_locate as as}
michael@322: %else
michael@334: # ignore OpenPKG binutils
michael@334: LD=`PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/ccs/bin:/opt/bin:/opt/sbin:/usr/local/bin:/usr/local/sbin which ld`
michael@334: AS=`PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/ccs/bin:/opt/bin:/opt/sbin:/usr/local/bin:/usr/local/sbin which as`
michael@322: %endif
michael@320: l_with_gnu_ld_as=""
michael@322: echo $LD | grep '^/' >/dev/null && l_with_gnu_ld_as="--with-ld=$LD"
michael@320: echo $AS | grep '^/' >/dev/null && l_with_gnu_ld_as="${l_with_gnu_ld_as} --with-as=$AS"
michael@337: $LD --version /dev/null | grep "^GNU ld" >/dev/null && l_with_gnu_ld_as="${l_with_gnu_ld_as} --with-gnu-ld" || l_with_gnu_ld_as="${l_with_gnu_ld_as} --without-gnu-ld"
michael@337: $AS --version /dev/null | grep "^GNU assembler" >/dev/null && l_with_gnu_ld_as="${l_with_gnu_ld_as} --with-gnu-as" || l_with_gnu_ld_as="${l_with_gnu_ld_as} --without-gnu-as"
michael@320:
michael@334: # determine threads use
michael@320: %if "%{with_threads}" == "yes"
michael@320: l_enable_threads="posix"
michael@320: %else
michael@320: l_enable_threads="single"
michael@320: %endif
michael@320:
michael@334: # determine language use
michael@320: l_enable_languages="c"
michael@320: %if "%{with_cxx}" == "yes"
michael@320: l_enable_languages="${l_enable_languages},c++"
michael@320: %endif
michael@320: %if "%{with_objc}" == "yes"
michael@320: l_enable_languages="${l_enable_languages},objc"
michael@320: %endif
michael@320: %if "%{with_java}" == "yes"
michael@320: l_enable_languages="${l_enable_languages},java"
michael@320: %endif
michael@320: %if "%{with_fortran}" == "yes"
michael@320: l_enable_languages="${l_enable_languages},f95"
michael@320: %endif
michael@320:
michael@334: # disable GNU iconv use
michael@320: ( echo "am_cv_func_iconv=no"
michael@320: echo "am_cv_lib_iconv=no"
michael@717: echo "gcc_cv_prog_cmp_skip=true"
michael@320: ) >config.cache
michael@332:
michael@320: # configure the package
michael@322: LD="$LD" \
michael@322: AS="$AS" \
michael@320: CC="%{l_cc}" \
michael@320: CFLAGS="%{l_cflags}" \
michael@335: %if "%{with_cxx}" == "yes"
michael@320: CPPFLAGS="%{l_cppflags}" \
michael@320: LDFLAGS="%{l_ldflags}" \
michael@320: %endif
michael@320: CONFIG_SHELL="%{l_bash}" \
michael@332: GREP="%{l_bash}" \
michael@320: ../configure \
michael@406: --cache-file=./config.cache \
michael@320: --with-bugurl="http://openpkg.org/" \
michael@320: --with-pkgversion="%{l_openpkg_release -F "OpenPKG-%%t"}" \
michael@320: --srcdir=`pwd`/.. \
michael@320: --prefix=%{l_prefix} \
michael@320: --exec-prefix=%{l_prefix} \
michael@320: --mandir=%{l_prefix}/man \
michael@320: --infodir=%{l_prefix}/info \
michael@320: --includedir=%{l_prefix}/include/gcc%{V_comp} \
michael@320: --with-gxx-include-dir=%{l_prefix}/include/g++%{V_comp} \
michael@320: --enable-languages="${l_enable_languages}" \
michael@320: --enable-threads="${l_enable_threads}" \
michael@320: --disable-maintainer-mode \
michael@320: --disable-shared \
michael@320: --disable-nls \
michael@320: %if "%{with_java}" == "yes"
michael@320: --with-system-zlib \
michael@320: %endif
michael@320: %if "%{with_multilib}" == "yes"
michael@320: --enable-multilib \
michael@320: %else
michael@320: --disable-multilib \
michael@320: %endif
michael@320: %if "%{with_cxx}" == "yes"
michael@320: --with-libiconv-prefix=%{l_prefix} \
michael@320: %endif
michael@320: --with-gmp=%{l_prefix} \
michael@320: --with-mpfr=%{l_prefix} \
michael@320: --with-mpc=%{l_prefix} \
michael@320: ${l_with_gnu_ld_as}
michael@320:
michael@320: # determine build flags
michael@320: l_ccisgcc=no
michael@320: if [ ".`(%{l_cc} -v; %{l_cc} --version) &1 | grep -i 'gcc'`" != . ]; then
michael@320: l_ccisgcc=yes
michael@320: fi
michael@320: l_cflags=""
michael@320: l_cxxflags=""
michael@320: l_boot_cflags=""
michael@320: l_libcflags="-g"
michael@320: l_libcxxflags="-g"
michael@320: # at least GNU as from GNU binutils supports -pipe always
michael@332: "$AS" --version /dev/null | grep "^GNU assembler" >/dev/null && {
michael@320: l_boot_cflags="$l_boot_cflags -pipe"
michael@320: l_libcxxflags="$l_libcxxflags -pipe"
michael@320: }
michael@320: %if "%{with_optimize}" == "yes"
michael@334: # GCC authors are not keeping up with optimized portability expectations
michael@334: ( echo "As GCC advances its optimization logic becomes increasingly complex (and"
michael@334: echo "buggy?) Since at least GCC 4.5, problems have been reported using arguments"
michael@334: echo "-O, -mtune, or -march implicitly or explicitly during different bootstrap"
michael@334: echo "stages as well as stage comparison and even the final installation."
michael@334: echo ""
michael@334: echo "Pay attention when building on one computer and installing on another as"
michael@334: echo "problems may be platform specific. If in doubt, disable optimization."
michael@334: ) | %{l_rpmtool} msg -b -t warn
michael@337: if [ ".$l_ccisgcc" != .yes ]; then
michael@334: # CPU native detection only works with GCC (see driver-i386.c)
michael@334: ( echo "Platform specific optimization is enabled, but detection of appropriate"
michael@334: echo "native architecture is only possible when bootstrapping GCC using a pre-"
michael@337: echo "installed GCC. The current build is using a different compiler, so such"
michael@337: echo "optimization is generically built while deferring native architecture"
michael@337: echo "detection to the final GCC binary."
michael@334: echo ""
michael@337: echo "To achieve native architecture detection while bootstrapping please"
michael@337: echo "install GCC first and then build GCC a second time."
michael@334: ) | %{l_rpmtool} msg -b -t notice
michael@332: fi
michael@337: # tuning without specifying '-march' is portable and in theory
michael@337: # allows the resulting GCC binaries to execute on other hosts!
michael@332: case "%{l_platform -t}" in
michael@337: *sun4[uv]-* ) l_boot_cflags="$l_boot_cflags -mtune=v9" ;;
michael@337: *sun*-* ) l_boot_cflags="$l_boot_cflags -mtune=v8" ;;
michael@337: *i?86-* | *amd64-* | *ia64-* ) l_boot_cflags="$l_boot_cflags -mtune=native" ;;
michael@337: * ) l_boot_cflags="$l_boot_cflags -mtune=generic" ;;
michael@332: esac
michael@332: l_cflags="$l_cflags -O"
michael@332: l_boot_cflags="$l_boot_cflags -O3 -fomit-frame-pointer"
michael@332: l_libcxxflags="$l_libcxxflags -O3 -fno-implicit-templates"
michael@332: %else
michael@334: # don't optimize at all to avoid problems
michael@320: l_boot_cflags="$l_boot_cflags -O0"
michael@320: l_libcxxflags="$l_libcxxflags -O0"
michael@320: %endif
michael@334: %if "%{with_profile}" == "yes"
michael@335: # generate profile feedback
michael@334: maketarget="profiledbootstrap"
michael@334: loc_makeflags="%{l_mflags}"
michael@335:
michael@335: # warn about exceptional build duration for profile feedback
michael@335: ( echo "Building profile feedback on some hosts can take many days to complete!"
michael@335: echo "Now continuing to build a profiled bootstrap with parallel make logic"
michael@717: echo "disabled according to profiling requirements..."
michael@335: ) | %{l_rpmtool} msg -b -t warn
michael@335:
michael@335: # warn about profiled bootstrap requirement of 64-bit arithmetic
michael@334: if [ ".$l_ccisgcc" != .yes ]; then
michael@717: ( echo "A preinstalled GCC was not detected although one is recommended for"
michael@335: echo "building a profiled bootstrap. Buildtime or runtime errors can occur if"
michael@335: echo "the compiler used to build profile feedback doesn't support 64-bit math."
michael@334: echo ""
michael@334: echo "If in doubt, stop now and start the build again with profiling disabled."
michael@334: ) | %{l_rpmtool} msg -b -t warn
michael@334: fi
michael@334: %else
michael@335: # build in three stages
michael@332: maketarget="bootstrap"
michael@334: loc_makeflags="%{l_mflags -O}"
michael@320: %endif
michael@320: case "%{l_platform -t}" in
michael@332: *64-* ) l_cflags="$l_cflags -fPIC"; l_cxxflags="$l_cxxflags -fPIC" ;;
michael@320: esac
michael@335: %if "%{with_cxx}" == "yes"
michael@320: l_cflags="$l_cflags %{l_cppflags}"
michael@320: l_cxxflags="$l_cxxflags %{l_cppflags}"
michael@320: l_libcflags="$l_libcflags %{l_cppflags}"
michael@320: l_libcxxflags="$l_libcxxflags %{l_cppflags}"
michael@320: %endif
michael@320:
michael@320: # build the package
michael@334: MAKE="%{l_make} ${loc_makeflags}" \
michael@334: %{l_make} ${loc_makeflags} \
michael@332: GREP="grep" \
michael@334: MAKE="%{l_make} ${loc_makeflags}" \
michael@320: BOOT_CFLAGS="${l_boot_cflags}" \
michael@320: CFLAGS="${l_cflags}" \
michael@320: CXXFLAGS="${l_cxxflags}" \
michael@335: %if "%{with_cxx}" == "yes"
michael@335: CPPFLAGS="%{l_cppflags}" \
michael@335: LDFLAGS="%{l_ldflags}" \
michael@335: BOOT_LDFLAGS="%{l_ldflags}" \
michael@335: %endif
michael@320: LIBCFLAGS="${l_libcflags}" \
michael@320: LIBCXXFLAGS="${l_libcxxflags}" \
michael@320: $maketarget
michael@320:
michael@320: %install
michael@321: rm -rf $RPM_BUILD_ROOT
michael@320:
michael@320: # fetch GNU platform triple
michael@320: triple=`./config.guess`
michael@320:
michael@337: # perform standard installation procedure
michael@337: ( cd objbld
michael@320: %{l_make} %{l_mflags} install DESTDIR=$RPM_BUILD_ROOT
michael@320: ) || exit $?
michael@320:
michael@320: # cleanup installation tree
michael@320: mv $RPM_BUILD_ROOT%{l_prefix}/lib/{lib*.a,*.spec} \
michael@320: $RPM_BUILD_ROOT%{l_prefix}/lib/gcc%{V_comp}/${triple}/[0-9]*/ \
michael@320: >/dev/null 2>&1 || true
michael@320: mv $RPM_BUILD_ROOT%{l_prefix}/lib64/{lib*.a,*.spec} \
michael@320: $RPM_BUILD_ROOT%{l_prefix}/lib/gcc%{V_comp}/${triple}/[0-9]*/ \
michael@320: >/dev/null 2>&1 || true
michael@320: dirs=""
michael@320: for multilib in `$RPM_BUILD_ROOT%{l_prefix}/bin/gcc --print-multi-lib`; do
michael@320: subdir=`echo "$multilib" | sed -e 's/;.*$//'`
michael@320: [ ".$subdir" = .. ] && continue
michael@320: mv $RPM_BUILD_ROOT%{l_prefix}/lib/$subdir/lib*.a \
michael@320: $RPM_BUILD_ROOT%{l_prefix}/lib/gcc%{V_comp}/${triple}/[0-9]*/$subdir/ \
michael@320: >/dev/null 2>&1 || true
michael@320: mv $RPM_BUILD_ROOT%{l_prefix}/lib64/$subdir/lib*.a \
michael@320: $RPM_BUILD_ROOT%{l_prefix}/lib/gcc%{V_comp}/${triple}/[0-9]*/$subdir/ \
michael@320: >/dev/null 2>&1 || true
michael@320: dirs="$dirs $subdir"
michael@320: done
michael@320: for subdir in $dirs; do
michael@320: rm -rf $RPM_BUILD_ROOT%{l_prefix}/lib/$subdir >/dev/null 2>&1 || true
michael@320: done
michael@320: mv $RPM_BUILD_ROOT%{l_prefix}/${triple}/include/* \
michael@320: $RPM_BUILD_ROOT%{l_prefix}/lib/gcc%{V_comp}/${triple}/[0-9]*/include/ \
michael@320: >/dev/null 2>&1 || true
michael@320:
michael@332: # correct hardcoded paths
michael@332: %{l_shtool} subst \
michael@337: -e "s;\(dependency_libs\) *=.*;\1='-L%{l_prefix}/lib\ -L%{l_prefix}/lib/gcc%{V_comp}/${triple}/%{V_full}\ -liberty';" \
michael@337: $RPM_BUILD_ROOT%{l_prefix}/libexec/gcc%{V_comp}/${triple}/[0-9]*/liblto_plugin.la
michael@332:
michael@320: # strip installation tree
michael@320: rm -rf $RPM_BUILD_ROOT%{l_prefix}/${triple}
michael@320: rm -f $RPM_BUILD_ROOT%{l_prefix}/info/dir
michael@320: rm -rf $RPM_BUILD_ROOT%{l_prefix}/man/man7 >/dev/null 2>&1 || true
michael@320: rm -f $RPM_BUILD_ROOT%{l_prefix}/lib/*.la >/dev/null 2>&1 || true
michael@320: rm -rf $RPM_BUILD_ROOT%{l_prefix}/lib64 >/dev/null 2>&1 || true
michael@320: rm -f $RPM_BUILD_ROOT%{l_prefix}/bin/*-gcc* >/dev/null 2>&1 || true
michael@320: %if "%{with_cxx}" == "yes"
michael@320: rm -f $RPM_BUILD_ROOT%{l_prefix}/bin/*-c++ >/dev/null 2>&1 || true
michael@320: rm -f $RPM_BUILD_ROOT%{l_prefix}/bin/*-g++ >/dev/null 2>&1 || true
michael@320: %endif
michael@468: %if "%{with_java}" == "yes"
michael@468: rm -f $RPM_BUILD_ROOT%{l_prefix}/bin/*-gcj >/dev/null 2>&1 || true
michael@468: %endif
michael@468: %if "%{with_fortran}" == "yes"
michael@468: rm -f $RPM_BUILD_ROOT%{l_prefix}/bin/*-gfortran >/dev/null 2>&1 || true
michael@468: %endif
michael@320: strip $RPM_BUILD_ROOT%{l_prefix}/bin/* >/dev/null 2>&1 || true
michael@320: for prog in cc1 cc1plus collect2 cpp; do
michael@320: strip $RPM_BUILD_ROOT%{l_prefix}/lib/gcc%{V_comp}/${triple}/[0-9]*/${prog} \
michael@320: >/dev/null 2>&1 || true
michael@320: done
michael@320:
michael@320: # bump up installation tree
michael@320: ln $RPM_BUILD_ROOT%{l_prefix}/bin/gcc \
michael@320: $RPM_BUILD_ROOT%{l_prefix}/bin/cc
michael@320: ln $RPM_BUILD_ROOT%{l_prefix}/man/man1/gcc.1 \
michael@320: $RPM_BUILD_ROOT%{l_prefix}/man/man1/cc.1
michael@320: %if "%{with_cxx}" == "yes"
michael@320: ln $RPM_BUILD_ROOT%{l_prefix}/man/man1/g++.1 \
michael@320: $RPM_BUILD_ROOT%{l_prefix}/man/man1/c++.1
michael@320: %endif
michael@320:
michael@320: # determine installation file list
michael@320: %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std}
michael@320:
michael@320: %files -f files
michael@320:
michael@320: %clean
michael@321: rm -rf $RPM_BUILD_ROOT
michael@320: