Skip to content
Closed
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Merge branch 'main' into ac-use-save-restore
  • Loading branch information
Erlend E. Aasland committed Nov 29, 2021
commit 743cac4c4e45f7e1e82a60b19ad7eef18225c4da
51 changes: 19 additions & 32 deletions configure
Original file line number Diff line number Diff line change
Expand Up @@ -3945,7 +3945,7 @@ then
found_gcc=
found_clang=
save_IFS=$IFS
IFS=:
IFS=:
for as_dir in $PATH
do
IFS=$save_IFS
Expand Down Expand Up @@ -12355,21 +12355,12 @@ $as_echo_n "checking for --with-dbmliborder... " >&6; }
if test "${with_dbmliborder+set}" = set; then :
withval=$with_dbmliborder;
else
save_IFS=$IFS
IFS=:
for db in $with_dbmliborder; do
if test x$db != xndbm && test x$db != xgdbm && test x$db != xbdb
then
as_fn_error $? "proper usage is --with-dbmliborder=db1:db2:..." "$LINENO" 5
fi
done
IFS=$save_IFS
fi
with_dbmliborder=ndbm:gdbm:bdb
fi


have_gdbm_dbmliborder=no
as_save_IFS=$IFS
save_IFS=$IFS
IFS=:
for db in $with_dbmliborder; do
case $db in #(
Expand All @@ -12384,7 +12375,7 @@ for db in $with_dbmliborder; do
;;
esac
done
IFS=$as_save_IFS
IFS=$save_IFS
if test "x$with_dbmliborder" = xerror; then :

as_fn_error $? "proper usage is --with-dbmliborder=db1:db2:... (ndbm:gdbm:bdb)" "$LINENO" 5
Expand Down Expand Up @@ -20361,9 +20352,14 @@ fi

# checks for POSIX shared memory, used by Modules/_multiprocessing/posixshmem.c
# shm_* may only be available if linking against librt
POSIXSHMEM_CFLAGS='-I$(srcdir)/Modules/_multiprocessing'
save_CFLAGS=$CFLAGS
save_CPPFLAGS=$CPPFLAGS
save_LDFLAGS=$LDFLAGS
save_LIBS=$LIBS
save_ac_includes_default=$ac_includes_default
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing shm_open" >&5


{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing shm_open" >&5
$as_echo_n "checking for library containing shm_open... " >&6; }
if ${ac_cv_search_shm_open+:} false; then :
$as_echo_n "(cached) " >&6
Expand Down Expand Up @@ -20446,9 +20442,14 @@ else
fi
done

# we don't want to link with librt always, restore LIBS
ac_includes_default=$save_ac_includes_default

CFLAGS=$save_CFLAGS
CPPFLAGS=$save_CPPFLAGS
LDFLAGS=$save_LDFLAGS
LIBS=$save_LIBS
ac_includes_default=$save_ac_includes_default



# Check for usable OpenSSL

Expand Down Expand Up @@ -20764,16 +20765,7 @@ if ${ac_cv_working_openssl_ssl+:} false; then :
$as_echo_n "(cached) " >&6
else

save_CFLAGS=$CFLAGS
save_CPPFLAGS=$CPPFLAGS
save_LDFLAGS=$LDFLAGS
save_LIBS=$LIBS

LIBS="$LIBS $OPENSSL_LIBS"
CFLAGS="$CFLAGS_NODIST $OPENSSL_INCLUDES"
LDFLAGS="$LDFLAGS $OPENSSL_LDFLAGS"

cat confdefs.h - <<_ACEOF >conftest.$ac_ext
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */

#include <openssl/opensslv.h>
Expand Down Expand Up @@ -20806,11 +20798,6 @@ else
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
CFLAGS=$save_CFLAGS
CPPFLAGS=$save_CPPFLAGS
LDFLAGS=$save_LDFLAGS
LIBS=$save_LIBS


fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_working_openssl_ssl" >&5
Expand Down
154 changes: 81 additions & 73 deletions configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -680,7 +680,7 @@ then
found_gcc=
found_clang=
SAVE_VAR([IFS])
IFS=:
IFS=:
for as_dir in $PATH
do
RESTORE_VAR([IFS])
Expand Down Expand Up @@ -2902,16 +2902,32 @@ AC_CHECK_HEADERS([uuid.h], [
])
])

# check for libuuid from util-linux
SAVE_VAR([LIBS])
AC_CHECK_LIB([uuid], [uuid_generate_time])
RESTORE_VAR([LIBS])

# AIX provides support for RFC4122 (uuid) in libc.a starting with AIX 6.1 (anno 2007)
# FreeBSD and OpenBSD provides support in libc as well.
# Little-endian FreeBSD, OpenBSD and NetBSD needs encoding into an octet
# stream in big-endian byte-order
AC_CHECK_FUNCS([uuid_create uuid_enc_be])
AS_VAR_IF([have_uuid], [missing], [
PKG_CHECK_MODULES(
[LIBUUID], [uuid >= 2.20], [
dnl linux-util's libuuid has uuid_generate_time_safe() since v2.20 (2011)
dnl and provides <uuid.h>.
have_uuid=yes
AC_DEFINE([HAVE_UUID_H], [1])
AC_DEFINE([HAVE_UUID_GENERATE_TIME_SAFE], [1])
], [
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])
])
WITH_SAVE_ENV([
AC_CHECK_LIB([uuid], [uuid_generate_time_safe], [
have_uuid=yes
AC_DEFINE([HAVE_UUID_GENERATE_TIME_SAFE], [1])
])
])
])
]
)
])

# 'Real Time' functions on Solaris
# posix4 on Solaris 2.6
Expand Down Expand Up @@ -3399,21 +3415,23 @@ AC_CHECK_HEADERS([db.h], [
AC_MSG_CHECKING(for --with-dbmliborder)
AC_ARG_WITH(dbmliborder,
AS_HELP_STRING([--with-dbmliborder=db1:db2:...], [override order to check db backends for dbm; a valid value is a colon separated string with the backend names `ndbm', `gdbm' and `bdb'.]),
[
if test x$with_dbmliborder = xyes
then
AC_MSG_ERROR([proper usage is --with-dbmliborder=db1:db2:...])
else
SAVE_VAR([IFS])
IFS=:
for db in $with_dbmliborder; do
if test x$db != xndbm && test x$db != xgdbm && test x$db != xbdb
then
AC_MSG_ERROR([proper usage is --with-dbmliborder=db1:db2:...])
fi
done
RESTORE_VAR([IFS])
fi])
[], [with_dbmliborder=ndbm:gdbm:bdb])

have_gdbm_dbmliborder=no
SAVE_VAR([IFS])
IFS=:
for db in $with_dbmliborder; do
AS_CASE([$db],
[ndbm], [],
[gdbm], [have_gdbm_dbmliborder=yes],
[bdb], [],
[with_dbmliborder=error]
)
done
RESTORE_VAR([IFS])
AS_VAR_IF([with_dbmliborder], [error], [
AC_MSG_ERROR([proper usage is --with-dbmliborder=db1:db2:... (ndbm:gdbm:bdb)])
])
AC_MSG_RESULT($with_dbmliborder)

# Templates for things AC_DEFINEd more than once.
Expand Down Expand Up @@ -5896,27 +5914,24 @@ AS_VAR_IF([ac_cv_func_getrandom], [yes], [

# checks for POSIX shared memory, used by Modules/_multiprocessing/posixshmem.c
# shm_* may only be available if linking against librt
SAVE_VAR([LIBS])
SAVE_VAR([ac_includes_default])
AC_SEARCH_LIBS(shm_open, rt)
if test "$ac_cv_search_shm_open" = "-lrt"; then
AC_DEFINE(SHM_NEEDS_LIBRT, 1,
[Define to 1 if you must link with -lrt for shm_open().])
fi
AC_CHECK_HEADERS(sys/mman.h)
# temporarily override ac_includes_default for AC_CHECK_FUNCS below
ac_includes_default="\
${ac_includes_default}
#ifndef __cplusplus
# ifdef HAVE_SYS_MMAN_H
# include <sys/mman.h>
# endif
#endif
"
AC_CHECK_FUNCS([shm_open shm_unlink])
# we don't want to link with librt always, restore LIBS
RESTORE_VAR([LIBS])
RESTORE_VAR([ac_includes_default])
POSIXSHMEM_CFLAGS='-I$(srcdir)/Modules/_multiprocessing'
WITH_SAVE_ENV([
AC_SEARCH_LIBS([shm_open], [rt])
AS_VAR_IF([ac_cv_search_shm_open], [-lrt], [POSIXSHMEM_LIBS="-lrt"])

dnl Temporarily override ac_includes_default for AC_CHECK_FUNCS below.
SAVE_VAR([ac_includes_default])
ac_includes_default="\
${ac_includes_default}
#ifndef __cplusplus
# ifdef HAVE_SYS_MMAN_H
# include <sys/mman.h>
# endif
#endif
"
AC_CHECK_FUNCS([shm_open shm_unlink], [have_posix_shmem=yes], [have_posix_shmem=no])
RESTORE_VAR([ac_includes_default])
])

# Check for usable OpenSSL
AX_CHECK_OPENSSL([have_openssl=yes],[have_openssl=no])
Expand Down Expand Up @@ -5993,11 +6008,10 @@ for arg in $OPENSSL_LIBS; do
done

# check if OpenSSL libraries work as expected
AC_CACHE_CHECK([whether OpenSSL provides required APIs], [ac_cv_working_openssl], [
SAVE_ENV
LIBS="$LIBS $OPENSSL_LIBS"
CFLAGS="$CFLAGS_NODIST $OPENSSL_INCLUDES"
LDFLAGS="$LDFLAGS $OPENSSL_LDFLAGS"
WITH_SAVE_ENV([
LIBS="$LIBS $OPENSSL_LIBS"
CFLAGS="$CFLAGS $OPENSSL_INCLUDES"
LDFLAGS="$LDFLAGS $OPENSSL_LDFLAGS $OPENSSL_LDFLAGS_RPATH"

AC_CACHE_CHECK([whether OpenSSL provides required ssl module APIs], [ac_cv_working_openssl_ssl], [
AC_LINK_IFELSE([AC_LANG_PROGRAM([
Expand All @@ -6024,27 +6038,21 @@ WITH_SAVE_ENV([
CFLAGS="$CFLAGS $OPENSSL_INCLUDES"
LDFLAGS="$LDFLAGS $OPENSSL_LDFLAGS $OPENSSL_LDFLAGS_RPATH"

static void keylog_cb(const SSL *ssl, const char *line) {}
]], [[
/* SSL APIs */
SSL_CTX *ctx = SSL_CTX_new(TLS_client_method());
SSL_CTX_set_keylog_callback(ctx, keylog_cb);
SSL *ssl = SSL_new(ctx);
X509_VERIFY_PARAM *param = SSL_get0_param(ssl);
X509_VERIFY_PARAM_set1_host(param, "python.org", 0);
SSL_free(ssl);
SSL_CTX_free(ctx);

/* hashlib APIs */
OBJ_nid2sn(NID_md5);
OBJ_nid2sn(NID_sha1);
OBJ_nid2sn(NID_sha3_512);
OBJ_nid2sn(NID_blake2b512);
EVP_PBE_scrypt(NULL, 0, NULL, 0, 2, 8, 1, 0, NULL, 0);
]])],
[ac_cv_working_openssl=yes],
[ac_cv_working_openssl=no])
RESTORE_ENV
AC_CACHE_CHECK([whether OpenSSL provides required hashlib module APIs], [ac_cv_working_openssl_hashlib], [
AC_LINK_IFELSE([AC_LANG_PROGRAM([
#include <openssl/opensslv.h>
#include <openssl/evp.h>
#if OPENSSL_VERSION_NUMBER < 0x10101000L
#error "OpenSSL >= 1.1.1 is required"
#endif
], [
OBJ_nid2sn(NID_md5);
OBJ_nid2sn(NID_sha1);
OBJ_nid2sn(NID_sha3_512);
OBJ_nid2sn(NID_blake2b512);
EVP_PBE_scrypt(NULL, 0, NULL, 0, 2, 8, 1, 0, NULL, 0);
])], [ac_cv_working_openssl_hashlib=yes], [ac_cv_working_openssl_hashlib=no])
])
])

# ssl module default cipher suite string
Expand Down
You are viewing a condensed version of this merge commit. You can view the full changes here.