/[gentoo-x86]/eclass/toolchain.eclass
Gentoo

Diff of /eclass/toolchain.eclass

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 1.647 Revision 1.648
1# Copyright 1999-2014 Gentoo Foundation 1# Copyright 1999-2014 Gentoo Foundation
2# Distributed under the terms of the GNU General Public License v2 2# Distributed under the terms of the GNU General Public License v2
3# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.647 2014/11/15 08:45:33 vapier Exp $ 3# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.648 2015/01/21 21:59:31 blueness Exp $
4 4
5# Maintainer: Toolchain Ninjas <toolchain@gentoo.org> 5# Maintainer: Toolchain Ninjas <toolchain@gentoo.org>
6 6
7DESCRIPTION="The GNU Compiler Collection" 7DESCRIPTION="The GNU Compiler Collection"
8HOMEPAGE="http://gcc.gnu.org/" 8HOMEPAGE="http://gcc.gnu.org/"
593 ./contrib/gcc_update --touch | \ 593 ./contrib/gcc_update --touch | \
594 while read f ; do 594 while read f ; do
595 einfo " ${f%%...}" 595 einfo " ${f%%...}"
596 done 596 done
597 fi 597 fi
598
599 # We don't need fixed header files. This is a gcc hack for dealing with broken
600 # (ie non-ansi compliant) header files on old unix systems. On modern systems,
601 # these "fixed" headers are known to break things. We just stub them out.
602 if tc_version_is_at_least 4.0; then
603 echo : > "${S}"/fixincludes/fixinc.in || die
604 else
605 echo : > "${S}"/gcc/fixinc/fixincl.sh || die
606 fi
598} 607}
599 608
600guess_patch_type_in_dir() { 609guess_patch_type_in_dir() {
601 [[ -n $(ls "$1"/*.bz2 2>/dev/null) ]] \ 610 [[ -n $(ls "$1"/*.bz2 2>/dev/null) ]] \
602 && EPATCH_SUFFIX="patch.bz2" \ 611 && EPATCH_SUFFIX="patch.bz2" \
1596#---->> src_install <<---- 1605#---->> src_install <<----
1597 1606
1598toolchain_src_install() { 1607toolchain_src_install() {
1599 cd "${WORKDIR}"/build 1608 cd "${WORKDIR}"/build
1600 1609
1601 # Do allow symlinks in private gcc include dir as this can break the build
1602 find gcc/include*/ -type l -delete
1603
1604 # Copy over the info pages. We disabled their generation earlier, but the 1610 # Copy over the info pages. We disabled their generation earlier, but the
1605 # build system only expects to install out of the build dir, not the source. #464008 1611 # build system only expects to install out of the build dir, not the source. #464008
1606 mkdir -p gcc/doc 1612 mkdir -p gcc/doc
1607 local x= 1613 local x=
1608 for x in "${S}"/gcc/doc/*.info* ; do 1614 for x in "${S}"/gcc/doc/*.info* ; do
1609 if [[ -f ${x} ]] ; then 1615 if [[ -f ${x} ]] ; then
1610 cp "${x}" gcc/doc/ || die 1616 cp "${x}" gcc/doc/ || die
1611 fi 1617 fi
1612 done 1618 done
1613
1614 # Remove generated headers, as they can cause things to break
1615 # (ncurses, openssl, etc).
1616 while read x ; do
1617 grep -q 'It has been auto-edited by fixincludes from' "${x}" \
1618 && rm -f "${x}"
1619 done < <(find gcc/include*/ -name '*.h')
1620 1619
1621 # Do the 'make install' from the build directory 1620 # Do the 'make install' from the build directory
1622 S="${WORKDIR}"/build emake -j1 DESTDIR="${D}" install || die 1621 S="${WORKDIR}"/build emake -j1 DESTDIR="${D}" install || die
1623 1622
1624 # Punt some tools which are really only useful while building gcc 1623 # Punt some tools which are really only useful while building gcc

Legend:
Removed from v.1.647  
changed lines
  Added in v.1.648

  ViewVC Help
Powered by ViewVC 1.1.20