From 60f9b390d82b4f63abf71cd1b2f6212d1c077558 Mon Sep 17 00:00:00 2001
From: Jacob Wujciak-Jens <jacob@wujciak.de>
Date: Tue, 8 Aug 2023 18:37:12 +0200
Subject: [PATCH 1/8] update abseil-cpp version

---
 cpp/thirdparty/versions.txt | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/cpp/thirdparty/versions.txt b/cpp/thirdparty/versions.txt
index c05ff4228462..0f8a1669e137 100644
--- a/cpp/thirdparty/versions.txt
+++ b/cpp/thirdparty/versions.txt
@@ -23,8 +23,8 @@
 # `DEPENDENCIES` array (see the comment on top of the declaration for the
 # format).
 
-ARROW_ABSL_BUILD_VERSION=20211102.0
-ARROW_ABSL_BUILD_SHA256_CHECKSUM=dcf71b9cba8dc0ca9940c4b316a0c796be8fab42b070bb6b7cab62b48f0e66c4
+ARROW_ABSL_BUILD_VERSION=20220623.1
+ARROW_ABSL_BUILD_SHA256_CHECKSUM=91ac87d30cc6d79f9ab974c51874a704de9c2647c40f6932597329a282217ba8
 ARROW_AWS_C_AUTH_BUILD_VERSION=v0.6.22
 ARROW_AWS_C_AUTH_BUILD_SHA256_CHECKSUM=691a6b4418afcd3dc141351b6ad33fccd8e3ff84df0e9e045b42295d284ee14c
 ARROW_AWS_C_CAL_BUILD_VERSION=v0.5.20

From a4658dbb238332b612e9df81246596c143070800 Mon Sep 17 00:00:00 2001
From: Jacob Wujciak-Jens <jacob@wujciak.de>
Date: Wed, 9 Aug 2023 17:52:13 +0200
Subject: [PATCH 2/8] use next lts

---
 cpp/thirdparty/versions.txt | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/cpp/thirdparty/versions.txt b/cpp/thirdparty/versions.txt
index 0f8a1669e137..495ec4185cba 100644
--- a/cpp/thirdparty/versions.txt
+++ b/cpp/thirdparty/versions.txt
@@ -23,8 +23,8 @@
 # `DEPENDENCIES` array (see the comment on top of the declaration for the
 # format).
 
-ARROW_ABSL_BUILD_VERSION=20220623.1
-ARROW_ABSL_BUILD_SHA256_CHECKSUM=91ac87d30cc6d79f9ab974c51874a704de9c2647c40f6932597329a282217ba8
+ARROW_ABSL_BUILD_VERSION=20230125.3
+ARROW_ABSL_BUILD_SHA256_CHECKSUM=5366d7e7fa7ba0d915014d387b66d0d002c03236448e1ba9ef98122c13b35c36
 ARROW_AWS_C_AUTH_BUILD_VERSION=v0.6.22
 ARROW_AWS_C_AUTH_BUILD_SHA256_CHECKSUM=691a6b4418afcd3dc141351b6ad33fccd8e3ff84df0e9e045b42295d284ee14c
 ARROW_AWS_C_CAL_BUILD_VERSION=v0.5.20

From 62b2f6c95b2cdc476a02400c73d5f1f26415d9ce Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ra=C3=BAl=20Cumplido?= <raulcumplido@gmail.com>
Date: Thu, 27 Jul 2023 15:00:28 +0200
Subject: [PATCH 3/8]  Try adding crc32c from absl

---
 cpp/cmake_modules/ThirdpartyToolchain.cmake | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/cpp/cmake_modules/ThirdpartyToolchain.cmake b/cpp/cmake_modules/ThirdpartyToolchain.cmake
index 1e7840cf92e0..0eb089495981 100644
--- a/cpp/cmake_modules/ThirdpartyToolchain.cmake
+++ b/cpp/cmake_modules/ThirdpartyToolchain.cmake
@@ -2781,6 +2781,7 @@ macro(build_absl)
       cordz_handle
       cordz_info
       cordz_sample_token
+      crc32c
       debugging_internal
       demangle_internal
       examine_stack
@@ -2862,6 +2863,7 @@ macro(build_absl)
       cordz_update_tracker
       core_headers
       counting_allocator
+      crc32c
       debugging
       dynamic_annotations
       endian

From 8e8b881979f34f09037c076bf546f51fa654a4c5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ra=C3=BAl=20Cumplido?= <raulcumplido@gmail.com>
Date: Thu, 27 Jul 2023 15:10:16 +0200
Subject: [PATCH 4/8] Remove crc32c from interfaces

---
 cpp/cmake_modules/ThirdpartyToolchain.cmake | 1 -
 1 file changed, 1 deletion(-)

diff --git a/cpp/cmake_modules/ThirdpartyToolchain.cmake b/cpp/cmake_modules/ThirdpartyToolchain.cmake
index 0eb089495981..656156b0f4d2 100644
--- a/cpp/cmake_modules/ThirdpartyToolchain.cmake
+++ b/cpp/cmake_modules/ThirdpartyToolchain.cmake
@@ -2863,7 +2863,6 @@ macro(build_absl)
       cordz_update_tracker
       core_headers
       counting_allocator
-      crc32c
       debugging
       dynamic_annotations
       endian

From e1de598f52e6c993d08d2882c33c0e55849b497d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ra=C3=BAl=20Cumplido?= <raulcumplido@gmail.com>
Date: Thu, 27 Jul 2023 15:47:02 +0200
Subject: [PATCH 5/8] Properly fix absl targets with new version

---
 cpp/cmake_modules/ThirdpartyToolchain.cmake | 533 +++++++++++++++-----
 1 file changed, 412 insertions(+), 121 deletions(-)

diff --git a/cpp/cmake_modules/ThirdpartyToolchain.cmake b/cpp/cmake_modules/ThirdpartyToolchain.cmake
index 656156b0f4d2..10015979a268 100644
--- a/cpp/cmake_modules/ThirdpartyToolchain.cmake
+++ b/cpp/cmake_modules/ThirdpartyToolchain.cmake
@@ -2782,8 +2782,12 @@ macro(build_absl)
       cordz_info
       cordz_sample_token
       crc32c
+      crc_cord_state
+      crc_cpu_detect
+      crc_internal
       debugging_internal
       demangle_internal
+      die_if_null
       examine_stack
       exponential_biased
       failure_signal_handler
@@ -2804,8 +2808,20 @@ macro(build_absl)
       hashtablez_sampler
       int128
       leak_check
-      leak_check_disable
+      log_entry
+      log_flags
+      log_globals
+      log_initialize
+      log_internal_check_op
+      log_internal_conditions
+      log_internal_format
+      log_internal_globals
+      log_internal_log_sink_set
+      log_internal_message
+      log_internal_nullguard
+      log_internal_proto
       log_severity
+      log_sink
       low_level_hash
       malloc_internal
       periodic_sampler
@@ -2827,16 +2843,15 @@ macro(build_absl)
       stacktrace
       status
       statusor
-      str_format_internal
       strerror
+      str_format_internal
       strings
       strings_internal
       symbolize
       synchronization
       throw_delegate
       time
-      time_zone
-      wyhash)
+      time_zone)
   # Abseil creates a number of header-only targets, which are needed to resolve dependencies.
   # The list can be refreshed using:
   #   comm -13 <(ls -l $PREFIX/lib/libabsl_*.a | sed -e 's/.*libabsl_//' -e 's/.a$//' | sort -u) \
@@ -2845,14 +2860,17 @@ macro(build_absl)
       algorithm
       algorithm_container
       any
+      any_invocable
       atomic_hook
       bad_any_cast
       base_internal
       bind_front
       bits
       btree
+      check
       cleanup
       cleanup_internal
+      common_policy_traits
       compare
       compressed_tuple
       config
@@ -2877,24 +2895,40 @@ macro(build_absl)
       hash_policy_traits
       hashtable_debug
       hashtable_debug_hooks
-      have_sse
+      if_constexpr
       inlined_vector
       inlined_vector_internal
-      kernel_timeout_internal
       layout
+      log
+      log_internal_append_truncated
+      log_internal_check_impl
+      log_internal_config
+      log_internal_flags
+      log_internal_log_impl
+      log_internal_nullstream
+      log_internal_strip
+      log_internal_structured
+      log_internal_voidify
+      log_sink_registry
+      log_streamer
+      log_structured
       memory
       meta
       node_hash_map
-      node_hash_policy
       node_hash_set
+      node_slot_policy
+      non_temporal_arm_intrinsics
+      non_temporal_memcpy
+      nullability
       numeric
       numeric_representation
       optional
+      prefetch
       pretty_function
       random_bit_gen_ref
       random_internal_distribution_caller
-      random_internal_fast_uniform_bits
       random_internal_fastmath
+      random_internal_fast_uniform_bits
       random_internal_generate_real
       random_internal_iostream_state_saver
       random_internal_mock_helpers
@@ -2938,10 +2972,18 @@ macro(build_absl)
   #       -e 's/absl_/absl::/g' \
   #       -e 's/$/)/'  | \
   #   grep -v 'INTERFACE_LINK_LIBRARIES[ ]*)'
-  set_property(TARGET absl::algorithm PROPERTY INTERFACE_LINK_LIBRARIES absl::config)
+
   set_property(TARGET absl::algorithm_container
                PROPERTY INTERFACE_LINK_LIBRARIES absl::algorithm absl::core_headers
                         absl::meta)
+  set_property(TARGET absl::algorithm PROPERTY INTERFACE_LINK_LIBRARIES absl::config)
+  set_property(TARGET absl::any_invocable
+               PROPERTY INTERFACE_LINK_LIBRARIES
+                        absl::base_internal
+                        absl::config
+                        absl::core_headers
+                        absl::type_traits
+                        absl::utility)
   set_property(TARGET absl::any
                PROPERTY INTERFACE_LINK_LIBRARIES
                         absl::bad_any_cast
@@ -2952,14 +2994,16 @@ macro(build_absl)
                         absl::utility)
   set_property(TARGET absl::atomic_hook PROPERTY INTERFACE_LINK_LIBRARIES absl::config
                                                  absl::core_headers)
-  set_property(TARGET absl::bad_any_cast PROPERTY INTERFACE_LINK_LIBRARIES
-                                                  absl::bad_any_cast_impl absl::config)
   set_property(TARGET absl::bad_any_cast_impl
                PROPERTY INTERFACE_LINK_LIBRARIES absl::config absl::raw_logging_internal)
+  set_property(TARGET absl::bad_any_cast PROPERTY INTERFACE_LINK_LIBRARIES
+                                                  absl::bad_any_cast_impl absl::config)
   set_property(TARGET absl::bad_optional_access
                PROPERTY INTERFACE_LINK_LIBRARIES absl::config absl::raw_logging_internal)
   set_property(TARGET absl::bad_variant_access
                PROPERTY INTERFACE_LINK_LIBRARIES absl::config absl::raw_logging_internal)
+  set_property(TARGET absl::base_internal PROPERTY INTERFACE_LINK_LIBRARIES absl::config
+                                                   absl::type_traits)
   set_property(TARGET absl::base
                PROPERTY INTERFACE_LINK_LIBRARIES
                         absl::atomic_hook
@@ -2971,8 +3015,6 @@ macro(build_absl)
                         absl::raw_logging_internal
                         absl::spinlock_wait
                         absl::type_traits)
-  set_property(TARGET absl::base_internal PROPERTY INTERFACE_LINK_LIBRARIES absl::config
-                                                   absl::type_traits)
   set_property(TARGET absl::bind_front
                PROPERTY INTERFACE_LINK_LIBRARIES absl::base_internal
                         absl::compressed_tuple)
@@ -2980,6 +3022,7 @@ macro(build_absl)
   set_property(TARGET absl::btree
                PROPERTY INTERFACE_LINK_LIBRARIES
                         absl::container_common
+                        absl::common_policy_traits
                         absl::compare
                         absl::compressed_tuple
                         absl::container_memory
@@ -2987,18 +3030,29 @@ macro(build_absl)
                         absl::core_headers
                         absl::layout
                         absl::memory
+                        absl::raw_logging_internal
                         absl::strings
                         absl::throw_delegate
                         absl::type_traits
                         absl::utility)
+  set_property(TARGET absl::check
+               PROPERTY INTERFACE_LINK_LIBRARIES
+                        absl::log_internal_check_impl
+                        absl::core_headers
+                        absl::log_internal_check_op
+                        absl::log_internal_conditions
+                        absl::log_internal_message
+                        absl::log_internal_strip)
   set_property(TARGET absl::city PROPERTY INTERFACE_LINK_LIBRARIES absl::config
                                           absl::core_headers absl::endian)
-  set_property(TARGET absl::cleanup
-               PROPERTY INTERFACE_LINK_LIBRARIES absl::cleanup_internal absl::config
-                        absl::core_headers)
   set_property(TARGET absl::cleanup_internal
                PROPERTY INTERFACE_LINK_LIBRARIES absl::base_internal absl::core_headers
                         absl::utility)
+  set_property(TARGET absl::cleanup
+               PROPERTY INTERFACE_LINK_LIBRARIES absl::cleanup_internal absl::config
+                        absl::core_headers)
+  set_property(TARGET absl::common_policy_traits PROPERTY INTERFACE_LINK_LIBRARIES
+                                                          absl::meta)
   set_property(TARGET absl::compare PROPERTY INTERFACE_LINK_LIBRARIES absl::core_headers
                                              absl::type_traits)
   set_property(TARGET absl::compressed_tuple PROPERTY INTERFACE_LINK_LIBRARIES
@@ -3011,6 +3065,21 @@ macro(build_absl)
                         absl::memory
                         absl::type_traits
                         absl::utility)
+  set_property(TARGET absl::cord_internal
+               PROPERTY INTERFACE_LINK_LIBRARIES
+                        absl::base_internal
+                        absl::compressed_tuple
+                        absl::config
+                        absl::container_memory
+                        absl::core_headers
+                        absl::crc_cord_state
+                        absl::endian
+                        absl::inlined_vector
+                        absl::layout
+                        absl::raw_logging_internal
+                        absl::strings
+                        absl::throw_delegate
+                        absl::type_traits)
   set_property(TARGET absl::cord
                PROPERTY INTERFACE_LINK_LIBRARIES
                         absl::base
@@ -3021,27 +3090,16 @@ macro(build_absl)
                         absl::cordz_update_scope
                         absl::cordz_update_tracker
                         absl::core_headers
+                        absl::crc_cord_state
                         absl::endian
                         absl::fixed_array
                         absl::function_ref
                         absl::inlined_vector
                         absl::optional
                         absl::raw_logging_internal
+                        absl::span
                         absl::strings
                         absl::type_traits)
-  set_property(TARGET absl::cord_internal
-               PROPERTY INTERFACE_LINK_LIBRARIES
-                        absl::base_internal
-                        absl::compressed_tuple
-                        absl::config
-                        absl::core_headers
-                        absl::endian
-                        absl::inlined_vector
-                        absl::layout
-                        absl::raw_logging_internal
-                        absl::strings
-                        absl::throw_delegate
-                        absl::type_traits)
   set_property(TARGET absl::cordz_functions
                PROPERTY INTERFACE_LINK_LIBRARIES
                         absl::config
@@ -3068,7 +3126,8 @@ macro(build_absl)
                         absl::span
                         absl::raw_logging_internal
                         absl::stacktrace
-                        absl::synchronization)
+                        absl::synchronization
+                        absl::time)
   set_property(TARGET absl::cordz_sample_token
                PROPERTY INTERFACE_LINK_LIBRARIES absl::config absl::cordz_handle
                         absl::cordz_info)
@@ -3090,8 +3149,33 @@ macro(build_absl)
   set_property(TARGET absl::core_headers PROPERTY INTERFACE_LINK_LIBRARIES absl::config)
   set_property(TARGET absl::counting_allocator PROPERTY INTERFACE_LINK_LIBRARIES
                                                         absl::config)
-  set_property(TARGET absl::debugging PROPERTY INTERFACE_LINK_LIBRARIES absl::stacktrace
-                                               absl::leak_check)
+  set_property(TARGET absl::crc32c
+               PROPERTY INTERFACE_LINK_LIBRARIES
+                        absl::crc_cpu_detect
+                        absl::crc_internal
+                        absl::non_temporal_memcpy
+                        absl::config
+                        absl::core_headers
+                        absl::dynamic_annotations
+                        absl::endian
+                        absl::prefetch
+                        absl::strings)
+  set_property(TARGET absl::crc_cord_state PROPERTY INTERFACE_LINK_LIBRARIES absl::crc32c
+                                                    absl::config absl::strings)
+  set_property(TARGET absl::crc_cpu_detect PROPERTY INTERFACE_LINK_LIBRARIES absl::base
+                                                    absl::config)
+  set_property(TARGET absl::crc_internal
+               PROPERTY INTERFACE_LINK_LIBRARIES
+                        absl::crc_cpu_detect
+                        absl::base
+                        absl::config
+                        absl::core_headers
+                        absl::dynamic_annotations
+                        absl::endian
+                        absl::prefetch
+                        absl::raw_logging_internal
+                        absl::memory
+                        absl::bits)
   set_property(TARGET absl::debugging_internal
                PROPERTY INTERFACE_LINK_LIBRARIES
                         absl::core_headers
@@ -3099,8 +3183,16 @@ macro(build_absl)
                         absl::dynamic_annotations
                         absl::errno_saver
                         absl::raw_logging_internal)
+  set_property(TARGET absl::debugging PROPERTY INTERFACE_LINK_LIBRARIES absl::stacktrace
+                                               absl::leak_check)
   set_property(TARGET absl::demangle_internal PROPERTY INTERFACE_LINK_LIBRARIES
                                                        absl::base absl::core_headers)
+  set_property(TARGET absl::die_if_null
+               PROPERTY INTERFACE_LINK_LIBRARIES
+                        absl::config
+                        absl::core_headers
+                        absl::log
+                        absl::strings)
   set_property(TARGET absl::dynamic_annotations PROPERTY INTERFACE_LINK_LIBRARIES
                                                          absl::config)
   set_property(TARGET absl::endian PROPERTY INTERFACE_LINK_LIBRARIES absl::base
@@ -3122,7 +3214,6 @@ macro(build_absl)
                         absl::base
                         absl::config
                         absl::core_headers
-                        absl::errno_saver
                         absl::raw_logging_internal)
   set_property(TARGET absl::fast_type_id PROPERTY INTERFACE_LINK_LIBRARIES absl::config)
   set_property(TARGET absl::fixed_array
@@ -3134,16 +3225,9 @@ macro(build_absl)
                         absl::dynamic_annotations
                         absl::throw_delegate
                         absl::memory)
-  set_property(TARGET absl::flags
-               PROPERTY INTERFACE_LINK_LIBRARIES
-                        absl::config
-                        absl::flags_commandlineflag
-                        absl::flags_config
-                        absl::flags_internal
-                        absl::flags_reflection
-                        absl::base
-                        absl::core_headers
-                        absl::strings)
+  set_property(TARGET absl::flags_commandlineflag_internal
+               PROPERTY INTERFACE_LINK_LIBRARIES absl::config absl::dynamic_annotations
+                        absl::fast_type_id)
   set_property(TARGET absl::flags_commandlineflag
                PROPERTY INTERFACE_LINK_LIBRARIES
                         absl::config
@@ -3151,8 +3235,6 @@ macro(build_absl)
                         absl::flags_commandlineflag_internal
                         absl::optional
                         absl::strings)
-  set_property(TARGET absl::flags_commandlineflag_internal
-               PROPERTY INTERFACE_LINK_LIBRARIES absl::config absl::fast_type_id)
   set_property(TARGET absl::flags_config
                PROPERTY INTERFACE_LINK_LIBRARIES
                         absl::config
@@ -3177,10 +3259,13 @@ macro(build_absl)
                         absl::config
                         absl::core_headers
                         absl::log_severity
+                        absl::int128
+                        absl::optional
                         absl::strings
                         absl::str_format)
   set_property(TARGET absl::flags_parse
                PROPERTY INTERFACE_LINK_LIBRARIES
+                        absl::algorithm_container
                         absl::config
                         absl::core_headers
                         absl::flags_config
@@ -3196,6 +3281,16 @@ macro(build_absl)
                         absl::synchronization)
   set_property(TARGET absl::flags_path_util PROPERTY INTERFACE_LINK_LIBRARIES
                                                      absl::config absl::strings)
+  set_property(TARGET absl::flags
+               PROPERTY INTERFACE_LINK_LIBRARIES
+                        absl::config
+                        absl::flags_commandlineflag
+                        absl::flags_config
+                        absl::flags_internal
+                        absl::flags_reflection
+                        absl::base
+                        absl::core_headers
+                        absl::strings)
   set_property(TARGET absl::flags_private_handle_accessor
                PROPERTY INTERFACE_LINK_LIBRARIES
                         absl::config
@@ -3218,13 +3313,6 @@ macro(build_absl)
                         absl::strings
                         absl::synchronization
                         absl::flat_hash_map)
-  set_property(TARGET absl::flags_usage
-               PROPERTY INTERFACE_LINK_LIBRARIES
-                        absl::config
-                        absl::core_headers
-                        absl::flags_usage_internal
-                        absl::strings
-                        absl::synchronization)
   set_property(TARGET absl::flags_usage_internal
                PROPERTY INTERFACE_LINK_LIBRARIES
                         absl::config
@@ -3239,9 +3327,18 @@ macro(build_absl)
                         absl::flat_hash_map
                         absl::strings
                         absl::synchronization)
+  set_property(TARGET absl::flags_usage
+               PROPERTY INTERFACE_LINK_LIBRARIES
+                        absl::config
+                        absl::core_headers
+                        absl::flags_usage_internal
+                        absl::raw_logging_internal
+                        absl::strings
+                        absl::synchronization)
   set_property(TARGET absl::flat_hash_map
                PROPERTY INTERFACE_LINK_LIBRARIES
                         absl::container_memory
+                        absl::core_headers
                         absl::hash_function_defaults
                         absl::raw_hash_map
                         absl::algorithm_container
@@ -3255,7 +3352,10 @@ macro(build_absl)
                         absl::core_headers
                         absl::memory)
   set_property(TARGET absl::function_ref
-               PROPERTY INTERFACE_LINK_LIBRARIES absl::base_internal absl::core_headers
+               PROPERTY INTERFACE_LINK_LIBRARIES
+                        absl::base_internal
+                        absl::core_headers
+                        absl::any_invocable
                         absl::meta)
   set_property(TARGET absl::graphcycles_internal
                PROPERTY INTERFACE_LINK_LIBRARIES
@@ -3265,13 +3365,21 @@ macro(build_absl)
                         absl::core_headers
                         absl::malloc_internal
                         absl::raw_logging_internal)
+  set_property(TARGET absl::hash_function_defaults
+               PROPERTY INTERFACE_LINK_LIBRARIES
+                        absl::config
+                        absl::cord
+                        absl::hash
+                        absl::strings)
   set_property(TARGET absl::hash
                PROPERTY INTERFACE_LINK_LIBRARIES
+                        absl::bits
                         absl::city
                         absl::config
                         absl::core_headers
                         absl::endian
                         absl::fixed_array
+                        absl::function_ref
                         absl::meta
                         absl::int128
                         absl::strings
@@ -3279,44 +3387,39 @@ macro(build_absl)
                         absl::variant
                         absl::utility
                         absl::low_level_hash)
-  set_property(TARGET absl::hash_function_defaults
-               PROPERTY INTERFACE_LINK_LIBRARIES
-                        absl::config
-                        absl::cord
-                        absl::hash
-                        absl::strings)
-  set_property(TARGET absl::hash_policy_traits PROPERTY INTERFACE_LINK_LIBRARIES
-                                                        absl::meta)
-  set_property(TARGET absl::hashtable_debug PROPERTY INTERFACE_LINK_LIBRARIES
-                                                     absl::hashtable_debug_hooks)
+  set_property(TARGET absl::hash_policy_traits
+               PROPERTY INTERFACE_LINK_LIBRARIES absl::common_policy_traits absl::meta)
   set_property(TARGET absl::hashtable_debug_hooks PROPERTY INTERFACE_LINK_LIBRARIES
                                                            absl::config)
+  set_property(TARGET absl::hashtable_debug PROPERTY INTERFACE_LINK_LIBRARIES
+                                                     absl::hashtable_debug_hooks)
   set_property(TARGET absl::hashtablez_sampler
                PROPERTY INTERFACE_LINK_LIBRARIES
                         absl::base
+                        absl::config
                         absl::exponential_biased
-                        absl::have_sse
+                        absl::raw_logging_internal
                         absl::sample_recorder
-                        absl::synchronization)
+                        absl::synchronization
+                        absl::time)
+  set_property(TARGET absl::if_constexpr PROPERTY INTERFACE_LINK_LIBRARIES absl::config)
+  set_property(TARGET absl::inlined_vector_internal
+               PROPERTY INTERFACE_LINK_LIBRARIES
+                        absl::compressed_tuple
+                        absl::core_headers
+                        absl::memory
+                        absl::span
+                        absl::type_traits)
   set_property(TARGET absl::inlined_vector
                PROPERTY INTERFACE_LINK_LIBRARIES
                         absl::algorithm
                         absl::core_headers
                         absl::inlined_vector_internal
                         absl::throw_delegate
-                        absl::memory)
-  set_property(TARGET absl::inlined_vector_internal
-               PROPERTY INTERFACE_LINK_LIBRARIES
-                        absl::compressed_tuple
-                        absl::core_headers
                         absl::memory
-                        absl::span
                         absl::type_traits)
   set_property(TARGET absl::int128 PROPERTY INTERFACE_LINK_LIBRARIES absl::config
                                             absl::core_headers absl::bits)
-  set_property(TARGET absl::kernel_timeout_internal
-               PROPERTY INTERFACE_LINK_LIBRARIES absl::core_headers
-                        absl::raw_logging_internal absl::time)
   set_property(TARGET absl::layout
                PROPERTY INTERFACE_LINK_LIBRARIES
                         absl::config
@@ -3327,14 +3430,182 @@ macro(build_absl)
                         absl::utility)
   set_property(TARGET absl::leak_check PROPERTY INTERFACE_LINK_LIBRARIES absl::config
                                                 absl::core_headers)
+  set_property(TARGET absl::log_entry
+               PROPERTY INTERFACE_LINK_LIBRARIES
+                        absl::config
+                        absl::core_headers
+                        absl::log_internal_config
+                        absl::log_severity
+                        absl::span
+                        absl::strings
+                        absl::time)
+  set_property(TARGET absl::log_flags
+               PROPERTY INTERFACE_LINK_LIBRARIES
+                        absl::config
+                        absl::core_headers
+                        absl::log_globals
+                        absl::log_severity
+                        absl::log_internal_config
+                        absl::log_internal_flags
+                        absl::flags
+                        absl::flags_marshalling
+                        absl::strings)
+  set_property(TARGET absl::log_globals
+               PROPERTY INTERFACE_LINK_LIBRARIES
+                        absl::atomic_hook
+                        absl::config
+                        absl::core_headers
+                        absl::hash
+                        absl::log_severity
+                        absl::raw_logging_internal
+                        absl::strings)
+  set_property(TARGET absl::log_initialize
+               PROPERTY INTERFACE_LINK_LIBRARIES
+                        absl::config
+                        absl::log_globals
+                        absl::log_internal_globals
+                        absl::time)
+  set_property(TARGET absl::log_internal_append_truncated
+               PROPERTY INTERFACE_LINK_LIBRARIES absl::config absl::strings absl::span)
+  set_property(TARGET absl::log_internal_check_impl
+               PROPERTY INTERFACE_LINK_LIBRARIES
+                        absl::core_headers
+                        absl::log_internal_check_op
+                        absl::log_internal_conditions
+                        absl::log_internal_message
+                        absl::log_internal_strip)
+  set_property(TARGET absl::log_internal_check_op
+               PROPERTY INTERFACE_LINK_LIBRARIES
+                        absl::config
+                        absl::core_headers
+                        absl::log_internal_nullguard
+                        absl::log_internal_nullstream
+                        absl::log_internal_strip
+                        absl::strings)
+  set_property(TARGET absl::log_internal_conditions
+               PROPERTY INTERFACE_LINK_LIBRARIES
+                        absl::base
+                        absl::config
+                        absl::core_headers
+                        absl::log_internal_voidify)
+  set_property(TARGET absl::log_internal_config PROPERTY INTERFACE_LINK_LIBRARIES
+                                                         absl::config absl::core_headers)
+  set_property(TARGET absl::log_internal_flags PROPERTY INTERFACE_LINK_LIBRARIES
+                                                        absl::flags)
+  set_property(TARGET absl::log_internal_format
+               PROPERTY INTERFACE_LINK_LIBRARIES
+                        absl::config
+                        absl::core_headers
+                        absl::log_internal_append_truncated
+                        absl::log_internal_config
+                        absl::log_internal_globals
+                        absl::log_severity
+                        absl::strings
+                        absl::str_format
+                        absl::time
+                        absl::span)
+  set_property(TARGET absl::log_internal_globals
+               PROPERTY INTERFACE_LINK_LIBRARIES
+                        absl::config
+                        absl::core_headers
+                        absl::log_severity
+                        absl::raw_logging_internal
+                        absl::strings
+                        absl::time)
+  set_property(TARGET absl::log_internal_log_impl
+               PROPERTY INTERFACE_LINK_LIBRARIES absl::log_internal_conditions
+                        absl::log_internal_message absl::log_internal_strip)
+  set_property(TARGET absl::log_internal_log_sink_set
+               PROPERTY INTERFACE_LINK_LIBRARIES
+                        absl::base
+                        absl::cleanup
+                        absl::config
+                        absl::core_headers
+                        absl::log_internal_config
+                        absl::log_internal_globals
+                        absl::log_globals
+                        absl::log_entry
+                        absl::log_severity
+                        absl::log_sink
+                        absl::raw_logging_internal
+                        absl::synchronization
+                        absl::span
+                        absl::strings)
+  set_property(TARGET absl::log_internal_message
+               PROPERTY INTERFACE_LINK_LIBRARIES
+                        absl::base
+                        absl::config
+                        absl::core_headers
+                        absl::errno_saver
+                        absl::inlined_vector
+                        absl::examine_stack
+                        absl::log_internal_append_truncated
+                        absl::log_internal_format
+                        absl::log_internal_globals
+                        absl::log_internal_proto
+                        absl::log_internal_log_sink_set
+                        absl::log_internal_nullguard
+                        absl::log_globals
+                        absl::log_entry
+                        absl::log_severity
+                        absl::log_sink
+                        absl::log_sink_registry
+                        absl::memory
+                        absl::raw_logging_internal
+                        absl::strings
+                        absl::strerror
+                        absl::time
+                        absl::span)
+  set_property(TARGET absl::log_internal_nullguard
+               PROPERTY INTERFACE_LINK_LIBRARIES absl::config absl::core_headers)
+  set_property(TARGET absl::log_internal_nullstream
+               PROPERTY INTERFACE_LINK_LIBRARIES
+                        absl::config
+                        absl::core_headers
+                        absl::log_severity
+                        absl::strings)
+  set_property(TARGET absl::log_internal_proto
+               PROPERTY INTERFACE_LINK_LIBRARIES
+                        absl::base
+                        absl::config
+                        absl::core_headers
+                        absl::strings
+                        absl::span)
+  set_property(TARGET absl::log_internal_strip
+               PROPERTY INTERFACE_LINK_LIBRARIES absl::log_internal_message
+                        absl::log_internal_nullstream absl::log_severity)
+  set_property(TARGET absl::log_internal_structured
+               PROPERTY INTERFACE_LINK_LIBRARIES absl::config absl::log_internal_message
+                        absl::strings)
+  set_property(TARGET absl::log_internal_voidify PROPERTY INTERFACE_LINK_LIBRARIES
+                                                          absl::config)
+  set_property(TARGET absl::log PROPERTY INTERFACE_LINK_LIBRARIES
+                                         absl::log_internal_log_impl)
   set_property(TARGET absl::log_severity PROPERTY INTERFACE_LINK_LIBRARIES
                                                   absl::core_headers)
+  set_property(TARGET absl::log_sink PROPERTY INTERFACE_LINK_LIBRARIES absl::config
+                                              absl::log_entry)
+  set_property(TARGET absl::log_sink_registry
+               PROPERTY INTERFACE_LINK_LIBRARIES absl::config absl::log_sink
+                        absl::log_internal_log_sink_set)
+  set_property(TARGET absl::log_streamer
+               PROPERTY INTERFACE_LINK_LIBRARIES
+                        absl::config
+                        absl::absl::log
+                        absl::log_severity
+                        absl::optional
+                        absl::strings
+                        absl::strings_internal
+                        absl::utility)
+  set_property(TARGET absl::log_structured
+               PROPERTY INTERFACE_LINK_LIBRARIES absl::config
+                        absl::log_internal_structured absl::strings)
   set_property(TARGET absl::low_level_hash
                PROPERTY INTERFACE_LINK_LIBRARIES
-                        absl::bits
                         absl::config
                         absl::endian
-                        absl::int128)
+                        absl::int128
+                        absl::prefetch)
   set_property(TARGET absl::malloc_internal
                PROPERTY INTERFACE_LINK_LIBRARIES
                         absl::base
@@ -3349,20 +3620,29 @@ macro(build_absl)
   set_property(TARGET absl::node_hash_map
                PROPERTY INTERFACE_LINK_LIBRARIES
                         absl::container_memory
+                        absl::core_headers
                         absl::hash_function_defaults
-                        absl::node_hash_policy
+                        absl::node_slot_policy
                         absl::raw_hash_map
                         absl::algorithm_container
                         absl::memory)
-  set_property(TARGET absl::node_hash_policy PROPERTY INTERFACE_LINK_LIBRARIES
-                                                      absl::config)
   set_property(TARGET absl::node_hash_set
                PROPERTY INTERFACE_LINK_LIBRARIES
+                        absl::core_headers
                         absl::hash_function_defaults
-                        absl::node_hash_policy
+                        absl::node_slot_policy
                         absl::raw_hash_set
                         absl::algorithm_container
                         absl::memory)
+  set_property(TARGET absl::node_slot_policy PROPERTY INTERFACE_LINK_LIBRARIES
+                                                      absl::config)
+  set_property(TARGET absl::non_temporal_arm_intrinsics PROPERTY INTERFACE_LINK_LIBRARIES
+                                                                 absl::config)
+  set_property(TARGET absl::non_temporal_memcpy
+               PROPERTY INTERFACE_LINK_LIBRARIES absl::non_temporal_arm_intrinsics
+                        absl::config absl::core_headers)
+  set_property(TARGET absl::nullability PROPERTY INTERFACE_LINK_LIBRARIES
+                                                 absl::core_headers absl::type_traits)
   set_property(TARGET absl::numeric PROPERTY INTERFACE_LINK_LIBRARIES absl::int128)
   set_property(TARGET absl::numeric_representation PROPERTY INTERFACE_LINK_LIBRARIES
                                                             absl::config)
@@ -3378,6 +3658,8 @@ macro(build_absl)
   set_property(TARGET absl::periodic_sampler
                PROPERTY INTERFACE_LINK_LIBRARIES absl::core_headers
                         absl::exponential_biased)
+  set_property(TARGET absl::prefetch PROPERTY INTERFACE_LINK_LIBRARIES absl::config
+                                              absl::core_headers)
   set_property(TARGET absl::random_bit_gen_ref
                PROPERTY INTERFACE_LINK_LIBRARIES
                         absl::core_headers
@@ -3410,10 +3692,10 @@ macro(build_absl)
                         absl::strings
                         absl::str_format
                         absl::span)
-  set_property(TARGET absl::random_internal_fast_uniform_bits
-               PROPERTY INTERFACE_LINK_LIBRARIES absl::config)
   set_property(TARGET absl::random_internal_fastmath PROPERTY INTERFACE_LINK_LIBRARIES
                                                               absl::bits)
+  set_property(TARGET absl::random_internal_fast_uniform_bits
+               PROPERTY INTERFACE_LINK_LIBRARIES absl::config)
   set_property(TARGET absl::random_internal_generate_real
                PROPERTY INTERFACE_LINK_LIBRARIES
                         absl::bits
@@ -3427,7 +3709,7 @@ macro(build_absl)
   set_property(TARGET absl::random_internal_nonsecure_base
                PROPERTY INTERFACE_LINK_LIBRARIES
                         absl::core_headers
-                        absl::optional
+                        absl::inlined_vector
                         absl::random_internal_pool_urbg
                         absl::random_internal_salted_seed_seq
                         absl::random_internal_seed_material
@@ -3454,10 +3736,6 @@ macro(build_absl)
                         absl::random_seed_gen_exception
                         absl::raw_logging_internal
                         absl::span)
-  set_property(TARGET absl::random_internal_randen
-               PROPERTY INTERFACE_LINK_LIBRARIES absl::random_internal_platform
-                        absl::random_internal_randen_hwaes
-                        absl::random_internal_randen_slow)
   set_property(TARGET absl::random_internal_randen_engine
                PROPERTY INTERFACE_LINK_LIBRARIES
                         absl::endian
@@ -3465,12 +3743,16 @@ macro(build_absl)
                         absl::random_internal_randen
                         absl::raw_logging_internal
                         absl::type_traits)
+  set_property(TARGET absl::random_internal_randen_hwaes_impl
+               PROPERTY INTERFACE_LINK_LIBRARIES absl::random_internal_platform
+                        absl::config)
   set_property(TARGET absl::random_internal_randen_hwaes
                PROPERTY INTERFACE_LINK_LIBRARIES absl::random_internal_platform
                         absl::random_internal_randen_hwaes_impl absl::config)
-  set_property(TARGET absl::random_internal_randen_hwaes_impl
+  set_property(TARGET absl::random_internal_randen
                PROPERTY INTERFACE_LINK_LIBRARIES absl::random_internal_platform
-                        absl::config)
+                        absl::random_internal_randen_hwaes
+                        absl::random_internal_randen_slow)
   set_property(TARGET absl::random_internal_randen_slow
                PROPERTY INTERFACE_LINK_LIBRARIES absl::random_internal_platform
                         absl::config)
@@ -3508,8 +3790,8 @@ macro(build_absl)
                                                                absl::config)
   set_property(TARGET absl::random_seed_sequences
                PROPERTY INTERFACE_LINK_LIBRARIES
+                        absl::config
                         absl::inlined_vector
-                        absl::random_internal_nonsecure_base
                         absl::random_internal_pool_urbg
                         absl::random_internal_salted_seed_seq
                         absl::random_internal_seed_material
@@ -3526,20 +3808,24 @@ macro(build_absl)
                         absl::container_common
                         absl::container_memory
                         absl::core_headers
+                        absl::dynamic_annotations
                         absl::endian
+                        absl::hash
                         absl::hash_policy_traits
                         absl::hashtable_debug_hooks
-                        absl::have_sse
+                        absl::hashtablez_sampler
                         absl::memory
                         absl::meta
                         absl::optional
-                        absl::utility
-                        absl::hashtablez_sampler)
+                        absl::prefetch
+                        absl::raw_logging_internal
+                        absl::utility)
   set_property(TARGET absl::raw_logging_internal
                PROPERTY INTERFACE_LINK_LIBRARIES
                         absl::atomic_hook
                         absl::config
                         absl::core_headers
+                        absl::errno_saver
                         absl::log_severity)
   set_property(TARGET absl::sample_recorder PROPERTY INTERFACE_LINK_LIBRARIES absl::base
                                                      absl::synchronization)
@@ -3555,22 +3841,12 @@ macro(build_absl)
                PROPERTY INTERFACE_LINK_LIBRARIES absl::base_internal absl::core_headers
                         absl::errno_saver)
   set_property(TARGET absl::stacktrace
-               PROPERTY INTERFACE_LINK_LIBRARIES absl::debugging_internal absl::config
-                        absl::core_headers)
-  set_property(TARGET absl::status
                PROPERTY INTERFACE_LINK_LIBRARIES
-                        absl::atomic_hook
+                        absl::debugging_internal
                         absl::config
                         absl::core_headers
-                        absl::function_ref
-                        absl::raw_logging_internal
-                        absl::inlined_vector
-                        absl::stacktrace
-                        absl::symbolize
-                        absl::strings
-                        absl::cord
-                        absl::str_format
-                        absl::optional)
+                        absl::dynamic_annotations
+                        absl::raw_logging_internal)
   set_property(TARGET absl::statusor
                PROPERTY INTERFACE_LINK_LIBRARIES
                         absl::base
@@ -3581,20 +3857,44 @@ macro(build_absl)
                         absl::strings
                         absl::utility
                         absl::variant)
-  set_property(TARGET absl::str_format PROPERTY INTERFACE_LINK_LIBRARIES
-                                                absl::str_format_internal)
+  set_property(TARGET absl::status
+               PROPERTY INTERFACE_LINK_LIBRARIES
+                        absl::atomic_hook
+                        absl::config
+                        absl::cord
+                        absl::core_headers
+                        absl::function_ref
+                        absl::inlined_vector
+                        absl::optional
+                        absl::raw_logging_internal
+                        absl::stacktrace
+                        absl::str_format
+                        absl::strerror
+                        absl::strings
+                        absl::symbolize)
+  set_property(TARGET absl::strerror PROPERTY INTERFACE_LINK_LIBRARIES absl::config
+                                              absl::core_headers absl::errno_saver)
   set_property(TARGET absl::str_format_internal
                PROPERTY INTERFACE_LINK_LIBRARIES
                         absl::bits
                         absl::strings
                         absl::config
                         absl::core_headers
+                        absl::inlined_vector
                         absl::numeric_representation
                         absl::type_traits
+                        absl::utility
                         absl::int128
                         absl::span)
-  set_property(TARGET absl::strerror PROPERTY INTERFACE_LINK_LIBRARIES absl::config
-                                              absl::core_headers absl::errno_saver)
+  set_property(TARGET absl::str_format PROPERTY INTERFACE_LINK_LIBRARIES
+                                                absl::str_format_internal)
+  set_property(TARGET absl::strings_internal
+               PROPERTY INTERFACE_LINK_LIBRARIES
+                        absl::config
+                        absl::core_headers
+                        absl::endian
+                        absl::raw_logging_internal
+                        absl::type_traits)
   set_property(TARGET absl::strings
                PROPERTY INTERFACE_LINK_LIBRARIES
                         absl::strings_internal
@@ -3608,13 +3908,6 @@ macro(build_absl)
                         absl::raw_logging_internal
                         absl::throw_delegate
                         absl::type_traits)
-  set_property(TARGET absl::strings_internal
-               PROPERTY INTERFACE_LINK_LIBRARIES
-                        absl::config
-                        absl::core_headers
-                        absl::endian
-                        absl::raw_logging_internal
-                        absl::type_traits)
   set_property(TARGET absl::symbolize
                PROPERTY INTERFACE_LINK_LIBRARIES
                         absl::debugging_internal
@@ -3629,7 +3922,6 @@ macro(build_absl)
   set_property(TARGET absl::synchronization
                PROPERTY INTERFACE_LINK_LIBRARIES
                         absl::graphcycles_internal
-                        absl::kernel_timeout_internal
                         absl::atomic_hook
                         absl::base
                         absl::base_internal
@@ -3652,7 +3944,8 @@ macro(build_absl)
                         absl::raw_logging_internal
                         absl::strings
                         absl::time_zone)
-  set_property(TARGET absl::type_traits PROPERTY INTERFACE_LINK_LIBRARIES absl::config)
+  set_property(TARGET absl::type_traits PROPERTY INTERFACE_LINK_LIBRARIES absl::config
+                                                 absl::core_headers)
   set_property(TARGET absl::utility PROPERTY INTERFACE_LINK_LIBRARIES absl::base_internal
                                              absl::config absl::type_traits)
   set_property(TARGET absl::variant
@@ -3663,8 +3956,6 @@ macro(build_absl)
                         absl::core_headers
                         absl::type_traits
                         absl::utility)
-  set_property(TARGET absl::wyhash PROPERTY INTERFACE_LINK_LIBRARIES absl::config
-                                            absl::endian absl::int128)
 
   if(APPLE)
     # This is due to upstream absl::cctz issue

From 86df76a66c23b13d4747aa3dfaa0051140c468ab Mon Sep 17 00:00:00 2001
From: Jacob Wujciak-Jens <jacob@wujciak.de>
Date: Fri, 11 Aug 2023 01:48:10 +0200
Subject: [PATCH 6/8] update interface target deps tree

---
 cpp/cmake_modules/ThirdpartyToolchain.cmake | 277 ++------------------
 1 file changed, 18 insertions(+), 259 deletions(-)

diff --git a/cpp/cmake_modules/ThirdpartyToolchain.cmake b/cpp/cmake_modules/ThirdpartyToolchain.cmake
index 10015979a268..b003cb221b02 100644
--- a/cpp/cmake_modules/ThirdpartyToolchain.cmake
+++ b/cpp/cmake_modules/ThirdpartyToolchain.cmake
@@ -3022,7 +3022,6 @@ macro(build_absl)
   set_property(TARGET absl::btree
                PROPERTY INTERFACE_LINK_LIBRARIES
                         absl::container_common
-                        absl::common_policy_traits
                         absl::compare
                         absl::compressed_tuple
                         absl::container_memory
@@ -3035,14 +3034,6 @@ macro(build_absl)
                         absl::throw_delegate
                         absl::type_traits
                         absl::utility)
-  set_property(TARGET absl::check
-               PROPERTY INTERFACE_LINK_LIBRARIES
-                        absl::log_internal_check_impl
-                        absl::core_headers
-                        absl::log_internal_check_op
-                        absl::log_internal_conditions
-                        absl::log_internal_message
-                        absl::log_internal_strip)
   set_property(TARGET absl::city PROPERTY INTERFACE_LINK_LIBRARIES absl::config
                                           absl::core_headers absl::endian)
   set_property(TARGET absl::cleanup_internal
@@ -3051,8 +3042,6 @@ macro(build_absl)
   set_property(TARGET absl::cleanup
                PROPERTY INTERFACE_LINK_LIBRARIES absl::cleanup_internal absl::config
                         absl::core_headers)
-  set_property(TARGET absl::common_policy_traits PROPERTY INTERFACE_LINK_LIBRARIES
-                                                          absl::meta)
   set_property(TARGET absl::compare PROPERTY INTERFACE_LINK_LIBRARIES absl::core_headers
                                              absl::type_traits)
   set_property(TARGET absl::compressed_tuple PROPERTY INTERFACE_LINK_LIBRARIES
@@ -3070,9 +3059,7 @@ macro(build_absl)
                         absl::base_internal
                         absl::compressed_tuple
                         absl::config
-                        absl::container_memory
                         absl::core_headers
-                        absl::crc_cord_state
                         absl::endian
                         absl::inlined_vector
                         absl::layout
@@ -3090,7 +3077,6 @@ macro(build_absl)
                         absl::cordz_update_scope
                         absl::cordz_update_tracker
                         absl::core_headers
-                        absl::crc_cord_state
                         absl::endian
                         absl::fixed_array
                         absl::function_ref
@@ -3126,8 +3112,7 @@ macro(build_absl)
                         absl::span
                         absl::raw_logging_internal
                         absl::stacktrace
-                        absl::synchronization
-                        absl::time)
+                        absl::synchronization)
   set_property(TARGET absl::cordz_sample_token
                PROPERTY INTERFACE_LINK_LIBRARIES absl::config absl::cordz_handle
                         absl::cordz_info)
@@ -3149,33 +3134,6 @@ macro(build_absl)
   set_property(TARGET absl::core_headers PROPERTY INTERFACE_LINK_LIBRARIES absl::config)
   set_property(TARGET absl::counting_allocator PROPERTY INTERFACE_LINK_LIBRARIES
                                                         absl::config)
-  set_property(TARGET absl::crc32c
-               PROPERTY INTERFACE_LINK_LIBRARIES
-                        absl::crc_cpu_detect
-                        absl::crc_internal
-                        absl::non_temporal_memcpy
-                        absl::config
-                        absl::core_headers
-                        absl::dynamic_annotations
-                        absl::endian
-                        absl::prefetch
-                        absl::strings)
-  set_property(TARGET absl::crc_cord_state PROPERTY INTERFACE_LINK_LIBRARIES absl::crc32c
-                                                    absl::config absl::strings)
-  set_property(TARGET absl::crc_cpu_detect PROPERTY INTERFACE_LINK_LIBRARIES absl::base
-                                                    absl::config)
-  set_property(TARGET absl::crc_internal
-               PROPERTY INTERFACE_LINK_LIBRARIES
-                        absl::crc_cpu_detect
-                        absl::base
-                        absl::config
-                        absl::core_headers
-                        absl::dynamic_annotations
-                        absl::endian
-                        absl::prefetch
-                        absl::raw_logging_internal
-                        absl::memory
-                        absl::bits)
   set_property(TARGET absl::debugging_internal
                PROPERTY INTERFACE_LINK_LIBRARIES
                         absl::core_headers
@@ -3187,12 +3145,6 @@ macro(build_absl)
                                                absl::leak_check)
   set_property(TARGET absl::demangle_internal PROPERTY INTERFACE_LINK_LIBRARIES
                                                        absl::base absl::core_headers)
-  set_property(TARGET absl::die_if_null
-               PROPERTY INTERFACE_LINK_LIBRARIES
-                        absl::config
-                        absl::core_headers
-                        absl::log
-                        absl::strings)
   set_property(TARGET absl::dynamic_annotations PROPERTY INTERFACE_LINK_LIBRARIES
                                                          absl::config)
   set_property(TARGET absl::endian PROPERTY INTERFACE_LINK_LIBRARIES absl::base
@@ -3259,13 +3211,11 @@ macro(build_absl)
                         absl::config
                         absl::core_headers
                         absl::log_severity
-                        absl::int128
                         absl::optional
                         absl::strings
                         absl::str_format)
   set_property(TARGET absl::flags_parse
                PROPERTY INTERFACE_LINK_LIBRARIES
-                        absl::algorithm_container
                         absl::config
                         absl::core_headers
                         absl::flags_config
@@ -3332,7 +3282,6 @@ macro(build_absl)
                         absl::config
                         absl::core_headers
                         absl::flags_usage_internal
-                        absl::raw_logging_internal
                         absl::strings
                         absl::synchronization)
   set_property(TARGET absl::flat_hash_map
@@ -3352,10 +3301,7 @@ macro(build_absl)
                         absl::core_headers
                         absl::memory)
   set_property(TARGET absl::function_ref
-               PROPERTY INTERFACE_LINK_LIBRARIES
-                        absl::base_internal
-                        absl::core_headers
-                        absl::any_invocable
+               PROPERTY INTERFACE_LINK_LIBRARIES absl::base_internal absl::core_headers
                         absl::meta)
   set_property(TARGET absl::graphcycles_internal
                PROPERTY INTERFACE_LINK_LIBRARIES
@@ -3373,7 +3319,6 @@ macro(build_absl)
                         absl::strings)
   set_property(TARGET absl::hash
                PROPERTY INTERFACE_LINK_LIBRARIES
-                        absl::bits
                         absl::city
                         absl::config
                         absl::core_headers
@@ -3387,8 +3332,8 @@ macro(build_absl)
                         absl::variant
                         absl::utility
                         absl::low_level_hash)
-  set_property(TARGET absl::hash_policy_traits
-               PROPERTY INTERFACE_LINK_LIBRARIES absl::common_policy_traits absl::meta)
+  set_property(TARGET absl::hash_policy_traits PROPERTY INTERFACE_LINK_LIBRARIES
+                                                        absl::meta)
   set_property(TARGET absl::hashtable_debug_hooks PROPERTY INTERFACE_LINK_LIBRARIES
                                                            absl::config)
   set_property(TARGET absl::hashtable_debug PROPERTY INTERFACE_LINK_LIBRARIES
@@ -3398,11 +3343,8 @@ macro(build_absl)
                         absl::base
                         absl::config
                         absl::exponential_biased
-                        absl::raw_logging_internal
                         absl::sample_recorder
-                        absl::synchronization
-                        absl::time)
-  set_property(TARGET absl::if_constexpr PROPERTY INTERFACE_LINK_LIBRARIES absl::config)
+                        absl::synchronization)
   set_property(TARGET absl::inlined_vector_internal
                PROPERTY INTERFACE_LINK_LIBRARIES
                         absl::compressed_tuple
@@ -3416,10 +3358,12 @@ macro(build_absl)
                         absl::core_headers
                         absl::inlined_vector_internal
                         absl::throw_delegate
-                        absl::memory
-                        absl::type_traits)
+                        absl::memory)
   set_property(TARGET absl::int128 PROPERTY INTERFACE_LINK_LIBRARIES absl::config
                                             absl::core_headers absl::bits)
+  set_property(TARGET absl::kernel_timeout_internal
+               PROPERTY INTERFACE_LINK_LIBRARIES absl::core_headers
+                        absl::raw_logging_internal absl::time)
   set_property(TARGET absl::layout
                PROPERTY INTERFACE_LINK_LIBRARIES
                         absl::config
@@ -3430,182 +3374,14 @@ macro(build_absl)
                         absl::utility)
   set_property(TARGET absl::leak_check PROPERTY INTERFACE_LINK_LIBRARIES absl::config
                                                 absl::core_headers)
-  set_property(TARGET absl::log_entry
-               PROPERTY INTERFACE_LINK_LIBRARIES
-                        absl::config
-                        absl::core_headers
-                        absl::log_internal_config
-                        absl::log_severity
-                        absl::span
-                        absl::strings
-                        absl::time)
-  set_property(TARGET absl::log_flags
-               PROPERTY INTERFACE_LINK_LIBRARIES
-                        absl::config
-                        absl::core_headers
-                        absl::log_globals
-                        absl::log_severity
-                        absl::log_internal_config
-                        absl::log_internal_flags
-                        absl::flags
-                        absl::flags_marshalling
-                        absl::strings)
-  set_property(TARGET absl::log_globals
-               PROPERTY INTERFACE_LINK_LIBRARIES
-                        absl::atomic_hook
-                        absl::config
-                        absl::core_headers
-                        absl::hash
-                        absl::log_severity
-                        absl::raw_logging_internal
-                        absl::strings)
-  set_property(TARGET absl::log_initialize
-               PROPERTY INTERFACE_LINK_LIBRARIES
-                        absl::config
-                        absl::log_globals
-                        absl::log_internal_globals
-                        absl::time)
-  set_property(TARGET absl::log_internal_append_truncated
-               PROPERTY INTERFACE_LINK_LIBRARIES absl::config absl::strings absl::span)
-  set_property(TARGET absl::log_internal_check_impl
-               PROPERTY INTERFACE_LINK_LIBRARIES
-                        absl::core_headers
-                        absl::log_internal_check_op
-                        absl::log_internal_conditions
-                        absl::log_internal_message
-                        absl::log_internal_strip)
-  set_property(TARGET absl::log_internal_check_op
-               PROPERTY INTERFACE_LINK_LIBRARIES
-                        absl::config
-                        absl::core_headers
-                        absl::log_internal_nullguard
-                        absl::log_internal_nullstream
-                        absl::log_internal_strip
-                        absl::strings)
-  set_property(TARGET absl::log_internal_conditions
-               PROPERTY INTERFACE_LINK_LIBRARIES
-                        absl::base
-                        absl::config
-                        absl::core_headers
-                        absl::log_internal_voidify)
-  set_property(TARGET absl::log_internal_config PROPERTY INTERFACE_LINK_LIBRARIES
-                                                         absl::config absl::core_headers)
-  set_property(TARGET absl::log_internal_flags PROPERTY INTERFACE_LINK_LIBRARIES
-                                                        absl::flags)
-  set_property(TARGET absl::log_internal_format
-               PROPERTY INTERFACE_LINK_LIBRARIES
-                        absl::config
-                        absl::core_headers
-                        absl::log_internal_append_truncated
-                        absl::log_internal_config
-                        absl::log_internal_globals
-                        absl::log_severity
-                        absl::strings
-                        absl::str_format
-                        absl::time
-                        absl::span)
-  set_property(TARGET absl::log_internal_globals
-               PROPERTY INTERFACE_LINK_LIBRARIES
-                        absl::config
-                        absl::core_headers
-                        absl::log_severity
-                        absl::raw_logging_internal
-                        absl::strings
-                        absl::time)
-  set_property(TARGET absl::log_internal_log_impl
-               PROPERTY INTERFACE_LINK_LIBRARIES absl::log_internal_conditions
-                        absl::log_internal_message absl::log_internal_strip)
-  set_property(TARGET absl::log_internal_log_sink_set
-               PROPERTY INTERFACE_LINK_LIBRARIES
-                        absl::base
-                        absl::cleanup
-                        absl::config
-                        absl::core_headers
-                        absl::log_internal_config
-                        absl::log_internal_globals
-                        absl::log_globals
-                        absl::log_entry
-                        absl::log_severity
-                        absl::log_sink
-                        absl::raw_logging_internal
-                        absl::synchronization
-                        absl::span
-                        absl::strings)
-  set_property(TARGET absl::log_internal_message
-               PROPERTY INTERFACE_LINK_LIBRARIES
-                        absl::base
-                        absl::config
-                        absl::core_headers
-                        absl::errno_saver
-                        absl::inlined_vector
-                        absl::examine_stack
-                        absl::log_internal_append_truncated
-                        absl::log_internal_format
-                        absl::log_internal_globals
-                        absl::log_internal_proto
-                        absl::log_internal_log_sink_set
-                        absl::log_internal_nullguard
-                        absl::log_globals
-                        absl::log_entry
-                        absl::log_severity
-                        absl::log_sink
-                        absl::log_sink_registry
-                        absl::memory
-                        absl::raw_logging_internal
-                        absl::strings
-                        absl::strerror
-                        absl::time
-                        absl::span)
-  set_property(TARGET absl::log_internal_nullguard
-               PROPERTY INTERFACE_LINK_LIBRARIES absl::config absl::core_headers)
-  set_property(TARGET absl::log_internal_nullstream
-               PROPERTY INTERFACE_LINK_LIBRARIES
-                        absl::config
-                        absl::core_headers
-                        absl::log_severity
-                        absl::strings)
-  set_property(TARGET absl::log_internal_proto
-               PROPERTY INTERFACE_LINK_LIBRARIES
-                        absl::base
-                        absl::config
-                        absl::core_headers
-                        absl::strings
-                        absl::span)
-  set_property(TARGET absl::log_internal_strip
-               PROPERTY INTERFACE_LINK_LIBRARIES absl::log_internal_message
-                        absl::log_internal_nullstream absl::log_severity)
-  set_property(TARGET absl::log_internal_structured
-               PROPERTY INTERFACE_LINK_LIBRARIES absl::config absl::log_internal_message
-                        absl::strings)
-  set_property(TARGET absl::log_internal_voidify PROPERTY INTERFACE_LINK_LIBRARIES
-                                                          absl::config)
-  set_property(TARGET absl::log PROPERTY INTERFACE_LINK_LIBRARIES
-                                         absl::log_internal_log_impl)
   set_property(TARGET absl::log_severity PROPERTY INTERFACE_LINK_LIBRARIES
                                                   absl::core_headers)
-  set_property(TARGET absl::log_sink PROPERTY INTERFACE_LINK_LIBRARIES absl::config
-                                              absl::log_entry)
-  set_property(TARGET absl::log_sink_registry
-               PROPERTY INTERFACE_LINK_LIBRARIES absl::config absl::log_sink
-                        absl::log_internal_log_sink_set)
-  set_property(TARGET absl::log_streamer
-               PROPERTY INTERFACE_LINK_LIBRARIES
-                        absl::config
-                        absl::absl::log
-                        absl::log_severity
-                        absl::optional
-                        absl::strings
-                        absl::strings_internal
-                        absl::utility)
-  set_property(TARGET absl::log_structured
-               PROPERTY INTERFACE_LINK_LIBRARIES absl::config
-                        absl::log_internal_structured absl::strings)
   set_property(TARGET absl::low_level_hash
                PROPERTY INTERFACE_LINK_LIBRARIES
+                        absl::bits
                         absl::config
                         absl::endian
-                        absl::int128
-                        absl::prefetch)
+                        absl::int128)
   set_property(TARGET absl::malloc_internal
                PROPERTY INTERFACE_LINK_LIBRARIES
                         absl::base
@@ -3636,13 +3412,6 @@ macro(build_absl)
                         absl::memory)
   set_property(TARGET absl::node_slot_policy PROPERTY INTERFACE_LINK_LIBRARIES
                                                       absl::config)
-  set_property(TARGET absl::non_temporal_arm_intrinsics PROPERTY INTERFACE_LINK_LIBRARIES
-                                                                 absl::config)
-  set_property(TARGET absl::non_temporal_memcpy
-               PROPERTY INTERFACE_LINK_LIBRARIES absl::non_temporal_arm_intrinsics
-                        absl::config absl::core_headers)
-  set_property(TARGET absl::nullability PROPERTY INTERFACE_LINK_LIBRARIES
-                                                 absl::core_headers absl::type_traits)
   set_property(TARGET absl::numeric PROPERTY INTERFACE_LINK_LIBRARIES absl::int128)
   set_property(TARGET absl::numeric_representation PROPERTY INTERFACE_LINK_LIBRARIES
                                                             absl::config)
@@ -3658,8 +3427,7 @@ macro(build_absl)
   set_property(TARGET absl::periodic_sampler
                PROPERTY INTERFACE_LINK_LIBRARIES absl::core_headers
                         absl::exponential_biased)
-  set_property(TARGET absl::prefetch PROPERTY INTERFACE_LINK_LIBRARIES absl::config
-                                              absl::core_headers)
+  set_property(TARGET absl::prefetch PROPERTY INTERFACE_LINK_LIBRARIES absl::config)
   set_property(TARGET absl::random_bit_gen_ref
                PROPERTY INTERFACE_LINK_LIBRARIES
                         absl::core_headers
@@ -3808,18 +3576,15 @@ macro(build_absl)
                         absl::container_common
                         absl::container_memory
                         absl::core_headers
-                        absl::dynamic_annotations
                         absl::endian
-                        absl::hash
                         absl::hash_policy_traits
                         absl::hashtable_debug_hooks
-                        absl::hashtablez_sampler
                         absl::memory
                         absl::meta
                         absl::optional
                         absl::prefetch
-                        absl::raw_logging_internal
-                        absl::utility)
+                        absl::utility
+                        absl::hashtablez_sampler)
   set_property(TARGET absl::raw_logging_internal
                PROPERTY INTERFACE_LINK_LIBRARIES
                         absl::atomic_hook
@@ -3841,12 +3606,8 @@ macro(build_absl)
                PROPERTY INTERFACE_LINK_LIBRARIES absl::base_internal absl::core_headers
                         absl::errno_saver)
   set_property(TARGET absl::stacktrace
-               PROPERTY INTERFACE_LINK_LIBRARIES
-                        absl::debugging_internal
-                        absl::config
-                        absl::core_headers
-                        absl::dynamic_annotations
-                        absl::raw_logging_internal)
+               PROPERTY INTERFACE_LINK_LIBRARIES absl::debugging_internal absl::config
+                        absl::core_headers)
   set_property(TARGET absl::statusor
                PROPERTY INTERFACE_LINK_LIBRARIES
                         absl::base
@@ -3880,7 +3641,6 @@ macro(build_absl)
                         absl::strings
                         absl::config
                         absl::core_headers
-                        absl::inlined_vector
                         absl::numeric_representation
                         absl::type_traits
                         absl::utility
@@ -3922,6 +3682,7 @@ macro(build_absl)
   set_property(TARGET absl::synchronization
                PROPERTY INTERFACE_LINK_LIBRARIES
                         absl::graphcycles_internal
+                        absl::kernel_timeout_internal
                         absl::atomic_hook
                         absl::base
                         absl::base_internal
@@ -3944,8 +3705,7 @@ macro(build_absl)
                         absl::raw_logging_internal
                         absl::strings
                         absl::time_zone)
-  set_property(TARGET absl::type_traits PROPERTY INTERFACE_LINK_LIBRARIES absl::config
-                                                 absl::core_headers)
+  set_property(TARGET absl::type_traits PROPERTY INTERFACE_LINK_LIBRARIES absl::config)
   set_property(TARGET absl::utility PROPERTY INTERFACE_LINK_LIBRARIES absl::base_internal
                                              absl::config absl::type_traits)
   set_property(TARGET absl::variant
@@ -3956,7 +3716,6 @@ macro(build_absl)
                         absl::core_headers
                         absl::type_traits
                         absl::utility)
-
   if(APPLE)
     # This is due to upstream absl::cctz issue
     # https://github.com/abseil/abseil-cpp/issues/283

From 77421d9a052f900fc68ff73728ffed3aaa3c7ec1 Mon Sep 17 00:00:00 2001
From: Jacob Wujciak-Jens <jacob@wujciak.de>
Date: Fri, 11 Aug 2023 02:04:33 +0200
Subject: [PATCH 7/8] update absl targets

---
 cpp/cmake_modules/ThirdpartyToolchain.cmake | 108 ++++++++------------
 1 file changed, 45 insertions(+), 63 deletions(-)

diff --git a/cpp/cmake_modules/ThirdpartyToolchain.cmake b/cpp/cmake_modules/ThirdpartyToolchain.cmake
index b003cb221b02..24bd132367aa 100644
--- a/cpp/cmake_modules/ThirdpartyToolchain.cmake
+++ b/cpp/cmake_modules/ThirdpartyToolchain.cmake
@@ -2769,89 +2769,71 @@ macro(build_absl)
   # refreshed using:
   #   ls -1 $PREFIX/lib/libabsl_*.a | sed -e 's/.*libabsl_//' -e 's/.a$//'
   set(_ABSL_LIBS
-      bad_any_cast_impl
-      bad_optional_access
-      bad_variant_access
+      spinlock_wait
+      log_severity
+      throw_delegate
+      scoped_set_env
+      malloc_internal
       base
-      city
-      civil_time
-      cord
-      cord_internal
-      cordz_functions
-      cordz_handle
-      cordz_info
-      cordz_sample_token
-      crc32c
-      crc_cord_state
-      crc_cpu_detect
-      crc_internal
+      strerror
+      raw_logging_internal
+      periodic_sampler
+      exponential_biased
       debugging_internal
       demangle_internal
-      die_if_null
       examine_stack
-      exponential_biased
+      stacktrace
+      leak_check
+      symbolize
       failure_signal_handler
+      graphcycles_internal
+      synchronization
+      int128
+      flags_private_handle_accessor
+      flags_internal
       flags
       flags_commandlineflag
-      flags_commandlineflag_internal
-      flags_config
-      flags_internal
-      flags_marshalling
-      flags_parse
-      flags_private_handle_accessor
-      flags_program_name
       flags_reflection
       flags_usage
+      flags_config
+      flags_program_name
+      flags_parse
+      flags_commandlineflag_internal
+      flags_marshalling
       flags_usage_internal
-      graphcycles_internal
-      hash
+      statusor
+      status
+      time
+      time_zone
+      civil_time
+      bad_any_cast_impl
+      bad_variant_access
+      bad_optional_access
+      raw_hash_set
       hashtablez_sampler
-      int128
-      leak_check
-      log_entry
-      log_flags
-      log_globals
-      log_initialize
-      log_internal_check_op
-      log_internal_conditions
-      log_internal_format
-      log_internal_globals
-      log_internal_log_sink_set
-      log_internal_message
-      log_internal_nullguard
-      log_internal_proto
-      log_severity
-      log_sink
+      hash
+      city
       low_level_hash
-      malloc_internal
-      periodic_sampler
-      random_distributions
+      random_internal_randen_slow
       random_internal_distribution_test_util
-      random_internal_platform
-      random_internal_pool_urbg
-      random_internal_randen
       random_internal_randen_hwaes
       random_internal_randen_hwaes_impl
-      random_internal_randen_slow
+      random_seed_sequences
+      random_internal_randen
+      random_internal_platform
       random_internal_seed_material
+      random_distributions
       random_seed_gen_exception
-      random_seed_sequences
-      raw_hash_set
-      raw_logging_internal
-      scoped_set_env
-      spinlock_wait
-      stacktrace
-      status
-      statusor
-      strerror
+      random_internal_pool_urbg
       str_format_internal
       strings
+      cordz_functions
+      cordz_sample_token
+      cordz_info
+      cord_internal
       strings_internal
-      symbolize
-      synchronization
-      throw_delegate
-      time
-      time_zone)
+      cordz_handle
+      cord)
   # Abseil creates a number of header-only targets, which are needed to resolve dependencies.
   # The list can be refreshed using:
   #   comm -13 <(ls -l $PREFIX/lib/libabsl_*.a | sed -e 's/.*libabsl_//' -e 's/.a$//' | sort -u) \

From 5ee7c282cad2cc58ca2c0827265b9e5c5246d9c4 Mon Sep 17 00:00:00 2001
From: Jacob Wujciak-Jens <jacob@wujciak.de>
Date: Fri, 11 Aug 2023 02:17:54 +0200
Subject: [PATCH 8/8] sort and add kernel_timeout_internal

---
 cpp/cmake_modules/ThirdpartyToolchain.cmake | 92 +++++++++++----------
 1 file changed, 47 insertions(+), 45 deletions(-)

diff --git a/cpp/cmake_modules/ThirdpartyToolchain.cmake b/cpp/cmake_modules/ThirdpartyToolchain.cmake
index 24bd132367aa..75ccb42d71a4 100644
--- a/cpp/cmake_modules/ThirdpartyToolchain.cmake
+++ b/cpp/cmake_modules/ThirdpartyToolchain.cmake
@@ -2769,71 +2769,73 @@ macro(build_absl)
   # refreshed using:
   #   ls -1 $PREFIX/lib/libabsl_*.a | sed -e 's/.*libabsl_//' -e 's/.a$//'
   set(_ABSL_LIBS
-      spinlock_wait
-      log_severity
-      throw_delegate
-      scoped_set_env
-      malloc_internal
+      bad_any_cast_impl
+      bad_optional_access
+      bad_variant_access
       base
-      strerror
-      raw_logging_internal
-      periodic_sampler
-      exponential_biased
+      city
+      civil_time
+      cord
+      cord_internal
+      cordz_functions
+      cordz_handle
+      cordz_info
+      cordz_sample_token
       debugging_internal
       demangle_internal
       examine_stack
-      stacktrace
-      leak_check
-      symbolize
+      exponential_biased
       failure_signal_handler
-      graphcycles_internal
-      synchronization
-      int128
-      flags_private_handle_accessor
-      flags_internal
       flags
       flags_commandlineflag
-      flags_reflection
-      flags_usage
-      flags_config
-      flags_program_name
-      flags_parse
       flags_commandlineflag_internal
+      flags_config
+      flags_internal
       flags_marshalling
+      flags_parse
+      flags_private_handle_accessor
+      flags_program_name
+      flags_reflection
+      flags_usage
       flags_usage_internal
-      statusor
-      status
-      time
-      time_zone
-      civil_time
-      bad_any_cast_impl
-      bad_variant_access
-      bad_optional_access
-      raw_hash_set
-      hashtablez_sampler
+      graphcycles_internal
       hash
-      city
+      hashtablez_sampler
+      int128
+      kernel_timeout_internal
+      leak_check
+      log_severity
       low_level_hash
-      random_internal_randen_slow
+      malloc_internal
+      periodic_sampler
+      random_distributions
       random_internal_distribution_test_util
+      random_internal_platform
+      random_internal_pool_urbg
+      random_internal_randen
       random_internal_randen_hwaes
       random_internal_randen_hwaes_impl
-      random_seed_sequences
-      random_internal_randen
-      random_internal_platform
+      random_internal_randen_slow
       random_internal_seed_material
-      random_distributions
       random_seed_gen_exception
-      random_internal_pool_urbg
+      random_seed_sequences
+      raw_hash_set
+      raw_logging_internal
+      scoped_set_env
+      spinlock_wait
+      stacktrace
+      status
+      statusor
       str_format_internal
+      strerror
       strings
-      cordz_functions
-      cordz_sample_token
-      cordz_info
-      cord_internal
       strings_internal
-      cordz_handle
-      cord)
+      symbolize
+      synchronization
+      throw_delegate
+      time
+      time_zone
+  )
   # Abseil creates a number of header-only targets, which are needed to resolve dependencies.
   # The list can be refreshed using:
   #   comm -13 <(ls -l $PREFIX/lib/libabsl_*.a | sed -e 's/.*libabsl_//' -e 's/.a$//' | sort -u) \
