Support building on MS-Windows with libxml2.
[bpt/emacs.git] / nt / configure.bat
index 45d966f..db587b0 100755 (executable)
@@ -1,7 +1,7 @@
 @echo off\r
 rem   ----------------------------------------------------------------------\r
 rem   Configuration script for MS Windows operating systems\r
-rem   Copyright (C) 1999-2011  Free Software Foundation, Inc.\r
+rem   Copyright (C) 1999-2012  Free Software Foundation, Inc.\r
 \r
 rem   This file is part of GNU Emacs.\r
 \r
@@ -131,6 +131,7 @@ if "%1" == "--without-jpeg" goto withoutjpeg
 if "%1" == "--without-gif" goto withoutgif\r
 if "%1" == "--without-tiff" goto withouttiff\r
 if "%1" == "--without-gnutls" goto withoutgnutls\r
+if "%1" == "--without-libxml2" goto withoutlibxml2\r
 if "%1" == "--without-xpm" goto withoutxpm\r
 if "%1" == "--with-svg" goto withsvg\r
 if "%1" == "--distfiles" goto distfiles\r
@@ -155,7 +156,8 @@ echo.   --without-jpeg          do not use JPEG library even if it is installed
 echo.   --without-gif           do not use GIF library even if it is installed\r
 echo.   --without-tiff          do not use TIFF library even if it is installed\r
 echo.   --without-xpm           do not use XPM library even if it is installed\r
-echo.   --without-gnutls        do not use GNUTLS library even if it is installed\r
+echo.   --without-gnutls        do not use GnuTLS library even if it is installed\r
+echo.   --without-libxml2       do not use libxml2 library even if it is installed\r
 echo.   --with-svg              use the RSVG library (experimental)\r
 echo.   --distfiles             path to files for make dist, e.g. libXpm.dll\r
 if "%use_extensions%" == "0" goto end\r
@@ -317,6 +319,14 @@ goto again
 \r
 rem ----------------------------------------------------------------------\r
 \r
+:withoutlibxml2\r
+set libxml2support=N\r
+set HAVE_LIBXML2=\r
+shift\r
+goto again\r
+\r
+rem ----------------------------------------------------------------------\r
+\r
 :withouttiff\r
 set tiffsupport=N\r
 set HAVE_TIFF=\r
@@ -563,12 +573,34 @@ set HAVE_GNUTLS=
 goto :tlsDone\r
 \r
 :haveTls\r
-echo ...GNUTLS header available, building with GNUTLS support.\r
+echo ...GnuTLS header available, building with GnuTLS support.\r
 set HAVE_GNUTLS=1\r
 \r
 :tlsDone\r
 rm -f junk.c junk.obj\r
 \r
+if (%libxml2support%) == (N) goto xml2Done\r
+\r
+echo Checking for libxml2....\r
+echo #include "libxml/HTMLparser.h" >junk.c\r
+echo main(){} >>junk.c\r
+echo %COMPILER% %usercflags% %mingwflag% -c junk.c -o junk.obj >>config.log\r
+%COMPILER% %usercflags% %mingwflag% -c junk.c -o junk.obj >junk.out 2>>config.log\r
+if exist junk.obj goto havelibxml2\r
+\r
+echo ...libxml/HTMLparser.h not found, building without libxml2 support\r
+echo The failed program was: >>config.log\r
+type junk.c >>config.log\r
+set HAVE_LIBXML2=\r
+goto xml2Done\r
+\r
+:havelibxml2\r
+echo ...libxml2 header available, building with libxml2 support\r
+set HAVE_LIBXML2=1\r
+\r
+:xml2Done\r
+rm -f junk.c junk.obj\r
+\r
 if (%jpegsupport%) == (N) goto jpegDone\r
 \r
 echo Checking for jpeg-6b...\r
@@ -757,6 +789,7 @@ if (%doldflags%) == (Y) echo #define USER_LDFLAGS " %escuserldflags%">>config.tm
 if (%profile%) == (Y) echo #define PROFILING 1 >>config.tmp\r
 if not "(%HAVE_PNG%)" == "()" echo #define HAVE_PNG 1 >>config.tmp\r
 if not "(%HAVE_GNUTLS%)" == "()" echo #define HAVE_GNUTLS 1 >>config.tmp\r
+if not "(%HAVE_LIBXML2%)" == "()" echo #define HAVE_LIBXML2 1 >>config.tmp\r
 if not "(%HAVE_JPEG%)" == "()" echo #define HAVE_JPEG 1 >>config.tmp\r
 if not "(%HAVE_GIF%)" == "()" echo #define HAVE_GIF 1 >>config.tmp\r
 if not "(%HAVE_TIFF%)" == "()" echo #define HAVE_TIFF 1 >>config.tmp\r
@@ -896,6 +929,7 @@ set HAVE_DISTFILES=
 set distFilesOk=\r
 set pngsupport=\r
 set tlssupport=\r
+set libxml2support=\r
 set jpegsupport=\r
 set gifsupport=\r
 set tiffsupport=\r