(Farray_length): Delete this obsolete function.
[bpt/emacs.git] / config.bat
index 45aa381..446060c 100644 (file)
@@ -1,6 +1,8 @@
 @echo off\r
 rem   ----------------------------------------------------------------------\r
 rem   Configuration script for MSDOS\r
+rem   Copyright (C) 1994 Free Software Foundation, Inc.\r
+\r
 rem   This file is part of GNU Emacs.\r
 \r
 rem   GNU Emacs is free software; you can redistribute it and/or modify\r
@@ -19,24 +21,74 @@ rem   the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
 rem   ----------------------------------------------------------------------\r
 rem   YOU'LL NEED THE FOLLOWING UTILITIES TO MAKE EMACS:\r
 rem\r
-rem   + djgpp version 1,11\r
-rem   + make utility that allows breaking of 128 chars limit of commands.\r
-rem     ndmake (as of version 4.5) won't work due to a line length limit.\r
+rem   + msdos version 3 or better.\r
+rem   + djgpp version 1,11 maint 4 or better.\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\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   ----------------------------------------------------------------------\r
-if not "%2" == "" goto usage\r
+set X11=\r
+set nodebug=\r
+:again\r
+if "%1" == "" goto usage\r
+if "%1" == "--with-x" goto withx\r
+if "%1" == "--no-debug" goto nodebug\r
 if "%1" == "msdos" goto msdos\r
 :usage\r
-echo Usage: config msdos\r
-echo [Read the script before you run it; also check that you have all the\r
-echo necessary utilities.]\r
+echo Usage: config [--with-x] [--no-debug] msdos\r
+echo [Read the script before you run it.]\r
 goto end\r
 rem   ----------------------------------------------------------------------\r
-:msdos\r
-rem   Change to the Emacs root\r
-cd c:\emacs\r
+:withx\r
+set X11=Y\r
+shift\r
+goto again\r
+rem   ----------------------------------------------------------------------\r
+:nodebug\r
+set nodebug=Y\r
+shift\r
+goto again\r
 rem   ----------------------------------------------------------------------\r
+:msdos\r
+Echo Checking whether `sed' is available...\r
+Sed -e "w junk.$$$" <Nul\r
+If Exist junk.$$$ Goto sedOk\r
+Echo To configure `Emacs' you need to have `sed'!\r
+Goto End\r
+:sedOk\r
+Echo Checking whether `rm' is available...\r
+rm -f junk.$$$\r
+If Not Exist junk.$$$ Goto rmOk\r
+Echo To configure `Emacs' you need to have `rm'!\r
+Goto End\r
+:rmOk\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
+If Exist junk.2 Goto mvOk\r
+Echo To configure `Emacs' you need to have `mv'!\r
+rm -f junk.1\r
+Goto End\r
+:mvOk\r
+rm -f junk.2\r
+Echo Checking whether `gcc' is available...\r
+echo main(){} >junk.c\r
+gcc -c junk.c\r
+if exist junk.o goto gccOk\r
+Echo To configure `Emacs' you need to have `gcc'!\r
+rm -f junk.c\r
+Goto End\r
+:gccOk\r
+rm -f junk.c junk.o\r
+Rem   ----------------------------------------------------------------------\r
 Echo Configuring the source directory...\r
 cd src\r
 set PATHSH=paths-h.in\r
@@ -65,31 +117,78 @@ goto end
 :src3\r
 \r
 rem   Create "paths.h"\r
-rm -f paths.h\r
-sed -e "s!/lib/emacs!!" -e "s!/usr/local!c:/emacs!" -e "s!/data!/etc!" <%PATHSH% >paths.h\r
+sed -f ../msdos/sed4.inp <%PATHSH% >paths.tmp\r
+update paths.tmp paths.h >nul\r
+rm -f paths.tmp\r
 \r
 rem   Create "config.h"\r
-rm -f config.h\r
-sed -f ../msdos/sed2.inp <%CONFIGH% >config.h\r
+rm -f config.h2 config.tmp\r
+cp %CONFIGH% config.tmp\r
+if "%X11%" == "" goto src4\r
+sed -f ../msdos/sed2x.inp <%CONFIGH% >config.tmp\r
+:src4\r
+sed -f ../msdos/sed2.inp <config.tmp >config.h2\r
+update config.h2 config.h >nul\r
+rm -f config.tmp config.h2\r
 \r
 rem   On my system dir.h gets in the way.  It's a VMS file so who cares.\r
 if exist dir.h ren dir.h vmsdir.h\r
 \r
-rem   Create "makefile" from "makefile.in.in" using a context patch.\r
+rem   Create "makefile" from "makefile.in.in".\r
 rm -f makefile junk.c\r
-cp %MAKEFILEIN% junk.c\r
+sed -e "1,/cpp stuff/s@^# .*$@@" <%MAKEFILEIN% >junk.c\r
 gcc -E junk.c | sed -f ../msdos/sed1.inp >makefile\r
 rm -f junk.c\r
+if "%X11%" == "" goto src5\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
+mv -f makefile.tmp makefile\r
+:src6\r
 cd ..\r
 rem   ----------------------------------------------------------------------\r
 Echo Configuring the library source directory...\r
 cd lib-src\r
+set MAKEFILEIN=makefile.in-in\r
+if exist %MAKEFILEIN% goto libsrc1\r
+set MAKEFILEIN=makefile-in.in\r
+if exist %MAKEFILEIN% goto libsrc1\r
+echo makefile: *** The file originally called "lib-src/Makefile.in.in" cannot be found.\r
+cd ..\r
+goto end\r
+:libsrc1\r
 rem   Create "makefile" from "makefile.in".\r
-copy makefile makefile.bak >nul\r
-sed -f ../msdos/sed3.inp <makefile.in >makefile\r
+sed -e "1,/cpp stuff/s@^# .*$@@" <%MAKEFILEIN% >junk.c\r
+gcc -E -I. -I../src junk.c | sed -e "s/^ /     /" -e "/^#/d" -e "/^[   \f]*$/d" >Makefile.new\r
+sed -f ../msdos/sed3.inp <makefile.new >makefile\r
+rm -f makefile.new junk.c\r
+if "%nodebug%" == "" goto libsrc2\r
+sed -e "/^CFLAGS *=/s/ *-g//" <makefile >makefile.tmp\r
+mv -f makefile.tmp makefile\r
+:libsrc2\r
+cd ..\r
+rem   ----------------------------------------------------------------------\r
+if "%X11%" == "" goto oldx1\r
+Echo Configuring the oldxmenu directory...\r
+cd oldxmenu\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
+:oldx2\r
 cd ..\r
+:oldx1\r
 rem   ----------------------------------------------------------------------\r
 Echo Configuring the main directory...\r
 copy msdos\mainmake makefile >nul\r
 rem   ----------------------------------------------------------------------\r
 :end\r
+set X11=\r
+set nodebug=\r
+set MAKEFILEIN=\r
+set PATHSH=\r
+set CONFIGH=\r