Skip to content

Commit

Permalink
Merge branch 'PHP-7.3' into PHP-7.4
Browse files Browse the repository at this point in the history
* PHP-7.3:
  Add bison version check to configure
  • Loading branch information
cmb69 committed Mar 18, 2019
2 parents 9ca9394 + 7ef2fa6 commit 7cdb232
Showing 1 changed file with 25 additions and 1 deletion.
26 changes: 25 additions & 1 deletion win32/build/confutils.js
Expand Up @@ -53,6 +53,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";

Expand Down Expand Up @@ -180,6 +183,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"');

Expand Down Expand Up @@ -3010,7 +3015,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')
}

Expand Down

0 comments on commit 7cdb232

Please sign in to comment.