]> git.saurik.com Git - bison.git/blobdiff - djgpp/config.bat
POSIX: complain if %prec's token was not defined.
[bison.git] / djgpp / config.bat
index caea6b8a013488ae0a028c50c058caafcfb41c5b..b3d75d8ef37c76b4ac16fda19b73f0cb5258e53b 100644 (file)
@@ -1,5 +1,26 @@
 @echo off\r
-echo Configuring GNU Bison for DJGPP v2.x...\r
+Rem Configure Bison for DJGPP.\r
+\r
+Rem WARNING WARNING WARNING: This file needs to have DOS CRLF end-of-line\r
+Rem format, or else stock DOS/Windows shells will refuse to run it.\r
+\r
+Rem Copyright (C) 2005, 2006, 2007, 2008-2009 Free Software Foundation,\r
+Rem Inc.\r
+\r
+Rem This program is free software: you can redistribute it and/or modify\r
+Rem it under the terms of the GNU General Public License as published by\r
+Rem the Free Software Foundation, either version 3 of the License, or\r
+Rem (at your option) any later version.\r
+Rem\r
+Rem This program is distributed in the hope that it will be useful,\r
+Rem but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+Rem MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
+Rem GNU General Public License for more details.\r
+Rem\r
+Rem You should have received a copy of the GNU General Public License\r
+Rem along with this program.  If not, see <http://www.gnu.org/licenses/>.\r
+\r
+echo Configuring Bison for DJGPP v2.x...\r
 \r
 Rem The SmallEnv tests protect against fixed and too small size\r
 Rem of the environment in stock DOS shell.\r
@@ -122,72 +143,164 @@ shift
 if not "%1" == "" goto ArgLoop\r
 \r
 Rem Create an arguments file for the configure script.\r
-echo --srcdir=%XSRC% > arguments\r
-if "%CACHING%" == "enabled"              echo --cache-file=%XSRC%/djgpp/config.cache >> arguments\r
-if "%DEPENDENCY_TRACKING%" == "enabled"  echo --enable-dependency-tracking >> arguments\r
-if "%DEPENDENCY_TRACKING%" == "disabled" echo --disable-dependency-tracking >> arguments\r
-if "%LIBICONV_PREFIX%" == "enabled"      echo --with-libiconv-prefix >> arguments\r
-if "%LIBICONV_PREFIX%" == "disabled"     echo --without-libiconv-prefix >> arguments\r
-if "%LIBINTL_PREFIX%" == "enabled"       echo --with-libintl-prefix >> arguments\r
-if "%LIBINTL_PREFIX%" == "disabled"      echo --without-libintl-prefix >> arguments\r
-if "%HTML%" == "enabled"                 echo --enable-html >> arguments\r
-if "%HTML%" == "disabled"                echo --disable-html >> arguments\r
-if not "%ARGS%" == ""                    echo %ARGS% >> arguments\r
+echo --srcdir=%XSRC% > args\r
+if "%CACHING%" == "enabled"              echo --cache-file=%XSRC%/djgpp/config.cache >> args\r
+if "%DEPENDENCY_TRACKING%" == "enabled"  echo --enable-dependency-tracking >> args\r
+if "%DEPENDENCY_TRACKING%" == "disabled" echo --disable-dependency-tracking >> args\r
+if "%LIBICONV_PREFIX%" == "enabled"      echo --with-libiconv-prefix >> args\r
+if "%LIBICONV_PREFIX%" == "disabled"     echo --without-libiconv-prefix >> args\r
+if "%LIBINTL_PREFIX%" == "enabled"       echo --with-libintl-prefix >> args\r
+if "%LIBINTL_PREFIX%" == "disabled"      echo --without-libintl-prefix >> args\r
+if "%HTML%" == "enabled"                 echo --enable-html >> args\r
+if "%HTML%" == "disabled"                echo --disable-html >> args\r
+if not "%ARGS%" == ""                    echo %ARGS% >> args\r
 set ARGS=\r
 set CACHING=\r
 set DEPENDENCY_TRACKING=\r
+set LIBICONV_PREFIX=\r
+set LIBINTL_PREFIX=\r
+set HTML=\r
 \r
 if "%XSRC%" == "." goto InPlace\r
 \r
 :NotInPlace\r
-redir -e /dev/null update %XSRC%/configure.orig ./configure\r
+redir -e /dev/null update %XSRC%/configure.org ./configure\r
 test -f ./configure\r
 if errorlevel 1 update %XSRC%/configure ./configure\r
 \r
 :InPlace\r
 Rem Update configuration files\r
 echo Updating configuration scripts...\r
-test -f ./configure.orig\r
-if errorlevel 1 update configure configure.orig\r
-sed -f %XSRC%/djgpp/config.sed configure.orig > configure\r
+test -f ./configure.org\r
+if errorlevel 1 update configure configure.org\r
+sed -f %XSRC%/djgpp/config.sed configure.org > configure\r
 if errorlevel 1 goto SedError\r
 \r
 Rem Make sure they have a config.site file\r
 set CONFIG_SITE=%XSRC%/djgpp/config.site\r
 if not "%CONFIG_SITE%" == "%XSRC%/djgpp/config.site" goto SmallEnv\r
 \r
+Rem inttypes_.h and inttypes.h map to the same 8.3 alias.\r
+test -f %XSRC%/lib/inttypes_.h\r
+if not errorlevel 1 mv -f %XSRC%/lib/inttypes_.h %XSRC%/lib/_inttypes.h\r
+\r
 Rem Make sure crucial file names are not munged by unpacking\r
 test -f %XSRC%/po/Makefile.in.in\r
 if not errorlevel 1 mv -f %XSRC%/po/Makefile.in.in %XSRC%/po/Makefile.in-in\r
 test -f %XSRC%/po/Makefile.in-in\r
 if errorlevel 1 mv -f %XSRC%/po/Makefile.in %XSRC%/po/Makefile.in-in\r
+test -f %XSRC%/po/Makefile.in-in\r
+if errorlevel 1 mv -f %XSRC%/po/Makefile.inin %XSRC%/po/Makefile.in-in\r
+test -f %XSRC%/po/Makefile.in-in\r
+if errorlevel 1 mv -f %XSRC%/po/Makefile.in_in %XSRC%/po/Makefile.in-in\r
+test -f %XSRC%/po/Makefile.in-in\r
+if errorlevel 1 mv -f %XSRC%/po/Makefile_in.in %XSRC%/po/Makefile.in-in\r
 test -f %XSRC%/runtime-po/Makefile.in.in\r
 if not errorlevel 1 mv -f %XSRC%/runtime-po/Makefile.in.in %XSRC%/runtime-po/Makefile.in-in\r
 test -f %XSRC%/runtime-po/Makefile.in-in\r
 if errorlevel 1 mv -f %XSRC%/runtime-po/Makefile.in %XSRC%/runtime-po/Makefile.in-in\r
+test -f %XSRC%/runtime-po/Makefile.in-in\r
+if errorlevel 1 mv -f %XSRC%/runtime-po/Makefile.inin %XSRC%/runtime-po/Makefile.in-in\r
+test -f %XSRC%/runtime-po/Makefile.in-in\r
+if errorlevel 1 mv -f %XSRC%/runtime-po/Makefile.in_in %XSRC%/runtime-po/Makefile.in-in\r
+test -f %XSRC%/runtime-po/Makefile.in-in\r
+if errorlevel 1 mv -f %XSRC%/runtime-po/Makefile_in.in %XSRC%/runtime-po/Makefile.in-in\r
 test -f %XSRC%/data/c++.m4\r
 if not errorlevel 1 mv -f %XSRC%/data/c++.m4 %XSRC%/data/cxx.m4\r
 test -f %XSRC%/data/cxx.m4\r
 if errorlevel 1 mv -f %XSRC%/data/cpp.m4 %XSRC%/data/cxx.m4\r
-\r
-Rem Fix data/lalr1.cc to reflect the renaming of c++.m4\r
+test -f %XSRC%/data/c++-skel.m4\r
+if not errorlevel 1 mv -f %XSRC%/data/c++-skel.m4 %XSRC%/data/cxx-skel.m4\r
+test -f %XSRC%/data/cxx-skel.m4\r
+if errorlevel 1 mv -f %XSRC%/data/cpp-skel.m4 %XSRC%/data/cxx-skel.m4\r
+test -f %XSRC%/build-aux/javacomp.sh.in\r
+if not errorlevel 1 mv -f %XSRC%/build-aux/javacomp.sh.in %XSRC%/build-aux/javacomp.sh-in\r
+test -f %XSRC%/build-aux/javacomp.sh-in\r
+if errorlevel 1 mv -f %XSRC%/build-aux/javacomp.sh %XSRC%/build-aux/javacomp.sh-in\r
+test -f %XSRC%/build-aux/javacomp.sh-in\r
+if errorlevel 1 mv -f %XSRC%/build-aux/javacomp.shin %XSRC%/build-aux/javacomp.sh-in\r
+test -f %XSRC%/build-aux/javacomp.sh-in\r
+if errorlevel 1 mv -f %XSRC%/build-aux/javacomp.sh_in %XSRC%/build-aux/javacomp.sh-in\r
+test -f %XSRC%/build-aux/javacomp.sh-in\r
+if errorlevel 1 mv -f %XSRC%/build-aux/javacomp.sh.in %XSRC%/build-aux/javacomp.sh-in\r
+test -f %XSRC%/build-aux/javaexec.sh.in\r
+if not errorlevel 1 mv -f %XSRC%/build-aux/javaexec.sh.in %XSRC%/build-aux/javaexec.sh-in\r
+test -f %XSRC%/build-aux/javaexec.sh-in\r
+if errorlevel 1 mv -f %XSRC%/build-aux/javaexec.sh %XSRC%/build-aux/javaexec.sh-in\r
+test -f %XSRC%/build-aux/javaexec.sh-in\r
+if errorlevel 1 mv -f %XSRC%/build-aux/javaexec.shin %XSRC%/build-aux/javaexec.sh-in\r
+test -f %XSRC%/build-aux/javaexec.sh-in\r
+if errorlevel 1 mv -f %XSRC%/build-aux/javaexec.sh_in %XSRC%/build-aux/javaexec.sh-in\r
+test -f %XSRC%/build-aux/javaexec.sh-in\r
+if errorlevel 1 mv -f %XSRC%/build-aux/javaexec_sh.in %XSRC%/build-aux/javaexec.sh-in\r
+test -f %XSRC%/doc/yacc.1.in\r
+if not errorlevel 1 mv -f %XSRC%/doc/yacc.1.in %XSRC%/doc/yacc.1-in\r
+test -f %XSRC%/doc/yacc.1-in\r
+if errorlevel 1 mv -f %XSRC%/doc/yacc.1 %XSRC%/doc/yacc.1-in\r
+test -f %XSRC%/doc/yacc.1-in\r
+if errorlevel 1 mv -f %XSRC%/doc/yacc.1in %XSRC%/doc/yacc.1-in\r
+test -f %XSRC%/doc/yacc.1-in\r
+if errorlevel 1 mv -f %XSRC%/doc/yacc.1_in %XSRC%/doc/yacc.1-in\r
+test -f %XSRC%/doc/yacc.1-in\r
+if errorlevel 1 mv -f %XSRC%/doc/yacc_1.in %XSRC%/doc/yacc.1-in\r
+test -f %XSRC%/etc/bench.pl.in\r
+if not errorlevel 1 mv -f %XSRC%/etc/bench.pl.in %XSRC%/etc/bench.pl-in\r
+test -f %XSRC%/etc/bench.pl-in\r
+if errorlevel 1 mv -f %XSRC%/etc/bench.pl %XSRC%/etc/bench.pl-in\r
+test -f %XSRC%/etc/bench.pl-in\r
+if errorlevel 1 mv -f %XSRC%/etc/bench.plin %XSRC%/etc/bench.pl-in\r
+test -f %XSRC%/etc/bench.pl-in\r
+if errorlevel 1 mv -f %XSRC%/etc/bench.pl_in %XSRC%/etc/bench.pl-in\r
+test -f %XSRC%/etc/bench.pl-in\r
+if errorlevel 1 mv -f %XSRC%/etc/bench_pl.in %XSRC%/etc/bench.pl-in\r
+\r
+:scan_gram_c_Test\r
+test -f %XSRC%/src/c-scan-gram.c\r
+if not errorlevel 1 goto scan_skel_c_Test\r
+test -f %XSRC%/src/scan-gram-c.c\r
+if not errorlevel 1 mv -f %XSRC%/src/scan-gram-c.c %XSRC%/src/c-scan-gram.c\r
+:scan_skel_c_Test\r
+test -f %XSRC%/src/c-scan-skel.c\r
+if not errorlevel 1 goto FixFiles\r
+test -f %XSRC%/src/scan-skel-c.c\r
+if not errorlevel 1 mv -f %XSRC%/src/scan-skel-c.c %XSRC%/src/c-scan-skel.c\r
+\r
+:FixFiles\r
+Rem Fix data/lalr1.cc and data/location.cc to reflect the renaming of c++.m4\r
 sed "s/c++\.m4/cxx.m4/" %XSRC%/data/lalr1.cc > lalr1.cc\r
 if errorlevel 1 goto lalr1_ccFileError\r
 mv ./lalr1.cc %XSRC%/data/lalr1.cc\r
+sed "s/c++\.m4/cxx.m4/" %XSRC%/data/location.cc > location.cc\r
+if errorlevel 1 goto location_ccFileError\r
+mv ./location.cc %XSRC%/data/location.cc\r
+sed "s/c++\.m4/cxx.m4/" %XSRC%/data/glr.cc > glr.cc\r
+if errorlevel 1 goto glr_ccFileError\r
+mv ./glr.cc %XSRC%/data/glr.cc\r
+\r
+Rem Fix src/getargs.c to reflect the renaming of c++-skel.m4\r
+sed "s/c++-skel\.m4/cxx-skel.m4/" %XSRC%/src/getargs.c > getargs.c\r
+if errorlevel 1 goto getargs_cFileError\r
+mv ./getargs.c %XSRC%/src/getargs.c\r
 \r
 Rem Define DJGPP specific defs in config.hin\r
 echo Editing config.hin...\r
-test -f %XSRC%/config_h.orig\r
-if errorlevel 1 update %XSRC%/config.hin %XSRC%/config_h.orig\r
-sed -f %XSRC%/djgpp/config_h.sed %XSRC%/config_h.orig > config.hin\r
+test -f %XSRC%/lib/config_h.org\r
+if errorlevel 1 update %XSRC%/lib/config.hin %XSRC%/lib/config_h.org\r
+sed -f %XSRC%/djgpp/config_h.sed %XSRC%/lib/config_h.org > config.hin\r
 if errorlevel 1 goto SedError2\r
-mv -f config.hin %XSRC%/config.hin\r
+mv -f config.hin %XSRC%/lib/config.hin\r
 \r
 \r
 Rem Fixing ilicit testsuite file name.\r
 test -f %XSRC%/tests/c++.at\r
 if not errorlevel 1 mv -f %XSRC%/tests/c++.at %XSRC%/tests/cxx.at\r
 \r
+test -f %XSRC%/tests/testsuite.org\r
+if errorlevel 1 update %XSRC%/tests/testsuite %XSRC%/tests/testsuite.org\r
+sed -f %XSRC%/djgpp/testsuite.sed %XSRC%/tests/testsuite.org > testsuite.tmp\r
+if errorlevel 1 goto SedError3\r
+mv -f ./testsuite.tmp %XSRC%/tests/testsuite\r
+\r
 Rem Fixing ilicit calc++ file names in the calc++ directory.\r
 test -d %XSRC%/examples/calc++\r
 if not errorlevel 1 mv -f %XSRC%/examples/calc++ %XSRC%/examples/calcxx\r
@@ -231,28 +344,28 @@ test -f %XSRC%/examples/calcxx/calcxx.cc
 if errorlevel 1 mv -f %XSRC%/examples/calcxx/calcpp.cc %XSRC%/examples/calcxx/calcxx.cc\r
 \r
 Rem Fixing #include lines in calcxx files.\r
-sed "/#[       ]*include/s/++/xx/" %XSRC%/examples/calcxx/calcxx.cc > calcxx.cc\r
+sed "/#[        ]*include/s/++/xx/" %XSRC%/examples/calcxx/calcxx.cc > calcxx.cc\r
 if errorlevel 1 goto calcxxFileError\r
 mv ./calcxx.cc %XSRC%/examples/calcxx/calcxx.cc\r
-sed "/#[       ]*include/s/++/xx/" %XSRC%/examples/calcxx/calcxx-driver.cc > calcxx-driver.cc\r
+sed "/#[        ]*include/s/++/xx/" %XSRC%/examples/calcxx/calcxx-driver.cc > calcxx-driver.cc\r
 if errorlevel 1 goto calcxxFileError\r
 mv ./calcxx-driver.cc %XSRC%/examples/calcxx/calcxx-driver.cc\r
-sed "/#[       ]*include/s/++/xx/" %XSRC%/examples/calcxx/calcxx-driver.hh > calcxx-driver.hh\r
+sed "/#[        ]*include/s/++/xx/" %XSRC%/examples/calcxx/calcxx-driver.hh > calcxx-driver.hh\r
 if errorlevel 1 goto calcxxFileError\r
 mv ./calcxx-driver.hh %XSRC%/examples/calcxx/calcxx-driver.hh\r
-sed "/#[       ]*include/s/++/xx/" %XSRC%/examples/calcxx/calcxx-parser.cc > calcxx-parser.cc\r
+sed "/#[        ]*include/s/++/xx/" %XSRC%/examples/calcxx/calcxx-parser.cc > calcxx-parser.cc\r
 if errorlevel 1 goto calcxxFileError\r
 mv ./calcxx-parser.cc %XSRC%/examples/calcxx/calcxx-parser.cc\r
-sed "/#[       ]*include/s/++/xx/" %XSRC%/examples/calcxx/calcxx-parser.hh > calcxx-parser.hh\r
+sed "/#[        ]*include/s/++/xx/" %XSRC%/examples/calcxx/calcxx-parser.hh > calcxx-parser.hh\r
 if errorlevel 1 goto calcxxFileError\r
 mv ./calcxx-parser.hh %XSRC%/examples/calcxx/calcxx-parser.hh\r
-:sed "/#[      ]*include/s/++/xx/" %XSRC%/examples/calcxx/calcxx-parser.yy > calcxx-parser.yy\r
+:sed "/#[       ]*include/s/++/xx/" %XSRC%/examples/calcxx/calcxx-parser.yy > calcxx-parser.yy\r
 :if errorlevel 1 goto calcxxFileError\r
 :mv ./calcxx-parser.yy %XSRC%/examples/calcxx/calcxx-parser.yy\r
-sed "/#[       ]*include/s/++/xx/" %XSRC%/examples/calcxx/calcxx-scanner.cc > calcxx-scanner.cc\r
+sed "/#[        ]*include/s/++/xx/" %XSRC%/examples/calcxx/calcxx-scanner.cc > calcxx-scanner.cc\r
 if errorlevel 1 goto calcxxFileError\r
 mv ./calcxx-scanner.cc %XSRC%/examples/calcxx/calcxx-scanner.cc\r
-:sed "/#[      ]*include/s/++/xx/" %XSRC%/examples/calcxx/calcxx-scanner.ll > calcxx-scanner.ll\r
+:sed "/#[       ]*include/s/++/xx/" %XSRC%/examples/calcxx/calcxx-scanner.ll > calcxx-scanner.ll\r
 :if errorlevel 1 goto calcxxFileError\r
 :mv ./calcxx-scanner.ll %XSRC%/examples/calcxx/calcxx-scanner.ll\r
 sed "s/calc++/calcxx/" %XSRC%/examples/calcxx/test > test\r
@@ -360,20 +473,20 @@ redir -e /dev/null rm %XSRC%/po/stamp-cat-id
 Rem Update the arguments file for the configure script.\r
 Rem We prefer without-included-gettext because libintl.a from gettext package\r
 Rem is the only one that is garanteed to have been ported to DJGPP.\r
-echo --enable-nls --without-included-gettext >> arguments\r
+echo --enable-nls --without-included-gettext >> args\r
 goto ConfigurePackage\r
 \r
 :MissingNLSTools\r
 echo Needed libs/tools for NLS not found. Configuring without NLS.\r
 :WithoutNLS\r
 Rem Update the arguments file for the configure script.\r
-echo --disable-nls >> arguments\r
+echo --disable-nls >> args\r
 \r
 :ConfigurePackage\r
 echo Running the ./configure script...\r
-sh ./configure @arguments\r
+sh ./configure @args\r
 if errorlevel 1 goto CfgError\r
-rm arguments\r
+rm args\r
 echo Done.\r
 goto End\r
 \r
@@ -381,6 +494,18 @@ goto End
 echo ./data/lalr1.cc file editing failed!\r
 goto End\r
 \r
+:glr_ccFileError\r
+echo ./data/glr.cc file editing failed!\r
+goto End\r
+\r
+:getargs_cFileError\r
+echo ./src/getargs.c file editing failed!\r
+goto End\r
+\r
+:location_ccFileError\r
+echo ./data/location.cc file editing failed!\r
+goto End\r
+\r
 :calcxxFileError\r
 echo ./examples/calcxx file editing failed!\r
 goto End\r
@@ -394,7 +519,11 @@ echo ./configure script editing failed!
 goto End\r
 \r
 :SedError2\r
-echo ./config.hin editing failed!\r
+echo ./lib/config.hin editing failed!\r
+goto End\r
+\r
+:SedError3\r
+echo ./tests/testsuite editing failed!\r
 goto End\r
 \r
 :CfgError\r
@@ -413,10 +542,7 @@ if not errorlevel 1 mv -f %XSRC%/install-sh %XSRC%/install-sh.sh
 :NoRen1\r
 if "%SHELL%" == "/bin/sh" set SHELL=\r
 if "%HOME%" == "%XSRC%/djgpp" set HOME=\r
-set ARGS=\r
 set CONFIG_SITE=\r
 set HOSTNAME=\r
 set NLS=\r
-set CACHING=\r
-set DEPENDENCY_TRACKING=\r
 set XSRC=\r