--- libs/serialization/src/basic_text_iprimitive.cpp.orig +++ libs/serialization/src/basic_text_iprimitive.cpp @@ -12,7 +12,9 @@ # pragma warning (disable : 4786) // too long name, harmless warning #endif +#pragma GCC visibility push(default) #include +#pragma GCC visibility pop #define BOOST_ARCHIVE_SOURCE #include @@ -23,7 +25,7 @@ namespace archive { // explicitly instantiate for this type of text stream -template class basic_text_iprimitive ; +template class BOOST_SYMBOL_VISIBLE basic_text_iprimitive ; } // namespace archive } // namespace boost --- libs/serialization/src/basic_text_oprimitive.cpp.orig +++ libs/serialization/src/basic_text_oprimitive.cpp @@ -12,7 +12,9 @@ # pragma warning (disable : 4786) // too long name, harmless warning #endif +#pragma GCC visibility push(default) #include +#pragma GCC visibility pop #define BOOST_ARCHIVE_SOURCE #include @@ -23,7 +25,7 @@ namespace archive { // explicitly instantiate for this type of text stream -template class basic_text_oprimitive ; +template class BOOST_SYMBOL_VISIBLE basic_text_oprimitive ; } // namespace archive } // namespace boost --- libs/serialization/src/basic_text_wiprimitive.cpp.orig +++ libs/serialization/src/basic_text_wiprimitive.cpp @@ -8,7 +8,9 @@ // See http://www.boost.org for updates, documentation, and revision history. +#pragma GCC visibility push(default) #include +#pragma GCC visibility pop #include @@ -28,7 +30,7 @@ namespace boost { namespace archive { -template class basic_text_iprimitive ; +template class BOOST_SYMBOL_VISIBLE basic_text_iprimitive ; } // namespace archive } // namespace boost --- libs/serialization/src/basic_text_woprimitive.cpp.orig +++ libs/serialization/src/basic_text_woprimitive.cpp @@ -8,7 +8,9 @@ // See http://www.boost.org for updates, documentation, and revision history. +#pragma GCC visibility push(default) #include +#pragma GCC visibility pop #include @@ -28,7 +30,7 @@ namespace boost { namespace archive { -template class basic_text_oprimitive ; +template class BOOST_SYMBOL_VISIBLE basic_text_oprimitive ; } // namespace archive } // namespace boost --- libs/serialization/src/basic_xml_grammar.ipp.orig +++ libs/serialization/src/basic_xml_grammar.ipp @@ -12,7 +12,9 @@ # pragma warning (disable : 4786) // too long name, harmless warning #endif +#pragma GCC visibility push(default) #include +#pragma GCC visibility pop #include #include // typename --- libs/serialization/src/binary_iarchive.cpp.orig +++ libs/serialization/src/binary_iarchive.cpp @@ -8,11 +8,15 @@ // See http://www.boost.org for updates, documentation, and revision history. +#pragma GCC visibility push(default) #include +#pragma GCC visibility pop #define BOOST_ARCHIVE_SOURCE #include +#pragma GCC visibility push(default) #include +#pragma GCC visibility pop #include #include @@ -23,14 +27,14 @@ namespace archive { // explicitly instantiate for this type of stream -template class detail::archive_serializer_map; -template class basic_binary_iprimitive< +template class BOOST_SYMBOL_VISIBLE detail::archive_serializer_map; +template class BOOST_SYMBOL_VISIBLE basic_binary_iprimitive< binary_iarchive, std::istream::char_type, std::istream::traits_type >; -template class basic_binary_iarchive ; -template class binary_iarchive_impl< +template class BOOST_SYMBOL_VISIBLE basic_binary_iarchive ; +template class BOOST_SYMBOL_VISIBLE binary_iarchive_impl< binary_iarchive, std::istream::char_type, std::istream::traits_type --- libs/serialization/src/binary_oarchive.cpp.orig +++ libs/serialization/src/binary_oarchive.cpp @@ -8,11 +8,15 @@ // See http://www.boost.org for updates, documentation, and revision history. +#pragma GCC visibility push(default) #include +#pragma GCC visibility pop #define BOOST_ARCHIVE_SOURCE #include +#pragma GCC visibility push(default) #include +#pragma GCC visibility pop #include // explicitly instantiate for this type of binary stream @@ -23,14 +27,14 @@ namespace boost { namespace archive { -template class detail::archive_serializer_map; -template class basic_binary_oprimitive< +template class BOOST_SYMBOL_VISIBLE detail::archive_serializer_map; +template class BOOST_SYMBOL_VISIBLE basic_binary_oprimitive< binary_oarchive, std::ostream::char_type, std::ostream::traits_type >; -template class basic_binary_oarchive ; -template class binary_oarchive_impl< +template class BOOST_SYMBOL_VISIBLE basic_binary_oarchive ; +template class BOOST_SYMBOL_VISIBLE binary_oarchive_impl< binary_oarchive, std::ostream::char_type, std::ostream::traits_type --- libs/serialization/src/binary_wiarchive.cpp.orig +++ libs/serialization/src/binary_wiarchive.cpp @@ -15,7 +15,9 @@ #else #define BOOST_WARCHIVE_SOURCE +#pragma GCC visibility push(default) #include +#pragma GCC visibility pop #include // explicitly instantiate for this type of text stream @@ -27,14 +29,14 @@ namespace archive { // explicitly instantiate for this type of text stream -template class detail::archive_serializer_map; -template class basic_binary_iprimitive< +template class BOOST_SYMBOL_VISIBLE detail::archive_serializer_map; +template class BOOST_SYMBOL_VISIBLE basic_binary_iprimitive< binary_wiarchive, wchar_t, std::char_traits >; -template class basic_binary_iarchive ; -template class binary_iarchive_impl< +template class BOOST_SYMBOL_VISIBLE basic_binary_iarchive ; +template class BOOST_SYMBOL_VISIBLE binary_iarchive_impl< binary_wiarchive, wchar_t, std::char_traits --- libs/serialization/src/binary_woarchive.cpp.orig +++ libs/serialization/src/binary_woarchive.cpp @@ -15,7 +15,9 @@ #else #define BOOST_WARCHIVE_SOURCE +#pragma GCC visibility push(default) #include +#pragma GCC visibility pop // explicitly instantiate for this type of text stream #include @@ -25,14 +27,14 @@ namespace boost { namespace archive { -template class detail::archive_serializer_map; -template class basic_binary_oprimitive< +template class BOOST_SYMBOL_VISIBLE detail::archive_serializer_map; +template class BOOST_SYMBOL_VISIBLE basic_binary_oprimitive< binary_woarchive, wchar_t, std::char_traits >; -template class basic_binary_oarchive ; -template class binary_oarchive_impl< +template class BOOST_SYMBOL_VISIBLE basic_binary_oarchive ; +template class BOOST_SYMBOL_VISIBLE binary_oarchive_impl< binary_woarchive, wchar_t, std::char_traits --- libs/serialization/src/polymorphic_iarchive.cpp.orig +++ libs/serialization/src/polymorphic_iarchive.cpp @@ -17,13 +17,15 @@ #include #include +#pragma GCC visibility push(default) #include +#pragma GCC visibility pop namespace boost { namespace archive { namespace detail { -template class archive_serializer_map; +template class BOOST_SYMBOL_VISIBLE archive_serializer_map; } // detail } // archive --- libs/serialization/src/polymorphic_oarchive.cpp.orig +++ libs/serialization/src/polymorphic_oarchive.cpp @@ -17,13 +17,15 @@ #include #include +#pragma GCC visibility push(default) #include +#pragma GCC visibility pop namespace boost { namespace archive { namespace detail { -template class archive_serializer_map; +template class BOOST_SYMBOL_VISIBLE archive_serializer_map; } // detail } // archive --- libs/serialization/src/text_iarchive.cpp.orig +++ libs/serialization/src/text_iarchive.cpp @@ -14,7 +14,9 @@ #define BOOST_ARCHIVE_SOURCE #include +#pragma GCC visibility push(default) #include +#pragma GCC visibility pop #include // explicitly instantiate for this type of text stream @@ -25,9 +27,9 @@ namespace boost { namespace archive { -template class detail::archive_serializer_map; -template class basic_text_iarchive ; -template class text_iarchive_impl ; +template class BOOST_SYMBOL_VISIBLE detail::archive_serializer_map; +template class BOOST_SYMBOL_VISIBLE basic_text_iarchive ; +template class BOOST_SYMBOL_VISIBLE text_iarchive_impl ; } // namespace archive } // namespace boost --- libs/serialization/src/text_oarchive.cpp.orig +++ libs/serialization/src/text_oarchive.cpp @@ -14,7 +14,9 @@ #define BOOST_ARCHIVE_SOURCE #include +#pragma GCC visibility push(default) #include +#pragma GCC visibility pop #include // explicitly instantiate for this type of text stream @@ -26,9 +28,9 @@ namespace archive { //template class basic_text_oprimitive ; -template class detail::archive_serializer_map; -template class basic_text_oarchive ; -template class text_oarchive_impl ; +template class BOOST_SYMBOL_VISIBLE detail::archive_serializer_map; +template class BOOST_SYMBOL_VISIBLE basic_text_oarchive ; +template class BOOST_SYMBOL_VISIBLE text_oarchive_impl ; } // namespace serialization } // namespace boost --- libs/serialization/src/text_wiarchive.cpp.orig +++ libs/serialization/src/text_wiarchive.cpp @@ -16,7 +16,9 @@ #define BOOST_WARCHIVE_SOURCE #include +#pragma GCC visibility push(default) #include +#pragma GCC visibility pop #include // explicitly instantiate for this type of text stream @@ -27,9 +29,9 @@ namespace boost { namespace archive { -template class detail::archive_serializer_map; -template class basic_text_iarchive ; -template class text_wiarchive_impl ; +template class BOOST_SYMBOL_VISIBLE detail::archive_serializer_map; +template class BOOST_SYMBOL_VISIBLE basic_text_iarchive ; +template class BOOST_SYMBOL_VISIBLE text_wiarchive_impl ; } // namespace archive } // namespace boost --- libs/serialization/src/text_woarchive.cpp.orig +++ libs/serialization/src/text_woarchive.cpp @@ -15,7 +15,9 @@ #define BOOST_WARCHIVE_SOURCE #include +#pragma GCC visibility push(default) #include +#pragma GCC visibility pop #include // explicitly instantiate for this type of text stream @@ -26,9 +28,9 @@ namespace boost { namespace archive { -template class detail::archive_serializer_map; -template class basic_text_oarchive ; -template class text_woarchive_impl ; +template class BOOST_SYMBOL_VISIBLE detail::archive_serializer_map; +template class BOOST_SYMBOL_VISIBLE basic_text_oarchive ; +template class BOOST_SYMBOL_VISIBLE text_woarchive_impl ; } // namespace archive } // namespace boost --- libs/serialization/src/xml_grammar.cpp.orig +++ libs/serialization/src/xml_grammar.cpp @@ -16,7 +16,9 @@ #define BOOST_ARCHIVE_SOURCE #include +#pragma GCC visibility push(default) #include +#pragma GCC visibility pop using namespace boost::spirit::classic; @@ -67,7 +69,7 @@ namespace archive { // explicit instantiation of xml for 8 bit characters -template class basic_xml_grammar; +template class BOOST_SYMBOL_VISIBLE basic_xml_grammar; } // namespace archive } // namespace boost --- libs/serialization/src/xml_iarchive.cpp.orig +++ libs/serialization/src/xml_iarchive.cpp @@ -14,7 +14,9 @@ #define BOOST_ARCHIVE_SOURCE #include +#pragma GCC visibility push(default) #include +#pragma GCC visibility pop #include // explicitly instantiate for this type of xml stream @@ -25,9 +27,9 @@ namespace boost { namespace archive { -template class detail::archive_serializer_map; -template class basic_xml_iarchive ; -template class xml_iarchive_impl ; +template class BOOST_SYMBOL_VISIBLE detail::archive_serializer_map; +template class BOOST_SYMBOL_VISIBLE basic_xml_iarchive ; +template class BOOST_SYMBOL_VISIBLE xml_iarchive_impl ; } // namespace archive } // namespace boost --- libs/serialization/src/xml_oarchive.cpp.orig +++ libs/serialization/src/xml_oarchive.cpp @@ -14,7 +14,9 @@ #define BOOST_ARCHIVE_SOURCE #include +#pragma GCC visibility push(default) #include +#pragma GCC visibility pop #include // explicitly instantiate for this type of xml stream @@ -25,9 +27,9 @@ namespace boost { namespace archive { -template class detail::archive_serializer_map; -template class basic_xml_oarchive ; -template class xml_oarchive_impl ; +template class BOOST_SYMBOL_VISIBLE detail::archive_serializer_map; +template class BOOST_SYMBOL_VISIBLE basic_xml_oarchive ; +template class BOOST_SYMBOL_VISIBLE xml_oarchive_impl ; } // namespace archive } // namespace boost --- libs/serialization/src/xml_wgrammar.cpp.orig +++ libs/serialization/src/xml_wgrammar.cpp @@ -16,7 +16,9 @@ #define BOOST_WARCHIVE_SOURCE #include +#pragma GCC visibility push(default) #include +#pragma GCC visibility pop using namespace boost::spirit::classic; @@ -149,7 +151,7 @@ namespace archive { // explicit instantiation of xml for wide characters -template class basic_xml_grammar; +template class BOOST_SYMBOL_VISIBLE basic_xml_grammar; } // namespace archive } // namespace boost --- libs/serialization/src/xml_wiarchive.cpp.orig +++ libs/serialization/src/xml_wiarchive.cpp @@ -19,7 +19,9 @@ #define BOOST_WARCHIVE_SOURCE #include +#pragma GCC visibility push(default) #include +#pragma GCC visibility pop #include // explicitly instantiate for this type of xml stream @@ -30,9 +32,9 @@ namespace boost { namespace archive { -template class detail::archive_serializer_map; -template class basic_xml_iarchive ; -template class xml_wiarchive_impl ; +template class BOOST_SYMBOL_VISIBLE detail::archive_serializer_map; +template class BOOST_SYMBOL_VISIBLE basic_xml_iarchive ; +template class BOOST_SYMBOL_VISIBLE xml_wiarchive_impl ; } // namespace archive } // namespace boost --- libs/serialization/src/xml_woarchive.cpp.orig +++ libs/serialization/src/xml_woarchive.cpp @@ -19,7 +19,9 @@ #define BOOST_WARCHIVE_SOURCE #include +#pragma GCC visibility push(default) #include +#pragma GCC visibility pop #include // explicitly instantiate for this type of text stream @@ -30,9 +32,9 @@ namespace boost { namespace archive { -template class detail::archive_serializer_map; -template class basic_xml_oarchive ; -template class xml_woarchive_impl ; +template class BOOST_SYMBOL_VISIBLE detail::archive_serializer_map; +template class BOOST_SYMBOL_VISIBLE basic_xml_oarchive ; +template class BOOST_SYMBOL_VISIBLE xml_woarchive_impl ; } // namespace archive } // namespace boost