mirror of
https://github.com/php/php-src.git
synced 2026-03-24 00:02:20 +01:00
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.
47 lines
1.5 KiB
JavaScript
47 lines
1.5 KiB
JavaScript
// vim:ft=javascript
|
|
|
|
ARG_WITH("dom", "DOM support", "yes");
|
|
|
|
if (PHP_DOM == "yes") {
|
|
if (PHP_LIBXML == "yes" &&
|
|
ADD_EXTENSION_DEP('dom', 'libxml') &&
|
|
CHECK_HEADER("libxml/parser.h", "CFLAGS_DOM", PHP_PHP_BUILD + "\\include\\libxml2")
|
|
) {
|
|
EXTENSION("dom", "php_dom.c attr.c document.c infra.c \
|
|
xml_document.c html_document.c xml_serializer.c html5_serializer.c html5_parser.c namespace_compat.c private_data.c \
|
|
domexception.c processinginstruction.c \
|
|
cdatasection.c documentfragment.c domimplementation.c element.c inner_outer_html_mixin.c \
|
|
node.c characterdata.c documenttype.c \
|
|
entity.c nodelist.c html_collection.c text.c comment.c \
|
|
entityreference.c \
|
|
token_list.c \
|
|
notation.c obj_map.c xpath.c dom_iterators.c \
|
|
namednodemap.c xpath_callbacks.c", null, "/I ext/lexbor");
|
|
|
|
ADD_EXTENSION_DEP('dom', 'lexbor');
|
|
|
|
ADD_SOURCES("ext/dom/parentnode", "tree.c css_selectors.c", "dom");
|
|
ADD_SOURCES("ext/dom/lexbor/selectors-adapted", "selectors.c", "dom");
|
|
|
|
AC_DEFINE("HAVE_DOM", 1, "Define to 1 if the PHP extension 'dom' is available.");
|
|
|
|
if (!PHP_DOM_SHARED) {
|
|
ADD_FLAG("CFLAGS_DOM", "/D LIBXML_STATIC /D LEXBOR_STATIC ");
|
|
} else {
|
|
if (!CHECK_LIB("libxml2.lib", "dom")) {
|
|
WARNING("dom support can't be enabled, libxml is not found")
|
|
}
|
|
}
|
|
PHP_INSTALL_HEADERS("ext/dom",
|
|
"dom_ce.h " +
|
|
"namespace_compat.h " +
|
|
"xml_common.h " +
|
|
"xpath_callbacks.h " +
|
|
"lexbor/selectors-adapted/selectors.h "
|
|
);
|
|
} else {
|
|
WARNING("dom support can't be enabled, libxml is not enabled")
|
|
PHP_DOM = "no"
|
|
}
|
|
}
|