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