diff --git a/api/include/opentelemetry/config.h b/api/include/opentelemetry/config.h index 21a2947e28..cb52f3b5dc 100644 --- a/api/include/opentelemetry/config.h +++ b/api/include/opentelemetry/config.h @@ -3,12 +3,17 @@ #pragma once -#ifndef __has_include -# define OPENTELEMETRY_HAS_INCLUDE(x) 0 -#else -# define OPENTELEMETRY_HAS_INCLUDE(x) __has_include(x) -#endif +#include // IWYU pragma: keep -#if !defined(__GLIBCXX__) || OPENTELEMETRY_HAS_INCLUDE() // >= libstdc++-5 -# define OPENTELEMETRY_TRIVIALITY_TYPE_TRAITS +#if defined(OPENTELEMETRY_ABI_VERSION_NO) && OPENTELEMETRY_ABI_VERSION_NO >= 2 +# error \ + "opentelemetry/config.h is removed in ABI version 2 and later. Please use opentelemetry/version.h instead." +#else +# if defined(__clang__) || defined(__GNUC__) +# pragma GCC warning \ + "opentelemetry/config.h is deprecated. Please use opentelemetry/version.h instead." +# elif defined(_MSC_VER) +# pragma message( \ + "[WARNING]: opentelemetry/config.h is deprecated. Please use opentelemetry/version.h instead.") +# endif #endif diff --git a/api/include/opentelemetry/nostd/type_traits.h b/api/include/opentelemetry/nostd/type_traits.h index 3a64b5db1a..a797c1ea07 100644 --- a/api/include/opentelemetry/nostd/type_traits.h +++ b/api/include/opentelemetry/nostd/type_traits.h @@ -10,15 +10,20 @@ # endif #endif +#include + #if !defined(OPENTELEMETRY_HAVE_STD_TYPE_TRAITS) # include -# include -# include "opentelemetry/config.h" # include "opentelemetry/nostd/detail/void.h" // IWYU pragma: export # include "opentelemetry/version.h" #endif +#if !defined(__GLIBCXX__) || (defined(_GLIBCXX_RELEASE) && _GLIBCXX_RELEASE >= 7) || \ + (defined(__GLIBCXX__) && __GLIBCXX__ >= 20150422) // >= libstdc++-5 +# define OPENTELEMETRY_TRIVIALITY_TYPE_TRAITS +#endif + OPENTELEMETRY_BEGIN_NAMESPACE namespace nostd { diff --git a/sdk/include/opentelemetry/sdk_config.h b/sdk/include/opentelemetry/sdk_config.h index 280ccaa993..afe78f1d80 100644 --- a/sdk/include/opentelemetry/sdk_config.h +++ b/sdk/include/opentelemetry/sdk_config.h @@ -3,5 +3,4 @@ #pragma once -#include "opentelemetry/config.h" #include "opentelemetry/sdk/common/global_log_handler.h"