5484
|
1 @echo off
|
|
2 rem ----------------------------------------------------------------------
|
|
3 rem Configuration script for MSDOS
|
7195
|
4 rem Copyright (C) 1994 Free Software Foundation, Inc.
|
|
5
|
5484
|
6 rem This file is part of GNU Emacs.
|
|
7
|
|
8 rem GNU Emacs is free software; you can redistribute it and/or modify
|
|
9 rem it under the terms of the GNU General Public License as published by
|
|
10 rem the Free Software Foundation; either version 2, or (at your option)
|
|
11 rem any later version.
|
|
12
|
|
13 rem GNU Emacs is distributed in the hope that it will be useful,
|
|
14 rem but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
15 rem MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
16 rem GNU General Public License for more details.
|
|
17
|
|
18 rem You should have received a copy of the GNU General Public License
|
15742
|
19 rem along with GNU Emacs; see the file COPYING. If not, write to the
|
|
20 rem Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
21 rem Boston, MA 02111-1307, USA.
|
5484
|
22 rem ----------------------------------------------------------------------
|
|
23 rem YOU'LL NEED THE FOLLOWING UTILITIES TO MAKE EMACS:
|
|
24 rem
|
7195
|
25 rem + msdos version 3 or better.
|
14976
|
26 rem + djgpp version 1.12maint1 or later (version 2.0 or later recommended).
|
7195
|
27 rem + make utility that allows breaking of the 128 chars limit on
|
|
28 rem command lines. ndmake (as of version 4.5) won't work due to a
|
13927
|
29 rem line length limit. The make that comes with djgpp does work.
|
14976
|
30 rem + rm and mv (from GNU file utilities).
|
|
31 rem + sed (you can use the port that comes with DJGPP).
|
7195
|
32 rem
|
14976
|
33 rem You should be able to get all the above utilities from any SimTel
|
|
34 rem repository, e.g. ftp.coast.net, in the directories
|
|
35 rem "SimTel/vendors/djgpp" and "SimTel/vendors/gnu/gnuish/dos_only". As
|
|
36 rem usual, please use your local mirroring site to reduce trans-Atlantic
|
|
37 rem traffic.
|
5484
|
38 rem ----------------------------------------------------------------------
|
9570
|
39 set X11=
|
|
40 set nodebug=
|
15007
|
41 set djgpp_ver=
|
9570
|
42 :again
|
|
43 if "%1" == "" goto usage
|
|
44 if "%1" == "--with-x" goto withx
|
|
45 if "%1" == "--no-debug" goto nodebug
|
5484
|
46 if "%1" == "msdos" goto msdos
|
|
47 :usage
|
9570
|
48 echo Usage: config [--with-x] [--no-debug] msdos
|
|
49 echo [Read the script before you run it.]
|
5484
|
50 goto end
|
|
51 rem ----------------------------------------------------------------------
|
9570
|
52 :withx
|
|
53 set X11=Y
|
|
54 shift
|
|
55 goto again
|
|
56 rem ----------------------------------------------------------------------
|
|
57 :nodebug
|
|
58 set nodebug=Y
|
|
59 shift
|
|
60 goto again
|
7195
|
61 rem ----------------------------------------------------------------------
|
5484
|
62 :msdos
|
12992
|
63 Echo Checking whether 'sed' is available...
|
|
64 sed -e "w junk.$$$" <Nul
|
9570
|
65 If Exist junk.$$$ Goto sedOk
|
12992
|
66 Echo To configure 'Emacs' you need to have 'sed'!
|
9570
|
67 Goto End
|
|
68 :sedOk
|
12992
|
69 Echo Checking whether 'rm' is available...
|
9570
|
70 rm -f junk.$$$
|
|
71 If Not Exist junk.$$$ Goto rmOk
|
12992
|
72 Echo To configure 'Emacs' you need to have 'rm'!
|
9570
|
73 Goto End
|
|
74 :rmOk
|
12992
|
75 Echo Checking whether 'mv' is available...
|
9570
|
76 rm -f junk.1 junk.2
|
|
77 echo foo >junk.1
|
16489
|
78 mv junk.1 ./junk.2
|
9570
|
79 If Exist junk.2 Goto mvOk
|
12992
|
80 Echo To configure 'Emacs' you need to have 'mv'!
|
9570
|
81 rm -f junk.1
|
|
82 Goto End
|
|
83 :mvOk
|
|
84 rm -f junk.2
|
12992
|
85 Echo Checking whether 'gcc' is available...
|
9570
|
86 echo main(){} >junk.c
|
|
87 gcc -c junk.c
|
|
88 if exist junk.o goto gccOk
|
12992
|
89 Echo To configure 'Emacs' you need to have 'gcc'!
|
9570
|
90 rm -f junk.c
|
|
91 Goto End
|
|
92 :gccOk
|
15020
85feb24c0ac5
With DJGPP v1.x, use `COFF2EXE' to produce JUNK.EXE test program.
Richard M. Stallman <rms@gnu.org>
diff
changeset
|
93 rm -f junk.c junk.o junk junk.exe
|
14976
|
94 Echo Checking what version of DJGPP is installed...
|
|
95 If Not "%DJGPP%" == "" goto djgppOk
|
|
96 Echo To compile 'Emacs' under MS-DOS you MUST have DJGPP installed!
|
|
97 Goto End
|
|
98 :djgppOk
|
|
99 echo int main() >junk.c
|
|
100 echo #ifdef __DJGPP__ >>junk.c
|
|
101 echo {return (__DJGPP__)*10;} >>junk.c
|
|
102 echo #else >>junk.c
|
|
103 echo #ifdef __GO32__ >>junk.c
|
|
104 echo {return 10;} >>junk.c
|
|
105 echo #else >>junk.c
|
|
106 echo {return 0;} >>junk.c
|
|
107 echo #endif >>junk.c
|
|
108 echo #endif >>junk.c
|
15020
85feb24c0ac5
With DJGPP v1.x, use `COFF2EXE' to produce JUNK.EXE test program.
Richard M. Stallman <rms@gnu.org>
diff
changeset
|
109 gcc -o junk junk.c
|
85feb24c0ac5
With DJGPP v1.x, use `COFF2EXE' to produce JUNK.EXE test program.
Richard M. Stallman <rms@gnu.org>
diff
changeset
|
110 if not exist junk.exe coff2exe junk
|
14976
|
111 junk
|
|
112 If ErrorLevel 10 Goto go32Ok
|
|
113 rm -f junk.c junk junk.exe
|
|
114 Echo To compile 'Emacs' under MS-DOS you MUST have DJGPP installed!
|
|
115 Goto End
|
|
116 :go32Ok
|
15007
|
117 set djgpp_ver=1
|
|
118 If ErrorLevel 20 set djgpp_ver=2
|
14976
|
119 rm -f junk.c junk junk.exe
|
15007
|
120 Echo Configuring for DJGPP Version %DJGPP_VER% ...
|
9570
|
121 Rem ----------------------------------------------------------------------
|
5484
|
122 Echo Configuring the source directory...
|
|
123 cd src
|
|
124
|
|
125 rem Create "paths.h"
|
12992
|
126 sed -f ../msdos/sed4.inp <paths.in >paths.tmp
|
9570
|
127 update paths.tmp paths.h >nul
|
|
128 rm -f paths.tmp
|
5484
|
129
|
|
130 rem Create "config.h"
|
9570
|
131 rm -f config.h2 config.tmp
|
18767
|
132 sed -e '' config.in > config.tmp
|
7195
|
133 if "%X11%" == "" goto src4
|
12992
|
134 sed -f ../msdos/sed2x.inp <config.in >config.tmp
|
7195
|
135 :src4
|
9570
|
136 sed -f ../msdos/sed2.inp <config.tmp >config.h2
|
|
137 update config.h2 config.h >nul
|
|
138 rm -f config.tmp config.h2
|
5484
|
139
|
|
140 rem On my system dir.h gets in the way. It's a VMS file so who cares.
|
|
141 if exist dir.h ren dir.h vmsdir.h
|
|
142
|
12992
|
143 rem Create "makefile" from "makefile.in".
|
5486
|
144 rm -f makefile junk.c
|
12992
|
145 sed -e "1,/cpp stuff/s@^# .*$@@" <makefile.in >junk.c
|
15007
|
146 If "%DJGPP_VER%" == "1" Goto mfV1
|
14976
|
147 gcc -E junk.c | sed -f ../msdos/sed1v2.inp >makefile
|
|
148 goto mfDone
|
|
149 :mfV1
|
5484
|
150 gcc -E junk.c | sed -f ../msdos/sed1.inp >makefile
|
14976
|
151 :mfDone
|
5486
|
152 rm -f junk.c
|
12992
|
153
|
9570
|
154 if "%X11%" == "" goto src5
|
|
155 mv makefile makefile.tmp
|
|
156 sed -f ../msdos/sed1x.inp <makefile.tmp >makefile
|
|
157 rm -f makefile.tmp
|
|
158 :src5
|
|
159
|
|
160 if "%nodebug%" == "" goto src6
|
|
161 sed -e "/^CFLAGS *=/s/ *-g//" <makefile >makefile.tmp
|
14976
|
162 sed -e "/^LDFLAGS *=/s/=/=-s/" <makefile.tmp >makefile
|
|
163 rm -f makefile.tmp
|
9570
|
164 :src6
|
5484
|
165 cd ..
|
|
166 rem ----------------------------------------------------------------------
|
|
167 Echo Configuring the library source directory...
|
|
168 cd lib-src
|
|
169 rem Create "makefile" from "makefile.in".
|
12992
|
170 sed -e "1,/cpp stuff/s@^# .*$@@" <makefile.in >junk.c
|
|
171 gcc -E -I. -I../src junk.c | sed -e "s/^ / /" -e "/^#/d" -e "/^[ ]*$/d" >makefile.new
|
15007
|
172 If "%DJGPP_VER%" == "2" goto libsrc-v2
|
7195
|
173 sed -f ../msdos/sed3.inp <makefile.new >makefile
|
14976
|
174 Goto libsrc2
|
|
175 :libsrc-v2
|
|
176 sed -f ../msdos/sed3v2.inp <makefile.new >makefile
|
|
177 :libsrc2
|
9570
|
178 rm -f makefile.new junk.c
|
14976
|
179 if "%nodebug%" == "" goto libsrc3
|
9570
|
180 sed -e "/^CFLAGS *=/s/ *-g//" <makefile >makefile.tmp
|
14976
|
181 sed -e "/^ALL_CFLAGS *=/s/=/= -s/" <makefile.tmp >makefile
|
|
182 rm -f makefile.tmp
|
|
183 :libsrc3
|
5484
|
184 cd ..
|
|
185 rem ----------------------------------------------------------------------
|
9570
|
186 if "%X11%" == "" goto oldx1
|
|
187 Echo Configuring the oldxmenu directory...
|
|
188 cd oldxmenu
|
|
189 sed -f ../msdos/sed5x.inp <makefile.in >makefile
|
|
190 if "%nodebug%" == "" goto oldx2
|
|
191 sed -e "/^CFLAGS *=/s/ *-g//" <makefile >makefile.tmp
|
|
192 mv -f makefile.tmp makefile
|
|
193 :oldx2
|
|
194 cd ..
|
|
195 :oldx1
|
|
196 rem ----------------------------------------------------------------------
|
5484
|
197 Echo Configuring the main directory...
|
15023
|
198 If "%DJGPP_VER%" == "1" goto mainv1
|
|
199 Echo Looking for the GDB init file...
|
19567
3f6f67f86a48
If src/_gdbinit doesn't exist, try using src/.gdbinit to create it (for
Eli Zaretskii <eliz@gnu.org>
diff
changeset
|
200 If not Exist src\_gdbinit If Exist src\.gdbinit update src/.gdbinit src/_gdbinit
|
15023
|
201 If Exist src\_gdbinit goto gdbinitOk
|
|
202 Echo ERROR:
|
|
203 Echo I cannot find the GDB init file. It was called ".gdbinit" in
|
|
204 Echo the Emacs distribution, but was probably renamed to some other
|
|
205 Echo name without the leading dot when you untarred the archive.
|
|
206 Echo It should be in the "src/" subdirectory. Please make sure this
|
|
207 Echo file exists and is called "_gdbinit" with a leading underscore.
|
|
208 Echo Then run CONFIG.BAT again with the same arguments you did now.
|
|
209 goto End
|
|
210 :gdbinitOk
|
|
211 Echo Looking for the GDB init file...found
|
|
212 copy msdos\mainmake.v2 makefile >nul
|
|
213 :mainv1
|
15007
|
214 If "%DJGPP_VER%" == "1" copy msdos\mainmake makefile >nul
|
5484
|
215 rem ----------------------------------------------------------------------
|
|
216 :end
|
7195
|
217 set X11=
|
9570
|
218 set nodebug=
|
15007
|
219 set djgpp_ver=
|