diff --git a/include/boost/system/config.hpp b/include/boost/system/config.hpp index 0b19da8..728bd81 100644 --- a/include/boost/system/config.hpp +++ b/include/boost/system/config.hpp @@ -28,6 +28,23 @@ // This header implements separate compilation features as described in // http://www.boost.org/more/separate_compilation.html +// normalize macros ------------------------------------------------------------------// + +#if !defined(BOOST_SYSTEM_DYN_LINK) && !defined(BOOST_SYSTEM_STATIC_LINK) \ + && !defined(BOOST_ALL_DYN_LINK) && !defined(BOOST_ALL_STATIC_LINK) +# error Must define BOOST_ALL_DYN_LINK, BOOST_ALL_DYN_LINK, BOOST_SYSTEM_DYN_LINK, or BOOST_SYSTEM_STATIC_LINK +#endif + +#if defined(BOOST_ALL_DYN_LINK) && !defined(BOOST_SYSTEM_DYN_LINK) +# define BOOST_SYSTEM_DYN_LINK +#elif defined(BOOST_ALL_STATIC_LINK) && !defined(BOOST_SYSTEM_STATIC_LINK) +# define BOOST_SYSTEM_STATIC_LINK +#endif + +#if defined(BOOST_SYSTEM_DYN_LINK) && defined(BOOST_SYSTEM_STATIC_LINK) +# error Must not define both BOOST_SYSTEM_DYN_LINK and BOOST_SYSTEM_STATIC_LINK +#endif + // enable dynamic or static linking as requested --------------------------------------// #if defined(BOOST_ALL_DYN_LINK) || defined(BOOST_SYSTEM_DYN_LINK) diff --git a/test/Jamfile.v2 b/test/Jamfile.v2 index 043a36f..1ab7442 100644 --- a/test/Jamfile.v2 +++ b/test/Jamfile.v2 @@ -16,6 +16,7 @@ project lib throw_test : throw_test.cpp : shared:BOOST_SYSTEM_DYN_LINK=1 + static:BOOST_SYSTEM_STATIC_LINK=1 ;