]> git.eshelyaron.com Git - emacs.git/commitdiff
Support building with libxml2, if it is installed.
authorEli Zaretskii <eliz@gnu.org>
Sat, 18 Sep 2010 13:57:06 +0000 (15:57 +0200)
committerEli Zaretskii <eliz@gnu.org>
Sat, 18 Sep 2010 13:57:06 +0000 (15:57 +0200)
 config.bat: Detect that libxml2 is installed and if so, build with it.

ChangeLog
config.bat

index a8879b330c9729df41dc09aee6854da057c133bd..5aed472bf3b2de1873467567339359e7f436d617 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2010-09-18  Eli Zaretskii  <eliz@gnu.org>
+
+       * config.bat: Detect that libxml2 is installed and if so, build
+       with it.
+
 2010-09-13  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 
        * configure.in (HAVE_LIBXML2): Check that the libxml2 we found can
index 802cacc8897711a2b6cf9157337b38dc58f444cf..63f9c5d58657a3f0b5024120f4182f28c5088f61 100644 (file)
@@ -38,6 +38,7 @@ set X11=
 set nodebug=\r
 set djgpp_ver=\r
 set sys_malloc=\r
+set libxml=\r
 if "%1" == "" goto usage\r
 rem   ----------------------------------------------------------------------\r
 rem   See if their environment is large enough.  We need 28 bytes.\r
@@ -175,6 +176,24 @@ rem The following line disables DECL_ALIGN which in turn disables USE_LSB_TAG
 rem For details see lisp.h where it defines USE_LSB_TAG\r
 echo #define NO_DECL_ALIGN >>config.h2\r
 :alignOk\r
+Rem See if they have libxml2 later than v2.2.0 installed\r
+Echo Checking whether libxml2 v2.2.1 or later is installed ...\r
+rm -f junk.c junk.o junk junk.exe\r
+rem Use djecho here because we need to quote brackets\r
+djecho "#include <libxml/xmlversion.h>"             >junk.c\r
+djecho "int main()"                                 >>junk.c\r
+djecho "{return (LIBXML_VERSION > 20200 ? 0 : 1);}" >>junk.c\r
+redir -o Nul -eo gcc -I/dev/env/DJDIR/include/libxml2 -o junk junk.c\r
+if not exist junk Goto xmlDone\r
+if not exist junk.exe coff2exe junk\r
+junk\r
+If ErrorLevel 1 Goto xmlDone\r
+Echo Configuring with libxml2 ...\r
+sed -e "/#undef HAVE_LIBXML2/s/^.*$/#define HAVE_LIBXML2 1/" <config.h2 >config.h3\r
+mv config.h3 config.h2\r
+set libxml=1\r
+:xmlDone\r
+rm -f junk.c junk junk.exe\r
 Rem See if they requested a SYSTEM_MALLOC build\r
 if "%sys_malloc%" == "" Goto cfgDone\r
 rm -f config.tmp\r
@@ -213,6 +232,12 @@ sed -e "/^CFLAGS *=/s/ *-gcoff//" <Makefile >makefile.tmp
 sed -e "/^LDFLAGS *=/s/=/=-s/" <makefile.tmp >Makefile\r
 rm -f makefile.tmp\r
 :src6\r
+\r
+if "%libxml%" == "" goto src7\r
+sed -e "/^LIBXML2_LIBS *=/s/=/= -lxml2 -lz -liconv/" <Makefile >makefile.tmp\r
+sed -e "/^LIBXML2_CFLAGS *=/s|=|= -I/dev/env/DJDIR/include/libxml2|" <makefile.tmp >Makefile\r
+rm -f makefile.tmp\r
+:src7\r
 cd ..\r
 rem   ----------------------------------------------------------------------\r
 Echo Configuring the library source directory...\r
@@ -289,6 +314,7 @@ set X11=
 set nodebug=\r
 set djgpp_ver=\r
 set sys_malloc=\r
+set libxml=\r
 \r
 goto skipArchTag\r
    arch-tag: 2d2fed23-4dc6-4006-a2e4-49daf0031f33\r