(smtpmail-via-smtp): Add support for
[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
125Echo Configuring for DJGPP Version %DJGPP_VER% ...\r
126Rem ----------------------------------------------------------------------\r
127Echo Configuring the source directory...\r
128cd src\r
129\r
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
134\r
135rem Create "config.h"\r
136rm -f config.h2 config.tmp\r
137sed -e '' config.in > config.tmp\r
138if "%X11%" == "" goto src4\r
139sed -f ../msdos/sed2x.inp <config.in >config.tmp\r
140:src4\r
141sed -f ../msdos/sed2.inp <config.tmp >config.h2\r
142update config.h2 config.h >nul\r
143rm -f config.tmp config.h2\r
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
148rem Create "makefile" from "makefile.in".\r
149rm -f Makefile junk.c\r
150sed -e "1,/cpp stuff/s@^# .*$@@" <Makefile.in >junk.c\r
151If "%DJGPP_VER%" == "1" Goto mfV1\r
152gcc -E junk.c | sed -f ../msdos/sed1v2.inp >Makefile\r
153goto mfDone\r
154:mfV1\r
155gcc -E junk.c | sed -f ../msdos/sed1.inp >Makefile\r
156:mfDone\r
157rm -f junk.c\r
158\r
159if "%X11%" == "" goto src5\r
160mv Makefile makefile.tmp\r
161sed -f ../msdos/sed1x.inp <makefile.tmp >Makefile\r
162rm -f makefile.tmp\r
163:src5\r
164\r
165if "%nodebug%" == "" goto src6\r
166sed -e "/^CFLAGS *=/s/ *-gcoff//" <Makefile >makefile.tmp\r
167sed -e "/^LDFLAGS *=/s/=/=-s/" <makefile.tmp >Makefile\r
168rm -f makefile.tmp\r
169:src6\r
170cd ..\r
171rem ----------------------------------------------------------------------\r
172Echo Configuring the library source directory...\r
173cd lib-src\r
174rem Create "makefile" from "makefile.in".\r
175sed -e "1,/cpp stuff/s@^# .*$@@" <Makefile.in >junk.c\r
176gcc -E -I. -I../src junk.c | sed -e "s/^ / /" -e "/^#/d" -e "/^[ \f]*$/d" >makefile.new\r
177If "%DJGPP_VER%" == "2" goto libsrc-v2\r
178sed -f ../msdos/sed3.inp <makefile.new >Makefile\r
179Goto libsrc2\r
180:libsrc-v2\r
181sed -f ../msdos/sed3v2.inp <makefile.new >Makefile\r
182:libsrc2\r
183rm -f makefile.new junk.c\r
184if "%nodebug%" == "" goto libsrc3\r
185sed -e "/^CFLAGS *=/s/ *-gcoff//" <Makefile >makefile.tmp\r
186sed -e "/^ALL_CFLAGS *=/s/=/= -s/" <makefile.tmp >Makefile\r
187rm -f makefile.tmp\r
188:libsrc3\r
189cd ..\r
190rem ----------------------------------------------------------------------\r
191if "%X11%" == "" goto oldx1\r
192Echo Configuring the oldxmenu directory...\r
193cd oldxmenu\r
194sed -f ../msdos/sed5x.inp <Makefile.in >Makefile\r
195if "%nodebug%" == "" goto oldx2\r
196sed -e "/^CFLAGS *=/s/ *-gcoff//" <Makefile >makefile.tmp\r
197mv -f makefile.tmp Makefile\r
198:oldx2\r
199cd ..\r
200:oldx1\r
201rem ----------------------------------------------------------------------\r
202Echo Configuring the manual directory...\r
203cd man\r
204sed -f ../msdos/sed6.inp < Makefile.in > Makefile\r
205cd ..\r
206rem ----------------------------------------------------------------------\r
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
214Echo Configuring the main directory...\r
215If "%DJGPP_VER%" == "1" goto mainv1\r
216Echo Looking for the GDB init file...\r
217If not Exist src\_gdbinit If Exist src\.gdbinit update src/.gdbinit src/_gdbinit\r
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
229copy msdos\mainmake.v2 Makefile >nul\r
230:mainv1\r
231If "%DJGPP_VER%" == "1" copy msdos\mainmake Makefile >nul\r
232rem ----------------------------------------------------------------------\r
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
238:end\r
239set X11=\r
240set nodebug=\r
241set djgpp_ver=\r