boost: disable locale and regex modules if static build and icu are enabled
PATCH 1/1 boost: disable locale and regex modules if static build and icu are enabled
From: Yegor Yefremov <[email protected]>
Boost build system doesn't support ICU static only building [1], so so disable locale and regex modules for this case.
[1] http://boost.2283326.n4.nabble.com/bjam-Building-Regex-with-static-runtime-linking-td2588874.html
Fixes:
http://autobuild.buildroot.net/results/436/436f6173bb29a945abc75899a6b74e1266362fc9
--- package/boost/Config.in | 4 ++++ 1 file changed, 4 insertions(+)
package/boost/Config.in +4 -0
@@ -98,6 +98,8 @@ config BR2_PACKAGE_BOOST_IOSTREAMS config BR2_PACKAGE_BOOST_LOCALE bool "boost-locale" + # Boost build system doesn't support ICU static only building + depends on !(BR2_STATIC_LIBS && BR2_PACKAGE_ICU) select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE config BR2_PACKAGE_BOOST_LOG
@@ -134,6 +136,8 @@ config BR2_PACKAGE_BOOST_RANDOM config BR2_PACKAGE_BOOST_REGEX bool "boost-regex" + # Boost build system doesn't support ICU static only building + depends on !(BR2_STATIC_LIBS && BR2_PACKAGE_ICU) config BR2_PACKAGE_BOOST_SERIALIZATION bool "boost-serialization"
Signature · 1 line
2.1.4
PATCH 1/1 boost: disable locale and regex modules if static build and icu are enabled
Hello,
Quoted 6 lines · yegorslists at googlemail.com
From: Yegor Yefremov <[email protected]>
Boost build system doesn't support ICU static only building [1], so so disable locale and regex modules for this case.
[1] http://boost.2283326.n4.nabble.com/bjam-Building-Regex-with-static-runtime-linking-td2588874.html
This thread doesn't really say it doesn't support ICU static linking. I found https://svn.boost.org/trac/boost/ticket/9685 to be somewhat more informative.
package/boost/Config.in config BR2_PACKAGE_BOOST_RANDOM · line 140
Quoted 13 lines
config
BR2_PACKAGE_BOOST_LOCALEpackage/boost/Config.in +4
-0bool "boost-locale" + # Boost build system doesn't support ICU static only building + depends on !(BR2_STATIC_LIBS && BR2_PACKAGE_ICU) select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE config BR2_PACKAGE_BOOST_LOG@@ -134,6 +136,8 @@ config BR2_PACKAGE_BOOST_RANDOM config BR2_PACKAGE_BOOST_REGEX bool "boost-regex" + # Boost build system doesn't support ICU static only building + depends on !(BR2_STATIC_LIBS && BR2_PACKAGE_ICU)
Is this the right way? Wouldn't it be better to do:
ifeq ($(BR2_PACKAGE_ICU):$(BR2_STATIC_LIBS),y:)BOOST_FLAGS += --with-icu=$(STAGING_DIR)/usrBOOST_DEPENDENCIES += icu
elseBOOST_FLAGS += --without-icu
endif
My understanding is that it's not Boost::Locale and Boost::Regex that have a problem, but the fact of using ICU in a static linking situation. If that's the case, then I believe tweaking the .mk file to not use ICU in static linking scenarios is probably better.
What do you think? Could you test this?
Thanks a lot!
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux and Kernel engineering http://free-electrons.com