... to express their dependency on this library and retrieve any
configuration information such as the include directory, binary
to link to (if any), transitive dependencies, necessary compiler
options or the required c++ standards level.
The struct member function inside BOOST_MPL_ASSERT_MSG_IMPL was causing
multiple definitions of the same symbol when used inside e.g. template
functions.
An example of where this is a big issue is in the boost/geometry library
where you currently only can call each function once for each geometry
or you get hit by the multiple definitions linking error.
This fix* works around the issue by gracefully degrading to
BOOST_STATIC_ASSERT_MSG instead of failing during linking.
Add PGI C++ to list of compilers that use enums rather than static constants for compile-time assertions, because, like GCC, PGI issues warnings for unused static constants.
* Added default-value for cmdline-option which expects the Boost
source-directory. It points to the Boost source-directory in which the
script "boost_mpl_preprocess.py" is located.
* Adjusted "README.txt" file to reflect these changes.
Signed-off-by: Deniz Bahadir <dbahadir@benocs.com>
* Extended script "boost_mpl_preprocess.py" to automatically call script
"fix_boost_mpl_preprocess.py" prior to pre-processing and thereby
automatically fix issue #11224.
* Extended script "fix_boost_mpl_preprocess.py" to just allow checking
if the selected Boost source-directory requires fixing because of
issue #11224.
* Adjusted the "README.txt" accordingly.
Signed-off-by: Deniz Bahadir <dbahadir@benocs.com>
* Corrected a small error in a regex of "boost_mpl_preprocess.py" which
did match too much and therefore resulted in wrong substitution in
some cases.
* Added some more directories with files that need fixing to script
"fix_boost_mpl_preprocess.py".
Signed-off-by: Deniz Bahadir <dbahadir@benocs.com>
Python-script "fix_boost_mpl_preprocess.py" fixes the header-problems
described in issue #11224.
Python-script "boost_mpl_preprocess.py" simplifies the pre-processing of
MPL-containers.
Signed-off-by: Deniz Bahadir <dbahadir@benocs.com>