1
0
mirror of https://github.com/php/php-src.git synced 2026-03-24 00:02:20 +01:00
Files
archived-php-src/ext/xsl/config.w32
Peter Kokot f17c5ad83b Windows build: Add new function CHECK_HEADER() (#21191)
The current function `CHECK_HEADER_ADD_INCLUDE()` automatically defines
`HAVE_<HEADER_NAME_H>` preprocessor macros, which makes it difficult to
sync with other build systems. Specially, if some `HAVE_` macro is used
in the code and this function defines this macro but Autotools doesn't.

The new `CHECK_HEADER()` function behaves similar except it doesn't
define the `HAVE_<HEADER_NAME_H>` preprocessor macro.

This removes the following unused compile definitions:

HAVE_ARGON2_H
HAVE_AVIF_H
HAVE_BZLIB_H
HAVE_CAPSTONE_CAPSTONE_H
HAVE_CURL_EASY_H
HAVE_DB_H
HAVE_DECODE_H
HAVE_DEPOT_H
HAVE_EDITLINE_READLINE_H
HAVE_ENCHANT_H
HAVE_ENCODE_H
HAVE_FFI_H
HAVE_FIREBIRD_INTERFACE_H
HAVE_FT2BUILD_H
HAVE_GD_H
HAVE_GLIB_H
HAVE_GMP_H
HAVE_HTTPD_H
HAVE_IBASE_H
HAVE_IR_IR_H
HAVE_KECCAKHASH_H
HAVE_LBER_H
HAVE_LDAP_H
HAVE_LIBEXSLT_EXSLT_H
HAVE_LIBINTL_H
HAVE_LIBPQ_FE_H
HAVE_LIBTIDY_TIDY_H
HAVE_LIBXML_PARSER_H
HAVE_LIBXML_TREE_H
HAVE_LIBXML_XMLWRITER_H
HAVE_LIBXSLT_XSLT_H
HAVE_LMDB_H
HAVE_MBSTRING_H
HAVE_MYSQL_H
HAVE_ONIGURUMA_H
HAVE_OPENSSL_SSL_H
HAVE_PNG_H
HAVE_SNMP_H
HAVE_SODIUM_H
HAVE_SQLITE3_H
HAVE_SQLITE3EXT_H
HAVE_SYBFRONT_H
HAVE_TIDY_H
HAVE_TIDY_TIDY_H
HAVE_TIDYBUFFIO_H
HAVE_TIMELIB_CONFIG_H
HAVE_UNICODE_USPOOF_H
HAVE_UNICODE_UTF_H
HAVE_XPM_H
HAVE_ZIP_H
HAVE_ZIPCONF_H
HAVE_ZLIB_H

The following compile definitions are defined explicitly:

- HAVE_ICONV_H
- HAVE_MSCOREE_H
- HAVE_SQL_H
- HAVE_SQLEXT_H

Additionally, the `SETUP_OPENSSL()` function doesn't accept the 6th
argument anymore.
2026-03-03 20:06:40 +01:00

51 lines
1.6 KiB
JavaScript

// vim: ft=javascript
ARG_WITH("xsl", "xsl support", "no");
if (PHP_XSL != "no") {
if (PHP_DOM == "yes" && PHP_LIBXML == "yes"
&& ADD_EXTENSION_DEP('xsl', 'libxml')
&& ADD_EXTENSION_DEP('xsl', 'dom')
&& CHECK_HEADER("libxml/tree.h", "CFLAGS_XSL", PHP_PHP_BUILD + "\\include\\libxml2")
) {
var ext_xsl_lib_found = false;
var ext_exslt_lib_found = false;
if (CHECK_LIB("libxslt_a.lib", "xsl", PHP_XSL)) {
ext_xsl_lib_found = true;
ADD_FLAG("CFLAGS_XSL", "/D LIBXSLT_STATIC ");
if (CHECK_LIB("libexslt_a.lib", "xsl", PHP_XSL)) {
ADD_FLAG("CFLAGS_XSL", "/D LIBEXSLT_STATIC ");
ext_exslt_lib_found = true;
}
} else if (CHECK_LIB("libxslt.lib", "xsl", PHP_XSL)) {
ext_xsl_lib_found = true;
if (CHECK_LIB("libexslt.lib", "xsl", PHP_XSL)) {
ext_exslt_lib_found = true;
}
}
if (ext_xsl_lib_found && CHECK_HEADER("libxslt\\xslt.h", "CFLAGS_XSL")) {
if (ext_exslt_lib_found) {
if (CHECK_HEADER("libexslt\\exslt.h", "CFLAGS_XSL")) {
AC_DEFINE("HAVE_XSL_EXSLT", 1, "Define to 1 if the system has the EXSLT extension library for XSLT.");
}
}
EXTENSION("xsl", "php_xsl.c xsltprocessor.c", PHP_XSL_SHARED);
AC_DEFINE("HAVE_XSL", 1, "Define to 1 if the PHP extension 'xsl' is available.");
if (! PHP_XSL_SHARED) {
ADD_FLAG("CFLAGS_XSL", "/D DOM_EXPORTS /D LIBXML_STATIC");
} else {
if (PHP_DEBUG == "yes") {
ADD_FLAG("LDFLAGS_XSL", "/nodefaultlib:msvcrt");
}
}
} else {
WARNING("xsl not enabled; libraries and headers not found");
}
} else {
WARNING("xsl not enabled; DOM extension required");
}
}