1dnl config.m4 for extension sodium 2 3PHP_ARG_WITH(sodium, for sodium support, 4[ --with-sodium[=DIR] Include sodium support]) 5 6if test "$PHP_SODIUM" != "no"; then 7 SEARCH_PATH="/usr/local /usr" # you might want to change this 8 SEARCH_FOR="/include/sodium.h" # you most likely want to change this 9 10 AC_PATH_PROG(PKG_CONFIG, pkg-config, no) 11 AC_MSG_CHECKING([for libsodium]) 12 13 dnl user provided location 14 if test -r $PHP_SODIUM/$SEARCH_FOR; then # path given as parameter 15 LIBSODIUM_DIR=$PHP_SODIUM 16 AC_MSG_RESULT([found in $PHP_SODIUM]) 17 18 dnl pkg-config output 19 elif test -x "$PKG_CONFIG" && $PKG_CONFIG --exists libsodium; then 20 LIBSODIUM_VERSION=`$PKG_CONFIG libsodium --modversion` 21 if $PKG_CONFIG libsodium --atleast-version=1.0.8; then 22 LIBSODIUM_CFLAGS=`$PKG_CONFIG libsodium --cflags` 23 LIBSODIUM_LIBS=`$PKG_CONFIG libsodium --libs` 24 AC_MSG_RESULT(version $LIBSODIUM_VERSION found using pkg-config) 25 PHP_EVAL_LIBLINE($LIBSODIUM_LIBS, SODIUM_SHARED_LIBADD) 26 PHP_EVAL_INCLINE($LIBSODIUM_CFLAGS) 27 else 28 AC_MSG_ERROR([Libsodium $LIBSODIUM_VERSION is too old, version >= 1.0.8 required]) 29 fi 30 31 dnl search default path list 32 else 33 for i in $SEARCH_PATH ; do 34 if test -r $i/$SEARCH_FOR; then 35 LIBSODIUM_DIR=$i 36 AC_MSG_RESULT(found in $i) 37 fi 38 done 39 if test -z "$LIBSODIUM_DIR"; then 40 AC_MSG_ERROR([Please install libsodium - See https://github.com/jedisct1/libsodium]) 41 fi 42 fi 43 44 LIBNAME=sodium 45 LIBSYMBOL=sodium_add 46 47 if test -n "$LIBSODIUM_DIR"; then 48 PHP_ADD_INCLUDE($LIBSODIUM_DIR/include) 49 PHP_ADD_LIBRARY_WITH_PATH($LIBNAME, $LIBSODIUM_DIR/$PHP_LIBDIR, SODIUM_SHARED_LIBADD) 50 fi 51 52 PHP_CHECK_LIBRARY($LIBNAME,$LIBSYMBOL, 53 [ 54 AC_DEFINE(HAVE_LIBSODIUMLIB,1,[ ]) 55 ],[ 56 AC_MSG_ERROR([wrong libsodium lib version (< 1.0.8) or lib not found]) 57 ],[ 58 ]) 59 60 PHP_SUBST(SODIUM_SHARED_LIBADD) 61 62 PHP_NEW_EXTENSION(sodium, libsodium.c, $ext_shared) 63fi 64