|
Boost Users : |
Subject: Re: [Boost-users] Build/use Boost without ICU
From: Braden McDaniel (braden_at_[hidden])
Date: 2018-11-06 13:47:11
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 <braden_at_[hidden]>
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net