Import package vendor original specs for necessary manipulations.

Thu, 24 Mar 2011 19:00:55 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 24 Mar 2011 19:00:55 +0100
changeset 320
d8a8300afdc8
parent 319
8ad5bb570338
child 321
bbed90117468

Import package vendor original specs for necessary manipulations.

gcc/gcc.patch file | annotate | diff | comparison | revisions
gcc/gcc.spec file | annotate | diff | comparison | revisions
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/gcc/gcc.patch	Thu Mar 24 19:00:55 2011 +0100
     1.3 @@ -0,0 +1,108 @@
     1.4 +Index: config.guess
     1.5 +--- config.guess.orig	2010-03-23 15:26:40.000000000 +0100
     1.6 ++++ config.guess	2010-08-01 23:35:02.000000000 +0200
     1.7 +@@ -194,7 +194,7 @@
     1.8 + 		release='-gnu'
     1.9 + 		;;
    1.10 + 	    *)
    1.11 +-		release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
    1.12 ++		release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*//'`
    1.13 + 		;;
    1.14 + 	esac
    1.15 + 	# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
    1.16 +Index: gcc/config/alpha/osf.h
    1.17 +--- gcc/config/alpha/osf.h.orig	2010-04-28 18:26:24.000000000 +0200
    1.18 ++++ gcc/config/alpha/osf.h	2010-08-01 23:35:02.000000000 +0200
    1.19 +@@ -77,7 +77,7 @@
    1.20 +    constructor and call-frame data structures are not accidentally
    1.21 +    overridden.  */
    1.22 + #define LINK_SPEC  \
    1.23 +-  "-G 8 %{O*:-O3} %{!O*:-O1} -S %{static:-non_shared} \
    1.24 ++  "-oldstyle_liblookup %{!o:-o a.out} -G 8 %{O*:-O3} %{!O*:-O1} -S %{static:-non_shared} \
    1.25 +    %{!static:%{shared:-shared -hidden_symbol _GLOBAL_*} \
    1.26 +    %{!shared:-call_shared}} %{pg} %{taso} %{rpath*}"
    1.27 + 
    1.28 +Index: gcc/config/i386/sol2-10.h
    1.29 +--- gcc/config/i386/sol2-10.h.orig	2010-07-14 10:47:54.000000000 +0200
    1.30 ++++ gcc/config/i386/sol2-10.h	2010-08-01 23:37:46.000000000 +0200
    1.31 +@@ -114,7 +114,7 @@
    1.32 +              -R /usr/ucblib/64} \
    1.33 +    %{!compat-bsd: \
    1.34 +      %{!YP,*:%{p|pg:-Y P,/usr/lib/libp/64:/lib/64:/usr/lib/64} \
    1.35 +-             %{!p:%{!pg:-Y P,/lib/64:/usr/lib/64}}}}"
    1.36 ++             %{!p:%{!pg:-Y P,/lib/64:/usr/lib/64}}} -rpath-link /lib/64:/usr/lib/64}"
    1.37 + 
    1.38 + #undef LINK_ARCH64_SPEC
    1.39 + #define LINK_ARCH64_SPEC LINK_ARCH64_SPEC_BASE
    1.40 +@@ -131,7 +131,7 @@
    1.41 + #endif
    1.42 + 
    1.43 + #define TARGET_LD_EMULATION "%{m64:-m " X86_64_EMULATION "}" \
    1.44 +-			    "%{!m64:-m " I386_EMULATION "} "
    1.45 ++			    "%{!m64:} "
    1.46 + #else
    1.47 + #define TARGET_LD_EMULATION ""
    1.48 + #endif
    1.49 +Index: gcc/config/i386/sol2.h
    1.50 +--- gcc/config/i386/sol2.h.orig	2010-07-14 10:47:54.000000000 +0200
    1.51 ++++ gcc/config/i386/sol2.h	2010-08-01 23:35:02.000000000 +0200
    1.52 +@@ -76,6 +76,9 @@
    1.53 + #undef ASM_QUAD
    1.54 + #endif
    1.55 + 
    1.56 ++#undef DEFAULT_PCC_STRUCT_RETURN
    1.57 ++#define DEFAULT_PCC_STRUCT_RETURN 1
    1.58 ++
    1.59 + /* The Solaris assembler wants a .local for non-exported aliases.  */
    1.60 + #define ASM_OUTPUT_DEF_FROM_DECLS(FILE, DECL, TARGET)	\
    1.61 +   do {							\
    1.62 +Index: gcc/config/sol2.h
    1.63 +--- gcc/config/sol2.h.orig	2010-04-16 15:33:58.000000000 +0200
    1.64 ++++ gcc/config/sol2.h	2010-08-01 23:35:02.000000000 +0200
    1.65 +@@ -176,8 +176,8 @@
    1.66 +    %{b} \
    1.67 +    %{!shared:%{!static:%{rdynamic: " RDYNAMIC_SPEC "}}} \
    1.68 +    %{static:-dn -Bstatic} \
    1.69 +-   %{shared:-G -dy %{!mimpure-text:-z text}} \
    1.70 +-   %{symbolic:-Bsymbolic -G -dy -z text} \
    1.71 ++   %{shared:-G -dy} \
    1.72 ++   %{symbolic:-Bsymbolic -G -dy} \
    1.73 +    %(link_arch) \
    1.74 +    %{Qy:} %{!Qn:-Qy}"
    1.75 + 
    1.76 +Index: gcc/system.h
    1.77 +--- gcc/system.h.orig	2009-12-14 00:00:53.000000000 +0100
    1.78 ++++ gcc/system.h	2010-08-01 23:35:02.000000000 +0200
    1.79 +@@ -398,10 +398,6 @@
    1.80 + extern char *strstr (const char *, const char *);
    1.81 + #endif
    1.82 + 
    1.83 +-#ifdef HAVE_MALLOC_H
    1.84 +-#include <malloc.h>
    1.85 +-#endif
    1.86 +-
    1.87 + #if defined (HAVE_DECL_MALLOC) && !HAVE_DECL_MALLOC
    1.88 + extern void *malloc (size_t);
    1.89 + #endif
    1.90 +Index: libcpp/charset.c
    1.91 +--- libcpp/charset.c.orig	2010-03-29 22:07:29.000000000 +0200
    1.92 ++++ libcpp/charset.c	2010-08-01 23:35:02.000000000 +0200
    1.93 +@@ -75,6 +75,7 @@
    1.94 + #define iconv_open(x, y) (errno = EINVAL, (iconv_t)-1)
    1.95 + #define iconv(a,b,c,d,e) (errno = EINVAL, (size_t)-1)
    1.96 + #define iconv_close(x)   (void)0
    1.97 ++#undef ICONV_CONST
    1.98 + #define ICONV_CONST
    1.99 + #endif
   1.100 + 
   1.101 +Index: libcpp/internal.h
   1.102 +--- libcpp/internal.h.orig	2010-03-29 22:07:29.000000000 +0200
   1.103 ++++ libcpp/internal.h	2010-08-01 23:35:02.000000000 +0200
   1.104 +@@ -29,6 +29,7 @@
   1.105 + #if HAVE_ICONV
   1.106 + #include <iconv.h>
   1.107 + #else
   1.108 ++#undef  HAVE_ICONV
   1.109 + #define HAVE_ICONV 0
   1.110 + typedef int iconv_t;  /* dummy */
   1.111 + #endif
     2.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     2.2 +++ b/gcc/gcc.spec	Thu Mar 24 19:00:55 2011 +0100
     2.3 @@ -0,0 +1,346 @@
     2.4 +##
     2.5 +##  gcc.spec -- OpenPKG RPM Package Specification
     2.6 +##  Copyright (c) 2000-2010 OpenPKG Foundation e.V. <http://openpkg.net/>
     2.7 +##
     2.8 +##  Permission to use, copy, modify, and distribute this software for
     2.9 +##  any purpose with or without fee is hereby granted, provided that
    2.10 +##  the above copyright notice and this permission notice appear in all
    2.11 +##  copies.
    2.12 +##
    2.13 +##  THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
    2.14 +##  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
    2.15 +##  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
    2.16 +##  IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
    2.17 +##  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
    2.18 +##  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
    2.19 +##  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
    2.20 +##  USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    2.21 +##  ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
    2.22 +##  OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
    2.23 +##  OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    2.24 +##  SUCH DAMAGE.
    2.25 +##
    2.26 +
    2.27 +#   package version
    2.28 +%define       V_full         4.5.2
    2.29 +%define       V_comp         %nil
    2.30 +
    2.31 +#   package information
    2.32 +Name:         gcc
    2.33 +Summary:      GNU Compiler Collection
    2.34 +URL:          http://gcc.gnu.org/
    2.35 +Vendor:       Free Software Foundation
    2.36 +Packager:     OpenPKG Foundation e.V.
    2.37 +Distribution: OpenPKG Community
    2.38 +Class:        CORE
    2.39 +Group:        Compiler
    2.40 +License:      GPL
    2.41 +Version:      %{V_full}
    2.42 +Release:      20101221
    2.43 +
    2.44 +#   package options
    2.45 +%option       with_binutils  yes
    2.46 +%option       with_cxx       yes
    2.47 +%option       with_objc      no
    2.48 +%option       with_java      no
    2.49 +%option       with_fortran   no
    2.50 +%option       with_optimize  yes
    2.51 +%option       with_profile   no
    2.52 +%option       with_threads   yes
    2.53 +%option       with_multilib  no
    2.54 +
    2.55 +#   list of sources
    2.56 +Source0:      ftp://gcc.gnu.org/pub/gcc/releases/gcc-%{V_full}/gcc-core-%{V_full}.tar.bz2
    2.57 +Source1:      ftp://gcc.gnu.org/pub/gcc/releases/gcc-%{V_full}/gcc-g++-%{V_full}.tar.bz2
    2.58 +Source2:      ftp://gcc.gnu.org/pub/gcc/releases/gcc-%{V_full}/gcc-objc-%{V_full}.tar.bz2
    2.59 +Source3:      ftp://gcc.gnu.org/pub/gcc/releases/gcc-%{V_full}/gcc-java-%{V_full}.tar.bz2
    2.60 +Source4:      ftp://gcc.gnu.org/pub/gcc/releases/gcc-%{V_full}/gcc-fortran-%{V_full}.tar.bz2
    2.61 +Patch0:       gcc.patch
    2.62 +
    2.63 +#   build information
    2.64 +BuildPreReq:  OpenPKG, openpkg >= 20100101, make
    2.65 +PreReq:       OpenPKG, openpkg >= 20100101
    2.66 +%if "%{with_binutils}" == "yes"
    2.67 +BuildPreReq:  binutils >= 2.14
    2.68 +PreReq:       binutils >= 2.14
    2.69 +%endif
    2.70 +BuildPreReq:  mpc, mpfr, gmp
    2.71 +PreReq:       mpc, mpfr, gmp
    2.72 +%if "%{with_cxx}" == "yes"
    2.73 +BuildPreReq:  libiconv
    2.74 +PreReq:       libiconv
    2.75 +%endif
    2.76 +%if "%{with_java}" == "yes"
    2.77 +BuildPreReq:  zlib
    2.78 +PreReq:       zlib
    2.79 +%endif
    2.80 +
    2.81 +%description
    2.82 +    The GNU Compiler Collection (GCC) provides standard conforming and
    2.83 +    highly portable compilers for the ISO C, ISO C++, Objective-C,
    2.84 +    Fortran and Java languages.
    2.85 +
    2.86 +%track
    2.87 +    prog gcc = {
    2.88 +        version   = %{V_full}
    2.89 +        url       = ftp://gcc.gnu.org/pub/gcc/releases/
    2.90 +        regex     = gcc-(4\.\d+\.\d+)
    2.91 +        url       = ftp://gcc.gnu.org/pub/gcc/releases/gcc-__NEWVER__/
    2.92 +        regex     = gcc-core-(\d+\.\d+\.\d+)\.tar\.bz2
    2.93 +    }
    2.94 +
    2.95 +%prep
    2.96 +    %setup -q
    2.97 +%if "%{with_cxx}" == "yes"
    2.98 +    %setup -q -T -D -b 1
    2.99 +%endif
   2.100 +%if "%{with_objc}" == "yes"
   2.101 +    %setup -q -T -D -b 2
   2.102 +%endif
   2.103 +%if "%{with_java}" == "yes"
   2.104 +    %setup -q -T -D -b 3
   2.105 +%endif
   2.106 +%if "%{with_fortran}" == "yes"
   2.107 +    %setup -q -T -D -b 4
   2.108 +%endif
   2.109 +    %patch -p0
   2.110 +    %{l_shtool} subst -v -s \
   2.111 +        -e 's;PREFIX_INCLUDE_DIR;PREFIX_INCLUDE_DIR_DISABLED;g' \
   2.112 +        gcc/configure
   2.113 +    if [ ".%{V_comp}" != . ]; then
   2.114 +        %{l_shtool} subst -v -s \
   2.115 +            -e 's;(libdir)/gcc/;(libdir)/gcc%{V_comp}/;' \
   2.116 +            `find . -name Makefile.in -type f -print`
   2.117 +    fi
   2.118 +    case "%{l_platform -t}" in
   2.119 +        amd64*-linux* )
   2.120 +            %{l_shtool} subst \
   2.121 +                -e 's/GLIBCXX_IS_NATIVE=false/GLIBCXX_IS_NATIVE=true/g' \
   2.122 +                -e 's/test x.gcc_no_link = xyes/false/g' \
   2.123 +                libstdc++-v3/configure
   2.124 +            ;;
   2.125 +    esac
   2.126 +    %{l_shtool} subst \
   2.127 +        -e 's;<iconv\.h>;"%{l_prefix}/include/iconv.h";' \
   2.128 +        libstdc++-v3/include/ext/codecvt_specializations.h
   2.129 +
   2.130 +%build
   2.131 +    #   create build sub-directory
   2.132 +    %{l_shtool} mkdir -p obj
   2.133 +    cd obj
   2.134 +
   2.135 +    #   determine ld(1) and as(1) usage
   2.136 +    l_with_gnu_ld_as=""
   2.137 +    LD=%{l_tool_locate ld ld}
   2.138 +    AS=%{l_tool_locate as as}
   2.139 +    echo $LD | grep '^/' >/dev/null && l_with_gnu_ld_as="${l_with_gnu_ld_as} --with-ld=$LD"
   2.140 +    echo $AS | grep '^/' >/dev/null && l_with_gnu_ld_as="${l_with_gnu_ld_as} --with-as=$AS"
   2.141 +    $LD --version </dev/null 2>/dev/null | grep "^GNU ld "        >/dev/null && l_with_gnu_ld_as="${l_with_gnu_ld_as} --with-gnu-ld"
   2.142 +    $AS --version </dev/null 2>/dev/null | grep "^GNU assembler " >/dev/null && l_with_gnu_ld_as="${l_with_gnu_ld_as} --with-gnu-as"
   2.143 +    unset LD
   2.144 +    unset AS
   2.145 +
   2.146 +    #   determine threads usage
   2.147 +%if "%{with_threads}" == "yes"
   2.148 +    l_enable_threads="posix"
   2.149 +%else
   2.150 +    l_enable_threads="single"
   2.151 +%endif
   2.152 +
   2.153 +    #   determine language usage
   2.154 +    l_enable_languages="c"
   2.155 +%if "%{with_cxx}" == "yes"
   2.156 +    l_enable_languages="${l_enable_languages},c++"
   2.157 +%endif
   2.158 +%if "%{with_objc}" == "yes"
   2.159 +    l_enable_languages="${l_enable_languages},objc"
   2.160 +%endif
   2.161 +%if "%{with_java}" == "yes"
   2.162 +    l_enable_languages="${l_enable_languages},java"
   2.163 +%endif
   2.164 +%if "%{with_fortran}" == "yes"
   2.165 +    l_enable_languages="${l_enable_languages},f95"
   2.166 +%endif
   2.167 +
   2.168 +    #   disable GNU iconv usage
   2.169 +    ( echo "am_cv_func_iconv=no"
   2.170 +      echo "am_cv_lib_iconv=no"
   2.171 +    ) >config.cache
   2.172 +
   2.173 +    #   configure the package
   2.174 +    CC="%{l_cc}" \
   2.175 +    CFLAGS="%{l_cflags}" \
   2.176 +%if "%{with_java}" == "yes" || "%{with_fortran}" == "yes" || "%{with_cxx}" == "yes"
   2.177 +    CPPFLAGS="%{l_cppflags}" \
   2.178 +    LDFLAGS="%{l_ldflags}" \
   2.179 +%endif
   2.180 +    CONFIG_SHELL="%{l_bash}" \
   2.181 +    ../configure \
   2.182 +        --with-bugurl="http://openpkg.org/" \
   2.183 +        --with-pkgversion="%{l_openpkg_release -F "OpenPKG-%%t"}" \
   2.184 +        --cache-file=./config.cache \
   2.185 +        --srcdir=`pwd`/.. \
   2.186 +        --prefix=%{l_prefix} \
   2.187 +        --exec-prefix=%{l_prefix} \
   2.188 +        --mandir=%{l_prefix}/man \
   2.189 +        --infodir=%{l_prefix}/info \
   2.190 +        --includedir=%{l_prefix}/include/gcc%{V_comp} \
   2.191 +        --libexecdir=%{l_prefix}/libexec/gcc%{V_comp} \
   2.192 +        --with-gxx-include-dir=%{l_prefix}/include/g++%{V_comp} \
   2.193 +        --with-local-prefix=%{l_prefix}/lib/gcc%{V_comp} \
   2.194 +        --enable-languages="${l_enable_languages}" \
   2.195 +        --enable-threads="${l_enable_threads}" \
   2.196 +        --disable-maintainer-mode \
   2.197 +        --disable-shared \
   2.198 +        --disable-nls \
   2.199 +%if "%{with_java}" == "yes"
   2.200 +        --with-system-zlib \
   2.201 +%endif
   2.202 +%if "%{with_multilib}" == "yes"
   2.203 +        --enable-multilib \
   2.204 +%else
   2.205 +        --disable-multilib \
   2.206 +%endif
   2.207 +%if "%{with_cxx}" == "yes"
   2.208 +        --with-libiconv-prefix=%{l_prefix} \
   2.209 +%endif
   2.210 +        --with-gmp=%{l_prefix} \
   2.211 +        --with-mpfr=%{l_prefix} \
   2.212 +        --with-mpc=%{l_prefix} \
   2.213 +        ${l_with_gnu_ld_as}
   2.214 +
   2.215 +    #   determine build flags
   2.216 +    l_ccisgcc=no
   2.217 +    if [ ".`(%{l_cc} -v; %{l_cc} --version) </dev/null 2>&1 | grep -i 'gcc'`" != . ]; then
   2.218 +        l_ccisgcc=yes
   2.219 +    fi
   2.220 +    l_cflags=""
   2.221 +    l_cxxflags=""
   2.222 +    l_boot_cflags=""
   2.223 +    l_libcflags="-g"
   2.224 +    l_libcxxflags="-g"
   2.225 +    #   at least GNU as from GNU binutils supports -pipe always
   2.226 +    AS="%{l_tool_locate as as}"
   2.227 +    "$AS" --version </dev/null 2>/dev/null | grep "^GNU assembler " >/dev/null && {
   2.228 +        l_boot_cflags="$l_boot_cflags -pipe"
   2.229 +        l_libcxxflags="$l_libcxxflags -pipe"
   2.230 +    }
   2.231 +%if "%{with_optimize}" == "yes"
   2.232 +    #   conservatively optimize the generated program code
   2.233 +    #   (also _tune_ for particular CPUs, but _without_ requiring these CPUs!)
   2.234 +    l_cflags="$l_cflags -O"
   2.235 +    l_boot_cflags="$l_boot_cflags -O2 -fomit-frame-pointer"
   2.236 +    case "%{l_platform -t}" in
   2.237 +        *i?86-*     ) l_boot_cflags="$l_boot_cflags -mtune=pentium3" ;;
   2.238 +        *sun4[uv]-* ) l_boot_cflags="$l_boot_cflags -mtune=v9"       ;;
   2.239 +    esac
   2.240 +    l_libcxxflags="$l_libcxxflags -O2 -fno-implicit-templates"
   2.241 +%else
   2.242 +    #   else do no optimizations at all to reduce problems to minimum in advance
   2.243 +    l_boot_cflags="$l_boot_cflags -O0"
   2.244 +    l_libcxxflags="$l_libcxxflags -O0"
   2.245 +%endif
   2.246 +    maketarget="bootstrap2-lean"
   2.247 +%if "%{with_profile}" == "yes"
   2.248 +    #   GCC >= 3.4 supports a "profiledbootstrap" target to build an
   2.249 +    #   optimized version of itself through profiling. Because this
   2.250 +    #   requires a (bootstrapping) C compiler with 64-bit arithmetic,
   2.251 +    #   the whole approach is currently supported only if already
   2.252 +    #   building with GCC as the bootstrapping C compiler.
   2.253 +    if [ ".$l_ccisgcc" = .yes ]; then
   2.254 +        maketarget="profiledbootstrap"
   2.255 +    fi
   2.256 +%endif
   2.257 +    case "%{l_platform -t}" in
   2.258 +        amd64-*          ) l_cflags="$l_cflags -fPIC"; l_cxxflags="$l_cxxflags -fPIC" ;;
   2.259 +        ia64-*           ) l_cflags="$l_cflags -fPIC"; l_cxxflags="$l_cxxflags -fPIC" ;;
   2.260 +        sparc64-freebsd* ) l_cflags="$l_cflags -fPIC"; l_cxxflags="$l_cxxflags -fPIC" ;;
   2.261 +    esac
   2.262 +%if "%{with_java}" == "yes" || "%{with_fortran}" == "yes" || "%{with_cxx}" == "yes"
   2.263 +    l_cflags="$l_cflags %{l_cppflags}"
   2.264 +    l_cxxflags="$l_cxxflags %{l_cppflags}"
   2.265 +    l_libcflags="$l_libcflags %{l_cppflags}"
   2.266 +    l_libcxxflags="$l_libcxxflags %{l_cppflags}"
   2.267 +%endif
   2.268 +
   2.269 +    #   build the package
   2.270 +    MAKE="%{l_make} %{l_mflags}" \
   2.271 +    %{l_make} %{l_mflags} \
   2.272 +        MAKE="%{l_make} %{l_mflags}" \
   2.273 +        BOOT_CFLAGS="${l_boot_cflags}" \
   2.274 +        CFLAGS="${l_cflags}" \
   2.275 +        CXXFLAGS="${l_cxxflags}" \
   2.276 +        LIBCFLAGS="${l_libcflags}" \
   2.277 +        LIBCXXFLAGS="${l_libcxxflags}" \
   2.278 +        $maketarget
   2.279 +
   2.280 +%install
   2.281 +
   2.282 +    #   fetch GNU platform triple
   2.283 +    triple=`./config.guess`
   2.284 +
   2.285 +    #   perform the standard installation procedure
   2.286 +    ( cd obj
   2.287 +      %{l_make} %{l_mflags} install DESTDIR=$RPM_BUILD_ROOT
   2.288 +    ) || exit $?
   2.289 +
   2.290 +    #   cleanup installation tree
   2.291 +    mv $RPM_BUILD_ROOT%{l_prefix}/lib/{lib*.a,*.spec} \
   2.292 +       $RPM_BUILD_ROOT%{l_prefix}/lib/gcc%{V_comp}/${triple}/[0-9]*/ \
   2.293 +       >/dev/null 2>&1 || true
   2.294 +    mv $RPM_BUILD_ROOT%{l_prefix}/lib64/{lib*.a,*.spec} \
   2.295 +       $RPM_BUILD_ROOT%{l_prefix}/lib/gcc%{V_comp}/${triple}/[0-9]*/ \
   2.296 +       >/dev/null 2>&1 || true
   2.297 +    dirs=""
   2.298 +    for multilib in `$RPM_BUILD_ROOT%{l_prefix}/bin/gcc --print-multi-lib`; do
   2.299 +        subdir=`echo "$multilib" | sed -e 's/;.*$//'`
   2.300 +        [ ".$subdir" = .. ] && continue
   2.301 +        mv $RPM_BUILD_ROOT%{l_prefix}/lib/$subdir/lib*.a \
   2.302 +           $RPM_BUILD_ROOT%{l_prefix}/lib/gcc%{V_comp}/${triple}/[0-9]*/$subdir/ \
   2.303 +           >/dev/null 2>&1 || true
   2.304 +        mv $RPM_BUILD_ROOT%{l_prefix}/lib64/$subdir/lib*.a \
   2.305 +           $RPM_BUILD_ROOT%{l_prefix}/lib/gcc%{V_comp}/${triple}/[0-9]*/$subdir/ \
   2.306 +           >/dev/null 2>&1 || true
   2.307 +        dirs="$dirs $subdir"
   2.308 +    done
   2.309 +    for subdir in $dirs; do
   2.310 +        rm -rf $RPM_BUILD_ROOT%{l_prefix}/lib/$subdir >/dev/null 2>&1 || true
   2.311 +    done
   2.312 +    mv $RPM_BUILD_ROOT%{l_prefix}/${triple}/include/* \
   2.313 +       $RPM_BUILD_ROOT%{l_prefix}/lib/gcc%{V_comp}/${triple}/[0-9]*/include/ \
   2.314 +           >/dev/null 2>&1 || true
   2.315 +
   2.316 +    #   strip installation tree
   2.317 +    rm -rf $RPM_BUILD_ROOT%{l_prefix}/${triple}
   2.318 +    rm -f  $RPM_BUILD_ROOT%{l_prefix}/info/dir
   2.319 +    rm -rf $RPM_BUILD_ROOT%{l_prefix}/man/man7   >/dev/null 2>&1 || true
   2.320 +    rm -f  $RPM_BUILD_ROOT%{l_prefix}/lib/*.la   >/dev/null 2>&1 || true
   2.321 +    rm -rf $RPM_BUILD_ROOT%{l_prefix}/lib64      >/dev/null 2>&1 || true
   2.322 +    rm -f  $RPM_BUILD_ROOT%{l_prefix}/bin/*-gcc* >/dev/null 2>&1 || true
   2.323 +%if "%{with_cxx}" == "yes"
   2.324 +    rm -f  $RPM_BUILD_ROOT%{l_prefix}/bin/*-c++  >/dev/null 2>&1 || true
   2.325 +    rm -f  $RPM_BUILD_ROOT%{l_prefix}/bin/*-g++  >/dev/null 2>&1 || true
   2.326 +%endif
   2.327 +    strip $RPM_BUILD_ROOT%{l_prefix}/bin/* >/dev/null 2>&1 || true
   2.328 +    for prog in cc1 cc1plus collect2 cpp; do
   2.329 +        strip $RPM_BUILD_ROOT%{l_prefix}/lib/gcc%{V_comp}/${triple}/[0-9]*/${prog} \
   2.330 +            >/dev/null 2>&1 || true
   2.331 +    done
   2.332 +
   2.333 +    #   bump up installation tree
   2.334 +    ln $RPM_BUILD_ROOT%{l_prefix}/bin/gcc \
   2.335 +       $RPM_BUILD_ROOT%{l_prefix}/bin/cc
   2.336 +    ln $RPM_BUILD_ROOT%{l_prefix}/man/man1/gcc.1 \
   2.337 +       $RPM_BUILD_ROOT%{l_prefix}/man/man1/cc.1
   2.338 +%if "%{with_cxx}" == "yes"
   2.339 +    ln $RPM_BUILD_ROOT%{l_prefix}/man/man1/g++.1 \
   2.340 +       $RPM_BUILD_ROOT%{l_prefix}/man/man1/c++.1
   2.341 +%endif
   2.342 +
   2.343 +    #   determine installation file list
   2.344 +    %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std}
   2.345 +
   2.346 +%files -f files
   2.347 +
   2.348 +%clean
   2.349 +

mercurial