(selection_request_dpyinfo): New variable.
[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
92a0f4b1
EZ
125rem DJECHO is used by the top-level Makefile\r
126Echo Checking whether 'djecho' is available...\r
127redir -o Nul -eo djecho -o junk.$$$ foo\r
128If Exist junk.$$$ Goto djechoOk\r
129Echo To build 'Emacs' you need the 'djecho.exe' program!\r
130Echo 'djecho.exe' is part of 'djdevNNN.zip' basic DJGPP development kit.\r
131Echo Versions of DJGPP before 2.02 called this program 'echo.exe'.\r
132Echo Either unpack 'djecho.exe' from the 'djdevNNN.zip' archive,\r
133Echo or, if you have 'echo.exe', copy it to 'djecho.exe'.\r
134Echo Then run CONFIG.BAT again with the same arguments you did now.\r
135Goto End\r
136:djechoOk\r
137rm -f junk.$$$\r
b696f860 138Echo Configuring for DJGPP Version %DJGPP_VER% ...\r
ddff705b 139Rem ----------------------------------------------------------------------\r
3382cd59
RS
140Echo Configuring the source directory...\r
141cd src\r
3382cd59 142\r
05175c54
EZ
143rem Create "epaths.h"\r
144sed -f ../msdos/sed4.inp <epaths.in >epaths.tmp\r
145update epaths.tmp epaths.h >nul\r
146rm -f epaths.tmp\r
3382cd59
RS
147\r
148rem Create "config.h"\r
ddff705b 149rm -f config.h2 config.tmp\r
45cdceb9 150sed -e '' config.in > config.tmp\r
331fdf1e 151if "%X11%" == "" goto src4\r
2f3e7987 152sed -f ../msdos/sed2x.inp <config.in >config.tmp\r
331fdf1e 153:src4\r
ddff705b
MW
154sed -f ../msdos/sed2.inp <config.tmp >config.h2\r
155update config.h2 config.h >nul\r
156rm -f config.tmp config.h2\r
3382cd59
RS
157\r
158rem On my system dir.h gets in the way. It's a VMS file so who cares.\r
159if exist dir.h ren dir.h vmsdir.h\r
160\r
2f3e7987 161rem Create "makefile" from "makefile.in".\r
07402863 162rm -f Makefile junk.c\r
373ea6d5 163sed -e "1,/== start of cpp stuff ==/s@^# .*$@@" <Makefile.in >junk.c\r
b696f860 164If "%DJGPP_VER%" == "1" Goto mfV1\r
c212c118 165gcc -E -traditional junk.c | sed -f ../msdos/sed1v2.inp >Makefile\r
f56c5217
RS
166goto mfDone\r
167:mfV1\r
c212c118 168gcc -E -traditional junk.c | sed -f ../msdos/sed1.inp >Makefile\r
f56c5217 169:mfDone\r
dd0d2cf3 170rm -f junk.c\r
2f3e7987 171\r
ddff705b 172if "%X11%" == "" goto src5\r
07402863
EZ
173mv Makefile makefile.tmp\r
174sed -f ../msdos/sed1x.inp <makefile.tmp >Makefile\r
ddff705b
MW
175rm -f makefile.tmp\r
176:src5\r
177\r
178if "%nodebug%" == "" goto src6\r
2e4a0140 179sed -e "/^CFLAGS *=/s/ *-gcoff//" <Makefile >makefile.tmp\r
07402863 180sed -e "/^LDFLAGS *=/s/=/=-s/" <makefile.tmp >Makefile\r
f56c5217 181rm -f makefile.tmp\r
ddff705b 182:src6\r
3382cd59
RS
183cd ..\r
184rem ----------------------------------------------------------------------\r
185Echo Configuring the library source directory...\r
186cd lib-src\r
187rem Create "makefile" from "makefile.in".\r
373ea6d5 188sed -e "1,/== start of cpp stuff ==/s@^# .*$@@" <Makefile.in >junk.c\r
c212c118 189gcc -E -traditional -I. -I../src junk.c | sed -e "s/^ / /" -e "/^#/d" -e "/^[ \f]*$/d" >makefile.new\r
b696f860 190If "%DJGPP_VER%" == "2" goto libsrc-v2\r
07402863 191sed -f ../msdos/sed3.inp <makefile.new >Makefile\r
f56c5217
RS
192Goto libsrc2\r
193:libsrc-v2\r
07402863 194sed -f ../msdos/sed3v2.inp <makefile.new >Makefile\r
f56c5217 195:libsrc2\r
ddff705b 196rm -f makefile.new junk.c\r
f56c5217 197if "%nodebug%" == "" goto libsrc3\r
2e4a0140 198sed -e "/^CFLAGS *=/s/ *-gcoff//" <Makefile >makefile.tmp\r
07402863 199sed -e "/^ALL_CFLAGS *=/s/=/= -s/" <makefile.tmp >Makefile\r
f56c5217
RS
200rm -f makefile.tmp\r
201:libsrc3\r
ddff705b
MW
202cd ..\r
203rem ----------------------------------------------------------------------\r
204if "%X11%" == "" goto oldx1\r
205Echo Configuring the oldxmenu directory...\r
206cd oldxmenu\r
07402863 207sed -f ../msdos/sed5x.inp <Makefile.in >Makefile\r
ddff705b 208if "%nodebug%" == "" goto oldx2\r
2e4a0140 209sed -e "/^CFLAGS *=/s/ *-gcoff//" <Makefile >makefile.tmp\r
07402863 210mv -f makefile.tmp Makefile\r
ddff705b 211:oldx2\r
3382cd59 212cd ..\r
ddff705b 213:oldx1\r
3382cd59 214rem ----------------------------------------------------------------------\r
07402863
EZ
215Echo Configuring the manual directory...\r
216cd man\r
217sed -f ../msdos/sed6.inp < Makefile.in > Makefile\r
218cd ..\r
219rem ----------------------------------------------------------------------\r
efb81423
EZ
220Echo Configuring the lisp directory...\r
221cd lisp\r
222sed -f ../msdos/sedlisp.inp < Makefile.in > Makefile\r
223cd ..\r
224rem ----------------------------------------------------------------------\r
b2451b86
EZ
225If not Exist leim\quail\latin-pre.el goto maindir\r
226Echo Configuring the leim directory...\r
227cd leim\r
228sed -f ../msdos/sedleim.inp < Makefile.in > Makefile\r
229cd ..\r
230rem ----------------------------------------------------------------------\r
231:maindir\r
3382cd59 232Echo Configuring the main directory...\r
809e1789
RS
233If "%DJGPP_VER%" == "1" goto mainv1\r
234Echo Looking for the GDB init file...\r
dd0e1e54 235If Exist src\.gdbinit update src/.gdbinit src/_gdbinit\r
809e1789
RS
236If Exist src\_gdbinit goto gdbinitOk\r
237Echo ERROR:\r
238Echo I cannot find the GDB init file. It was called ".gdbinit" in\r
239Echo the Emacs distribution, but was probably renamed to some other\r
240Echo name without the leading dot when you untarred the archive.\r
241Echo It should be in the "src/" subdirectory. Please make sure this\r
242Echo file exists and is called "_gdbinit" with a leading underscore.\r
243Echo Then run CONFIG.BAT again with the same arguments you did now.\r
244goto End\r
245:gdbinitOk\r
246Echo Looking for the GDB init file...found\r
07402863 247copy msdos\mainmake.v2 Makefile >nul\r
809e1789 248:mainv1\r
07402863 249If "%DJGPP_VER%" == "1" copy msdos\mainmake Makefile >nul\r
3382cd59 250rem ----------------------------------------------------------------------\r
adc110de
EZ
251goto End\r
252:SmallEnv\r
253echo Your environment size is too small. Please enlarge it and run me again.\r
254echo For example, type "command.com /e:2048" to have 2048 bytes available.\r
255set $foo$=\r
3382cd59 256:end\r
331fdf1e 257set X11=\r
ddff705b 258set nodebug=\r
b696f860 259set djgpp_ver=\r