summaryrefslogtreecommitdiff
path: root/win32
diff options
context:
space:
mode:
authorAnatol Belski <ab@php.net>2014-12-05 03:50:02 +0100
committerAnatol Belski <ab@php.net>2014-12-05 03:50:02 +0100
commit88bb9fedc4b5fc750524a7b00be1d46fde2f5929 (patch)
treee799ee0cdf4a5d8a8236f599ab8c85a9a05d8673 /win32
parent864cd82acef03b75b994f3fd98d9b4a51a99204a (diff)
parentf0a17c293b5b240a4da27e6b5f89dbd9c9183488 (diff)
downloadphp-git-88bb9fedc4b5fc750524a7b00be1d46fde2f5929.tar.gz
Merge remote-tracking branch 'origin/master' into native-tls
* origin/master: (111 commits) Fix zend_fcall_info_arg*() to use ZVAL_COPY Fixed #65213 - cannot cast SplFileInfo to boolean add initial install switch to C travis project instead of PHP use the generic TRAVIS environment var to check for travis (see http://docs.travis-ci.com/user/ci-environment/) fix TS build add config option to target codegen architectures updated NEWS updated NEWS Fixed bug #55541 errors spawn MessageBox, which blocks test automation Get rid of duplicate handlers (ZEND_ADD_SPEC_TMP_TMP and ZEND_ADD_SPEC_VAR_VAR are absolutely the same). Use zend_string* for op_array->arg_info[]->name and op_array->arg_info[]->class_name. For internal functions we still use char*. Fixed __debugInfo() support Update UPGRADING for the new variadic functions, and re-sort. Improved POST INC/DEC make sure that we don't truncate the stack trace and cause false test failures when the test is executed in a directory with long path Missed closed folder mark Revert "Unecessary assignment" Fixed improper memory release Unecessary assignment ...
Diffstat (limited to 'win32')
-rw-r--r--win32/build/config.w325
-rw-r--r--win32/build/config.w32.phpize.in4
-rw-r--r--win32/build/confutils.js16
3 files changed, 23 insertions, 2 deletions
diff --git a/win32/build/config.w32 b/win32/build/config.w32
index 47773dcffb..6b06cfead0 100644
--- a/win32/build/config.w32
+++ b/win32/build/config.w32
@@ -107,7 +107,7 @@ var php_usual_lib_suspects = PHP_PHP_BUILD+"\\lib";
ADD_FLAG("CFLAGS", '/I "' + php_usual_include_suspects + '" ');
ADD_FLAG("LDFLAGS", '/libpath:"' + php_usual_lib_suspects + '" ');
-ADD_FLAG("ARFLAGS", '/libpath:"' + php_usual_lib_suspects + '" ');
+ADD_FLAG("ARFLAGS", '/nologo /libpath:"' + php_usual_lib_suspects + '" ');
probe_basic_headers();
add_extra_dirs();
@@ -254,3 +254,6 @@ if (CLANG_TOOLSET) {
}
}
+ARG_WITH("codegen-arch", "Architecture for code generation: ia32, sse, sse2, avx, avx2", "no");
+toolset_setup_codegen_arch();
+
diff --git a/win32/build/config.w32.phpize.in b/win32/build/config.w32.phpize.in
index a340af0e60..d68a21fc6e 100644
--- a/win32/build/config.w32.phpize.in
+++ b/win32/build/config.w32.phpize.in
@@ -126,3 +126,7 @@ DEFINE('SNAPSHOT_TEMPLATE', PHP_SNAPSHOT_TEMPLATE);
AC_DEFINE("PHP_DIR", PHP_DIR);
DEFINE("PHP_DIR", PHP_DIR);
+
+ARG_WITH("codegen-arch", "Architecture for code generation", "no");
+toolset_setup_codegen_arch();
+
diff --git a/win32/build/confutils.js b/win32/build/confutils.js
index 7d02f99ad6..8a4cb9347b 100644
--- a/win32/build/confutils.js
+++ b/win32/build/confutils.js
@@ -1099,7 +1099,7 @@ function SAPI(sapiname, file_list, makefiletarget, cflags, obj_dir)
manifest = "-@$(_VC_MANIFEST_EMBED_DLL)";
} else if (makefiletarget.match(new RegExp("\\.lib$"))) {
ldflags = "$(ARFLAGS)";
- ld = "$(MAKE_LIB)";
+ ld = "@$(MAKE_LIB)";
} else {
ldflags = "$(LDFLAGS)";
manifest = "-@$(_VC_MANIFEST_EMBED_EXE)";
@@ -2544,6 +2544,20 @@ function toolset_setup_arch()
DEFINE("PHP_ARCHITECTURE", X64 ? 'x64' : 'x86');
}
+function toolset_setup_codegen_arch()
+{
+ if("no" == PHP_CODEGEN_ARCH) {
+ return;
+ }
+
+ if (VS_TOOLSET) {
+ var arc = PHP_CODEGEN_ARCH.toUpperCase();
+
+ if ("AVX2" == arc || "AVX" == arc || "SSE2" == arc || "SSE" == arc || "IA32" == arc) {
+ ADD_FLAG("CFLAGS", "/arch:" + arc);
+ }
+ }
+}
function toolset_setup_linker()
{