xref: /PHP-7.2/ext/hash/config.m4 (revision 7f6387b5)
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