Commit f99ca6347f4 for php.net
commit f99ca6347f456e18adb22c8c89e92681bb55d84d
Author: Peter Kokot <peterkokot@gmail.com>
Date: Fri Mar 6 14:11:20 2026 +0100
Windows build: Use GREP_HEADER() instead of CHECK_FUNC_IN_HEADER() (#21315)
This removes the following unused compile definitions:
- HAVE_OSSL_SET_MAX_THREADS
- HAVE_ARGON2ID_HASH_RAW
The CHECK_FUNC_IN_HEADER() function defines the 'HAVE_<FUNCTION>'
compile definitions to 0 or 1, but these aren't used in the code.
Defining such preprocessor macros makes it difficult to track and sync
with other build systems.
diff --git a/ext/openssl/config.w32 b/ext/openssl/config.w32
index 714f93a0176..6fd0e928422 100644
--- a/ext/openssl/config.w32
+++ b/ext/openssl/config.w32
@@ -18,7 +18,7 @@ if (PHP_OPENSSL != "no") {
if (PHP_OPENSSL_ARGON2 != "no") {
if (PHP_ZTS != "no") {
WARNING("OpenSSL argon2 hashing not supported in ZTS mode for now");
- } else if (!CHECK_FUNC_IN_HEADER("openssl/thread.h", "OSSL_set_max_threads", PHP_PHP_BUILD + "\\include")) {
+ } else if (!GREP_HEADER("openssl/thread.h", "OSSL_set_max_threads", PHP_PHP_BUILD + "\\include")) {
WARNING("OpenSSL argon2 hashing requires OpenSSL >= 3.2");
} else {
AC_DEFINE("HAVE_OPENSSL_ARGON2", 1, "Define to 1 to enable OpenSSL argon2 password hashing.");
diff --git a/ext/standard/config.w32 b/ext/standard/config.w32
index bb88e0931d2..589929027f6 100644
--- a/ext/standard/config.w32
+++ b/ext/standard/config.w32
@@ -5,7 +5,7 @@ ARG_WITH("password-argon2", "Argon2 support", "no");
if (PHP_PASSWORD_ARGON2 != "no") {
if (CHECK_LIB("argon2_a.lib;argon2.lib", null, PHP_PASSWORD_ARGON2)
&& CHECK_HEADER("argon2.h", "CFLAGS")) {
- if (!CHECK_FUNC_IN_HEADER("argon2.h", "argon2id_hash_raw", PHP_PHP_BUILD + "\\include", "CFLAGS")) {
+ if (!GREP_HEADER("argon2.h", "argon2id_hash_raw", PHP_PHP_BUILD + "\\include")) {
ERROR("Please verify that Argon2 header and libraries >= 20161029 are installed");
}
AC_DEFINE('HAVE_ARGON2LIB', 1, "Define to 1 if the system has the 'libargon2' library.");
diff --git a/win32/build/confutils.js b/win32/build/confutils.js
index 587d89c27f4..3acb9ad203c 100644
--- a/win32/build/confutils.js
+++ b/win32/build/confutils.js
@@ -929,6 +929,11 @@ function OLD_CHECK_LIB(libnames, target, path_to_check)
}
+/**
+ * Checks whether function exists in the given header. Same as GREP_HEADER() but
+ * it also defines the 'HAVE_<FUNC_NAME>' preprocessor macro to 1 or 0. In new
+ * code rather use GREP_HEADER() and define the macro explicitly when needed.
+ */
function CHECK_FUNC_IN_HEADER(header_name, func_name, path_to_check, add_to_flag)
{
var c = false;
@@ -955,6 +960,9 @@ function CHECK_FUNC_IN_HEADER(header_name, func_name, path_to_check, add_to_flag
return false;
}
+/**
+ * Checks whether specified regular expression is found in the given header.
+ */
function GREP_HEADER(header_name, regex, path_to_check)
{
var c = false;