DEFINE('CFLAGS_PHP_OBJ', '$(CFLAGS_PHP) $(STATIC_EXT_CFLAGS)');
// General CFLAGS for building objects
-DEFINE("CFLAGS", "/nologo $(BASE_INCLUDES) /D _WINDOWS \
-/D ZEND_WIN32=1 /D PHP_WIN32=1 /D WIN32 /D _MBCS /W3 ");
-if (VS_TOOLSET) {
- ADD_FLAG("CFLAGS", " /FD ");
-}
-
-if (CLANG_TOOLSET) {
- if (X64) {
- ADD_FLAG('CFLAGS', ' -m64 ');
- } else {
- ADD_FLAG('CFLAGS', ' -m32 ');
- }
-}
-
-if (VS_TOOLSET && VCVERS < 1400) {
- // Enable automatic precompiled headers
- ADD_FLAG('CFLAGS', ' /YX ');
-
- if (PHP_DEBUG == "yes") {
- // Set some debug/release specific options
- ADD_FLAG('CFLAGS', ' /GZ ');
- }
-}
-
-if (VS_TOOLSET && VCVERS >= 1400) {
- // fun stuff: MS deprecated ANSI stdio and similar functions
- // disable annoying warnings. In addition, time_t defaults
- // to 64-bit. Ask for 32-bit.
- if (X64) {
- ADD_FLAG('CFLAGS', ' /wd4996 ');
- } else {
- ADD_FLAG('CFLAGS', ' /wd4996 /D_USE_32BIT_TIME_T=1 ');
- }
-
- if (PHP_DEBUG == "yes") {
- // Set some debug/release specific options
- ADD_FLAG('CFLAGS', ' /RTC1 ');
- }
-}
+toolset_setup_common_cflags();
ARG_WITH('mp', 'Tell Visual Studio use up to [n,auto,disable] processes for compilation', 'auto');
var PHP_MP_DISABLED = true;
}
// General link flags
-
-if (VS_TOOLSET || CLANG_TOOLSET) {
- if (VCVERS >= 1700 || CLANG_TOOLSET) {
- DEFINE("LDFLAGS", "/nologo ");
- } else {
- DEFINE("LDFLAGS", "/nologo /version:" +
- PHP_VERSION + "." + PHP_MINOR_VERSION + "." + PHP_RELEASE_VERSION);
- }
-}
+toolset_setup_common_ldlags();
// General DLL link flags
DEFINE("DLL_LDFLAGS", "/dll ");
DEFINE('CFLAGS_PHP_OBJ', '$(CFLAGS_PHP) $(STATIC_EXT_CFLAGS)');\r
\r
// General CFLAGS for building objects\r
-DEFINE("CFLAGS", "/nologo $(BASE_INCLUDES) /D _WINDOWS \\r
-/D ZEND_WIN32=1 /D PHP_WIN32=1 /D WIN32 /D _MBCS /W3 ");\r
-if (VS_TOOLSET) {\r
- ADD_FLAG("CFLAGS", " /FD ");\r
-}\r
-\r
-if (VS_TOOLSET && VCVERS < 1400) {\r
- // Enable automatic precompiled headers\r
- ADD_FLAG('CFLAGS', ' /YX ');\r
-\r
- if (PHP_DEBUG == "yes") {\r
- // Set some debug/release specific options\r
- ADD_FLAG('CFLAGS', ' /GZ ');\r
- }\r
-}\r
-\r
-if (VS_TOOLSET && VCVERS >= 1400) {\r
- // fun stuff: MS deprecated ANSI stdio and similar functions\r
- // disable annoying warnings. In addition, time_t defaults\r
- // to 64-bit. Ask for 32-bit.\r
- if (X64) {\r
- ADD_FLAG('CFLAGS', ' /wd4996 ');\r
- } else {\r
- ADD_FLAG('CFLAGS', ' /wd4996 /D_USE_32BIT_TIME_T=1 ');\r
- }\r
-\r
- if (PHP_DEBUG == "yes") {\r
- // Set some debug/release specific options\r
- ADD_FLAG('CFLAGS', ' /RTC1 ');\r
- }\r
-}\r
+toolset_setup_common_cflags();\r
\r
ARG_WITH('prefix', 'PHP installation prefix', '');\r
ARG_WITH('mp', 'Tell Visual Studio use up to [n,auto,disable] processes for compilation', 'auto');\r
ERROR("Unsupported toolset");
}
+function toolset_setup_common_cflags()
+{
+ DEFINE("CFLAGS", "/nologo $(BASE_INCLUDES) /D _WINDOWS \
+ /D ZEND_WIN32=1 /D PHP_WIN32=1 /D WIN32 /D _MBCS /W3 ");
+
+ if (VS_TOOLSET) {
+ ADD_FLAG("CFLAGS", " /FD ");
+
+ if (VCVERS < 1400) {
+ // Enable automatic precompiled headers
+ ADD_FLAG('CFLAGS', ' /YX ');
+
+ if (PHP_DEBUG == "yes") {
+ // Set some debug/release specific options
+ ADD_FLAG('CFLAGS', ' /GZ ');
+ }
+ }
+
+ if (VCVERS >= 1400) {
+ // fun stuff: MS deprecated ANSI stdio and similar functions
+ // disable annoying warnings. In addition, time_t defaults
+ // to 64-bit. Ask for 32-bit.
+ if (X64) {
+ ADD_FLAG('CFLAGS', ' /wd4996 ');
+ } else {
+ ADD_FLAG('CFLAGS', ' /wd4996 /D_USE_32BIT_TIME_T=1 ');
+ }
+
+ if (PHP_DEBUG == "yes") {
+ // Set some debug/release specific options
+ ADD_FLAG('CFLAGS', ' /RTC1 ');
+ }
+ }
+
+ } else if (CLANG_TOOLSET) {
+ if (X64) {
+ ADD_FLAG('CFLAGS', ' -m64 ');
+ } else {
+ ADD_FLAG('CFLAGS', ' -m32 ');
+ }
+ }
+}
+
+function toolset_setup_common_ldlags()
+{
+ if (VS_TOOLSET) {
+ if (VCVERS >= 1700) {
+ DEFINE("LDFLAGS", "/nologo ");
+ } else {
+ DEFINE("LDFLAGS", "/nologo /version:" +
+ PHP_VERSION + "." + PHP_MINOR_VERSION + "." + PHP_RELEASE_VERSION);
+ }
+ } else {
+ DEFINE("LDFLAGS", "/nologo ");
+ }
+}
+