Etags.el change moved. Add dired-aux change.
[bpt/emacs.git] / config.bat
CommitLineData
3382cd59
RS
1@echo off\r
2rem ----------------------------------------------------------------------\r
3rem Configuration script for MSDOS\r
331fdf1e
RS
4rem Copyright (C) 1994 Free Software Foundation, Inc.\r
5\r
3382cd59
RS
6rem This file is part of GNU Emacs.\r
7\r
8rem GNU Emacs is free software; you can redistribute it and/or modify\r
9rem it under the terms of the GNU General Public License as published by\r
10rem the Free Software Foundation; either version 2, or (at your option)\r
11rem any later version.\r
12\r
13rem GNU Emacs is distributed in the hope that it will be useful,\r
14rem but WITHOUT ANY WARRANTY; without even the implied warranty of\r
15rem MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r
16rem GNU General Public License for more details.\r
17\r
18rem You should have received a copy of the GNU General Public License\r
1fb87c77
KH
19rem along with GNU Emacs; see the file COPYING. If not, write to the\r
20rem Free Software Foundation, Inc., 59 Temple Place - Suite 330,\r
21rem Boston, MA 02111-1307, USA.\r
3382cd59
RS
22rem ----------------------------------------------------------------------\r
23rem YOU'LL NEED THE FOLLOWING UTILITIES TO MAKE EMACS:\r
24rem\r
331fdf1e 25rem + msdos version 3 or better.\r
f56c5217 26rem + djgpp version 1.12maint1 or later (version 2.0 or later recommended).\r
331fdf1e
RS
27rem + make utility that allows breaking of the 128 chars limit on\r
28rem command lines. ndmake (as of version 4.5) won't work due to a\r
293e5aa6 29rem line length limit. The make that comes with djgpp does work.\r
f56c5217
RS
30rem + rm and mv (from GNU file utilities).\r
31rem + sed (you can use the port that comes with DJGPP).\r
331fdf1e 32rem\r
f56c5217 33rem You should be able to get all the above utilities from any SimTel\r
adc110de
EZ
34rem repository, e.g. ftp.simtel.net, in the directory\r
35rem "pub/simtelnet/gnu/djgpp/v2gnu". As usual, please use your local\r
36rem mirroring site to reduce trans-Atlantic traffic.\r
3382cd59 37rem ----------------------------------------------------------------------\r
ddff705b
MW
38set X11=\r
39set nodebug=\r
b696f860 40set djgpp_ver=\r
adc110de
EZ
41if "%1" == "" goto usage\r
42rem ----------------------------------------------------------------------\r
43rem See if their environment is large enough. We need 28 bytes.\r
44set $foo$=789012345678901234567\r
45if not "%$foo$%" == "789012345678901234567" goto SmallEnv\r
46set $foo$=\r
ddff705b
MW
47:again\r
48if "%1" == "" goto usage\r
49if "%1" == "--with-x" goto withx\r
50if "%1" == "--no-debug" goto nodebug\r
3382cd59
RS
51if "%1" == "msdos" goto msdos\r
52:usage\r
ddff705b
MW
53echo Usage: config [--with-x] [--no-debug] msdos\r
54echo [Read the script before you run it.]\r
3382cd59
RS
55goto end\r
56rem ----------------------------------------------------------------------\r
ddff705b
MW
57:withx\r
58set X11=Y\r
59shift\r
60goto again\r
331fdf1e 61rem ----------------------------------------------------------------------\r
ddff705b
MW
62:nodebug\r
63set nodebug=Y\r
64shift\r
65goto again\r
3382cd59 66rem ----------------------------------------------------------------------\r
ddff705b 67:msdos\r
2f3e7987
RS
68Echo Checking whether 'sed' is available...\r
69sed -e "w junk.$$$" <Nul\r
ddff705b 70If Exist junk.$$$ Goto sedOk\r
2f3e7987 71Echo To configure 'Emacs' you need to have 'sed'!\r
ddff705b
MW
72Goto End\r
73:sedOk\r
2f3e7987 74Echo Checking whether 'rm' is available...\r
ddff705b
MW
75rm -f junk.$$$\r
76If Not Exist junk.$$$ Goto rmOk\r
2f3e7987 77Echo To configure 'Emacs' you need to have 'rm'!\r
ddff705b
MW
78Goto End\r
79:rmOk\r
2f3e7987 80Echo Checking whether 'mv' is available...\r
ddff705b
MW
81rm -f junk.1 junk.2\r
82echo foo >junk.1\r
9663837a 83mv junk.1 ./junk.2\r
ddff705b 84If Exist junk.2 Goto mvOk\r
2f3e7987 85Echo To configure 'Emacs' you need to have 'mv'!\r
ddff705b
MW
86rm -f junk.1\r
87Goto End\r
88:mvOk\r
89rm -f junk.2\r
2f3e7987 90Echo Checking whether 'gcc' is available...\r
ddff705b
MW
91echo main(){} >junk.c\r
92gcc -c junk.c\r
93if exist junk.o goto gccOk\r
2f3e7987 94Echo To configure 'Emacs' you need to have 'gcc'!\r
ddff705b
MW
95rm -f junk.c\r
96Goto End\r
97:gccOk\r
8cdaacaf 98rm -f junk.c junk.o junk junk.exe\r
f56c5217
RS
99Echo Checking what version of DJGPP is installed...\r
100If Not "%DJGPP%" == "" goto djgppOk\r
101Echo To compile 'Emacs' under MS-DOS you MUST have DJGPP installed!\r
102Goto End\r
103:djgppOk\r
104echo int main() >junk.c\r
105echo #ifdef __DJGPP__ >>junk.c\r
106echo {return (__DJGPP__)*10;} >>junk.c\r
107echo #else >>junk.c\r
108echo #ifdef __GO32__ >>junk.c\r
109echo {return 10;} >>junk.c\r
110echo #else >>junk.c\r
111echo {return 0;} >>junk.c\r
112echo #endif >>junk.c\r
113echo #endif >>junk.c\r
8cdaacaf
RS
114gcc -o junk junk.c\r
115if not exist junk.exe coff2exe junk\r
f56c5217
RS
116junk\r
117If ErrorLevel 10 Goto go32Ok\r
118rm -f junk.c junk junk.exe\r
119Echo To compile 'Emacs' under MS-DOS you MUST have DJGPP installed!\r
120Goto End\r
121:go32Ok\r
b696f860
RS
122set djgpp_ver=1\r
123If ErrorLevel 20 set djgpp_ver=2\r
f56c5217 124rm -f junk.c junk junk.exe\r
b696f860 125Echo Configuring for DJGPP Version %DJGPP_VER% ...\r
ddff705b 126Rem ----------------------------------------------------------------------\r
3382cd59
RS
127Echo Configuring the source directory...\r
128cd src\r
3382cd59 129\r
05175c54
EZ
130rem Create "epaths.h"\r
131sed -f ../msdos/sed4.inp <epaths.in >epaths.tmp\r
132update epaths.tmp epaths.h >nul\r
133rm -f epaths.tmp\r
3382cd59
RS
134\r
135rem Create "config.h"\r
ddff705b 136rm -f config.h2 config.tmp\r
45cdceb9 137sed -e '' config.in > config.tmp\r
331fdf1e 138if "%X11%" == "" goto src4\r
2f3e7987 139sed -f ../msdos/sed2x.inp <config.in >config.tmp\r
331fdf1e 140:src4\r
ddff705b
MW
141sed -f ../msdos/sed2.inp <config.tmp >config.h2\r
142update config.h2 config.h >nul\r
143rm -f config.tmp config.h2\r
3382cd59
RS
144\r
145rem On my system dir.h gets in the way. It's a VMS file so who cares.\r
146if exist dir.h ren dir.h vmsdir.h\r
147\r
2f3e7987 148rem Create "makefile" from "makefile.in".\r
07402863
EZ
149rm -f Makefile junk.c\r
150sed -e "1,/cpp stuff/s@^# .*$@@" <Makefile.in >junk.c\r
b696f860 151If "%DJGPP_VER%" == "1" Goto mfV1\r
07402863 152gcc -E junk.c | sed -f ../msdos/sed1v2.inp >Makefile\r
f56c5217
RS
153goto mfDone\r
154:mfV1\r
07402863 155gcc -E junk.c | sed -f ../msdos/sed1.inp >Makefile\r
f56c5217 156:mfDone\r
dd0d2cf3 157rm -f junk.c\r
2f3e7987 158\r
ddff705b 159if "%X11%" == "" goto src5\r
07402863
EZ
160mv Makefile makefile.tmp\r
161sed -f ../msdos/sed1x.inp <makefile.tmp >Makefile\r
ddff705b
MW
162rm -f makefile.tmp\r
163:src5\r
164\r
165if "%nodebug%" == "" goto src6\r
2e4a0140 166sed -e "/^CFLAGS *=/s/ *-gcoff//" <Makefile >makefile.tmp\r
07402863 167sed -e "/^LDFLAGS *=/s/=/=-s/" <makefile.tmp >Makefile\r
f56c5217 168rm -f makefile.tmp\r
ddff705b 169:src6\r
3382cd59
RS
170cd ..\r
171rem ----------------------------------------------------------------------\r
172Echo Configuring the library source directory...\r
173cd lib-src\r
174rem Create "makefile" from "makefile.in".\r
07402863 175sed -e "1,/cpp stuff/s@^# .*$@@" <Makefile.in >junk.c\r
2f3e7987 176gcc -E -I. -I../src junk.c | sed -e "s/^ / /" -e "/^#/d" -e "/^[ \f]*$/d" >makefile.new\r
b696f860 177If "%DJGPP_VER%" == "2" goto libsrc-v2\r
07402863 178sed -f ../msdos/sed3.inp <makefile.new >Makefile\r
f56c5217
RS
179Goto libsrc2\r
180:libsrc-v2\r
07402863 181sed -f ../msdos/sed3v2.inp <makefile.new >Makefile\r
f56c5217 182:libsrc2\r
ddff705b 183rm -f makefile.new junk.c\r
f56c5217 184if "%nodebug%" == "" goto libsrc3\r
2e4a0140 185sed -e "/^CFLAGS *=/s/ *-gcoff//" <Makefile >makefile.tmp\r
07402863 186sed -e "/^ALL_CFLAGS *=/s/=/= -s/" <makefile.tmp >Makefile\r
f56c5217
RS
187rm -f makefile.tmp\r
188:libsrc3\r
ddff705b
MW
189cd ..\r
190rem ----------------------------------------------------------------------\r
191if "%X11%" == "" goto oldx1\r
192Echo Configuring the oldxmenu directory...\r
193cd oldxmenu\r
07402863 194sed -f ../msdos/sed5x.inp <Makefile.in >Makefile\r
ddff705b 195if "%nodebug%" == "" goto oldx2\r
2e4a0140 196sed -e "/^CFLAGS *=/s/ *-gcoff//" <Makefile >makefile.tmp\r
07402863 197mv -f makefile.tmp Makefile\r
ddff705b 198:oldx2\r
3382cd59 199cd ..\r
ddff705b 200:oldx1\r
3382cd59 201rem ----------------------------------------------------------------------\r
07402863
EZ
202Echo Configuring the manual directory...\r
203cd man\r
204sed -f ../msdos/sed6.inp < Makefile.in > Makefile\r
205cd ..\r
206rem ----------------------------------------------------------------------\r
b2451b86
EZ
207If not Exist leim\quail\latin-pre.el goto maindir\r
208Echo Configuring the leim directory...\r
209cd leim\r
210sed -f ../msdos/sedleim.inp < Makefile.in > Makefile\r
211cd ..\r
212rem ----------------------------------------------------------------------\r
213:maindir\r
3382cd59 214Echo Configuring the main directory...\r
809e1789
RS
215If "%DJGPP_VER%" == "1" goto mainv1\r
216Echo Looking for the GDB init file...\r
456f382c 217If not Exist src\_gdbinit If Exist src\.gdbinit update src/.gdbinit src/_gdbinit\r
809e1789
RS
218If Exist src\_gdbinit goto gdbinitOk\r
219Echo ERROR:\r
220Echo I cannot find the GDB init file. It was called ".gdbinit" in\r
221Echo the Emacs distribution, but was probably renamed to some other\r
222Echo name without the leading dot when you untarred the archive.\r
223Echo It should be in the "src/" subdirectory. Please make sure this\r
224Echo file exists and is called "_gdbinit" with a leading underscore.\r
225Echo Then run CONFIG.BAT again with the same arguments you did now.\r
226goto End\r
227:gdbinitOk\r
228Echo Looking for the GDB init file...found\r
07402863 229copy msdos\mainmake.v2 Makefile >nul\r
809e1789 230:mainv1\r
07402863 231If "%DJGPP_VER%" == "1" copy msdos\mainmake Makefile >nul\r
3382cd59 232rem ----------------------------------------------------------------------\r
adc110de
EZ
233goto End\r
234:SmallEnv\r
235echo Your environment size is too small. Please enlarge it and run me again.\r
236echo For example, type "command.com /e:2048" to have 2048 bytes available.\r
237set $foo$=\r
3382cd59 238:end\r
331fdf1e 239set X11=\r
ddff705b 240set nodebug=\r
b696f860 241set djgpp_ver=\r