(directory_file_name): Add APOLLO conditional.
[bpt/emacs.git] / config.bat
1 @echo off
2 rem ----------------------------------------------------------------------
3 rem Configuration script for MSDOS
4 rem Copyright (C) 1994 Free Software Foundation, Inc.
5
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
19 rem along with GNU Emacs; see the file COPYING. If not, write to
20 rem the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
21 rem ----------------------------------------------------------------------
22 rem YOU'LL NEED THE FOLLOWING UTILITIES TO MAKE EMACS:
23 rem
24 rem + msdos version 3 or better.
25 rem + djgpp version 1,11 maint 4 or better.
26 rem + make utility that allows breaking of the 128 chars limit on
27 rem command lines. ndmake (as of version 4.5) won't work due to a
28 rem line length limit.
29 rem + rm, mv, chmod (From GNU file utilities).
30 rem + sed.
31 rem
32 rem You should be able to get all the above utilities from all
33 rem Simtel repositories, e.g., oak.oakland.edu in the directories
34 rem "/pub/msdos/djgpp" and "/pub/msdos/gnuish". As usual, please
35 rem use your local mirroring site to reduce trans-Atlantic traffic.
36 rem ----------------------------------------------------------------------
37 set X11=
38 set nodebug=
39 :again
40 if "%1" == "" goto usage
41 if "%1" == "--with-x" goto withx
42 if "%1" == "--no-debug" goto nodebug
43 if "%1" == "msdos" goto msdos
44 :usage
45 echo Usage: config [--with-x] [--no-debug] msdos
46 echo [Read the script before you run it.]
47 goto end
48 rem ----------------------------------------------------------------------
49 :withx
50 set X11=Y
51 shift
52 goto again
53 rem ----------------------------------------------------------------------
54 :nodebug
55 set nodebug=Y
56 shift
57 goto again
58 rem ----------------------------------------------------------------------
59 :msdos
60 Echo Checking whether `sed' is available...
61 Sed -e "w junk.$$$" <Nul
62 If Exist junk.$$$ Goto sedOk
63 Echo To configure `Emacs' you need to have `sed'!
64 Goto End
65 :sedOk
66 Echo Checking whether `rm' is available...
67 rm -f junk.$$$
68 If Not Exist junk.$$$ Goto rmOk
69 Echo To configure `Emacs' you need to have `rm'!
70 Goto End
71 :rmOk
72 Echo Checking whether `mv' is available...
73 rm -f junk.1 junk.2
74 echo foo >junk.1
75 mv junk.1 junk.2
76 If Exist junk.2 Goto mvOk
77 Echo To configure `Emacs' you need to have `mv'!
78 rm -f junk.1
79 Goto End
80 :mvOk
81 rm -f junk.2
82 Echo Checking whether `gcc' is available...
83 echo main(){} >junk.c
84 gcc -c junk.c
85 if exist junk.o goto gccOk
86 Echo To configure `Emacs' you need to have `gcc'!
87 rm -f junk.c
88 Goto End
89 :gccOk
90 rm -f junk.c junk.o
91 Rem ----------------------------------------------------------------------
92 Echo Configuring the source directory...
93 cd src
94 set PATHSH=paths-h.in
95 if exist %PATHSH% goto src1
96 set PATHSH=paths.h-in
97 if exist %PATHSH% goto src1
98 echo config: *** The file originally called "src/paths.h.in" cannot be found.
99 cd ..
100 goto end
101 :src1
102 set CONFIGH=config-h.in
103 if exist %CONFIGH% goto src2
104 set CONFIGH=config.h-in
105 if exist %CONFIGH% goto src2
106 echo config: *** The file originally called "src/config.h.in" cannot be found.
107 cd ..
108 goto end
109 :src2
110 set MAKEFILEIN=makefile.in-in
111 if exist %MAKEFILEIN% goto src3
112 set MAKEFILEIN=makefile-in.in
113 if exist %MAKEFILEIN% goto src3
114 echo makefile: *** The file originally called "src/makefile.in.in" cannot be found.
115 cd ..
116 goto end
117 :src3
118
119 rem Create "paths.h"
120 sed -f ../msdos/sed4.inp <%PATHSH% >paths.tmp
121 update paths.tmp paths.h >nul
122 rm -f paths.tmp
123
124 rem Create "config.h"
125 rm -f config.h2 config.tmp
126 cp %CONFIGH% config.tmp
127 if "%X11%" == "" goto src4
128 sed -f ../msdos/sed2x.inp <%CONFIGH% >config.tmp
129 :src4
130 sed -f ../msdos/sed2.inp <config.tmp >config.h2
131 update config.h2 config.h >nul
132 rm -f config.tmp config.h2
133
134 rem On my system dir.h gets in the way. It's a VMS file so who cares.
135 if exist dir.h ren dir.h vmsdir.h
136
137 rem Create "makefile" from "makefile.in.in".
138 rm -f makefile junk.c
139 sed -e "1,/cpp stuff/s@^# .*$@@" <%MAKEFILEIN% >junk.c
140 gcc -E junk.c | sed -f ../msdos/sed1.inp >makefile
141 rm -f junk.c
142 if "%X11%" == "" goto src5
143 mv makefile makefile.tmp
144 sed -f ../msdos/sed1x.inp <makefile.tmp >makefile
145 rm -f makefile.tmp
146 :src5
147
148 if "%nodebug%" == "" goto src6
149 sed -e "/^CFLAGS *=/s/ *-g//" <makefile >makefile.tmp
150 mv -f makefile.tmp makefile
151 :src6
152 cd ..
153 rem ----------------------------------------------------------------------
154 Echo Configuring the library source directory...
155 cd lib-src
156 set MAKEFILEIN=makefile.in-in
157 if exist %MAKEFILEIN% goto libsrc1
158 set MAKEFILEIN=makefile-in.in
159 if exist %MAKEFILEIN% goto libsrc1
160 echo makefile: *** The file originally called "lib-src/Makefile.in.in" cannot be found.
161 cd ..
162 goto end
163 :libsrc1
164 rem Create "makefile" from "makefile.in".
165 sed -e "1,/cpp stuff/s@^# .*$@@" <%MAKEFILEIN% >junk.c
166 gcc -E -I. -I../src junk.c | sed -e "s/^ / /" -e "/^#/d" -e "/^[ \f]*$/d" >Makefile.new
167 sed -f ../msdos/sed3.inp <makefile.new >makefile
168 rm -f makefile.new junk.c
169 if "%nodebug%" == "" goto libsrc2
170 sed -e "/^CFLAGS *=/s/ *-g//" <makefile >makefile.tmp
171 mv -f makefile.tmp makefile
172 :libsrc2
173 cd ..
174 rem ----------------------------------------------------------------------
175 if "%X11%" == "" goto oldx1
176 Echo Configuring the oldxmenu directory...
177 cd oldxmenu
178 sed -f ../msdos/sed5x.inp <makefile.in >makefile
179 if "%nodebug%" == "" goto oldx2
180 sed -e "/^CFLAGS *=/s/ *-g//" <makefile >makefile.tmp
181 mv -f makefile.tmp makefile
182 :oldx2
183 cd ..
184 :oldx1
185 rem ----------------------------------------------------------------------
186 Echo Configuring the main directory...
187 copy msdos\mainmake makefile >nul
188 rem ----------------------------------------------------------------------
189 :end
190 set X11=
191 set nodebug=
192 set MAKEFILEIN=
193 set PATHSH=
194 set CONFIGH=