blob: 0901cff65fbf8b20db5eec75257a359144f6027a (
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
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
|
# Copyright 1999-2005 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-libs/boost/boost-1.32.0-r1.ebuild,v 1.8 2005/03/10 04:42:33 morfic Exp $
# This ebuild was generated by Ebuilder v0.4.
inherit python multilib
BOOST_PV1=${PV/./_}
BOOST_PV=${BOOST_PV1/./_}
S="${WORKDIR}/${PN}_${BOOST_PV}"
DESCRIPTION="Boost Libraries for C++"
SRC_URI="mirror://sourceforge/boost/${PN}_${BOOST_PV}.tar.bz2"
HOMEPAGE="http://www.boost.org/"
LICENSE="freedist Boost-1.0"
SLOT="1"
IUSE="icc"
DEPEND="sys-devel/gcc
dev-lang/python"
KEYWORDS="~x86 ~ppc ~amd64 ~sparc ~ppc64"
pkg_setup() {
if [ "${ARCH}" == "amd64" ]; then
arch=
else
arch=${ARCH}
fi
if use icc ; then
BOOST_TOOLSET="intel-linux"
TOOLSET_NAME="icc"
else
BOOST_TOOLSET="gcc"
TOOLSET_NAME="gcc"
fi
BOOSTJAM=./tools/build/jam_src/bin.linux${arch}/bjam
}
src_compile() {
echo ${LAYOUT}
python_version
# 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}
}
src_install () {
# install build tools
cd tools/build
#do_whatever is too limiting here, need to move bunch of different stuff recursively
dodir /usr/share/${PN}
cp -a b* c* index.html v1/ v2/ ${D}/usr/share/${PN}
cd ${S}
if use icc ; then
export CPLUS_INCLUDE_PATH="/opt/intel/compiler80/include/c++"
export GXX_INCLUDE="/usr/include"
${BOOSTJAM} -sBOOST_ROOT=${S} \
-sPYTHON_ROOT=/usr \
-sPYTHON_VERSION=${PYVER} \
-sTOOLS=${BOOST_TOOLSET} \
-sINTEL_PATH="/opt/intel/compiler80/" \
--prefix=${D}/usr \
--layout=system \
install || die "Install failed"
else
${BOOSTJAM} -sBOOST_ROOT=${S} \
-sPYTHON_ROOT=/usr \
-sPYTHON_VERSION=${PYVER} \
-sTOOLS=${BOOST_TOOLSET} \
--prefix=${D}/usr \
--layout=system \
install || die "Install failed"
fi
# Install documentation; seems to be mostly under ${S}/lib
# 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/\{\} \;
#and finally set "default" links to -gcc-mt versions
cd ${D}/usr/lib
for fn in `ls -1 *.so|cut -d- -f1|sort|uniq`; do
if [ -f "$fn.so" ] ; then
dosym $fn.so /usr/lib/$fn-${TOOLSET_NAME}.so
fi
if [ -f "$fn-mt.so" ] ; then
dosym $fn-mt.so /usr/lib/$fn-${TOOLSET_NAME}-mt.so
fi
if [ -f "$fn-d.so" ] ; then
dosym $fn-d.so /usr/lib/$fn-${TOOLSET_NAME}-d.so
fi
if [ -f "$fn-mt-d.so" ] ; then
dosym $fn-mt-d.so /usr/lib/$fn-${TOOLSET_NAME}-mt-d.so
fi
done
for fn in `ls -1 *.a|cut -d- -f1|sort|uniq`; do
if [ -f "$fn.a" ] ; then
dosym $fn.a /usr/lib/$fn-${TOOLSET_NAME}.a
fi
if [ -f "$fn-mt.a" ] ; then
dosym $fn-mt.a /usr/lib/$fn-${TOOLSET_NAME}-mt.a
fi
if [ -f "$fn-d.a" ] ; then
dosym $fn-d.a /usr/lib/$fn-${TOOLSET_NAME}-d.a
fi
if [ -f "$fn-mt-d.a" ] ; then
dosym $fn-mt-d.a /usr/lib/$fn-${TOOLSET_NAME}-mt-d.a
fi
done
[[ $(get_libdir) == "lib" ]] || mv ${D}/usr/lib ${D}/usr/$(get_libdir)
}
|