Boost logo

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