rem YOU'LL NEED THE FOLLOWING UTILITIES TO MAKE EMACS:\r
rem\r
rem + msdos version 3 or better.\r
-rem + djgpp version 1,11 maint 4 or better.\r
+rem + djgpp version 1.12maint1 or later (version 2.0 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.\r
-rem + rm, mv, chmod (From GNU file utilities).\r
-rem + sed.\r
+rem line length limit. The make that comes with djgpp does work.\r
+rem + rm and mv (from GNU file utilities).\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 all\r
-rem Simtel repositories, e.g., oak.oakland.edu in the directories\r
-rem "/pub/msdos/djgpp" and "/pub/msdos/gnuish". As usual, please\r
-rem use your local mirroring site to reduce trans-Atlantic traffic.\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 ----------------------------------------------------------------------\r
set X11=\r
set nodebug=\r
+set djgpp_ver=\r
:again\r
if "%1" == "" goto usage\r
if "%1" == "--with-x" goto withx\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
+Goto End\r
+:djgppOk\r
+echo int main() >junk.c\r
+echo #ifdef __DJGPP__ >>junk.c\r
+echo {return (__DJGPP__)*10;} >>junk.c\r
+echo #else >>junk.c\r
+echo #ifdef __GO32__ >>junk.c\r
+echo {return 10;} >>junk.c\r
+echo #else >>junk.c\r
+echo {return 0;} >>junk.c\r
+echo #endif >>junk.c\r
+echo #endif >>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
+Echo To compile 'Emacs' under MS-DOS you MUST have DJGPP installed!\r
+Goto End\r
+:go32Ok\r
+set djgpp_ver=1\r
+If ErrorLevel 20 set djgpp_ver=2\r
+rm -f junk.c junk junk.exe\r
+Echo Configuring for DJGPP Version %DJGPP_VER% ...\r
Rem ----------------------------------------------------------------------\r
Echo Configuring the source directory...\r
cd src\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
+If "%DJGPP_VER%" == "1" Goto mfV1\r
+gcc -E 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
+:mfDone\r
rm -f junk.c\r
\r
if "%X11%" == "" goto src5\r
\r
if "%nodebug%" == "" goto src6\r
sed -e "/^CFLAGS *=/s/ *-g//" <makefile >makefile.tmp\r
-mv -f makefile.tmp makefile\r
+sed -e "/^LDFLAGS *=/s/=/=-s/" <makefile.tmp >makefile\r
+rm -f makefile.tmp\r
:src6\r
cd ..\r
rem ----------------------------------------------------------------------\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
+If "%DJGPP_VER%" == "2" goto libsrc-v2\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
+:libsrc2\r
rm -f makefile.new junk.c\r
-if "%nodebug%" == "" goto libsrc2\r
+if "%nodebug%" == "" goto libsrc3\r
sed -e "/^CFLAGS *=/s/ *-g//" <makefile >makefile.tmp\r
-mv -f makefile.tmp makefile\r
-:libsrc2\r
+sed -e "/^ALL_CFLAGS *=/s/=/= -s/" <makefile.tmp >makefile\r
+rm -f makefile.tmp\r
+:libsrc3\r
cd ..\r
rem ----------------------------------------------------------------------\r
if "%X11%" == "" goto oldx1\r
:oldx1\r
rem ----------------------------------------------------------------------\r
Echo Configuring the main directory...\r
-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 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
:end\r
set X11=\r
set nodebug=\r
+set djgpp_ver=\r