mirror of
https://github.com/php/php-src.git
synced 2025-08-16 05:58:45 +02:00
Add bison version check to configure
Since we're already checking for the minimum required re2c version, also checking for the minimum required bison version is sensible.
This commit is contained in:
parent
e072537e7f
commit
f21c054903
1 changed files with 25 additions and 1 deletions
|
@ -52,6 +52,9 @@ var PHP_MAKEFILE_FRAGMENTS = PHP_SRC_DIR + "\\Makefile.fragments.w32";
|
||||||
and manifest. */
|
and manifest. */
|
||||||
var WINVER = "0x0601"; /* 7/2008r2 */
|
var WINVER = "0x0601"; /* 7/2008r2 */
|
||||||
|
|
||||||
|
// There's a minimum requirement for bison.
|
||||||
|
var MINBISON = "3.0.0";
|
||||||
|
|
||||||
// There's a minimum requirement for re2c..
|
// There's a minimum requirement for re2c..
|
||||||
var MINRE2C = "0.13.4";
|
var MINRE2C = "0.13.4";
|
||||||
|
|
||||||
|
@ -176,6 +179,8 @@ function probe_binary(EXE, what)
|
||||||
var command = 'cmd /c ""' + EXE;
|
var command = 'cmd /c ""' + EXE;
|
||||||
if (what == "version") {
|
if (what == "version") {
|
||||||
command = command + '" -v"';
|
command = command + '" -v"';
|
||||||
|
} else if (what == "longversion") {
|
||||||
|
command = command + '" --version"';
|
||||||
}
|
}
|
||||||
var version = execute(command + '" 2>&1"');
|
var version = execute(command + '" 2>&1"');
|
||||||
|
|
||||||
|
@ -2903,7 +2908,26 @@ function toolset_setup_project_tools()
|
||||||
// we don't want to define LIB, as that will override the default library path
|
// we don't want to define LIB, as that will override the default library path
|
||||||
// that is set in that env var
|
// that is set in that env var
|
||||||
PATH_PROG('lib', null, 'MAKE_LIB');
|
PATH_PROG('lib', null, 'MAKE_LIB');
|
||||||
if (!PATH_PROG('bison')) {
|
|
||||||
|
var BISON = PATH_PROG('bison');
|
||||||
|
if (BISON) {
|
||||||
|
var BISONVERS = probe_binary(BISON, "longversion");
|
||||||
|
STDOUT.WriteLine(' Detected bison version ' + BISONVERS);
|
||||||
|
|
||||||
|
if (BISONVERS.match(/^\d+.\d+$/)) {
|
||||||
|
BISONVERS += ".0";
|
||||||
|
}
|
||||||
|
|
||||||
|
var hm = BISONVERS.match(/(\d+)\.(\d+)\.(\d+)/);
|
||||||
|
var nm = MINBISON.match(/(\d+)\.(\d+)\.(\d+)/);
|
||||||
|
|
||||||
|
var intvers = (hm[1]-0)*10000 + (hm[2]-0)*100 + (hm[3]-0);
|
||||||
|
var intmin = (nm[1]-0)*10000 + (nm[2]-0)*100 + (nm[3]-0);
|
||||||
|
|
||||||
|
if (intvers < intmin) {
|
||||||
|
ERROR('The minimum bison version requirement is ' + MINBISON);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
ERROR('bison is required')
|
ERROR('bison is required')
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue