Merge branch 'org.openembedded.dev' of git@git.openembedded.net:openembedded into...
[openembedded.git] / recipes / boost / boost_1.34.1.bb
1 # This needs bjam (boost-jam-native) 3.1.16
2 #
3 # Warning! The build system for boost seems to have changed
4 # significantly since 1.33 (again).
5 DESCRIPTION = "Free peer-reviewed portable C++ source libraries"
6 HOMEPAGE = "http://www.boost.org/"
7 SECTION = "libs"
8 PRIORITY = "optional"
9 LICENSE = "Boost Software License"
10
11 DEPENDS = "python boost-jam-native zlib bzip2"
12
13 PR = "r4"
14
15 SRC_URI = "\
16         ${SOURCEFORGE_MIRROR}/boost/${BOOST_P}.tar.bz2 \
17         file://linux-uclibc.patch;patch=1 \
18         file://${PV}-gcc43.patch;patch=1 \
19         "
20
21 DEFAULT_PREFERENCE = "-1"
22
23 S = "${WORKDIR}/${BOOST_P}"
24
25 BOOST_VER = "${@"_".join(bb.data.getVar("PV",d,1).split("."))}"
26 BOOST_MAJ = "${@"_".join(bb.data.getVar("PV",d,1).split(".")[0:2])}"
27 BOOST_P = "boost_${BOOST_VER}"
28
29 BJAM_TOOLS = "--toolset=gcc \
30                 '-sBUILD=release <optimization>space <inlining>on <debug-symbols>off' \
31                 '-sPYTHON_VERSION=${PYTHON_VERSION}' \
32                 '-sPYTHON=${STAGING_BINDIR_NATIVE}/python' \
33     '-sPYTHON_ROOT=${PYTHON_ROOT}' \
34                 '-sBZIP2_LIBPATH=${STAGING_LIBDIR}' \
35                 '-sZLIB_LIBPATH=${STAGING_LIBDIR}' \
36                 '--layout=system' \
37                 "
38
39 BJAM_OPTS = '${BJAM_TOOLS} \
40     --builddir=${S}/${TARGET_SYS} \
41     ${BJAM_EXTRA}'
42
43 PYTHON_ROOT = "${STAGING_DIR_HOST}/${layout_prefix}"
44 PYTHON_VERSION = "2.5"
45
46 do_configure() {
47         cp -f boost/config/platform/linux.hpp boost/config/platform/linux-gnueabi.hpp
48
49         platform_config="-DBOOST_PLATFORM_CONFIG='boost/config/platform/${TARGET_OS}.hpp'"
50
51   echo "import toolset : using ;" > tools/build/v2/user-config.jam
52         echo "using gcc : : ${CC} : <cflags>${CFLAGS} <cxxflags>${CXXFLAGS} $platform_config<linkflags>${LDFLAGS} ;" >> tools/build/v2/user-config.jam
53         echo "using python : 2.5 : : ${STAGING_INCDIR}/python2.5 : ${STAGING_LIBDIR}/python2.5 : : ; " >> tools/build/v2/user-config.jam
54 }
55
56 do_compile() {
57         set -ex
58         bjam ${BJAM_OPTS} --prefix=${prefix} \
59                 --exec-prefix=${exec_prefix} \
60                 --libdir=${libdir} \
61                 --includedir=${includedir}
62 }
63
64 do_stage() {
65         set -ex
66         bjam ${BJAM_OPTS} \
67                 --libdir=${STAGING_LIBDIR} \
68                 --includedir=${STAGING_INCDIR} \
69                 install
70 }
71
72 do_install() {
73         set -ex
74         bjam ${BJAM_OPTS} \
75                 --libdir=${D}${libdir} \
76                 --includedir=${D}${includedir} \
77                 install
78 }
79
80 BOOSTLIBS = ""
81
82 # -dev last to pick up the remaining stuff
83 PACKAGES = "${BOOSTLIBS} ${PN}-dev ${PN}"
84 FILES_${PN}-dev = "${includedir} ${libdir}/libboost_*.so ${libdir}/libboost_*.a"
85
86 # "boost" is a metapackage which pulls in all boost librabries
87 RRECOMMENDS_${PN} += "${BOOSTLIBS}"
88
89 BOOSTLIBS += "boost-date-time boost-date-time-dbg boost-date-time-mt boost-date-time-mt-dbg"
90 FILES_boost-date-time = "${libdir}/libboost_date_time.so"
91 FILES_boost-date-time-dbg = "${libdir}/libboost_date_time-d.so ${libdir}/.debug/libboost_date_time-d.so"
92 FILES_boost-date-time-mt = "${libdir}/libboost_date_time-mt.so"
93 FILES_boost-date-time-mt-dbg = "${libdir}/libboost_date_time-mt-d.so ${libdir}/.debug/libboost_date_time-mt-d.so"
94
95 BOOSTLIBS += "boost-filesystem boost-filesystem-dbg boost-filesystem-mt boost-filesystem-mt-dbg"
96 FILES_boost-filesystem = "${libdir}/libboost_filesystem.so"
97 FILES_boost-filesystem-dbg = "${libdir}/libboost_filesystem-d.so ${libdir}/.debug/libboost_filesystem-d.so"
98 FILES_boost-filesystem-mt = "${libdir}/libboost_filesystem-mt.so"
99 FILES_boost-filesystem-mt-dbg = "${libdir}/libboost_filesystem-mt-d.so ${libdir}/.debug/libboost_filesystem-mt-d.so"
100
101 BOOSTLIBS += "boost-graph boost-graph-dbg boost-graph-mt boost-graph-mt-dbg"
102 FILES_boost-graph = "${libdir}/libboost_graph.so"
103 FILES_boost-graph-dbg = "${libdir}/libboost_graph-d.so ${libdir}/.debug/libboost_graph-d.so"
104 FILES_boost-graph-mt = "${libdir}/libboost_graph-mt.so"
105 FILES_boost-graph-mt-dbg = "${libdir}/libboost_graph-mt-d.so ${libdir}/.debug/libboost_graph-mt-d.so"
106
107 BOOSTLIBS += "boost-iostreams boost-iostreams-dbg boost-iostreams-mt boost-iostreams-mt-dbg"
108 FILES_boost-iostreams = "${libdir}/libboost_iostreams.so"
109 FILES_boost-iostreams-dbg = "${libdir}/libboost_iostreams-d.so ${libdir}/.debug/libboost_iostreams-d.so"
110 FILES_boost-iostreams-mt = "${libdir}/libboost_iostreams-mt.so"
111 FILES_boost-iostreams-mt-dbg = "${libdir}/libboost_iostreams-mt-d.so ${libdir}/.debug/libboost_iostreams-mt-d.so"
112
113 BOOSTLIBS += "boost-prg-exec-monitor boost-prg-exec-monitor-dbg boost-prg-exec-monitor-mt boost-prg-exec-monitor-mt-dbg"
114 FILES_boost-prg-exec-monitor = "${libdir}/libboost_prg_exec_monitor.so"
115 FILES_boost-prg-exec-monitor-dbg = "${libdir}/libboost_prg_exec_monitor-d.so ${libdir}/.debug/libboost_prg_exec_monitor-d.so"
116 FILES_boost-prg-exec-monitor-mt = "${libdir}/libboost_prg_exec_monitor-mt.so"
117 FILES_boost-prg-exec-monitor-mt-dbg = "${libdir}/libboost_prg_exec_monitor-mt-d.so ${libdir}/.debug/libboost_prg_exec_monitor-mt-d.so"
118
119 BOOSTLIBS += "boost-program-options boost-program-options-dbg boost-program-options-mt boost-program-options-mt-dbg"
120 FILES_boost-program-options = "${libdir}/libboost_program_options.so"
121 FILES_boost-program-options-dbg = "${libdir}/libboost_program_options-d.so ${libdir}/.debug/libboost_program_options-d.so"
122 FILES_boost-program-options-mt = "${libdir}/libboost_program_options-mt.so"
123 FILES_boost-program-options-mt-dbg = "${libdir}/libboost_program_options-mt-d.so ${libdir}/.debug/libboost_program_options-mt-d.so"
124
125 BOOSTLIBS += "boost-python boost-python-dbg boost-python-mt boost-python-mt-dbg"
126 FILES_boost-python = "${libdir}/libboost_python.so"
127 FILES_boost-python-dbg = "${libdir}/libboost_python-d.so ${libdir}/.debug/libboost_python-d.so"
128 FILES_boost-python-mt = "${libdir}/libboost_python-mt.so"
129 FILES_boost-python-mt-dbg = "${libdir}/libboost_python-mt-d.so ${libdir}/.debug/libboost_python-mt-d.so"
130
131 BOOSTLIBS += "boost-regex boost-regex-dbg boost-regex-mt boost-regex-mt-dbg"
132 FILES_boost-regex = "${libdir}/libboost_regex.so"
133 FILES_boost-regex-dbg = "${libdir}/libboost_regex-d.so ${libdir}/.debug/libboost_regex-d.so"
134 FILES_boost-regex-mt = "${libdir}/libboost_regex-mt.so"
135 FILES_boost-regex-mt-dbg = "${libdir}/libboost_regex-mt-d.so ${libdir}/.debug/libboost_regex-mt-d.so"
136
137 BOOSTLIBS += "boost-serialization boost-serialization-dbg boost-serialization-mt boost-serialization-mt-dbg"
138 FILES_boost-serialization = "${libdir}/libboost_serialization.so"
139 FILES_boost-serialization-dbg = "${libdir}/libboost_serialization-d.so ${libdir}/.debug/libboost_serialization-d.so"
140 FILES_boost-serialization-mt = "${libdir}/libboost_serialization-mt.so"
141 FILES_boost-serialization-mt-dbg = "${libdir}/libboost_serialization-mt-d.so ${libdir}/.debug/libboost_serialization-mt-d.so"
142
143 BOOSTLIBS += "boost-signals boost-signals-dbg boost-signals-mt boost-signals-mt-dbg"
144 FILES_boost-signals = "${libdir}/libboost_signals.so"
145 FILES_boost-signals-dbg = "${libdir}/libboost_signals-d.so ${libdir}/.debug/libboost_signals-d.so"
146 FILES_boost-signals-mt = "${libdir}/libboost_signals-mt.so"
147 FILES_boost-signals-mt-dbg = "${libdir}/libboost_signals-mt-d.so ${libdir}/.debug/libboost_signals-mt-d.so"
148
149 BOOSTLIBS += "boost-thread-mt boost-thread-mt-dbg"
150 FILES_boost-thread-mt = "${libdir}/libboost_thread-mt.so"
151 FILES_boost-thread-mt-dbg = "${libdir}/libboost_thread-mt-d.so ${libdir}/.debug/libboost_thread-mt-d.so"
152
153 BOOSTLIBS += "boost-unit-test-framework boost-unit-test-framework-dbg boost-unit-test-framework-mt boost-unit-test-framework-mt-dbg"
154 FILES_boost-unit-test-framework = "${libdir}/libboost_unit_test_framework.so"
155 FILES_boost-unit-test-framework-dbg = "${libdir}/libboost_unit_test_framework-d.so ${libdir}/.debug/libboost_unit_test_framework-d.so"
156 FILES_boost-unit-test-framework-mt = "${libdir}/libboost_unit_test_framework-mt.so"
157 FILES_boost-unit-test-framework-mt-dbg = "${libdir}/libboost_unit_test_framework-mt-d.so ${libdir}/.debug/libboost_unit_test_framework-mt-d.so"
158
159 BOOSTLIBS += "boost-wave boost-wave-dbg boost-wave-mt boost-wave-mt-dbg"
160 FILES_boost-wave = "${libdir}/libboost_wave.so"
161 FILES_boost-wave-dbg = "${libdir}/libboost_wave-d.so ${libdir}/.debug/libboost_wave-d.so"
162 FILES_boost-wave-mt = "${libdir}/libboost_wave-mt.so"
163 FILES_boost-wave-mt-dbg = "${libdir}/libboost_wave-mt-d.so ${libdir}/.debug/libboost_wave-mt-d.so"
164
165 BOOSTLIBS += "boost-wserialization boost-wserialization-dbg boost-wserialization-mt boost-wserialization-mt-dbg"
166 FILES_boost-wserialization = "${libdir}/libboost_wserialization.so"
167 FILES_boost-wserialization-dbg = "${libdir}/libboost_wserialization-d.so ${libdir}/.debug/libboost_wserialization-d.so"
168 FILES_boost-wserialization-mt = "${libdir}/libboost_wserialization-mt.so"
169 FILES_boost-wserialization-mt-dbg = "${libdir}/libboost_wserialization-mt-d.so ${libdir}/.debug/libboost_wserialization-mt-d.so"
170