Build/use Boost without ICU
How does one build (and use) Boost without ICU when ICU is installed (i.e., visible to b2)? I am am bootstrapping with: ...which shows: Seems reasonable so far. Building happens with: ...which shows: In spite of passing "--disable-icu -sboost.locale.icu=off" to b2, I still see Boost.Locale getting built with -DBOOST_LOCALE_WITH_ICU=1; e.g.: What's the correct way to do this? ----- Braden McDaniel braden@endoframe.com -- Sent from: http://boost.2283326.n4.nabble.com/Boost-Users-f2553780.html
On Mon, 2018-11-05 at 13:43 -0600, braden via Boost-users wrote:
[a message with a bunch of missing parts]
Well, it looked fine in the Nabble preview. Sigh. Let's try this
again...
How does one build (and use) Boost without ICU when ICU is installed
(i.e., visible to b2)?
I am am bootstrapping with:
$ ./bootstrap.sh --with-toolset=clang --without-icu
...which shows:
Building Boost.Build engine with toolset clang... tools/build/src/engine/bin.linuxx86_64/b2
Detecting Python version... 2.7
Detecting Python root... /usr
Unicode/ICU support for Boost.Regex?... disabled.
Generating Boost.Build configuration in project-config.jam...
Seems reasonable so far.
Building happens with:
./b2 toolset=clang --layout=tagged --disable-icu -sboost.locale.icu=off -sboost.locale.iconv=on -sNO_COMPRESSION=0 variant=debug link=static threading=multi "cxxflags=-O0 -g -std=c++17 -stdlib=libc++ -fPIC" --with-system --with-chrono --with-date_time --with-filesystem --with-iostreams --with-locale --with-program_options --with-regex --with-signals --with-thread --with-test --with-atomic --with-timer -d2 -q -j 8 stage
...which shows:
Performing configuration checks
- default address-model : 64-bit
- default architecture : x86
- symlinks supported : yes
- zlib : yes
- bzip2 : yes
- lzma : yes
- iconv (libc) : yes
- icu : yes
warning: non-free usage requirements <runtime-link>shared ignored
warning: in main-target build_options at libs/locale/build/Jamfile.v2:421
- lockfree boost::atomic_flag : no
warning: non-free usage requirements <runtime-link>shared ignored
warning: in main-target build_flags at libs/locale/build/Jamfile.v2:422
- has_icu builds : no
- BOOST_COMP_GNUC >= 4.3.0 : no
In spite of passing "--disable-icu -sboost.locale.icu=off" to b2, I
still see Boost.Locale getting built with -DBOOST_LOCALE_WITH_ICU=1; e.g.:
clang-linux.compile.c++.without-pth bin.v2/libs/locale/build/clang-linux-7.0.0/debug/link-static/threadapi-pthread/threading-multi/encoding/codepage.o
"clang++" -c -x c++ -m64 -pthread -O0 -fno-inline -Wall -g -O0 -g -std=c++17 -stdlib=libc++ -fPIC -DBOOST_ALL_NO_LIB=1 -DBOOST_ATOMIC_STATIC_LINK=1 -DBOOST_CHRONO_STATIC_LINK=1 -DBOOST_LOCALE_NO_WINAPI_BACKEND=1 -DBOOST_LOCALE_WITH_ICONV=1 -DBOOST_LOCALE_WITH_ICU=1 -DBOOST_SYSTEM_NO_DEPRECATED -DBOOST_SYSTEM_STATIC_LINK=1 -DBOOST_THREAD_BUILD_LIB=1 -DBOOST_THREAD_NO_LIB=1 -DBOOST_THREAD_POSIX -DBOOST_THREAD_USE_LIB=1 -I"." -o "bin.v2/libs/locale/build/clang-linux-7.0.0/debug/link-static/threadapi-pthread/threading-multi/encoding/codepage.o" "libs/locale/src/encoding/codepage.cpp"
What's the correct way to do this?
--
Braden McDaniel
AMDG On 11/06/2018 06:47 AM, Braden McDaniel via Boost-users wrote:
In spite of passing "--disable-icu -sboost.locale.icu=off" to b2,
Leave out the "-s". It's just "boost.locale.icu=off".
I still see Boost.Locale getting built with -DBOOST_LOCALE_WITH_ICU=1; e.g.:
In Christ, Steven Watanabe
On Tue, 2018-11-06 at 07:46 -0700, Steven Watanabe via Boost-users wrote:
AMDG
On 11/06/2018 06:47 AM, Braden McDaniel via Boost-users wrote:
In spite of passing "--disable-icu -sboost.locale.icu=off" to b2,
Leave out the "-s". It's just "boost.locale.icu=off".
Thank you. I've probably been doing that wrong to turn on iconv for a
very long time and didn't notice since it would Just Work if iconv were
found.
--
Braden McDaniel
participants (3)
-
braden
-
Braden McDaniel
-
Steven Watanabe