]> granicus.if.org Git - php/commitdiff
fix linking for clang, using linker directly
authorAnatol Belski <ab@php.net>
Thu, 6 Nov 2014 23:58:02 +0000 (00:58 +0100)
committerAnatol Belski <ab@php.net>
Fri, 7 Nov 2014 09:18:11 +0000 (10:18 +0100)
win32/build/config.w32
win32/build/confutils.js

index 5af43734f0c14396dbe9e3a1201388f769f745a7..a64cdd66c333be1d97b8dd2107b31e213a1a2c8a 100644 (file)
@@ -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:" +
index c2bb4b0fbd7d2f98b76120a8152159d098f68564..55d1e8ccc290df46af86d3bef4f72fa27de75daa 100644 (file)
@@ -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);