• Eli Zaretskii's avatar
    Support building on MS-Windows with libxml2. · 9078ead6
    Eli Zaretskii authored
     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.
    9078ead6
w32-win.el 11.6 KB