* [PATCH] boost: Split out bjam build tool and add real native support
@ 2013-03-07 16:37 Stefan Herbrechtsmeier
2013-03-11 23:44 ` Saul Wold
` (2 more replies)
0 siblings, 3 replies; 10+ messages in thread
From: Stefan Herbrechtsmeier @ 2013-03-07 16:37 UTC (permalink / raw)
To: openembedded-core
The current boost recipe only creates the bjam build tool during
a native run and thereby is not usable for other native programs
that depend on a boost library. Split out the build tool into its
own bjam recipe and add real native support to the boost recipe.
This allows recipes to depend on native boost libraries without
increase of the build time for other use cases.
Native compilation of bzip2 isn't working and therefore disabled.
Signed-off-by: Stefan Herbrechtsmeier <stefan@herbrechtsmeier.net>
---
meta/recipes-support/boost/bjam_1.53.0.bb | 21 +++++++++++
meta/recipes-support/boost/boost-1.53.0.inc | 21 +++++++++++
meta/recipes-support/boost/boost.inc | 49 ++-------------------------
meta/recipes-support/boost/boost_1.53.0.bb | 6 +--
4 files changed, 47 insertions(+), 50 deletions(-)
create mode 100644 meta/recipes-support/boost/bjam_1.53.0.bb
create mode 100644 meta/recipes-support/boost/boost-1.53.0.inc
diff --git a/meta/recipes-support/boost/bjam_1.53.0.bb b/meta/recipes-support/boost/bjam_1.53.0.bb
new file mode 100644
index 0000000..d97d550
--- /dev/null
+++ b/meta/recipes-support/boost/bjam_1.53.0.bb
@@ -0,0 +1,21 @@
+include boost-${PV}.inc
+
+DESCRIPTION = "Portable build tool for boost"
+SECTION = "devel"
+
+do_compile() {
+ set -ex
+ cd ${S}/tools/build/v2/engine
+ 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_install() {
+ set -ex
+ cd ${S}/tools/build/v2/engine
+ install -d ${D}${bindir}/
+ install -c -m 755 bin.*/bjam ${D}${bindir}/
+}
diff --git a/meta/recipes-support/boost/boost-1.53.0.inc b/meta/recipes-support/boost/boost-1.53.0.inc
new file mode 100644
index 0000000..19152a7
--- /dev/null
+++ b/meta/recipes-support/boost/boost-1.53.0.inc
@@ -0,0 +1,21 @@
+# 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.
+HOMEPAGE = "http://www.boost.org/"
+LICENSE = "BSL-1.0 & MIT & Python-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE_1_0.txt;md5=e4224ccaecb14d942c71d31bef20d78c"
+
+BOOST_VER = "${@"_".join(d.getVar("PV",1).split("."))}"
+BOOST_MAJ = "${@"_".join(d.getVar("PV",1).split(".")[0:2])}"
+BOOST_P = "boost_${BOOST_VER}"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BOOST_P}.tar.bz2"
+
+SRC_URI[md5sum] = "a00d22605d5dbcfb4c9936a9b35bc4c2"
+SRC_URI[sha256sum] = "f88a041b01882b0c9c5c05b39603ec8383fb881f772f6f9e6e6fd0e0cddb9196"
+
+S = "${WORKDIR}/${BOOST_P}"
+
+BBCLASSEXTEND = "native"
diff --git a/meta/recipes-support/boost/boost.inc b/meta/recipes-support/boost/boost.inc
index 1266666..328676d 100644
--- a/meta/recipes-support/boost/boost.inc
+++ b/meta/recipes-support/boost/boost.inc
@@ -1,25 +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-native zlib bzip2"
-DEPENDS_class-native = ""
-LICENSE = "BSL-1.0 & MIT & Python-2.0"
+DEPENDS = "bjam-native zlib bzip2"
ARM_INSTRUCTION_SET = "arm"
-BOOST_VER = "${@"_".join(d.getVar("PV",1).split("."))}"
-BOOST_MAJ = "${@"_".join(d.getVar("PV",1).split(".")[0:2])}"
-BOOST_P = "boost_${BOOST_VER}"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BOOST_P}.tar.bz2"
-
-S = "${WORKDIR}/${BOOST_P}"
-
BOOST_LIBS = "\
date_time \
filesystem \
@@ -126,6 +110,8 @@ BJAM_OPTS = '${PARALLEL_MAKE} \
--disable-icu \
${BJAM_EXTRA}'
+# Native compilation of bzip2 isn't working
+BJAM_OPTS_append_class-native = ' -sNO_BZIP2=1'
do_boostconfig() {
cp -f boost/config/platform/linux.hpp boost/config/platform/linux-gnueabi.hpp
@@ -168,32 +154,3 @@ do_install() {
done
}
-
-BBCLASSEXTEND = "native"
-
-do_configure_class-native() {
- :
-}
-
-do_boostconfig_class-native() {
- :
-}
-
-do_compile_class-native() {
- set -ex
- cd ${S}/tools/build/v2/engine
- 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_install_class-native () {
- set -ex
- cd ${S}/tools/build/v2/engine
- install -d ${D}${bindir}/
- install -c -m 755 bin.*/bjam ${D}${bindir}/
-}
-
-
diff --git a/meta/recipes-support/boost/boost_1.53.0.bb b/meta/recipes-support/boost/boost_1.53.0.bb
index de721c5..407ce92 100644
--- a/meta/recipes-support/boost/boost_1.53.0.bb
+++ b/meta/recipes-support/boost/boost_1.53.0.bb
@@ -1,9 +1,7 @@
+include boost-${PV}.inc
include boost.inc
-LIC_FILES_CHKSUM = "file://LICENSE_1_0.txt;md5=e4224ccaecb14d942c71d31bef20d78c"
-
SRC_URI += "file://arm-intrinsics.patch \
"
-SRC_URI[md5sum] = "a00d22605d5dbcfb4c9936a9b35bc4c2"
-SRC_URI[sha256sum] = "f88a041b01882b0c9c5c05b39603ec8383fb881f772f6f9e6e6fd0e0cddb9196"
+PR = "r1"
--
1.7.0.4
^ permalink raw reply related [flat|nested] 10+ messages in thread* Re: [PATCH] boost: Split out bjam build tool and add real native support
2013-03-07 16:37 [PATCH] boost: Split out bjam build tool and add real native support Stefan Herbrechtsmeier
@ 2013-03-11 23:44 ` Saul Wold
2013-03-12 10:19 ` Stefan Herbrechtsmeier
2013-03-12 14:49 ` [PATCH] boost: Add " Stefan Herbrechtsmeier
2013-03-26 13:02 ` [PATCH V2] " Stefan Herbrechtsmeier
2 siblings, 1 reply; 10+ messages in thread
From: Saul Wold @ 2013-03-11 23:44 UTC (permalink / raw)
To: Stefan Herbrechtsmeier; +Cc: openembedded-core
On 03/07/2013 08:37 AM, Stefan Herbrechtsmeier wrote:
> The current boost recipe only creates the bjam build tool during
> a native run and thereby is not usable for other native programs
> that depend on a boost library. Split out the build tool into its
> own bjam recipe and add real native support to the boost recipe.
> This allows recipes to depend on native boost libraries without
> increase of the build time for other use cases.
>
> Native compilation of bzip2 isn't working and therefore disabled.
>
> Signed-off-by: Stefan Herbrechtsmeier <stefan@herbrechtsmeier.net>
> ---
> meta/recipes-support/boost/bjam_1.53.0.bb | 21 +++++++++++
> meta/recipes-support/boost/boost-1.53.0.inc | 21 +++++++++++
> meta/recipes-support/boost/boost.inc | 49 ++-------------------------
> meta/recipes-support/boost/boost_1.53.0.bb | 6 +--
> 4 files changed, 47 insertions(+), 50 deletions(-)
> create mode 100644 meta/recipes-support/boost/bjam_1.53.0.bb
> create mode 100644 meta/recipes-support/boost/boost-1.53.0.inc
>
This change seems to have caused a failure on my test build:
> Log data follows:
> | DEBUG: Executing shell function do_compile
> | + cd /srv/hdd/builds/world/tmp/work/armv5te-poky-linux-gnueabi/bjam/1.53.0-r0/boost_1_53_0/tools/build/v2/engine
> | + rm -rf bin.*
> | + ./build.sh gcc
> | ###
> | ### Using 'gcc' toolset.
> | ###
> | rm -rf bootstrap
> | mkdir bootstrap
> | gcc -o bootstrap/jam0 command.c compile.c constants.c debug.c function.c glob.c hash.c hdrmacro.c headers.c jam.c jambase.c jamgram.c lists.c make.c make1.c object.c option.c output.c parse.c pathunix.c regexp.c rules.c scan.c search.c subst.c timestamp.c variable.c modules.c strings.c filesys.c builtins.c pwd.c class.c native.c md5.c w32_getreg.c modules/set.c modules/path.c modules/regex.c modules/property-set.c modules/sequence.c modules/order.c execunix.c fileunix.c
> | function.c: In function 'argument_list_print':
> | function.c:3109:17: warning: format '%s' expects argument of type 'char *', but argument 2 has type 'struct OBJECT *' [-Wformat]
> | ./bootstrap/jam0 -f build.jam --toolset=gcc --toolset-root= clean
> | build.jam:185: in module scope
> | *** argument error
> | * rule toolset ( name command .type ? : opt.out + : opt.define * : flags * : linklibs * )
> | * called with: ( cc arm-poky-linux-gnueabi-gcc -march=armv5te -marm -mthumb-interwork --sysroot=/srv/hdd/builds/world/tmp/sysroots/qemuarm : -o : -D : -O2 -pipe -g -feliminate-unused-debug-types -s -O : )
> | * extra argument -marm
> | build.jam:149:see definition of rule 'toolset' being called
> | ERROR: Function failed: do_compile (see /srv/hdd/builds/world/tmp/work/armv5te-poky-linux-gnueabi/bjam/1.53.0-r0/temp/log.do_compile.18164 for further information)
> ERROR: Task 123 (/srv/hdd/poky/meta/recipes-support/boost/bjam_1.53.0.bb, do_compile) failed with exit code '1'
Can you please verify that it builds correctly.
Thanks
Sau!
> diff --git a/meta/recipes-support/boost/bjam_1.53.0.bb b/meta/recipes-support/boost/bjam_1.53.0.bb
> new file mode 100644
> index 0000000..d97d550
> --- /dev/null
> +++ b/meta/recipes-support/boost/bjam_1.53.0.bb
> @@ -0,0 +1,21 @@
> +include boost-${PV}.inc
> +
> +DESCRIPTION = "Portable build tool for boost"
> +SECTION = "devel"
> +
> +do_compile() {
> + set -ex
> + cd ${S}/tools/build/v2/engine
> + 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_install() {
> + set -ex
> + cd ${S}/tools/build/v2/engine
> + install -d ${D}${bindir}/
> + install -c -m 755 bin.*/bjam ${D}${bindir}/
> +}
> diff --git a/meta/recipes-support/boost/boost-1.53.0.inc b/meta/recipes-support/boost/boost-1.53.0.inc
> new file mode 100644
> index 0000000..19152a7
> --- /dev/null
> +++ b/meta/recipes-support/boost/boost-1.53.0.inc
> @@ -0,0 +1,21 @@
> +# 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.
> +HOMEPAGE = "http://www.boost.org/"
> +LICENSE = "BSL-1.0 & MIT & Python-2.0"
> +LIC_FILES_CHKSUM = "file://LICENSE_1_0.txt;md5=e4224ccaecb14d942c71d31bef20d78c"
> +
> +BOOST_VER = "${@"_".join(d.getVar("PV",1).split("."))}"
> +BOOST_MAJ = "${@"_".join(d.getVar("PV",1).split(".")[0:2])}"
> +BOOST_P = "boost_${BOOST_VER}"
> +
> +SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BOOST_P}.tar.bz2"
> +
> +SRC_URI[md5sum] = "a00d22605d5dbcfb4c9936a9b35bc4c2"
> +SRC_URI[sha256sum] = "f88a041b01882b0c9c5c05b39603ec8383fb881f772f6f9e6e6fd0e0cddb9196"
> +
> +S = "${WORKDIR}/${BOOST_P}"
> +
> +BBCLASSEXTEND = "native"
> diff --git a/meta/recipes-support/boost/boost.inc b/meta/recipes-support/boost/boost.inc
> index 1266666..328676d 100644
> --- a/meta/recipes-support/boost/boost.inc
> +++ b/meta/recipes-support/boost/boost.inc
> @@ -1,25 +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-native zlib bzip2"
> -DEPENDS_class-native = ""
> -LICENSE = "BSL-1.0 & MIT & Python-2.0"
> +DEPENDS = "bjam-native zlib bzip2"
>
> ARM_INSTRUCTION_SET = "arm"
>
> -BOOST_VER = "${@"_".join(d.getVar("PV",1).split("."))}"
> -BOOST_MAJ = "${@"_".join(d.getVar("PV",1).split(".")[0:2])}"
> -BOOST_P = "boost_${BOOST_VER}"
> -
> -SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BOOST_P}.tar.bz2"
> -
> -S = "${WORKDIR}/${BOOST_P}"
> -
> BOOST_LIBS = "\
> date_time \
> filesystem \
> @@ -126,6 +110,8 @@ BJAM_OPTS = '${PARALLEL_MAKE} \
> --disable-icu \
> ${BJAM_EXTRA}'
>
> +# Native compilation of bzip2 isn't working
> +BJAM_OPTS_append_class-native = ' -sNO_BZIP2=1'
>
> do_boostconfig() {
> cp -f boost/config/platform/linux.hpp boost/config/platform/linux-gnueabi.hpp
> @@ -168,32 +154,3 @@ do_install() {
> done
>
> }
> -
> -BBCLASSEXTEND = "native"
> -
> -do_configure_class-native() {
> - :
> -}
> -
> -do_boostconfig_class-native() {
> - :
> -}
> -
> -do_compile_class-native() {
> - set -ex
> - cd ${S}/tools/build/v2/engine
> - 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_install_class-native () {
> - set -ex
> - cd ${S}/tools/build/v2/engine
> - install -d ${D}${bindir}/
> - install -c -m 755 bin.*/bjam ${D}${bindir}/
> -}
> -
> -
> diff --git a/meta/recipes-support/boost/boost_1.53.0.bb b/meta/recipes-support/boost/boost_1.53.0.bb
> index de721c5..407ce92 100644
> --- a/meta/recipes-support/boost/boost_1.53.0.bb
> +++ b/meta/recipes-support/boost/boost_1.53.0.bb
> @@ -1,9 +1,7 @@
> +include boost-${PV}.inc
> include boost.inc
>
> -LIC_FILES_CHKSUM = "file://LICENSE_1_0.txt;md5=e4224ccaecb14d942c71d31bef20d78c"
> -
> SRC_URI += "file://arm-intrinsics.patch \
> "
>
> -SRC_URI[md5sum] = "a00d22605d5dbcfb4c9936a9b35bc4c2"
> -SRC_URI[sha256sum] = "f88a041b01882b0c9c5c05b39603ec8383fb881f772f6f9e6e6fd0e0cddb9196"
> +PR = "r1"
>
^ permalink raw reply [flat|nested] 10+ messages in thread* Re: [PATCH] boost: Split out bjam build tool and add real native support
2013-03-11 23:44 ` Saul Wold
@ 2013-03-12 10:19 ` Stefan Herbrechtsmeier
2013-03-12 10:48 ` Koen Kooi
0 siblings, 1 reply; 10+ messages in thread
From: Stefan Herbrechtsmeier @ 2013-03-12 10:19 UTC (permalink / raw)
To: Saul Wold; +Cc: openembedded-core
Am 12.03.2013 00:44, schrieb Saul Wold:
> On 03/07/2013 08:37 AM, Stefan Herbrechtsmeier wrote:
>> The current boost recipe only creates the bjam build tool during
>> a native run and thereby is not usable for other native programs
>> that depend on a boost library. Split out the build tool into its
>> own bjam recipe and add real native support to the boost recipe.
>> This allows recipes to depend on native boost libraries without
>> increase of the build time for other use cases.
>>
>> Native compilation of bzip2 isn't working and therefore disabled.
>>
>> Signed-off-by: Stefan Herbrechtsmeier <stefan@herbrechtsmeier.net>
>> ---
>> meta/recipes-support/boost/bjam_1.53.0.bb | 21 +++++++++++
>> meta/recipes-support/boost/boost-1.53.0.inc | 21 +++++++++++
>> meta/recipes-support/boost/boost.inc | 49
>> ++-------------------------
>> meta/recipes-support/boost/boost_1.53.0.bb | 6 +--
>> 4 files changed, 47 insertions(+), 50 deletions(-)
>> create mode 100644 meta/recipes-support/boost/bjam_1.53.0.bb
>> create mode 100644 meta/recipes-support/boost/boost-1.53.0.inc
>>
> This change seems to have caused a failure on my test build:
Sorry, I missed the no native case. I rename bjam to bjam-native and
send a new patch. Bjam make no sense on the target as it is only used
for compiling.
>
>
>> Log data follows:
>> | DEBUG: Executing shell function do_compile
>> | + cd
>> /srv/hdd/builds/world/tmp/work/armv5te-poky-linux-gnueabi/bjam/1.53.0-r0/boost_1_53_0/tools/build/v2/engine
>> | + rm -rf bin.*
>> | + ./build.sh gcc
>> | ###
>> | ### Using 'gcc' toolset.
>> | ###
>> | rm -rf bootstrap
>> | mkdir bootstrap
>> | gcc -o bootstrap/jam0 command.c compile.c constants.c debug.c
>> function.c glob.c hash.c hdrmacro.c headers.c jam.c jambase.c
>> jamgram.c lists.c make.c make1.c object.c option.c output.c parse.c
>> pathunix.c regexp.c rules.c scan.c search.c subst.c timestamp.c
>> variable.c modules.c strings.c filesys.c builtins.c pwd.c class.c
>> native.c md5.c w32_getreg.c modules/set.c modules/path.c
>> modules/regex.c modules/property-set.c modules/sequence.c
>> modules/order.c execunix.c fileunix.c
>> | function.c: In function 'argument_list_print':
>> | function.c:3109:17: warning: format '%s' expects argument of type
>> 'char *', but argument 2 has type 'struct OBJECT *' [-Wformat]
>> | ./bootstrap/jam0 -f build.jam --toolset=gcc --toolset-root= clean
>> | build.jam:185: in module scope
>> | *** argument error
>> | * rule toolset ( name command .type ? : opt.out + : opt.define * :
>> flags * : linklibs * )
>> | * called with: ( cc arm-poky-linux-gnueabi-gcc -march=armv5te -marm
>> -mthumb-interwork
>> --sysroot=/srv/hdd/builds/world/tmp/sysroots/qemuarm : -o : -D : -O2
>> -pipe -g -feliminate-unused-debug-types -s -O : )
>> | * extra argument -marm
>> | build.jam:149:see definition of rule 'toolset' being called
>> | ERROR: Function failed: do_compile (see
>> /srv/hdd/builds/world/tmp/work/armv5te-poky-linux-gnueabi/bjam/1.53.0-r0/temp/log.do_compile.18164
>> for further information)
>> ERROR: Task 123
>> (/srv/hdd/poky/meta/recipes-support/boost/bjam_1.53.0.bb, do_compile)
>> failed with exit code '1'
>
>
> Can you please verify that it builds correctly.
>
> Thanks
> Sau!
>
>> diff --git a/meta/recipes-support/boost/bjam_1.53.0.bb
>> b/meta/recipes-support/boost/bjam_1.53.0.bb
>> new file mode 100644
>> index 0000000..d97d550
>> --- /dev/null
>> +++ b/meta/recipes-support/boost/bjam_1.53.0.bb
>> @@ -0,0 +1,21 @@
>> +include boost-${PV}.inc
>> +
>> +DESCRIPTION = "Portable build tool for boost"
>> +SECTION = "devel"
>> +
>> +do_compile() {
>> + set -ex
>> + cd ${S}/tools/build/v2/engine
>> + 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_install() {
>> + set -ex
>> + cd ${S}/tools/build/v2/engine
>> + install -d ${D}${bindir}/
>> + install -c -m 755 bin.*/bjam ${D}${bindir}/
>> +}
>> diff --git a/meta/recipes-support/boost/boost-1.53.0.inc
>> b/meta/recipes-support/boost/boost-1.53.0.inc
>> new file mode 100644
>> index 0000000..19152a7
>> --- /dev/null
>> +++ b/meta/recipes-support/boost/boost-1.53.0.inc
>> @@ -0,0 +1,21 @@
>> +# 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.
>> +HOMEPAGE = "http://www.boost.org/"
>> +LICENSE = "BSL-1.0 & MIT & Python-2.0"
>> +LIC_FILES_CHKSUM =
>> "file://LICENSE_1_0.txt;md5=e4224ccaecb14d942c71d31bef20d78c"
>> +
>> +BOOST_VER = "${@"_".join(d.getVar("PV",1).split("."))}"
>> +BOOST_MAJ = "${@"_".join(d.getVar("PV",1).split(".")[0:2])}"
>> +BOOST_P = "boost_${BOOST_VER}"
>> +
>> +SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BOOST_P}.tar.bz2"
>> +
>> +SRC_URI[md5sum] = "a00d22605d5dbcfb4c9936a9b35bc4c2"
>> +SRC_URI[sha256sum] =
>> "f88a041b01882b0c9c5c05b39603ec8383fb881f772f6f9e6e6fd0e0cddb9196"
>> +
>> +S = "${WORKDIR}/${BOOST_P}"
>> +
>> +BBCLASSEXTEND = "native"
>> diff --git a/meta/recipes-support/boost/boost.inc
>> b/meta/recipes-support/boost/boost.inc
>> index 1266666..328676d 100644
>> --- a/meta/recipes-support/boost/boost.inc
>> +++ b/meta/recipes-support/boost/boost.inc
>> @@ -1,25 +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-native zlib bzip2"
>> -DEPENDS_class-native = ""
>> -LICENSE = "BSL-1.0 & MIT & Python-2.0"
>> +DEPENDS = "bjam-native zlib bzip2"
>>
>> ARM_INSTRUCTION_SET = "arm"
>>
>> -BOOST_VER = "${@"_".join(d.getVar("PV",1).split("."))}"
>> -BOOST_MAJ = "${@"_".join(d.getVar("PV",1).split(".")[0:2])}"
>> -BOOST_P = "boost_${BOOST_VER}"
>> -
>> -SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BOOST_P}.tar.bz2"
>> -
>> -S = "${WORKDIR}/${BOOST_P}"
>> -
>> BOOST_LIBS = "\
>> date_time \
>> filesystem \
>> @@ -126,6 +110,8 @@ BJAM_OPTS = '${PARALLEL_MAKE} \
>> --disable-icu \
>> ${BJAM_EXTRA}'
>>
>> +# Native compilation of bzip2 isn't working
>> +BJAM_OPTS_append_class-native = ' -sNO_BZIP2=1'
>>
>> do_boostconfig() {
>> cp -f boost/config/platform/linux.hpp
>> boost/config/platform/linux-gnueabi.hpp
>> @@ -168,32 +154,3 @@ do_install() {
>> done
>>
>> }
>> -
>> -BBCLASSEXTEND = "native"
>> -
>> -do_configure_class-native() {
>> - :
>> -}
>> -
>> -do_boostconfig_class-native() {
>> - :
>> -}
>> -
>> -do_compile_class-native() {
>> - set -ex
>> - cd ${S}/tools/build/v2/engine
>> - 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_install_class-native () {
>> - set -ex
>> - cd ${S}/tools/build/v2/engine
>> - install -d ${D}${bindir}/
>> - install -c -m 755 bin.*/bjam ${D}${bindir}/
>> -}
>> -
>> -
>> diff --git a/meta/recipes-support/boost/boost_1.53.0.bb
>> b/meta/recipes-support/boost/boost_1.53.0.bb
>> index de721c5..407ce92 100644
>> --- a/meta/recipes-support/boost/boost_1.53.0.bb
>> +++ b/meta/recipes-support/boost/boost_1.53.0.bb
>> @@ -1,9 +1,7 @@
>> +include boost-${PV}.inc
>> include boost.inc
>>
>> -LIC_FILES_CHKSUM =
>> "file://LICENSE_1_0.txt;md5=e4224ccaecb14d942c71d31bef20d78c"
>> -
>> SRC_URI += "file://arm-intrinsics.patch \
>> "
>>
>> -SRC_URI[md5sum] = "a00d22605d5dbcfb4c9936a9b35bc4c2"
>> -SRC_URI[sha256sum] =
>> "f88a041b01882b0c9c5c05b39603ec8383fb881f772f6f9e6e6fd0e0cddb9196"
>> +PR = "r1"
>>
^ permalink raw reply [flat|nested] 10+ messages in thread* Re: [PATCH] boost: Split out bjam build tool and add real native support
2013-03-12 10:19 ` Stefan Herbrechtsmeier
@ 2013-03-12 10:48 ` Koen Kooi
2013-03-12 11:58 ` Stefan Herbrechtsmeier
0 siblings, 1 reply; 10+ messages in thread
From: Koen Kooi @ 2013-03-12 10:48 UTC (permalink / raw)
To: Stefan Herbrechtsmeier; +Cc: openembedded-core
Op 12 mrt. 2013, om 11:19 heeft Stefan Herbrechtsmeier <stefan@herbrechtsmeier.net> het volgende geschreven:
> Am 12.03.2013 00:44, schrieb Saul Wold:
>> On 03/07/2013 08:37 AM, Stefan Herbrechtsmeier wrote:
>>> The current boost recipe only creates the bjam build tool during
>>> a native run and thereby is not usable for other native programs
>>> that depend on a boost library. Split out the build tool into its
>>> own bjam recipe and add real native support to the boost recipe.
>>> This allows recipes to depend on native boost libraries without
>>> increase of the build time for other use cases.
>>>
>>> Native compilation of bzip2 isn't working and therefore disabled.
>>>
>>> Signed-off-by: Stefan Herbrechtsmeier <stefan@herbrechtsmeier.net>
>>> ---
>>> meta/recipes-support/boost/bjam_1.53.0.bb | 21 +++++++++++
>>> meta/recipes-support/boost/boost-1.53.0.inc | 21 +++++++++++
>>> meta/recipes-support/boost/boost.inc | 49 ++-------------------------
>>> meta/recipes-support/boost/boost_1.53.0.bb | 6 +--
>>> 4 files changed, 47 insertions(+), 50 deletions(-)
>>> create mode 100644 meta/recipes-support/boost/bjam_1.53.0.bb
>>> create mode 100644 meta/recipes-support/boost/boost-1.53.0.inc
>>>
>> This change seems to have caused a failure on my test build:
> Sorry, I missed the no native case. I rename bjam to bjam-native and send a new patch. Bjam make no sense on the target as it is only used for compiling.
And what if you need bjam to compile something on the target?
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] boost: Split out bjam build tool and add real native support
2013-03-12 10:48 ` Koen Kooi
@ 2013-03-12 11:58 ` Stefan Herbrechtsmeier
2013-03-12 14:55 ` Stefan Herbrechtsmeier
0 siblings, 1 reply; 10+ messages in thread
From: Stefan Herbrechtsmeier @ 2013-03-12 11:58 UTC (permalink / raw)
To: Koen Kooi; +Cc: openembedded-core
Am 12.03.2013 11:48, schrieb Koen Kooi:
> Op 12 mrt. 2013, om 11:19 heeft Stefan Herbrechtsmeier <stefan@herbrechtsmeier.net> het volgende geschreven:
>
>> Am 12.03.2013 00:44, schrieb Saul Wold:
>>> On 03/07/2013 08:37 AM, Stefan Herbrechtsmeier wrote:
>>>> The current boost recipe only creates the bjam build tool during
>>>> a native run and thereby is not usable for other native programs
>>>> that depend on a boost library. Split out the build tool into its
>>>> own bjam recipe and add real native support to the boost recipe.
>>>> This allows recipes to depend on native boost libraries without
>>>> increase of the build time for other use cases.
>>>>
>>>> Native compilation of bzip2 isn't working and therefore disabled.
>>>>
>>>> Signed-off-by: Stefan Herbrechtsmeier <stefan@herbrechtsmeier.net>
>>>> ---
>>>> meta/recipes-support/boost/bjam_1.53.0.bb | 21 +++++++++++
>>>> meta/recipes-support/boost/boost-1.53.0.inc | 21 +++++++++++
>>>> meta/recipes-support/boost/boost.inc | 49 ++-------------------------
>>>> meta/recipes-support/boost/boost_1.53.0.bb | 6 +--
>>>> 4 files changed, 47 insertions(+), 50 deletions(-)
>>>> create mode 100644 meta/recipes-support/boost/bjam_1.53.0.bb
>>>> create mode 100644 meta/recipes-support/boost/boost-1.53.0.inc
>>>>
>>> This change seems to have caused a failure on my test build:
>> Sorry, I missed the no native case. I rename bjam to bjam-native and send a new patch. Bjam make no sense on the target as it is only used for compiling.
> And what if you need bjam to compile something on the target?
Then you need to add cross compile support to bjam which is outside of
the scope of this patch.
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] boost: Split out bjam build tool and add real native support
2013-03-12 11:58 ` Stefan Herbrechtsmeier
@ 2013-03-12 14:55 ` Stefan Herbrechtsmeier
0 siblings, 0 replies; 10+ messages in thread
From: Stefan Herbrechtsmeier @ 2013-03-12 14:55 UTC (permalink / raw)
To: openembedded-core
Am 12.03.2013 12:58, schrieb Stefan Herbrechtsmeier:
> Am 12.03.2013 11:48, schrieb Koen Kooi:
>> Op 12 mrt. 2013, om 11:19 heeft Stefan Herbrechtsmeier
>> <stefan@herbrechtsmeier.net> het volgende geschreven:
>>
>>> Am 12.03.2013 00:44, schrieb Saul Wold:
>>>> On 03/07/2013 08:37 AM, Stefan Herbrechtsmeier wrote:
>>>>> The current boost recipe only creates the bjam build tool during
>>>>> a native run and thereby is not usable for other native programs
>>>>> that depend on a boost library. Split out the build tool into its
>>>>> own bjam recipe and add real native support to the boost recipe.
>>>>> This allows recipes to depend on native boost libraries without
>>>>> increase of the build time for other use cases.
>>>>>
>>>>> Native compilation of bzip2 isn't working and therefore disabled.
>>>>>
>>>>> Signed-off-by: Stefan Herbrechtsmeier <stefan@herbrechtsmeier.net>
>>>>> ---
>>>>> meta/recipes-support/boost/bjam_1.53.0.bb | 21 +++++++++++
>>>>> meta/recipes-support/boost/boost-1.53.0.inc | 21 +++++++++++
>>>>> meta/recipes-support/boost/boost.inc | 49
>>>>> ++-------------------------
>>>>> meta/recipes-support/boost/boost_1.53.0.bb | 6 +--
>>>>> 4 files changed, 47 insertions(+), 50 deletions(-)
>>>>> create mode 100644 meta/recipes-support/boost/bjam_1.53.0.bb
>>>>> create mode 100644 meta/recipes-support/boost/boost-1.53.0.inc
>>>>>
>>>> This change seems to have caused a failure on my test build:
>>> Sorry, I missed the no native case. I rename bjam to bjam-native and
>>> send a new patch. Bjam make no sense on the target as it is only
>>> used for compiling.
>> And what if you need bjam to compile something on the target?
>
> Then you need to add cross compile support to bjam which is outside of
> the scope of this patch.
I have realised that boost always compile bjam during do_boostconfig. I
have rework the recipe to use this bjam version as this simplify the
recipe and the update path.
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH] boost: Add real native support
2013-03-07 16:37 [PATCH] boost: Split out bjam build tool and add real native support Stefan Herbrechtsmeier
2013-03-11 23:44 ` Saul Wold
@ 2013-03-12 14:49 ` Stefan Herbrechtsmeier
2013-03-26 5:55 ` Khem Raj
2013-03-26 13:02 ` [PATCH V2] " Stefan Herbrechtsmeier
2 siblings, 1 reply; 10+ messages in thread
From: Stefan Herbrechtsmeier @ 2013-03-12 14:49 UTC (permalink / raw)
To: openembedded-core
The current boost recipe only creates the bjam build tool during
a native run and thereby is not usable for other native recipes
that depend on a boost library. Use instead the bjam build tool
from the do_boostconfig task and add real native support to the
boost recipe. Additionally remove the boost-native from DEPENDS.
Keep the installation of the native bjam build tool for backward
compatibility.
Native compilation of bzip2 isn't working and therefore disabled.
Signed-off-by: Stefan Herbrechtsmeier <stefan@herbrechtsmeier.net>
---
meta/recipes-support/boost/boost.inc | 37 ++++++----------------------
meta/recipes-support/boost/boost_1.53.0.bb | 2 +
2 files changed, 10 insertions(+), 29 deletions(-)
diff --git a/meta/recipes-support/boost/boost.inc b/meta/recipes-support/boost/boost.inc
index 1266666..eaba3a2 100644
--- a/meta/recipes-support/boost/boost.inc
+++ b/meta/recipes-support/boost/boost.inc
@@ -6,8 +6,7 @@
DESCRIPTION = "Free peer-reviewed portable C++ source libraries"
HOMEPAGE = "http://www.boost.org/"
SECTION = "libs"
-DEPENDS = "boost-native zlib bzip2"
-DEPENDS_class-native = ""
+DEPENDS = "zlib bzip2"
LICENSE = "BSL-1.0 & MIT & Python-2.0"
ARM_INSTRUCTION_SET = "arm"
@@ -126,6 +125,8 @@ BJAM_OPTS = '${PARALLEL_MAKE} \
--disable-icu \
${BJAM_EXTRA}'
+# Native compilation of bzip2 isn't working
+BJAM_OPTS_append_class-native = ' -sNO_BZIP2=1'
do_boostconfig() {
cp -f boost/config/platform/linux.hpp boost/config/platform/linux-gnueabi.hpp
@@ -146,7 +147,7 @@ addtask do_boostconfig after do_patch before do_configure
do_compile() {
set -ex
- bjam ${BJAM_OPTS} --prefix=${prefix} \
+ ./bjam ${BJAM_OPTS} --prefix=${prefix} \
--exec-prefix=${exec_prefix} \
--libdir=${libdir} \
--includedir=${includedir}
@@ -154,7 +155,7 @@ do_compile() {
do_install() {
set -ex
- bjam ${BJAM_OPTS} \
+ ./bjam ${BJAM_OPTS} \
--libdir=${D}${libdir} \
--includedir=${D}${includedir} \
install
@@ -171,29 +172,7 @@ do_install() {
BBCLASSEXTEND = "native"
-do_configure_class-native() {
- :
+do_install_append_class-native() {
+ install -d ${D}${bindir}/
+ install -c -m 755 bjam ${D}${bindir}/
}
-
-do_boostconfig_class-native() {
- :
-}
-
-do_compile_class-native() {
- set -ex
- cd ${S}/tools/build/v2/engine
- 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_install_class-native () {
- set -ex
- cd ${S}/tools/build/v2/engine
- install -d ${D}${bindir}/
- install -c -m 755 bin.*/bjam ${D}${bindir}/
-}
-
-
diff --git a/meta/recipes-support/boost/boost_1.53.0.bb b/meta/recipes-support/boost/boost_1.53.0.bb
index de721c5..7527b25 100644
--- a/meta/recipes-support/boost/boost_1.53.0.bb
+++ b/meta/recipes-support/boost/boost_1.53.0.bb
@@ -2,6 +2,8 @@ include boost.inc
LIC_FILES_CHKSUM = "file://LICENSE_1_0.txt;md5=e4224ccaecb14d942c71d31bef20d78c"
+PR = "r1"
+
SRC_URI += "file://arm-intrinsics.patch \
"
--
1.7.0.4
^ permalink raw reply related [flat|nested] 10+ messages in thread* Re: [PATCH] boost: Add real native support
2013-03-12 14:49 ` [PATCH] boost: Add " Stefan Herbrechtsmeier
@ 2013-03-26 5:55 ` Khem Raj
2013-03-26 7:44 ` Stefan Herbrechtsmeier
0 siblings, 1 reply; 10+ messages in thread
From: Khem Raj @ 2013-03-26 5:55 UTC (permalink / raw)
To: Stefan Herbrechtsmeier; +Cc: openembedded-core
On Mar 12, 2013, at 7:49 AM, Stefan Herbrechtsmeier <stefan@herbrechtsmeier.net> wrote:
> The current boost recipe only creates the bjam build tool during
> a native run and thereby is not usable for other native recipes
> that depend on a boost library. Use instead the bjam build tool
> from the do_boostconfig task and add real native support to the
> boost recipe. Additionally remove the boost-native from DEPENDS.
>
> Keep the installation of the native bjam build tool for backward
> compatibility.
>
> Native compilation of bzip2 isn't working and therefore disabled.
>
would it be possible to have an independent bjam-native ?
I was wondering if there were other recipes needing bjam
could benefit. Now that bjam is removed from staging, this
could cause other recipes which could have been using
it unknowingly to fail. Although that in itself is a problem.
> Signed-off-by: Stefan Herbrechtsmeier <stefan@herbrechtsmeier.net>
> ---
> meta/recipes-support/boost/boost.inc | 37 ++++++----------------------
> meta/recipes-support/boost/boost_1.53.0.bb | 2 +
> 2 files changed, 10 insertions(+), 29 deletions(-)
>
> diff --git a/meta/recipes-support/boost/boost.inc b/meta/recipes-support/boost/boost.inc
> index 1266666..eaba3a2 100644
> --- a/meta/recipes-support/boost/boost.inc
> +++ b/meta/recipes-support/boost/boost.inc
> @@ -6,8 +6,7 @@
> DESCRIPTION = "Free peer-reviewed portable C++ source libraries"
> HOMEPAGE = "http://www.boost.org/"
> SECTION = "libs"
> -DEPENDS = "boost-native zlib bzip2"
> -DEPENDS_class-native = ""
> +DEPENDS = "zlib bzip2"
> LICENSE = "BSL-1.0 & MIT & Python-2.0"
>
> ARM_INSTRUCTION_SET = "arm"
> @@ -126,6 +125,8 @@ BJAM_OPTS = '${PARALLEL_MAKE} \
> --disable-icu \
> ${BJAM_EXTRA}'
>
> +# Native compilation of bzip2 isn't working
> +BJAM_OPTS_append_class-native = ' -sNO_BZIP2=1'
>
> do_boostconfig() {
> cp -f boost/config/platform/linux.hpp boost/config/platform/linux-gnueabi.hpp
> @@ -146,7 +147,7 @@ addtask do_boostconfig after do_patch before do_configure
>
> do_compile() {
> set -ex
> - bjam ${BJAM_OPTS} --prefix=${prefix} \
> + ./bjam ${BJAM_OPTS} --prefix=${prefix} \
> --exec-prefix=${exec_prefix} \
> --libdir=${libdir} \
> --includedir=${includedir}
> @@ -154,7 +155,7 @@ do_compile() {
>
> do_install() {
> set -ex
> - bjam ${BJAM_OPTS} \
> + ./bjam ${BJAM_OPTS} \
> --libdir=${D}${libdir} \
> --includedir=${D}${includedir} \
> install
> @@ -171,29 +172,7 @@ do_install() {
>
> BBCLASSEXTEND = "native"
>
> -do_configure_class-native() {
> - :
> +do_install_append_class-native() {
> + install -d ${D}${bindir}/
> + install -c -m 755 bjam ${D}${bindir}/
> }
> -
> -do_boostconfig_class-native() {
> - :
> -}
> -
> -do_compile_class-native() {
> - set -ex
> - cd ${S}/tools/build/v2/engine
> - 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_install_class-native () {
> - set -ex
> - cd ${S}/tools/build/v2/engine
> - install -d ${D}${bindir}/
> - install -c -m 755 bin.*/bjam ${D}${bindir}/
> -}
> -
> -
> diff --git a/meta/recipes-support/boost/boost_1.53.0.bb b/meta/recipes-support/boost/boost_1.53.0.bb
> index de721c5..7527b25 100644
> --- a/meta/recipes-support/boost/boost_1.53.0.bb
> +++ b/meta/recipes-support/boost/boost_1.53.0.bb
> @@ -2,6 +2,8 @@ include boost.inc
>
> LIC_FILES_CHKSUM = "file://LICENSE_1_0.txt;md5=e4224ccaecb14d942c71d31bef20d78c"
>
> +PR = "r1"
> +
> SRC_URI += "file://arm-intrinsics.patch \
> "
>
> --
> 1.7.0.4
>
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
^ permalink raw reply [flat|nested] 10+ messages in thread* Re: [PATCH] boost: Add real native support
2013-03-26 5:55 ` Khem Raj
@ 2013-03-26 7:44 ` Stefan Herbrechtsmeier
0 siblings, 0 replies; 10+ messages in thread
From: Stefan Herbrechtsmeier @ 2013-03-26 7:44 UTC (permalink / raw)
To: Khem Raj; +Cc: openembedded-core
Am 26.03.2013 06:55, schrieb Khem Raj:
> On Mar 12, 2013, at 7:49 AM, Stefan Herbrechtsmeier <stefan@herbrechtsmeier.net> wrote:
>
>> The current boost recipe only creates the bjam build tool during
>> a native run and thereby is not usable for other native recipes
>> that depend on a boost library. Use instead the bjam build tool
>> from the do_boostconfig task and add real native support to the
>> boost recipe. Additionally remove the boost-native from DEPENDS.
>>
>> Keep the installation of the native bjam build tool for backward
>> compatibility.
>>
>> Native compilation of bzip2 isn't working and therefore disabled.
>>
> would it be possible to have an independent bjam-native ?
Yes, I can add a bjam-native. But I will only add bjam-native as cross
compiling don't work out of the box.
> I was wondering if there were other recipes needing bjam
> could benefit. Now that bjam is removed from staging, this
> could cause other recipes which could have been using
> it unknowingly to fail. Although that in itself is a problem.
This patch installs bjam during native build and thereby keep the old
behaviour but I will update the patch and move bjam to its own native
recipe.
>
>> Signed-off-by: Stefan Herbrechtsmeier <stefan@herbrechtsmeier.net>
>> ---
>> meta/recipes-support/boost/boost.inc | 37 ++++++----------------------
>> meta/recipes-support/boost/boost_1.53.0.bb | 2 +
>> 2 files changed, 10 insertions(+), 29 deletions(-)
>>
>> diff --git a/meta/recipes-support/boost/boost.inc b/meta/recipes-support/boost/boost.inc
>> index 1266666..eaba3a2 100644
>> --- a/meta/recipes-support/boost/boost.inc
>> +++ b/meta/recipes-support/boost/boost.inc
>> @@ -6,8 +6,7 @@
>> DESCRIPTION = "Free peer-reviewed portable C++ source libraries"
>> HOMEPAGE = "http://www.boost.org/"
>> SECTION = "libs"
>> -DEPENDS = "boost-native zlib bzip2"
>> -DEPENDS_class-native = ""
>> +DEPENDS = "zlib bzip2"
>> LICENSE = "BSL-1.0 & MIT & Python-2.0"
>>
>> ARM_INSTRUCTION_SET = "arm"
>> @@ -126,6 +125,8 @@ BJAM_OPTS = '${PARALLEL_MAKE} \
>> --disable-icu \
>> ${BJAM_EXTRA}'
>>
>> +# Native compilation of bzip2 isn't working
>> +BJAM_OPTS_append_class-native = ' -sNO_BZIP2=1'
>>
>> do_boostconfig() {
>> cp -f boost/config/platform/linux.hpp boost/config/platform/linux-gnueabi.hpp
>> @@ -146,7 +147,7 @@ addtask do_boostconfig after do_patch before do_configure
>>
>> do_compile() {
>> set -ex
>> - bjam ${BJAM_OPTS} --prefix=${prefix} \
>> + ./bjam ${BJAM_OPTS} --prefix=${prefix} \
>> --exec-prefix=${exec_prefix} \
>> --libdir=${libdir} \
>> --includedir=${includedir}
>> @@ -154,7 +155,7 @@ do_compile() {
>>
>> do_install() {
>> set -ex
>> - bjam ${BJAM_OPTS} \
>> + ./bjam ${BJAM_OPTS} \
>> --libdir=${D}${libdir} \
>> --includedir=${D}${includedir} \
>> install
>> @@ -171,29 +172,7 @@ do_install() {
>>
>> BBCLASSEXTEND = "native"
>>
>> -do_configure_class-native() {
>> - :
>> +do_install_append_class-native() {
>> + install -d ${D}${bindir}/
>> + install -c -m 755 bjam ${D}${bindir}/
>> }
>> -
>> -do_boostconfig_class-native() {
>> - :
>> -}
>> -
>> -do_compile_class-native() {
>> - set -ex
>> - cd ${S}/tools/build/v2/engine
>> - 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_install_class-native () {
>> - set -ex
>> - cd ${S}/tools/build/v2/engine
>> - install -d ${D}${bindir}/
>> - install -c -m 755 bin.*/bjam ${D}${bindir}/
>> -}
>> -
>> -
>> diff --git a/meta/recipes-support/boost/boost_1.53.0.bb b/meta/recipes-support/boost/boost_1.53.0.bb
>> index de721c5..7527b25 100644
>> --- a/meta/recipes-support/boost/boost_1.53.0.bb
>> +++ b/meta/recipes-support/boost/boost_1.53.0.bb
>> @@ -2,6 +2,8 @@ include boost.inc
>>
>> LIC_FILES_CHKSUM = "file://LICENSE_1_0.txt;md5=e4224ccaecb14d942c71d31bef20d78c"
>>
>> +PR = "r1"
>> +
>> SRC_URI += "file://arm-intrinsics.patch \
>> "
>>
>> --
>> 1.7.0.4
>>
>>
>> _______________________________________________
>> Openembedded-core mailing list
>> Openembedded-core@lists.openembedded.org
>> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH V2] boost: Add real native support
2013-03-07 16:37 [PATCH] boost: Split out bjam build tool and add real native support Stefan Herbrechtsmeier
2013-03-11 23:44 ` Saul Wold
2013-03-12 14:49 ` [PATCH] boost: Add " Stefan Herbrechtsmeier
@ 2013-03-26 13:02 ` Stefan Herbrechtsmeier
2 siblings, 0 replies; 10+ messages in thread
From: Stefan Herbrechtsmeier @ 2013-03-26 13:02 UTC (permalink / raw)
To: openembedded-core
The current boost recipe only creates the bjam build tool during
a native run and thereby is not usable for other native recipes
that depend on a boost library. Split out the build tool into its
own bjam-native recipe and add real native support to the boost
recipe. Additionally replace the boost-native with bjam-native in
the DEPENDS. This allows recipes to depend on native boost
librarties without increase of the build time for other use cases.
Native compilation of bzip2 isn't working and therefore disabled.
Signed-off-by: Stefan Herbrechtsmeier <stefan@herbrechtsmeier.net>
---
meta/recipes-support/boost/bjam-native_1.53.0.bb | 15 +++++++
meta/recipes-support/boost/boost-1.53.0.inc | 19 ++++++++
meta/recipes-support/boost/boost.inc | 49 ++--------------------
meta/recipes-support/boost/boost_1.53.0.bb | 6 +--
4 files changed, 40 insertions(+), 49 deletions(-)
create mode 100644 meta/recipes-support/boost/bjam-native_1.53.0.bb
create mode 100644 meta/recipes-support/boost/boost-1.53.0.inc
diff --git a/meta/recipes-support/boost/bjam-native_1.53.0.bb b/meta/recipes-support/boost/bjam-native_1.53.0.bb
new file mode 100644
index 0000000..59a0310
--- /dev/null
+++ b/meta/recipes-support/boost/bjam-native_1.53.0.bb
@@ -0,0 +1,15 @@
+include boost-${PV}.inc
+
+DESCRIPTION = "Portable Boost.Jam build tool for boost"
+SECTION = "devel"
+
+inherit native
+
+do_compile() {
+ ./bootstrap.sh --with-toolset=gcc
+}
+
+do_install() {
+ install -d ${D}${bindir}/
+ install -c -m 755 bjam ${D}${bindir}/
+}
diff --git a/meta/recipes-support/boost/boost-1.53.0.inc b/meta/recipes-support/boost/boost-1.53.0.inc
new file mode 100644
index 0000000..dbcaabc
--- /dev/null
+++ b/meta/recipes-support/boost/boost-1.53.0.inc
@@ -0,0 +1,19 @@
+# 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.
+HOMEPAGE = "http://www.boost.org/"
+LICENSE = "BSL-1.0 & MIT & Python-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE_1_0.txt;md5=e4224ccaecb14d942c71d31bef20d78c"
+
+BOOST_VER = "${@"_".join(d.getVar("PV",1).split("."))}"
+BOOST_MAJ = "${@"_".join(d.getVar("PV",1).split(".")[0:2])}"
+BOOST_P = "boost_${BOOST_VER}"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BOOST_P}.tar.bz2"
+
+SRC_URI[md5sum] = "a00d22605d5dbcfb4c9936a9b35bc4c2"
+SRC_URI[sha256sum] = "f88a041b01882b0c9c5c05b39603ec8383fb881f772f6f9e6e6fd0e0cddb9196"
+
+S = "${WORKDIR}/${BOOST_P}"
diff --git a/meta/recipes-support/boost/boost.inc b/meta/recipes-support/boost/boost.inc
index 1266666..a1c35c7 100644
--- a/meta/recipes-support/boost/boost.inc
+++ b/meta/recipes-support/boost/boost.inc
@@ -1,25 +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-native zlib bzip2"
-DEPENDS_class-native = ""
-LICENSE = "BSL-1.0 & MIT & Python-2.0"
+DEPENDS = "bjam-native zlib bzip2"
ARM_INSTRUCTION_SET = "arm"
-BOOST_VER = "${@"_".join(d.getVar("PV",1).split("."))}"
-BOOST_MAJ = "${@"_".join(d.getVar("PV",1).split(".")[0:2])}"
-BOOST_P = "boost_${BOOST_VER}"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BOOST_P}.tar.bz2"
-
-S = "${WORKDIR}/${BOOST_P}"
-
BOOST_LIBS = "\
date_time \
filesystem \
@@ -126,6 +110,8 @@ BJAM_OPTS = '${PARALLEL_MAKE} \
--disable-icu \
${BJAM_EXTRA}'
+# Native compilation of bzip2 isn't working
+BJAM_OPTS_append_class-native = ' -sNO_BZIP2=1'
do_boostconfig() {
cp -f boost/config/platform/linux.hpp boost/config/platform/linux-gnueabi.hpp
@@ -138,7 +124,7 @@ do_boostconfig() {
echo "using python : ${PYTHON_VERSION} : : ${STAGING_INCDIR}/python${PYTHON_VERSION} ;" >> ${S}/tools/build/v2/user-config.jam
- CC="${BUILD_CC}" CFLAGS="${BUILD_CFLAGS}" ./bootstrap.sh --with-toolset=gcc --with-python-root=${PYTHON_ROOT}
+ CC="${BUILD_CC}" CFLAGS="${BUILD_CFLAGS}" ./bootstrap.sh --with-bjam=bjam --with-toolset=gcc --with-python-root=${PYTHON_ROOT}
sed -i '/^using python/d' project-config.jam
}
@@ -170,30 +156,3 @@ do_install() {
}
BBCLASSEXTEND = "native"
-
-do_configure_class-native() {
- :
-}
-
-do_boostconfig_class-native() {
- :
-}
-
-do_compile_class-native() {
- set -ex
- cd ${S}/tools/build/v2/engine
- 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_install_class-native () {
- set -ex
- cd ${S}/tools/build/v2/engine
- install -d ${D}${bindir}/
- install -c -m 755 bin.*/bjam ${D}${bindir}/
-}
-
-
diff --git a/meta/recipes-support/boost/boost_1.53.0.bb b/meta/recipes-support/boost/boost_1.53.0.bb
index de721c5..3a5a6cc 100644
--- a/meta/recipes-support/boost/boost_1.53.0.bb
+++ b/meta/recipes-support/boost/boost_1.53.0.bb
@@ -1,9 +1,7 @@
+include boost-${PV}.inc
include boost.inc
-LIC_FILES_CHKSUM = "file://LICENSE_1_0.txt;md5=e4224ccaecb14d942c71d31bef20d78c"
+PR = "r1"
SRC_URI += "file://arm-intrinsics.patch \
"
-
-SRC_URI[md5sum] = "a00d22605d5dbcfb4c9936a9b35bc4c2"
-SRC_URI[sha256sum] = "f88a041b01882b0c9c5c05b39603ec8383fb881f772f6f9e6e6fd0e0cddb9196"
--
1.7.0.4
^ permalink raw reply related [flat|nested] 10+ messages in thread
end of thread, other threads:[~2013-03-26 13:19 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-03-07 16:37 [PATCH] boost: Split out bjam build tool and add real native support Stefan Herbrechtsmeier
2013-03-11 23:44 ` Saul Wold
2013-03-12 10:19 ` Stefan Herbrechtsmeier
2013-03-12 10:48 ` Koen Kooi
2013-03-12 11:58 ` Stefan Herbrechtsmeier
2013-03-12 14:55 ` Stefan Herbrechtsmeier
2013-03-12 14:49 ` [PATCH] boost: Add " Stefan Herbrechtsmeier
2013-03-26 5:55 ` Khem Raj
2013-03-26 7:44 ` Stefan Herbrechtsmeier
2013-03-26 13:02 ` [PATCH V2] " Stefan Herbrechtsmeier
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox