From bdcef51bcb367323f2eea4808f34a1b3e58bd3d8 Mon Sep 17 00:00:00 2001 From: Hugh McMaster Date: Fri, 7 Jun 2019 19:44:22 +1000 Subject: [PATCH] ext/standard: Use PKG_CHECK_MODULES to detect the Argon2 library --- azure/apt.yml | 1 + azure/job.yml | 1 + ext/standard/config.m4 | 36 +++++++++--------------------------- 3 files changed, 11 insertions(+), 27 deletions(-) diff --git a/azure/apt.yml b/azure/apt.yml index 4ce769cea44..843ae1daf19 100644 --- a/azure/apt.yml +++ b/azure/apt.yml @@ -31,6 +31,7 @@ steps: libreadline-dev \ libldap2-dev \ libsasl2-dev \ + libargon2-0-dev \ postgresql \ postgresql-contrib \ ${{ parameters.packages }} diff --git a/azure/job.yml b/azure/job.yml index 2b6960c9613..003a6d20a6f 100644 --- a/azure/job.yml +++ b/azure/job.yml @@ -58,6 +58,7 @@ jobs: --enable-zend-test \ --with-ldap \ --with-ldap-sasl \ + --with-password-argon2 \ --enable-werror \ --with-config-file-path=/etc \ --with-config-file-scan-dir=/etc/php.d diff --git a/ext/standard/config.m4 b/ext/standard/config.m4 index 891fca2ffa0..20ff3d55c05 100644 --- a/ext/standard/config.m4 +++ b/ext/standard/config.m4 @@ -406,36 +406,18 @@ AC_CHECK_DECLS([arc4random_buf]) dnl 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])]) +PHP_ARG_WITH([argon2], + [whether to build with Argon2 support], + [AS_HELP_STRING([--with-argon2], + [Build with Argon2 support])]) -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 "$PHP_ARGON2" != "no"; then + PKG_CHECK_MODULES([ARGON2], [libargon2]) - 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_EVAL_INCLINE($ARGON2_CFLAGS) + PHP_EVAL_LIBLINE($ARGON2_LIBS, ARGON2_SHARED_LIBADD) - 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 header file ]) - ], [ - AC_MSG_ERROR([Problem with libargon2.(a|so). Please verify that Argon2 header and libraries >= 20161029 are installed]) - ]) + AC_DEFINE(HAVE_ARGON2LIB, 1, [ ]) fi dnl