Support building on MS-Windows with libxml2.
commit9078ead6ce0237eb566a2779016560c85fff5768
authorEli Zaretskii <eliz@gnu.org>
Sat, 7 Apr 2012 13:57:36 +0000 (7 16:57 +0300)
committerEli Zaretskii <eliz@gnu.org>
Sat, 7 Apr 2012 13:57:36 +0000 (7 16:57 +0300)
tree965a35cb3e4e5f7b83edfd65712ce40105dc1fd5
parente4ecc6a217dfe759fdb7859b38079e66368944d2
Support building on MS-Windows with libxml2.

 src/makefile.w32-in (OBJ2): Add xml.$(O).
 (GLOBAL_SOURCES): Add xml.c.
 ($(BLD)/xml.$(O)): New dependency list.
 src/xml.c (DEF_XML2_FN, LOAD_XML2_FN) [WINDOWSNT]: New macros.
 (fn_htmlReadMemory, fn_xmlReadMemory, fn_xmlDocGetRootElement)
 (fn_xmlFreeDoc, fn_xmlCleanupParser, fn_xmlCheckVersion)
 [!WINDOWSNT]: New macros.
 (init_libxml2_functions, libxml2_loaded_p): New functions.
 (parse_region): Call fn_xmlCheckVersion instead of using the macro
 LIBXML_TEST_VERSION.  Call libxml2 functions via the fn_* macros.
 (xml_cleanup_parser): New function, export for fn_xmlCleanupParser.
 Calls xmlCleanupParser only if libxml2 was loaded (or statically
 linked in).
 (Flibxml_parse_html_region, Flibxml_parse_xml_region): Call
 init_libxml2_functions before calling libxml2 functions.
 (syms_of_xml) <Qlibxml2_dll>: DEFSYM it.
 src/emacs.c: Don't include libxml/parser.h.
 (shut_down_emacs): Call xml_cleanup_parser, instead of calling
 xmlCleanupParser directly.
 src/ lisp.h [HAVE_LIBXML2]: Add prototype for xml_cleanup_parser.

 nt/configure.bat: Support building with libxml2.
 nt/INSTALL:
 nt/README.W32: Add information about libxml2.

 lisp/term/w32-win.el (dynamic-library-alist): Add libxml2 DLLs.

 lib-src/makefile.w32-in (obj): Add xml.o.
14 files changed:
etc/NEWS
lib-src/ChangeLog
lib-src/makefile.w32-in
lisp/ChangeLog
lisp/term/w32-win.el
nt/ChangeLog
nt/INSTALL
nt/README.W32
nt/configure.bat
src/ChangeLog
src/emacs.c
src/lisp.h
src/makefile.w32-in
src/xml.c