diff options
| -rw-r--r-- | win32/build/config.w32 | 3 | ||||
| -rw-r--r-- | win32/build/config.w32.phpize.in | 4 | ||||
| -rw-r--r-- | win32/build/confutils.js | 14 |
3 files changed, 21 insertions, 0 deletions
diff --git a/win32/build/config.w32 b/win32/build/config.w32 index 89e6761aca..574d8e274b 100644 --- a/win32/build/config.w32 +++ b/win32/build/config.w32 @@ -248,3 +248,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 45db550d77..8a4cb9347b 100644 --- a/win32/build/confutils.js +++ b/win32/build/confutils.js @@ -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() { |
