[oe-commits] : boost 1.34.1: More fixes to packaging and build configuration.

OE GIT Trial gittrial at amethyst.openembedded.net
Mon Sep 22 23:13:58 UTC 2008


Module: OE.dev
Branch: org.openembedded.dev
Commit: 64268793f8f11ed5cbbade4408121b3082bf1f3b
URL:    http://gitweb.openembedded.net//OE.dev.git/?a=commit;h=64268793f8f11ed5cbbade4408121b3082bf1f3b

Author:  <thebohemian at openembedded.org>
Date:   Mon Sep 22 22:53:00 2008 +0000

boost 1.34.1: More fixes to packaging and build configuration.

---

 packages/boost/boost_1.34.1.bb |  159 ++++++++++++++++++++++++++++++++++-----
 1 files changed, 138 insertions(+), 21 deletions(-)

diff --git a/packages/boost/boost_1.34.1.bb b/packages/boost/boost_1.34.1.bb
index 712bb6c..7fb691f 100644
--- a/packages/boost/boost_1.34.1.bb
+++ b/packages/boost/boost_1.34.1.bb
@@ -2,12 +2,15 @@
 #
 # Warning! The build system for boost seems to have changed
 # significantly since 1.33 (again).
+DESCRIPTION = "Free peer-reviewed portable C++ source libraries"
+HOMEPAGE = "http://www.boost.org/"
+SECTION = "libs"
+PRIORITY = "optional"
+LICENSE = "Boost Software License"
 
-include boost.inc
+DEPENDS = "python boost-jam-native zlib bzip2"
 
-DEFAULT_PREFERENCE = "-1"
-
-DEPENDS += "bzip2"
+PR = "r2"
 
 SRC_URI = "\
 	${SOURCEFORGE_MIRROR}/boost/${BOOST_P}.tar.bz2 \
@@ -15,13 +18,15 @@ SRC_URI = "\
 	file://${PV}-gcc43.patch;patch=1 \
 	"
 
-PR = "r1"
+DEFAULT_PREFERENCE = "-1"
+
+S = "${WORKDIR}/${BOOST_P}"
 
-BJAM_TOOLS   = "--toolset=gcc \
-		'-sGCC=${CC} '${BJAM_CONF} \
-		'-sGXX=${CXX} '${BJAM_CONF} \
-		'-sGCC_INCLUDE_DIRECTORY=${STAGING_INCDIR}' \
-		'-sGCC_STDLIB_DIRECTORY=${STAGING_LIBDIR}' \
+BOOST_VER = "${@"_".join(bb.data.getVar("PV",d,1).split("."))}"
+BOOST_MAJ = "${@"_".join(bb.data.getVar("PV",d,1).split(".")[0:2])}"
+BOOST_P = "boost_${BOOST_VER}"
+
+BJAM_TOOLS = "--toolset=gcc \
 		'-sBUILD=release <optimization>space <inlining>on <debug-symbols>off' \
 		'-sPYTHON_VERSION=${PYTHON_VERSION}' \
 		'-sPYTHON=${STAGING_BINDIR_NATIVE}/python' \
@@ -31,22 +36,134 @@ BJAM_TOOLS   = "--toolset=gcc \
 		'--layout=system' \
 		"
 
-BJAM_OPTS    = '${BJAM_TOOLS} \
+BJAM_OPTS = '${BJAM_TOOLS} \
     --builddir=${S}/${TARGET_SYS} \
     ${BJAM_EXTRA}'
 
+PYTHON_ROOT = "${STAGING_DIR_HOST}/${layout_prefix}"
+PYTHON_VERSION = "2.5"
+
 do_configure() {
+	cp -f boost/config/platform/linux.hpp boost/config/platform/linux-gnueabi.hpp
+
+	platform_config="-DBOOST_PLATFORM_CONFIG='boost/config/platform/${TARGET_OS}.hpp'"
+
   echo "import toolset : using ;" > tools/build/v2/user-config.jam
-	echo "using gcc : : ${CC} : <cflags>${CFLAGS} <cxxflags>${CXXFLAGS} <linkflags>${LDFLAGS} ;" >> tools/build/v2/user-config.jam
+	echo "using gcc : : ${CC} : <cflags>${CFLAGS} <cxxflags>${CXXFLAGS} $platform_config<linkflags>${LDFLAGS} ;" >> tools/build/v2/user-config.jam
 }
 
-do_install_append() {
-	# Since boost does not provide library files in the form
-  # lib<name>.so.<abi> and a symlink pointing to this file
-  # we need to do this manually.
-	for F in `find ${D}${libdir} -name "*.so" -maxdepth 1`; do
-		echo renaming $F to $F.${PV}
-		mv $F $F.${PV}
-		ln -sf `basename $F`.${PV} $F
-	done
+do_compile() {
+	set -ex
+	bjam ${BJAM_OPTS} --prefix=${prefix} \
+		--exec-prefix=${exec_prefix} \
+		--libdir=${libdir} \
+		--includedir=${includedir}
 }
+
+do_stage() {
+	set -ex
+	bjam ${BJAM_OPTS} \
+		--libdir=${STAGING_LIBDIR} \
+		--includedir=${STAGING_INCDIR} \
+		install
+}
+
+do_install() {
+	set -ex
+	bjam ${BJAM_OPTS} \
+		--libdir=${D}${libdir} \
+		--includedir=${D}${includedir} \
+		install
+}
+
+BOOSTLIBS = ""
+
+# -dev last to pick up the remaining stuff
+PACKAGES = "${BOOSTLIBS} ${PN}-dev ${PN}"
+FILES_${PN}-dev = "${includedir} ${libdir}/libboost_*.so ${libdir}/libboost_*.a"
+
+# "boost" is a metapackage which pulls in all boost librabries
+RRECOMMENDS_${PN} += "${BOOSTLIBS}"
+
+BOOSTLIBS += "boost-date-time boost-date-time-dbg boost-date-time-mt boost-date-time-mt-dbg"
+FILES_boost-date-time = "${libdir}/libboost_date_time.so"
+FILES_boost-date-time-dbg = "${libdir}/libboost_date_time-d.so ${libdir}/.debug/libboost_date_time-d.so"
+FILES_boost-date-time-mt = "${libdir}/libboost_date_time-mt.so"
+FILES_boost-date-time-mt-dbg = "${libdir}/libboost_date_time-mt-d.so ${libdir}/.debug/libboost_date_time-mt-d.so"
+
+BOOSTLIBS += "boost-filesystem boost-filesystem-dbg boost-filesystem-mt boost-filesystem-mt-dbg"
+FILES_boost-filesystem = "${libdir}/libboost_filesystem.so"
+FILES_boost-filesystem-dbg = "${libdir}/libboost_filesystem-d.so ${libdir}/.debug/libboost_filesystem-d.so"
+FILES_boost-filesystem-mt = "${libdir}/libboost_filesystem-mt.so"
+FILES_boost-filesystem-mt-dbg = "${libdir}/libboost_filesystem-mt-d.so ${libdir}/.debug/libboost_filesystem-mt-d.so"
+
+BOOSTLIBS += "boost-graph boost-graph-dbg boost-graph-mt boost-graph-mt-dbg"
+FILES_boost-graph = "${libdir}/libboost_graph.so"
+FILES_boost-graph-dbg = "${libdir}/libboost_graph-d.so ${libdir}/.debug/libboost_graph-d.so"
+FILES_boost-graph-mt = "${libdir}/libboost_graph-mt.so"
+FILES_boost-graph-mt-dbg = "${libdir}/libboost_graph-mt-d.so ${libdir}/.debug/libboost_graph-mt-d.so"
+
+BOOSTLIBS += "boost-iostreams boost-iostreams-dbg boost-iostreams-mt boost-iostreams-mt-dbg"
+FILES_boost-iostreams = "${libdir}/libboost_iostreams.so"
+FILES_boost-iostreams-dbg = "${libdir}/libboost_iostreams-d.so ${libdir}/.debug/libboost_iostreams-d.so"
+FILES_boost-iostreams-mt = "${libdir}/libboost_iostreams-mt.so"
+FILES_boost-iostreams-mt-dbg = "${libdir}/libboost_iostreams-mt-d.so ${libdir}/.debug/libboost_iostreams-mt-d.so"
+
+BOOSTLIBS += "boost-prg-exec-monitor boost-prg-exec-monitor-dbg boost-prg-exec-monitor-mt boost-prg-exec-monitor-mt-dbg"
+FILES_boost-prg-exec-monitor = "${libdir}/libboost_prg_exec_monitor.so"
+FILES_boost-prg-exec-monitor-dbg = "${libdir}/libboost_prg_exec_monitor-d.so ${libdir}/.debug/libboost_prg_exec_monitor-d.so"
+FILES_boost-prg-exec-monitor-mt = "${libdir}/libboost_prg_exec_monitor-mt.so"
+FILES_boost-prg-exec-monitor-mt-dbg = "${libdir}/libboost_prg_exec_monitor-mt-d.so ${libdir}/.debug/libboost_prg_exec_monitor-mt-d.so"
+
+BOOSTLIBS += "boost-program-options boost-program-options-dbg boost-program-options-mt boost-program-options-mt-dbg"
+FILES_boost-program-options = "${libdir}/libboost_program_options.so"
+FILES_boost-program-options-dbg = "${libdir}/libboost_program_options-d.so ${libdir}/.debug/libboost_program_options-d.so"
+FILES_boost-program-options-mt = "${libdir}/libboost_program_options-mt.so"
+FILES_boost-program-options-mt-dbg = "${libdir}/libboost_program_options-mt-d.so ${libdir}/.debug/libboost_program_options-mt-d.so"
+
+BOOSTLIBS += "boost-python boost-python-dbg boost-python-mt boost-python-mt-dbg"
+FILES_boost-python = "${libdir}/libboost_python.so"
+FILES_boost-python-dbg = "${libdir}/libboost_python-d.so ${libdir}/.debug/libboost_python-d.so"
+FILES_boost-python-mt = "${libdir}/libboost_python-mt.so"
+FILES_boost-python-mt-dbg = "${libdir}/libboost_python-mt-d.so ${libdir}/.debug/libboost_python-mt-d.so"
+
+BOOSTLIBS += "boost-regex boost-regex-dbg boost-regex-mt boost-regex-mt-dbg"
+FILES_boost-regex = "${libdir}/libboost_regex.so"
+FILES_boost-regex-dbg = "${libdir}/libboost_regex-d.so ${libdir}/.debug/libboost_regex-d.so"
+FILES_boost-regex-mt = "${libdir}/libboost_regex-mt.so"
+FILES_boost-regex-mt-dbg = "${libdir}/libboost_regex-mt-d.so ${libdir}/.debug/libboost_regex-mt-d.so"
+
+BOOSTLIBS += "boost-serialization boost-serialization-dbg boost-serialization-mt boost-serialization-mt-dbg"
+FILES_boost-serialization = "${libdir}/libboost_serialization.so"
+FILES_boost-serialization-dbg = "${libdir}/libboost_serialization-d.so ${libdir}/.debug/libboost_serialization-d.so"
+FILES_boost-serialization-mt = "${libdir}/libboost_serialization-mt.so"
+FILES_boost-serialization-mt-dbg = "${libdir}/libboost_serialization-mt-d.so ${libdir}/.debug/libboost_serialization-mt-d.so"
+
+BOOSTLIBS += "boost-signals boost-signals-dbg boost-signals-mt boost-signals-mt-dbg"
+FILES_boost-signals = "${libdir}/libboost_signals.so"
+FILES_boost-signals-dbg = "${libdir}/libboost_signals-d.so ${libdir}/.debug/libboost_signals-d.so"
+FILES_boost-signals-mt = "${libdir}/libboost_signals-mt.so"
+FILES_boost-signals-mt-dbg = "${libdir}/libboost_signals-mt-d.so ${libdir}/.debug/libboost_signals-mt-d.so"
+
+BOOSTLIBS += "boost-thread-mt boost-thread-mt-dbg"
+FILES_boost-thread-mt = "${libdir}/libboost_thread-mt.so"
+FILES_boost-thread-mt-dbg = "${libdir}/libboost_thread-mt-d.so ${libdir}/.debug/libboost_thread-mt-d.so"
+
+BOOSTLIBS += "boost-unit-test-framework boost-unit-test-framework-dbg boost-unit-test-framework-mt boost-unit-test-framework-mt-dbg"
+FILES_boost-unit-test-framework = "${libdir}/libboost_unit_test_framework.so"
+FILES_boost-unit-test-framework-dbg = "${libdir}/libboost_unit_test_framework-d.so ${libdir}/.debug/libboost_unit_test_framework-d.so"
+FILES_boost-unit-test-framework-mt = "${libdir}/libboost_unit_test_framework-mt.so"
+FILES_boost-unit-test-framework-mt-dbg = "${libdir}/libboost_unit_test_framework-mt-d.so ${libdir}/.debug/libboost_unit_test_framework-mt-d.so"
+
+BOOSTLIBS += "boost-wave boost-wave-dbg boost-wave-mt boost-wave-mt-dbg"
+FILES_boost-wave = "${libdir}/libboost_wave.so"
+FILES_boost-wave-dbg = "${libdir}/libboost_wave-d.so ${libdir}/.debug/libboost_wave-d.so"
+FILES_boost-wave-mt = "${libdir}/libboost_wave-mt.so"
+FILES_boost-wave-mt-dbg = "${libdir}/libboost_wave-mt-d.so ${libdir}/.debug/libboost_wave-mt-d.so"
+
+BOOSTLIBS += "boost-wserialization boost-wserialization-dbg boost-wserialization-mt boost-wserialization-mt-dbg"
+FILES_boost-wserialization = "${libdir}/libboost_wserialization.so"
+FILES_boost-wserialization-dbg = "${libdir}/libboost_wserialization-d.so ${libdir}/.debug/libboost_wserialization-d.so"
+FILES_boost-wserialization-mt = "${libdir}/libboost_wserialization-mt.so"
+FILES_boost-wserialization-mt-dbg = "${libdir}/libboost_wserialization-mt-d.so ${libdir}/.debug/libboost_wserialization-mt-d.so"
+





More information about the Openembedded-commits mailing list