Skip to content

Commit b09becd

Browse files
committed
Support XML extensions
1 parent 81289e8 commit b09becd

File tree

9 files changed

+46
-38
lines changed

9 files changed

+46
-38
lines changed

.pkg-config/pkgconfig/libexslt.pc

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
prefix=C:/usr
2+
libdir=${prefix}/lib
3+
includedir=${prefix}/include
4+
5+
Name: libexslt
6+
Description: winlibs libexslt package
7+
Url: https://github.com/winlibs/libxslt
8+
Version: 1.1.39
9+
Libs: -L${libdir} -llibexslt_a
10+
Cflags: -I${includedir} /DLIBEXSLT_STATIC

.pkg-config/pkgconfig/libxslt.pc

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
prefix=C:/usr
2+
libdir=${prefix}/lib
3+
includedir=${prefix}/include
4+
5+
Name: libxslt
6+
Description: winlibs libxslt package
7+
Url: https://github.com/winlibs/libxslt
8+
Version: 1.1.39
9+
Libs: -L${libdir} -llibxslt_a
10+
Cflags: -I${includedir} /DLIBXSLT_STATIC

ext/dom/config.w32

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,9 @@ ARG_WITH("dom", "DOM support", "yes");
55
if (PHP_DOM == "yes") {
66
if (PHP_LIBXML == "yes" &&
77
ADD_EXTENSION_DEP('dom', 'libxml') &&
8-
CHECK_HEADER_ADD_INCLUDE("libxml/parser.h", "CFLAGS_DOM", PHP_PHP_BUILD + "\\include\\libxml2")
8+
PKG_CHECK_MODULES("LIBXML2", "libxml2 >= 2.9.4")
99
) {
10+
PHP_EVAL_INCLINE(LIBXML2_CFLAGS, "dom");
1011
EXTENSION("dom", "php_dom.c attr.c document.c infra.c \
1112
xml_document.c html_document.c xml_serializer.c html5_serializer.c html5_parser.c namespace_compat.c private_data.c \
1213
domexception.c processinginstruction.c \

ext/simplexml/config.w32

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,9 @@ if (PHP_SIMPLEXML == "yes") {
66
if(PHP_LIBXML == "yes" &&
77
ADD_EXTENSION_DEP('simplexml', 'libxml') &&
88
ADD_EXTENSION_DEP('simplexml', 'spl') &&
9-
CHECK_HEADER_ADD_INCLUDE("libxml/tree.h", "CFLAGS_SIMPLEXML", PHP_PHP_BUILD + "\\include\\libxml2")
9+
PKG_CHECK_MODULES("LIBXML2", "libxml2 >= 2.9.4")
1010
) {
11+
PHP_EVAL_INCLINE(LIBXML2_CFLAGS, "simplexml");
1112
EXTENSION("simplexml", "simplexml.c");
1213
AC_DEFINE("HAVE_SIMPLEXML", 1, "Define to 1 if the PHP extension 'simplexml' is available.");
1314
if (!PHP_SIMPLEXML_SHARED) {

ext/soap/config.w32

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@ ARG_ENABLE("soap", "SOAP support", "no");
55
if (PHP_SOAP != "no") {
66
if (PHP_LIBXML == "yes" &&
77
ADD_EXTENSION_DEP('soap', 'libxml') &&
8-
CHECK_HEADER_ADD_INCLUDE("libxml/parser.h", "CFLAGS_SOAP", PHP_PHP_BUILD + "\\include\\libxml2") &&
9-
CHECK_HEADER_ADD_INCLUDE("libxml/tree.h", "CFLAGS_SOAP", PHP_PHP_BUILD + "\\include\\libxml2")
10-
) {
8+
PKG_CHECK_MODULES("LIBXML2", "libxml2 >= 2.9.4")
9+
) {
10+
PHP_EVAL_INCLINE(LIBXML2_CFLAGS, "soap");
1111
EXTENSION('soap', 'soap.c php_encoding.c php_http.c php_packet_soap.c php_schema.c php_sdl.c php_xml.c', null, "/DZEND_ENABLE_STATIC_TSRMLS_CACHE=1");
1212
AC_DEFINE('HAVE_SOAP', 1, "Define to 1 if the PHP extension 'soap' is available.");
1313
ADD_EXTENSION_DEP('soap', 'date');

ext/xml/config.w32

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@ ARG_WITH("xml", "XML support", "yes");
55
if (PHP_XML == "yes") {
66
if (PHP_LIBXML == "yes" &&
77
ADD_EXTENSION_DEP('xml', 'libxml') &&
8-
CHECK_HEADER_ADD_INCLUDE("libxml/parser.h", "CFLAGS_XML", PHP_PHP_BUILD + "\\include\\libxml2") &&
9-
CHECK_HEADER_ADD_INCLUDE("libxml/tree.h", "CFLAGS_XML", PHP_PHP_BUILD + "\\include\\libxml2")
8+
PKG_CHECK_MODULES("LIBXML2", "libxml2 >= 2.9.4")
109
) {
10+
PHP_EVAL_INCLINE(LIBXML2_CFLAGS, "xml");
1111
EXTENSION("xml", "xml.c compat.c", null, "/DZEND_ENABLE_STATIC_TSRMLS_CACHE=1");
1212
AC_DEFINE("HAVE_XML", 1, "Define to 1 if the PHP extension 'xml' is available.");
1313
if (!PHP_XML_SHARED) {

ext/xmlreader/config.w32

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@ ARG_ENABLE("xmlreader", "XMLReader support", "yes");
44

55
if (PHP_XMLREADER == "yes" &&
66
PHP_LIBXML == "yes" &&
7-
CHECK_HEADER_ADD_INCLUDE("libxml/parser.h", "CFLAGS_XMLREADER", PHP_PHP_BUILD + "\\include\\libxml2") &&
8-
CHECK_HEADER_ADD_INCLUDE("libxml/tree.h", "CFLAGS_XMLREADER", PHP_PHP_BUILD + "\\include\\libxml2")
9-
) {
7+
PKG_CHECK_MODULES("LIBXML2", "libxml2 >= 2.9.4")
8+
) {
9+
PHP_EVAL_INCLINE(LIBXML2_CFLAGS, "xmlreader");
1010
EXTENSION("xmlreader", "php_xmlreader.c");
1111
AC_DEFINE("HAVE_XMLREADER", 1, "Define to 1 if the PHP extension 'xmlreader' is available.");
1212
if (!PHP_XMLREADER_SHARED) {

ext/xmlwriter/config.w32

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@
33
ARG_ENABLE("xmlwriter", "XMLWriter support", "yes");
44

55
if (PHP_XMLWRITER == "yes" && PHP_LIBXML == "yes") {
6-
if (CHECK_HEADER_ADD_INCLUDE('libxml/xmlwriter.h', 'CFLAGS_XMLWRITER', PHP_XMLWRITER + ";" + PHP_PHP_BUILD + "\\include\\libxml2")) {
6+
if (PKG_CHECK_MODULES("LIBXML2", "libxml2 >= 2.9.4")) {
7+
PHP_EVAL_INCLINE(LIBXML2_CFLAGS, "xmlwriter");
78
EXTENSION("xmlwriter", "php_xmlwriter.c");
89
AC_DEFINE("HAVE_XMLWRITER", 1, "Define to 1 if the PHP extension 'xmlwriter' is available.");
910
if (!PHP_XMLWRITER_SHARED) {

ext/xsl/config.w32

Lines changed: 12 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -4,32 +4,18 @@ ARG_WITH("xsl", "xsl support", "no");
44

55
if (PHP_XSL != "no") {
66
if (PHP_DOM == "yes" && PHP_LIBXML == "yes"
7-
&& ADD_EXTENSION_DEP('xsl', 'libxml')
8-
&& ADD_EXTENSION_DEP('xsl', 'dom')
9-
&& CHECK_HEADER_ADD_INCLUDE("libxml/tree.h", "CFLAGS_XSL", PHP_PHP_BUILD + "\\include\\libxml2")
7+
&& ADD_EXTENSION_DEP('xsl', 'libxml')
8+
&& ADD_EXTENSION_DEP('xsl', 'dom')
9+
&& PKG_CHECK_MODULES("LIBXML2", "libxml2 >= 2.9.4")
1010
) {
11-
var ext_xsl_lib_found = false;
12-
var ext_exslt_lib_found = false;
13-
14-
if (CHECK_LIB("libxslt_a.lib", "xsl", PHP_XSL)) {
15-
ext_xsl_lib_found = true;
16-
ADD_FLAG("CFLAGS_XSL", "/D LIBXSLT_STATIC ");
17-
if (CHECK_LIB("libexslt_a.lib", "xsl", PHP_XSL)) {
18-
ADD_FLAG("CFLAGS_XSL", "/D LIBEXSLT_STATIC ");
19-
ext_exslt_lib_found = true;
20-
}
21-
} else if (CHECK_LIB("libxslt.lib", "xsl", PHP_XSL)) {
22-
ext_xsl_lib_found = true;
23-
if (CHECK_LIB("libexslt.lib", "xsl", PHP_XSL)) {
24-
ext_exslt_lib_found = true;
25-
}
26-
}
27-
28-
if (ext_xsl_lib_found && CHECK_HEADER_ADD_INCLUDE("libxslt\\xslt.h", "CFLAGS_XSL")) {
29-
if (ext_exslt_lib_found) {
30-
if (CHECK_HEADER_ADD_INCLUDE("libexslt\\exslt.h", "CFLAGS_XSL")) {
31-
AC_DEFINE("HAVE_XSL_EXSLT", 1, "Define to 1 if the system has the EXSLT extension library for XSLT.");
32-
}
11+
if (PKG_CHECK_MODULES("LIBXSLT", "libxslt")) {
12+
PHP_EVAL_INCLINE(LIBXML2_CFLAGS, "xsl");
13+
PHP_EVAL_INCLINE(LIBXSLT_CFLAGS, "xsl");
14+
PHP_EVAL_LIBLINE(LIBXSLT_LIBS, "xsl");
15+
if (PKG_CHECK_MODULES("LIBEXSLT", "libexslt")) {
16+
PHP_EVAL_INCLINE(LIBEXSLT_CFLAGS, "xsl");
17+
PHP_EVAL_LIBLINE(LIBEXSLT_LIBS, "xsl");
18+
AC_DEFINE("HAVE_XSL_EXSLT", 1, "Define to 1 if the system has the EXSLT extension library for XSLT.");
3319
}
3420
EXTENSION("xsl", "php_xsl.c xsltprocessor.c", PHP_XSL_SHARED);
3521
AC_DEFINE("HAVE_XSL", 1, "Define to 1 if the PHP extension 'xsl' is available.");
@@ -40,9 +26,8 @@ if (PHP_XSL != "no") {
4026
ADD_FLAG("LDFLAGS_XSL", "/nodefaultlib:msvcrt");
4127
}
4228
}
43-
4429
} else {
45-
WARNING("xsl not enabled; libraries and headers not found");
30+
WARNING("xsl not enabled; libxslt package not found");
4631
}
4732
} else {
4833
WARNING("xsl not enabled; DOM extension required");

0 commit comments

Comments
 (0)