auto_link.hpp 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. // (C) Copyright 2008 CodeRage, LLC (turkanis at coderage dot com)
  2. // (C) Copyright 2003-2007 Jonathan Turkanis
  3. // Distributed under the Boost Software License, Version 1.0. (See accompanying
  4. // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt.)
  5. // See http://www.boost.org/libs/iostreams for documentation.
  6. // Adapted from <boost/config/auto_link.hpp> and from
  7. // http://www.boost.org/more/separate_compilation.html, by John Maddock.
  8. #ifndef BOOST_IOSTREAMS_DETAIL_AUTO_LINK_HPP_INCLUDED
  9. #define BOOST_IOSTREAMS_DETAIL_AUTO_LINK_HPP_INCLUDED
  10. #if defined(_MSC_VER)
  11. # pragma once
  12. #endif
  13. #if defined(BOOST_EXTERNAL_LIB_NAME)
  14. # if defined(BOOST_MSVC) \
  15. || defined(__BORLANDC__) && !defined(__clang__) \
  16. || (defined(__MWERKS__) && defined(_WIN32) && (__MWERKS__ >= 0x3000)) \
  17. || (defined(__ICL) && defined(_MSC_EXTENSIONS)) \
  18. /**/
  19. # pragma comment(lib, BOOST_EXTERNAL_LIB_NAME)
  20. # endif
  21. # undef BOOST_EXTERNAL_LIB_NAME
  22. #endif
  23. //------------------Enable automatic library variant selection----------------//
  24. #if !defined(BOOST_IOSTREAMS_SOURCE) && \
  25. !defined(BOOST_ALL_NO_LIB) && \
  26. !defined(BOOST_IOSTREAMS_NO_LIB) \
  27. /**/
  28. // Set the name of our library, this will get undef'ed by auto_link.hpp
  29. // once it's done with it.
  30. # define BOOST_LIB_NAME boost_iostreams
  31. // If we're importing code from a dll, then tell auto_link.hpp about it.
  32. # if defined(BOOST_ALL_DYN_LINK) || defined(BOOST_IOSTREAMS_DYN_LINK)
  33. # define BOOST_DYN_LINK
  34. # endif
  35. // And include the header that does the work.
  36. # include <boost/config/auto_link.hpp>
  37. #endif // auto-linking disabled
  38. #endif // #ifndef BOOST_IOSTREAMS_DETAIL_AUTO_LINK_HPP_INCLUDED