config.hpp 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. #ifndef BOOST_SERIALIZATION_CONFIG_HPP
  2. #define BOOST_SERIALIZATION_CONFIG_HPP
  3. // config.hpp ---------------------------------------------//
  4. // (c) Copyright Robert Ramey 2004
  5. // Use, modification, and distribution is subject to the Boost Software
  6. // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
  7. // http://www.boost.org/LICENSE_1_0.txt)
  8. // See library home page at http://www.boost.org/libs/serialization
  9. //----------------------------------------------------------------------------//
  10. // This header implements separate compilation features as described in
  11. // http://www.boost.org/more/separate_compilation.html
  12. #include <boost/config.hpp>
  13. #include <boost/detail/workaround.hpp>
  14. // note: this version incorporates the related code into the the
  15. // the same library as BOOST_ARCHIVE. This could change some day in the
  16. // future
  17. // if BOOST_SERIALIZATION_DECL is defined undefine it now:
  18. #ifdef BOOST_SERIALIZATION_DECL
  19. #undef BOOST_SERIALIZATION_DECL
  20. #endif
  21. // we need to import/export our code only if the user has specifically
  22. // asked for it by defining either BOOST_ALL_DYN_LINK if they want all boost
  23. // libraries to be dynamically linked, or BOOST_SERIALIZATION_DYN_LINK
  24. // if they want just this one to be dynamically liked:
  25. #if defined(BOOST_ALL_DYN_LINK) || defined(BOOST_SERIALIZATION_DYN_LINK)
  26. #if !defined(BOOST_DYN_LINK)
  27. #define BOOST_DYN_LINK
  28. #endif
  29. // export if this is our own source, otherwise import:
  30. #if defined(BOOST_SERIALIZATION_SOURCE)
  31. #define BOOST_SERIALIZATION_DECL BOOST_SYMBOL_EXPORT
  32. #else
  33. #define BOOST_SERIALIZATION_DECL BOOST_SYMBOL_IMPORT
  34. #endif // defined(BOOST_SERIALIZATION_SOURCE)
  35. #endif // defined(BOOST_ALL_DYN_LINK) || defined(BOOST_SERIALIZATION_DYN_LINK)
  36. // if BOOST_SERIALIZATION_DECL isn't defined yet define it now:
  37. #ifndef BOOST_SERIALIZATION_DECL
  38. #define BOOST_SERIALIZATION_DECL
  39. #endif
  40. // enable automatic library variant selection ------------------------------//
  41. #if !defined(BOOST_ALL_NO_LIB) && !defined(BOOST_SERIALIZATION_NO_LIB) \
  42. && !defined(BOOST_ARCHIVE_SOURCE) && !defined(BOOST_WARCHIVE_SOURCE) \
  43. && !defined(BOOST_SERIALIZATION_SOURCE)
  44. //
  45. // Set the name of our library, this will get undef'ed by auto_link.hpp
  46. // once it's done with it:
  47. //
  48. #define BOOST_LIB_NAME boost_serialization
  49. //
  50. // If we're importing code from a dll, then tell auto_link.hpp about it:
  51. //
  52. #if defined(BOOST_ALL_DYN_LINK) || defined(BOOST_SERIALIZATION_DYN_LINK)
  53. # define BOOST_DYN_LINK
  54. #endif
  55. //
  56. // And include the header that does the work:
  57. //
  58. #include <boost/config/auto_link.hpp>
  59. #endif
  60. #endif // BOOST_SERIALIZATION_CONFIG_HPP