From 80aa277136310ad246ba677d515deb1eddf1c23e Mon Sep 17 00:00:00 2001 From: Christian Heimes Date: Mon, 6 Dec 2021 20:13:44 +0100 Subject: [PATCH 1/3] bpo-45847: Fix uuid detection on macOS --- configure | 27 +++++++++++++++++++++++++++ configure.ac | 11 +++++++++++ 2 files changed, 38 insertions(+) diff --git a/configure b/configure index fca9567c7102f9..7267a6016d277a 100755 --- a/configure +++ b/configure @@ -10559,6 +10559,33 @@ fi done +if test "x$have_uuid" = xmissing; then : + + for ac_header in uuid/uuid.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "uuid/uuid.h" "ac_cv_header_uuid_uuid_h" "$ac_includes_default" +if test "x$ac_cv_header_uuid_uuid_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_UUID_UUID_H 1 +_ACEOF + + ac_fn_c_check_func "$LINENO" "uuid_generate_time" "ac_cv_func_uuid_generate_time" +if test "x$ac_cv_func_uuid_generate_time" = xyes; then : + + have_uuid=yes + LIBUUID_CFLAGS= + LIBUUID_LIBS= + +fi + + +fi + +done + + +fi + if test "x$have_uuid" = xmissing; then : diff --git a/configure.ac b/configure.ac index c7c71255a3a4c1..d4ce5592e2dedb 100644 --- a/configure.ac +++ b/configure.ac @@ -2952,6 +2952,17 @@ AC_CHECK_HEADERS([uuid.h], [ ]) ]) +dnl macOS has uuid/uuid.h but uuid_generate_time is in libc +AS_VAR_IF([have_uuid], [missing], [ + AC_CHECK_HEADERS([uuid/uuid.h], [ + AC_CHECK_FUNC([uuid_generate_time], [ + have_uuid=yes + LIBUUID_CFLAGS= + LIBUUID_LIBS= + ]) + ]) +]) + AS_VAR_IF([have_uuid], [missing], [ PKG_CHECK_MODULES( [LIBUUID], [uuid >= 2.20], [ From 2c1809b35e29fc70c1722f255b6562cef5a29701 Mon Sep 17 00:00:00 2001 From: Christian Heimes Date: Mon, 6 Dec 2021 20:31:25 +0100 Subject: [PATCH 2/3] Detect libuuid before fallback for macOS uuid --- configure | 54 ++++++++++++++++++++++++++-------------------------- configure.ac | 22 ++++++++++----------- 2 files changed, 38 insertions(+), 38 deletions(-) diff --git a/configure b/configure index 7267a6016d277a..411f66be0005e3 100755 --- a/configure +++ b/configure @@ -10559,33 +10559,6 @@ fi done -if test "x$have_uuid" = xmissing; then : - - for ac_header in uuid/uuid.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "uuid/uuid.h" "ac_cv_header_uuid_uuid_h" "$ac_includes_default" -if test "x$ac_cv_header_uuid_uuid_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_UUID_UUID_H 1 -_ACEOF - - ac_fn_c_check_func "$LINENO" "uuid_generate_time" "ac_cv_func_uuid_generate_time" -if test "x$ac_cv_func_uuid_generate_time" = xyes; then : - - have_uuid=yes - LIBUUID_CFLAGS= - LIBUUID_LIBS= - -fi - - -fi - -done - - -fi - if test "x$have_uuid" = xmissing; then : @@ -10920,6 +10893,33 @@ $as_echo "yes" >&6; } fi +fi + +if test "x$have_uuid" = xmissing; then : + + for ac_header in uuid/uuid.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "uuid/uuid.h" "ac_cv_header_uuid_uuid_h" "$ac_includes_default" +if test "x$ac_cv_header_uuid_uuid_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_UUID_UUID_H 1 +_ACEOF + + ac_fn_c_check_func "$LINENO" "uuid_generate_time" "ac_cv_func_uuid_generate_time" +if test "x$ac_cv_func_uuid_generate_time" = xyes; then : + + have_uuid=yes + LIBUUID_CFLAGS= + LIBUUID_LIBS= + +fi + + +fi + +done + + fi # 'Real Time' functions on Solaris diff --git a/configure.ac b/configure.ac index d4ce5592e2dedb..1371ccfbb65750 100644 --- a/configure.ac +++ b/configure.ac @@ -2952,17 +2952,6 @@ AC_CHECK_HEADERS([uuid.h], [ ]) ]) -dnl macOS has uuid/uuid.h but uuid_generate_time is in libc -AS_VAR_IF([have_uuid], [missing], [ - AC_CHECK_HEADERS([uuid/uuid.h], [ - AC_CHECK_FUNC([uuid_generate_time], [ - have_uuid=yes - LIBUUID_CFLAGS= - LIBUUID_LIBS= - ]) - ]) -]) - AS_VAR_IF([have_uuid], [missing], [ PKG_CHECK_MODULES( [LIBUUID], [uuid >= 2.20], [ @@ -2990,6 +2979,17 @@ AS_VAR_IF([have_uuid], [missing], [ ) ]) +dnl macOS has uuid/uuid.h but uuid_generate_time is in libc +AS_VAR_IF([have_uuid], [missing], [ + AC_CHECK_HEADERS([uuid/uuid.h], [ + AC_CHECK_FUNC([uuid_generate_time], [ + have_uuid=yes + LIBUUID_CFLAGS= + LIBUUID_LIBS= + ]) + ]) +]) + # 'Real Time' functions on Solaris # posix4 on Solaris 2.6 # pthread (first!) on Linux From b80a6f972e479b3fcbe621db80baff371a2c0b7e Mon Sep 17 00:00:00 2001 From: Christian Heimes Date: Mon, 6 Dec 2021 20:47:28 +0100 Subject: [PATCH 3/3] Fall through to macOS check --- configure | 6 ++++-- configure.ac | 3 ++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/configure b/configure index 411f66be0005e3..2237e6ed8ce2ab 100755 --- a/configure +++ b/configure @@ -10623,7 +10623,6 @@ fi LIBUUID_LIBS="-luuid" LIBUUID_CFLAGS= - have_uuid=no for ac_header in uuid/uuid.h do : ac_fn_c_check_header_mongrel "$LINENO" "uuid/uuid.h" "ac_cv_header_uuid_uuid_h" "$ac_includes_default" @@ -10754,7 +10753,6 @@ $as_echo "no" >&6; } LIBUUID_LIBS="-luuid" LIBUUID_CFLAGS= - have_uuid=no for ac_header in uuid/uuid.h do : ac_fn_c_check_header_mongrel "$LINENO" "uuid/uuid.h" "ac_cv_header_uuid_uuid_h" "$ac_includes_default" @@ -10922,6 +10920,10 @@ done fi +if test "x$have_uuid" = xmissing; then : + have_uuid=no +fi + # 'Real Time' functions on Solaris # posix4 on Solaris 2.6 # pthread (first!) on Linux diff --git a/configure.ac b/configure.ac index 1371ccfbb65750..f1aac2db71f5d8 100644 --- a/configure.ac +++ b/configure.ac @@ -2963,7 +2963,6 @@ AS_VAR_IF([have_uuid], [missing], [ ], [ LIBUUID_LIBS="-luuid" LIBUUID_CFLAGS= - have_uuid=no AC_CHECK_HEADERS([uuid/uuid.h], [ WITH_SAVE_ENV( [AC_CHECK_LIB([uuid], [uuid_generate_time], [have_uuid=yes]) @@ -2990,6 +2989,8 @@ AS_VAR_IF([have_uuid], [missing], [ ]) ]) +AS_VAR_IF([have_uuid], [missing], [have_uuid=no]) + # 'Real Time' functions on Solaris # posix4 on Solaris 2.6 # pthread (first!) on Linux