]> code.delx.au - gnu-emacs/blobdiff - nt/configure.bat
nt/config.nt: Sync with autogen/config.in.
[gnu-emacs] / nt / configure.bat
index 91c5c3fa0bbf15313a80ebec84c44b823d3e8eec..3118bb11e5de0c8f7c60f10d47c005469863971a 100755 (executable)
@@ -23,7 +23,7 @@ rem   YOU'LL NEED THE FOLLOWING UTILITIES TO MAKE EMACS:
 rem\r
 rem   + MS Windows 95, NT or later\r
 rem   + either MSVC 2.x or later, or gcc-2.95 or later (with GNU make 3.75\r
-rem     or later) and the Mingw32 and W32 API headers and libraries.\r
+rem     or later) and the Mingw32 and Windows API headers and libraries.\r
 rem   + Visual Studio 2005 is not supported at this time.\r
 rem\r
 rem For reference, here is a list of which builds of GNU make are known to\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
@@ -144,7 +145,7 @@ echo.   --with-gcc              use GCC to compile Emacs
 echo.   --with-msvc             use MSVC to compile Emacs\r
 echo.   --no-debug              exclude debug info from executables\r
 echo.   --no-opt                disable optimization\r
-echo.   --enable-checking       enable checks and assertions\r
+echo.   --enable-checking       enable additional run-time checks\r
 echo.   --profile               enable profiling\r
 echo.   --no-cygwin             use -mno-cygwin option with GCC\r
 echo.   --cflags FLAG           pass FLAG to compiler\r
@@ -156,6 +157,7 @@ echo.   --without-gif           do not use GIF library even if it is installed
 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-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
@@ -416,10 +426,10 @@ rem   problem).  The gcc/mingw32 2.95.2 headers are okay, as are distros
 rem   of w32api-xxx.zip from Anders Norlander since 1999-11-18 at least.\r
 rem   Beginning with Emacs 23, we need usp10.h.\r
 rem\r
-echo Checking whether W32 API headers are too old...\r
+echo Checking whether Windows API headers are too old...\r
 echo #include "windows.h" >junk.c\r
 echo #include "usp10.h" >>junk.c\r
-echo test(PIMAGE_NT_HEADERS pHeader) >>junk.c\r
+echo void test(PIMAGE_NT_HEADERS pHeader) >>junk.c\r
 echo {PIMAGE_SECTION_HEADER pSection = IMAGE_FIRST_SECTION(pHeader);} >>junk.c\r
 if (%nocygwin%) == (Y) goto chkapi1\r
 set cf=%usercflags%\r
@@ -459,7 +469,7 @@ goto end
 echo.\r
 echo Configure failed.\r
 echo To configure Emacs for Windows, you need to have either\r
-echo gcc-2.95 or later with Mingw32 and the W32 API headers,\r
+echo gcc-2.95 or later with Mingw32 and the Windows API headers,\r
 echo or MSVC 2.x or later.\r
 del junk.c\r
 goto end\r
@@ -569,6 +579,28 @@ set HAVE_GNUTLS=1
 :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
@@ -595,7 +627,10 @@ rm -f junk.c junk.obj
 if (%gifsupport%) == (N) goto gifDone\r
 \r
 echo Checking for libgif...\r
-echo #include "gif_lib.h" >junk.c\r
+rem giflib-5.0.0 needs size_t defined before gif_lib.h is included\r
+rem redirection characters need to be protected from the shell\r
+echo #include ^<stddef.h^> >junk.c\r
+echo #include "gif_lib.h" >>junk.c\r
 echo main (){} >>junk.c\r
 rem   -o option is ignored with cl, but allows result to be consistent.\r
 echo %COMPILER% %usercflags% %mingwflag% -c junk.c -o junk.obj >>config.log\r
@@ -737,7 +772,6 @@ if not "(%mf%)" == "()" >>config.settings echo MCPU_FLAG=%mf%
 if not "(%dbginfo%)" == "()" >>config.settings echo DEBUG_INFO=%dbginfo%\r
 if (%nodebug%) == (Y) >>config.settings echo NODEBUG=1\r
 if (%noopt%) == (Y) >>config.settings echo NOOPT=1\r
-if (%enablechecking%) == (Y) >>config.settings echo ENABLECHECKS=1\r
 if (%profile%) == (Y) >>config.settings echo PROFILE=1\r
 if (%nocygwin%) == (Y) >>config.settings echo NOCYGWIN=1\r
 if not "(%prefix%)" == "()" >>config.settings echo INSTALL_DIR=%prefix%\r
@@ -762,8 +796,10 @@ rem   processing of compiler options in w32.c:get_emacs_configuration_options
 if (%docflags%) == (Y) echo #define USER_CFLAGS " %escusercflags%" >>config.tmp\r
 if (%doldflags%) == (Y) echo #define USER_LDFLAGS " %escuserldflags%" >>config.tmp\r
 if (%profile%) == (Y) echo #define PROFILING 1 >>config.tmp\r
+if (%enablechecking%) == (Y) echo #define ENABLE_CHECKING 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
@@ -903,6 +939,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
@@ -915,4 +952,6 @@ set HAVE_PNG=
 set HAVE_TIFF=\r
 set HAVE_XPM=\r
 set dbginfo=\r
+endlocal\r
+set use_extensions=\r
 \r