summaryrefslogtreecommitdiff
path: root/nt/INSTALL
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2012-04-07 16:57:36 +0300
committerEli Zaretskii <eliz@gnu.org>2012-04-07 16:57:36 +0300
commit9078ead6ce0237eb566a2779016560c85fff5768 (patch)
tree965a35cb3e4e5f7b83edfd65712ce40105dc1fd5 /nt/INSTALL
parente4ecc6a217dfe759fdb7859b38079e66368944d2 (diff)
downloademacs-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/INSTALL34
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.