blob: 5d740a95ee80ace6ca7744938da68e38fe97d4a3 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
|
# Copyright 1999-2004 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-libs/boost/boost-1.30.2.ebuild,v 1.6 2004/07/02 04:34:23 eradicator Exp $
DESCRIPTION="Boost provides free peer-reviewed portable C++ source libraries."
HOMEPAGE="http://www.boost.org"
#SRC_URI="http://easynews.dl.sourceforge.net/sourceforge/boost/boost-${PV}.tar.bz2"
SRC_URI="mirror://sourceforge/${PN}/${PN}-${PV}.tar.bz2"
LICENSE="freedist"
KEYWORDS="x86 ~ppc sparc"
SLOT="1"
IUSE="icc"
# This would be a good place for someone to figure out how to get
# boost to build nicely with icc, as it's documented to be doable.
DEPEND="virtual/libc"
RDEPEND=">=dev-util/yacc-1.9.1-r1
>=dev-lang/python-2.2.1
icc? ( >=dev-lang/icc-7.1 )"
src_compile() {
local PYTHON_VERSION=$(/usr/bin/python -V 2>&1 | sed 's/Python \([0-9][0-9]*\.[0-9][0-9]*\)\..*/\1/')
local BOOST_TOOLSET
if use icc ; then
BOOST_TOOLSET="intel-linux"
else
BOOST_TOOLSET="gcc"
fi
# Build bjam, a jam variant, which is used instead of make
cd ${S}/tools/build/jam_src
./build.sh ${BOOST_TOOLSET} || die "Failed to build bjam"
cd ${S}
if use icc ; then
./tools/build/jam_src/bin.linux${ARCH}/bjam -j2 \
-sBOOST_ROOT=${S} \
-sPYTHON_ROOT=/usr \
-sPYTHON_VERSION=${PYTHON_VERSION} \
-sTOOLS=${BOOST_TOOLSET} \
-sINTEL_LINUX_VERSION="70" || die "Failed to build boost libraries."
else
./tools/build/jam_src/bin.linux${ARCH}/bjam ${MAKEOPTS} \
-sBOOST_ROOT=${S} \
-sPYTHON_ROOT=/usr \
-sPYTHON_VERSION=${PYTHON_VERSION} \
-sTOOLS=${BOOST_TOOLSET}
einfo "Don't worry if there are a few (probably 6) failures above."
einfo "Some targets merely need to be combined. Here goes:"
./tools/build/jam_src/bin.linux${ARCH}/bjam \
-sBOOST_ROOT=${S} \
-sPYTHON_ROOT=/usr \
-sPYTHON_VERSION=${PYTHON_VERSION} \
-sTOOLS=${BOOST_TOOLSET} || die "Failed to build boost libraries."
fi
}
src_install () {
# Unfortunately boost doesn't provide a standard way to
# install itself. So it's done "manually" here.
cd ${S}
# install libraries
find libs -type f -name \*.a -exec dolib.a {} \;
find libs -type f -name \*.so -exec dolib.so {} \;
# install source/header files
find boost -type f \
-exec install -D -m0644 {} ${D}/usr/include/{} \;
# install documentation
dodoc README
dohtml index.htm google_logo_40wht.gif c++boost.gif boost.css
dohtml -A pdf -r more
dohtml -r people
dohtml -r doc
find libs -type f -not -regex '^libs/[^/]*/build/.*' \
-and -not -regex '^libs/.*/test[^/]?/.*' \
-and -not -regex '^libs/.*/bench[^/]?/.*' \
-and -not -regex '^libs/[^/]*/tools/.*' \
-and -not -name \*.bat \
-and -not -name Jamfile\* \
-and -not -regex '^libs/[^/]*/src/.*' \
-and -not -iname makefile \
-and -not -name \*.mak \
-and -not -name .\* \
-and -not -name \*.dsw \
-and -not -name \*.dsp \
-exec \
install -D -m0644 \{\} ${D}/usr/share/doc/${P}/html/\{\} \;
}
|