(ensure_frame_matrix): Function declaration removed.
[bpt/emacs.git] / config.bat
... / ...
CommitLineData
1@echo off\r
2rem ----------------------------------------------------------------------\r
3rem Configuration script for MSDOS\r
4rem Copyright (C) 1994 Free Software Foundation, Inc.\r
5\r
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
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
22rem ----------------------------------------------------------------------\r
23rem YOU'LL NEED THE FOLLOWING UTILITIES TO MAKE EMACS:\r
24rem\r
25rem + msdos version 3 or better.\r
26rem + djgpp version 1.12maint1 or later (version 2.0 or later recommended).\r
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
29rem line length limit. The make that comes with djgpp does work.\r
30rem + rm and mv (from GNU file utilities).\r
31rem + sed (you can use the port that comes with DJGPP).\r
32rem\r
33rem You should be able to get all the above utilities from any SimTel\r
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
37rem ----------------------------------------------------------------------\r
38set X11=\r
39set nodebug=\r
40set djgpp_ver=\r
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
47:again\r
48if "%1" == "" goto usage\r
49if "%1" == "--with-x" goto withx\r
50if "%1" == "--no-debug" goto nodebug\r
51if "%1" == "msdos" goto msdos\r
52:usage\r
53echo Usage: config [--with-x] [--no-debug] msdos\r
54echo [Read the script before you run it.]\r
55goto end\r
56rem ----------------------------------------------------------------------\r
57:withx\r
58set X11=Y\r
59shift\r
60goto again\r
61rem ----------------------------------------------------------------------\r
62:nodebug\r
63set nodebug=Y\r
64shift\r
65goto again\r
66rem ----------------------------------------------------------------------\r
67:msdos\r
68Echo Checking whether 'sed' is available...\r
69sed -e "w junk.$$$" <Nul\r
70If Exist junk.$$$ Goto sedOk\r
71Echo To configure 'Emacs' you need to have 'sed'!\r
72Goto End\r
73:sedOk\r
74Echo Checking whether 'rm' is available...\r
75rm -f junk.$$$\r
76If Not Exist junk.$$$ Goto rmOk\r
77Echo To configure 'Emacs' you need to have 'rm'!\r
78Goto End\r
79:rmOk\r
80Echo Checking whether 'mv' is available...\r
81rm -f junk.1 junk.2\r
82echo foo >junk.1\r
83mv junk.1 ./junk.2\r
84If Exist junk.2 Goto mvOk\r
85Echo To configure 'Emacs' you need to have 'mv'!\r
86rm -f junk.1\r
87Goto End\r
88:mvOk\r
89rm -f junk.2\r
90Echo Checking whether 'gcc' is available...\r
91echo main(){} >junk.c\r
92gcc -c junk.c\r
93if exist junk.o goto gccOk\r
94Echo To configure 'Emacs' you need to have 'gcc'!\r
95rm -f junk.c\r
96Goto End\r
97:gccOk\r
98rm -f junk.c junk.o junk junk.exe\r
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
114gcc -o junk junk.c\r
115if not exist junk.exe coff2exe junk\r
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
122set djgpp_ver=1\r
123If ErrorLevel 20 set djgpp_ver=2\r
124rm -f junk.c junk junk.exe\r
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
138Echo Configuring for DJGPP Version %DJGPP_VER% ...\r
139Rem ----------------------------------------------------------------------\r
140Echo Configuring the source directory...\r
141cd src\r
142\r
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
147\r
148rem Create "config.h"\r
149rm -f config.h2 config.tmp\r
150sed -e '' config.in > config.tmp\r
151if "%X11%" == "" goto src4\r
152sed -f ../msdos/sed2x.inp <config.in >config.tmp\r
153:src4\r
154sed -f ../msdos/sed2.inp <config.tmp >config.h2\r
155update config.h2 config.h >nul\r
156rm -f config.tmp config.h2\r
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
161rem Create "makefile" from "makefile.in".\r
162rm -f Makefile junk.c\r
163sed -e "1,/== start of cpp stuff ==/s@^# .*$@@" <Makefile.in >junk.c\r
164If "%DJGPP_VER%" == "1" Goto mfV1\r
165gcc -E junk.c | sed -f ../msdos/sed1v2.inp >Makefile\r
166goto mfDone\r
167:mfV1\r
168gcc -E junk.c | sed -f ../msdos/sed1.inp >Makefile\r
169:mfDone\r
170rm -f junk.c\r
171\r
172if "%X11%" == "" goto src5\r
173mv Makefile makefile.tmp\r
174sed -f ../msdos/sed1x.inp <makefile.tmp >Makefile\r
175rm -f makefile.tmp\r
176:src5\r
177\r
178if "%nodebug%" == "" goto src6\r
179sed -e "/^CFLAGS *=/s/ *-gcoff//" <Makefile >makefile.tmp\r
180sed -e "/^LDFLAGS *=/s/=/=-s/" <makefile.tmp >Makefile\r
181rm -f makefile.tmp\r
182:src6\r
183cd ..\r
184rem ----------------------------------------------------------------------\r
185Echo Configuring the library source directory...\r
186cd lib-src\r
187rem Create "makefile" from "makefile.in".\r
188sed -e "1,/== start of cpp stuff ==/s@^# .*$@@" <Makefile.in >junk.c\r
189gcc -E -I. -I../src junk.c | sed -e "s/^ / /" -e "/^#/d" -e "/^[ \f]*$/d" >makefile.new\r
190If "%DJGPP_VER%" == "2" goto libsrc-v2\r
191sed -f ../msdos/sed3.inp <makefile.new >Makefile\r
192Goto libsrc2\r
193:libsrc-v2\r
194sed -f ../msdos/sed3v2.inp <makefile.new >Makefile\r
195:libsrc2\r
196rm -f makefile.new junk.c\r
197if "%nodebug%" == "" goto libsrc3\r
198sed -e "/^CFLAGS *=/s/ *-gcoff//" <Makefile >makefile.tmp\r
199sed -e "/^ALL_CFLAGS *=/s/=/= -s/" <makefile.tmp >Makefile\r
200rm -f makefile.tmp\r
201:libsrc3\r
202cd ..\r
203rem ----------------------------------------------------------------------\r
204if "%X11%" == "" goto oldx1\r
205Echo Configuring the oldxmenu directory...\r
206cd oldxmenu\r
207sed -f ../msdos/sed5x.inp <Makefile.in >Makefile\r
208if "%nodebug%" == "" goto oldx2\r
209sed -e "/^CFLAGS *=/s/ *-gcoff//" <Makefile >makefile.tmp\r
210mv -f makefile.tmp Makefile\r
211:oldx2\r
212cd ..\r
213:oldx1\r
214rem ----------------------------------------------------------------------\r
215Echo Configuring the manual directory...\r
216cd man\r
217sed -f ../msdos/sed6.inp < Makefile.in > Makefile\r
218cd ..\r
219rem ----------------------------------------------------------------------\r
220Echo Configuring the lisp directory...\r
221cd lisp\r
222sed -f ../msdos/sedlisp.inp < Makefile.in > Makefile\r
223cd ..\r
224rem ----------------------------------------------------------------------\r
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
232Echo Configuring the main directory...\r
233If "%DJGPP_VER%" == "1" goto mainv1\r
234Echo Looking for the GDB init file...\r
235If Exist src\.gdbinit update src/.gdbinit src/_gdbinit\r
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
247copy msdos\mainmake.v2 Makefile >nul\r
248:mainv1\r
249If "%DJGPP_VER%" == "1" copy msdos\mainmake Makefile >nul\r
250rem ----------------------------------------------------------------------\r
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
256:end\r
257set X11=\r
258set nodebug=\r
259set djgpp_ver=\r