diff options
author | Eli Zaretskii <eliz@gnu.org> | 2012-04-07 16:57:36 +0300 |
---|---|---|
committer | Eli Zaretskii <eliz@gnu.org> | 2012-04-07 16:57:36 +0300 |
commit | 9078ead6ce0237eb566a2779016560c85fff5768 (patch) | |
tree | 965a35cb3e4e5f7b83edfd65712ce40105dc1fd5 /nt/INSTALL | |
parent | e4ecc6a217dfe759fdb7859b38079e66368944d2 (diff) | |
download | emacs-9078ead6ce0237eb566a2779016560c85fff5768.tar.gz |
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.
Diffstat (limited to 'nt/INSTALL')
-rw-r--r-- | nt/INSTALL | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/nt/INSTALL b/nt/INSTALL index c470ed4960f..96ef52faf5e 100644 --- a/nt/INSTALL +++ b/nt/INSTALL @@ -367,6 +367,40 @@ You can get pre-built binaries (including any required DLL and the header files) at http://sourceforge.net/projects/ezwinports/files/. +* Optional libxml2 support + + If configure.bat finds the libxml/HTMLparser.h file in the include path, + Emacs is built with libxml2 support by default; to avoid that you can + pass the argument --without-libxml2. + + In order to support libxml2 at runtime, a libxml2-enabled Emacs must + be able to find the relevant DLLs during startup; failure to do so + is not an error, but libxml2 features won't be available to the + running session. + + One place where you can get pre-built Windows binaries of libxml2 + (including any required DLL and the header files) is here: + + http://sourceforge.net/projects/ezwinports/files/ + + To compile Emacs with libxml2 from that site, you will need to pass + the "--cflags -I/path/to/include/libxml2" option to configure.bat, + because libxml2 header files are installed in the include/libxml2 + subdirectory of the directory where you unzip the binary + distribution. Other binary distributions might use other + directories, although include/libxml2 is the canonical place where + libxml2 headers are installed on Posix platforms. + + You will also need to install the libiconv "development" tarball, + because the libiconv headers need to be available to the compiler + when you compile with libxml2 support. A MinGW port of libiconv can + be found on the MinGW site: + + http://sourceforge.net/projects/mingw/files/MinGW/Base/libiconv/ + + You need the libiconv-X.Y.Z-N-mingw32-dev.tar.lzma tarball from that + site. + * Experimental SVG support SVG support is currently experimental, and not built by default. |