mirror of
https://github.com/php/php-src.git
synced 2025-08-15 21:48:51 +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. */
|
||||
var WINVER = "0x0601"; /* 7/2008r2 */
|
||||
|
||||
// There's a minimum requirement for bison.
|
||||
var MINBISON = "3.0.0";
|
||||
|
||||
// There's a minimum requirement for re2c..
|
||||
var MINRE2C = "0.13.4";
|
||||
|
||||
|
@ -176,6 +179,8 @@ function probe_binary(EXE, what)
|
|||
var command = 'cmd /c ""' + EXE;
|
||||
if (what == "version") {
|
||||
command = command + '" -v"';
|
||||
} else if (what == "longversion") {
|
||||
command = command + '" --version"';
|
||||
}
|
||||
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
|
||||
// that is set in that env var
|
||||
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')
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue