summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikita Popov <nikita.ppv@gmail.com>2020-11-24 11:46:03 +0100
committerNikita Popov <nikita.ppv@gmail.com>2020-11-24 11:52:43 +0100
commit7965bc3656eff9753f45037b2d343017855591ee (patch)
treeb51df7c84162bc686c74541198d38826ab2ab673
parent61a3cff2fbb38fb0552e8ceb53d8e04c919d0661 (diff)
downloadphp-git-7965bc3656eff9753f45037b2d343017855591ee.tar.gz
Use pkg-config for libargon2
We already tried this in PHP 7.4, but ran into issues, because alpine did not support pkg-config for libargon2 (or had a broken pc file, not sure). The Alpine issue has been resolved in the meantime, so let's give this another try.
-rw-r--r--UPGRADING5
-rw-r--r--ext/standard/config.m431
2 files changed, 10 insertions, 26 deletions
diff --git a/UPGRADING b/UPGRADING
index c8c8d4b09e..dcc8641f2d 100644
--- a/UPGRADING
+++ b/UPGRADING
@@ -61,6 +61,11 @@ PHP 8.1 UPGRADE NOTES
- OpenSSL:
. The OpenSSL extension now requires at least OpenSSL version 1.0.2.
+- Standard:
+ . --with-password-argon2 now uses pkg-config to detect libargon2. As such,
+ an alternative libargon2 location should now be specified using
+ PKG_CONFIG_PATH.
+
========================================
10. New Global Constants
========================================
diff --git a/ext/standard/config.m4 b/ext/standard/config.m4
index 301540db58..d04add9629 100644
--- a/ext/standard/config.m4
+++ b/ext/standard/config.m4
@@ -390,34 +390,13 @@ dnl Check for argon2
dnl
PHP_ARG_WITH([password-argon2],
[for Argon2 support],
- [AS_HELP_STRING([[--with-password-argon2[=DIR]]],
- [Include Argon2 support in password_*. DIR is the Argon2 shared library
- path])])
+ [AS_HELP_STRING([[--with-password-argon2]],
+ [Include Argon2 support in password_*])])
if test "$PHP_PASSWORD_ARGON2" != "no"; then
- AC_MSG_CHECKING([for Argon2 library])
- for i in $PHP_PASSWORD_ARGON2 /usr /usr/local ; do
- if test -r $i/include/argon2.h; then
- ARGON2_DIR=$i;
- AC_MSG_RESULT(found in $i)
- break
- fi
- done
-
- if test -z "$ARGON2_DIR"; then
- AC_MSG_RESULT([not found])
- AC_MSG_ERROR([Please ensure the argon2 header and library are installed])
- fi
-
- PHP_ADD_LIBRARY_WITH_PATH(argon2, $ARGON2_DIR/$PHP_LIBDIR)
- PHP_ADD_INCLUDE($ARGON2_DIR/include)
-
- AC_CHECK_LIB(argon2, argon2id_hash_raw, [
- LIBS="$LIBS -largon2"
- AC_DEFINE(HAVE_ARGON2LIB, 1, [ Define to 1 if you have the <argon2.h> header file ])
- ], [
- AC_MSG_ERROR([Problem with libargon2.(a|so). Please verify that Argon2 header and libraries >= 20161029 are installed])
- ])
+ PKG_CHECK_MODULES([ARGON2], [libargon2])
+ PHP_EVAL_INCLINE($ARGON2_CFLAGS)
+ PHP_EVAL_LIBLINE($ARGON2_LIBS)
fi
dnl