]> git.saurik.com Git - bison.git/blame - djgpp/config.bat
Add syncline support and location accessor to internal %define
[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
02650b7f
PE
7Rem Copyright (C) 2005, 2006 Free Software Foundation, Inc.\r
8\r
f16b0819 9Rem This program is free software: you can redistribute it and/or modify\r
02650b7f 10Rem it under the terms of the GNU General Public License as published by\r
f16b0819
PE
11Rem the Free Software Foundation, either version 3 of the License, or\r
12Rem (at your option) any later version.\r
13Rem\r
02650b7f
PE
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
f16b0819 18Rem\r
02650b7f 19Rem You should have received a copy of the GNU General Public License\r
f16b0819 20Rem along with this program. If not, see <http://www.gnu.org/licenses/>.\r
02650b7f
PE
21\r
22echo Configuring Bison for DJGPP v2.x...\r
3768a1ae
JMG
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
c4d50517
JMG
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
3768a1ae
JMG
156set ARGS=\r
157set CACHING=\r
158set DEPENDENCY_TRACKING=\r
1bddda4d
JMG
159set LIBICONV_PREFIX=\r
160set LIBINTL_PREFIX=\r
161set HTML=\r
3768a1ae
JMG
162\r
163if "%XSRC%" == "." goto InPlace\r
164\r
165:NotInPlace\r
12ab1c9d 166redir -e /dev/null update %XSRC%/configure.org ./configure\r
3768a1ae
JMG
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
12ab1c9d
JMG
173test -f ./configure.org\r
174if errorlevel 1 update configure configure.org\r
175sed -f %XSRC%/djgpp/config.sed configure.org > configure\r
3768a1ae
JMG
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
7b30971d
JMG
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
3768a1ae
JMG
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
ebe8ee42
JMG
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
3768a1ae
JMG
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
ebe8ee42
JMG
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
3768a1ae
JMG
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
0d1c1cab
JMG
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
215\r
90ddbd5e
JMG
216:scan_gram_c_Test\r
217test -f %XSRC%/src/c-scan-gram.c\r
218if not errorlevel 1 goto scan_skel_c_Test\r
219test -f %XSRC%/src/scan-gram-c.c\r
220if not errorlevel 1 mv -f %XSRC%/src/scan-gram-c.c %XSRC%/src/c-scan-gram.c\r
221:scan_skel_c_Test\r
222test -f %XSRC%/src/c-scan-skel.c\r
223if not errorlevel 1 goto FixFiles\r
224test -f %XSRC%/src/scan-skel-c.c\r
225if not errorlevel 1 mv -f %XSRC%/src/scan-skel-c.c %XSRC%/src/c-scan-skel.c\r
3768a1ae 226\r
90ddbd5e 227:FixFiles\r
c59929c3 228Rem Fix data/lalr1.cc and data/location.cc to reflect the renaming of c++.m4\r
3768a1ae
JMG
229sed "s/c++\.m4/cxx.m4/" %XSRC%/data/lalr1.cc > lalr1.cc\r
230if errorlevel 1 goto lalr1_ccFileError\r
231mv ./lalr1.cc %XSRC%/data/lalr1.cc\r
c59929c3 232sed "s/c++\.m4/cxx.m4/" %XSRC%/data/location.cc > location.cc\r
0d1c1cab 233if errorlevel 1 goto location_ccFileError\r
c59929c3 234mv ./location.cc %XSRC%/data/location.cc\r
b9471884 235sed "s/c++\.m4/cxx.m4/" %XSRC%/data/glr.cc > glr.cc\r
0d1c1cab 236if errorlevel 1 goto glr_ccFileError\r
b9471884 237mv ./glr.cc %XSRC%/data/glr.cc\r
3768a1ae 238\r
0d1c1cab
JMG
239Rem Fix src/getargs.c to reflect the renaming of c++-skel.m4\r
240sed "s/c++-skel\.m4/cxx-skel.m4/" %XSRC%/src/getargs.c > getargs.c\r
241if errorlevel 1 goto getargs_cFileError\r
242mv ./getargs.c %XSRC%/src/getargs.c\r
243\r
3768a1ae
JMG
244Rem Define DJGPP specific defs in config.hin\r
245echo Editing config.hin...\r
12ab1c9d
JMG
246test -f %XSRC%/lib/config_h.org\r
247if errorlevel 1 update %XSRC%/lib/config.hin %XSRC%/lib/config_h.org\r
248sed -f %XSRC%/djgpp/config_h.sed %XSRC%/lib/config_h.org > config.hin\r
3768a1ae 249if errorlevel 1 goto SedError2\r
179de98b 250mv -f config.hin %XSRC%/lib/config.hin\r
3768a1ae
JMG
251\r
252\r
253Rem Fixing ilicit testsuite file name.\r
254test -f %XSRC%/tests/c++.at\r
255if not errorlevel 1 mv -f %XSRC%/tests/c++.at %XSRC%/tests/cxx.at\r
256\r
7ac22ca6
JMG
257test -f %XSRC%/tests/testsuite.org\r
258if errorlevel 1 update %XSRC%/tests/testsuite %XSRC%/tests/testsuite.org\r
259sed -f %XSRC%/djgpp/testsuite.sed %XSRC%/tests/testsuite.org > testsuite.tmp\r
260if errorlevel 1 goto SedError3\r
261mv -f ./testsuite.tmp %XSRC%/tests/testsuite\r
262\r
3768a1ae
JMG
263Rem Fixing ilicit calc++ file names in the calc++ directory.\r
264test -d %XSRC%/examples/calc++\r
265if not errorlevel 1 mv -f %XSRC%/examples/calc++ %XSRC%/examples/calcxx\r
266test -d %XSRC%/examples/calcxx\r
267if errorlevel 1 mv -f %XSRC%/examples/calcpp %XSRC%/examples/calcxx\r
268test -f %XSRC%/examples/calcxx/calc++-scanner.cc\r
269if not errorlevel 1 mv -f %XSRC%/examples/calcxx/calc++-scanner.cc %XSRC%/examples/calcxx/calcxx-scanner.cc\r
270test -f %XSRC%/examples/calcxx/calcxx-scanner.cc\r
271if errorlevel 1 mv -f %XSRC%/examples/calcxx/calcpp-scanner.cc %XSRC%/examples/calcxx/calcxx-scanner.cc\r
272test -f %XSRC%/examples/calcxx/calc++-scanner.ll\r
273if not errorlevel 1 mv -f %XSRC%/examples/calcxx/calc++-scanner.ll %XSRC%/examples/calcxx/calcxx-scanner.ll\r
274test -f %XSRC%/examples/calcxx/calcxx-scanner.ll\r
275if errorlevel 1 mv -f %XSRC%/examples/calcxx/calcpp-scanner.ll %XSRC%/examples/calcxx/calcxx-scanner.ll\r
276test -f %XSRC%/examples/calcxx/calc++-driver.cc\r
277if not errorlevel 1 mv -f %XSRC%/examples/calcxx/calc++-driver.cc %XSRC%/examples/calcxx/calcxx-driver.cc\r
278test -f %XSRC%/examples/calcxx/calcxx-driver.cc\r
279if errorlevel 1 mv -f %XSRC%/examples/calcxx/calcpp-driver.cc %XSRC%/examples/calcxx/calcxx-driver.cc\r
280test -f %XSRC%/examples/calcxx/calc++-driver.hh\r
281if not errorlevel 1 mv -f %XSRC%/examples/calcxx/calc++-driver.hh %XSRC%/examples/calcxx/calcxx-driver.hh\r
282test -f %XSRC%/examples/calcxx/calcxx-driver.hh\r
283if errorlevel 1 mv -f %XSRC%/examples/calcxx/calcpp-driver.hh %XSRC%/examples/calcxx/calcxx-driver.hh\r
284test -f %XSRC%/examples/calcxx/calc++-parser.cc\r
285if not errorlevel 1 mv -f %XSRC%/examples/calcxx/calc++-parser.cc %XSRC%/examples/calcxx/calcxx-parser.cc\r
286test -f %XSRC%/examples/calcxx/calcxx-parser.cc\r
287if errorlevel 1 mv -f %XSRC%/examples/calcxx/calcpp-parser.cc %XSRC%/examples/calcxx/calcxx-parser.cc\r
288test -f %XSRC%/examples/calcxx/calc++-parser.hh\r
289if not errorlevel 1 mv -f %XSRC%/examples/calcxx/calc++-parser.hh %XSRC%/examples/calcxx/calcxx-parser.hh\r
290test -f %XSRC%/examples/calcxx/calcxx-parser.hh\r
291if errorlevel 1 mv -f %XSRC%/examples/calcxx/calcpp-parser.hh %XSRC%/examples/calcxx/calcxx-parser.hh\r
292test -f %XSRC%/examples/calcxx/calc++-parser.stamp\r
293if not errorlevel 1 mv -f %XSRC%/examples/calcxx/calc++-parser.stamp %XSRC%/examples/calcxx/calcxx-parser.stamp\r
294test -f %XSRC%/examples/calcxx/calcxx-parser.stamp\r
295if errorlevel 1 mv -f %XSRC%/examples/calcxx/calcpp-parser.stamp %XSRC%/examples/calcxx/calcxx-parser.stamp\r
296test -f %XSRC%/examples/calcxx/calc++-parser.yy\r
297if not errorlevel 1 mv -f %XSRC%/examples/calcxx/calc++-parser.yy %XSRC%/examples/calcxx/calcxx-parser.yy\r
298test -f %XSRC%/examples/calcxx/calcxx-parser.yy\r
299if errorlevel 1 mv -f %XSRC%/examples/calcxx/calcpp-parser.yy %XSRC%/examples/calcxx/calcxx-parser.yy\r
300test -f %XSRC%/examples/calcxx/calc++.cc\r
301if not errorlevel 1 mv -f %XSRC%/examples/calcxx/calc++.cc %XSRC%/examples/calcxx/calcxx.cc\r
302test -f %XSRC%/examples/calcxx/calcxx.cc\r
303if errorlevel 1 mv -f %XSRC%/examples/calcxx/calcpp.cc %XSRC%/examples/calcxx/calcxx.cc\r
304\r
305Rem Fixing #include lines in calcxx files.\r
02650b7f 306sed "/#[ ]*include/s/++/xx/" %XSRC%/examples/calcxx/calcxx.cc > calcxx.cc\r
3768a1ae
JMG
307if errorlevel 1 goto calcxxFileError\r
308mv ./calcxx.cc %XSRC%/examples/calcxx/calcxx.cc\r
02650b7f 309sed "/#[ ]*include/s/++/xx/" %XSRC%/examples/calcxx/calcxx-driver.cc > calcxx-driver.cc\r
3768a1ae
JMG
310if errorlevel 1 goto calcxxFileError\r
311mv ./calcxx-driver.cc %XSRC%/examples/calcxx/calcxx-driver.cc\r
02650b7f 312sed "/#[ ]*include/s/++/xx/" %XSRC%/examples/calcxx/calcxx-driver.hh > calcxx-driver.hh\r
3768a1ae
JMG
313if errorlevel 1 goto calcxxFileError\r
314mv ./calcxx-driver.hh %XSRC%/examples/calcxx/calcxx-driver.hh\r
02650b7f 315sed "/#[ ]*include/s/++/xx/" %XSRC%/examples/calcxx/calcxx-parser.cc > calcxx-parser.cc\r
3768a1ae
JMG
316if errorlevel 1 goto calcxxFileError\r
317mv ./calcxx-parser.cc %XSRC%/examples/calcxx/calcxx-parser.cc\r
02650b7f 318sed "/#[ ]*include/s/++/xx/" %XSRC%/examples/calcxx/calcxx-parser.hh > calcxx-parser.hh\r
3768a1ae
JMG
319if errorlevel 1 goto calcxxFileError\r
320mv ./calcxx-parser.hh %XSRC%/examples/calcxx/calcxx-parser.hh\r
02650b7f 321:sed "/#[ ]*include/s/++/xx/" %XSRC%/examples/calcxx/calcxx-parser.yy > calcxx-parser.yy\r
3768a1ae
JMG
322:if errorlevel 1 goto calcxxFileError\r
323:mv ./calcxx-parser.yy %XSRC%/examples/calcxx/calcxx-parser.yy\r
02650b7f 324sed "/#[ ]*include/s/++/xx/" %XSRC%/examples/calcxx/calcxx-scanner.cc > calcxx-scanner.cc\r
3768a1ae
JMG
325if errorlevel 1 goto calcxxFileError\r
326mv ./calcxx-scanner.cc %XSRC%/examples/calcxx/calcxx-scanner.cc\r
02650b7f 327:sed "/#[ ]*include/s/++/xx/" %XSRC%/examples/calcxx/calcxx-scanner.ll > calcxx-scanner.ll\r
3768a1ae
JMG
328:if errorlevel 1 goto calcxxFileError\r
329:mv ./calcxx-scanner.ll %XSRC%/examples/calcxx/calcxx-scanner.ll\r
330sed "s/calc++/calcxx/" %XSRC%/examples/calcxx/test > test\r
331if errorlevel 1 goto calcxxFileError\r
332mv ./test %XSRC%/examples/calcxx/test\r
333\r
334\r
335Rem Fixing the scanner files to make file names 8.3 valid.\r
336Rem Use only if you want to change the scan-gram.l and scan-skel.l files.\r
337: sed "/outfile=/s/\.yy/yy/" %XSRC%/src/scan-gram.l > scan-gram.l\r
338: if errorlevel 1 goto ScannerFileError\r
339: mv ./scan-gram.l %XSRC%/src/scan-gram.l\r
340: sed "/outfile=/s/\.yy/yy/" %XSRC%/src/scan-skel.l > scan-skel.l\r
341: if errorlevel 1 goto ScannerFileError\r
342: mv ./scan-skel.l %XSRC%/src/scan-skel.l\r
343\r
344\r
345Rem This is required because DOS/Windows are case-insensitive\r
346Rem to file names, and "make install" will do nothing if Make\r
347Rem finds a file called `install'.\r
348if exist INSTALL ren INSTALL INSTALL.txt\r
349\r
350Rem Set SHELL to a sane default or some configure tests stop working\r
351Rem if the package is configured across partitions.\r
352if not "%SHELL%" == "" goto HomeName\r
353set SHELL=/bin/sh\r
354if not "%SHELL%" == "/bin/sh" goto SmallEnv\r
355echo No SHELL found in the environment, using default value\r
356\r
357:HomeName\r
358Rem Set HOME to a sane default so configure stops complaining.\r
359if not "%HOME%" == "" goto HostName\r
360set HOME=%XSRC%/djgpp\r
361if not "%HOME%" == "%XSRC%/djgpp" goto SmallEnv\r
362echo No HOME found in the environment, using default value\r
363\r
364:HostName\r
365Rem Set HOSTNAME so it shows in config.status\r
366if not "%HOSTNAME%" == "" goto hostdone\r
367if "%windir%" == "" goto msdos\r
368set OS=MS-Windows\r
369if not "%OS%" == "MS-Windows" goto SmallEnv\r
370goto haveos\r
371:msdos\r
372set OS=MS-DOS\r
373if not "%OS%" == "MS-DOS" goto SmallEnv\r
374:haveos\r
375if not "%USERNAME%" == "" goto haveuname\r
376if not "%USER%" == "" goto haveuser\r
377echo No USERNAME and no USER found in the environment, using default values\r
378set HOSTNAME=Unknown PC\r
379if not "%HOSTNAME%" == "Unknown PC" goto SmallEnv\r
380goto userdone\r
381:haveuser\r
382set HOSTNAME=%USER%'s PC\r
383if not "%HOSTNAME%" == "%USER%'s PC" goto SmallEnv\r
384goto userdone\r
385:haveuname\r
386set HOSTNAME=%USERNAME%'s PC\r
387if not "%HOSTNAME%" == "%USERNAME%'s PC" goto SmallEnv\r
388:userdone\r
389set _HOSTNAME=%HOSTNAME%, %OS%\r
390if not "%_HOSTNAME%" == "%HOSTNAME%, %OS%" goto SmallEnv\r
391set HOSTNAME=%_HOSTNAME%\r
392:hostdone\r
393set _HOSTNAME=\r
394set OS=\r
395\r
396Rem install-sh is required by the configure script but clashes with the\r
397Rem various Makefile install-foo targets, so we MUST have it before the\r
398Rem script runs and rename it afterwards\r
399test -f %XSRC%/install-sh\r
400if not errorlevel 1 goto NoRen0\r
401test -f %XSRC%/install-sh.sh\r
402if not errorlevel 1 mv -f %XSRC%/install-sh.sh %XSRC%/install-sh\r
403:NoRen0\r
404\r
405if "%NLS%" == "disabled" goto WithoutNLS\r
406\r
407:WithNLS\r
408Rem Check for the needed libraries and binaries.\r
409test -x /dev/env/DJDIR/bin/msgfmt.exe\r
410if errorlevel 1 goto MissingNLSTools\r
411test -x /dev/env/DJDIR/bin/xgettext.exe\r
412if errorlevel 1 goto MissingNLSTools\r
413test -f /dev/env/DJDIR/include/libcharset.h\r
414if errorlevel 1 goto MissingNLSTools\r
415test -f /dev/env/DJDIR/lib/libcharset.a\r
416if errorlevel 1 goto MissingNLSTools\r
417test -f /dev/env/DJDIR/include/iconv.h\r
418if errorlevel 1 goto MissingNLSTools\r
419test -f /dev/env/DJDIR/lib/libiconv.a\r
420if errorlevel 1 goto MissingNLSTools\r
421test -f /dev/env/DJDIR/include/libintl.h\r
422if errorlevel 1 goto MissingNLSTools\r
423test -f /dev/env/DJDIR/lib/libintl.a\r
424if errorlevel 1 goto MissingNLSTools\r
425\r
426Rem Recreate the files in the %XSRC%/po subdir with our ported tools.\r
427redir -e /dev/null rm %XSRC%/po/*.gmo\r
428redir -e /dev/null rm %XSRC%/po/bison.pot\r
429redir -e /dev/null rm %XSRC%/po/cat-id-tbl.c\r
430redir -e /dev/null rm %XSRC%/po/stamp-cat-id\r
431\r
432Rem Update the arguments file for the configure script.\r
433Rem We prefer without-included-gettext because libintl.a from gettext package\r
434Rem is the only one that is garanteed to have been ported to DJGPP.\r
c4d50517 435echo --enable-nls --without-included-gettext >> args\r
3768a1ae
JMG
436goto ConfigurePackage\r
437\r
438:MissingNLSTools\r
439echo Needed libs/tools for NLS not found. Configuring without NLS.\r
440:WithoutNLS\r
441Rem Update the arguments file for the configure script.\r
c4d50517 442echo --disable-nls >> args\r
3768a1ae
JMG
443\r
444:ConfigurePackage\r
445echo Running the ./configure script...\r
c4d50517 446sh ./configure @args\r
3768a1ae 447if errorlevel 1 goto CfgError\r
c4d50517 448rm args\r
3768a1ae
JMG
449echo Done.\r
450goto End\r
451\r
452:lalr1_ccFileError\r
453echo ./data/lalr1.cc file editing failed!\r
454goto End\r
455\r
b9471884
JMG
456:glr_ccFileError\r
457echo ./data/glr.cc file editing failed!\r
458goto End\r
459\r
0d1c1cab
JMG
460:getargs_cFileError\r
461echo ./src/getargs.c file editing failed!\r
462goto End\r
463\r
c59929c3
JMG
464:location_ccFileError\r
465echo ./data/location.cc file editing failed!\r
466goto End\r
467\r
3768a1ae
JMG
468:calcxxFileError\r
469echo ./examples/calcxx file editing failed!\r
470goto End\r
471\r
472:ScannerFileError\r
473echo ./scanner file editing failed!\r
474goto End\r
475\r
476:SedError\r
477echo ./configure script editing failed!\r
478goto End\r
479\r
480:SedError2\r
7ac22ca6
JMG
481echo ./lib/config.hin editing failed!\r
482goto End\r
483\r
484:SedError3\r
485echo ./tests/testsuite editing failed!\r
3768a1ae
JMG
486goto End\r
487\r
488:CfgError\r
489echo ./configure script exited abnormally!\r
490goto End\r
491\r
492:SmallEnv\r
493echo Your environment size is too small. Enlarge it and run me again.\r
494echo Configuration NOT done!\r
495\r
496:End\r
497test -f %XSRC%/install-sh.sh\r
498if not errorlevel 1 goto NoRen1\r
499test -f %XSRC%/install-sh\r
500if not errorlevel 1 mv -f %XSRC%/install-sh %XSRC%/install-sh.sh\r
501:NoRen1\r
502if "%SHELL%" == "/bin/sh" set SHELL=\r
503if "%HOME%" == "%XSRC%/djgpp" set HOME=\r
3768a1ae
JMG
504set CONFIG_SITE=\r
505set HOSTNAME=\r
506set NLS=\r
3768a1ae 507set XSRC=\r