From 359c31445a432693e913f1bac31f05df82b0ddbc Mon Sep 17 00:00:00 2001 From: owent Date: Wed, 9 Apr 2025 20:22:42 +0800 Subject: [PATCH 1/3] Fixes glibc++ 5 checking --- api/include/opentelemetry/config.h | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/api/include/opentelemetry/config.h b/api/include/opentelemetry/config.h index 21a2947e28..c41f2e7ef8 100644 --- a/api/include/opentelemetry/config.h +++ b/api/include/opentelemetry/config.h @@ -3,12 +3,9 @@ #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 +#if !defined(__GLIBCXX__) || (defined(_GLIBCXX_RELEASE) && _GLIBCXX_RELEASE >= 7) || \ + (defined(__GLIBCXX__) && __GLIBCXX__ >= 20150422) // >= libstdc++-5 # define OPENTELEMETRY_TRIVIALITY_TYPE_TRAITS #endif From 2e07c15ccb5f888fcdb42a1a60e22551e46c708c Mon Sep 17 00:00:00 2001 From: owent Date: Sun, 27 Apr 2025 17:29:17 +0800 Subject: [PATCH 2/3] Always checking `OPENTELEMETRY_TRIVIALITY_TYPE_TRAITS` when `OPENTELEMETRY_STL_VERSION` is defined --- api/include/opentelemetry/config.h | 11 ----------- api/include/opentelemetry/nostd/type_traits.h | 9 +++++++-- sdk/include/opentelemetry/sdk_config.h | 1 - 3 files changed, 7 insertions(+), 14 deletions(-) delete mode 100644 api/include/opentelemetry/config.h diff --git a/api/include/opentelemetry/config.h b/api/include/opentelemetry/config.h deleted file mode 100644 index c41f2e7ef8..0000000000 --- a/api/include/opentelemetry/config.h +++ /dev/null @@ -1,11 +0,0 @@ -// Copyright The OpenTelemetry Authors -// SPDX-License-Identifier: Apache-2.0 - -#pragma once - -#include // IWYU pragma: keep - -#if !defined(__GLIBCXX__) || (defined(_GLIBCXX_RELEASE) && _GLIBCXX_RELEASE >= 7) || \ - (defined(__GLIBCXX__) && __GLIBCXX__ >= 20150422) // >= libstdc++-5 -# define OPENTELEMETRY_TRIVIALITY_TYPE_TRAITS -#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" From c510a4ab5f38e2a35b0ceda337d9dc33f883d39b Mon Sep 17 00:00:00 2001 From: owent Date: Tue, 29 Apr 2025 11:02:20 +0800 Subject: [PATCH 3/3] Restore confg.h but left a warning --- api/include/opentelemetry/config.h | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 api/include/opentelemetry/config.h diff --git a/api/include/opentelemetry/config.h b/api/include/opentelemetry/config.h new file mode 100644 index 0000000000..cb52f3b5dc --- /dev/null +++ b/api/include/opentelemetry/config.h @@ -0,0 +1,19 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +#pragma once + +#include // IWYU pragma: keep + +#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