com php-src: fix linking for clang, using linker directly: win32/build/config.w32 win32/build/confutils.js
| From: | Anatol Belski | Date: | Fri, 07 Nov 2014 09:18:11 +0000 |
| Subject: | com php-src: fix linking for clang, using linker directly: win32/build/config.w32 win32/build/confutils.js | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-82977@lists.php.net to get a copy of this message | ||
Commit: 46d6baf6a0113245e7442450a2592a81feb55a8a
Author: Anatol Belski <ab@php.net> Fri, 7 Nov 2014 00:58:02 +0100
Parents: 936575c2e20230800ca1a50110100034da42f599
Branches: master
Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=46d6baf6a0113245e7442450a2592a81feb55a8a
Log:
fix linking for clang, using linker directly
Changed paths:
M win32/build/config.w32
M win32/build/confutils.js
Diff:
diff --git a/win32/build/config.w32 b/win32/build/config.w32
index 5af4373..a64cdd6 100644
--- a/win32/build/config.w32
+++ b/win32/build/config.w32
@@ -233,8 +233,8 @@ if (VS_TOOLSET && VCVERS >= 1500 && PHP_MP !=
'disable') {
// General link flags
-if (VS_TOOLSET) {
- if (VCVERS >= 1700) {
+if (VS_TOOLSET || CLANG_TOOLSET) {
+ if (VCVERS >= 1700 || CLANG_TOOLSET) {
DEFINE("LDFLAGS", "/nologo ");
} else {
DEFINE("LDFLAGS", "/nologo /version:" +
diff --git a/win32/build/confutils.js b/win32/build/confutils..js
index c2bb4b0..55d1e8c 100644
--- a/win32/build/confutils.js
+++ b/win32/build/confutils.js
@@ -1117,15 +1117,15 @@ function SAPI(sapiname, file_list, makefiletarget, cflags, obj_dir)
if (ld) {
MFO.WriteLine("\t" + ld + " /nologo /out:$(BUILD_DIR)\\" + makefiletarget +
" " + ldflags + " $(" + SAPI + "_GLOBAL_OBJS) $(PHPLIB) $(LDFLAGS_" +
SAPI + ") $(LIBS_" + SAPI + ") $(BUILD_DIR)\\" + resname);
} else {
- ld = "@$(CC)";
- MFO.WriteLine("\t" + ld + " /nologo " + " $(" + SAPI +
"_GLOBAL_OBJS) $(PHPLIB) $(LIBS_" + SAPI + ") $(BUILD_DIR)\\" + resname + "
/link /out:$(BUILD_DIR)\\" + makefiletarget + " " + ldflags + " $(LDFLAGS_"
+ SAPI + ")");
+ ld = '@"$(LINK)"';
+ MFO.WriteLine("\t" + ld + " /nologo " + " $(" + SAPI +
"_GLOBAL_OBJS) $(PHPLIB) $(LIBS_" + SAPI + ") $(BUILD_DIR)\\" + resname + "
/out:$(BUILD_DIR)\\" + makefiletarget + " " + ldflags + " $(LDFLAGS_" +
SAPI + ")");
}
} else {
if (ld) {
MFO.WriteLine("\t" + ld + " /nologo /out:$(BUILD_DIR)\\" + makefiletarget +
" " + ldflags + " $(" + SAPI + "_GLOBAL_OBJS) $(BUILD_DIR)\\$(PHPLIB)
$(LDFLAGS_" + SAPI + ") $(LIBS_" + SAPI + ") $(BUILD_DIR)\\" + resname);
} else {
- ld = "@$(CC)";
- MFO.WriteLine("\t" + ld + " /nologo " + " $(" + SAPI +
"_GLOBAL_OBJS) $(BUILD_DIR)\\$(PHPLIB) $(LIBS_" + SAPI + ") $(BUILD_DIR)\\" +
resname + " /link /out:$(BUILD_DIR)\\" + makefiletarget + " " + ldflags + "
$(LDFLAGS_" + SAPI + ")");
+ ld = '@"$(LINK)"';
+ MFO.WriteLine("\t" + ld + " /nologo " + " $(" + SAPI +
"_GLOBAL_OBJS) $(BUILD_DIR)\\$(PHPLIB) $(LIBS_" + SAPI + ") $(BUILD_DIR)\\" +
resname + " /out:$(BUILD_DIR)\\" + makefiletarget + " " + ldflags + "
$(LDFLAGS_" + SAPI + ")");
}
}
@@ -1290,7 +1290,7 @@ function EXTENSION(extname, file_list, shared, cflags, dllname, obj_dir)
var libname = dllname.substring(0, dllname.length-4) + ".lib";
var resname = generate_version_info_resource(dllname, extname, configure_module_dirname, false);
- var ld = "@$(CC)";
+ var ld = '@"$(LINK)"';
ldflags = "";
if (is_pgo_desired(extname) && (PHP_PGI == "yes" || PHP_PGO != "no"))
{
@@ -1311,10 +1311,10 @@ function EXTENSION(extname, file_list, shared, cflags, dllname, obj_dir)
MFO.WriteBlankLines(1);
if (MODE_PHPIZE) {
MFO.WriteLine("$(BUILD_DIR)\\" + dllname + ": $(DEPS_" + EXT + ")
$(" + EXT + "_GLOBAL_OBJS) $(PHPLIB) $(BUILD_DIR)\\" + resname);
- MFO.WriteLine("\t" + ld + " $(" + EXT + "_GLOBAL_OBJS) $(PHPLIB)
$(LIBS_" + EXT + ") $(LIBS) $(BUILD_DIR)\\" + resname + " /link
/out:$(BUILD_DIR)\\" + dllname + " $(DLL_LDFLAGS) $(LDFLAGS) $(LDFLAGS_" + EXT +
")");
+ MFO.WriteLine("\t" + ld + " $(" + EXT + "_GLOBAL_OBJS) $(PHPLIB)
$(LIBS_" + EXT + ") $(LIBS) $(BUILD_DIR)\\" + resname + "
/out:$(BUILD_DIR)\\" + dllname + " $(DLL_LDFLAGS) $(LDFLAGS) $(LDFLAGS_" + EXT +
")");
} else {
MFO.WriteLine("$(BUILD_DIR)\\" + dllname + ": $(DEPS_" + EXT + ")
$(" + EXT + "_GLOBAL_OBJS) $(BUILD_DIR)\\$(PHPLIB) $(BUILD_DIR)\\" + resname);
- MFO.WriteLine("\t" + ld + " $(" + EXT + "_GLOBAL_OBJS)
$(BUILD_DIR)\\$(PHPLIB) $(LIBS_" + EXT + ") $(LIBS) $(BUILD_DIR)\\" + resname +
" /link /out:$(BUILD_DIR)\\" + dllname + ldflags + " $(DLL_LDFLAGS) $(LDFLAGS)
$(LDFLAGS_" + EXT + ")");
+ MFO.WriteLine("\t" + ld + " $(" + EXT + "_GLOBAL_OBJS)
$(BUILD_DIR)\\$(PHPLIB) $(LIBS_" + EXT + ") $(LIBS) $(BUILD_DIR)\\" + resname +
" /out:$(BUILD_DIR)\\" + dllname + ldflags + " $(DLL_LDFLAGS) $(LDFLAGS)
$(LDFLAGS_" + EXT + ")");
}
MFO.WriteLine("\t-@$(_VC_MANIFEST_EMBED_DLL)");
MFO.WriteBlankLines(1);