]> git.saurik.com Git - bison.git/blame_incremental - djgpp/config.bat
DJGPP specific issues.
[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 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 2, or (at your option)\r
12Rem any later version.\r
13\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
18\r
19Rem You should have received a copy of the GNU General Public License\r
20Rem along with this program; if not, write to the Free Software Foundation,\r
21Rem Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\r
22\r
23echo Configuring Bison for DJGPP v2.x...\r
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
146echo --srcdir=%XSRC% > arguments\r
147if "%CACHING%" == "enabled" echo --cache-file=%XSRC%/djgpp/config.cache >> arguments\r
148if "%DEPENDENCY_TRACKING%" == "enabled" echo --enable-dependency-tracking >> arguments\r
149if "%DEPENDENCY_TRACKING%" == "disabled" echo --disable-dependency-tracking >> arguments\r
150if "%LIBICONV_PREFIX%" == "enabled" echo --with-libiconv-prefix >> arguments\r
151if "%LIBICONV_PREFIX%" == "disabled" echo --without-libiconv-prefix >> arguments\r
152if "%LIBINTL_PREFIX%" == "enabled" echo --with-libintl-prefix >> arguments\r
153if "%LIBINTL_PREFIX%" == "disabled" echo --without-libintl-prefix >> arguments\r
154if "%HTML%" == "enabled" echo --enable-html >> arguments\r
155if "%HTML%" == "disabled" echo --disable-html >> arguments\r
156if not "%ARGS%" == "" echo %ARGS% >> arguments\r
157set ARGS=\r
158set CACHING=\r
159set DEPENDENCY_TRACKING=\r
160set LIBICONV_PREFIX=\r
161set LIBINTL_PREFIX=\r
162set HTML=\r
163\r
164if "%XSRC%" == "." goto InPlace\r
165\r
166:NotInPlace\r
167redir -e /dev/null update %XSRC%/configure.orig ./configure\r
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
174test -f ./configure.orig\r
175if errorlevel 1 update configure configure.orig\r
176sed -f %XSRC%/djgpp/config.sed configure.orig > configure\r
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
183Rem Make sure crucial file names are not munged by unpacking\r
184test -f %XSRC%/po/Makefile.in.in\r
185if not errorlevel 1 mv -f %XSRC%/po/Makefile.in.in %XSRC%/po/Makefile.in-in\r
186test -f %XSRC%/po/Makefile.in-in\r
187if errorlevel 1 mv -f %XSRC%/po/Makefile.in %XSRC%/po/Makefile.in-in\r
188test -f %XSRC%/po/Makefile.in-in\r
189if errorlevel 1 mv -f %XSRC%/po/Makefile.inin %XSRC%/po/Makefile.in-in\r
190test -f %XSRC%/po/Makefile.in-in\r
191if errorlevel 1 mv -f %XSRC%/po/Makefile.in_in %XSRC%/po/Makefile.in-in\r
192test -f %XSRC%/po/Makefile.in-in\r
193if errorlevel 1 mv -f %XSRC%/po/Makefile_in.in %XSRC%/po/Makefile.in-in\r
194test -f %XSRC%/runtime-po/Makefile.in.in\r
195if not errorlevel 1 mv -f %XSRC%/runtime-po/Makefile.in.in %XSRC%/runtime-po/Makefile.in-in\r
196test -f %XSRC%/runtime-po/Makefile.in-in\r
197if errorlevel 1 mv -f %XSRC%/runtime-po/Makefile.in %XSRC%/runtime-po/Makefile.in-in\r
198test -f %XSRC%/runtime-po/Makefile.in-in\r
199if errorlevel 1 mv -f %XSRC%/runtime-po/Makefile.inin %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_in %XSRC%/runtime-po/Makefile.in-in\r
202test -f %XSRC%/runtime-po/Makefile.in-in\r
203if errorlevel 1 mv -f %XSRC%/runtime-po/Makefile_in.in %XSRC%/runtime-po/Makefile.in-in\r
204test -f %XSRC%/data/c++.m4\r
205if not errorlevel 1 mv -f %XSRC%/data/c++.m4 %XSRC%/data/cxx.m4\r
206test -f %XSRC%/data/cxx.m4\r
207if errorlevel 1 mv -f %XSRC%/data/cpp.m4 %XSRC%/data/cxx.m4\r
208:scan_gram_c_Test\r
209test -f %XSRC%/src/c-scan-gram.c\r
210if not errorlevel 1 goto scan_skel_c_Test\r
211test -f %XSRC%/src/scan-gram-c.c\r
212if not errorlevel 1 mv -f %XSRC%/src/scan-gram-c.c %XSRC%/src/c-scan-gram.c\r
213:scan_skel_c_Test\r
214test -f %XSRC%/src/c-scan-skel.c\r
215if not errorlevel 1 goto FixFiles\r
216test -f %XSRC%/src/scan-skel-c.c\r
217if not errorlevel 1 mv -f %XSRC%/src/scan-skel-c.c %XSRC%/src/c-scan-skel.c\r
218\r
219:FixFiles\r
220Rem Fix data/lalr1.cc and data/location.cc to reflect the renaming of c++.m4\r
221sed "s/c++\.m4/cxx.m4/" %XSRC%/data/lalr1.cc > lalr1.cc\r
222if errorlevel 1 goto lalr1_ccFileError\r
223mv ./lalr1.cc %XSRC%/data/lalr1.cc\r
224sed "s/c++\.m4/cxx.m4/" %XSRC%/data/location.cc > location.cc\r
225if errorlevel 1 goto location.ccFileError\r
226mv ./location.cc %XSRC%/data/location.cc\r
227sed "s/c++\.m4/cxx.m4/" %XSRC%/data/glr.cc > glr.cc\r
228if errorlevel 1 goto glr.ccFileError\r
229mv ./glr.cc %XSRC%/data/glr.cc\r
230\r
231Rem Define DJGPP specific defs in config.hin\r
232echo Editing config.hin...\r
233test -f %XSRC%/config_h.orig\r
234if errorlevel 1 update %XSRC%/config.hin %XSRC%/config_h.orig\r
235sed -f %XSRC%/djgpp/config_h.sed %XSRC%/config_h.orig > config.hin\r
236if errorlevel 1 goto SedError2\r
237mv -f config.hin %XSRC%/config.hin\r
238\r
239\r
240Rem Fixing ilicit testsuite file name.\r
241test -f %XSRC%/tests/c++.at\r
242if not errorlevel 1 mv -f %XSRC%/tests/c++.at %XSRC%/tests/cxx.at\r
243\r
244Rem Fixing ilicit calc++ file names in the calc++ directory.\r
245test -d %XSRC%/examples/calc++\r
246if not errorlevel 1 mv -f %XSRC%/examples/calc++ %XSRC%/examples/calcxx\r
247test -d %XSRC%/examples/calcxx\r
248if errorlevel 1 mv -f %XSRC%/examples/calcpp %XSRC%/examples/calcxx\r
249test -f %XSRC%/examples/calcxx/calc++-scanner.cc\r
250if not errorlevel 1 mv -f %XSRC%/examples/calcxx/calc++-scanner.cc %XSRC%/examples/calcxx/calcxx-scanner.cc\r
251test -f %XSRC%/examples/calcxx/calcxx-scanner.cc\r
252if errorlevel 1 mv -f %XSRC%/examples/calcxx/calcpp-scanner.cc %XSRC%/examples/calcxx/calcxx-scanner.cc\r
253test -f %XSRC%/examples/calcxx/calc++-scanner.ll\r
254if not errorlevel 1 mv -f %XSRC%/examples/calcxx/calc++-scanner.ll %XSRC%/examples/calcxx/calcxx-scanner.ll\r
255test -f %XSRC%/examples/calcxx/calcxx-scanner.ll\r
256if errorlevel 1 mv -f %XSRC%/examples/calcxx/calcpp-scanner.ll %XSRC%/examples/calcxx/calcxx-scanner.ll\r
257test -f %XSRC%/examples/calcxx/calc++-driver.cc\r
258if not errorlevel 1 mv -f %XSRC%/examples/calcxx/calc++-driver.cc %XSRC%/examples/calcxx/calcxx-driver.cc\r
259test -f %XSRC%/examples/calcxx/calcxx-driver.cc\r
260if errorlevel 1 mv -f %XSRC%/examples/calcxx/calcpp-driver.cc %XSRC%/examples/calcxx/calcxx-driver.cc\r
261test -f %XSRC%/examples/calcxx/calc++-driver.hh\r
262if not errorlevel 1 mv -f %XSRC%/examples/calcxx/calc++-driver.hh %XSRC%/examples/calcxx/calcxx-driver.hh\r
263test -f %XSRC%/examples/calcxx/calcxx-driver.hh\r
264if errorlevel 1 mv -f %XSRC%/examples/calcxx/calcpp-driver.hh %XSRC%/examples/calcxx/calcxx-driver.hh\r
265test -f %XSRC%/examples/calcxx/calc++-parser.cc\r
266if not errorlevel 1 mv -f %XSRC%/examples/calcxx/calc++-parser.cc %XSRC%/examples/calcxx/calcxx-parser.cc\r
267test -f %XSRC%/examples/calcxx/calcxx-parser.cc\r
268if errorlevel 1 mv -f %XSRC%/examples/calcxx/calcpp-parser.cc %XSRC%/examples/calcxx/calcxx-parser.cc\r
269test -f %XSRC%/examples/calcxx/calc++-parser.hh\r
270if not errorlevel 1 mv -f %XSRC%/examples/calcxx/calc++-parser.hh %XSRC%/examples/calcxx/calcxx-parser.hh\r
271test -f %XSRC%/examples/calcxx/calcxx-parser.hh\r
272if errorlevel 1 mv -f %XSRC%/examples/calcxx/calcpp-parser.hh %XSRC%/examples/calcxx/calcxx-parser.hh\r
273test -f %XSRC%/examples/calcxx/calc++-parser.stamp\r
274if not errorlevel 1 mv -f %XSRC%/examples/calcxx/calc++-parser.stamp %XSRC%/examples/calcxx/calcxx-parser.stamp\r
275test -f %XSRC%/examples/calcxx/calcxx-parser.stamp\r
276if errorlevel 1 mv -f %XSRC%/examples/calcxx/calcpp-parser.stamp %XSRC%/examples/calcxx/calcxx-parser.stamp\r
277test -f %XSRC%/examples/calcxx/calc++-parser.yy\r
278if not errorlevel 1 mv -f %XSRC%/examples/calcxx/calc++-parser.yy %XSRC%/examples/calcxx/calcxx-parser.yy\r
279test -f %XSRC%/examples/calcxx/calcxx-parser.yy\r
280if errorlevel 1 mv -f %XSRC%/examples/calcxx/calcpp-parser.yy %XSRC%/examples/calcxx/calcxx-parser.yy\r
281test -f %XSRC%/examples/calcxx/calc++.cc\r
282if not errorlevel 1 mv -f %XSRC%/examples/calcxx/calc++.cc %XSRC%/examples/calcxx/calcxx.cc\r
283test -f %XSRC%/examples/calcxx/calcxx.cc\r
284if errorlevel 1 mv -f %XSRC%/examples/calcxx/calcpp.cc %XSRC%/examples/calcxx/calcxx.cc\r
285\r
286Rem Fixing #include lines in calcxx files.\r
287sed "/#[ ]*include/s/++/xx/" %XSRC%/examples/calcxx/calcxx.cc > calcxx.cc\r
288if errorlevel 1 goto calcxxFileError\r
289mv ./calcxx.cc %XSRC%/examples/calcxx/calcxx.cc\r
290sed "/#[ ]*include/s/++/xx/" %XSRC%/examples/calcxx/calcxx-driver.cc > calcxx-driver.cc\r
291if errorlevel 1 goto calcxxFileError\r
292mv ./calcxx-driver.cc %XSRC%/examples/calcxx/calcxx-driver.cc\r
293sed "/#[ ]*include/s/++/xx/" %XSRC%/examples/calcxx/calcxx-driver.hh > calcxx-driver.hh\r
294if errorlevel 1 goto calcxxFileError\r
295mv ./calcxx-driver.hh %XSRC%/examples/calcxx/calcxx-driver.hh\r
296sed "/#[ ]*include/s/++/xx/" %XSRC%/examples/calcxx/calcxx-parser.cc > calcxx-parser.cc\r
297if errorlevel 1 goto calcxxFileError\r
298mv ./calcxx-parser.cc %XSRC%/examples/calcxx/calcxx-parser.cc\r
299sed "/#[ ]*include/s/++/xx/" %XSRC%/examples/calcxx/calcxx-parser.hh > calcxx-parser.hh\r
300if errorlevel 1 goto calcxxFileError\r
301mv ./calcxx-parser.hh %XSRC%/examples/calcxx/calcxx-parser.hh\r
302:sed "/#[ ]*include/s/++/xx/" %XSRC%/examples/calcxx/calcxx-parser.yy > calcxx-parser.yy\r
303:if errorlevel 1 goto calcxxFileError\r
304:mv ./calcxx-parser.yy %XSRC%/examples/calcxx/calcxx-parser.yy\r
305sed "/#[ ]*include/s/++/xx/" %XSRC%/examples/calcxx/calcxx-scanner.cc > calcxx-scanner.cc\r
306if errorlevel 1 goto calcxxFileError\r
307mv ./calcxx-scanner.cc %XSRC%/examples/calcxx/calcxx-scanner.cc\r
308:sed "/#[ ]*include/s/++/xx/" %XSRC%/examples/calcxx/calcxx-scanner.ll > calcxx-scanner.ll\r
309:if errorlevel 1 goto calcxxFileError\r
310:mv ./calcxx-scanner.ll %XSRC%/examples/calcxx/calcxx-scanner.ll\r
311sed "s/calc++/calcxx/" %XSRC%/examples/calcxx/test > test\r
312if errorlevel 1 goto calcxxFileError\r
313mv ./test %XSRC%/examples/calcxx/test\r
314\r
315\r
316Rem Fixing the scanner files to make file names 8.3 valid.\r
317Rem Use only if you want to change the scan-gram.l and scan-skel.l files.\r
318: sed "/outfile=/s/\.yy/yy/" %XSRC%/src/scan-gram.l > scan-gram.l\r
319: if errorlevel 1 goto ScannerFileError\r
320: mv ./scan-gram.l %XSRC%/src/scan-gram.l\r
321: sed "/outfile=/s/\.yy/yy/" %XSRC%/src/scan-skel.l > scan-skel.l\r
322: if errorlevel 1 goto ScannerFileError\r
323: mv ./scan-skel.l %XSRC%/src/scan-skel.l\r
324\r
325\r
326Rem This is required because DOS/Windows are case-insensitive\r
327Rem to file names, and "make install" will do nothing if Make\r
328Rem finds a file called `install'.\r
329if exist INSTALL ren INSTALL INSTALL.txt\r
330\r
331Rem Set SHELL to a sane default or some configure tests stop working\r
332Rem if the package is configured across partitions.\r
333if not "%SHELL%" == "" goto HomeName\r
334set SHELL=/bin/sh\r
335if not "%SHELL%" == "/bin/sh" goto SmallEnv\r
336echo No SHELL found in the environment, using default value\r
337\r
338:HomeName\r
339Rem Set HOME to a sane default so configure stops complaining.\r
340if not "%HOME%" == "" goto HostName\r
341set HOME=%XSRC%/djgpp\r
342if not "%HOME%" == "%XSRC%/djgpp" goto SmallEnv\r
343echo No HOME found in the environment, using default value\r
344\r
345:HostName\r
346Rem Set HOSTNAME so it shows in config.status\r
347if not "%HOSTNAME%" == "" goto hostdone\r
348if "%windir%" == "" goto msdos\r
349set OS=MS-Windows\r
350if not "%OS%" == "MS-Windows" goto SmallEnv\r
351goto haveos\r
352:msdos\r
353set OS=MS-DOS\r
354if not "%OS%" == "MS-DOS" goto SmallEnv\r
355:haveos\r
356if not "%USERNAME%" == "" goto haveuname\r
357if not "%USER%" == "" goto haveuser\r
358echo No USERNAME and no USER found in the environment, using default values\r
359set HOSTNAME=Unknown PC\r
360if not "%HOSTNAME%" == "Unknown PC" goto SmallEnv\r
361goto userdone\r
362:haveuser\r
363set HOSTNAME=%USER%'s PC\r
364if not "%HOSTNAME%" == "%USER%'s PC" goto SmallEnv\r
365goto userdone\r
366:haveuname\r
367set HOSTNAME=%USERNAME%'s PC\r
368if not "%HOSTNAME%" == "%USERNAME%'s PC" goto SmallEnv\r
369:userdone\r
370set _HOSTNAME=%HOSTNAME%, %OS%\r
371if not "%_HOSTNAME%" == "%HOSTNAME%, %OS%" goto SmallEnv\r
372set HOSTNAME=%_HOSTNAME%\r
373:hostdone\r
374set _HOSTNAME=\r
375set OS=\r
376\r
377Rem install-sh is required by the configure script but clashes with the\r
378Rem various Makefile install-foo targets, so we MUST have it before the\r
379Rem script runs and rename it afterwards\r
380test -f %XSRC%/install-sh\r
381if not errorlevel 1 goto NoRen0\r
382test -f %XSRC%/install-sh.sh\r
383if not errorlevel 1 mv -f %XSRC%/install-sh.sh %XSRC%/install-sh\r
384:NoRen0\r
385\r
386if "%NLS%" == "disabled" goto WithoutNLS\r
387\r
388:WithNLS\r
389Rem Check for the needed libraries and binaries.\r
390test -x /dev/env/DJDIR/bin/msgfmt.exe\r
391if errorlevel 1 goto MissingNLSTools\r
392test -x /dev/env/DJDIR/bin/xgettext.exe\r
393if errorlevel 1 goto MissingNLSTools\r
394test -f /dev/env/DJDIR/include/libcharset.h\r
395if errorlevel 1 goto MissingNLSTools\r
396test -f /dev/env/DJDIR/lib/libcharset.a\r
397if errorlevel 1 goto MissingNLSTools\r
398test -f /dev/env/DJDIR/include/iconv.h\r
399if errorlevel 1 goto MissingNLSTools\r
400test -f /dev/env/DJDIR/lib/libiconv.a\r
401if errorlevel 1 goto MissingNLSTools\r
402test -f /dev/env/DJDIR/include/libintl.h\r
403if errorlevel 1 goto MissingNLSTools\r
404test -f /dev/env/DJDIR/lib/libintl.a\r
405if errorlevel 1 goto MissingNLSTools\r
406\r
407Rem Recreate the files in the %XSRC%/po subdir with our ported tools.\r
408redir -e /dev/null rm %XSRC%/po/*.gmo\r
409redir -e /dev/null rm %XSRC%/po/bison.pot\r
410redir -e /dev/null rm %XSRC%/po/cat-id-tbl.c\r
411redir -e /dev/null rm %XSRC%/po/stamp-cat-id\r
412\r
413Rem Update the arguments file for the configure script.\r
414Rem We prefer without-included-gettext because libintl.a from gettext package\r
415Rem is the only one that is garanteed to have been ported to DJGPP.\r
416echo --enable-nls --without-included-gettext >> arguments\r
417goto ConfigurePackage\r
418\r
419:MissingNLSTools\r
420echo Needed libs/tools for NLS not found. Configuring without NLS.\r
421:WithoutNLS\r
422Rem Update the arguments file for the configure script.\r
423echo --disable-nls >> arguments\r
424\r
425:ConfigurePackage\r
426echo Running the ./configure script...\r
427sh ./configure @arguments\r
428if errorlevel 1 goto CfgError\r
429rm arguments\r
430echo Done.\r
431goto End\r
432\r
433:lalr1_ccFileError\r
434echo ./data/lalr1.cc file editing failed!\r
435goto End\r
436\r
437:glr_ccFileError\r
438echo ./data/glr.cc file editing failed!\r
439goto End\r
440\r
441:location_ccFileError\r
442echo ./data/location.cc file editing failed!\r
443goto End\r
444\r
445:calcxxFileError\r
446echo ./examples/calcxx file editing failed!\r
447goto End\r
448\r
449:ScannerFileError\r
450echo ./scanner file editing failed!\r
451goto End\r
452\r
453:SedError\r
454echo ./configure script editing failed!\r
455goto End\r
456\r
457:SedError2\r
458echo ./config.hin editing failed!\r
459goto End\r
460\r
461:CfgError\r
462echo ./configure script exited abnormally!\r
463goto End\r
464\r
465:SmallEnv\r
466echo Your environment size is too small. Enlarge it and run me again.\r
467echo Configuration NOT done!\r
468\r
469:End\r
470test -f %XSRC%/install-sh.sh\r
471if not errorlevel 1 goto NoRen1\r
472test -f %XSRC%/install-sh\r
473if not errorlevel 1 mv -f %XSRC%/install-sh %XSRC%/install-sh.sh\r
474:NoRen1\r
475if "%SHELL%" == "/bin/sh" set SHELL=\r
476if "%HOME%" == "%XSRC%/djgpp" set HOME=\r
477set CONFIG_SITE=\r
478set HOSTNAME=\r
479set NLS=\r
480set XSRC=\r