@echo off\r
rem ----------------------------------------------------------------------\r
rem Configuration script for MSDOS\r
-rem Copyright (C) 1994 Free Software Foundation, Inc.\r
+rem Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2001\r
+rem Free Software Foundation, Inc.\r
\r
rem This file is part of GNU Emacs.\r
\r
rem GNU General Public License for more details.\r
\r
rem You should have received a copy of the GNU General Public License\r
-rem along with GNU Emacs; see the file COPYING. If not, write to\r
-rem the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.\r
+rem along with GNU Emacs; see the file COPYING. If not, write to the\r
+rem Free Software Foundation, Inc., 59 Temple Place - Suite 330,\r
+rem Boston, MA 02111-1307, USA.\r
rem ----------------------------------------------------------------------\r
rem YOU'LL NEED THE FOLLOWING UTILITIES TO MAKE EMACS:\r
rem\r
rem + sed (you can use the port that comes with DJGPP).\r
rem\r
rem You should be able to get all the above utilities from any SimTel\r
-rem repository, e.g. ftp.coast.net, in the directories\r
-rem "SimTel/vendors/djgpp" and "SimTel/vendors/gnu/gnuish/dos_only". As\r
-rem usual, please use your local mirroring site to reduce trans-Atlantic\r
-rem traffic.\r
+rem repository, e.g. ftp.simtel.net, in the directory\r
+rem "pub/simtelnet/gnu/djgpp/v2gnu". As usual, please use your local\r
+rem mirroring site to reduce trans-Atlantic traffic.\r
rem ----------------------------------------------------------------------\r
set X11=\r
set nodebug=\r
set djgpp_ver=\r
+if "%1" == "" goto usage\r
+rem ----------------------------------------------------------------------\r
+rem See if their environment is large enough. We need 28 bytes.\r
+set $foo$=789012345678901234567\r
+if not "%$foo$%" == "789012345678901234567" goto SmallEnv\r
+set $foo$=\r
:again\r
if "%1" == "" goto usage\r
if "%1" == "--with-x" goto withx\r
Echo Checking whether 'mv' is available...\r
rm -f junk.1 junk.2\r
echo foo >junk.1\r
-mv junk.1 junk.2\r
+mv junk.1 ./junk.2\r
If Exist junk.2 Goto mvOk\r
Echo To configure 'Emacs' you need to have 'mv'!\r
rm -f junk.1\r
rm -f junk.c\r
Goto End\r
:gccOk\r
-rm -f junk.c junk.o\r
+rm -f junk.c junk.o junk junk.exe\r
Echo Checking what version of DJGPP is installed...\r
If Not "%DJGPP%" == "" goto djgppOk\r
Echo To compile 'Emacs' under MS-DOS you MUST have DJGPP installed!\r
echo {return 0;} >>junk.c\r
echo #endif >>junk.c\r
echo #endif >>junk.c\r
-gcc -o junk.exe junk.c\r
+gcc -o junk junk.c\r
+if not exist junk.exe coff2exe junk\r
junk\r
If ErrorLevel 10 Goto go32Ok\r
rm -f junk.c junk junk.exe\r
set djgpp_ver=1\r
If ErrorLevel 20 set djgpp_ver=2\r
rm -f junk.c junk junk.exe\r
+rem DJECHO is used by the top-level Makefile\r
+Echo Checking whether 'djecho' is available...\r
+redir -o Nul -eo djecho -o junk.$$$ foo\r
+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
+Goto End\r
+:djechoOk\r
+rm -f junk.$$$\r
Echo Configuring for DJGPP Version %DJGPP_VER% ...\r
Rem ----------------------------------------------------------------------\r
Echo Configuring the source directory...\r
cd src\r
\r
-rem Create "paths.h"\r
-sed -f ../msdos/sed4.inp <paths.in >paths.tmp\r
-update paths.tmp paths.h >nul\r
-rm -f paths.tmp\r
+rem Create "epaths.h"\r
+sed -f ../msdos/sed4.inp <epaths.in >epaths.tmp\r
+update epaths.tmp epaths.h >nul\r
+rm -f epaths.tmp\r
\r
rem Create "config.h"\r
rm -f config.h2 config.tmp\r
-cp config.in config.tmp\r
+sed -e '' config.in > config.tmp\r
if "%X11%" == "" goto src4\r
sed -f ../msdos/sed2x.inp <config.in >config.tmp\r
:src4\r
+if "%DJGPP_VER%" == "2" Goto src41\r
sed -f ../msdos/sed2.inp <config.tmp >config.h2\r
+goto src42\r
+:src41\r
+sed -f ../msdos/sed2v2.inp <config.tmp >config.h2\r
+:src42\r
update config.h2 config.h >nul\r
rm -f config.tmp config.h2\r
\r
if exist dir.h ren dir.h vmsdir.h\r
\r
rem Create "makefile" from "makefile.in".\r
-rm -f makefile junk.c\r
-sed -e "1,/cpp stuff/s@^# .*$@@" <makefile.in >junk.c\r
+rm -f Makefile junk.c\r
+sed -e "1,/== start of cpp stuff ==/s@^# .*$@@" <Makefile.in >junk.c\r
If "%DJGPP_VER%" == "1" Goto mfV1\r
-gcc -E junk.c | sed -f ../msdos/sed1v2.inp >makefile\r
+gcc -E -traditional junk.c | sed -f ../msdos/sed1v2.inp >Makefile\r
goto mfDone\r
:mfV1\r
-gcc -E junk.c | sed -f ../msdos/sed1.inp >makefile\r
+gcc -E -traditional junk.c | sed -f ../msdos/sed1.inp >Makefile\r
:mfDone\r
rm -f junk.c\r
\r
if "%X11%" == "" goto src5\r
-mv makefile makefile.tmp\r
-sed -f ../msdos/sed1x.inp <makefile.tmp >makefile\r
+mv Makefile makefile.tmp\r
+sed -f ../msdos/sed1x.inp <makefile.tmp >Makefile\r
rm -f makefile.tmp\r
:src5\r
\r
if "%nodebug%" == "" goto src6\r
-sed -e "/^CFLAGS *=/s/ *-g//" <makefile >makefile.tmp\r
-sed -e "/^LDFLAGS *=/s/=/=-s/" <makefile.tmp >makefile\r
+sed -e "/^CFLAGS *=/s/ *-gcoff//" <Makefile >makefile.tmp\r
+sed -e "/^LDFLAGS *=/s/=/=-s/" <makefile.tmp >Makefile\r
rm -f makefile.tmp\r
:src6\r
cd ..\r
Echo Configuring the library source directory...\r
cd lib-src\r
rem Create "makefile" from "makefile.in".\r
-sed -e "1,/cpp stuff/s@^# .*$@@" <makefile.in >junk.c\r
-gcc -E -I. -I../src junk.c | sed -e "s/^ / /" -e "/^#/d" -e "/^[ \f]*$/d" >makefile.new\r
+sed -e "1,/== start of cpp stuff ==/s@^# .*$@@" <Makefile.in >junk.c\r
+gcc -E -traditional -I. -I../src junk.c | sed -e "s/^ / /" -e "/^#/d" -e "/^[ \f]*$/d" >makefile.new\r
If "%DJGPP_VER%" == "2" goto libsrc-v2\r
-sed -f ../msdos/sed3.inp <makefile.new >makefile\r
+sed -f ../msdos/sed3.inp <makefile.new >Makefile\r
Goto libsrc2\r
:libsrc-v2\r
-sed -f ../msdos/sed3v2.inp <makefile.new >makefile\r
+sed -f ../msdos/sed3v2.inp <makefile.new >Makefile\r
:libsrc2\r
rm -f makefile.new junk.c\r
if "%nodebug%" == "" goto libsrc3\r
-sed -e "/^CFLAGS *=/s/ *-g//" <makefile >makefile.tmp\r
-sed -e "/^ALL_CFLAGS *=/s/=/= -s/" <makefile.tmp >makefile\r
+sed -e "/^CFLAGS *=/s/ *-gcoff//" <Makefile >makefile.tmp\r
+sed -e "/^ALL_CFLAGS *=/s/=/= -s/" <makefile.tmp >Makefile\r
rm -f makefile.tmp\r
:libsrc3\r
cd ..\r
if "%X11%" == "" goto oldx1\r
Echo Configuring the oldxmenu directory...\r
cd oldxmenu\r
-sed -f ../msdos/sed5x.inp <makefile.in >makefile\r
+sed -f ../msdos/sed5x.inp <Makefile.in >Makefile\r
if "%nodebug%" == "" goto oldx2\r
-sed -e "/^CFLAGS *=/s/ *-g//" <makefile >makefile.tmp\r
-mv -f makefile.tmp makefile\r
+sed -e "/^CFLAGS *=/s/ *-gcoff//" <Makefile >makefile.tmp\r
+mv -f makefile.tmp Makefile\r
:oldx2\r
cd ..\r
:oldx1\r
rem ----------------------------------------------------------------------\r
+Echo Configuring the manual directory...\r
+cd man\r
+sed -f ../msdos/sed6.inp < Makefile.in > Makefile\r
+cd ..\r
+rem ----------------------------------------------------------------------\r
+Echo Configuring the ELisp manual directory...\r
+cd lispref\r
+sed -f ../msdos/sed6.inp < Makefile.in > Makefile\r
+cd ..\r
+rem ----------------------------------------------------------------------\r
+Echo Configuring the ELisp Introduction manual directory...\r
+Rem The two variants for the line below is for when the shell\r
+Rem supports long file names but DJGPP does not\r
+if exist lispintro\Makefile.in cd lispintro\r
+if exist lispintr\Makefile.in cd lispintr\r
+sed -f ../msdos/sed6.inp < Makefile.in > Makefile\r
+cd ..\r
+rem ----------------------------------------------------------------------\r
+Echo Configuring the lisp directory...\r
+cd lisp\r
+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
Echo Configuring the main directory...\r
-If "%DJGPP_VER%" == "2" copy msdos\mainmake.v2 makefile >nul\r
-If "%DJGPP_VER%" == "1" copy msdos\mainmake makefile >nul\r
+If "%DJGPP_VER%" == "1" goto mainv1\r
+Echo Looking for the GDB init file...\r
+If Exist src\.gdbinit update src/.gdbinit src/_gdbinit\r
+If Exist src\_gdbinit goto gdbinitOk\r
+Echo ERROR:\r
+Echo I cannot find the GDB init file. It was called ".gdbinit" in\r
+Echo the Emacs distribution, but was probably renamed to some other\r
+Echo name without the leading dot when you untarred the archive.\r
+Echo It should be in the "src/" subdirectory. Please make sure this\r
+Echo file exists and is called "_gdbinit" with a leading underscore.\r
+Echo Then run CONFIG.BAT again with the same arguments you did now.\r
+goto End\r
+:gdbinitOk\r
+Echo Looking for the GDB init file...found\r
+copy msdos\mainmake.v2 Makefile >nul\r
+:mainv1\r
+If "%DJGPP_VER%" == "1" copy msdos\mainmake Makefile >nul\r
rem ----------------------------------------------------------------------\r
+goto End\r
+:SmallEnv\r
+echo Your environment size is too small. Please enlarge it and run me again.\r
+echo For example, type "command.com /e:2048" to have 2048 bytes available.\r
+set $foo$=\r
:end\r
set X11=\r
set nodebug=\r