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