@echo off\r
rem ----------------------------------------------------------------------\r
rem Configuration script for MSDOS\r
-rem Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2001, 2002, 2003\r
-rem 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.\r
+rem Copyright (C) 1994-1999, 2001-2014 Free Software Foundation, Inc.\r
\r
rem This file is part of GNU Emacs.\r
\r
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
\r
rem Create "config.h"\r
rm -f config.h2 config.tmp\r
-sed -e '' config.in > config.tmp\r
+if exist config.in sed -e '' config.in > config.tmp\r
+if exist ..\msdos\autogen\config.in sed -e '' ../msdos/autogen/config.in > config.tmp\r
if "%X11%" == "" goto src4\r
-sed -f ../msdos/sed2x.inp <config.in >config.tmp\r
+if exist config.in sed -f ../msdos/sed2x.inp < config.in > config.tmp\r
+if exist ..\msdos\autogen\config.in sed -f ../msdos/sed2x.inp < ..\msdos\autogen\config.in > config.tmp\r
:src4\r
sed -f ../msdos/sed2v2.inp <config.tmp >config.h2\r
-Rem See if DECL_ALIGN can be supported with this GCC\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
-echo struct { int i; char *p; } __attribute__((__aligned__(8))) foo; >junk.c\r
-rem Two percent signs because it is a special character for COMMAND.COM/CMD\r
-rem Filter thru Sed because "&" is special for CMD.EXE\r
-echo int main(void) { return (unsigned long)"&"foo %% 8; } | sed "s/.&./\&/" >>junk.c\r
-gcc -o junk junk.c\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 Not ErrorLevel 1 Goto alignOk\r
-Echo WARNING: Your GCC does not support 8-byte aligned variables.\r
-Echo WARNING: Therefore Emacs cannot support buffers larger than 128MB.\r
-rem The following line disables DECL_ALIGN which in turn disables USE_LSB_TAG\r
-rem For details see lisp.h where it defines USE_LSB_TAG\r
-echo #define NO_DECL_ALIGN >>config.h2\r
-:alignOk\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
\r
rem Create "makefile" from "makefile.in".\r
rm -f Makefile makefile.tmp\r
-copy Makefile.in + deps.mk makefile.tmp\r
+copy Makefile.in+lisp.mk+deps.mk makefile.tmp\r
sed -f ../msdos/sed1v2.inp <makefile.tmp >Makefile\r
rm -f makefile.tmp\r
\r
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
for %%d in (emacs lispref lispintro lispintr misc) do sed -f ../msdos/sed6.inp < %%d\Makefile.in > %%d\Makefile\r
cd ..\r
rem ----------------------------------------------------------------------\r
+Echo Configuring the lib directory...\r
+If Exist build-aux\snippet\c++defs.h update build-aux/snippet/c++defs.h build-aux/snippet/cxxdefs.h\r
+cd lib\r
+Rem Rename files like djtar on plain DOS filesystem would.\r
+If Exist build-aux\snippet\c++defs.h update build-aux/snippet/c++defs.h build-aux/snippet/cxxdefs.h\r
+If Exist alloca.in.h update alloca.in.h alloca.in-h\r
+If Exist execinfo.in.h update execinfo.in.h execinfo.in-h\r
+If Exist getopt.in.h update getopt.in.h getopt.in-h\r
+If Exist stdalign.in.h update stdalign.in.h stdalign.in-h\r
+If Exist stdbool.in.h update stdbool.in.h stdbool.in-h\r
+If Exist signal.in.h update signal.in.h signal.in-h\r
+If Exist stdalign.in.h update stdalign.in.h stdalign.in-h\r
+If Exist stddef.in.h update stddef.in.h stddef.in-h\r
+If Exist stdint.in.h update stdint.in.h stdint.in-h\r
+If Exist stdio.in.h update stdio.in.h stdio.in-h\r
+If Exist stdlib.in.h update stdlib.in.h stdlib.in-h\r
+If Exist sys_stat.in.h update sys_stat.in.h sys_stat.in-h\r
+If Exist sys_types.in.h update sys_types.in.h sys_types.in-h\r
+If Exist time.in.h update time.in.h time.in-h\r
+If Exist unistd.in.h update unistd.in.h unistd.in-h\r
+If Exist Makefile.in sed -f ../msdos/sedlibcf.inp < Makefile.in > makefile.tmp\r
+If Exist ..\msdos\autogen\Makefile.in sed -f ../msdos/sedlibcf.inp < ..\msdos\autogen\Makefile.in > makefile.tmp\r
+sed -f ../msdos/sedlibmk.inp < makefile.tmp > Makefile\r
+rm -f makefile.tmp\r
+Rem Create .Po files for new files in lib/\r
+If Not Exist deps\stamp mkdir deps\r
+for %%f in (*.c) do @call ..\msdos\depfiles.bat %%f\r
+echo deps-stamp > deps\stamp\r
+cd ..\r
+rem ----------------------------------------------------------------------\r
Echo Configuring the lisp directory...\r
cd lisp\r
+If Exist gnus\.dir-locals.el update gnus/.dir-locals.el gnus/_dir-locals.el\r
sed -f ../msdos/sedlisp.inp < Makefile.in > Makefile\r
cd ..\r
rem ----------------------------------------------------------------------\r
goto End\r
:gdbinitOk\r
Echo Looking for the GDB init file...found\r
+rem GNUMakefile is not appropriate for MS-DOS so move it out of the way\r
+If Exist GNUmakefile mv -f GNUmakefile GNUmakefile.unix\r
copy msdos\mainmake.v2 Makefile >nul\r
rem ----------------------------------------------------------------------\r
goto End\r
set nodebug=\r
set djgpp_ver=\r
set sys_malloc=\r
-\r
-goto skipArchTag\r
- arch-tag: 2d2fed23-4dc6-4006-a2e4-49daf0031f33\r
-:skipArchTag\r
+set libxml=\r