msxml3: Add our own xmlFirstElementChild() for older libxml2 versions.
This commit is contained in:
parent
865995cf1f
commit
82f73c8652
42
configure
vendored
42
configure
vendored
@ -9242,6 +9242,48 @@ if test "x$ac_cv_lib_xml2_xmlSchemaSetValidStructuredErrors" = x""yes; then :
|
|||||||
|
|
||||||
$as_echo "#define HAVE_XMLSCHEMASSETVALIDSTRUCTUREDERRORS 1" >>confdefs.h
|
$as_echo "#define HAVE_XMLSCHEMASSETVALIDSTRUCTUREDERRORS 1" >>confdefs.h
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for xmlFirstElementChild in -lxml2" >&5
|
||||||
|
$as_echo_n "checking for xmlFirstElementChild in -lxml2... " >&6; }
|
||||||
|
if test "${ac_cv_lib_xml2_xmlFirstElementChild+set}" = set; then :
|
||||||
|
$as_echo_n "(cached) " >&6
|
||||||
|
else
|
||||||
|
ac_check_lib_save_LIBS=$LIBS
|
||||||
|
LIBS="-lxml2 $ac_xml_libs $LIBS"
|
||||||
|
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||||
|
/* end confdefs.h. */
|
||||||
|
|
||||||
|
/* Override any GCC internal prototype to avoid an error.
|
||||||
|
Use char because int might match the return type of a GCC
|
||||||
|
builtin and then its argument prototype would still apply. */
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C"
|
||||||
|
#endif
|
||||||
|
char xmlFirstElementChild ();
|
||||||
|
int
|
||||||
|
main ()
|
||||||
|
{
|
||||||
|
return xmlFirstElementChild ();
|
||||||
|
;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
_ACEOF
|
||||||
|
if ac_fn_c_try_link "$LINENO"; then :
|
||||||
|
ac_cv_lib_xml2_xmlFirstElementChild=yes
|
||||||
|
else
|
||||||
|
ac_cv_lib_xml2_xmlFirstElementChild=no
|
||||||
|
fi
|
||||||
|
rm -f core conftest.err conftest.$ac_objext \
|
||||||
|
conftest$ac_exeext conftest.$ac_ext
|
||||||
|
LIBS=$ac_check_lib_save_LIBS
|
||||||
|
fi
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_xml2_xmlFirstElementChild" >&5
|
||||||
|
$as_echo "$ac_cv_lib_xml2_xmlFirstElementChild" >&6; }
|
||||||
|
if test "x$ac_cv_lib_xml2_xmlFirstElementChild" = x""yes; then :
|
||||||
|
|
||||||
|
$as_echo "#define HAVE_XMLFIRSTELEMENTCHILD 1" >>confdefs.h
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
ac_fn_c_check_type "$LINENO" "xmlDocProperties" "ac_cv_type_xmlDocProperties" "#include <libxml/tree.h>
|
ac_fn_c_check_type "$LINENO" "xmlDocProperties" "ac_cv_type_xmlDocProperties" "#include <libxml/tree.h>
|
||||||
|
@ -1121,6 +1121,8 @@ then
|
|||||||
[AC_DEFINE(HAVE_XMLNEWDOCPI,1,[Define if libxml2 has the xmlNewDocPI function])],,$ac_xml_libs)
|
[AC_DEFINE(HAVE_XMLNEWDOCPI,1,[Define if libxml2 has the xmlNewDocPI function])],,$ac_xml_libs)
|
||||||
AC_CHECK_LIB(xml2, xmlSchemaSetValidStructuredErrors,
|
AC_CHECK_LIB(xml2, xmlSchemaSetValidStructuredErrors,
|
||||||
[AC_DEFINE(HAVE_XMLSCHEMASSETVALIDSTRUCTUREDERRORS,1,[Define if libxml2 has the xmlSchemaSetValidStructuredErrors function])],,$ac_xml_libs)
|
[AC_DEFINE(HAVE_XMLSCHEMASSETVALIDSTRUCTUREDERRORS,1,[Define if libxml2 has the xmlSchemaSetValidStructuredErrors function])],,$ac_xml_libs)
|
||||||
|
AC_CHECK_LIB(xml2, xmlFirstElementChild,
|
||||||
|
[AC_DEFINE(HAVE_XMLFIRSTELEMENTCHILD,1,[Define if libxml2 has the xmlFirstElementChild function])],,$ac_xml_libs)
|
||||||
AC_CHECK_TYPE([xmlDocProperties],
|
AC_CHECK_TYPE([xmlDocProperties],
|
||||||
[AC_DEFINE(HAVE_XMLDOC_PROPERTIES,1,[Define if libxml2 has the xmlDocProperties enum])],,[[#include <libxml/tree.h>]])
|
[AC_DEFINE(HAVE_XMLDOC_PROPERTIES,1,[Define if libxml2 has the xmlDocProperties enum])],,[[#include <libxml/tree.h>]])
|
||||||
])
|
])
|
||||||
|
@ -112,6 +112,18 @@ BOOL dispex_query_interface(DispatchEx*,REFIID,void**);
|
|||||||
|
|
||||||
#include <libxml/xmlerror.h>
|
#include <libxml/xmlerror.h>
|
||||||
|
|
||||||
|
#ifndef HAVE_XMLFIRSTELEMENTCHILD
|
||||||
|
static inline xmlNodePtr xmlFirstElementChild(xmlNodePtr parent)
|
||||||
|
{
|
||||||
|
xmlNodePtr child;
|
||||||
|
for (child = parent->children; child != NULL; child = child->next)
|
||||||
|
if (child->type == XML_ELEMENT_NODE)
|
||||||
|
break;
|
||||||
|
|
||||||
|
return child;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/* constructors */
|
/* constructors */
|
||||||
extern IUnknown *create_domdoc( xmlNodePtr document );
|
extern IUnknown *create_domdoc( xmlNodePtr document );
|
||||||
extern IUnknown *create_xmldoc( void );
|
extern IUnknown *create_xmldoc( void );
|
||||||
|
@ -1108,6 +1108,9 @@
|
|||||||
/* Define if libxml2 has the xmlDocProperties enum */
|
/* Define if libxml2 has the xmlDocProperties enum */
|
||||||
#undef HAVE_XMLDOC_PROPERTIES
|
#undef HAVE_XMLDOC_PROPERTIES
|
||||||
|
|
||||||
|
/* Define if libxml2 has the xmlFirstElementChild function */
|
||||||
|
#undef HAVE_XMLFIRSTELEMENTCHILD
|
||||||
|
|
||||||
/* Define if libxml2 has the xmlNewDocPI function */
|
/* Define if libxml2 has the xmlNewDocPI function */
|
||||||
#undef HAVE_XMLNEWDOCPI
|
#undef HAVE_XMLNEWDOCPI
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user