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