mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-09 04:13:03 +00:00
See http://www.gnu.org/prep/maintain/maintain.html#Copyright-Notices * HACKING, Makefile.am, NEWS, PACKAGING, README, README-alpha: * TODO, bootstrap, bootstrap.conf: * build-aux/update-b4-copyright, cfg.mk, configure.ac: * data/README, data/bison.m4, data/c++-skel.m4, data/c++.m4: * data/c-skel.m4, data/c.m4, data/glr.c, data/glr.cc: * data/java-skel.m4, data/java.m4, data/lalr1.cc: * data/lalr1.java, data/location.cc: * data/xslt/bison.xsl: * data/xslt/xml2dot.xsl, data/xslt/xml2text.xsl: * data/xslt/xml2xhtml.xsl, data/yacc.c, djgpp/Makefile.maint: * djgpp/README.in, djgpp/config.bat, djgpp/config.sed: * djgpp/config.site, djgpp/config_h.sed, djgpp/djunpack.bat: * djgpp/subpipe.c, djgpp/subpipe.h: * djgpp/testsuite.sed, doc/bison.texinfo: * doc/refcard.tex, etc/README, etc/bench.pl.in: * examples/calc++/Makefile.am, examples/extexi: * lib/abitset.c, lib/abitset.h: * lib/bbitset.h, lib/bitset.c, lib/bitset.h: * lib/bitset_stats.c, lib/bitset_stats.h, lib/bitsetv-print.c: * lib/bitsetv-print.h, lib/bitsetv.c, lib/bitsetv.h: * lib/ebitset.c, lib/ebitset.h, lib/get-errno.c: * lib/get-errno.h, lib/lbitset.c, lib/lbitset.h: * lib/libiberty.h, lib/main.c, lib/timevar.c: * lib/timevar.def, lib/timevar.h, lib/vbitset.c: * lib/vbitset.h, lib/yyerror.c, m4/bison-i18n.m4: * m4/c-working.m4, m4/cxx.m4, m4/subpipe.m4, m4/timevar.m4: * src/AnnotationList.c, src/AnnotationList.h: * src/InadequacyList.c, src/InadequacyList.h, src/LR0.c: * src/LR0.h, src/Sbitset.c, src/Sbitset.h, src/assoc.c: * src/assoc.h, src/closure.c, src/closure.h, src/complain.c: * src/complain.h, src/conflicts.c, src/conflicts.h: * src/derives.c, src/derives.h, src/files.c, src/files.h: * src/flex-scanner.h, src/getargs.c, src/getargs.h: * src/gram.c, src/gram.h, src/graphviz.c, src/ielr.c: * src/ielr.h, src/lalr.c, src/lalr.h: * src/location.c, src/location.h, src/main.c: * src/muscle-tab.c, src/muscle-tab.h, src/named-ref.c: * src/named-ref.h, src/nullable.c, src/nullable.h: * src/output.c, src/output.h, src/parse-gram.y: * src/print-xml.c, src/print-xml.h, src/print.c, src/print.h: * src/print_graph.c, src/print_graph.h, src/reader.c: * src/reader.h, src/reduce.c, src/reduce.h, src/relation.c: * src/relation.h, src/scan-code.h, src/scan-code.l: * src/scan-gram.h, src/scan-gram.l, src/scan-skel.h: * src/scan-skel.l, src/state.c, src/state.h, src/symlist.c: * src/symlist.h, src/symtab.c, src/symtab.h, src/system.h: * src/tables.c, src/tables.h, src/uniqstr.c, src/uniqstr.h: * tests/actions.at, tests/atlocal.in, tests/c++.at: * tests/calc.at, tests/conflicts.at, tests/cxx-type.at: * tests/existing.at, tests/glr-regression.at: * tests/headers.at, tests/input.at, tests/java.at: * tests/local.at, tests/named-refs.at: * tests/output.at, tests/push.at, tests/reduce.at: * tests/regression.at, tests/sets.at, tests/skeletons.at: * tests/synclines.at, tests/testsuite.at, tests/torture.at: * data/Makefile.am, data/location.cc, doc/Makefile.am, src/Makefile.am: * tests/Makefile.am, lib/Makefile.am, examples/Makefile.am: * etc/Makefile.am: Don't use date ranges in copyright notices. Copyright (C) 1987, 1988, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
549 lines
22 KiB
Batchfile
549 lines
22 KiB
Batchfile
@echo off
|
|
Rem Configure Bison for DJGPP.
|
|
|
|
Rem WARNING WARNING WARNING: This file needs to have DOS CRLF end-of-line
|
|
Rem format, or else stock DOS/Windows shells will refuse to run it.
|
|
|
|
Rem Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010 Free Software
|
|
Rem Foundation, Inc.
|
|
|
|
Rem This program is free software: you can redistribute it and/or modify
|
|
Rem it under the terms of the GNU General Public License as published by
|
|
Rem the Free Software Foundation, either version 3 of the License, or
|
|
Rem (at your option) any later version.
|
|
Rem
|
|
Rem This program is distributed in the hope that it will be useful,
|
|
Rem but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
Rem MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
Rem GNU General Public License for more details.
|
|
Rem
|
|
Rem You should have received a copy of the GNU General Public License
|
|
Rem along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
echo Configuring Bison for DJGPP v2.x...
|
|
|
|
Rem The SmallEnv tests protect against fixed and too small size
|
|
Rem of the environment in stock DOS shell.
|
|
|
|
Rem Find out if NLS is wanted or not,
|
|
Rem if dependency-tracking is wanted or not,
|
|
Rem if caching is wanted or not
|
|
Rem and where the sources are.
|
|
Rem We always default to NLS support,
|
|
Rem no dependency tracking
|
|
Rem and to in place configuration.
|
|
set ARGS=
|
|
set NLS=enabled
|
|
if not "%NLS%" == "enabled" goto SmallEnv
|
|
set CACHING=enabled
|
|
if not "%CACHING%" == "enabled" goto SmallEnv
|
|
set DEPENDENCY_TRACKING=disabled
|
|
if not "%DEPENDENCY_TRACKING%" == "disabled" goto SmallEnv
|
|
set LIBICONV_PREFIX=disabled
|
|
if not "%LIBICONV_PREFIX%" == "disabled" goto SmallEnv
|
|
set LIBINTL_PREFIX=disabled
|
|
if not "%LIBINTL_PREFIX%" == "disabled" goto SmallEnv
|
|
set HTML=enabled
|
|
if not "%HTML%" == "enabled" goto SmallEnv
|
|
set XSRC=.
|
|
if not "%XSRC%" == "." goto SmallEnv
|
|
|
|
Rem Loop over all arguments.
|
|
Rem Special arguments are: NLS, XSRC, CACHE, STATIC_LIBS, LIBICONV_PREFIX, LIBINTL_PREFIX and DEPS.
|
|
Rem All other arguments are stored into ARGS.
|
|
:ArgLoop
|
|
if "%1" == "nls" goto NextArgument
|
|
if "%1" == "NLS" goto NextArgument
|
|
if "%1" == "no-nls" goto NoNLS
|
|
if "%1" == "no-NLS" goto NoNLS
|
|
if "%1" == "NO-NLS" goto NoNLS
|
|
goto CachingOption
|
|
:NoNLS
|
|
if "%1" == "no-nls" set NLS=disabled
|
|
if "%1" == "no-NLS" set NLS=disabled
|
|
if "%1" == "NO-NLS" set NLS=disabled
|
|
if not "%NLS%" == "disabled" goto SmallEnv
|
|
goto NextArgument
|
|
:CachingOption
|
|
if "%1" == "cache" goto NextArgument
|
|
if "%1" == "CACHE" goto NextArgument
|
|
if "%1" == "no-cache" goto NoCaching
|
|
if "%1" == "no-CACHE" goto NoCaching
|
|
if "%1" == "NO-CACHE" goto NoCaching
|
|
goto DependencyOption
|
|
:NoCaching
|
|
if "%1" == "no-cache" set CACHING=disabled
|
|
if "%1" == "no-CACHE" set CACHING=disabled
|
|
if "%1" == "NO-CACHE" set CACHING=disabled
|
|
if not "%CACHING%" == "disabled" goto SmallEnv
|
|
goto NextArgument
|
|
:DependencyOption
|
|
if "%1" == "no-dep" goto NextArgument
|
|
if "%1" == "no-DEP" goto NextArgument
|
|
if "%1" == "NO-DEP" goto NextArgument
|
|
if "%1" == "dep" goto DependecyTraking
|
|
if "%1" == "DEP" goto DependecyTraking
|
|
goto LibiconvPrefixOption
|
|
:DependecyTraking
|
|
if "%1" == "dep" set DEPENDENCY_TRACKING=enabled
|
|
if "%1" == "DEP" set DEPENDENCY_TRACKING=enabled
|
|
if not "%DEPENDENCY_TRACKING%" == "enabled" goto SmallEnv
|
|
goto NextArgument
|
|
:LibiconvPrefixOption
|
|
if "%1" == "no-libiconvprefix" goto NextArgument
|
|
if "%1" == "no-LIBICONVPREFIX" goto NextArgument
|
|
if "%1" == "NO-LIBICONVPREFIX" goto NextArgument
|
|
if "%1" == "libiconvprefix" goto WithLibiconvPrefix
|
|
if "%1" == "LIBICONVPREFIX" goto WithLibiconvPrefix
|
|
goto LibintlPrefixOption
|
|
:WithLibiconvPrefix
|
|
if "%1" == "libiconvprefix" set LIBICONV_PREFIX=enabled
|
|
if "%1" == "LIBICONVPREFIX" set LIBICONV_PREFIX=enabled
|
|
if not "%LIBICONV_PREFIX%" == "enabled" goto SmallEnv
|
|
goto NextArgument
|
|
:LibintlPrefixOption
|
|
if "%1" == "no-libiconvprefix" goto NextArgument
|
|
if "%1" == "no-LIBICONVPREFIX" goto NextArgument
|
|
if "%1" == "NO-LIBICONVPREFIX" goto NextArgument
|
|
if "%1" == "libintlprefix" goto _WithLibintlPrefix
|
|
if "%1" == "LIBINTLPREFIX" goto _WithLibintlPrefix
|
|
goto HTMLOption
|
|
:_WithLibintlPrefix
|
|
if "%1" == "libintlprefix" set LIBINTL_PREFIX=enabled
|
|
if "%1" == "LIBINTLPREFIX" set LIBINTL_PREFIX=enabled
|
|
if not "%LIBINTL_PREFIX%" == "enabled" goto SmallEnv
|
|
:HTMLOption
|
|
if "%1" == "withhtml" goto NextArgument
|
|
if "%1" == "withHTML" goto NextArgument
|
|
if "%1" == "WITHHTML" goto NextArgument
|
|
if "%1" == "withouthtml" goto _WithoutHTML
|
|
if "%1" == "withoutHTML" goto _WithoutHTML
|
|
if "%1" == "WITHOUTHTML" goto _WithoutHTML
|
|
goto SrcDirOption
|
|
:_WithoutHTML
|
|
if "%1" == "withouthtml" set HTML=disabled
|
|
if "%1" == "withoutHTML" set HTML=disabled
|
|
if "%1" == "WITHOUTHTML" set HTML=disabled
|
|
if not "%HTML%" == "disabled" goto SmallEnv
|
|
goto NextArgument
|
|
:SrcDirOption
|
|
echo %1 | grep -q "/"
|
|
if errorlevel 1 goto CollectArgument
|
|
set XSRC=%1
|
|
if not "%XSRC%" == "%1" goto SmallEnv
|
|
goto NextArgument
|
|
:CollectArgument
|
|
set _ARGS=%ARGS% %1
|
|
if not "%_ARGS%" == "%ARGS% %1" if not "%_ARGS%" == "%ARGS%%1" goto SmallEnv
|
|
echo %_ARGS% | grep -q "[^ ]"
|
|
if not errorlevel 0 set ARGS=%_ARGS%
|
|
set _ARGS=
|
|
:NextArgument
|
|
shift
|
|
if not "%1" == "" goto ArgLoop
|
|
|
|
Rem Create an arguments file for the configure script.
|
|
echo --srcdir=%XSRC% > args
|
|
if "%CACHING%" == "enabled" echo --cache-file=%XSRC%/djgpp/config.cache >> args
|
|
if "%DEPENDENCY_TRACKING%" == "enabled" echo --enable-dependency-tracking >> args
|
|
if "%DEPENDENCY_TRACKING%" == "disabled" echo --disable-dependency-tracking >> args
|
|
if "%LIBICONV_PREFIX%" == "enabled" echo --with-libiconv-prefix >> args
|
|
if "%LIBICONV_PREFIX%" == "disabled" echo --without-libiconv-prefix >> args
|
|
if "%LIBINTL_PREFIX%" == "enabled" echo --with-libintl-prefix >> args
|
|
if "%LIBINTL_PREFIX%" == "disabled" echo --without-libintl-prefix >> args
|
|
if "%HTML%" == "enabled" echo --enable-html >> args
|
|
if "%HTML%" == "disabled" echo --disable-html >> args
|
|
if not "%ARGS%" == "" echo %ARGS% >> args
|
|
set ARGS=
|
|
set CACHING=
|
|
set DEPENDENCY_TRACKING=
|
|
set LIBICONV_PREFIX=
|
|
set LIBINTL_PREFIX=
|
|
set HTML=
|
|
|
|
if "%XSRC%" == "." goto InPlace
|
|
|
|
:NotInPlace
|
|
redir -e /dev/null update %XSRC%/configure.org ./configure
|
|
test -f ./configure
|
|
if errorlevel 1 update %XSRC%/configure ./configure
|
|
|
|
:InPlace
|
|
Rem Update configuration files
|
|
echo Updating configuration scripts...
|
|
test -f ./configure.org
|
|
if errorlevel 1 update configure configure.org
|
|
sed -f %XSRC%/djgpp/config.sed configure.org > configure
|
|
if errorlevel 1 goto SedError
|
|
|
|
Rem Make sure they have a config.site file
|
|
set CONFIG_SITE=%XSRC%/djgpp/config.site
|
|
if not "%CONFIG_SITE%" == "%XSRC%/djgpp/config.site" goto SmallEnv
|
|
|
|
Rem inttypes_.h and inttypes.h map to the same 8.3 alias.
|
|
test -f %XSRC%/lib/inttypes_.h
|
|
if not errorlevel 1 mv -f %XSRC%/lib/inttypes_.h %XSRC%/lib/_inttypes.h
|
|
|
|
Rem Make sure crucial file names are not munged by unpacking
|
|
test -f %XSRC%/po/Makefile.in.in
|
|
if not errorlevel 1 mv -f %XSRC%/po/Makefile.in.in %XSRC%/po/Makefile.in-in
|
|
test -f %XSRC%/po/Makefile.in-in
|
|
if errorlevel 1 mv -f %XSRC%/po/Makefile.in %XSRC%/po/Makefile.in-in
|
|
test -f %XSRC%/po/Makefile.in-in
|
|
if errorlevel 1 mv -f %XSRC%/po/Makefile.inin %XSRC%/po/Makefile.in-in
|
|
test -f %XSRC%/po/Makefile.in-in
|
|
if errorlevel 1 mv -f %XSRC%/po/Makefile.in_in %XSRC%/po/Makefile.in-in
|
|
test -f %XSRC%/po/Makefile.in-in
|
|
if errorlevel 1 mv -f %XSRC%/po/Makefile_in.in %XSRC%/po/Makefile.in-in
|
|
test -f %XSRC%/runtime-po/Makefile.in.in
|
|
if not errorlevel 1 mv -f %XSRC%/runtime-po/Makefile.in.in %XSRC%/runtime-po/Makefile.in-in
|
|
test -f %XSRC%/runtime-po/Makefile.in-in
|
|
if errorlevel 1 mv -f %XSRC%/runtime-po/Makefile.in %XSRC%/runtime-po/Makefile.in-in
|
|
test -f %XSRC%/runtime-po/Makefile.in-in
|
|
if errorlevel 1 mv -f %XSRC%/runtime-po/Makefile.inin %XSRC%/runtime-po/Makefile.in-in
|
|
test -f %XSRC%/runtime-po/Makefile.in-in
|
|
if errorlevel 1 mv -f %XSRC%/runtime-po/Makefile.in_in %XSRC%/runtime-po/Makefile.in-in
|
|
test -f %XSRC%/runtime-po/Makefile.in-in
|
|
if errorlevel 1 mv -f %XSRC%/runtime-po/Makefile_in.in %XSRC%/runtime-po/Makefile.in-in
|
|
test -f %XSRC%/data/c++.m4
|
|
if not errorlevel 1 mv -f %XSRC%/data/c++.m4 %XSRC%/data/cxx.m4
|
|
test -f %XSRC%/data/cxx.m4
|
|
if errorlevel 1 mv -f %XSRC%/data/cpp.m4 %XSRC%/data/cxx.m4
|
|
test -f %XSRC%/data/c++-skel.m4
|
|
if not errorlevel 1 mv -f %XSRC%/data/c++-skel.m4 %XSRC%/data/cxx-skel.m4
|
|
test -f %XSRC%/data/cxx-skel.m4
|
|
if errorlevel 1 mv -f %XSRC%/data/cpp-skel.m4 %XSRC%/data/cxx-skel.m4
|
|
test -f %XSRC%/build-aux/javacomp.sh.in
|
|
if not errorlevel 1 mv -f %XSRC%/build-aux/javacomp.sh.in %XSRC%/build-aux/javacomp.sh-in
|
|
test -f %XSRC%/build-aux/javacomp.sh-in
|
|
if errorlevel 1 mv -f %XSRC%/build-aux/javacomp.sh %XSRC%/build-aux/javacomp.sh-in
|
|
test -f %XSRC%/build-aux/javacomp.sh-in
|
|
if errorlevel 1 mv -f %XSRC%/build-aux/javacomp.shin %XSRC%/build-aux/javacomp.sh-in
|
|
test -f %XSRC%/build-aux/javacomp.sh-in
|
|
if errorlevel 1 mv -f %XSRC%/build-aux/javacomp.sh_in %XSRC%/build-aux/javacomp.sh-in
|
|
test -f %XSRC%/build-aux/javacomp.sh-in
|
|
if errorlevel 1 mv -f %XSRC%/build-aux/javacomp.sh.in %XSRC%/build-aux/javacomp.sh-in
|
|
test -f %XSRC%/build-aux/javaexec.sh.in
|
|
if not errorlevel 1 mv -f %XSRC%/build-aux/javaexec.sh.in %XSRC%/build-aux/javaexec.sh-in
|
|
test -f %XSRC%/build-aux/javaexec.sh-in
|
|
if errorlevel 1 mv -f %XSRC%/build-aux/javaexec.sh %XSRC%/build-aux/javaexec.sh-in
|
|
test -f %XSRC%/build-aux/javaexec.sh-in
|
|
if errorlevel 1 mv -f %XSRC%/build-aux/javaexec.shin %XSRC%/build-aux/javaexec.sh-in
|
|
test -f %XSRC%/build-aux/javaexec.sh-in
|
|
if errorlevel 1 mv -f %XSRC%/build-aux/javaexec.sh_in %XSRC%/build-aux/javaexec.sh-in
|
|
test -f %XSRC%/build-aux/javaexec.sh-in
|
|
if errorlevel 1 mv -f %XSRC%/build-aux/javaexec_sh.in %XSRC%/build-aux/javaexec.sh-in
|
|
test -f %XSRC%/doc/yacc.1.in
|
|
if not errorlevel 1 mv -f %XSRC%/doc/yacc.1.in %XSRC%/doc/yacc.1-in
|
|
test -f %XSRC%/doc/yacc.1-in
|
|
if errorlevel 1 mv -f %XSRC%/doc/yacc.1 %XSRC%/doc/yacc.1-in
|
|
test -f %XSRC%/doc/yacc.1-in
|
|
if errorlevel 1 mv -f %XSRC%/doc/yacc.1in %XSRC%/doc/yacc.1-in
|
|
test -f %XSRC%/doc/yacc.1-in
|
|
if errorlevel 1 mv -f %XSRC%/doc/yacc.1_in %XSRC%/doc/yacc.1-in
|
|
test -f %XSRC%/doc/yacc.1-in
|
|
if errorlevel 1 mv -f %XSRC%/doc/yacc_1.in %XSRC%/doc/yacc.1-in
|
|
test -f %XSRC%/etc/bench.pl.in
|
|
if not errorlevel 1 mv -f %XSRC%/etc/bench.pl.in %XSRC%/etc/bench.pl-in
|
|
test -f %XSRC%/etc/bench.pl-in
|
|
if errorlevel 1 mv -f %XSRC%/etc/bench.pl %XSRC%/etc/bench.pl-in
|
|
test -f %XSRC%/etc/bench.pl-in
|
|
if errorlevel 1 mv -f %XSRC%/etc/bench.plin %XSRC%/etc/bench.pl-in
|
|
test -f %XSRC%/etc/bench.pl-in
|
|
if errorlevel 1 mv -f %XSRC%/etc/bench.pl_in %XSRC%/etc/bench.pl-in
|
|
test -f %XSRC%/etc/bench.pl-in
|
|
if errorlevel 1 mv -f %XSRC%/etc/bench_pl.in %XSRC%/etc/bench.pl-in
|
|
|
|
:scan_gram_c_Test
|
|
test -f %XSRC%/src/c-scan-gram.c
|
|
if not errorlevel 1 goto scan_skel_c_Test
|
|
test -f %XSRC%/src/scan-gram-c.c
|
|
if not errorlevel 1 mv -f %XSRC%/src/scan-gram-c.c %XSRC%/src/c-scan-gram.c
|
|
:scan_skel_c_Test
|
|
test -f %XSRC%/src/c-scan-skel.c
|
|
if not errorlevel 1 goto FixFiles
|
|
test -f %XSRC%/src/scan-skel-c.c
|
|
if not errorlevel 1 mv -f %XSRC%/src/scan-skel-c.c %XSRC%/src/c-scan-skel.c
|
|
|
|
:FixFiles
|
|
Rem Fix data/lalr1.cc and data/location.cc to reflect the renaming of c++.m4
|
|
sed "s/c++\.m4/cxx.m4/" %XSRC%/data/lalr1.cc > lalr1.cc
|
|
if errorlevel 1 goto lalr1_ccFileError
|
|
mv ./lalr1.cc %XSRC%/data/lalr1.cc
|
|
sed "s/c++\.m4/cxx.m4/" %XSRC%/data/location.cc > location.cc
|
|
if errorlevel 1 goto location_ccFileError
|
|
mv ./location.cc %XSRC%/data/location.cc
|
|
sed "s/c++\.m4/cxx.m4/" %XSRC%/data/glr.cc > glr.cc
|
|
if errorlevel 1 goto glr_ccFileError
|
|
mv ./glr.cc %XSRC%/data/glr.cc
|
|
|
|
Rem Fix src/getargs.c to reflect the renaming of c++-skel.m4
|
|
sed "s/c++-skel\.m4/cxx-skel.m4/" %XSRC%/src/getargs.c > getargs.c
|
|
if errorlevel 1 goto getargs_cFileError
|
|
mv ./getargs.c %XSRC%/src/getargs.c
|
|
|
|
Rem Define DJGPP specific defs in config.hin
|
|
echo Editing config.hin...
|
|
test -f %XSRC%/lib/config_h.org
|
|
if errorlevel 1 update %XSRC%/lib/config.hin %XSRC%/lib/config_h.org
|
|
sed -f %XSRC%/djgpp/config_h.sed %XSRC%/lib/config_h.org > config.hin
|
|
if errorlevel 1 goto SedError2
|
|
mv -f config.hin %XSRC%/lib/config.hin
|
|
|
|
|
|
Rem Fixing ilicit testsuite file name.
|
|
test -f %XSRC%/tests/c++.at
|
|
if not errorlevel 1 mv -f %XSRC%/tests/c++.at %XSRC%/tests/cxx.at
|
|
|
|
test -f %XSRC%/tests/testsuite.org
|
|
if errorlevel 1 update %XSRC%/tests/testsuite %XSRC%/tests/testsuite.org
|
|
sed -f %XSRC%/djgpp/testsuite.sed %XSRC%/tests/testsuite.org > testsuite.tmp
|
|
if errorlevel 1 goto SedError3
|
|
mv -f ./testsuite.tmp %XSRC%/tests/testsuite
|
|
|
|
Rem Fixing ilicit calc++ file names in the calc++ directory.
|
|
test -d %XSRC%/examples/calc++
|
|
if not errorlevel 1 mv -f %XSRC%/examples/calc++ %XSRC%/examples/calcxx
|
|
test -d %XSRC%/examples/calcxx
|
|
if errorlevel 1 mv -f %XSRC%/examples/calcpp %XSRC%/examples/calcxx
|
|
test -f %XSRC%/examples/calcxx/calc++-scanner.cc
|
|
if not errorlevel 1 mv -f %XSRC%/examples/calcxx/calc++-scanner.cc %XSRC%/examples/calcxx/calcxx-scanner.cc
|
|
test -f %XSRC%/examples/calcxx/calcxx-scanner.cc
|
|
if errorlevel 1 mv -f %XSRC%/examples/calcxx/calcpp-scanner.cc %XSRC%/examples/calcxx/calcxx-scanner.cc
|
|
test -f %XSRC%/examples/calcxx/calc++-scanner.ll
|
|
if not errorlevel 1 mv -f %XSRC%/examples/calcxx/calc++-scanner.ll %XSRC%/examples/calcxx/calcxx-scanner.ll
|
|
test -f %XSRC%/examples/calcxx/calcxx-scanner.ll
|
|
if errorlevel 1 mv -f %XSRC%/examples/calcxx/calcpp-scanner.ll %XSRC%/examples/calcxx/calcxx-scanner.ll
|
|
test -f %XSRC%/examples/calcxx/calc++-driver.cc
|
|
if not errorlevel 1 mv -f %XSRC%/examples/calcxx/calc++-driver.cc %XSRC%/examples/calcxx/calcxx-driver.cc
|
|
test -f %XSRC%/examples/calcxx/calcxx-driver.cc
|
|
if errorlevel 1 mv -f %XSRC%/examples/calcxx/calcpp-driver.cc %XSRC%/examples/calcxx/calcxx-driver.cc
|
|
test -f %XSRC%/examples/calcxx/calc++-driver.hh
|
|
if not errorlevel 1 mv -f %XSRC%/examples/calcxx/calc++-driver.hh %XSRC%/examples/calcxx/calcxx-driver.hh
|
|
test -f %XSRC%/examples/calcxx/calcxx-driver.hh
|
|
if errorlevel 1 mv -f %XSRC%/examples/calcxx/calcpp-driver.hh %XSRC%/examples/calcxx/calcxx-driver.hh
|
|
test -f %XSRC%/examples/calcxx/calc++-parser.cc
|
|
if not errorlevel 1 mv -f %XSRC%/examples/calcxx/calc++-parser.cc %XSRC%/examples/calcxx/calcxx-parser.cc
|
|
test -f %XSRC%/examples/calcxx/calcxx-parser.cc
|
|
if errorlevel 1 mv -f %XSRC%/examples/calcxx/calcpp-parser.cc %XSRC%/examples/calcxx/calcxx-parser.cc
|
|
test -f %XSRC%/examples/calcxx/calc++-parser.hh
|
|
if not errorlevel 1 mv -f %XSRC%/examples/calcxx/calc++-parser.hh %XSRC%/examples/calcxx/calcxx-parser.hh
|
|
test -f %XSRC%/examples/calcxx/calcxx-parser.hh
|
|
if errorlevel 1 mv -f %XSRC%/examples/calcxx/calcpp-parser.hh %XSRC%/examples/calcxx/calcxx-parser.hh
|
|
test -f %XSRC%/examples/calcxx/calc++-parser.stamp
|
|
if not errorlevel 1 mv -f %XSRC%/examples/calcxx/calc++-parser.stamp %XSRC%/examples/calcxx/calcxx-parser.stamp
|
|
test -f %XSRC%/examples/calcxx/calcxx-parser.stamp
|
|
if errorlevel 1 mv -f %XSRC%/examples/calcxx/calcpp-parser.stamp %XSRC%/examples/calcxx/calcxx-parser.stamp
|
|
test -f %XSRC%/examples/calcxx/calc++-parser.yy
|
|
if not errorlevel 1 mv -f %XSRC%/examples/calcxx/calc++-parser.yy %XSRC%/examples/calcxx/calcxx-parser.yy
|
|
test -f %XSRC%/examples/calcxx/calcxx-parser.yy
|
|
if errorlevel 1 mv -f %XSRC%/examples/calcxx/calcpp-parser.yy %XSRC%/examples/calcxx/calcxx-parser.yy
|
|
test -f %XSRC%/examples/calcxx/calc++.cc
|
|
if not errorlevel 1 mv -f %XSRC%/examples/calcxx/calc++.cc %XSRC%/examples/calcxx/calcxx.cc
|
|
test -f %XSRC%/examples/calcxx/calcxx.cc
|
|
if errorlevel 1 mv -f %XSRC%/examples/calcxx/calcpp.cc %XSRC%/examples/calcxx/calcxx.cc
|
|
|
|
Rem Fixing #include lines in calcxx files.
|
|
sed "/#[ ]*include/s/++/xx/" %XSRC%/examples/calcxx/calcxx.cc > calcxx.cc
|
|
if errorlevel 1 goto calcxxFileError
|
|
mv ./calcxx.cc %XSRC%/examples/calcxx/calcxx.cc
|
|
sed "/#[ ]*include/s/++/xx/" %XSRC%/examples/calcxx/calcxx-driver.cc > calcxx-driver.cc
|
|
if errorlevel 1 goto calcxxFileError
|
|
mv ./calcxx-driver.cc %XSRC%/examples/calcxx/calcxx-driver.cc
|
|
sed "/#[ ]*include/s/++/xx/" %XSRC%/examples/calcxx/calcxx-driver.hh > calcxx-driver.hh
|
|
if errorlevel 1 goto calcxxFileError
|
|
mv ./calcxx-driver.hh %XSRC%/examples/calcxx/calcxx-driver.hh
|
|
sed "/#[ ]*include/s/++/xx/" %XSRC%/examples/calcxx/calcxx-parser.cc > calcxx-parser.cc
|
|
if errorlevel 1 goto calcxxFileError
|
|
mv ./calcxx-parser.cc %XSRC%/examples/calcxx/calcxx-parser.cc
|
|
sed "/#[ ]*include/s/++/xx/" %XSRC%/examples/calcxx/calcxx-parser.hh > calcxx-parser.hh
|
|
if errorlevel 1 goto calcxxFileError
|
|
mv ./calcxx-parser.hh %XSRC%/examples/calcxx/calcxx-parser.hh
|
|
:sed "/#[ ]*include/s/++/xx/" %XSRC%/examples/calcxx/calcxx-parser.yy > calcxx-parser.yy
|
|
:if errorlevel 1 goto calcxxFileError
|
|
:mv ./calcxx-parser.yy %XSRC%/examples/calcxx/calcxx-parser.yy
|
|
sed "/#[ ]*include/s/++/xx/" %XSRC%/examples/calcxx/calcxx-scanner.cc > calcxx-scanner.cc
|
|
if errorlevel 1 goto calcxxFileError
|
|
mv ./calcxx-scanner.cc %XSRC%/examples/calcxx/calcxx-scanner.cc
|
|
:sed "/#[ ]*include/s/++/xx/" %XSRC%/examples/calcxx/calcxx-scanner.ll > calcxx-scanner.ll
|
|
:if errorlevel 1 goto calcxxFileError
|
|
:mv ./calcxx-scanner.ll %XSRC%/examples/calcxx/calcxx-scanner.ll
|
|
sed "s/calc++/calcxx/" %XSRC%/examples/calcxx/test > test
|
|
if errorlevel 1 goto calcxxFileError
|
|
mv ./test %XSRC%/examples/calcxx/test
|
|
|
|
|
|
Rem Fixing the scanner files to make file names 8.3 valid.
|
|
Rem Use only if you want to change the scan-gram.l and scan-skel.l files.
|
|
: sed "/outfile=/s/\.yy/yy/" %XSRC%/src/scan-gram.l > scan-gram.l
|
|
: if errorlevel 1 goto ScannerFileError
|
|
: mv ./scan-gram.l %XSRC%/src/scan-gram.l
|
|
: sed "/outfile=/s/\.yy/yy/" %XSRC%/src/scan-skel.l > scan-skel.l
|
|
: if errorlevel 1 goto ScannerFileError
|
|
: mv ./scan-skel.l %XSRC%/src/scan-skel.l
|
|
|
|
|
|
Rem This is required because DOS/Windows are case-insensitive
|
|
Rem to file names, and "make install" will do nothing if Make
|
|
Rem finds a file called `install'.
|
|
if exist INSTALL ren INSTALL INSTALL.txt
|
|
|
|
Rem Set SHELL to a sane default or some configure tests stop working
|
|
Rem if the package is configured across partitions.
|
|
if not "%SHELL%" == "" goto HomeName
|
|
set SHELL=/bin/sh
|
|
if not "%SHELL%" == "/bin/sh" goto SmallEnv
|
|
echo No SHELL found in the environment, using default value
|
|
|
|
:HomeName
|
|
Rem Set HOME to a sane default so configure stops complaining.
|
|
if not "%HOME%" == "" goto HostName
|
|
set HOME=%XSRC%/djgpp
|
|
if not "%HOME%" == "%XSRC%/djgpp" goto SmallEnv
|
|
echo No HOME found in the environment, using default value
|
|
|
|
:HostName
|
|
Rem Set HOSTNAME so it shows in config.status
|
|
if not "%HOSTNAME%" == "" goto hostdone
|
|
if "%windir%" == "" goto msdos
|
|
set OS=MS-Windows
|
|
if not "%OS%" == "MS-Windows" goto SmallEnv
|
|
goto haveos
|
|
:msdos
|
|
set OS=MS-DOS
|
|
if not "%OS%" == "MS-DOS" goto SmallEnv
|
|
:haveos
|
|
if not "%USERNAME%" == "" goto haveuname
|
|
if not "%USER%" == "" goto haveuser
|
|
echo No USERNAME and no USER found in the environment, using default values
|
|
set HOSTNAME=Unknown PC
|
|
if not "%HOSTNAME%" == "Unknown PC" goto SmallEnv
|
|
goto userdone
|
|
:haveuser
|
|
set HOSTNAME=%USER%'s PC
|
|
if not "%HOSTNAME%" == "%USER%'s PC" goto SmallEnv
|
|
goto userdone
|
|
:haveuname
|
|
set HOSTNAME=%USERNAME%'s PC
|
|
if not "%HOSTNAME%" == "%USERNAME%'s PC" goto SmallEnv
|
|
:userdone
|
|
set _HOSTNAME=%HOSTNAME%, %OS%
|
|
if not "%_HOSTNAME%" == "%HOSTNAME%, %OS%" goto SmallEnv
|
|
set HOSTNAME=%_HOSTNAME%
|
|
:hostdone
|
|
set _HOSTNAME=
|
|
set OS=
|
|
|
|
Rem install-sh is required by the configure script but clashes with the
|
|
Rem various Makefile install-foo targets, so we MUST have it before the
|
|
Rem script runs and rename it afterwards
|
|
test -f %XSRC%/install-sh
|
|
if not errorlevel 1 goto NoRen0
|
|
test -f %XSRC%/install-sh.sh
|
|
if not errorlevel 1 mv -f %XSRC%/install-sh.sh %XSRC%/install-sh
|
|
:NoRen0
|
|
|
|
if "%NLS%" == "disabled" goto WithoutNLS
|
|
|
|
:WithNLS
|
|
Rem Check for the needed libraries and binaries.
|
|
test -x /dev/env/DJDIR/bin/msgfmt.exe
|
|
if errorlevel 1 goto MissingNLSTools
|
|
test -x /dev/env/DJDIR/bin/xgettext.exe
|
|
if errorlevel 1 goto MissingNLSTools
|
|
test -f /dev/env/DJDIR/include/libcharset.h
|
|
if errorlevel 1 goto MissingNLSTools
|
|
test -f /dev/env/DJDIR/lib/libcharset.a
|
|
if errorlevel 1 goto MissingNLSTools
|
|
test -f /dev/env/DJDIR/include/iconv.h
|
|
if errorlevel 1 goto MissingNLSTools
|
|
test -f /dev/env/DJDIR/lib/libiconv.a
|
|
if errorlevel 1 goto MissingNLSTools
|
|
test -f /dev/env/DJDIR/include/libintl.h
|
|
if errorlevel 1 goto MissingNLSTools
|
|
test -f /dev/env/DJDIR/lib/libintl.a
|
|
if errorlevel 1 goto MissingNLSTools
|
|
|
|
Rem Recreate the files in the %XSRC%/po subdir with our ported tools.
|
|
redir -e /dev/null rm %XSRC%/po/*.gmo
|
|
redir -e /dev/null rm %XSRC%/po/bison.pot
|
|
redir -e /dev/null rm %XSRC%/po/cat-id-tbl.c
|
|
redir -e /dev/null rm %XSRC%/po/stamp-cat-id
|
|
|
|
Rem Update the arguments file for the configure script.
|
|
Rem We prefer without-included-gettext because libintl.a from gettext package
|
|
Rem is the only one that is garanteed to have been ported to DJGPP.
|
|
echo --enable-nls --without-included-gettext >> args
|
|
goto ConfigurePackage
|
|
|
|
:MissingNLSTools
|
|
echo Needed libs/tools for NLS not found. Configuring without NLS.
|
|
:WithoutNLS
|
|
Rem Update the arguments file for the configure script.
|
|
echo --disable-nls >> args
|
|
|
|
:ConfigurePackage
|
|
echo Running the ./configure script...
|
|
sh ./configure @args
|
|
if errorlevel 1 goto CfgError
|
|
rm args
|
|
echo Done.
|
|
goto End
|
|
|
|
:lalr1_ccFileError
|
|
echo ./data/lalr1.cc file editing failed!
|
|
goto End
|
|
|
|
:glr_ccFileError
|
|
echo ./data/glr.cc file editing failed!
|
|
goto End
|
|
|
|
:getargs_cFileError
|
|
echo ./src/getargs.c file editing failed!
|
|
goto End
|
|
|
|
:location_ccFileError
|
|
echo ./data/location.cc file editing failed!
|
|
goto End
|
|
|
|
:calcxxFileError
|
|
echo ./examples/calcxx file editing failed!
|
|
goto End
|
|
|
|
:ScannerFileError
|
|
echo ./scanner file editing failed!
|
|
goto End
|
|
|
|
:SedError
|
|
echo ./configure script editing failed!
|
|
goto End
|
|
|
|
:SedError2
|
|
echo ./lib/config.hin editing failed!
|
|
goto End
|
|
|
|
:SedError3
|
|
echo ./tests/testsuite editing failed!
|
|
goto End
|
|
|
|
:CfgError
|
|
echo ./configure script exited abnormally!
|
|
goto End
|
|
|
|
:SmallEnv
|
|
echo Your environment size is too small. Enlarge it and run me again.
|
|
echo Configuration NOT done!
|
|
|
|
:End
|
|
test -f %XSRC%/install-sh.sh
|
|
if not errorlevel 1 goto NoRen1
|
|
test -f %XSRC%/install-sh
|
|
if not errorlevel 1 mv -f %XSRC%/install-sh %XSRC%/install-sh.sh
|
|
:NoRen1
|
|
if "%SHELL%" == "/bin/sh" set SHELL=
|
|
if "%HOME%" == "%XSRC%/djgpp" set HOME=
|
|
set CONFIG_SITE=
|
|
set HOSTNAME=
|
|
set NLS=
|
|
set XSRC=
|