sfox Tue Mar 18 03:12:42 2008 UTC
Modified files: (Branch: PHP_5_3)
/php-src/win32/build Makefile config.w32
Log:
re2c checking.
If it's not installed, the least scary of messages goes out.
If it's installed but older than the required version, the download link is
given.
http://cvs.php.net/viewvc.cgi/php-src/win32/build/Makefile?r1=1.35.2.1.2.6.2.2&r2=1.35.2.1.2.6.2.3&diff_format=u
Index: php-src/win32/build/Makefile
diff -u php-src/win32/build/Makefile:1.35.2.1.2.6.2.2
php-src/win32/build/Makefile:1.35.2.1.2.6.2.3
--- php-src/win32/build/Makefile:1.35.2.1.2.6.2.2 Mon Mar 17 17:06:51 2008
+++ php-src/win32/build/Makefile Tue Mar 18 03:12:42 2008
@@ -14,14 +14,14 @@
# | Author: Wez Furlong <[EMAIL PROTECTED]> |
# +----------------------------------------------------------------------+
#
-# $Id: Makefile,v 1.35.2.1.2.6.2.2 2008/03/17 17:06:51 scottmac Exp $
+# $Id: Makefile,v 1.35.2.1.2.6.2.3 2008/03/18 03:12:42 sfox Exp $
# This is the makefile template for the win32 build
CC="$(CL)"
LD="$(LINK)"
MC="$(MC)"
MT="$(MT)"
-
+RE2C="$(RE2C)"
MCFILE=$(BUILD_DIR)\wsyslog.rc
@@ -29,10 +29,16 @@
build_dirs: $(BUILD_DIR) $(BUILD_DIRS_SUB)
+!if $(RE2C) == ""
+generated_files: build_dirs Zend\zend_ini_parser.c \
+ Zend\zend_language_parser.c \
+ $(PHPDEF) $(MCFILE)
+!else
generated_files: build_dirs Zend\zend_ini_parser.c \
Zend\zend_language_parser.c Zend\zend_ini_scanner.c \
Zend\zend_language_scanner.c \
$(PHPDEF) $(MCFILE)
+!endif
$(BUILD_DIR)\$(PHPDLL).def: $(PHP_DLL_DEF_SOURCES)
type $(PHP_DLL_DEF_SOURCES) > $(BUILD_DIR)\$(PHPDLL).def
@@ -43,11 +49,13 @@
Zend\zend_language_parser.c Zend\zend_language_parser.h:
Zend\zend_language_parser.y
$(BISON) --output=Zend/zend_language_parser.c -v -d -p zend
Zend/zend_language_parser.y
+!if $(RE2C) != ""
Zend\zend_ini_scanner.c: Zend\zend_ini_scanner.l
$(RE2C) $(RE2C_FLAGS) --case-inverted -cbdFt
Zend/zend_ini_scanner_defs.h -oZend/zend_ini_scanner.c Zend/zend_ini_scanner.l
Zend\zend_language_scanner.c: Zend\zend_language_scanner.l
$(RE2C) $(RE2C_FLAGS) --case-inverted -cbdFt
Zend/zend_language_scanner_defs.h -oZend/zend_language_scanner.c
Zend/zend_language_scanner.l
+!endif
PHPDLL_RES=$(BUILD_DIR)\$(PHPDLL).res
http://cvs.php.net/viewvc.cgi/php-src/win32/build/config.w32?r1=1.40.2.8.2.10.2.9&r2=1.40.2.8.2.10.2.10&diff_format=u
Index: php-src/win32/build/config.w32
diff -u php-src/win32/build/config.w32:1.40.2.8.2.10.2.9
php-src/win32/build/config.w32:1.40.2.8.2.10.2.10
--- php-src/win32/build/config.w32:1.40.2.8.2.10.2.9 Mon Mar 17 17:29:13 2008
+++ php-src/win32/build/config.w32 Tue Mar 18 03:12:42 2008
@@ -1,5 +1,5 @@
// vim:ft=javascript
-// $Id: config.w32,v 1.40.2.8.2.10.2.9 2008/03/17 17:29:13 stas Exp $
+// $Id: config.w32,v 1.40.2.8.2.10.2.10 2008/03/18 03:12:42 sfox Exp $
// "Master" config file; think of it as a configure.in
// equivalent.
@@ -57,10 +57,40 @@
if (!PATH_PROG('bison')) {
ERROR('bison is required')
}
-if (!PATH_PROG('re2c')) {
- ERROR('re2c is required')
+
+// There's a minimum requirement for re2c..
+MINRE2C = "0.13.3";
+
+function probe_re2c_version(RE2C)
+{
+ var command = "cmd /c " + RE2C + " -v";
+ var version = execute(command + '" 2>&1"');
+
+ if (version.match(/((\d+)\.(\d+)\.(\d+))/)) {
+ return RegExp.$1;
+ }
+ return 0;
+}
+
+RE2C = PATH_PROG('re2c');
+if (RE2C) {
+ var intvers, intmin;
+ var pattern = /\./g;
+
+ RE2CVERS = probe_re2c_version(RE2C);
+ intvers = RE2CVERS.replace(pattern, '') - 0;
+ intmin = MINRE2C.replace(pattern, '') - 0;
+
+ if (intvers < intmin) {
+ STDOUT.WriteLine('WARNING: The minimum RE2C version requirement
is ' + MINRE2C + ', ' + RE2CVERS + ' detected');
+ STDOUT.WriteLine('Parsers will not be generated. Upgrade your
copy at http://sf.net/projects/re2c');
+ DEFINE('RE2C', '');
+ } else {
+ DEFINE('RE2C_FLAGS', '');
+ }
+} else {
+ STDOUT.WriteLine('Parsers will not be regenerated');
}
-DEFINE('RE2C_FLAGS', '');
PATH_PROG('zip');
PATH_PROG('lemon');
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php