Set package configuration options
authorBenjamin Barenblat <bbaren@google.com>
Thu, 14 Apr 2022 17:20:16 +0000 (18:20 +0100)
committerBenjamin Barenblat <bbaren@debian.org>
Thu, 14 Apr 2022 17:20:16 +0000 (18:20 +0100)
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.

Gbp-Pq: Name configure.diff

CMake/AbseilHelpers.cmake
absl/base/options.h
absl/container/internal/have_sse.h

index 54fb8df3963d009cf72b48c82d9de90c745ee124..eb3eea2e00d92b75b0454ed969a526d2e5cdf010 100644 (file)
@@ -263,7 +263,8 @@ Cflags: -I\${includedir}${PC_CFLAGS}\n")
     if(ABSL_ENABLE_INSTALL)
       set_target_properties(${_NAME} PROPERTIES
         OUTPUT_NAME "absl_${_NAME}"
-        SOVERSION "2103.0.1"
+        SOVERSION 20210324
+        VERSION "20210324.0.0"
       )
     endif()
   else()
index eca879af00501e940017287568ff99068fd0daf8..6fa836f3cde47dad1c57c7aea901235e63901b86 100644 (file)
 // 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
 // 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
 // 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
 //
 // 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
 // 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
 //
 // 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_
index e75e1a16d327e8c223f739d2b7dc86860851bd8f..4c9a0bcd329a34c9185ae373eaacafec6cb5d4a4 100644 (file)
 #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