]> code.delx.au - gnu-emacs/blobdiff - config.bat
Fix an error in Tramp for rsync
[gnu-emacs] / config.bat
index aa2a3a4f90540d567c016fc4c32e99644b4d534d..a5bea7135aeaba7b21999079f681da311a387ca7 100644 (file)
@@ -1,9 +1,7 @@
 @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, 2011  Free Software Foundation,\r
-rem   Inc.\r
+rem   Copyright (C) 1994-1999, 2001-2016 Free Software Foundation, Inc.\r
 \r
 rem   This file is part of GNU Emacs.\r
 \r
@@ -24,10 +22,10 @@ rem   ----------------------------------------------------------------------
 rem   YOU'LL NEED THE FOLLOWING UTILITIES TO MAKE EMACS:\r
 rem\r
 rem   + msdos version 3 or better.\r
-rem   + DJGPP version 2.0 or later (version 2.03 or later recommended).\r
+rem   + DJGPP version 2.02 or later (version 2.03 or later recommended).\r
 rem   + make utility that allows breaking of the 128 chars limit on\r
 rem     command lines.  ndmake (as of version 4.5) won't work due to a\r
-rem     line length limit.  The make that comes with DJGPP does work (and is\r
+rem     line length limit.  The DJGPP port of make works (and is\r
 rem     recommended).\r
 rem   + rm, mv, and cp (from GNU file utilities).\r
 rem   + sed (you can use the port that comes with DJGPP).\r
@@ -111,7 +109,7 @@ Goto End
 :djgppOk\r
 echo int main()           >junk.c\r
 echo #ifdef __DJGPP__    >>junk.c\r
-echo {return (__DJGPP__)*10;} >>junk.c\r
+echo {return (__DJGPP__)*10 + (__DJGPP_MINOR__);} >>junk.c\r
 echo #else               >>junk.c\r
 echo #ifdef __GO32__     >>junk.c\r
 echo {return 10;}         >>junk.c\r
@@ -128,8 +126,8 @@ Echo To compile 'Emacs' under MS-DOS you MUST have DJGPP installed!
 Goto End\r
 :go32Ok\r
 set djgpp_ver=2\r
-If Not ErrorLevel 20 Echo To build 'Emacs' you need DJGPP v2.0 or later!\r
-If Not ErrorLevel 20 Goto End\r
+If Not ErrorLevel 22 Echo To build 'Emacs' you need DJGPP v2.02 or later!\r
+If Not ErrorLevel 22 Goto End\r
 rm -f junk.c junk junk.exe\r
 rem DJECHO is used by the top-level Makefile in the v2.x build\r
 Echo Checking whether 'djecho' is available...\r
@@ -137,7 +135,6 @@ redir -o Nul -eo djecho -o junk.$$$ foo
 If Exist junk.$$$ Goto djechoOk\r
 Echo To build 'Emacs' you need the 'djecho.exe' program!\r
 Echo 'djecho.exe' is part of 'djdevNNN.zip' basic DJGPP development kit.\r
-Echo Versions of DJGPP before 2.02 called this program 'echo.exe'.\r
 Echo Either unpack 'djecho.exe' from the 'djdevNNN.zip' archive,\r
 Echo or, if you have 'echo.exe', copy it to 'djecho.exe'.\r
 Echo Then run CONFIG.BAT again with the same arguments you did now.\r
@@ -157,28 +154,12 @@ rm -f epaths.tmp
 rem   Create "config.h"\r
 rm -f config.h2 config.tmp\r
 if exist config.in sed -e '' config.in > config.tmp\r
-if exist ..\autogen\config.in sed -e '' ../autogen/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
 if exist config.in sed -f ../msdos/sed2x.inp < config.in > config.tmp\r
-if exist ..\autogen\config.in sed -f ../msdos/sed2x.inp < ..\autogen\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
-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
-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
 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
@@ -193,7 +174,7 @@ junk
 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
+sed -e "/#define EMACS_CONFIG_FEATURES/s/^.*$/#define EMACS_CONFIG_FEATURES \"LIBXML2\"/" <config.h3 >config.h2\r
 set libxml=1\r
 :xmlDone\r
 rm -f junk.c junk junk.exe\r
@@ -213,7 +194,7 @@ if exist dir.h ren dir.h vmsdir.h
 \r
 rem   Create "makefile" from "makefile.in".\r
 rm -f Makefile makefile.tmp\r
-copy Makefile.in+lisp.mk+deps.mk makefile.tmp\r
+copy Makefile.in+deps.mk makefile.tmp\r
 sed -f ../msdos/sed1v2.inp <makefile.tmp >Makefile\r
 rm -f makefile.tmp\r
 \r
@@ -246,6 +227,10 @@ rem   ----------------------------------------------------------------------
 Echo Configuring the library source directory...\r
 cd lib-src\r
 sed -f ../msdos/sed3v2.inp <Makefile.in >Makefile\r
+mv Makefile makefile.tmp\r
+sed -n -e "/^AC_INIT/s/[^,]*, \([^,]*\).*/@set emver=\1/p" ../configure.ac > emver.bat\r
+call emver.bat\r
+sed -e "s/@version@/%emver%/g" <makefile.tmp >Makefile\r
 if "%X11%" == "" goto libsrc2a\r
 mv Makefile makefile.tmp\r
 sed -f ../msdos/sed3x.inp <makefile.tmp >Makefile\r
@@ -271,29 +256,50 @@ cd ..
 rem   ----------------------------------------------------------------------\r
 Echo Configuring the doc directory, expect one "File not found" message...\r
 cd doc\r
+Rem Rename files like djtar on plain DOS filesystem would.\r
+If Exist emacs\emacsver.texi.in update emacs/emacsver.texi.in emacs/emacsver.in\r
+If Exist man\emacs.1.in update man/emacs.1.in man/emacs.in\r
+If Exist ..\etc\refcards\emacsver.tex.in update ../etc/refcards/emacsver.tex.in ../etc/refcards/emacsver.in\r
 Rem The two variants for lispintro below is for when the shell\r
 Rem supports long file names but DJGPP does not\r
-for %%d in (emacs lispref lispintro lispintr misc) do sed -f ../msdos/sed6.inp < %%d\Makefile.in > %%d\Makefile\r
+for %%d in (emacs lispref lispintro lispintr misc) do sed -e "s/@version@/%emver%/g" -f ../msdos/sed6.inp < %%d\Makefile.in > %%d\Makefile\r
+Rem produce emacs.1 from emacs.in\r
+If Exist man\emacs.1 goto manOk\r
+sed -e "s/@version@/%emver%/g" -e "s/@PACKAGE_BUGREPORT@/bug-gnu-emacs@gnu.org/g" < man\emacs.in > man\emacs.1\r
+:manOk\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 byteswap.in.h update byteswap.in.h byteswap.in-h\r
+If Exist dirent.in.h update dirent.in.h dirent.in-h\r
+If Exist errno.in.h update errno.in.h errno.in-h\r
+If Exist execinfo.in.h update execinfo.in.h execinfo.in-h\r
+If Exist fcntl.in.h update fcntl.in.h fcntl.in-h\r
 If Exist getopt.in.h update getopt.in.h getopt.in-h\r
+If Exist inttypes.in.h update inttypes.in.h inttypes.in-h\r
+If Exist stdarg.in.h update stdarg.in.h stdarg.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 string.in.h update string.in.h string.in-h\r
+If Exist sys_select.in.h update sys_select.in.h sys_select.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 sys_time.in.h update sys_time.in.h sys_time.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
+Rem Only repository has the msdos/autogen directory\r
 If Exist Makefile.in sed -f ../msdos/sedlibcf.inp < Makefile.in > makefile.tmp\r
-If Exist ..\autogen\Makefile.in sed -f ../msdos/sedlibcf.inp < ..\autogen\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
@@ -308,13 +314,24 @@ If Exist gnus\.dir-locals.el update gnus/.dir-locals.el gnus/_dir-locals.el
 sed -f ../msdos/sedlisp.inp < Makefile.in > Makefile\r
 cd ..\r
 rem   ----------------------------------------------------------------------\r
-If not Exist leim\quail\latin-pre.el goto maindir\r
 Echo Configuring the leim directory...\r
 cd leim\r
 sed -f ../msdos/sedleim.inp < Makefile.in > Makefile\r
 cd ..\r
 rem   ----------------------------------------------------------------------\r
-:maindir\r
+If Not Exist admin\unidata goto noadmin\r
+Echo Configuring the admin/unidata directory...\r
+cd admin\unidata\r
+sed -f ../../msdos/sedadmin.inp < Makefile.in > Makefile\r
+Echo Configuring the admin/charsets directory...\r
+cd ..\charsets\r
+sed -f ../../msdos/sedadmin.inp < Makefile.in > Makefile\r
+Echo Configuring the admin/grammars directory...\r
+cd ..\grammars\r
+sed -f ../../msdos/sedadmin.inp < Makefile.in > Makefile\r
+cd ..\..\r
+:noadmin\r
+rem   ----------------------------------------------------------------------\r
 Echo Configuring the main directory...\r
 If Exist .dir-locals.el update .dir-locals.el _dir-locals.el\r
 If Exist src\.dbxinit update src/.dbxinit src/_dbxinit\r
@@ -346,4 +363,4 @@ set nodebug=
 set djgpp_ver=\r
 set sys_malloc=\r
 set libxml=\r
-\r
+set emver=\r