mirror of
https://github.com/php/pecl-xml-xmldiff.git
synced 2026-03-23 23:42:11 +01:00
git-svn-id: http://svn.php.net/repository/pecl/xmldiff/trunk@338450 c90b9560-bf6c-de11-be94-00142212c4b1
70 lines
2.1 KiB
JavaScript
70 lines
2.1 KiB
JavaScript
// $Id$
|
|
// vim:ft=javascript
|
|
|
|
ARG_WITH("xmldiff", "enable xmldiff support", "no");
|
|
|
|
if (PHP_XMLDIFF != "no") {
|
|
|
|
if(PHP_LIBXML != "no" &&
|
|
PHP_DOM != "no" &&
|
|
CHECK_HEADER_ADD_INCLUDE("xdoc.hh", "CFLAGS_XMLDIFF", PHP_XMLDIFF + ";" + configure_module_dirname + "\\diffmark\\lib") &&
|
|
CHECK_LIB("libxml2_a_dll.lib;libxml2_a.lib", "xmldiff") &&
|
|
CHECK_LIB("libiconv_a.lib;iconv_a.lib;libiconv.lib;iconv.lib", "xmldiff") &&
|
|
CHECK_HEADER_ADD_INCLUDE("libxml/parser.h", "CFLAGS_XMLDIFF", PHP_PHP_BUILD + "\\include;" + PHP_PHP_BUILD + "\\include\\libxml2")
|
|
) {
|
|
|
|
EXTENSION("xmldiff", "xmldiff.cpp");
|
|
PHP_INSTALL_HEADERS("ext/xmldiff", "php_xmldiff.h");
|
|
PHP_INSTALL_HEADERS("ext/xmldiff/diffmark/lib", "diffmark/lib/compare.hh \
|
|
diffmark/lib/compareimpl.hh \
|
|
diffmark/lib/diff.hh \
|
|
diffmark/lib/lcs.hh \
|
|
diffmark/lib/lcsimpl.hh \
|
|
diffmark/lib/link.hh \
|
|
diffmark/lib/merge.hh \
|
|
diffmark/lib/namespacecollector.hh \
|
|
diffmark/lib/nspace.hh \
|
|
diffmark/lib/target.hh \
|
|
diffmark/lib/xbuffer.hh \
|
|
diffmark/lib/xdoc.hh \
|
|
diffmark/lib/xutil.hh");
|
|
|
|
ADD_SOURCES(configure_module_dirname + "\\diffmark\\lib", " \
|
|
compare.cc \
|
|
diff.cc \
|
|
link.cc \
|
|
merge.cc \
|
|
namespacecollector.cc \
|
|
nspace.cc \
|
|
target.cc \
|
|
xbuffer.cc \
|
|
xdoc.cc \
|
|
xutil.cc",
|
|
"xmldiff"
|
|
);
|
|
|
|
if (!ADD_EXTENSION_DEP("xmldiff", "dom", true)) {
|
|
MESSAGE("\tDOM support in xmldiff disabled");
|
|
}
|
|
if (!ADD_EXTENSION_DEP("xmldiff", "libxml", true)) {
|
|
ERROR("\tlibxml support is required for xmldiff, but couldn't be enabled");
|
|
}
|
|
|
|
AC_DEFINE("HAVE_XMLDIFF", 1, "Have xmldiff extension");
|
|
|
|
ADD_FLAG("CFLAGS_XMLDIFF", ' /I diffmark/lib /EHsc ');
|
|
if (PHP_VERSION < 7) {
|
|
ADD_FLAG("CFLAGS_XMLDIFF", ' /D ZEND_WIN32_FORCE_INLINE ');
|
|
} else {
|
|
ADD_FLAG("CFLAGS_BD_EXT_XMLDIFF", ' /D ZEND_WIN32_KEEP_INLINE=1 /U ZEND_WIN32_FORCE_INLINE ');
|
|
}
|
|
ADD_FLAG("LDFLAGS_XMLDIFF", ' /libpath:"diffmark/lib" ');
|
|
if (!PHP_XMLDIFF_SHARED) {
|
|
ADD_FLAG("CFLAGS_XMLDIFF", "/D LIBXML_STATIC");
|
|
}
|
|
} else {
|
|
WARNING("xmldiff not enabled; libraries and headers not found");
|
|
}
|
|
}
|
|
|