gcc/gcc.spec

Tue, 28 Aug 2012 18:33:40 +0200

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Tue, 28 Aug 2012 18:33:40 +0200
changeset 561
43c9880b7136
parent 473
323623610492
child 717
8a706aa66ee9
permissions
-rw-r--r--

Improve wording of warnings when building the optional profiled bootstrap.

     1 ##
     2 ##  gcc.spec -- OpenPKG RPM Package Specification
     3 ##  Copyright (c) 2000-2010 OpenPKG Foundation e.V. <http://openpkg.net/>
     4 ##
     5 ##  Permission to use, copy, modify, and distribute this software for
     6 ##  any purpose with or without fee is hereby granted, provided that
     7 ##  the above copyright notice and this permission notice appear in all
     8 ##  copies.
     9 ##
    10 ##  THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
    11 ##  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
    12 ##  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
    13 ##  IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
    14 ##  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
    15 ##  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
    16 ##  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
    17 ##  USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    18 ##  ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
    19 ##  OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
    20 ##  OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    21 ##  SUCH DAMAGE.
    22 ##
    24 #   package version
    25 %define       V_full         4.7.1
    26 %define       V_comp         %nil
    28 #   package information
    29 Name:         gcc
    30 Summary:      GNU Compiler Collection
    31 URL:          http://gcc.gnu.org/
    32 Vendor:       Free Software Foundation
    33 Packager:     OpenPKG Foundation e.V.
    34 Distribution: OpenPKG Community
    35 Class:        CORE
    36 Group:        Compiler
    37 License:      GPL
    38 Version:      %{V_full}
    39 Release:      20120800
    41 #   package options
    42 %option       with_binutils  yes
    43 %option       with_cxx       yes
    44 %option       with_objc      no
    45 %option       with_java      no
    46 %option       with_fortran   no
    47 %option       with_optimize  yes
    48 %option       with_profile   no
    49 %option       with_threads   yes
    50 %option       with_multilib  no
    52 #   fix intermodule dependencies implicitly
    53 %if "%{with_java}" == "yes"
    54 %define  with_cxx      yes
    55 %define  with_threads  yes
    56 %endif
    58 #   list of sources
    59 Source0:      ftp://gcc.gnu.org/pub/gcc/releases/gcc-%{V_full}/gcc-%{V_full}.tar.bz2
    60 Patch0:       gcc.patch
    62 #   build information
    63 BuildPreReq:  OpenPKG, openpkg >= 20100101, make
    64 PreReq:       OpenPKG, openpkg >= 20100101
    65 BuildPreReq:  mpc, mpfr, gmp
    66 PreReq:       mpc, mpfr, gmp
    67 %if "%{with_binutils}" == "yes"
    68 BuildPreReq:  binutils >= 2.14
    69 PreReq:       binutils >= 2.14
    70 %endif
    71 %if "%{with_cxx}" == "yes"
    72 BuildPreReq:  libiconv
    73 PreReq:       libiconv
    74 %endif
    75 %if "%{with_java}" == "yes"
    76 BuildPreReq:  zlib, infozip
    77 PreReq:       zlib
    78 %endif
    80 %description
    81     The GNU Compiler Collection (GCC) provides standard conforming and
    82     highly portable compilers for the ISO C, ISO C++, Objective-C,
    83     Fortran and Java languages.
    85 %track
    86     prog gcc = {
    87         version   = %{V_full}
    88         url       = ftp://gcc.gnu.org/pub/gcc/releases/
    89         regex     = gcc-(4\.\d+\.\d+)
    90         url       = ftp://gcc.gnu.org/pub/gcc/releases/gcc-__NEWVER__/
    91         regex     = gcc-(\d+\.\d+\.\d+)\.tar\.bz2
    92     }
    94 %prep
    95     %setup -q
    96     %patch -p0
    97     %{l_shtool} subst \
    98         -e 's;\(instname="\$dir/\$name"\)i;\1;' \
    99         ltmain.sh
   100     %{l_shtool} subst -v -s \
   101         -e 's;\(gmplibs="-lmpc\) \(-lmpfr -lgmp\);\1 -lm \2;' \
   102         configure
   103     %{l_shtool} subst -v -s \
   104         -e 's;\(LDEXP_LIB=\)"$LIBS";\1"$LDFLAGS";' \
   105         -e 's;PREFIX_INCLUDE_DIR;PREFIX_INCLUDE_DIR_DISABLED;g' \
   106         gcc/configure
   107     %{l_shtool} subst \
   108         -e 's;[ \t]*-W[a-zA-Z0-9_\-][a-zA-Z0-9_\-]*,*;;g' \
   109         lto-plugin/Makefile.in
   110     %{l_shtool} subst \
   111         -e 's;-rpath  *[^ \t][^ \t]*;;g' \
   112         -e 's;--tag=disable-static;--tag=disable-shared;g' \
   113         -e 's;\.\./libiberty/libiberty\.a;-L../libiberty -liberty;g' \
   114         -e 's;\.\./libiberty/pic/libiberty\.a;-L../libiberty/pic -liberty;g' \
   115         lto-plugin/Makefile.in
   116 %if "%{with_cxx}" == "yes"
   117     %{l_shtool} subst \
   118         -e 's;\(pythondir *= *\$(datadir)\)/gcc-\$(gcc_version);\1/gcc;' \
   119         libstdc++-v3/python/Makefile.in
   120 %endif
   121 %if "%{with_java}" == "yes"
   122     %{l_shtool} subst \
   123         -e 's;\(default_python_dir\) *=.*;\1=/share/gcc/python/libjava;' \
   124         libjava/configure
   125     %{l_shtool} subst \
   126         -e 's;JAR *= *@JAR@;JAR = $(here)/scripts/jar;' \
   127         libjava/Makefile.in
   128 %endif
   129     if [ ".%{V_comp}" != . ]; then
   130         %{l_shtool} subst -v -s \
   131             -e 's;(libdir)/gcc/;(libdir)/gcc%{V_comp}/;' \
   132             -e 's;(libexecdir)/gcc/;(libexecdir)/gcc%{V_comp}/;' \
   133             `find . -name Makefile.in -type f -print`
   134     fi
   135     %{l_shtool} subst \
   136         -e 's;^\(do-compare\) *\(=.*\);#\1-shouldnt-be-defined-here \2;' \
   137         config/*.mk
   138     case "%{l_platform -t}" in
   139         amd64-linux* )
   140             %{l_shtool} subst \
   141                 -e 's/GLIBCXX_IS_NATIVE=false/GLIBCXX_IS_NATIVE=true/g' \
   142                 -e 's/test x.gcc_no_link = xyes/false/g' \
   143                 libstdc++-v3/configure
   144             ;;
   145     esac
   146     %{l_shtool} subst \
   147         -e 's;<iconv\.h>;"%{l_prefix}/include/iconv.h";' \
   148         libstdc++-v3/include/ext/codecvt_specializations.h
   149     %{l_shtool} subst \
   150         -e 's;.*with_arch_32=\${with_arch_32:-pentium4}.*;;' \
   151         -e 's;with_arch_32=\${with_arch_32:-pentiumpro};arch_without_sse2=yes;' \
   152         gcc/config.gcc
   153         #-e 's;\(with_arch_32=\${with_arch_32:-\)pentium4};\1pentium3};' \
   155 %if "%{with_cxx}" == "yes"
   156     #   sad hack to correct split gettext in libc and libintl each
   157     #   providing locale-intl.cc disparate libintl.h with externs,
   158     #   see http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11074
   159     [ -f %{l_prefix}/include/libintl.h -a -f /usr/include/libintl.h ] && \
   160         cp /usr/include/libintl.h libstdc++-v3/libsupc++/ || \
   161     [ -f /usr/include/libintl.h ] || \
   162         ( echo "A system native gettext installation is not detected. Because GCC"
   163           echo "C++ components require gettext problems may arise. These problems"
   164           echo "can appear at build time causing the build to stop with errors"
   165           echo "containing the words NLS, intl, or locale, or at run time should"
   166           echo "undefined external symbols libintl_* in libstdc++.a interfere with"
   167           echo "building other C++ sources."
   168           echo ""
   169           echo "To solve such problems, contact the GCC package maintainer and inform"
   170           echo "of the location of libintl.h header on the system in question."
   171         ) | %{l_rpmtool} msg -b -t warn
   172 %endif
   174 %build
   175     #   create build subdirectory
   176     %{l_shtool} mkdir -p objbld
   177     cd objbld
   179     #   locate ld(1) and as(1) accordingly
   180 %if "%{with_binutils}" == "yes"
   181     #   allow OpenPKG binutils
   182     LD=%{l_tool_locate ld ld}
   183     AS=%{l_tool_locate as as}
   184 %else
   185     #   ignore OpenPKG binutils
   186     LD=`PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/ccs/bin:/opt/bin:/opt/sbin:/usr/local/bin:/usr/local/sbin which ld`
   187     AS=`PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/ccs/bin:/opt/bin:/opt/sbin:/usr/local/bin:/usr/local/sbin which as`
   188 %endif
   189     l_with_gnu_ld_as=""
   190     echo $LD | grep '^/' >/dev/null && l_with_gnu_ld_as="--with-ld=$LD"
   191     echo $AS | grep '^/' >/dev/null && l_with_gnu_ld_as="${l_with_gnu_ld_as} --with-as=$AS"
   192     $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" || l_with_gnu_ld_as="${l_with_gnu_ld_as} --without-gnu-ld"
   193     $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" || l_with_gnu_ld_as="${l_with_gnu_ld_as} --without-gnu-as"
   195     #   determine threads use
   196 %if "%{with_threads}" == "yes"
   197     l_enable_threads="posix"
   198 %else
   199     l_enable_threads="single"
   200 %endif
   202     #   determine language use
   203     l_enable_languages="c"
   204 %if "%{with_cxx}" == "yes"
   205     l_enable_languages="${l_enable_languages},c++"
   206 %endif
   207 %if "%{with_objc}" == "yes"
   208     l_enable_languages="${l_enable_languages},objc"
   209 %endif
   210 %if "%{with_java}" == "yes"
   211     l_enable_languages="${l_enable_languages},java"
   212 %endif
   213 %if "%{with_fortran}" == "yes"
   214     l_enable_languages="${l_enable_languages},f95"
   215 %endif
   217     #   disable GNU iconv use
   218     ( echo "am_cv_func_iconv=no"
   219       echo "am_cv_lib_iconv=no"
   220     ) >config.cache
   221     #   platforms failing 'compare' make target (see prep as well)
   222     case "%{l_platform -t}" in
   223         *i?86-sunos*  ) echo "gcc_cv_prog_cmp_skip=true" >>config.cache ;;
   224         *amd64-sunos* ) echo "gcc_cv_prog_cmp_skip=true" >>config.cache ;;
   225         *amd64-linux* ) echo "gcc_cv_prog_cmp_skip=true" >>config.cache ;;
   226     esac
   228     #   configure the package
   229     LD="$LD" \
   230     AS="$AS" \
   231     CC="%{l_cc}" \
   232     CFLAGS="%{l_cflags}" \
   233 %if "%{with_cxx}" == "yes"
   234     CPPFLAGS="%{l_cppflags}" \
   235     LDFLAGS="%{l_ldflags}" \
   236 %endif
   237     CONFIG_SHELL="%{l_bash}" \
   238     GREP="%{l_bash}" \
   239     ../configure \
   240         --cache-file=./config.cache \
   241         --with-bugurl="http://openpkg.org/" \
   242         --with-pkgversion="%{l_openpkg_release -F "OpenPKG-%%t"}" \
   243         --srcdir=`pwd`/.. \
   244         --prefix=%{l_prefix} \
   245         --exec-prefix=%{l_prefix} \
   246         --mandir=%{l_prefix}/man \
   247         --infodir=%{l_prefix}/info \
   248         --includedir=%{l_prefix}/include/gcc%{V_comp} \
   249         --with-gxx-include-dir=%{l_prefix}/include/g++%{V_comp} \
   250         --enable-languages="${l_enable_languages}" \
   251         --enable-threads="${l_enable_threads}" \
   252         --disable-maintainer-mode \
   253         --disable-shared \
   254         --disable-nls \
   255 %if "%{with_java}" == "yes"
   256         --with-system-zlib \
   257 %endif
   258 %if "%{with_multilib}" == "yes"
   259         --enable-multilib \
   260 %else
   261         --disable-multilib \
   262 %endif
   263 %if "%{with_cxx}" == "yes"
   264         --with-libiconv-prefix=%{l_prefix} \
   265 %endif
   266         --with-gmp=%{l_prefix} \
   267         --with-mpfr=%{l_prefix} \
   268         --with-mpc=%{l_prefix} \
   269         ${l_with_gnu_ld_as}
   271     #   determine build flags
   272     l_ccisgcc=no
   273     if [ ".`(%{l_cc} -v; %{l_cc} --version) </dev/null 2>&1 | grep -i 'gcc'`" != . ]; then
   274         l_ccisgcc=yes
   275     fi
   276     l_cflags=""
   277     l_cxxflags=""
   278     l_boot_cflags=""
   279     l_libcflags="-g"
   280     l_libcxxflags="-g"
   281     #   at least GNU as from GNU binutils supports -pipe always
   282     "$AS" --version </dev/null 2>/dev/null | grep "^GNU assembler" >/dev/null && {
   283         l_boot_cflags="$l_boot_cflags -pipe"
   284         l_libcxxflags="$l_libcxxflags -pipe"
   285     }
   286 %if "%{with_optimize}" == "yes"
   287     #   GCC authors are not keeping up with optimized portability expectations
   288     ( echo "As GCC advances its optimization logic becomes increasingly complex (and"
   289       echo "buggy?) Since at least GCC 4.5, problems have been reported using arguments"
   290       echo "-O, -mtune, or -march implicitly or explicitly during different bootstrap"
   291       echo "stages as well as stage comparison and even the final installation."
   292       echo ""
   293       echo "Pay attention when building on one computer and installing on another as"
   294       echo "problems may be platform specific. If in doubt, disable optimization."
   295     ) | %{l_rpmtool} msg -b -t warn
   296     if [ ".$l_ccisgcc" != .yes ]; then
   297         #   CPU native detection only works with GCC (see driver-i386.c)
   298         ( echo "Platform specific optimization is enabled, but detection of appropriate"
   299           echo "native architecture is only possible when bootstrapping GCC using a pre-"
   300           echo "installed GCC. The current build is using a different compiler, so such"
   301           echo "optimization is generically built while deferring native architecture"
   302           echo "detection to the final GCC binary."
   303           echo ""
   304           echo "To achieve native architecture detection while bootstrapping please"
   305           echo "install GCC first and then build GCC a second time."
   306         ) | %{l_rpmtool} msg -b -t notice
   307     fi
   308     #   tuning without specifying '-march' is portable and in theory
   309     #   allows the resulting GCC binaries to execute on other hosts!
   310     case "%{l_platform -t}" in
   311         *sun4[uv]-*                  ) l_boot_cflags="$l_boot_cflags -mtune=v9" ;;
   312         *sun*-*                      ) l_boot_cflags="$l_boot_cflags -mtune=v8" ;;
   313         *i?86-* | *amd64-* | *ia64-* ) l_boot_cflags="$l_boot_cflags -mtune=native" ;;
   314         *                            ) l_boot_cflags="$l_boot_cflags -mtune=generic" ;;
   315     esac
   316     l_cflags="$l_cflags -O"
   317     l_boot_cflags="$l_boot_cflags -O3 -fomit-frame-pointer"
   318     l_libcxxflags="$l_libcxxflags -O3 -fno-implicit-templates"
   319 %else
   320     #   don't optimize at all to avoid problems
   321     l_boot_cflags="$l_boot_cflags -O0"
   322     l_libcxxflags="$l_libcxxflags -O0"
   323 %endif
   324 %if "%{with_profile}" == "yes"
   325     #   generate profile feedback
   326     maketarget="profiledbootstrap"
   327     loc_makeflags="%{l_mflags}"
   329     #   warn about exceptional build duration for profile feedback
   330     ( echo "Building profile feedback on some hosts can take many days to complete!"
   331       echo "Now continuing to build a profiled bootstrap with parallel make logic"
   332       echo "disabled according to profiling requirements as specified on page:"
   333       echo ""
   334       echo "  http://gcc.gnu.org/install/build.html#TOC4"
   335     ) | %{l_rpmtool} msg -b -t warn
   337     #   warn about profiled bootstrap requirement of 64-bit arithmetic
   338     if [ ".$l_ccisgcc" != .yes ]; then
   339         ( echo ""
   340           echo "A preinstalled GCC was not detected although one is recommended for"
   341           echo "building a profiled bootstrap. Buildtime or runtime errors can occur if"
   342           echo "the compiler used to build profile feedback doesn't support 64-bit math."
   343           echo ""
   344           echo "If in doubt, stop now and start the build again with profiling disabled."
   345         ) | %{l_rpmtool} msg -b -t warn
   346     fi
   347 %else
   348     #   build in three stages
   349     maketarget="bootstrap"
   350     loc_makeflags="%{l_mflags -O}"
   351 %endif
   352     case "%{l_platform -t}" in
   353         *64-* ) l_cflags="$l_cflags -fPIC"; l_cxxflags="$l_cxxflags -fPIC" ;;
   354     esac
   355 %if "%{with_cxx}" == "yes"
   356     l_cflags="$l_cflags %{l_cppflags}"
   357     l_cxxflags="$l_cxxflags %{l_cppflags}"
   358     l_libcflags="$l_libcflags %{l_cppflags}"
   359     l_libcxxflags="$l_libcxxflags %{l_cppflags}"
   360 %endif
   362     #   build the package
   363     MAKE="%{l_make} ${loc_makeflags}" \
   364     %{l_make} ${loc_makeflags} \
   365         GREP="grep" \
   366         MAKE="%{l_make} ${loc_makeflags}" \
   367         BOOT_CFLAGS="${l_boot_cflags}" \
   368         CFLAGS="${l_cflags}" \
   369         CXXFLAGS="${l_cxxflags}" \
   370 %if "%{with_cxx}" == "yes"
   371         CPPFLAGS="%{l_cppflags}" \
   372         LDFLAGS="%{l_ldflags}" \
   373         BOOT_LDFLAGS="%{l_ldflags}" \
   374 %endif
   375         LIBCFLAGS="${l_libcflags}" \
   376         LIBCXXFLAGS="${l_libcxxflags}" \
   377         $maketarget
   379 %install
   380     rm -rf $RPM_BUILD_ROOT
   382     #   fetch GNU platform triple
   383     triple=`./config.guess`
   385     #   perform standard installation procedure
   386     ( cd objbld
   387       %{l_make} %{l_mflags} install DESTDIR=$RPM_BUILD_ROOT
   388     ) || exit $?
   390     #   cleanup installation tree
   391     mv $RPM_BUILD_ROOT%{l_prefix}/lib/{lib*.a,*.spec} \
   392        $RPM_BUILD_ROOT%{l_prefix}/lib/gcc%{V_comp}/${triple}/[0-9]*/ \
   393        >/dev/null 2>&1 || true
   394     mv $RPM_BUILD_ROOT%{l_prefix}/lib64/{lib*.a,*.spec} \
   395        $RPM_BUILD_ROOT%{l_prefix}/lib/gcc%{V_comp}/${triple}/[0-9]*/ \
   396        >/dev/null 2>&1 || true
   397     dirs=""
   398     for multilib in `$RPM_BUILD_ROOT%{l_prefix}/bin/gcc --print-multi-lib`; do
   399         subdir=`echo "$multilib" | sed -e 's/;.*$//'`
   400         [ ".$subdir" = .. ] && continue
   401         mv $RPM_BUILD_ROOT%{l_prefix}/lib/$subdir/lib*.a \
   402            $RPM_BUILD_ROOT%{l_prefix}/lib/gcc%{V_comp}/${triple}/[0-9]*/$subdir/ \
   403            >/dev/null 2>&1 || true
   404         mv $RPM_BUILD_ROOT%{l_prefix}/lib64/$subdir/lib*.a \
   405            $RPM_BUILD_ROOT%{l_prefix}/lib/gcc%{V_comp}/${triple}/[0-9]*/$subdir/ \
   406            >/dev/null 2>&1 || true
   407         dirs="$dirs $subdir"
   408     done
   409     for subdir in $dirs; do
   410         rm -rf $RPM_BUILD_ROOT%{l_prefix}/lib/$subdir >/dev/null 2>&1 || true
   411     done
   412     mv $RPM_BUILD_ROOT%{l_prefix}/${triple}/include/* \
   413        $RPM_BUILD_ROOT%{l_prefix}/lib/gcc%{V_comp}/${triple}/[0-9]*/include/ \
   414            >/dev/null 2>&1 || true
   416     #   correct hardcoded paths
   417     %{l_shtool} subst \
   418         -e "s;\(dependency_libs\) *=.*;\1='-L%{l_prefix}/lib\ -L%{l_prefix}/lib/gcc%{V_comp}/${triple}/%{V_full}\ -liberty';" \
   419        $RPM_BUILD_ROOT%{l_prefix}/libexec/gcc%{V_comp}/${triple}/[0-9]*/liblto_plugin.la
   421     #   strip installation tree
   422     rm -rf $RPM_BUILD_ROOT%{l_prefix}/${triple}
   423     rm -f  $RPM_BUILD_ROOT%{l_prefix}/info/dir
   424     rm -rf $RPM_BUILD_ROOT%{l_prefix}/man/man7   >/dev/null 2>&1 || true
   425     rm -f  $RPM_BUILD_ROOT%{l_prefix}/lib/*.la   >/dev/null 2>&1 || true
   426     rm -rf $RPM_BUILD_ROOT%{l_prefix}/lib64      >/dev/null 2>&1 || true
   427     rm -f  $RPM_BUILD_ROOT%{l_prefix}/bin/*-gcc* >/dev/null 2>&1 || true
   428 %if "%{with_cxx}" == "yes"
   429     rm -f  $RPM_BUILD_ROOT%{l_prefix}/bin/*-c++  >/dev/null 2>&1 || true
   430     rm -f  $RPM_BUILD_ROOT%{l_prefix}/bin/*-g++  >/dev/null 2>&1 || true
   431 %endif
   432 %if "%{with_java}" == "yes"
   433     rm -f  $RPM_BUILD_ROOT%{l_prefix}/bin/*-gcj  >/dev/null 2>&1 || true
   434 %endif
   435 %if "%{with_fortran}" == "yes"
   436     rm -f  $RPM_BUILD_ROOT%{l_prefix}/bin/*-gfortran >/dev/null 2>&1 || true
   437 %endif
   438     strip $RPM_BUILD_ROOT%{l_prefix}/bin/* >/dev/null 2>&1 || true
   439     for prog in cc1 cc1plus collect2 cpp; do
   440         strip $RPM_BUILD_ROOT%{l_prefix}/lib/gcc%{V_comp}/${triple}/[0-9]*/${prog} \
   441             >/dev/null 2>&1 || true
   442     done
   444     #   bump up installation tree
   445     ln $RPM_BUILD_ROOT%{l_prefix}/bin/gcc \
   446        $RPM_BUILD_ROOT%{l_prefix}/bin/cc
   447     ln $RPM_BUILD_ROOT%{l_prefix}/man/man1/gcc.1 \
   448        $RPM_BUILD_ROOT%{l_prefix}/man/man1/cc.1
   449 %if "%{with_cxx}" == "yes"
   450     ln $RPM_BUILD_ROOT%{l_prefix}/man/man1/g++.1 \
   451        $RPM_BUILD_ROOT%{l_prefix}/man/man1/c++.1
   452 %endif
   454     #   determine installation file list
   455     %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std}
   457 %files -f files
   459 %clean
   460     rm -rf $RPM_BUILD_ROOT

mercurial