[regex] How to pass BOOST_REGEX_RECURSIVE to bjam build process (win32)

Hi, we used to compile boost regex in boost version 1.36 with the following command: bjam.exe -sHAVE_ICU=1 -sICU_PATH=../../../../icu -sBOOST_REGEX_RECURSIVE toolset=msvc-7.1 threading=multi python-debugging=on link=shared variant=debug --without-mpi libs\regex\build When switching to boost 1.38, we realized that BOOST_REGEX_RECURSIVE is not passed/picked up anymore when using the same command (apart compiler version to compile (verified with some added pragma messages): How should this be configured nowadays? Or did it never work that way but the default behaviour changed? Maybe the user-config.jam file should be used, but I didn't find an example of how to do this. Thanks a lot, Chris

Christian Hoffmann wrote:
Hi,
we used to compile boost regex in boost version 1.36 with the following command:
bjam.exe -sHAVE_ICU=1 -sICU_PATH=../../../../icu -sBOOST_REGEX_RECURSIVE
Is BOOST_REGEX_RECURSIVE supposed to be a preprocessor macros? Then, this syntax never worked.
toolset=msvc-7.1 threading=multi python-debugging=on link=shared variant=debug --without-mpi libs\regex\build
When switching to boost 1.38, we realized that BOOST_REGEX_RECURSIVE is not passed/picked up anymore when using the same command (apart compiler version to compile (verified with some added pragma messages):
How should this be configured nowadays?
See: http://www.boost.org/boost-build2/doc/html/bbv2/advanced/invocation.html for command line syntax description. If passing this on command line is not convenient, you can add this define to project requirements, see: http://www.boost.org/boost-build2/doc/html/bbv2/advanced/projects.html Not that user-config.jam is considered a special project, it can define requirements and all user project inherit these requirements. So, project user-config : <define>BOOST_REGEX_RECURSIVE=1 ; in user-config.jam will work. I do not know if such a board action is appropriate for you. - Volodya

we used to compile boost regex in boost version 1.36 with the following command:
bjam.exe -sHAVE_ICU=1 -sICU_PATH=../../../../icu -sBOOST_REGEX_RECURSIVE toolset=msvc-7.1 threading=multi python-debugging=on link=shared variant=debug --without-mpi libs\regex\build
When switching to boost 1.38, we realized that BOOST_REGEX_RECURSIVE is not passed/picked up anymore when using the same command (apart compiler version to compile (verified with some added pragma messages):
How should this be configured nowadays? Or did it never work that way but the default behaviour changed? Maybe the user-config.jam file should be used, but I didn't find an example of how to do this.
I'm not sure that ever worked, but in any case: bjam.exe -sICU_PATH=../../../../icu define=BOOST_REGEX_RECURSIVE=1 toolset=msvc-7.1 threading=multi python-debugging=on link=shared variant=debug --without-mpi libs\regex\build Will do what you want (mixing HAVE_ICU with ICU_PATH isn't such a good idea either BTW). Also BOOST_REGEX_RECURSIVE is the default mode for Boost.Regex under vc-7.1 anyway, although that changes for more recent VC++ versions. HTH, John.
participants (3)
-
Christian Hoffmann
-
John Maddock
-
Vladimir Prus