@@ -656,6 +656,8 @@ MODULE_NIS_FALSE
656656MODULE_NIS_TRUE
657657MODULE__DECIMAL_FALSE
658658MODULE__DECIMAL_TRUE
659+ MODULE__CRYPT_FALSE
660+ MODULE__CRYPT_TRUE
659661MODULE__BLAKE2_FALSE
660662MODULE__BLAKE2_TRUE
661663MODULE__SHA3_FALSE
@@ -784,6 +786,8 @@ HAVE_GETHOSTBYNAME_R
784786HAVE_GETHOSTBYNAME_R_3_ARG
785787HAVE_GETHOSTBYNAME_R_5_ARG
786788HAVE_GETHOSTBYNAME_R_6_ARG
789+ LIBCRYPT_LIBS
790+ LIBCRYPT_CFLAGS
787791LIBOBJS
788792LIBLZMA_LIBS
789793LIBLZMA_CFLAGS
@@ -1041,7 +1045,9 @@ ZLIB_LIBS
10411045BZIP2_CFLAGS
10421046BZIP2_LIBS
10431047LIBLZMA_CFLAGS
1044- LIBLZMA_LIBS'
1048+ LIBLZMA_LIBS
1049+ LIBCRYPT_CFLAGS
1050+ LIBCRYPT_LIBS'
10451051
10461052
10471053# Initialize some variables set by options.
@@ -1831,6 +1837,10 @@ Some influential environment variables:
18311837 C compiler flags for LIBLZMA, overriding pkg-config
18321838 LIBLZMA_LIBS
18331839 linker flags for LIBLZMA, overriding pkg-config
1840+ LIBCRYPT_CFLAGS
1841+ C compiler flags for LIBCRYPT, overriding pkg-config
1842+ LIBCRYPT_LIBS
1843+ linker flags for LIBCRYPT, overriding pkg-config
18341844
18351845Use these variables to override the choices made by `configure' or to help
18361846it to find libraries and programs with nonstandard names/locations.
@@ -15251,11 +15261,75 @@ fi
1525115261done
1525215262
1525315263
15254- # We search for both crypt and crypt_r as one or the other may be defined
15255- # This gets us our -lcrypt in LIBS when required on the target platform.
15256- # Save/restore LIBS to avoid linking libpython with libcrypt.
15257- LIBS_SAVE=$LIBS
15258- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing crypt_r" >&5
15264+
15265+
15266+
15267+ pkg_failed=no
15268+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for LIBCRYPT" >&5
15269+ $as_echo_n "checking for LIBCRYPT... " >&6; }
15270+
15271+ if test -n "$LIBCRYPT_CFLAGS"; then
15272+ pkg_cv_LIBCRYPT_CFLAGS="$LIBCRYPT_CFLAGS"
15273+ elif test -n "$PKG_CONFIG"; then
15274+ if test -n "$PKG_CONFIG" && \
15275+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libxcrypt >= 3.1.1\""; } >&5
15276+ ($PKG_CONFIG --exists --print-errors "libxcrypt >= 3.1.1") 2>&5
15277+ ac_status=$?
15278+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
15279+ test $ac_status = 0; }; then
15280+ pkg_cv_LIBCRYPT_CFLAGS=`$PKG_CONFIG --cflags "libxcrypt >= 3.1.1" 2>/dev/null`
15281+ test "x$?" != "x0" && pkg_failed=yes
15282+ else
15283+ pkg_failed=yes
15284+ fi
15285+ else
15286+ pkg_failed=untried
15287+ fi
15288+ if test -n "$LIBCRYPT_LIBS"; then
15289+ pkg_cv_LIBCRYPT_LIBS="$LIBCRYPT_LIBS"
15290+ elif test -n "$PKG_CONFIG"; then
15291+ if test -n "$PKG_CONFIG" && \
15292+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libxcrypt >= 3.1.1\""; } >&5
15293+ ($PKG_CONFIG --exists --print-errors "libxcrypt >= 3.1.1") 2>&5
15294+ ac_status=$?
15295+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
15296+ test $ac_status = 0; }; then
15297+ pkg_cv_LIBCRYPT_LIBS=`$PKG_CONFIG --libs "libxcrypt >= 3.1.1" 2>/dev/null`
15298+ test "x$?" != "x0" && pkg_failed=yes
15299+ else
15300+ pkg_failed=yes
15301+ fi
15302+ else
15303+ pkg_failed=untried
15304+ fi
15305+
15306+
15307+
15308+ if test $pkg_failed = yes; then
15309+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
15310+ $as_echo "no" >&6; }
15311+
15312+ if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
15313+ _pkg_short_errors_supported=yes
15314+ else
15315+ _pkg_short_errors_supported=no
15316+ fi
15317+ if test $_pkg_short_errors_supported = yes; then
15318+ LIBCRYPT_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libxcrypt >= 3.1.1" 2>&1`
15319+ else
15320+ LIBCRYPT_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libxcrypt >= 3.1.1" 2>&1`
15321+ fi
15322+ # Put the nasty error message in config.log where it belongs
15323+ echo "$LIBCRYPT_PKG_ERRORS" >&5
15324+
15325+
15326+ save_CFLAGS=$CFLAGS
15327+ save_CPPFLAGS=$CPPFLAGS
15328+ save_LDFLAGS=$LDFLAGS
15329+ save_LIBS=$LIBS
15330+
15331+
15332+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing crypt_r" >&5
1525915333$as_echo_n "checking for library containing crypt_r... " >&6; }
1526015334if ${ac_cv_search_crypt_r+:} false; then :
1526115335 $as_echo_n "(cached) " >&6
@@ -15309,12 +15383,37 @@ ac_res=$ac_cv_search_crypt_r
1530915383if test "$ac_res" != no; then :
1531015384 test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
1531115385
15386+ $as_echo "#define HAVE_CRYPT_R 1" >>confdefs.h
15387+
15388+ if test "$ac_cv_search_crypt_r" = "none required"; then
15389+ LIBCRYPT_LIBS=
15390+ else
15391+ LIBCRYPT_LIBS="$ac_cv_search_crypt_r"
15392+ fi
15393+
1531215394fi
1531315395
15314- LIBS="$LIBS_SAVE"
15315- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing crypt" >&5
15316- $as_echo_n "checking for library containing crypt... " >&6; }
15317- if ${ac_cv_search_crypt+:} false; then :
15396+
15397+ CFLAGS=$save_CFLAGS
15398+ CPPFLAGS=$save_CPPFLAGS
15399+ LDFLAGS=$save_LDFLAGS
15400+ LIBS=$save_LIBS
15401+
15402+
15403+
15404+ elif test $pkg_failed = untried; then
15405+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
15406+ $as_echo "no" >&6; }
15407+
15408+ save_CFLAGS=$CFLAGS
15409+ save_CPPFLAGS=$CPPFLAGS
15410+ save_LDFLAGS=$LDFLAGS
15411+ save_LIBS=$LIBS
15412+
15413+
15414+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing crypt_r" >&5
15415+ $as_echo_n "checking for library containing crypt_r... " >&6; }
15416+ if ${ac_cv_search_crypt_r+:} false; then :
1531815417 $as_echo_n "(cached) " >&6
1531915418else
1532015419 ac_func_search_save_LIBS=$LIBS
@@ -15327,11 +15426,11 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
1532715426#ifdef __cplusplus
1532815427extern "C"
1532915428#endif
15330- char crypt ();
15429+ char crypt_r ();
1533115430int
1533215431main ()
1533315432{
15334- return crypt ();
15433+ return crypt_r ();
1533515434 ;
1533615435 return 0;
1533715436}
@@ -15344,59 +15443,112 @@ for ac_lib in '' crypt; do
1534415443 LIBS="-l$ac_lib $ac_func_search_save_LIBS"
1534515444 fi
1534615445 if ac_fn_c_try_link "$LINENO"; then :
15347- ac_cv_search_crypt =$ac_res
15446+ ac_cv_search_crypt_r =$ac_res
1534815447fi
1534915448rm -f core conftest.err conftest.$ac_objext \
1535015449 conftest$ac_exeext
15351- if ${ac_cv_search_crypt +:} false; then :
15450+ if ${ac_cv_search_crypt_r +:} false; then :
1535215451 break
1535315452fi
1535415453done
15355- if ${ac_cv_search_crypt +:} false; then :
15454+ if ${ac_cv_search_crypt_r +:} false; then :
1535615455
1535715456else
15358- ac_cv_search_crypt =no
15457+ ac_cv_search_crypt_r =no
1535915458fi
1536015459rm conftest.$ac_ext
1536115460LIBS=$ac_func_search_save_LIBS
1536215461fi
15363- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_crypt " >&5
15364- $as_echo "$ac_cv_search_crypt " >&6; }
15365- ac_res=$ac_cv_search_crypt
15462+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_crypt_r " >&5
15463+ $as_echo "$ac_cv_search_crypt_r " >&6; }
15464+ ac_res=$ac_cv_search_crypt_r
1536615465if test "$ac_res" != no; then :
1536715466 test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
1536815467
15468+ $as_echo "#define HAVE_CRYPT_R 1" >>confdefs.h
15469+
15470+ if test "$ac_cv_search_crypt_r" = "none required"; then
15471+ LIBCRYPT_LIBS=
15472+ else
15473+ LIBCRYPT_LIBS="$ac_cv_search_crypt_r"
15474+ fi
15475+
1536915476fi
1537015477
1537115478
15372- ac_fn_c_check_func "$LINENO" "crypt_r" "ac_cv_func_crypt_r"
15373- if test "x$ac_cv_func_crypt_r" = xyes; then :
15374- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
15479+ CFLAGS=$save_CFLAGS
15480+ CPPFLAGS=$save_CPPFLAGS
15481+ LDFLAGS=$save_LDFLAGS
15482+ LIBS=$save_LIBS
15483+
15484+
15485+
15486+ else
15487+ LIBCRYPT_CFLAGS=$pkg_cv_LIBCRYPT_CFLAGS
15488+ LIBCRYPT_LIBS=$pkg_cv_LIBCRYPT_LIBS
15489+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
15490+ $as_echo "yes" >&6; }
15491+
15492+ $as_echo "#define HAVE_CRYPT_R 1" >>confdefs.h
15493+
15494+
15495+ fi
15496+
15497+ save_CFLAGS=$CFLAGS
15498+ save_CPPFLAGS=$CPPFLAGS
15499+ save_LDFLAGS=$LDFLAGS
15500+ save_LIBS=$LIBS
15501+
15502+
15503+ CPPFLAGS="$LIBCRYPT_CFLAGS $CFLAGS"
15504+ LDFLAGS="$LIBCRYPT_LIBS $LDFLAGS"
15505+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for crypt or crypt_r" >&5
15506+ $as_echo_n "checking for crypt or crypt_r... " >&6; }
15507+ if ${ac_cv_crypt_crypt+:} false; then :
15508+ $as_echo_n "(cached) " >&6
15509+ else
15510+
15511+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
1537515512/* end confdefs.h. */
1537615513
15377- #include <crypt.h>
15514+ #ifdef HAVE_CRYPT_H
15515+ #include <crypt.h>
15516+ #endif
15517+ #include <unistd.h>
1537815518
1537915519int
1538015520main ()
1538115521{
1538215522
15383- struct crypt_data d;
15384- char *r = crypt_r("", "", &d);
15523+ #ifdef HAVE_CRYPT_R
15524+ void *x = crypt_r;
15525+ #else
15526+ void *x = crypt;
15527+ #endif
1538515528
1538615529 ;
1538715530 return 0;
1538815531}
15389- _ACEOF
15390- if ac_fn_c_try_compile "$LINENO"; then :
15391-
15392- $as_echo "#define HAVE_CRYPT_R 1" >>confdefs.h
1539315532
15533+ _ACEOF
15534+ if ac_fn_c_try_link "$LINENO"; then :
15535+ ac_cv_crypt_crypt=yes
15536+ else
15537+ ac_cv_crypt_crypt=no
1539415538fi
15395- rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
15539+ rm -f core conftest.err conftest.$ac_objext \
15540+ conftest$ac_exeext conftest.$ac_ext
1539615541
1539715542fi
15543+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_crypt_crypt" >&5
15544+ $as_echo "$ac_cv_crypt_crypt" >&6; }
15545+
15546+ CFLAGS=$save_CFLAGS
15547+ CPPFLAGS=$save_CPPFLAGS
15548+ LDFLAGS=$save_LDFLAGS
15549+ LIBS=$save_LIBS
15550+
1539815551
15399- LIBS=$LIBS_SAVE
1540015552
1540115553for ac_func in clock_gettime
1540215554do :
@@ -21381,6 +21533,42 @@ $as_echo "$py_cv_module__blake2" >&6; }
2138121533
2138221534
2138321535
21536+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdlib extension module _crypt" >&5
21537+ $as_echo_n "checking for stdlib extension module _crypt... " >&6; }
21538+ case $py_stdlib_not_available in #(
21539+ *_crypt*) :
21540+ py_cv_module__crypt=n/a ;; #(
21541+ *) :
21542+ if true; then :
21543+ if test "$ac_cv_crypt_crypt" = yes; then :
21544+ py_cv_module__crypt=yes
21545+ else
21546+ py_cv_module__crypt=missing
21547+ fi
21548+ else
21549+ py_cv_module__crypt=disabled
21550+ fi
21551+ ;;
21552+ esac
21553+ as_fn_append MODULE_BLOCK "MODULE__CRYPT=$py_cv_module__crypt$as_nl"
21554+ if test "x$py_cv_module__crypt" = xyes; then :
21555+
21556+ as_fn_append MODULE_BLOCK "MODULE__CRYPT_CFLAGS=$LIBCRYPT_CFLAGS$as_nl"
21557+ as_fn_append MODULE_BLOCK "MODULE__CRYPT_LDFLAGS=$LIBCRYPT_LIBS$as_nl"
21558+
21559+ fi
21560+ if test "$py_cv_module__crypt" = yes; then
21561+ MODULE__CRYPT_TRUE=
21562+ MODULE__CRYPT_FALSE='#'
21563+ else
21564+ MODULE__CRYPT_TRUE='#'
21565+ MODULE__CRYPT_FALSE=
21566+ fi
21567+
21568+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $py_cv_module__crypt" >&5
21569+ $as_echo "$py_cv_module__crypt" >&6; }
21570+
21571+
2138421572 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdlib extension module _decimal" >&5
2138521573$as_echo_n "checking for stdlib extension module _decimal... " >&6; }
2138621574 case $py_stdlib_not_available in #(
@@ -22261,6 +22449,10 @@ if test -z "${MODULE__BLAKE2_TRUE}" && test -z "${MODULE__BLAKE2_FALSE}"; then
2226122449 as_fn_error $? "conditional \"MODULE__BLAKE2\" was never defined.
2226222450Usually this means the macro was only invoked conditionally." "$LINENO" 5
2226322451fi
22452+ if test -z "${MODULE__CRYPT_TRUE}" && test -z "${MODULE__CRYPT_FALSE}"; then
22453+ as_fn_error $? "conditional \"MODULE__CRYPT\" was never defined.
22454+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
22455+ fi
2226422456if test -z "${MODULE__DECIMAL_TRUE}" && test -z "${MODULE__DECIMAL_FALSE}"; then
2226522457 as_fn_error $? "conditional \"MODULE__DECIMAL\" was never defined.
2226622458Usually this means the macro was only invoked conditionally." "$LINENO" 5
0 commit comments