]> git.saurik.com Git - bison.git/blob - djgpp/config.bat
DJGPP spefic issue. Inhibit the use of disallowed characters for
[bison.git] / djgpp / config.bat
1 @echo off
2 Rem Configure Bison for DJGPP.
3
4 Rem WARNING WARNING WARNING: This file needs to have DOS CRLF end-of-line
5 Rem format, or else stock DOS/Windows shells will refuse to run it.
6
7 Rem Copyright (C) 2005, 2006 Free Software Foundation, Inc.
8
9 Rem This program 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.
13
14 Rem This program 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.
18
19 Rem You should have received a copy of the GNU General Public License
20 Rem along with this program; if not, write to the Free Software Foundation,
21 Rem Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
22
23 echo Configuring Bison for DJGPP v2.x...
24
25 Rem The SmallEnv tests protect against fixed and too small size
26 Rem of the environment in stock DOS shell.
27
28 Rem Find out if NLS is wanted or not,
29 Rem if dependency-tracking is wanted or not,
30 Rem if caching is wanted or not
31 Rem and where the sources are.
32 Rem We always default to NLS support,
33 Rem no dependency tracking
34 Rem and to in place configuration.
35 set ARGS=
36 set NLS=enabled
37 if not "%NLS%" == "enabled" goto SmallEnv
38 set CACHING=enabled
39 if not "%CACHING%" == "enabled" goto SmallEnv
40 set DEPENDENCY_TRACKING=disabled
41 if not "%DEPENDENCY_TRACKING%" == "disabled" goto SmallEnv
42 set LIBICONV_PREFIX=disabled
43 if not "%LIBICONV_PREFIX%" == "disabled" goto SmallEnv
44 set LIBINTL_PREFIX=disabled
45 if not "%LIBINTL_PREFIX%" == "disabled" goto SmallEnv
46 set HTML=enabled
47 if not "%HTML%" == "enabled" goto SmallEnv
48 set XSRC=.
49 if not "%XSRC%" == "." goto SmallEnv
50
51 Rem Loop over all arguments.
52 Rem Special arguments are: NLS, XSRC, CACHE, STATIC_LIBS, LIBICONV_PREFIX, LIBINTL_PREFIX and DEPS.
53 Rem All other arguments are stored into ARGS.
54 :ArgLoop
55 if "%1" == "nls" goto NextArgument
56 if "%1" == "NLS" goto NextArgument
57 if "%1" == "no-nls" goto NoNLS
58 if "%1" == "no-NLS" goto NoNLS
59 if "%1" == "NO-NLS" goto NoNLS
60 goto CachingOption
61 :NoNLS
62 if "%1" == "no-nls" set NLS=disabled
63 if "%1" == "no-NLS" set NLS=disabled
64 if "%1" == "NO-NLS" set NLS=disabled
65 if not "%NLS%" == "disabled" goto SmallEnv
66 goto NextArgument
67 :CachingOption
68 if "%1" == "cache" goto NextArgument
69 if "%1" == "CACHE" goto NextArgument
70 if "%1" == "no-cache" goto NoCaching
71 if "%1" == "no-CACHE" goto NoCaching
72 if "%1" == "NO-CACHE" goto NoCaching
73 goto DependencyOption
74 :NoCaching
75 if "%1" == "no-cache" set CACHING=disabled
76 if "%1" == "no-CACHE" set CACHING=disabled
77 if "%1" == "NO-CACHE" set CACHING=disabled
78 if not "%CACHING%" == "disabled" goto SmallEnv
79 goto NextArgument
80 :DependencyOption
81 if "%1" == "no-dep" goto NextArgument
82 if "%1" == "no-DEP" goto NextArgument
83 if "%1" == "NO-DEP" goto NextArgument
84 if "%1" == "dep" goto DependecyTraking
85 if "%1" == "DEP" goto DependecyTraking
86 goto LibiconvPrefixOption
87 :DependecyTraking
88 if "%1" == "dep" set DEPENDENCY_TRACKING=enabled
89 if "%1" == "DEP" set DEPENDENCY_TRACKING=enabled
90 if not "%DEPENDENCY_TRACKING%" == "enabled" goto SmallEnv
91 goto NextArgument
92 :LibiconvPrefixOption
93 if "%1" == "no-libiconvprefix" goto NextArgument
94 if "%1" == "no-LIBICONVPREFIX" goto NextArgument
95 if "%1" == "NO-LIBICONVPREFIX" goto NextArgument
96 if "%1" == "libiconvprefix" goto WithLibiconvPrefix
97 if "%1" == "LIBICONVPREFIX" goto WithLibiconvPrefix
98 goto LibintlPrefixOption
99 :WithLibiconvPrefix
100 if "%1" == "libiconvprefix" set LIBICONV_PREFIX=enabled
101 if "%1" == "LIBICONVPREFIX" set LIBICONV_PREFIX=enabled
102 if not "%LIBICONV_PREFIX%" == "enabled" goto SmallEnv
103 goto NextArgument
104 :LibintlPrefixOption
105 if "%1" == "no-libiconvprefix" goto NextArgument
106 if "%1" == "no-LIBICONVPREFIX" goto NextArgument
107 if "%1" == "NO-LIBICONVPREFIX" goto NextArgument
108 if "%1" == "libintlprefix" goto _WithLibintlPrefix
109 if "%1" == "LIBINTLPREFIX" goto _WithLibintlPrefix
110 goto HTMLOption
111 :_WithLibintlPrefix
112 if "%1" == "libintlprefix" set LIBINTL_PREFIX=enabled
113 if "%1" == "LIBINTLPREFIX" set LIBINTL_PREFIX=enabled
114 if not "%LIBINTL_PREFIX%" == "enabled" goto SmallEnv
115 :HTMLOption
116 if "%1" == "withhtml" goto NextArgument
117 if "%1" == "withHTML" goto NextArgument
118 if "%1" == "WITHHTML" goto NextArgument
119 if "%1" == "withouthtml" goto _WithoutHTML
120 if "%1" == "withoutHTML" goto _WithoutHTML
121 if "%1" == "WITHOUTHTML" goto _WithoutHTML
122 goto SrcDirOption
123 :_WithoutHTML
124 if "%1" == "withouthtml" set HTML=disabled
125 if "%1" == "withoutHTML" set HTML=disabled
126 if "%1" == "WITHOUTHTML" set HTML=disabled
127 if not "%HTML%" == "disabled" goto SmallEnv
128 goto NextArgument
129 :SrcDirOption
130 echo %1 | grep -q "/"
131 if errorlevel 1 goto CollectArgument
132 set XSRC=%1
133 if not "%XSRC%" == "%1" goto SmallEnv
134 goto NextArgument
135 :CollectArgument
136 set _ARGS=%ARGS% %1
137 if not "%_ARGS%" == "%ARGS% %1" if not "%_ARGS%" == "%ARGS%%1" goto SmallEnv
138 echo %_ARGS% | grep -q "[^ ]"
139 if not errorlevel 0 set ARGS=%_ARGS%
140 set _ARGS=
141 :NextArgument
142 shift
143 if not "%1" == "" goto ArgLoop
144
145 Rem Create an arguments file for the configure script.
146 echo --srcdir=%XSRC% > args
147 if "%CACHING%" == "enabled" echo --cache-file=%XSRC%/djgpp/config.cache >> args
148 if "%DEPENDENCY_TRACKING%" == "enabled" echo --enable-dependency-tracking >> args
149 if "%DEPENDENCY_TRACKING%" == "disabled" echo --disable-dependency-tracking >> args
150 if "%LIBICONV_PREFIX%" == "enabled" echo --with-libiconv-prefix >> args
151 if "%LIBICONV_PREFIX%" == "disabled" echo --without-libiconv-prefix >> args
152 if "%LIBINTL_PREFIX%" == "enabled" echo --with-libintl-prefix >> args
153 if "%LIBINTL_PREFIX%" == "disabled" echo --without-libintl-prefix >> args
154 if "%HTML%" == "enabled" echo --enable-html >> args
155 if "%HTML%" == "disabled" echo --disable-html >> args
156 if not "%ARGS%" == "" echo %ARGS% >> args
157 set ARGS=
158 set CACHING=
159 set DEPENDENCY_TRACKING=
160 set LIBICONV_PREFIX=
161 set LIBINTL_PREFIX=
162 set HTML=
163
164 if "%XSRC%" == "." goto InPlace
165
166 :NotInPlace
167 redir -e /dev/null update %XSRC%/configure.org ./configure
168 test -f ./configure
169 if errorlevel 1 update %XSRC%/configure ./configure
170
171 :InPlace
172 Rem Update configuration files
173 echo Updating configuration scripts...
174 test -f ./configure.org
175 if errorlevel 1 update configure configure.org
176 sed -f %XSRC%/djgpp/config.sed configure.org > configure
177 if errorlevel 1 goto SedError
178
179 Rem Make sure they have a config.site file
180 set CONFIG_SITE=%XSRC%/djgpp/config.site
181 if not "%CONFIG_SITE%" == "%XSRC%/djgpp/config.site" goto SmallEnv
182
183 Rem inttypes_.h and inttypes.h map to the same 8.3 alias.
184 test -f %XSRC%/lib/inttypes_.h
185 if not errorlevel 1 mv -f %XSRC%/lib/inttypes_.h %XSRC%/lib/_inttypes.h
186
187 Rem Make sure crucial file names are not munged by unpacking
188 test -f %XSRC%/po/Makefile.in.in
189 if not errorlevel 1 mv -f %XSRC%/po/Makefile.in.in %XSRC%/po/Makefile.in-in
190 test -f %XSRC%/po/Makefile.in-in
191 if errorlevel 1 mv -f %XSRC%/po/Makefile.in %XSRC%/po/Makefile.in-in
192 test -f %XSRC%/po/Makefile.in-in
193 if errorlevel 1 mv -f %XSRC%/po/Makefile.inin %XSRC%/po/Makefile.in-in
194 test -f %XSRC%/po/Makefile.in-in
195 if errorlevel 1 mv -f %XSRC%/po/Makefile.in_in %XSRC%/po/Makefile.in-in
196 test -f %XSRC%/po/Makefile.in-in
197 if errorlevel 1 mv -f %XSRC%/po/Makefile_in.in %XSRC%/po/Makefile.in-in
198 test -f %XSRC%/runtime-po/Makefile.in.in
199 if not errorlevel 1 mv -f %XSRC%/runtime-po/Makefile.in.in %XSRC%/runtime-po/Makefile.in-in
200 test -f %XSRC%/runtime-po/Makefile.in-in
201 if errorlevel 1 mv -f %XSRC%/runtime-po/Makefile.in %XSRC%/runtime-po/Makefile.in-in
202 test -f %XSRC%/runtime-po/Makefile.in-in
203 if errorlevel 1 mv -f %XSRC%/runtime-po/Makefile.inin %XSRC%/runtime-po/Makefile.in-in
204 test -f %XSRC%/runtime-po/Makefile.in-in
205 if errorlevel 1 mv -f %XSRC%/runtime-po/Makefile.in_in %XSRC%/runtime-po/Makefile.in-in
206 test -f %XSRC%/runtime-po/Makefile.in-in
207 if errorlevel 1 mv -f %XSRC%/runtime-po/Makefile_in.in %XSRC%/runtime-po/Makefile.in-in
208 test -f %XSRC%/data/c++.m4
209 if not errorlevel 1 mv -f %XSRC%/data/c++.m4 %XSRC%/data/cxx.m4
210 test -f %XSRC%/data/cxx.m4
211 if errorlevel 1 mv -f %XSRC%/data/cpp.m4 %XSRC%/data/cxx.m4
212 :scan_gram_c_Test
213 test -f %XSRC%/src/c-scan-gram.c
214 if not errorlevel 1 goto scan_skel_c_Test
215 test -f %XSRC%/src/scan-gram-c.c
216 if not errorlevel 1 mv -f %XSRC%/src/scan-gram-c.c %XSRC%/src/c-scan-gram.c
217 :scan_skel_c_Test
218 test -f %XSRC%/src/c-scan-skel.c
219 if not errorlevel 1 goto FixFiles
220 test -f %XSRC%/src/scan-skel-c.c
221 if not errorlevel 1 mv -f %XSRC%/src/scan-skel-c.c %XSRC%/src/c-scan-skel.c
222
223 :FixFiles
224 Rem Fix data/lalr1.cc and data/location.cc to reflect the renaming of c++.m4
225 sed "s/c++\.m4/cxx.m4/" %XSRC%/data/lalr1.cc > lalr1.cc
226 if errorlevel 1 goto lalr1_ccFileError
227 mv ./lalr1.cc %XSRC%/data/lalr1.cc
228 sed "s/c++\.m4/cxx.m4/" %XSRC%/data/location.cc > location.cc
229 if errorlevel 1 goto location.ccFileError
230 mv ./location.cc %XSRC%/data/location.cc
231 sed "s/c++\.m4/cxx.m4/" %XSRC%/data/glr.cc > glr.cc
232 if errorlevel 1 goto glr.ccFileError
233 mv ./glr.cc %XSRC%/data/glr.cc
234
235 Rem Define DJGPP specific defs in config.hin
236 echo Editing config.hin...
237 test -f %XSRC%/lib/config_h.org
238 if errorlevel 1 update %XSRC%/lib/config.hin %XSRC%/lib/config_h.org
239 sed -f %XSRC%/djgpp/config_h.sed %XSRC%/lib/config_h.org > config.hin
240 if errorlevel 1 goto SedError2
241 mv -f config.hin %XSRC%/lib/config.hin
242
243
244 Rem Fixing ilicit testsuite file name.
245 test -f %XSRC%/tests/c++.at
246 if not errorlevel 1 mv -f %XSRC%/tests/c++.at %XSRC%/tests/cxx.at
247
248 Rem Fixing ilicit calc++ file names in the calc++ directory.
249 test -d %XSRC%/examples/calc++
250 if not errorlevel 1 mv -f %XSRC%/examples/calc++ %XSRC%/examples/calcxx
251 test -d %XSRC%/examples/calcxx
252 if errorlevel 1 mv -f %XSRC%/examples/calcpp %XSRC%/examples/calcxx
253 test -f %XSRC%/examples/calcxx/calc++-scanner.cc
254 if not errorlevel 1 mv -f %XSRC%/examples/calcxx/calc++-scanner.cc %XSRC%/examples/calcxx/calcxx-scanner.cc
255 test -f %XSRC%/examples/calcxx/calcxx-scanner.cc
256 if errorlevel 1 mv -f %XSRC%/examples/calcxx/calcpp-scanner.cc %XSRC%/examples/calcxx/calcxx-scanner.cc
257 test -f %XSRC%/examples/calcxx/calc++-scanner.ll
258 if not errorlevel 1 mv -f %XSRC%/examples/calcxx/calc++-scanner.ll %XSRC%/examples/calcxx/calcxx-scanner.ll
259 test -f %XSRC%/examples/calcxx/calcxx-scanner.ll
260 if errorlevel 1 mv -f %XSRC%/examples/calcxx/calcpp-scanner.ll %XSRC%/examples/calcxx/calcxx-scanner.ll
261 test -f %XSRC%/examples/calcxx/calc++-driver.cc
262 if not errorlevel 1 mv -f %XSRC%/examples/calcxx/calc++-driver.cc %XSRC%/examples/calcxx/calcxx-driver.cc
263 test -f %XSRC%/examples/calcxx/calcxx-driver.cc
264 if errorlevel 1 mv -f %XSRC%/examples/calcxx/calcpp-driver.cc %XSRC%/examples/calcxx/calcxx-driver.cc
265 test -f %XSRC%/examples/calcxx/calc++-driver.hh
266 if not errorlevel 1 mv -f %XSRC%/examples/calcxx/calc++-driver.hh %XSRC%/examples/calcxx/calcxx-driver.hh
267 test -f %XSRC%/examples/calcxx/calcxx-driver.hh
268 if errorlevel 1 mv -f %XSRC%/examples/calcxx/calcpp-driver.hh %XSRC%/examples/calcxx/calcxx-driver.hh
269 test -f %XSRC%/examples/calcxx/calc++-parser.cc
270 if not errorlevel 1 mv -f %XSRC%/examples/calcxx/calc++-parser.cc %XSRC%/examples/calcxx/calcxx-parser.cc
271 test -f %XSRC%/examples/calcxx/calcxx-parser.cc
272 if errorlevel 1 mv -f %XSRC%/examples/calcxx/calcpp-parser.cc %XSRC%/examples/calcxx/calcxx-parser.cc
273 test -f %XSRC%/examples/calcxx/calc++-parser.hh
274 if not errorlevel 1 mv -f %XSRC%/examples/calcxx/calc++-parser.hh %XSRC%/examples/calcxx/calcxx-parser.hh
275 test -f %XSRC%/examples/calcxx/calcxx-parser.hh
276 if errorlevel 1 mv -f %XSRC%/examples/calcxx/calcpp-parser.hh %XSRC%/examples/calcxx/calcxx-parser.hh
277 test -f %XSRC%/examples/calcxx/calc++-parser.stamp
278 if not errorlevel 1 mv -f %XSRC%/examples/calcxx/calc++-parser.stamp %XSRC%/examples/calcxx/calcxx-parser.stamp
279 test -f %XSRC%/examples/calcxx/calcxx-parser.stamp
280 if errorlevel 1 mv -f %XSRC%/examples/calcxx/calcpp-parser.stamp %XSRC%/examples/calcxx/calcxx-parser.stamp
281 test -f %XSRC%/examples/calcxx/calc++-parser.yy
282 if not errorlevel 1 mv -f %XSRC%/examples/calcxx/calc++-parser.yy %XSRC%/examples/calcxx/calcxx-parser.yy
283 test -f %XSRC%/examples/calcxx/calcxx-parser.yy
284 if errorlevel 1 mv -f %XSRC%/examples/calcxx/calcpp-parser.yy %XSRC%/examples/calcxx/calcxx-parser.yy
285 test -f %XSRC%/examples/calcxx/calc++.cc
286 if not errorlevel 1 mv -f %XSRC%/examples/calcxx/calc++.cc %XSRC%/examples/calcxx/calcxx.cc
287 test -f %XSRC%/examples/calcxx/calcxx.cc
288 if errorlevel 1 mv -f %XSRC%/examples/calcxx/calcpp.cc %XSRC%/examples/calcxx/calcxx.cc
289
290 Rem Fixing #include lines in calcxx files.
291 sed "/#[ ]*include/s/++/xx/" %XSRC%/examples/calcxx/calcxx.cc > calcxx.cc
292 if errorlevel 1 goto calcxxFileError
293 mv ./calcxx.cc %XSRC%/examples/calcxx/calcxx.cc
294 sed "/#[ ]*include/s/++/xx/" %XSRC%/examples/calcxx/calcxx-driver.cc > calcxx-driver.cc
295 if errorlevel 1 goto calcxxFileError
296 mv ./calcxx-driver.cc %XSRC%/examples/calcxx/calcxx-driver.cc
297 sed "/#[ ]*include/s/++/xx/" %XSRC%/examples/calcxx/calcxx-driver.hh > calcxx-driver.hh
298 if errorlevel 1 goto calcxxFileError
299 mv ./calcxx-driver.hh %XSRC%/examples/calcxx/calcxx-driver.hh
300 sed "/#[ ]*include/s/++/xx/" %XSRC%/examples/calcxx/calcxx-parser.cc > calcxx-parser.cc
301 if errorlevel 1 goto calcxxFileError
302 mv ./calcxx-parser.cc %XSRC%/examples/calcxx/calcxx-parser.cc
303 sed "/#[ ]*include/s/++/xx/" %XSRC%/examples/calcxx/calcxx-parser.hh > calcxx-parser.hh
304 if errorlevel 1 goto calcxxFileError
305 mv ./calcxx-parser.hh %XSRC%/examples/calcxx/calcxx-parser.hh
306 :sed "/#[ ]*include/s/++/xx/" %XSRC%/examples/calcxx/calcxx-parser.yy > calcxx-parser.yy
307 :if errorlevel 1 goto calcxxFileError
308 :mv ./calcxx-parser.yy %XSRC%/examples/calcxx/calcxx-parser.yy
309 sed "/#[ ]*include/s/++/xx/" %XSRC%/examples/calcxx/calcxx-scanner.cc > calcxx-scanner.cc
310 if errorlevel 1 goto calcxxFileError
311 mv ./calcxx-scanner.cc %XSRC%/examples/calcxx/calcxx-scanner.cc
312 :sed "/#[ ]*include/s/++/xx/" %XSRC%/examples/calcxx/calcxx-scanner.ll > calcxx-scanner.ll
313 :if errorlevel 1 goto calcxxFileError
314 :mv ./calcxx-scanner.ll %XSRC%/examples/calcxx/calcxx-scanner.ll
315 sed "s/calc++/calcxx/" %XSRC%/examples/calcxx/test > test
316 if errorlevel 1 goto calcxxFileError
317 mv ./test %XSRC%/examples/calcxx/test
318
319
320 Rem Fixing the scanner files to make file names 8.3 valid.
321 Rem Use only if you want to change the scan-gram.l and scan-skel.l files.
322 : sed "/outfile=/s/\.yy/yy/" %XSRC%/src/scan-gram.l > scan-gram.l
323 : if errorlevel 1 goto ScannerFileError
324 : mv ./scan-gram.l %XSRC%/src/scan-gram.l
325 : sed "/outfile=/s/\.yy/yy/" %XSRC%/src/scan-skel.l > scan-skel.l
326 : if errorlevel 1 goto ScannerFileError
327 : mv ./scan-skel.l %XSRC%/src/scan-skel.l
328
329
330 Rem This is required because DOS/Windows are case-insensitive
331 Rem to file names, and "make install" will do nothing if Make
332 Rem finds a file called `install'.
333 if exist INSTALL ren INSTALL INSTALL.txt
334
335 Rem Set SHELL to a sane default or some configure tests stop working
336 Rem if the package is configured across partitions.
337 if not "%SHELL%" == "" goto HomeName
338 set SHELL=/bin/sh
339 if not "%SHELL%" == "/bin/sh" goto SmallEnv
340 echo No SHELL found in the environment, using default value
341
342 :HomeName
343 Rem Set HOME to a sane default so configure stops complaining.
344 if not "%HOME%" == "" goto HostName
345 set HOME=%XSRC%/djgpp
346 if not "%HOME%" == "%XSRC%/djgpp" goto SmallEnv
347 echo No HOME found in the environment, using default value
348
349 :HostName
350 Rem Set HOSTNAME so it shows in config.status
351 if not "%HOSTNAME%" == "" goto hostdone
352 if "%windir%" == "" goto msdos
353 set OS=MS-Windows
354 if not "%OS%" == "MS-Windows" goto SmallEnv
355 goto haveos
356 :msdos
357 set OS=MS-DOS
358 if not "%OS%" == "MS-DOS" goto SmallEnv
359 :haveos
360 if not "%USERNAME%" == "" goto haveuname
361 if not "%USER%" == "" goto haveuser
362 echo No USERNAME and no USER found in the environment, using default values
363 set HOSTNAME=Unknown PC
364 if not "%HOSTNAME%" == "Unknown PC" goto SmallEnv
365 goto userdone
366 :haveuser
367 set HOSTNAME=%USER%'s PC
368 if not "%HOSTNAME%" == "%USER%'s PC" goto SmallEnv
369 goto userdone
370 :haveuname
371 set HOSTNAME=%USERNAME%'s PC
372 if not "%HOSTNAME%" == "%USERNAME%'s PC" goto SmallEnv
373 :userdone
374 set _HOSTNAME=%HOSTNAME%, %OS%
375 if not "%_HOSTNAME%" == "%HOSTNAME%, %OS%" goto SmallEnv
376 set HOSTNAME=%_HOSTNAME%
377 :hostdone
378 set _HOSTNAME=
379 set OS=
380
381 Rem install-sh is required by the configure script but clashes with the
382 Rem various Makefile install-foo targets, so we MUST have it before the
383 Rem script runs and rename it afterwards
384 test -f %XSRC%/install-sh
385 if not errorlevel 1 goto NoRen0
386 test -f %XSRC%/install-sh.sh
387 if not errorlevel 1 mv -f %XSRC%/install-sh.sh %XSRC%/install-sh
388 :NoRen0
389
390 if "%NLS%" == "disabled" goto WithoutNLS
391
392 :WithNLS
393 Rem Check for the needed libraries and binaries.
394 test -x /dev/env/DJDIR/bin/msgfmt.exe
395 if errorlevel 1 goto MissingNLSTools
396 test -x /dev/env/DJDIR/bin/xgettext.exe
397 if errorlevel 1 goto MissingNLSTools
398 test -f /dev/env/DJDIR/include/libcharset.h
399 if errorlevel 1 goto MissingNLSTools
400 test -f /dev/env/DJDIR/lib/libcharset.a
401 if errorlevel 1 goto MissingNLSTools
402 test -f /dev/env/DJDIR/include/iconv.h
403 if errorlevel 1 goto MissingNLSTools
404 test -f /dev/env/DJDIR/lib/libiconv.a
405 if errorlevel 1 goto MissingNLSTools
406 test -f /dev/env/DJDIR/include/libintl.h
407 if errorlevel 1 goto MissingNLSTools
408 test -f /dev/env/DJDIR/lib/libintl.a
409 if errorlevel 1 goto MissingNLSTools
410
411 Rem Recreate the files in the %XSRC%/po subdir with our ported tools.
412 redir -e /dev/null rm %XSRC%/po/*.gmo
413 redir -e /dev/null rm %XSRC%/po/bison.pot
414 redir -e /dev/null rm %XSRC%/po/cat-id-tbl.c
415 redir -e /dev/null rm %XSRC%/po/stamp-cat-id
416
417 Rem Update the arguments file for the configure script.
418 Rem We prefer without-included-gettext because libintl.a from gettext package
419 Rem is the only one that is garanteed to have been ported to DJGPP.
420 echo --enable-nls --without-included-gettext >> args
421 goto ConfigurePackage
422
423 :MissingNLSTools
424 echo Needed libs/tools for NLS not found. Configuring without NLS.
425 :WithoutNLS
426 Rem Update the arguments file for the configure script.
427 echo --disable-nls >> args
428
429 :ConfigurePackage
430 echo Running the ./configure script...
431 sh ./configure @args
432 if errorlevel 1 goto CfgError
433 rm args
434 echo Done.
435 goto End
436
437 :lalr1_ccFileError
438 echo ./data/lalr1.cc file editing failed!
439 goto End
440
441 :glr_ccFileError
442 echo ./data/glr.cc file editing failed!
443 goto End
444
445 :location_ccFileError
446 echo ./data/location.cc file editing failed!
447 goto End
448
449 :calcxxFileError
450 echo ./examples/calcxx file editing failed!
451 goto End
452
453 :ScannerFileError
454 echo ./scanner file editing failed!
455 goto End
456
457 :SedError
458 echo ./configure script editing failed!
459 goto End
460
461 :SedError2
462 echo ./config.hin editing failed!
463 goto End
464
465 :CfgError
466 echo ./configure script exited abnormally!
467 goto End
468
469 :SmallEnv
470 echo Your environment size is too small. Enlarge it and run me again.
471 echo Configuration NOT done!
472
473 :End
474 test -f %XSRC%/install-sh.sh
475 if not errorlevel 1 goto NoRen1
476 test -f %XSRC%/install-sh
477 if not errorlevel 1 mv -f %XSRC%/install-sh %XSRC%/install-sh.sh
478 :NoRen1
479 if "%SHELL%" == "/bin/sh" set SHELL=
480 if "%HOME%" == "%XSRC%/djgpp" set HOME=
481 set CONFIG_SITE=
482 set HOSTNAME=
483 set NLS=
484 set XSRC=