mirror of
https://github.com/php/php-src.git
synced 2025-08-16 05:58:45 +02:00
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3: Add bison version check to configure
This commit is contained in:
commit
7cdb232e37
1 changed files with 25 additions and 1 deletions
|
@ -53,6 +53,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";
|
||||||
|
|
||||||
|
@ -180,6 +183,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"');
|
||||||
|
|
||||||
|
@ -3010,7 +3015,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