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