]> code.delx.au - gnu-emacs/blobdiff - config.bat
Minor tweaks of copying text properties when padding strings
[gnu-emacs] / config.bat
index 232beb221f75f87eff522f0ea604b0914587b04a..a5bea7135aeaba7b21999079f681da311a387ca7 100644 (file)
@@ -1,7 +1,7 @@
 @echo off\r
 rem   ----------------------------------------------------------------------\r
 rem   Configuration script for MSDOS\r
-rem   Copyright (C) 1994-1999, 2001-2015 Free Software Foundation, 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
@@ -22,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
@@ -109,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
@@ -126,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
@@ -135,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
@@ -175,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
@@ -195,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
@@ -228,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
@@ -253,16 +256,23 @@ 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
@@ -287,6 +297,7 @@ If Exist sys_types.in.h update sys_types.in.h sys_types.in-h
 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 ..\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
@@ -312,6 +323,12 @@ If Not Exist admin\unidata goto noadmin
 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
@@ -346,3 +363,4 @@ set nodebug=
 set djgpp_ver=\r
 set sys_malloc=\r
 set libxml=\r
+set emver=\r