push_options.h 1.1 KB

1234567891011121314151617181920212223242526272829303132333435
  1. // Copyright Antony Polukhin, 2016-2024.
  2. //
  3. // Distributed under the Boost Software License, Version 1.0. (See
  4. // accompanying file LICENSE_1_0.txt or copy at
  5. // http://www.boost.org/LICENSE_1_0.txt)
  6. // No include guards! Intentionally.
  7. // Link or header only
  8. #if !defined(BOOST_STACKTRACE_LINK) && defined(BOOST_STACKTRACE_DYN_LINK)
  9. # define BOOST_STACKTRACE_LINK
  10. #endif
  11. #if !defined(BOOST_STACKTRACE_LINK) && defined(BOOST_STACKTRACE_STATIC_LINK)
  12. # define BOOST_STACKTRACE_LINK
  13. #endif
  14. #if defined(BOOST_STACKTRACE_LINK) && !defined(BOOST_STACKTRACE_DYN_LINK) && !defined(BOOST_STACKTRACE_STATIC_LINK) && defined(BOOST_ALL_DYN_LINK)
  15. # define BOOST_STACKTRACE_DYN_LINK
  16. #endif
  17. #ifdef BOOST_STACKTRACE_LINK
  18. # if defined(BOOST_STACKTRACE_DYN_LINK)
  19. # ifdef BOOST_STACKTRACE_INTERNAL_BUILD_LIBS
  20. # define BOOST_STACKTRACE_FUNCTION BOOST_SYMBOL_EXPORT
  21. # else
  22. # define BOOST_STACKTRACE_FUNCTION BOOST_SYMBOL_IMPORT
  23. # endif
  24. # else
  25. # define BOOST_STACKTRACE_FUNCTION
  26. # endif
  27. #elif !defined(BOOST_STACKTRACE_DOXYGEN_INVOKED)
  28. # define BOOST_STACKTRACE_FUNCTION inline
  29. #endif