summaryrefslogtreecommitdiff
path: root/boost/test/detail/config.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'boost/test/detail/config.hpp')
-rw-r--r--boost/test/detail/config.hpp23
1 files changed, 20 insertions, 3 deletions
diff --git a/boost/test/detail/config.hpp b/boost/test/detail/config.hpp
index db9b5d2b92..bcdd857613 100644
--- a/boost/test/detail/config.hpp
+++ b/boost/test/detail/config.hpp
@@ -78,10 +78,27 @@ class type_info;
//____________________________________________________________________________//
+// Sun compiler does not support visibility on enums
+#if defined(__SUNPRO_CC)
+#define BOOST_TEST_ENUM_SYMBOL_VISIBLE
+#else
+#define BOOST_TEST_ENUM_SYMBOL_VISIBLE BOOST_SYMBOL_VISIBLE
+#endif
+
+//____________________________________________________________________________//
+
#if defined(BOOST_ALL_DYN_LINK) && !defined(BOOST_TEST_DYN_LINK)
# define BOOST_TEST_DYN_LINK
#endif
+// in case any of the define from cmake/b2 is set
+#if !defined(BOOST_TEST_DYN_LINK) \
+ && (defined(BOOST_UNIT_TEST_FRAMEWORK_DYN_LINK) \
+ || defined(BOOST_TEST_EXEC_MONITOR_DYN_LINK) \
+ || defined(BOOST_PRG_EXEC_MONITOR_DYN_LINK) )
+# define BOOST_TEST_DYN_LINK
+#endif
+
#if defined(BOOST_TEST_INCLUDED)
# undef BOOST_TEST_DYN_LINK
#endif
@@ -90,12 +107,12 @@ class type_info;
# define BOOST_TEST_ALTERNATIVE_INIT_API
# ifdef BOOST_TEST_SOURCE
-# define BOOST_TEST_DECL BOOST_SYMBOL_EXPORT
+# define BOOST_TEST_DECL BOOST_SYMBOL_EXPORT BOOST_SYMBOL_VISIBLE
# else
-# define BOOST_TEST_DECL BOOST_SYMBOL_IMPORT
+# define BOOST_TEST_DECL BOOST_SYMBOL_IMPORT BOOST_SYMBOL_VISIBLE
# endif // BOOST_TEST_SOURCE
#else
-# define BOOST_TEST_DECL
+# define BOOST_TEST_DECL BOOST_SYMBOL_VISIBLE
#endif
#if !defined(BOOST_TEST_MAIN) && defined(BOOST_AUTO_TEST_MAIN)