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 <braden@endoframe.com>

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 <braden@endoframe.com>
participants (3)
-
braden
-
Braden McDaniel
-
Steven Watanabe