diff --git a/include/msgpack/type.hpp b/include/msgpack/type.hpp index 2ef6aa9e4..24460347a 100644 --- a/include/msgpack/type.hpp +++ b/include/msgpack/type.hpp @@ -42,12 +42,13 @@ #include "adaptor/cpp11/unordered_map.hpp" #include "adaptor/cpp11/unordered_set.hpp" -#if __cplusplus >= 201703 - +#if MSGPACK_HAS_INCLUDE() #include "adaptor/cpp17/optional.hpp" -#include "adaptor/cpp17/string_view.hpp" +#endif // MSGPACK_HAS_INCLUDE() -#endif // __cplusplus >= 201703 +#if MSGPACK_HAS_INCLUDE() +#include "adaptor/cpp17/string_view.hpp" +#endif // MSGPACK_HAS_INCLUDE() #endif // defined(MSGPACK_USE_CPP03) diff --git a/include/msgpack/v1/cpp_config_decl.hpp b/include/msgpack/v1/cpp_config_decl.hpp index 43a486005..c9752f237 100644 --- a/include/msgpack/v1/cpp_config_decl.hpp +++ b/include/msgpack/v1/cpp_config_decl.hpp @@ -128,4 +128,10 @@ MSGPACK_API_VERSION_NAMESPACE(v1) { #endif // MSGPACK_USE_CPP03 +#if defined(__has_include) +#define MSGPACK_HAS_INCLUDE __has_include +#else // defined(__has_include) +#define MSGPACK_HAS_INCLUDE(header) 0 +#endif // defined(__has_include) + #endif // MSGPACK_V1_CPP_CONFIG_DECL_HPP