[Python-checkins] [3.11] gh-94801: Use custom flags to check for headers and libs (GH-94802) (GH-94881)

tiran webhook-mailer at python.org
Mon Jul 18 02:47:04 EDT 2022


https://github.com/python/cpython/commit/30412d91b6bfb4c973dbfd5cbe2c2e2f7d9e0563
commit: 30412d91b6bfb4c973dbfd5cbe2c2e2f7d9e0563
branch: 3.11
author: Christian Heimes <christian at python.org>
committer: tiran <christian at python.org>
date: 2022-07-18T08:46:49+02:00
summary:

[3.11] gh-94801: Use custom flags to check for headers and libs (GH-94802) (GH-94881)

Co-authored-by: Christian Heimes <christian at python.org>

files:
A Misc/NEWS.d/next/Build/2022-07-13-10-13-10.gh-issue-94801.3xUB24.rst
M configure
M configure.ac

diff --git a/Misc/NEWS.d/next/Build/2022-07-13-10-13-10.gh-issue-94801.3xUB24.rst b/Misc/NEWS.d/next/Build/2022-07-13-10-13-10.gh-issue-94801.3xUB24.rst
new file mode 100644
index 0000000000000..5caf84f96da13
--- /dev/null
+++ b/Misc/NEWS.d/next/Build/2022-07-13-10-13-10.gh-issue-94801.3xUB24.rst
@@ -0,0 +1,2 @@
+``configure`` now uses custom flags like ``ZLIB_CFLAGS`` and ``ZLIB_LIBS``
+when searching for headers and libraries.
diff --git a/configure b/configure
index 2186190631c7b..be8935937c8f4 100755
--- a/configure
+++ b/configure
@@ -3042,6 +3042,12 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
 
+
+
+
+
+
+
 if test "$srcdir" != . -a "$srcdir" != "$(pwd)"; then
     # If we're building out-of-tree, we need to make sure the following
     # resources get picked up before their $srcdir counterparts.
@@ -11164,7 +11170,15 @@ fi
 	echo "$LIBUUID_PKG_ERRORS" >&5
 
 
-      for ac_header in uuid/uuid.h
+      save_CFLAGS=$CFLAGS
+save_CPPFLAGS=$CPPFLAGS
+save_LDFLAGS=$LDFLAGS
+save_LIBS=$LIBS
+
+
+        CPPFLAGS="$CFLAGS $LIBUUID_CFLAGS"
+        LDFLAGS="$LDFLAGS $LIBUUID_LIBS"
+        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 :
@@ -11172,11 +11186,7 @@ if test "x$ac_cv_header_uuid_uuid_h" = xyes; then :
 #define HAVE_UUID_UUID_H 1
 _ACEOF
 
-        save_CFLAGS=$CFLAGS
-save_CPPFLAGS=$CPPFLAGS
-save_LDFLAGS=$LDFLAGS
-save_LIBS=$LIBS
-
+          py_check_lib_save_LIBS=$LIBS
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for uuid_generate_time in -luuid" >&5
 $as_echo_n "checking for uuid_generate_time in -luuid... " >&6; }
 if ${ac_cv_lib_uuid_uuid_generate_time+:} false; then :
@@ -11217,20 +11227,10 @@ if test "x$ac_cv_lib_uuid_uuid_generate_time" = xyes; then :
   have_uuid=yes
 fi
 
+LIBS=$py_check_lib_save_LIBS
 
-CFLAGS=$save_CFLAGS
-CPPFLAGS=$save_CPPFLAGS
-LDFLAGS=$save_LDFLAGS
-LIBS=$save_LIBS
-
-
-        save_CFLAGS=$CFLAGS
-save_CPPFLAGS=$CPPFLAGS
-save_LDFLAGS=$LDFLAGS
-save_LIBS=$LIBS
-
-
-          { $as_echo "$as_me:${as_lineno-$LINENO}: checking for uuid_generate_time_safe in -luuid" >&5
+          py_check_lib_save_LIBS=$LIBS
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for uuid_generate_time_safe in -luuid" >&5
 $as_echo_n "checking for uuid_generate_time_safe in -luuid... " >&6; }
 if ${ac_cv_lib_uuid_uuid_generate_time_safe+:} false; then :
   $as_echo_n "(cached) " >&6
@@ -11267,19 +11267,18 @@ fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_uuid_uuid_generate_time_safe" >&5
 $as_echo "$ac_cv_lib_uuid_uuid_generate_time_safe" >&6; }
 if test "x$ac_cv_lib_uuid_uuid_generate_time_safe" = xyes; then :
-
-            have_uuid=yes
+  have_uuid=yes
             $as_echo "#define HAVE_UUID_GENERATE_TIME_SAFE 1" >>confdefs.h
 
 
 fi
 
+LIBS=$py_check_lib_save_LIBS
 
-CFLAGS=$save_CFLAGS
-CPPFLAGS=$save_CPPFLAGS
-LDFLAGS=$save_LDFLAGS
-LIBS=$save_LIBS
 
+fi
+
+done
 
         if test "x$have_uuid" = xyes; then :
 
@@ -11288,9 +11287,11 @@ LIBS=$save_LIBS
 
 fi
 
-fi
+CFLAGS=$save_CFLAGS
+CPPFLAGS=$save_CPPFLAGS
+LDFLAGS=$save_LDFLAGS
+LIBS=$save_LIBS
 
-done
 
 
 
@@ -11298,7 +11299,15 @@ elif test $pkg_failed = untried; then
      	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 
-      for ac_header in uuid/uuid.h
+      save_CFLAGS=$CFLAGS
+save_CPPFLAGS=$CPPFLAGS
+save_LDFLAGS=$LDFLAGS
+save_LIBS=$LIBS
+
+
+        CPPFLAGS="$CFLAGS $LIBUUID_CFLAGS"
+        LDFLAGS="$LDFLAGS $LIBUUID_LIBS"
+        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 :
@@ -11306,11 +11315,7 @@ if test "x$ac_cv_header_uuid_uuid_h" = xyes; then :
 #define HAVE_UUID_UUID_H 1
 _ACEOF
 
-        save_CFLAGS=$CFLAGS
-save_CPPFLAGS=$CPPFLAGS
-save_LDFLAGS=$LDFLAGS
-save_LIBS=$LIBS
-
+          py_check_lib_save_LIBS=$LIBS
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for uuid_generate_time in -luuid" >&5
 $as_echo_n "checking for uuid_generate_time in -luuid... " >&6; }
 if ${ac_cv_lib_uuid_uuid_generate_time+:} false; then :
@@ -11351,20 +11356,10 @@ if test "x$ac_cv_lib_uuid_uuid_generate_time" = xyes; then :
   have_uuid=yes
 fi
 
+LIBS=$py_check_lib_save_LIBS
 
-CFLAGS=$save_CFLAGS
-CPPFLAGS=$save_CPPFLAGS
-LDFLAGS=$save_LDFLAGS
-LIBS=$save_LIBS
-
-
-        save_CFLAGS=$CFLAGS
-save_CPPFLAGS=$CPPFLAGS
-save_LDFLAGS=$LDFLAGS
-save_LIBS=$LIBS
-
-
-          { $as_echo "$as_me:${as_lineno-$LINENO}: checking for uuid_generate_time_safe in -luuid" >&5
+          py_check_lib_save_LIBS=$LIBS
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for uuid_generate_time_safe in -luuid" >&5
 $as_echo_n "checking for uuid_generate_time_safe in -luuid... " >&6; }
 if ${ac_cv_lib_uuid_uuid_generate_time_safe+:} false; then :
   $as_echo_n "(cached) " >&6
@@ -11401,19 +11396,18 @@ fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_uuid_uuid_generate_time_safe" >&5
 $as_echo "$ac_cv_lib_uuid_uuid_generate_time_safe" >&6; }
 if test "x$ac_cv_lib_uuid_uuid_generate_time_safe" = xyes; then :
-
-            have_uuid=yes
+  have_uuid=yes
             $as_echo "#define HAVE_UUID_GENERATE_TIME_SAFE 1" >>confdefs.h
 
 
 fi
 
+LIBS=$py_check_lib_save_LIBS
 
-CFLAGS=$save_CFLAGS
-CPPFLAGS=$save_CPPFLAGS
-LDFLAGS=$save_LDFLAGS
-LIBS=$save_LIBS
 
+fi
+
+done
 
         if test "x$have_uuid" = xyes; then :
 
@@ -11422,9 +11416,11 @@ LIBS=$save_LIBS
 
 fi
 
-fi
+CFLAGS=$save_CFLAGS
+CPPFLAGS=$save_CPPFLAGS
+LDFLAGS=$save_LDFLAGS
+LIBS=$save_LIBS
 
-done
 
 
 
@@ -12378,6 +12374,19 @@ case $ac_sys_system in #(
 esac
 
 
+
+
+  if test "$ac_sys_system" = "Emscripten" -a -z "$LIBSQLITE3_CFLAGS" -a -z "$LIBSQLITE3_LIBS"; then :
+
+    LIBSQLITE3_CFLAGS="-sUSE_SQLITE3"
+    LIBSQLITE3_LIBS="-sUSE_SQLITE3"
+
+fi
+
+
+
+
+
 pkg_failed=no
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for LIBSQLITE3" >&5
 $as_echo_n "checking for LIBSQLITE3... " >&6; }
@@ -15923,6 +15932,19 @@ fi
 
 
 
+
+
+  if test "$ac_sys_system" = "Emscripten" -a -z "$ZLIB_CFLAGS" -a -z "$ZLIB_LIBS"; then :
+
+    ZLIB_CFLAGS="-sUSE_ZLIB"
+    ZLIB_LIBS="-sUSE_ZLIB"
+
+fi
+
+
+
+
+
 pkg_failed=no
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ZLIB" >&5
 $as_echo_n "checking for ZLIB... " >&6; }
@@ -15982,7 +16004,15 @@ fi
 	echo "$ZLIB_PKG_ERRORS" >&5
 
 
-  for ac_header in zlib.h
+  save_CFLAGS=$CFLAGS
+save_CPPFLAGS=$CPPFLAGS
+save_LDFLAGS=$LDFLAGS
+save_LIBS=$LIBS
+
+
+    CPPFLAGS="$CFLAGS $ZLIB_CFLAGS"
+    LDFLAGS="$LDFLAGS $ZLIB_LIBS"
+    for ac_header in zlib.h
 do :
   ac_fn_c_check_header_mongrel "$LINENO" "zlib.h" "ac_cv_header_zlib_h" "$ac_includes_default"
 if test "x$ac_cv_header_zlib_h" = xyes; then :
@@ -15990,13 +16020,8 @@ if test "x$ac_cv_header_zlib_h" = xyes; then :
 #define HAVE_ZLIB_H 1
 _ACEOF
 
-    save_CFLAGS=$CFLAGS
-save_CPPFLAGS=$CPPFLAGS
-save_LDFLAGS=$LDFLAGS
-save_LIBS=$LIBS
-
-
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gzread in -lz" >&5
+      py_check_lib_save_LIBS=$LIBS
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gzread in -lz" >&5
 $as_echo_n "checking for gzread in -lz... " >&6; }
 if ${ac_cv_lib_z_gzread+:} false; then :
   $as_echo_n "(cached) " >&6
@@ -16033,11 +16058,26 @@ fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_z_gzread" >&5
 $as_echo "$ac_cv_lib_z_gzread" >&6; }
 if test "x$ac_cv_lib_z_gzread" = xyes; then :
+  have_zlib=yes
+else
+  have_zlib=no
+fi
+
+LIBS=$py_check_lib_save_LIBS
+
+
+else
+  have_zlib=no
+fi
+
+done
 
-        have_zlib=yes
-        ZLIB_CFLAGS=${ZLIB_CFLAGS-""}
-        ZLIB_LIBS=${ZLIB_LIBS-"-lz"}
-        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for inflateCopy in -lz" >&5
+    if test "x$have_zlib" = xyes; then :
+
+      ZLIB_CFLAGS=${ZLIB_CFLAGS-""}
+      ZLIB_LIBS=${ZLIB_LIBS-"-lz"}
+      py_check_lib_save_LIBS=$LIBS
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inflateCopy in -lz" >&5
 $as_echo_n "checking for inflateCopy in -lz... " >&6; }
 if ${ac_cv_lib_z_inflateCopy+:} false; then :
   $as_echo_n "(cached) " >&6
@@ -16078,14 +16118,11 @@ if test "x$ac_cv_lib_z_inflateCopy" = xyes; then :
 
 fi
 
+LIBS=$py_check_lib_save_LIBS
 
-else
-
-        have_zlib=no
 
 fi
 
-
 CFLAGS=$save_CFLAGS
 CPPFLAGS=$save_CPPFLAGS
 LDFLAGS=$save_LDFLAGS
@@ -16093,18 +16130,19 @@ LIBS=$save_LIBS
 
 
 
-else
-  have_zlib=no
-fi
-
-done
-
-
 elif test $pkg_failed = untried; then
      	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 
-  for ac_header in zlib.h
+  save_CFLAGS=$CFLAGS
+save_CPPFLAGS=$CPPFLAGS
+save_LDFLAGS=$LDFLAGS
+save_LIBS=$LIBS
+
+
+    CPPFLAGS="$CFLAGS $ZLIB_CFLAGS"
+    LDFLAGS="$LDFLAGS $ZLIB_LIBS"
+    for ac_header in zlib.h
 do :
   ac_fn_c_check_header_mongrel "$LINENO" "zlib.h" "ac_cv_header_zlib_h" "$ac_includes_default"
 if test "x$ac_cv_header_zlib_h" = xyes; then :
@@ -16112,13 +16150,8 @@ if test "x$ac_cv_header_zlib_h" = xyes; then :
 #define HAVE_ZLIB_H 1
 _ACEOF
 
-    save_CFLAGS=$CFLAGS
-save_CPPFLAGS=$CPPFLAGS
-save_LDFLAGS=$LDFLAGS
-save_LIBS=$LIBS
-
-
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gzread in -lz" >&5
+      py_check_lib_save_LIBS=$LIBS
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gzread in -lz" >&5
 $as_echo_n "checking for gzread in -lz... " >&6; }
 if ${ac_cv_lib_z_gzread+:} false; then :
   $as_echo_n "(cached) " >&6
@@ -16155,11 +16188,26 @@ fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_z_gzread" >&5
 $as_echo "$ac_cv_lib_z_gzread" >&6; }
 if test "x$ac_cv_lib_z_gzread" = xyes; then :
+  have_zlib=yes
+else
+  have_zlib=no
+fi
+
+LIBS=$py_check_lib_save_LIBS
+
+
+else
+  have_zlib=no
+fi
 
-        have_zlib=yes
-        ZLIB_CFLAGS=${ZLIB_CFLAGS-""}
-        ZLIB_LIBS=${ZLIB_LIBS-"-lz"}
-        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for inflateCopy in -lz" >&5
+done
+
+    if test "x$have_zlib" = xyes; then :
+
+      ZLIB_CFLAGS=${ZLIB_CFLAGS-""}
+      ZLIB_LIBS=${ZLIB_LIBS-"-lz"}
+      py_check_lib_save_LIBS=$LIBS
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inflateCopy in -lz" >&5
 $as_echo_n "checking for inflateCopy in -lz... " >&6; }
 if ${ac_cv_lib_z_inflateCopy+:} false; then :
   $as_echo_n "(cached) " >&6
@@ -16200,14 +16248,11 @@ if test "x$ac_cv_lib_z_inflateCopy" = xyes; then :
 
 fi
 
+LIBS=$py_check_lib_save_LIBS
 
-else
-
-        have_zlib=no
 
 fi
 
-
 CFLAGS=$save_CFLAGS
 CPPFLAGS=$save_CPPFLAGS
 LDFLAGS=$save_LDFLAGS
@@ -16215,13 +16260,6 @@ LIBS=$save_LIBS
 
 
 
-else
-  have_zlib=no
-fi
-
-done
-
-
 else
 	ZLIB_CFLAGS=$pkg_cv_ZLIB_CFLAGS
 	ZLIB_LIBS=$pkg_cv_ZLIB_LIBS
@@ -16234,11 +16272,6 @@ $as_echo "yes" >&6; }
 
 fi
 
-if test "$have_zlib" = "yes" -a "$ac_sys_system" = "Emscripten" -a "$ZLIB_LIBS" = "-lz"; then
-  ZLIB_CFLAGS="-sUSE_ZLIB"
-  ZLIB_LIBS="-sUSE_ZLIB"
-fi
-
 if test "x$have_zlib" = xyes; then :
 
   BINASCII_CFLAGS="-DUSE_ZLIB_CRC32 $ZLIB_CFLAGS"
@@ -16247,6 +16280,19 @@ if test "x$have_zlib" = xyes; then :
 fi
 
 
+
+
+  if test "$ac_sys_system" = "Emscripten" -a -z "$BZIP2_CFLAGS" -a -z "$BZIP2_LIBS"; then :
+
+    BZIP2_CFLAGS="-sUSE_BZIP2"
+    BZIP2_LIBS="-sUSE_BZIP2"
+
+fi
+
+
+
+
+
 pkg_failed=no
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for BZIP2" >&5
 $as_echo_n "checking for BZIP2... " >&6; }
@@ -16306,7 +16352,15 @@ fi
 	echo "$BZIP2_PKG_ERRORS" >&5
 
 
-  for ac_header in bzlib.h
+  save_CFLAGS=$CFLAGS
+save_CPPFLAGS=$CPPFLAGS
+save_LDFLAGS=$LDFLAGS
+save_LIBS=$LIBS
+
+
+    CPPFLAGS="$CFLAGS $BZIP2_CFLAGS"
+    LDFLAGS="$LDFLAGS $BZIP2_LIBS"
+    for ac_header in bzlib.h
 do :
   ac_fn_c_check_header_mongrel "$LINENO" "bzlib.h" "ac_cv_header_bzlib_h" "$ac_includes_default"
 if test "x$ac_cv_header_bzlib_h" = xyes; then :
@@ -16314,12 +16368,6 @@ if test "x$ac_cv_header_bzlib_h" = xyes; then :
 #define HAVE_BZLIB_H 1
 _ACEOF
 
-    save_CFLAGS=$CFLAGS
-save_CPPFLAGS=$CPPFLAGS
-save_LDFLAGS=$LDFLAGS
-save_LIBS=$LIBS
-
-
       { $as_echo "$as_me:${as_lineno-$LINENO}: checking for BZ2_bzCompress in -lbz2" >&5
 $as_echo_n "checking for BZ2_bzCompress in -lbz2... " >&6; }
 if ${ac_cv_lib_bz2_BZ2_bzCompress+:} false; then :
@@ -16357,15 +16405,24 @@ fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_bz2_BZ2_bzCompress" >&5
 $as_echo "$ac_cv_lib_bz2_BZ2_bzCompress" >&6; }
 if test "x$ac_cv_lib_bz2_BZ2_bzCompress" = xyes; then :
+  have_bzip2=yes
+else
+  have_bzip2=no
+fi
 
-        have_bzip2=yes
-        BZIP2_CFLAGS=${BZIP2_CFLAGS-""}
-        BZIP2_LIBS=${BZIP2_LIBS-"-lbz2"}
 
 else
   have_bzip2=no
 fi
 
+done
+
+    if test "x$have_bzip2" = xyes; then :
+
+      BZIP2_CFLAGS=${BZIP2_CFLAGS-""}
+      BZIP2_LIBS=${BZIP2_LIBS-"-lbz2"}
+
+fi
 
 CFLAGS=$save_CFLAGS
 CPPFLAGS=$save_CPPFLAGS
@@ -16374,18 +16431,19 @@ LIBS=$save_LIBS
 
 
 
-else
-  have_bzip2=no
-fi
-
-done
-
-
 elif test $pkg_failed = untried; then
      	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 
-  for ac_header in bzlib.h
+  save_CFLAGS=$CFLAGS
+save_CPPFLAGS=$CPPFLAGS
+save_LDFLAGS=$LDFLAGS
+save_LIBS=$LIBS
+
+
+    CPPFLAGS="$CFLAGS $BZIP2_CFLAGS"
+    LDFLAGS="$LDFLAGS $BZIP2_LIBS"
+    for ac_header in bzlib.h
 do :
   ac_fn_c_check_header_mongrel "$LINENO" "bzlib.h" "ac_cv_header_bzlib_h" "$ac_includes_default"
 if test "x$ac_cv_header_bzlib_h" = xyes; then :
@@ -16393,12 +16451,6 @@ if test "x$ac_cv_header_bzlib_h" = xyes; then :
 #define HAVE_BZLIB_H 1
 _ACEOF
 
-    save_CFLAGS=$CFLAGS
-save_CPPFLAGS=$CPPFLAGS
-save_LDFLAGS=$LDFLAGS
-save_LIBS=$LIBS
-
-
       { $as_echo "$as_me:${as_lineno-$LINENO}: checking for BZ2_bzCompress in -lbz2" >&5
 $as_echo_n "checking for BZ2_bzCompress in -lbz2... " >&6; }
 if ${ac_cv_lib_bz2_BZ2_bzCompress+:} false; then :
@@ -16436,15 +16488,24 @@ fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_bz2_BZ2_bzCompress" >&5
 $as_echo "$ac_cv_lib_bz2_BZ2_bzCompress" >&6; }
 if test "x$ac_cv_lib_bz2_BZ2_bzCompress" = xyes; then :
+  have_bzip2=yes
+else
+  have_bzip2=no
+fi
 
-        have_bzip2=yes
-        BZIP2_CFLAGS=${BZIP2_CFLAGS-""}
-        BZIP2_LIBS=${BZIP2_LIBS-"-lbz2"}
 
 else
   have_bzip2=no
 fi
 
+done
+
+    if test "x$have_bzip2" = xyes; then :
+
+      BZIP2_CFLAGS=${BZIP2_CFLAGS-""}
+      BZIP2_LIBS=${BZIP2_LIBS-"-lbz2"}
+
+fi
 
 CFLAGS=$save_CFLAGS
 CPPFLAGS=$save_CPPFLAGS
@@ -16453,13 +16514,6 @@ LIBS=$save_LIBS
 
 
 
-else
-  have_bzip2=no
-fi
-
-done
-
-
 else
 	BZIP2_CFLAGS=$pkg_cv_BZIP2_CFLAGS
 	BZIP2_LIBS=$pkg_cv_BZIP2_LIBS
@@ -16468,12 +16522,6 @@ $as_echo "yes" >&6; }
 	have_bzip2=yes
 fi
 
-if test "$have_bzip2" = "yes" -a "$ac_sys_system" = "Emscripten" -a "$BZIP2_LIBS" = "-lbz2"; then
-  BZIP2_CFLAGS="-sUSE_BZIP2"
-  BZIP2_LIBS="-sUSE_BZIP2"
-fi
-
-
 
 pkg_failed=no
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for LIBLZMA" >&5
@@ -16534,7 +16582,15 @@ fi
 	echo "$LIBLZMA_PKG_ERRORS" >&5
 
 
-  for ac_header in lzma.h
+  save_CFLAGS=$CFLAGS
+save_CPPFLAGS=$CPPFLAGS
+save_LDFLAGS=$LDFLAGS
+save_LIBS=$LIBS
+
+
+    CPPFLAGS="$CFLAGS $LIBLZMA_CFLAGS"
+    LDFLAGS="$LDFLAGS $LIBLZMA_LIBS"
+    for ac_header in lzma.h
 do :
   ac_fn_c_check_header_mongrel "$LINENO" "lzma.h" "ac_cv_header_lzma_h" "$ac_includes_default"
 if test "x$ac_cv_header_lzma_h" = xyes; then :
@@ -16542,12 +16598,6 @@ if test "x$ac_cv_header_lzma_h" = xyes; then :
 #define HAVE_LZMA_H 1
 _ACEOF
 
-    save_CFLAGS=$CFLAGS
-save_CPPFLAGS=$CPPFLAGS
-save_LDFLAGS=$LDFLAGS
-save_LIBS=$LIBS
-
-
       { $as_echo "$as_me:${as_lineno-$LINENO}: checking for lzma_easy_encoder in -llzma" >&5
 $as_echo_n "checking for lzma_easy_encoder in -llzma... " >&6; }
 if ${ac_cv_lib_lzma_lzma_easy_encoder+:} false; then :
@@ -16585,15 +16635,24 @@ fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_lzma_lzma_easy_encoder" >&5
 $as_echo "$ac_cv_lib_lzma_lzma_easy_encoder" >&6; }
 if test "x$ac_cv_lib_lzma_lzma_easy_encoder" = xyes; then :
+  have_liblzma=yes
+else
+  have_liblzma=no
+fi
 
-        have_liblzma=yes
-        LIBLZMA_CFLAGS=${LIBLZMA_CFLAGS-""}
-        LIBLZMA_LIBS=${LIBLZMA_LIBS-"-llzma"}
 
 else
   have_liblzma=no
 fi
 
+done
+
+    if test "x$have_liblzma" = xyes; then :
+
+      LIBLZMA_CFLAGS=${LIBLZMA_CFLAGS-""}
+      LIBLZMA_LIBS=${LIBLZMA_LIBS-"-llzma"}
+
+fi
 
 CFLAGS=$save_CFLAGS
 CPPFLAGS=$save_CPPFLAGS
@@ -16602,18 +16661,19 @@ LIBS=$save_LIBS
 
 
 
-else
-  have_liblzma=no
-fi
-
-done
-
-
 elif test $pkg_failed = untried; then
      	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 
-  for ac_header in lzma.h
+  save_CFLAGS=$CFLAGS
+save_CPPFLAGS=$CPPFLAGS
+save_LDFLAGS=$LDFLAGS
+save_LIBS=$LIBS
+
+
+    CPPFLAGS="$CFLAGS $LIBLZMA_CFLAGS"
+    LDFLAGS="$LDFLAGS $LIBLZMA_LIBS"
+    for ac_header in lzma.h
 do :
   ac_fn_c_check_header_mongrel "$LINENO" "lzma.h" "ac_cv_header_lzma_h" "$ac_includes_default"
 if test "x$ac_cv_header_lzma_h" = xyes; then :
@@ -16621,12 +16681,6 @@ if test "x$ac_cv_header_lzma_h" = xyes; then :
 #define HAVE_LZMA_H 1
 _ACEOF
 
-    save_CFLAGS=$CFLAGS
-save_CPPFLAGS=$CPPFLAGS
-save_LDFLAGS=$LDFLAGS
-save_LIBS=$LIBS
-
-
       { $as_echo "$as_me:${as_lineno-$LINENO}: checking for lzma_easy_encoder in -llzma" >&5
 $as_echo_n "checking for lzma_easy_encoder in -llzma... " >&6; }
 if ${ac_cv_lib_lzma_lzma_easy_encoder+:} false; then :
@@ -16664,15 +16718,24 @@ fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_lzma_lzma_easy_encoder" >&5
 $as_echo "$ac_cv_lib_lzma_lzma_easy_encoder" >&6; }
 if test "x$ac_cv_lib_lzma_lzma_easy_encoder" = xyes; then :
+  have_liblzma=yes
+else
+  have_liblzma=no
+fi
 
-        have_liblzma=yes
-        LIBLZMA_CFLAGS=${LIBLZMA_CFLAGS-""}
-        LIBLZMA_LIBS=${LIBLZMA_LIBS-"-llzma"}
 
 else
   have_liblzma=no
 fi
 
+done
+
+    if test "x$have_liblzma" = xyes; then :
+
+      LIBLZMA_CFLAGS=${LIBLZMA_CFLAGS-""}
+      LIBLZMA_LIBS=${LIBLZMA_LIBS-"-llzma"}
+
+fi
 
 CFLAGS=$save_CFLAGS
 CPPFLAGS=$save_CPPFLAGS
@@ -16681,13 +16744,6 @@ LIBS=$save_LIBS
 
 
 
-else
-  have_liblzma=no
-fi
-
-done
-
-
 else
 	LIBLZMA_CFLAGS=$pkg_cv_LIBLZMA_CFLAGS
 	LIBLZMA_LIBS=$pkg_cv_LIBLZMA_LIBS
diff --git a/configure.ac b/configure.ac
index a12d143ed8833..695576a46e87e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -49,6 +49,48 @@ AC_DEFUN([WITH_SAVE_ENV],
 [RESTORE_ENV]
 )dnl
 
+dnl PY_CHECK_FUNC(FUNCTION, [INCLUDES], [AC_DEFINE-VAR])
+AC_DEFUN([PY_CHECK_FUNC],
+[ AS_VAR_PUSHDEF([py_var], [ac_cv_func_$1])
+  AS_VAR_PUSHDEF([py_define], m4_ifblank([$3], [[HAVE_]m4_toupper($1)], [$3]))
+  AC_CACHE_CHECK(
+    [for $1],
+    [py_var],
+    [AC_COMPILE_IFELSE(
+      [AC_LANG_PROGRAM([$2], [void *x=$1])],
+      [AS_VAR_SET([py_var], [yes])],
+      [AS_VAR_SET([py_var], [no])])]
+  )
+  AS_VAR_IF(
+    [py_var],
+    [yes],
+    [AC_DEFINE([py_define], [1], [Define if you have the '$1' function.])])
+  AS_VAR_POPDEF([py_var])
+  AS_VAR_POPDEF([py_define])
+])
+
+dnl PY_CHECK_LIB(LIBRARY, FUNCTION, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND], [OTHER-LIBRARIES])
+dnl Like AC_CHECK_LIB() but does not modify LIBS
+AC_DEFUN([PY_CHECK_LIB],
+[AS_VAR_COPY([py_check_lib_save_LIBS], [LIBS])]
+[AC_CHECK_LIB($1, $2, $3, $4, $5)]
+[AS_VAR_COPY([LIBS], [py_check_lib_save_LIBS])]
+)
+
+dnl PY_CHECK_EMSCRIPTEN_PORT(PKG_VAR, [EMPORT_ARGS])
+dnl Use Emscripten port unless user passes ${PKG_VAR}_CFLAGS
+dnl or ${PKG_VAR}_LIBS to configure.
+AC_DEFUN([PY_CHECK_EMSCRIPTEN_PORT], [
+  AS_VAR_PUSHDEF([py_cflags], [$1_CFLAGS])
+  AS_VAR_PUSHDEF([py_libs], [$1_LIBS])
+  AS_IF([test "$ac_sys_system" = "Emscripten" -a -z "$py_cflags" -a -z "$py_libs"], [
+    py_cflags="$2"
+    py_libs="$2"
+  ])
+  AS_VAR_POPDEF([py_cflags])
+  AS_VAR_POPDEF([py_libs])
+])
+
 AC_SUBST(BASECPPFLAGS)
 if test "$srcdir" != . -a "$srcdir" != "$(pwd)"; then
     # If we're building out-of-tree, we need to make sure the following
@@ -3335,12 +3377,12 @@ AS_VAR_IF([have_uuid], [missing], [
       AC_DEFINE([HAVE_UUID_H], [1])
       AC_DEFINE([HAVE_UUID_GENERATE_TIME_SAFE], [1])
     ], [
-      AC_CHECK_HEADERS([uuid/uuid.h], [
-        WITH_SAVE_ENV(
-          [AC_CHECK_LIB([uuid], [uuid_generate_time], [have_uuid=yes])
-        ])
-        WITH_SAVE_ENV([
-          AC_CHECK_LIB([uuid], [uuid_generate_time_safe], [
+      WITH_SAVE_ENV([
+        CPPFLAGS="$CFLAGS $LIBUUID_CFLAGS"
+        LDFLAGS="$LDFLAGS $LIBUUID_LIBS"
+        AC_CHECK_HEADERS([uuid/uuid.h], [
+          PY_CHECK_LIB([uuid], [uuid_generate_time], [have_uuid=yes])
+          PY_CHECK_LIB([uuid], [uuid_generate_time_safe], [
             have_uuid=yes
             AC_DEFINE([HAVE_UUID_GENERATE_TIME_SAFE], [1])
           ])
@@ -3694,6 +3736,9 @@ AS_CASE([$ac_sys_system],
   [OSSAUDIODEV_LIBS=""]
 )
 
+dnl detect sqlite3 from Emscripten emport
+PY_CHECK_EMSCRIPTEN_PORT([LIBSQLITE3], [-sUSE_SQLITE3])
+
 dnl Check for SQLite library. Use pkg-config if available.
 PKG_CHECK_MODULES(
   [LIBSQLITE3], [sqlite3 >= 3.7.15], [], [
@@ -4675,64 +4720,63 @@ fi
 dnl Check for compression libraries
 AH_TEMPLATE([HAVE_ZLIB_COPY], [Define if the zlib library has inflateCopy])
 
+dnl detect zlib from Emscripten emport
+PY_CHECK_EMSCRIPTEN_PORT([ZLIB], [-sUSE_ZLIB])
+
 PKG_CHECK_MODULES([ZLIB], [zlib >= 1.2.0], [
   have_zlib=yes
   dnl zlib 1.2.0 (2003) added inflateCopy
   AC_DEFINE([HAVE_ZLIB_COPY], [1])
 ], [
-  AC_CHECK_HEADERS([zlib.h], [
-    WITH_SAVE_ENV([
-      AC_CHECK_LIB([z], [gzread], [
-        have_zlib=yes
-        ZLIB_CFLAGS=${ZLIB_CFLAGS-""}
-        ZLIB_LIBS=${ZLIB_LIBS-"-lz"}
-        AC_CHECK_LIB([z], [inflateCopy], [AC_DEFINE([HAVE_ZLIB_COPY], [1])])
-      ], [
-        have_zlib=no
-      ])
+  WITH_SAVE_ENV([
+    CPPFLAGS="$CFLAGS $ZLIB_CFLAGS"
+    LDFLAGS="$LDFLAGS $ZLIB_LIBS"
+    AC_CHECK_HEADERS([zlib.h], [
+      PY_CHECK_LIB([z], [gzread], [have_zlib=yes], [have_zlib=no])
+    ], [have_zlib=no])
+    AS_VAR_IF([have_zlib], [yes], [
+      ZLIB_CFLAGS=${ZLIB_CFLAGS-""}
+      ZLIB_LIBS=${ZLIB_LIBS-"-lz"}
+      PY_CHECK_LIB([z], [inflateCopy], [AC_DEFINE([HAVE_ZLIB_COPY], [1])])
     ])
-  ], [have_zlib=no])
+  ])
 ])
 
-if test "$have_zlib" = "yes" -a "$ac_sys_system" = "Emscripten" -a "$ZLIB_LIBS" = "-lz"; then
-  ZLIB_CFLAGS="-sUSE_ZLIB"
-  ZLIB_LIBS="-sUSE_ZLIB"
-fi
-
 dnl binascii can use zlib for optimized crc32.
 AS_VAR_IF([have_zlib], [yes], [
   BINASCII_CFLAGS="-DUSE_ZLIB_CRC32 $ZLIB_CFLAGS"
   BINASCII_LIBS="$ZLIB_LIBS"
 ])
 
+dnl detect bzip2 from Emscripten emport
+PY_CHECK_EMSCRIPTEN_PORT([BZIP2], [-sUSE_BZIP2])
+
 PKG_CHECK_MODULES([BZIP2], [bzip2], [have_bzip2=yes], [
-  AC_CHECK_HEADERS([bzlib.h], [
-    WITH_SAVE_ENV([
-      AC_CHECK_LIB([bz2], [BZ2_bzCompress], [
-        have_bzip2=yes
-        BZIP2_CFLAGS=${BZIP2_CFLAGS-""}
-        BZIP2_LIBS=${BZIP2_LIBS-"-lbz2"}
-      ], [have_bzip2=no])
+  WITH_SAVE_ENV([
+    CPPFLAGS="$CFLAGS $BZIP2_CFLAGS"
+    LDFLAGS="$LDFLAGS $BZIP2_LIBS"
+    AC_CHECK_HEADERS([bzlib.h], [
+      AC_CHECK_LIB([bz2], [BZ2_bzCompress], [have_bzip2=yes], [have_bzip2=no])
+    ], [have_bzip2=no])
+    AS_VAR_IF([have_bzip2], [yes], [
+      BZIP2_CFLAGS=${BZIP2_CFLAGS-""}
+      BZIP2_LIBS=${BZIP2_LIBS-"-lbz2"}
     ])
-  ], [have_bzip2=no])
+  ])
 ])
 
-if test "$have_bzip2" = "yes" -a "$ac_sys_system" = "Emscripten" -a "$BZIP2_LIBS" = "-lbz2"; then
-  BZIP2_CFLAGS="-sUSE_BZIP2"
-  BZIP2_LIBS="-sUSE_BZIP2"
-fi
-
-
 PKG_CHECK_MODULES([LIBLZMA], [liblzma], [have_liblzma=yes], [
-  AC_CHECK_HEADERS([lzma.h], [
-    WITH_SAVE_ENV([
-      AC_CHECK_LIB([lzma], [lzma_easy_encoder], [
-        have_liblzma=yes
-        LIBLZMA_CFLAGS=${LIBLZMA_CFLAGS-""}
-        LIBLZMA_LIBS=${LIBLZMA_LIBS-"-llzma"}
-      ], [have_liblzma=no])
+  WITH_SAVE_ENV([
+    CPPFLAGS="$CFLAGS $LIBLZMA_CFLAGS"
+    LDFLAGS="$LDFLAGS $LIBLZMA_LIBS"
+    AC_CHECK_HEADERS([lzma.h], [
+      AC_CHECK_LIB([lzma], [lzma_easy_encoder], [have_liblzma=yes], [have_liblzma=no])
+    ], [have_liblzma=no])
+    AS_VAR_IF([have_liblzma], [yes], [
+      LIBLZMA_CFLAGS=${LIBLZMA_CFLAGS-""}
+      LIBLZMA_LIBS=${LIBLZMA_LIBS-"-llzma"}
     ])
-  ], [have_liblzma=no])
+  ])
 ])
 
 PY_CHECK_FUNC([hstrerror], [#include <netdb.h>])



More information about the Python-checkins mailing list