summaryrefslogtreecommitdiff
path: root/packages/boost
diff options
context:
space:
mode:
Diffstat (limited to 'packages/boost')
-rw-r--r--packages/boost/boost-jam-native.inc30
-rw-r--r--packages/boost/boost-jam-native_3.1.11.bb28
-rw-r--r--packages/boost/boost-jam-native_3.1.16.bb6
-rw-r--r--packages/boost/boost.inc157
-rw-r--r--packages/boost/boost_1.33.0.bb156
-rw-r--r--packages/boost/boost_1.33.1.bb158
-rw-r--r--packages/boost/files/gcc43.patch256
7 files changed, 454 insertions, 337 deletions
diff --git a/packages/boost/boost-jam-native.inc b/packages/boost/boost-jam-native.inc
new file mode 100644
index 0000000000..843f912f46
--- /dev/null
+++ b/packages/boost/boost-jam-native.inc
@@ -0,0 +1,30 @@
+# The Boost web site provides free peer-reviewed portable
+# C++ source libraries. The emphasis is on libraries which
+# work well with the C++ Standard Library. The libraries are
+# intended to be widely useful, and are in regular use by
+# thousands of programmers across a broad spectrum of applications.
+DESCRIPTION = "Make system for boost (native)"
+HOMEPAGE = "http://www.boost.org/"
+SECTION = "devel"
+PRIORITY = "optional"
+LICENSE = "Boost Software License"
+PR = "r0"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/boost/boost-jam-${PV}.tgz"
+S = "${WORKDIR}/boost-jam-${PV}"
+
+inherit native
+
+do_compile() {
+ set -ex
+ rm -rf bin.*
+ ./build.sh gcc
+}
+
+# This is too terrible - the build script doesn't give any good
+# way I can see to find out where the binaries are placed, so
+# rely on only one bin.foo directory being created.
+do_stage() {
+ set -ex
+ install -c -m 755 bin.*/bjam ${STAGING_BINDIR}/
+}
diff --git a/packages/boost/boost-jam-native_3.1.11.bb b/packages/boost/boost-jam-native_3.1.11.bb
index 843f912f46..2e92146a83 100644
--- a/packages/boost/boost-jam-native_3.1.11.bb
+++ b/packages/boost/boost-jam-native_3.1.11.bb
@@ -1,30 +1,4 @@
-# The Boost web site provides free peer-reviewed portable
-# C++ source libraries. The emphasis is on libraries which
-# work well with the C++ Standard Library. The libraries are
-# intended to be widely useful, and are in regular use by
-# thousands of programmers across a broad spectrum of applications.
-DESCRIPTION = "Make system for boost (native)"
-HOMEPAGE = "http://www.boost.org/"
-SECTION = "devel"
-PRIORITY = "optional"
-LICENSE = "Boost Software License"
-PR = "r0"
+include boost-jam-native.inc
SRC_URI = "${SOURCEFORGE_MIRROR}/boost/boost-jam-${PV}.tgz"
-S = "${WORKDIR}/boost-jam-${PV}"
-inherit native
-
-do_compile() {
- set -ex
- rm -rf bin.*
- ./build.sh gcc
-}
-
-# This is too terrible - the build script doesn't give any good
-# way I can see to find out where the binaries are placed, so
-# rely on only one bin.foo directory being created.
-do_stage() {
- set -ex
- install -c -m 755 bin.*/bjam ${STAGING_BINDIR}/
-}
diff --git a/packages/boost/boost-jam-native_3.1.16.bb b/packages/boost/boost-jam-native_3.1.16.bb
new file mode 100644
index 0000000000..955f7bfac8
--- /dev/null
+++ b/packages/boost/boost-jam-native_3.1.16.bb
@@ -0,0 +1,6 @@
+include boost-jam-native.inc
+
+DEFAULT_PREFERENCE = "-1"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/boost/boost-jam-${PV}.tgz"
+
diff --git a/packages/boost/boost.inc b/packages/boost/boost.inc
new file mode 100644
index 0000000000..4458f367a1
--- /dev/null
+++ b/packages/boost/boost.inc
@@ -0,0 +1,157 @@
+# The Boost web site provides free peer-reviewed portable
+# C++ source libraries. The emphasis is on libraries which
+# work well with the C++ Standard Library. The libraries are
+# intended to be widely useful, and are in regular use by
+# thousands of programmers across a broad spectrum of applications.
+DESCRIPTION = "Free peer-reviewed portable C++ source libraries"
+HOMEPAGE = "http://www.boost.org/"
+SECTION = "libs"
+DEPENDS = "boost-jam-native zlib"
+PRIORITY = "optional"
+LICENSE = "Boost Software License"
+PR = "r1"
+
+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}"
+
+S = "${WORKDIR}/${BOOST_P}"
+
+# Make a package for each library, plus -dev and -python
+PACKAGES = "${PN}-dbg"
+BOOSTLIBS = ""
+
+PACKAGES += "boost-date-time"
+FILES_boost-date-time = "${libdir}/libboost_date_time.so.${PV}"
+
+BOOSTLIBS += "boost-filesystem"
+FILES_boost-filesystem = "${libdir}/libboost_filesystem.so.${PV}"
+
+BOOSTLIBS += "boost-prg-exec-monitor"
+FILES_boost-prg-exec-monitor = "${libdir}/libboost_prg_exec_monitor.so.${PV}"
+
+BOOSTLIBS += "boost-program-options"
+FILES_boost-program-options = "${libdir}/libboost_program_options.so.${PV}"
+
+BOOSTLIBS += "boost-regex"
+FILES_boost-regex = "${libdir}/libboost_regex.so.${PV}"
+
+BOOSTLIBS += "boost-signals"
+FILES_boost-signals = "${libdir}/libboost_signals.so.${PV}"
+
+BOOSTLIBS += "boost-test-exec-monitor"
+FILES_boost-test-exec-monitor = "${libdir}/libboost_test_exec_monitor.so.${PV}"
+
+BOOSTLIBS += "boost-thread-mt"
+FILES_boost-thread-mt = "${libdir}/libboost_thread-mt.so.${PV}"
+
+BOOSTLIBS += "boost-unit-test-framework"
+FILES_boost-unit-test-framework = "${libdir}/libboost_unit_test_framework.so.${PV}"
+
+BOOSTLIBS += "boost-iostreams"
+FILES_boost-iostreams = "${libdir}/libboost_iostreams.so.${PV}"
+
+BOOSTLIBS += "boost-serialization"
+FILES_boost-serialization = "${libdir}/libboost_serialization.so.${PV}"
+
+BOOSTLIBS += "boost-wserialization"
+FILES_boost-wserialization = "${libdir}/libboost_wserialization.so.${PV}"
+
+# Python - remove this and set:
+#PYTHON_ROOT = "/dev/null"
+# to remove the python build
+DEPENDS += "python"
+PYTHON_ROOT = "${STAGING_DIR_HOST}"
+PYTHON_VERSION = "2.4"
+
+BOOSTLIBS += "boost-python"
+FILES_boost-python = "${libdir}/libboost_python.so.${PV}"
+
+PACKAGES += "${BOOSTLIBS}"
+
+# -dev last to pick up the remaining stuff
+PACKAGES += "${PN}-dev"
+FILES_${PN}-dev = "${includedir} ${libdir}/libboost_*.so ${libdir}/libboost_*.a"
+
+# "boost" is a metapackage which pulls in all boost librabries
+PACKAGES += "${PN}"
+RRECOMMENDS_${PN} += "${BOOSTLIBS}"
+
+# Oh yippee, a new build system, it's sooo cooool I could eat my own
+# foot. inlining=on lets the compiler choose, I think. At least this
+# stuff is documented...
+# NOTE: if you leave <debug-symbols>on then in a debug build the build sys
+# objcopy will be invoked, and that won't work. Building debug apparently
+# requires hacking gcc-tools.jam
+#
+# Sometimes I wake up screaming. Famous figures are gathered in the nightmare,
+# Steve Bourne, Larry Wall, the whole of the ANSI C committee. They're just
+# standing there, waiting, but the truely terrifying thing is what they carry
+# in their hands. At first sight each seems to bear the same thing, but it is
+# not so for the forms in their grasp are ever so slightly different one from
+# the other. Each is twisted in some grotesque way from the other to make each
+# an unspeakable perversion impossible to perceive without the onset of madness.
+# True insanity awaits anyone who perceives all of these horrors together.
+#
+# Quotation marks, there might be an easier way to do this, but I can't find
+# it. The problem is that the user.hpp configuration file must receive a
+# pre-processor macro defined as the appropriate string - complete with "'s
+# around it. (<> is a possibility here but the danger to that is that the
+# failure case interprets the < and > as shell redirections, creating
+# random files in the source tree.)
+#
+#bjam: '-DBOOST_PLATFORM_CONFIG=\"config\"'
+#do_compile: '-sGCC=... '"'-DBOOST_PLATFORM_CONFIG=\"config\"'"
+SQD = '"'
+EQD = '\"'
+#boost.bb: "... '-sGCC=... '${SQD}'-DBOOST_PLATFORM_CONFIG=${EQD}config${EQD}'${SQD} ..."
+BJAM_CONF = "${SQD}'-DBOOST_PLATFORM_CONFIG=${EQD}boost/config/platform/${TARGET_OS}.hpp${EQD}'${SQD}"
+
+# bzip2 and zip are disabled because... they're broken - the compilation simply
+# isn't working with bjam. I guess they will fix it, but who needs it? This
+# only affects the (new in 33) iostream library.
+BJAM_TOOLS = "-sTOOLS=gcc \
+ '-sGCC=${CC} '${BJAM_CONF} \
+ '-sGXX=${CXX} '${BJAM_CONF} \
+ '-sGCC_INCLUDE_DIRECTORY=${STAGING_INCDIR}' \
+ '-sGCC_STDLIB_DIRECTORY=${STAGING_LIBDIR}' \
+ '-sNO_BZIP2=1' \
+ '-sNO_ZLIB=1' \
+ '-sBUILD=release <optimization>space <inlining>on <debug-symbols>off' \
+ '-sPYTHON_VERSION=${PYTHON_VERSION}' \
+ '--layout=system' \
+ "
+
+BJAM_OPTS = '${BJAM_TOOLS} \
+ --builddir=${S}/${TARGET_SYS} \
+ --with-python-root=${PYTHON_ROOT} \
+ ${BJAM_EXTRA}'
+
+
+do_configure_prepend() {
+ cp -f boost/config/platform/linux.hpp boost/config/platform/linux-gnueabi.hpp
+}
+
+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
+}
diff --git a/packages/boost/boost_1.33.0.bb b/packages/boost/boost_1.33.0.bb
index 441c0754b3..f910924cf1 100644
--- a/packages/boost/boost_1.33.0.bb
+++ b/packages/boost/boost_1.33.0.bb
@@ -1,160 +1,6 @@
-# The Boost web site provides free peer-reviewed portable
-# C++ source libraries. The emphasis is on libraries which
-# work well with the C++ Standard Library. The libraries are
-# intended to be widely useful, and are in regular use by
-# thousands of programmers across a broad spectrum of applications.
-DESCRIPTION = "Free peer-reviewed portable C++ source libraries"
-HOMEPAGE = "http://www.boost.org/"
-SECTION = "libs"
-DEPENDS = "boost-jam-native zlib"
-PRIORITY = "optional"
-LICENSE = "Boost Software License"
-PR = "r1"
+include boost.inc
-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}"
SRC_URI = "${SOURCEFORGE_MIRROR}/boost/${BOOST_P}.tar.bz2"
#SRC_URI += "file://unit_test_log10f.patch;patch=1"
SRC_URI += "file://linux-uclibc.patch;patch=1"
-S = "${WORKDIR}/${BOOST_P}"
-
-# Make a package for each library, plus -dev and -python
-PACKAGES = "${PN}-dbg"
-BOOSTLIBS = ""
-
-PACKAGES += "boost-date-time"
-FILES_boost-date-time = "${libdir}/libboost_date_time.so.${PV}"
-
-BOOSTLIBS += "boost-filesystem"
-FILES_boost-filesystem = "${libdir}/libboost_filesystem.so.${PV}"
-
-BOOSTLIBS += "boost-prg-exec-monitor"
-FILES_boost-prg-exec-monitor = "${libdir}/libboost_prg_exec_monitor.so.${PV}"
-
-BOOSTLIBS += "boost-program-options"
-FILES_boost-program-options = "${libdir}/libboost_program_options.so.${PV}"
-
-BOOSTLIBS += "boost-regex"
-FILES_boost-regex = "${libdir}/libboost_regex.so.${PV}"
-
-BOOSTLIBS += "boost-signals"
-FILES_boost-signals = "${libdir}/libboost_signals.so.${PV}"
-
-BOOSTLIBS += "boost-test-exec-monitor"
-FILES_boost-test-exec-monitor = "${libdir}/libboost_test_exec_monitor.so.${PV}"
-
-BOOSTLIBS += "boost-thread-mt"
-FILES_boost-thread-mt = "${libdir}/libboost_thread-mt.so.${PV}"
-
-BOOSTLIBS += "boost-unit-test-framework"
-FILES_boost-unit-test-framework = "${libdir}/libboost_unit_test_framework.so.${PV}"
-
-BOOSTLIBS += "boost-iostreams"
-FILES_boost-iostreams = "${libdir}/libboost_iostreams.so.${PV}"
-
-BOOSTLIBS += "boost-serialization"
-FILES_boost-serialization = "${libdir}/libboost_serialization.so.${PV}"
-
-BOOSTLIBS += "boost-wserialization"
-FILES_boost-wserialization = "${libdir}/libboost_wserialization.so.${PV}"
-
-# Python - remove this and set:
-#PYTHON_ROOT = "/dev/null"
-# to remove the python build
-DEPENDS += "python"
-PYTHON_ROOT = "${STAGING_DIR_HOST}"
-PYTHON_VERSION = "2.4"
-
-BOOSTLIBS += "boost-python"
-FILES_boost-python = "${libdir}/libboost_python.so.${PV}"
-
-PACKAGES += "${BOOSTLIBS}"
-
-# -dev last to pick up the remaining stuff
-PACKAGES += "${PN}-dev"
-FILES_${PN}-dev = "${includedir} ${libdir}/libboost_*.so ${libdir}/libboost_*.a"
-
-# "boost" is a metapackage which pulls in all boost librabries
-PACKAGES += "${PN}"
-RRECOMMENDS_${PN} += "${BOOSTLIBS}"
-
-# Oh yippee, a new build system, it's sooo cooool I could eat my own
-# foot. inlining=on lets the compiler choose, I think. At least this
-# stuff is documented...
-# NOTE: if you leave <debug-symbols>on then in a debug build the build sys
-# objcopy will be invoked, and that won't work. Building debug apparently
-# requires hacking gcc-tools.jam
-#
-# Sometimes I wake up screaming. Famous figures are gathered in the nightmare,
-# Steve Bourne, Larry Wall, the whole of the ANSI C committee. They're just
-# standing there, waiting, but the truely terrifying thing is what they carry
-# in their hands. At first sight each seems to bear the same thing, but it is
-# not so for the forms in their grasp are ever so slightly different one from
-# the other. Each is twisted in some grotesque way from the other to make each
-# an unspeakable perversion impossible to perceive without the onset of madness.
-# True insanity awaits anyone who perceives all of these horrors together.
-#
-# Quotation marks, there might be an easier way to do this, but I can't find
-# it. The problem is that the user.hpp configuration file must receive a
-# pre-processor macro defined as the appropriate string - complete with "'s
-# around it. (<> is a possibility here but the danger to that is that the
-# failure case interprets the < and > as shell redirections, creating
-# random files in the source tree.)
-#
-#bjam: '-DBOOST_PLATFORM_CONFIG=\"config\"'
-#do_compile: '-sGCC=... '"'-DBOOST_PLATFORM_CONFIG=\"config\"'"
-SQD = '"'
-EQD = '\"'
-#boost.bb: "... '-sGCC=... '${SQD}'-DBOOST_PLATFORM_CONFIG=${EQD}config${EQD}'${SQD} ..."
-BJAM_CONF = "${SQD}'-DBOOST_PLATFORM_CONFIG=${EQD}boost/config/platform/${TARGET_OS}.hpp${EQD}'${SQD}"
-
-# bzip2 and zip are disabled because... they're broken - the compilation simply
-# isn't working with bjam. I guess they will fix it, but who needs it? This
-# only affects the (new in 33) iostream library.
-BJAM_TOOLS = "-sTOOLS=gcc \
- '-sGCC=${CC} '${BJAM_CONF} \
- '-sGXX=${CXX} '${BJAM_CONF} \
- '-sGCC_INCLUDE_DIRECTORY=${STAGING_INCDIR}' \
- '-sGCC_STDLIB_DIRECTORY=${STAGING_LIBDIR}' \
- '-sNO_BZIP2=1' \
- '-sNO_ZLIB=1' \
- '-sBUILD=release <optimization>space <inlining>on <debug-symbols>off' \
- '-sPYTHON_VERSION=${PYTHON_VERSION}' \
- '--layout=system' \
- "
-
-BJAM_OPTS = '${BJAM_TOOLS} \
- --builddir=${S}/${TARGET_SYS} \
- --with-python-root=${PYTHON_ROOT} \
- ${BJAM_EXTRA}'
-
-
-do_configure_prepend() {
- cp -f boost/config/platform/linux.hpp boost/config/platform/linux-gnueabi.hpp
-}
-
-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
-}
diff --git a/packages/boost/boost_1.33.1.bb b/packages/boost/boost_1.33.1.bb
index 6632f6c8ea..c08721dc9f 100644
--- a/packages/boost/boost_1.33.1.bb
+++ b/packages/boost/boost_1.33.1.bb
@@ -1,161 +1,9 @@
-# The Boost web site provides free peer-reviewed portable
-# C++ source libraries. The emphasis is on libraries which
-# work well with the C++ Standard Library. The libraries are
-# intended to be widely useful, and are in regular use by
-# thousands of programmers across a broad spectrum of applications.
-DESCRIPTION = "Free peer-reviewed portable C++ source libraries"
-HOMEPAGE = "http://www.boost.org/"
-SECTION = "libs"
-DEPENDS = "boost-jam-native zlib"
-PRIORITY = "optional"
-LICENSE = "Boost Software License"
+include boost.inc
+
PR = "r1"
-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}"
SRC_URI = "${SOURCEFORGE_MIRROR}/boost/${BOOST_P}.tar.bz2"
#SRC_URI += "file://unit_test_log10f.patch;patch=1"
SRC_URI += "file://linux-uclibc.patch;patch=1"
SRC_URI += "file://atomic_count_gcc_atomicity.patch;patch=1"
-
-S = "${WORKDIR}/${BOOST_P}"
-
-# Make a package for each library, plus -dev and -python
-PACKAGES = "${PN}-dbg"
-BOOSTLIBS = ""
-
-PACKAGES += "boost-date-time"
-FILES_boost-date-time = "${libdir}/libboost_date_time.so.${PV}"
-
-BOOSTLIBS += "boost-filesystem"
-FILES_boost-filesystem = "${libdir}/libboost_filesystem.so.${PV}"
-
-BOOSTLIBS += "boost-prg-exec-monitor"
-FILES_boost-prg-exec-monitor = "${libdir}/libboost_prg_exec_monitor.so.${PV}"
-
-BOOSTLIBS += "boost-program-options"
-FILES_boost-program-options = "${libdir}/libboost_program_options.so.${PV}"
-
-BOOSTLIBS += "boost-regex"
-FILES_boost-regex = "${libdir}/libboost_regex.so.${PV}"
-
-BOOSTLIBS += "boost-signals"
-FILES_boost-signals = "${libdir}/libboost_signals.so.${PV}"
-
-BOOSTLIBS += "boost-test-exec-monitor"
-FILES_boost-test-exec-monitor = "${libdir}/libboost_test_exec_monitor.so.${PV}"
-
-BOOSTLIBS += "boost-thread-mt"
-FILES_boost-thread-mt = "${libdir}/libboost_thread-mt.so.${PV}"
-
-BOOSTLIBS += "boost-unit-test-framework"
-FILES_boost-unit-test-framework = "${libdir}/libboost_unit_test_framework.so.${PV}"
-
-BOOSTLIBS += "boost-iostreams"
-FILES_boost-iostreams = "${libdir}/libboost_iostreams.so.${PV}"
-
-BOOSTLIBS += "boost-serialization"
-FILES_boost-serialization = "${libdir}/libboost_serialization.so.${PV}"
-
-BOOSTLIBS += "boost-wserialization"
-FILES_boost-wserialization = "${libdir}/libboost_wserialization.so.${PV}"
-
-# Python - remove this and set:
-#PYTHON_ROOT = "/dev/null"
-# to remove the python build
-DEPENDS += "python"
-PYTHON_ROOT = "${STAGING_DIR_HOST}"
-PYTHON_VERSION = "2.4"
-
-BOOSTLIBS += "boost-python"
-FILES_boost-python = "${libdir}/libboost_python.so.${PV}"
-
-PACKAGES += "${BOOSTLIBS}"
-
-# -dev last to pick up the remaining stuff
-PACKAGES += "${PN}-dev"
-FILES_${PN}-dev = "${includedir} ${libdir}/libboost_*.so ${libdir}/libboost_*.a"
-
-# "boost" is a metapackage which pulls in all boost librabries
-PACKAGES += "${PN}"
-RRECOMMENDS_${PN} += "${BOOSTLIBS}"
-
-# Oh yippee, a new build system, it's sooo cooool I could eat my own
-# foot. inlining=on lets the compiler choose, I think. At least this
-# stuff is documented...
-# NOTE: if you leave <debug-symbols>on then in a debug build the build sys
-# objcopy will be invoked, and that won't work. Building debug apparently
-# requires hacking gcc-tools.jam
-#
-# Sometimes I wake up screaming. Famous figures are gathered in the nightmare,
-# Steve Bourne, Larry Wall, the whole of the ANSI C committee. They're just
-# standing there, waiting, but the truely terrifying thing is what they carry
-# in their hands. At first sight each seems to bear the same thing, but it is
-# not so for the forms in their grasp are ever so slightly different one from
-# the other. Each is twisted in some grotesque way from the other to make each
-# an unspeakable perversion impossible to perceive without the onset of madness.
-# True insanity awaits anyone who perceives all of these horrors together.
-#
-# Quotation marks, there might be an easier way to do this, but I can't find
-# it. The problem is that the user.hpp configuration file must receive a
-# pre-processor macro defined as the appropriate string - complete with "'s
-# around it. (<> is a possibility here but the danger to that is that the
-# failure case interprets the < and > as shell redirections, creating
-# random files in the source tree.)
-#
-#bjam: '-DBOOST_PLATFORM_CONFIG=\"config\"'
-#do_compile: '-sGCC=... '"'-DBOOST_PLATFORM_CONFIG=\"config\"'"
-SQD = '"'
-EQD = '\"'
-#boost.bb: "... '-sGCC=... '${SQD}'-DBOOST_PLATFORM_CONFIG=${EQD}config${EQD}'${SQD} ..."
-BJAM_CONF = "${SQD}'-DBOOST_PLATFORM_CONFIG=${EQD}boost/config/platform/${TARGET_OS}.hpp${EQD}'${SQD}"
-
-# bzip2 and zip are disabled because... they're broken - the compilation simply
-# isn't working with bjam. I guess they will fix it, but who needs it? This
-# only affects the (new in 33) iostream library.
-BJAM_TOOLS = "-sTOOLS=gcc \
- '-sGCC=${CC} '${BJAM_CONF} \
- '-sGXX=${CXX} '${BJAM_CONF} \
- '-sGCC_INCLUDE_DIRECTORY=${STAGING_INCDIR}' \
- '-sGCC_STDLIB_DIRECTORY=${STAGING_LIBDIR}' \
- '-sNO_BZIP2=1' \
- '-sNO_ZLIB=1' \
- '-sBUILD=release <optimization>space <inlining>on <debug-symbols>off' \
- '-sPYTHON_VERSION=${PYTHON_VERSION}' \
- '--layout=system' \
- "
-
-BJAM_OPTS = '${BJAM_TOOLS} \
- --builddir=${S}/${TARGET_SYS} \
- --with-python-root=${PYTHON_ROOT} \
- ${BJAM_EXTRA}'
-
-
-do_configure_prepend() {
- cp -f boost/config/platform/linux.hpp boost/config/platform/linux-gnueabi.hpp
-}
-
-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
-}
+SRC_URI += "file://gcc43.patch;patch=1"
diff --git a/packages/boost/files/gcc43.patch b/packages/boost/files/gcc43.patch
new file mode 100644
index 0000000000..aefe0800c3
--- /dev/null
+++ b/packages/boost/files/gcc43.patch
@@ -0,0 +1,256 @@
+diff -aNru boost_1_34_1-ORIGINAL/boost/archive/polymorphic_iarchive.hpp boost_1_34_1/boost/archive/polymorphic_iarchive.hpp
+--- boost_1_34_1-ORIGINAL/boost/archive/polymorphic_iarchive.hpp 2005-12-11 00:12:51.000000000 -0600
++++ boost_1_34_1/boost/archive/polymorphic_iarchive.hpp 2008-03-03 03:08:59.000000000 -0600
+@@ -17,6 +17,7 @@
+ // See http://www.boost.org for updates, documentation, and revision history.
+
+ #include <cstddef> // std::size_t
++#include <climits>
+ #include <boost/config.hpp>
+
+ #if defined(BOOST_NO_STDC_NAMESPACE)
+diff -aNru boost_1_34_1-ORIGINAL/boost/archive/polymorphic_oarchive.hpp boost_1_34_1/boost/archive/polymorphic_oarchive.hpp
+--- boost_1_34_1-ORIGINAL/boost/archive/polymorphic_oarchive.hpp 2006-02-11 23:43:06.000000000 -0600
++++ boost_1_34_1/boost/archive/polymorphic_oarchive.hpp 2008-03-03 03:08:59.000000000 -0600
+@@ -17,6 +17,7 @@
+ // See http://www.boost.org for updates, documentation, and revision history.
+
+ #include <cstddef> // size_t
++#include <climits>
+ #include <string>
+
+ #include <boost/config.hpp>
+diff -aNru boost_1_34_1-ORIGINAL/boost/date_time/date_facet.hpp boost_1_34_1/boost/date_time/date_facet.hpp
+--- boost_1_34_1-ORIGINAL/boost/date_time/date_facet.hpp 2005-09-05 16:10:50.000000000 -0500
++++ boost_1_34_1/boost/date_time/date_facet.hpp 2008-03-03 03:08:59.000000000 -0600
+@@ -429,7 +429,7 @@
+ typedef std::basic_string<CharT> string_type;
+ typedef CharT char_type;
+ typedef boost::date_time::period_parser<date_type, CharT> period_parser_type;
+- typedef special_values_parser<date_type,CharT> special_values_parser_type;
++ typedef boost::date_time::special_values_parser<date_type,CharT> special_values_parser_type;
+ typedef std::vector<std::basic_string<CharT> > input_collection_type;
+ typedef format_date_parser<date_type, CharT> format_date_parser_type;
+ // date_generators stuff goes here
+diff -aNru boost_1_34_1-ORIGINAL/boost/mpl/zip_view.hpp boost_1_34_1/boost/mpl/zip_view.hpp
+--- boost_1_34_1-ORIGINAL/boost/mpl/zip_view.hpp 2004-09-02 10:40:42.000000000 -0500
++++ boost_1_34_1/boost/mpl/zip_view.hpp 2008-03-03 03:08:59.000000000 -0600
+@@ -37,7 +37,7 @@
+ typedef zip_iterator<
+ typename transform1<
+ IteratorSeq
+- , next<_1>
++ , boost::mpl::next<_1>
+ >::type
+ > next;
+ };
+@@ -48,8 +48,8 @@
+ struct zip_view
+ {
+ private:
+- typedef typename transform1< Sequences, begin<_1> >::type first_ones_;
+- typedef typename transform1< Sequences, end<_1> >::type last_ones_;
++ typedef typename transform1< Sequences, boost::mpl::begin<_1> >::type first_ones_;
++ typedef typename transform1< Sequences, boost::mpl::end<_1> >::type last_ones_;
+
+ public:
+ typedef nested_begin_end_tag tag;
+diff -aNru boost_1_34_1-ORIGINAL/boost/python/detail/def_helper.hpp boost_1_34_1/boost/python/detail/def_helper.hpp
+--- boost_1_34_1-ORIGINAL/boost/python/detail/def_helper.hpp 2004-09-15 20:00:28.000000000 -0500
++++ boost_1_34_1/boost/python/detail/def_helper.hpp 2008-03-03 03:08:59.000000000 -0600
+@@ -155,7 +155,7 @@
+ , T3 const&
+ , T4 const&
+ , default_call_policies
+- , keywords<0>
++ , boost::python::detail::keywords<0>
+ , char const*
+ , void(not_specified::*)() // A function pointer type which is never an
+ // appropriate default implementation
+diff -aNru boost_1_34_1-ORIGINAL/boost/regex/v4/basic_regex_creator.hpp boost_1_34_1/boost/regex/v4/basic_regex_creator.hpp
+--- boost_1_34_1-ORIGINAL/boost/regex/v4/basic_regex_creator.hpp 2006-07-16 11:06:38.000000000 -0500
++++ boost_1_34_1/boost/regex/v4/basic_regex_creator.hpp 2008-03-03 03:08:59.000000000 -0600
+@@ -24,6 +24,8 @@
+ # include BOOST_ABI_PREFIX
+ #endif
+
++#include <climits>
++
+ namespace boost{
+
+ namespace re_detail{
+diff -aNru boost_1_34_1-ORIGINAL/boost/regex/v4/basic_regex.hpp boost_1_34_1/boost/regex/v4/basic_regex.hpp
+--- boost_1_34_1-ORIGINAL/boost/regex/v4/basic_regex.hpp 2007-06-05 12:28:18.000000000 -0500
++++ boost_1_34_1/boost/regex/v4/basic_regex.hpp 2008-03-03 03:08:59.000000000 -0600
+@@ -23,6 +23,8 @@
+ # include BOOST_ABI_PREFIX
+ #endif
+
++#include <climits>
++
+ namespace boost{
+ #ifdef BOOST_MSVC
+ #pragma warning(push)
+diff -aNru boost_1_34_1-ORIGINAL/boost/regex/v4/basic_regex_parser.hpp boost_1_34_1/boost/regex/v4/basic_regex_parser.hpp
+--- boost_1_34_1-ORIGINAL/boost/regex/v4/basic_regex_parser.hpp 2006-12-20 11:19:05.000000000 -0600
++++ boost_1_34_1/boost/regex/v4/basic_regex_parser.hpp 2008-03-03 03:08:59.000000000 -0600
+@@ -23,6 +23,8 @@
+ # include BOOST_ABI_PREFIX
+ #endif
+
++#include <climits>
++
+ namespace boost{
+ namespace re_detail{
+
+diff -aNru boost_1_34_1-ORIGINAL/boost/regex/v4/cpp_regex_traits.hpp boost_1_34_1/boost/regex/v4/cpp_regex_traits.hpp
+--- boost_1_34_1-ORIGINAL/boost/regex/v4/cpp_regex_traits.hpp 2007-01-15 05:09:44.000000000 -0600
++++ boost_1_34_1/boost/regex/v4/cpp_regex_traits.hpp 2008-03-03 03:08:59.000000000 -0600
+@@ -41,6 +41,7 @@
+
+ #include <istream>
+ #include <ios>
++#include <climits>
+
+ #ifdef BOOST_HAS_ABI_HEADERS
+ # include BOOST_ABI_PREFIX
+diff -aNru boost_1_34_1-ORIGINAL/boost/regex/v4/perl_matcher.hpp boost_1_34_1/boost/regex/v4/perl_matcher.hpp
+--- boost_1_34_1-ORIGINAL/boost/regex/v4/perl_matcher.hpp 2006-10-18 07:55:30.000000000 -0500
++++ boost_1_34_1/boost/regex/v4/perl_matcher.hpp 2008-03-03 03:08:59.000000000 -0600
+@@ -18,6 +18,8 @@
+ # include BOOST_ABI_PREFIX
+ #endif
+
++#include <climits>
++
+ namespace boost{
+ namespace re_detail{
+
+diff -aNru boost_1_34_1-ORIGINAL/boost/regex/v4/regex_split.hpp boost_1_34_1/boost/regex/v4/regex_split.hpp
+--- boost_1_34_1-ORIGINAL/boost/regex/v4/regex_split.hpp 2005-01-21 11:22:38.000000000 -0600
++++ boost_1_34_1/boost/regex/v4/regex_split.hpp 2008-03-03 03:08:59.000000000 -0600
+@@ -21,6 +21,8 @@
+ #ifndef BOOST_REGEX_SPLIT_HPP
+ #define BOOST_REGEX_SPLIT_HPP
+
++#include <climits>
++
+ namespace boost{
+
+ #ifdef BOOST_HAS_ABI_HEADERS
+diff -aNru boost_1_34_1-ORIGINAL/boost/regex/v4/states.hpp boost_1_34_1/boost/regex/v4/states.hpp
+--- boost_1_34_1-ORIGINAL/boost/regex/v4/states.hpp 2005-09-20 07:01:25.000000000 -0500
++++ boost_1_34_1/boost/regex/v4/states.hpp 2008-03-03 03:08:59.000000000 -0600
+@@ -23,6 +23,8 @@
+ # include BOOST_ABI_PREFIX
+ #endif
+
++#include <climits>
++
+ namespace boost{
+ namespace re_detail{
+
+diff -aNru boost_1_34_1-ORIGINAL/boost/serialization/collection_traits.hpp boost_1_34_1/boost/serialization/collection_traits.hpp
+--- boost_1_34_1-ORIGINAL/boost/serialization/collection_traits.hpp 2005-06-21 00:19:04.000000000 -0500
++++ boost_1_34_1/boost/serialization/collection_traits.hpp 2008-03-03 03:09:49.000000000 -0600
+@@ -22,6 +22,7 @@
+ // compiles recognize the same set of primitive types, the possibility
+ // exists for archives to be non-portable if class information for primitive
+ // types is included. This is addressed by the following macros.
++#include <climits>
+ #include <boost/config.hpp>
+ #include <boost/mpl/integral_c.hpp>
+ #include <boost/mpl/integral_c_tag.hpp>
+diff -aNru boost_1_34_1-ORIGINAL/boost/spirit/phoenix/operators.hpp boost_1_34_1/boost/spirit/phoenix/operators.hpp
+--- boost_1_34_1-ORIGINAL/boost/spirit/phoenix/operators.hpp 2006-08-25 11:27:30.000000000 -0500
++++ boost_1_34_1/boost/spirit/phoenix/operators.hpp 2008-03-03 03:08:59.000000000 -0600
+@@ -24,6 +24,7 @@
+ #include <boost/spirit/phoenix/composite.hpp>
+ #include <boost/config.hpp>
+ #include <boost/mpl/if.hpp>
++#include <climits>
+
+ ///////////////////////////////////////////////////////////////////////////////
+ namespace phoenix {
+diff -aNru boost_1_34_1-ORIGINAL/boost/test/test_tools.hpp boost_1_34_1/boost/test/test_tools.hpp
+--- boost_1_34_1-ORIGINAL/boost/test/test_tools.hpp 2007-02-22 11:57:29.000000000 -0600
++++ boost_1_34_1/boost/test/test_tools.hpp 2008-03-03 03:08:59.000000000 -0600
+@@ -42,6 +42,7 @@
+ #include <boost/mpl/or.hpp>
+
+ // STL
++#include <climits>
+ #include <cstddef> // for std::size_t
+ #include <iosfwd>
+
+diff -aNru boost_1_34_1-ORIGINAL/boost/wave/cpplexer/re2clex/cpp_re2c_lexer.hpp boost_1_34_1/boost/wave/cpplexer/re2clex/cpp_re2c_lexer.hpp
+--- boost_1_34_1-ORIGINAL/boost/wave/cpplexer/re2clex/cpp_re2c_lexer.hpp 2006-12-20 10:38:24.000000000 -0600
++++ boost_1_34_1/boost/wave/cpplexer/re2clex/cpp_re2c_lexer.hpp 2008-03-03 03:08:59.000000000 -0600
+@@ -16,6 +16,7 @@
+ #include <string>
+ #include <cstdio>
+ #include <cstdarg>
++#include <cstring>
+ #if defined(BOOST_SPIRIT_DEBUG)
+ #include <iostream>
+ #endif // defined(BOOST_SPIRIT_DEBUG)
+diff -aNru boost_1_34_1-ORIGINAL/boost/wave/util/flex_string.hpp boost_1_34_1/boost/wave/util/flex_string.hpp
+--- boost_1_34_1-ORIGINAL/boost/wave/util/flex_string.hpp 2006-04-25 12:21:01.000000000 -0500
++++ boost_1_34_1/boost/wave/util/flex_string.hpp 2008-03-03 03:08:59.000000000 -0600
+@@ -94,6 +94,7 @@
+ #include <limits>
+ #include <stdexcept>
+ #include <cstddef>
++#include <cstring>
+
+ // this must occur after all of the includes and before any code appears
+ #ifdef BOOST_HAS_ABI_HEADERS
+
+--- boost_1_33_1/boost/wave/cpplexer/re2clex/cpp_re2c_lexer.hpp 2008-07-05 01:50:04.000000000 +0200
++++ boost_1_34_1/boost/wave/cpplexer/re2clex/cpp_re2c_lexer.hpp 2006-12-20 17:38:24.000000000 +0100
+@@ -295,17 +325,20 @@
+
+ lex_functor(IteratorT const &first, IteratorT const &last,
+ PositionT const &pos, boost::wave::language_support language)
+- : lexer(first, last, pos, language)
++ : re2c_lexer(first, last, pos, language)
+ {}
+ virtual ~lex_functor() {}
+
+ // get the next token from the input stream
+- token_type get() { return lexer.get(); }
+- void set_position(PositionT const &pos)
+- { lexer.set_position(pos); }
++ token_type get() { return re2c_lexer.get(); }
++ void set_position(PositionT const &pos) { re2c_lexer.set_position(pos); }
++#if BOOST_WAVE_SUPPORT_PRAGMA_ONCE != 0
++ bool has_include_guards(std::string& guard_name) const
++ { return re2c_lexer.has_include_guards(guard_name); }
++#endif
+
+ private:
+- lexer<IteratorT, PositionT> lexer;
++ lexer<IteratorT, PositionT> re2c_lexer;
+ };
+
+ ///////////////////////////////////////////////////////////////////////////////
+@@ -338,7 +371,7 @@
+ // It is coupled to the iterator type to allow to decouple the lexer/iterator
+ // configurations at compile time.
+ //
+-// This function is declared inside the cpp_slex_token.hpp file, which is
++// This function is declared inside the cpp_lex_token.hpp file, which is
+ // referenced by the source file calling the lexer and the source file, which
+ // instantiates the lex_functor. But is is defined here, so it will be
+ // instantiated only while compiling the source file, which instantiates the
+@@ -356,8 +389,8 @@
+ IteratorT const &last, PositionT const &pos,
+ boost::wave::language_support language)
+ {
+- return new re2clex::lex_functor<IteratorT, PositionT>(first, last, pos,
+- language);
++ using re2clex::lex_functor;
++ return new lex_functor<IteratorT, PositionT>(first, last, pos, language);
+ }
+
+ #undef BOOST_WAVE_RE2C_NEW_LEXER_INLINE