summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ext/iconv/config.w322
-rw-r--r--win32/build/config.w322
-rw-r--r--win32/build/confutils.js14
3 files changed, 15 insertions, 3 deletions
diff --git a/ext/iconv/config.w32 b/ext/iconv/config.w32
index 989a477fa5..05281e07e7 100644
--- a/ext/iconv/config.w32
+++ b/ext/iconv/config.w32
@@ -8,7 +8,7 @@ if (PHP_ICONV != "no") {
CHECK_LIB("iconv_a.lib", "iconv", PHP_ICONV) || CHECK_LIB("iconv.lib", "iconv", PHP_ICONV)) &&
CHECK_HEADER_ADD_INCLUDE("iconv.h", "CFLAGS_ICONV", PHP_ICONV)) {
- EXTENSION("iconv", "iconv.c", null, "/DZEND_ENABLE_STATIC_TSRMLS_CACHE=1");
+ EXTENSION("iconv", "iconv.c", PHP_ICONV_SHARED, "/DZEND_ENABLE_STATIC_TSRMLS_CACHE=1");
AC_DEFINE("HAVE_ICONV", 1, "Define if iconv extension is enabled");
AC_DEFINE("HAVE_LIBICONV", 1, "Define if libiconv is available");
diff --git a/win32/build/config.w32 b/win32/build/config.w32
index 1642d42caa..f96b8c51c9 100644
--- a/win32/build/config.w32
+++ b/win32/build/config.w32
@@ -261,3 +261,5 @@ if (CLANG_TOOLSET) {
ARG_WITH("codegen-arch", "Architecture for code generation: ia32, sse, sse2, avx, avx2", "no");
toolset_setup_codegen_arch();
+ARG_WITH("all-shared", "Force all the non obligatory extensions to be shared", "no");
+
diff --git a/win32/build/confutils.js b/win32/build/confutils.js
index dfe324c4be..dc8170738f 100644
--- a/win32/build/confutils.js
+++ b/win32/build/confutils.js
@@ -437,7 +437,7 @@ can be built that way. \
'pcre-regex', 'fastcgi', 'force-cgi-redirect',
'path-info-check', 'zts', 'ipv6', 'memory-limit',
'zend-multibyte', 'fd-setsize', 'memory-manager',
- 't1lib', 'pgi', 'pgo'
+ 't1lib', 'pgi', 'pgo', 'all-shared'
);
var force;
@@ -1259,7 +1259,11 @@ function EXTENSION(extname, file_list, shared, cflags, dllname, obj_dir)
var ldflags;
if (shared == null) {
- eval("shared = PHP_" + EXT + "_SHARED;");
+ if (force_all_shared()) {
+ shared = true;
+ } else {
+ eval("shared = PHP_" + EXT + "_SHARED;");
+ }
} else {
eval("PHP_" + EXT + "_SHARED = shared;");
}
@@ -2823,3 +2827,9 @@ function trim(s)
{
return s.replace(/^\s+/, "").replace(/\s+$/, "");
}
+
+function force_all_shared()
+{
+ return !!PHP_ALL_SHARED && "yes" == PHP_ALL_SHARED;
+}
+