1dnl $Id$ 2dnl config.m4 for extension hash 3 4PHP_ARG_WITH(mhash, for mhash support, 5[ --with-mhash[=DIR] Include mhash support]) 6 7PHP_ARG_ENABLE(hash, whether to enable hash support, 8[ --disable-hash Disable hash support], yes) 9 10if test "$PHP_MHASH" != "no"; then 11 if test "$PHP_HASH" = "no"; then 12 PHP_HASH="yes" 13 fi 14 15 AC_DEFINE(PHP_MHASH_BC, 1, [ ]) 16fi 17 18if test "$PHP_HASH" != "no"; then 19 AC_DEFINE(HAVE_HASH_EXT,1,[Have HASH Extension]) 20 21 PHP_C_BIGENDIAN 22 23 AC_CHECK_SIZEOF(short, 2) 24 AC_CHECK_SIZEOF(int, 4) 25 AC_CHECK_SIZEOF(long, 4) 26 AC_CHECK_SIZEOF(long long, 8) 27 28 if test $ac_cv_c_bigendian_php = yes; then 29 EXT_HASH_SHA3_SOURCES="hash_sha3.c" 30 AC_DEFINE(HAVE_SLOW_HASH3, 1, [Define is hash3 algo is available]) 31 AC_MSG_WARN("Use SHA3 slow implementation on bigendian") 32 else 33 PHP_CHECK_64BIT([ 34 SHA3_DIR="sha3/generic32lc" 35 SHA3_OPT_SRC="$SHA3_DIR/KeccakP-1600-inplace32BI.c" 36 ],[ 37 SHA3_DIR="sha3/generic64lc" 38 SHA3_OPT_SRC="$SHA3_DIR/KeccakP-1600-opt64.c" 39 ]) 40 EXT_HASH_SHA3_SOURCES="$SHA3_OPT_SRC $SHA3_DIR/KeccakHash.c $SHA3_DIR/KeccakSponge.c hash_sha3.c" 41 PHP_HASH_CFLAGS="-I@ext_srcdir@/$SHA3_DIR -DKeccakP200_excluded -DKeccakP400_excluded -DKeccakP800_excluded" 42 43 PHP_ADD_BUILD_DIR(ext/hash/$SHA3_DIR, 1) 44 fi 45 46 EXT_HASH_SOURCES="hash.c hash_md.c hash_sha.c hash_ripemd.c hash_haval.c \ 47 hash_tiger.c hash_gost.c hash_snefru.c hash_whirlpool.c hash_adler32.c \ 48 hash_crc32.c hash_fnv.c hash_joaat.c $EXT_HASH_SHA3_SOURCES" 49 EXT_HASH_HEADERS="php_hash.h php_hash_md.h php_hash_sha.h php_hash_ripemd.h \ 50 php_hash_haval.h php_hash_tiger.h php_hash_gost.h php_hash_snefru.h \ 51 php_hash_whirlpool.h php_hash_adler32.h php_hash_crc32.h \ 52 php_hash_fnv.h php_hash_joaat.h php_hash_sha3.h" 53 54 PHP_NEW_EXTENSION(hash, $EXT_HASH_SOURCES, $ext_shared,,$PHP_HASH_CFLAGS) 55 ifdef([PHP_INSTALL_HEADERS], [ 56 PHP_INSTALL_HEADERS(ext/hash, $EXT_HASH_HEADERS) 57 ]) 58fi 59