[Buildroot] [PATCH] boost: disable locale and regex modules if static build and icu are enabled
Thomas Petazzoni
thomas.petazzoni at free-electrons.com
Thu May 11 19:38:30 UTC 2017
Hello,
On Wed, 10 May 2017 11:25:54 +0200, yegorslists at googlemail.com wrote:
> From: Yegor Yefremov <yegorslists at googlemail.com>
>
> 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.
> 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)
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)/usr
BOOST_DEPENDENCIES += icu
else
BOOST_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
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
More information about the buildroot
mailing list