2 rem ----------------------------------------------------------------------
3 rem Configuration script for MSDOS
4 rem Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2001, 2004
5 rem Free Software Foundation, Inc.
7 rem This file is part of GNU Emacs.
9 rem GNU Emacs is free software; you can redistribute it and/or modify
10 rem it under the terms of the GNU General Public License as published by
11 rem the Free Software Foundation; either version 2, or (at your option)
12 rem any later version.
14 rem GNU Emacs is distributed in the hope that it will be useful,
15 rem but WITHOUT ANY WARRANTY; without even the implied warranty of
16 rem MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 rem GNU General Public License for more details.
19 rem You should have received a copy of the GNU General Public License
20 rem along with GNU Emacs; see the file COPYING. If not, write to the
21 rem Free Software Foundation, Inc., 59 Temple Place - Suite 330,
22 rem Boston, MA 02111-1307, USA.
23 rem ----------------------------------------------------------------------
24 rem YOU'LL NEED THE FOLLOWING UTILITIES TO MAKE EMACS:
26 rem + msdos version 3 or better.
27 rem + DJGPP version 1.12maint1 or later (version 2.03 or later recommended).
28 rem + make utility that allows breaking of the 128 chars limit on
29 rem command lines. ndmake (as of version 4.5) won't work due to a
30 rem line length limit. The make that comes with DJGPP does work.
31 rem + rm and mv (from GNU file utilities).
32 rem + sed (you can use the port that comes with DJGPP).
34 rem You should be able to get all the above utilities from the DJGPP FTP
35 rem site, ftp.delorie.com, in the directory "pub/djgpp/current/v2gnu".
36 rem ----------------------------------------------------------------------
40 if "%1" == "" goto usage
41 rem ----------------------------------------------------------------------
42 rem See if their environment is large enough. We need 28 bytes.
43 set $foo$
=789012345678901234567
44 if not "%$foo$%" == "789012345678901234567" goto SmallEnv
47 if "%1" == "" goto usage
48 if "%1" == "--with-x" goto withx
49 if "%1" == "--no-debug" goto nodebug
50 if "%1" == "msdos" goto msdos
52 echo Usage
: config
[--with
-x
] [--no
-debug] msdos
53 echo [Read the script before you
run it.
]
55 rem ----------------------------------------------------------------------
60 rem ----------------------------------------------------------------------
65 rem ----------------------------------------------------------------------
67 Echo Checking whether
'sed' is available...
68 sed
-e
"w junk.$$$" <Nul
69 If Exist junk.$$$
Goto sedOk
70 Echo To configure
'Emacs' you need to have
'sed'!
73 Echo Checking whether
'rm' is available...
75 If Not Exist junk.$$$
Goto rmOk
76 Echo To configure
'Emacs' you need to have
'rm'!
79 Echo Checking whether
'mv' is available...
83 If Exist junk
.2 Goto mvOk
84 Echo To configure
'Emacs' you need to have
'mv'!
89 Echo Checking whether
'gcc' is available...
92 if exist junk.o
goto gccOk
93 Echo To configure
'Emacs' you need to have
'gcc'!
97 rm
-f junk.c junk.o junk junk.exe
98 Echo Checking what version of DJGPP is installed...
99 If Not "%DJGPP%" == "" goto djgppOk
100 Echo To compile
'Emacs' under MS
-DOS you MUST have DJGPP installed
!
103 echo int main
() >junk.c
104 echo #ifdef __DJGPP__
>>junk.c
105 echo {return (__DJGPP__
)*10;} >>junk.c
107 echo #ifdef __GO32__
>>junk.c
108 echo {return 10;} >>junk.c
110 echo {return 0;} >>junk.c
114 if not exist junk.exe coff2exe junk
116 If ErrorLevel 10 Goto go32Ok
117 rm
-f junk.c junk junk.exe
118 Echo To compile
'Emacs' under MS
-DOS you MUST have DJGPP installed
!
122 If ErrorLevel 20 set djgpp_ver
=2
123 rm
-f junk.c junk junk.exe
124 rem DJECHO is used by the top-level Makefile
125 Echo Checking whether
'djecho' is available...
126 redir
-o Nul
-eo djecho
-o junk.$$$ foo
127 If Exist junk.$$$
Goto djechoOk
128 Echo To build
'Emacs' you need the
'djecho.exe' program
!
129 Echo 'djecho.exe' is part of
'djdevNNN.zip' basic DJGPP development kit.
130 Echo Versions of DJGPP before
2.02 called this program
'echo.exe'.
131 Echo Either
unpack 'djecho.exe' from the
'djdevNNN.zip' archive
,
132 Echo or
, if you have
'echo.exe', copy it to
'djecho.exe'.
133 Echo Then run CONFIG.BAT again with the same arguments you did now.
137 Echo Configuring
for DJGPP Version
%DJGPP_VER% ...
138 Rem ----------------------------------------------------------------------
139 Echo Configuring the source directory...
142 rem Create "epaths.h"
143 sed
-f ..
/msdos
/sed4.inp
<epaths.in
>epaths.tmp
144 update epaths.tmp epaths.h
>nul
147 rem Create "config.h"
148 rm
-f config.h2 config.tmp
149 sed
-e
'' config.in
> config.tmp
150 if "%X11%" == "" goto src4
151 sed
-f ..
/msdos
/sed2x.inp
<config.in
>config.tmp
153 if "%DJGPP_VER%" == "2" Goto src41
154 sed
-f ..
/msdos
/sed2.inp
<config.tmp
>config.h2
157 sed
-f ..
/msdos
/sed2v2.inp
<config.tmp
>config.h2
159 update config.h2 config.h
>nul
160 rm
-f config.tmp config.h2
162 rem On my system dir.h gets in the way. It's a VMS file so who cares.
163 if exist dir.h
ren dir.h vmsdir.h
165 rem Create "makefile" from "makefile.in".
166 rm
-f Makefile junk.c
167 sed
-e
"1,/== start of cpp stuff ==/s@^# .*$@@" <Makefile.in
>junk.c
168 If "%DJGPP_VER%" == "1" Goto mfV1
169 gcc
-E
-traditional junk.c | sed
-f ..
/msdos
/sed1v2.inp
>Makefile
172 gcc
-E
-traditional junk.c | sed
-f ..
/msdos
/sed1.inp
>Makefile
176 if "%X11%" == "" goto src5
177 mv Makefile makefile.tmp
178 sed
-f ..
/msdos
/sed1x.inp
<makefile.tmp
>Makefile
182 if "%nodebug%" == "" goto src6
183 sed
-e
"/^CFLAGS *=/s/ *-gcoff//" <Makefile
>makefile.tmp
184 sed
-e
"/^LDFLAGS *=/s/=/=-s/" <makefile.tmp
>Makefile
188 rem ----------------------------------------------------------------------
189 Echo Configuring the library source directory...
191 rem Create "makefile" from "makefile.in".
192 sed
-e
"1,/== start of cpp stuff ==/s@^#[ ].*$@@" <Makefile.in
>junk.c
193 gcc
-E
-traditional
-I.
-I..
/src junk.c | sed
-e
"s/^ / /" -e
"/^#/d" -e
"/^[ \f]*$/d" >makefile.new
194 If "%DJGPP_VER%" == "2" goto libsrc
-v2
195 sed
-f ..
/msdos
/sed3.inp
<makefile.new
>Makefile
198 sed
-f ..
/msdos
/sed3v2.inp
<makefile.new
>Makefile
200 rm
-f makefile.new junk.c
201 if "%nodebug%" == "" goto libsrc3
202 sed
-e
"/^CFLAGS *=/s/ *-gcoff//" <Makefile
>makefile.tmp
203 sed
-e
"/^ALL_CFLAGS *=/s/=/= -s/" <makefile.tmp
>Makefile
207 rem ----------------------------------------------------------------------
208 if "%X11%" == "" goto oldx1
209 Echo Configuring the oldxmenu directory...
211 sed
-f ..
/msdos
/sed5x.inp
<Makefile.in
>Makefile
212 if "%nodebug%" == "" goto oldx2
213 sed
-e
"/^CFLAGS *=/s/ *-gcoff//" <Makefile
>makefile.tmp
214 mv
-f makefile.tmp Makefile
218 rem ----------------------------------------------------------------------
219 Echo Configuring the manual directory...
221 sed
-f ..
/msdos
/sed6.inp
< Makefile.in
> Makefile
223 rem ----------------------------------------------------------------------
224 Echo Configuring the ELisp manual directory...
226 sed
-f ..
/msdos
/sed6.inp
< Makefile.in
> Makefile
228 rem ----------------------------------------------------------------------
229 Echo Configuring the ELisp Introduction manual directory...
230 Rem The two variants for the line below is for when the shell
231 Rem supports long file names but DJGPP does not
232 if exist lispintro\Makefile.in
cd lispintro
233 if exist lispintr\Makefile.in
cd lispintr
234 sed
-f ..
/msdos
/sed6.inp
< Makefile.in
> Makefile
236 rem ----------------------------------------------------------------------
237 Echo Configuring the lisp directory...
239 sed
-f ..
/msdos
/sedlisp.inp
< Makefile.in
> Makefile
241 rem ----------------------------------------------------------------------
242 If not Exist leim\quail\latin
-pre.el
goto maindir
243 Echo Configuring the leim directory...
245 sed
-f ..
/msdos
/sedleim.inp
< Makefile.in
> Makefile
247 rem ----------------------------------------------------------------------
249 Echo Configuring the main directory...
250 If "%DJGPP_VER%" == "1" goto mainv1
251 Echo Looking
for the GDB init file...
252 If Exist src\.gdbinit update src
/.gdbinit src
/_gdbinit
253 If Exist src\_gdbinit
goto gdbinitOk
255 Echo I cannot
find the GDB init file. It was called
".gdbinit" in
256 Echo the Emacs distribution
, but was probably renamed to some other
257 Echo name without the leading dot
when you untarred the archive.
258 Echo It should be in the
"src/" subdirectory. Please make sure this
259 Echo file exists and is called
"_gdbinit" with a leading underscore.
260 Echo Then run CONFIG.BAT again with the same arguments you did now.
263 Echo Looking
for the GDB init file...found
264 copy msdos\mainmake.v2 Makefile
>nul
266 If "%DJGPP_VER%" == "1" copy msdos\mainmake Makefile
>nul
267 rem ----------------------------------------------------------------------
270 echo Your environment size is too small. Please enlarge it and
run me again.
271 echo For example
, type "command.com /e:2048" to have
2048 bytes available.
279 arch
-tag
: 2d2fed23
-4dc6
-4006-a2e4
-49daf0031f33