diff --git a/ext/hash/config.m4 b/ext/hash/config.m4 | |
index 070a78102a..947031a0d5 100644 | |
--- a/ext/hash/config.m4 | |
+++ b/ext/hash/config.m4 | |
@@ -3,9 +3,6 @@ dnl config.m4 for extension hash | |
PHP_ARG_WITH(mhash, for mhash support, | |
[ --with-mhash[=DIR] Include mhash support]) | |
-PHP_ARG_ENABLE(hash, whether to enable hash support, | |
-[ --disable-hash Disable hash support], yes) | |
- | |
if test "$PHP_MHASH" != "no"; then | |
if test "$PHP_HASH" = "no"; then | |
PHP_HASH="yes" | |
@@ -14,44 +11,42 @@ if test "$PHP_MHASH" != "no"; then | |
AC_DEFINE(PHP_MHASH_BC, 1, [ ]) | |
fi | |
-if test "$PHP_HASH" != "no"; then | |
- AC_DEFINE(HAVE_HASH_EXT,1,[Have HASH Extension]) | |
- | |
- PHP_C_BIGENDIAN | |
- | |
- AC_CHECK_SIZEOF(short, 2) | |
- AC_CHECK_SIZEOF(int, 4) | |
- AC_CHECK_SIZEOF(long, 4) | |
- AC_CHECK_SIZEOF(long long, 8) | |
- | |
- if test $ac_cv_c_bigendian_php = yes; then | |
- EXT_HASH_SHA3_SOURCES="hash_sha3.c" | |
- AC_DEFINE(HAVE_SLOW_HASH3, 1, [Define is hash3 algo is available]) | |
- AC_MSG_WARN("Use SHA3 slow implementation on bigendian") | |
- else | |
- PHP_CHECK_64BIT([ | |
- SHA3_DIR="sha3/generic32lc" | |
- SHA3_OPT_SRC="$SHA3_DIR/KeccakP-1600-inplace32BI.c" | |
- ],[ | |
- SHA3_DIR="sha3/generic64lc" | |
- SHA3_OPT_SRC="$SHA3_DIR/KeccakP-1600-opt64.c" | |
- ]) | |
- EXT_HASH_SHA3_SOURCES="$SHA3_OPT_SRC $SHA3_DIR/KeccakHash.c $SHA3_DIR/KeccakSponge.c hash_sha3.c" | |
- PHP_HASH_CFLAGS="-I@ext_srcdir@/$SHA3_DIR -DKeccakP200_excluded -DKeccakP400_excluded -DKeccakP800_excluded" | |
- | |
- PHP_ADD_BUILD_DIR(ext/hash/$SHA3_DIR, 1) | |
- fi | |
- | |
- EXT_HASH_SOURCES="hash.c hash_md.c hash_sha.c hash_ripemd.c hash_haval.c \ | |
- hash_tiger.c hash_gost.c hash_snefru.c hash_whirlpool.c hash_adler32.c \ | |
- hash_crc32.c hash_fnv.c hash_joaat.c $EXT_HASH_SHA3_SOURCES" | |
- EXT_HASH_HEADERS="php_hash.h php_hash_md.h php_hash_sha.h php_hash_ripemd.h \ | |
- php_hash_haval.h php_hash_tiger.h php_hash_gost.h php_hash_snefru.h \ | |
- php_hash_whirlpool.h php_hash_adler32.h php_hash_crc32.h \ | |
- php_hash_fnv.h php_hash_joaat.h php_hash_sha3.h" | |
- | |
- PHP_NEW_EXTENSION(hash, $EXT_HASH_SOURCES, $ext_shared,,$PHP_HASH_CFLAGS) | |
- ifdef([PHP_INSTALL_HEADERS], [ | |
- PHP_INSTALL_HEADERS(ext/hash, $EXT_HASH_HEADERS) | |
+AC_DEFINE(HAVE_HASH_EXT,1,[Have HASH Extension]) | |
+ | |
+PHP_C_BIGENDIAN | |
+ | |
+AC_CHECK_SIZEOF(short, 2) | |
+AC_CHECK_SIZEOF(int, 4) | |
+AC_CHECK_SIZEOF(long, 4) | |
+AC_CHECK_SIZEOF(long long, 8) | |
+ | |
+if test $ac_cv_c_bigendian_php = yes; then | |
+ EXT_HASH_SHA3_SOURCES="hash_sha3.c" | |
+ AC_DEFINE(HAVE_SLOW_HASH3, 1, [Define is hash3 algo is available]) | |
+ AC_MSG_WARN("Use SHA3 slow implementation on bigendian") | |
+else | |
+ PHP_CHECK_64BIT([ | |
+ SHA3_DIR="sha3/generic32lc" | |
+ SHA3_OPT_SRC="$SHA3_DIR/KeccakP-1600-inplace32BI.c" | |
+ ],[ | |
+ SHA3_DIR="sha3/generic64lc" | |
+ SHA3_OPT_SRC="$SHA3_DIR/KeccakP-1600-opt64.c" | |
]) | |
+ EXT_HASH_SHA3_SOURCES="$SHA3_OPT_SRC $SHA3_DIR/KeccakHash.c $SHA3_DIR/KeccakSponge.c hash_sha3.c" | |
+ PHP_HASH_CFLAGS="-I@ext_srcdir@/$SHA3_DIR -DKeccakP200_excluded -DKeccakP400_excluded -DKeccakP800_excluded" | |
+ | |
+ PHP_ADD_BUILD_DIR(ext/hash/$SHA3_DIR, 1) | |
fi | |
+ | |
+EXT_HASH_SOURCES="hash.c hash_md.c hash_sha.c hash_ripemd.c hash_haval.c \ | |
+ hash_tiger.c hash_gost.c hash_snefru.c hash_whirlpool.c hash_adler32.c \ | |
+ hash_crc32.c hash_fnv.c hash_joaat.c $EXT_HASH_SHA3_SOURCES" | |
+EXT_HASH_HEADERS="php_hash.h php_hash_md.h php_hash_sha.h php_hash_ripemd.h \ | |
+ php_hash_haval.h php_hash_tiger.h php_hash_gost.h php_hash_snefru.h \ | |
+ php_hash_whirlpool.h php_hash_adler32.h php_hash_crc32.h \ | |
+ php_hash_fnv.h php_hash_joaat.h php_hash_sha3.h" | |
+ | |
+PHP_NEW_EXTENSION(hash, $EXT_HASH_SOURCES, $ext_shared,,$PHP_HASH_CFLAGS) | |
+ifdef([PHP_INSTALL_HEADERS], [ | |
+ PHP_INSTALL_HEADERS(ext/hash, $EXT_HASH_HEADERS) | |
+]) | |
diff --git a/ext/hash/config.w32 b/ext/hash/config.w32 | |
index 545c8673ff..db7d3b58e8 100644 | |
--- a/ext/hash/config.w32 | |
+++ b/ext/hash/config.w32 | |
@@ -1,34 +1,36 @@ | |
// vim:ft=javascript | |
-ARG_ENABLE("hash", "enable hash support", "yes"); | |
-ARG_WITH("mhash", "mhash support", "no"); | |
+ARG_WITH('mhash', 'mhash support (BC via hash)', 'no'); | |
-if (PHP_MHASH != "no") { | |
- if (PHP_HASH == "no") { | |
- PHP_HASH = "yes"; | |
- } | |
+if (PHP_MHASH != 'no') { | |
AC_DEFINE('PHP_MHASH_BC', 1); | |
} | |
-if (PHP_HASH != "no") { | |
- var sha3_arch_dir = "sha3/" + (X64 ? "generic64lc" : "generic32lc"); | |
- var sha3_dir = "ext/hash/" + sha3_arch_dir; | |
- if (CHECK_HEADER_ADD_INCLUDE("KeccakHash.h", "CFLAGS_HASH", PHP_HASH + ";" + sha3_dir)) { | |
- AC_DEFINE('HAVE_HASH_EXT', 1); | |
- EXTENSION("hash", "hash.c hash_md.c hash_sha.c hash_ripemd.c hash_haval.c " | |
- + "hash_tiger.c hash_gost.c hash_snefru.c hash_whirlpool.c " | |
- + "hash_adler32.c hash_crc32.c hash_joaat.c hash_fnv.c hash_sha3.c"); | |
- | |
- ADD_SOURCES(sha3_dir, "KeccakHash.c KeccakSponge.c " + (X64 ? "KeccakP-1600-opt64.c" : "KeccakP-1600-inplace32BI.c"), | |
- "hash"); | |
- ADD_FLAG("CFLAGS_HASH", "/DKeccakP200_excluded /DKeccakP400_excluded /DKeccakP800_excluded"); | |
- | |
- | |
- PHP_INSTALL_HEADERS("ext/hash/", "php_hash.h php_hash_md.h php_hash_sha.h php_hash_ripemd.h " + | |
- "php_hash_haval.h php_hash_tiger.h php_hash_gost.h php_hash_snefru.h " + | |
- "php_hash_whirlpool.h php_hash_adler32.h php_hash_crc32.h php_hash_sha3.h "); | |
- } else { | |
- WARNING("hash not enabled; libraries and headers not found"); | |
- } | |
+AC_DEFINE('HAVE_HASH_EXT', 1); | |
+ | |
+PHP_HASH = 'yes'; | |
+ | |
+EXTENSION('hash', 'hash.c hash_md.c hash_sha.c hash_ripemd.c hash_haval.c ' + | |
+ 'hash_tiger.c hash_gost.c hash_snefru.c hash_whirlpool.c ' + | |
+ 'hash_adler32.c hash_crc32.c hash_joaat.c hash_fnv.c ' + | |
+ 'hash_sha3.c', false); | |
+ | |
+var hash_sha3_dir = 'ext/hash/sha3/generic' + (X64 ? '64' : '32') + 'lc'; | |
+ | |
+if(X64) { | |
+ ADD_SOURCES(hash_sha3_dir, 'KeccakHash.c KeccakSponge.c KeccakP-1600-opt64.c', 'hash'); | |
+} else { | |
+ ADD_SOURCES(hash_sha3_dir, 'KeccakHash.c KeccakSponge.c KeccakP-1600-inplace32BI.c', 'hash'); | |
} | |
+if (!CHECK_HEADER_ADD_INCLUDE('KeccakHash.h', 'CFLAGS_HASH', hash_sha3_dir)) { | |
+ // Should NEVER happen | |
+ ERROR('Unable to locate SHA3 headers'); | |
+} | |
+ | |
+ADD_FLAG('CFLAGS_HASH', '/DKeccakP200_excluded /DKeccakP400_excluded /DKeccakP800_excluded'); | |
+ | |
+PHP_INSTALL_HEADERS('ext/hash/', 'php_hash.h php_hash_md.h php_hash_sha.h ' + | |
+ 'php_hash_ripemd.h php_hash_haval.h php_hash_tiger.h ' + | |
+ 'php_hash_gost.h php_hash_snefru.h php_hash_whirlpool.h ' + | |
+ 'php_hash_adler32.h php_hash_crc32.h php_hash_sha3.h'); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment