From: Benjamin Barenblat Subject: Set package configuration options Forwarded: not-needed Configure Abseil for Debian. - Set the SONAME appropriately. - To minimize the possibility of future ABI breakage, treat absl::any, absl::optional, absl::string_view, and absl::variant as their own types (rather than aliases for the std:: versions), and compile everything in an inline namespace. - Enable upstream's hardened build mode. - Disable Intel SSE2 on i386, since Debian supports some i386 processors without that extension. Keep it enabled on amd64, since all amd64 processors have it. - Disable Intel SSSE3 entirely, since no i386 processor supports it and Debian supports amd64 processors without it. --- a/CMake/AbseilHelpers.cmake +++ b/CMake/AbseilHelpers.cmake @@ -263,7 +263,8 @@ if(ABSL_ENABLE_INSTALL) set_target_properties(${_NAME} PROPERTIES OUTPUT_NAME "absl_${_NAME}" - SOVERSION "2103.0.0" + SOVERSION 20210324 + VERSION "20210324.0.0" ) endif() else() --- a/absl/base/options.h +++ b/absl/base/options.h @@ -100,7 +100,7 @@ // User code should not inspect this macro. To check in the preprocessor if // absl::any is a typedef of std::any, use the feature macro ABSL_USES_STD_ANY. -#define ABSL_OPTION_USE_STD_ANY 2 +#define ABSL_OPTION_USE_STD_ANY 0 // ABSL_OPTION_USE_STD_OPTIONAL @@ -127,7 +127,7 @@ // absl::optional is a typedef of std::optional, use the feature macro // ABSL_USES_STD_OPTIONAL. -#define ABSL_OPTION_USE_STD_OPTIONAL 2 +#define ABSL_OPTION_USE_STD_OPTIONAL 0 // ABSL_OPTION_USE_STD_STRING_VIEW @@ -154,7 +154,7 @@ // absl::string_view is a typedef of std::string_view, use the feature macro // ABSL_USES_STD_STRING_VIEW. -#define ABSL_OPTION_USE_STD_STRING_VIEW 2 +#define ABSL_OPTION_USE_STD_STRING_VIEW 0 // ABSL_OPTION_USE_STD_VARIANT // @@ -180,7 +180,7 @@ // absl::variant is a typedef of std::variant, use the feature macro // ABSL_USES_STD_VARIANT. -#define ABSL_OPTION_USE_STD_VARIANT 2 +#define ABSL_OPTION_USE_STD_VARIANT 0 // ABSL_OPTION_USE_INLINE_NAMESPACE @@ -206,7 +206,7 @@ // allowed. #define ABSL_OPTION_USE_INLINE_NAMESPACE 1 -#define ABSL_OPTION_INLINE_NAMESPACE_NAME lts_20210324 +#define ABSL_OPTION_INLINE_NAMESPACE_NAME debian2 // ABSL_OPTION_HARDENED // @@ -233,6 +233,6 @@ // checks enabled by this option may abort the program in a different way and // log additional information when `NDEBUG` is not defined. -#define ABSL_OPTION_HARDENED 0 +#define ABSL_OPTION_HARDENED 1 #endif // ABSL_BASE_OPTIONS_H_ --- a/absl/container/internal/have_sse.h +++ b/absl/container/internal/have_sse.h @@ -17,22 +17,14 @@ #define ABSL_CONTAINER_INTERNAL_HAVE_SSE_H_ #ifndef ABSL_INTERNAL_RAW_HASH_SET_HAVE_SSE2 -#if defined(__SSE2__) || \ - (defined(_MSC_VER) && \ - (defined(_M_X64) || (defined(_M_IX86) && _M_IX86_FP >= 2))) +#if defined(__x86_64__) || (defined(_MSC_VER) && defined(_M_X64)) #define ABSL_INTERNAL_RAW_HASH_SET_HAVE_SSE2 1 #else #define ABSL_INTERNAL_RAW_HASH_SET_HAVE_SSE2 0 #endif #endif -#ifndef ABSL_INTERNAL_RAW_HASH_SET_HAVE_SSSE3 -#ifdef __SSSE3__ -#define ABSL_INTERNAL_RAW_HASH_SET_HAVE_SSSE3 1 -#else #define ABSL_INTERNAL_RAW_HASH_SET_HAVE_SSSE3 0 -#endif -#endif #if ABSL_INTERNAL_RAW_HASH_SET_HAVE_SSSE3 && \ !ABSL_INTERNAL_RAW_HASH_SET_HAVE_SSE2