summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--NEWS2
-rw-r--r--UPGRADING3
-rw-r--r--win32/build/confutils.js16
3 files changed, 21 insertions, 0 deletions
diff --git a/NEWS b/NEWS
index 4adf431aab..2cdac0aa99 100644
--- a/NEWS
+++ b/NEWS
@@ -5,6 +5,8 @@ PHP NEWS
- Core:
. Fixed bug #78239 (Deprecation notice during string conversion converted to
exception hangs). (Nikita)
+ . Implemented FR #77230 (Support custom CFLAGS and LDFLAGS from environment).
+ (cmb)
- Date:
. Updated timelib to 2018.02. (Derick)
diff --git a/UPGRADING b/UPGRADING
index 900c0694ec..07136fdcf6 100644
--- a/UPGRADING
+++ b/UPGRADING
@@ -568,6 +568,9 @@ r SQLite3:
- CTRL+C and CTRL+BREAK on console can be caught by setting a handler function
with sapi_windows_set_ctrl_handler().
+- configure now regards additional CFLAGS and LDFLAGS set as environment
+ variables.
+
========================================
13. Migration to pkg-config
========================================
diff --git a/win32/build/confutils.js b/win32/build/confutils.js
index 4248795dac..83d5907a4f 100644
--- a/win32/build/confutils.js
+++ b/win32/build/confutils.js
@@ -431,6 +431,10 @@ can be built that way. \
}
STDOUT.WriteLine(" " + arg.arg + pad + word_wrap_and_indent(max_width + 5, arg.helptext));
}
+ STDOUT.WriteBlankLines(1);
+ STDOUT.WriteLine("Some influential environment variables:");
+ STDOUT.WriteLine(" CFLAGS C compiler flags");
+ STDOUT.WriteLine(" LDFLAGS linker flags");
WScript.Quit(1);
}
@@ -3207,6 +3211,8 @@ function toolset_setup_linker()
function toolset_setup_common_cflags()
{
+ var envCFLAGS = WshShell.Environment("PROCESS").Item("CFLAGS");
+
// CFLAGS for building the PHP dll
DEFINE("CFLAGS_PHP", "/D _USRDLL /D PHP7DLLTS_EXPORTS /D PHP_EXPORTS \
/D LIBZEND_EXPORTS /D TSRM_EXPORTS /D SAPI_EXPORTS /D WINVER=" + WINVER);
@@ -3218,6 +3224,10 @@ function toolset_setup_common_cflags()
/D ZEND_WIN32=1 /D PHP_WIN32=1 /D WIN32 /D _MBCS /W3 \
/D _USE_MATH_DEFINES");
+ if (envCFLAGS) {
+ ADD_FLAG("CFLAGS", envCFLAGS);
+ }
+
if (VS_TOOLSET) {
ADD_FLAG("CFLAGS", " /FD ");
@@ -3368,6 +3378,8 @@ function toolset_setup_intrinsic_cflags()
function toolset_setup_common_ldlags()
{
+ var envLDFLAGS = WshShell.Environment("PROCESS").Item("LDFLAGS");
+
// General DLL link flags
DEFINE("DLL_LDFLAGS", "/dll ");
@@ -3376,6 +3388,10 @@ function toolset_setup_common_ldlags()
DEFINE("LDFLAGS", "/nologo ");
+ if (envLDFLAGS) {
+ ADD_FLAG("LDFLAGS", envLDFLAGS);
+ }
+
// we want msvcrt in the PHP DLL
ADD_FLAG("PHP_LDFLAGS", "/nodefaultlib:libcmt");