mirror of
https://github.com/php/php-src.git
synced 2026-03-24 00:02:20 +01:00
* hash: Add SSE2 implementation of SHA-256 Implementation taken from tarsnap/libcperciva@661752aee8. Co-authored-by: Christoph M. Becker <cmbecker69@gmx.de> Co-authored-by: Niels Dossche <7771979+nielsdos@users.noreply.github.com> * zend_cpuinfo: Add ZEND_CPU_FEATURE_SHA * hash: Add SHA-NI implementation of SHA-256 Implementation taken from tarsnap/libcperciva@661752aee8. Co-authored-by: Christoph M. Becker <cmbecker69@gmx.de> * NEWS / UPGRADING --------- Co-authored-by: Christoph M. Becker <cmbecker69@gmx.de> Co-authored-by: Niels Dossche <7771979+nielsdos@users.noreply.github.com>
64 lines
2.2 KiB
Plaintext
64 lines
2.2 KiB
Plaintext
PHP_ARG_WITH([mhash],
|
|
[for mhash support],
|
|
[AS_HELP_STRING([[--with-mhash]],
|
|
[Include mhash support])])
|
|
|
|
if test "$PHP_MHASH" != "no"; then
|
|
AC_MSG_WARN([The --with-mhash option and mhash* functions are deprecated as of PHP 8.1.0])
|
|
AC_DEFINE([PHP_MHASH_BC], [1], [Define to 1 if mhash support is enabled.])
|
|
fi
|
|
|
|
if test $ac_cv_c_bigendian_php = yes; then
|
|
EXT_HASH_SHA3_SOURCES="hash_sha3.c"
|
|
AC_DEFINE([HAVE_SLOW_HASH3], [1],
|
|
[Define to 1 if the PHP hash extension uses the slow SHA3 algorithm.])
|
|
AC_MSG_WARN([Using SHA3 slow implementation on bigendian])
|
|
SHA3_DIR=
|
|
else
|
|
AC_CHECK_SIZEOF([long])
|
|
AC_MSG_CHECKING([if we're at 64-bit platform])
|
|
AS_IF([test "$ac_cv_sizeof_long" -eq 4],[
|
|
AC_MSG_RESULT([no])
|
|
SHA3_DIR="sha3/generic32lc"
|
|
SHA3_OPT_SRC="$SHA3_DIR/KeccakP-1600-inplace32BI.c"
|
|
dnl Add -Wno-implicit-fallthrough flag as it happens on 32 bit builds
|
|
AX_CHECK_COMPILE_FLAG([-Wno-implicit-fallthrough],
|
|
[PHP_HASH_CFLAGS="$PHP_HASH_CFLAGS -Wno-implicit-fallthrough"],,
|
|
[-Werror])
|
|
],[
|
|
AC_MSG_RESULT([yes])
|
|
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="$PHP_HASH_CFLAGS -I@ext_srcdir@/$SHA3_DIR -DKeccakP200_excluded -DKeccakP400_excluded -DKeccakP800_excluded -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1"
|
|
fi
|
|
|
|
EXT_HASH_SOURCES="hash.c hash_md.c hash_sha.c hash_sha_sse2.c hash_sha_ni.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
|
|
murmur/PMurHash.c murmur/PMurHash128.c hash_murmur.c hash_xxhash.c"
|
|
|
|
PHP_NEW_EXTENSION([hash], [$EXT_HASH_SOURCES], [no],, [$PHP_HASH_CFLAGS])
|
|
PHP_ADD_BUILD_DIR([$ext_builddir/murmur])
|
|
AS_VAR_IF([SHA3_DIR],,, [PHP_ADD_BUILD_DIR([$ext_builddir/$SHA3_DIR])])
|
|
PHP_INSTALL_HEADERS([ext/hash], m4_normalize([
|
|
php_hash_adler32.h
|
|
php_hash_crc32.h
|
|
php_hash_fnv.h
|
|
php_hash_gost.h
|
|
php_hash_haval.h
|
|
php_hash_joaat.h
|
|
php_hash_md.h
|
|
php_hash_murmur.h
|
|
php_hash_ripemd.h
|
|
php_hash_sha.h
|
|
php_hash_sha3.h
|
|
php_hash_snefru.h
|
|
php_hash_tiger.h
|
|
php_hash_whirlpool.h
|
|
php_hash_xxhash.h
|
|
php_hash.h
|
|
xxhash/xxhash.h
|
|
]))
|