return p;\r
}\r
\r
+function generate_version_info_manifest(makefiletarget)\r
+{\r
+ var manifest_name = makefiletarget + ".manifest";\r
+\r
+ MFO.WriteLine("$(BUILD_DIR)\\" + manifest_name + ": win32\\build\\default.manifest");\r
+ MFO.WriteLine("\t@copy $(PHP_SRC_DIR)\\win32\\build\\default.manifest $(BUILD_DIR)\\" + makefiletarget + ".manifest");\r
+\r
+ return manifest_name;\r
+}\r
+\r
/* emits rule to generate version info for a SAPI\r
* or extension. Returns the name of the .res file\r
* that will be generated */\r
/* generate a .res file containing version information */\r
resname = generate_version_info_resource(makefiletarget, sapiname, configure_module_dirname, true);\r
\r
+ manifest_name = generate_version_info_manifest(makefiletarget);\r
+\r
MFO.WriteLine(makefiletarget + ": $(BUILD_DIR)\\" + makefiletarget);\r
MFO.WriteLine("\t@echo SAPI " + sapiname_for_printing + " build complete");\r
if (MODE_PHPIZE) {\r
- MFO.WriteLine("$(BUILD_DIR)\\" + makefiletarget + ": $(DEPS_" + SAPI + ") $(" + SAPI + "_GLOBAL_OBJS) $(PHPLIB) $(BUILD_DIR)\\" + resname);\r
+ MFO.WriteLine("$(BUILD_DIR)\\" + makefiletarget + ": $(DEPS_" + SAPI + ") $(" + SAPI + "_GLOBAL_OBJS) $(PHPLIB) $(BUILD_DIR)\\" + resname + " $(BUILD_DIR)\\" + manifest_name);\r
} else {\r
- MFO.WriteLine("$(BUILD_DIR)\\" + makefiletarget + ": $(DEPS_" + SAPI + ") $(" + SAPI + "_GLOBAL_OBJS) $(BUILD_DIR)\\$(PHPLIB) $(BUILD_DIR)\\" + resname);\r
+ MFO.WriteLine("$(BUILD_DIR)\\" + makefiletarget + ": $(DEPS_" + SAPI + ") $(" + SAPI + "_GLOBAL_OBJS) $(BUILD_DIR)\\$(PHPLIB) $(BUILD_DIR)\\" + resname + " $(BUILD_DIR)\\" + manifest_name);\r
}\r
\r
if (makefiletarget.match(new RegExp("\\.dll$"))) {\r
\r
var resname = generate_version_info_resource(dllname, extname, configure_module_dirname, false);\r
var ld = "@$(CC)";\r
+ var manifest_name = generate_version_info_manifest(dllname);\r
\r
ldflags = "";\r
if (is_pgo_desired(extname) && (PHP_PGI == "yes" || PHP_PGO != "no")) {\r
MFO.WriteLine("$(BUILD_DIR)\\" + libname + ": $(BUILD_DIR)\\" + dllname);\r
MFO.WriteBlankLines(1);\r
if (MODE_PHPIZE) {\r
- MFO.WriteLine("$(BUILD_DIR)\\" + dllname + ": $(DEPS_" + EXT + ") $(" + EXT + "_GLOBAL_OBJS) $(PHPLIB) $(BUILD_DIR)\\" + resname);\r
+ MFO.WriteLine("$(BUILD_DIR)\\" + dllname + ": $(DEPS_" + EXT + ") $(" + EXT + "_GLOBAL_OBJS) $(PHPLIB) $(BUILD_DIR)\\" + resname + " $(BUILD_DIR)\\" + manifest_name);\r
MFO.WriteLine("\t" + ld + " $(" + EXT + "_GLOBAL_OBJS) $(PHPLIB) $(LIBS_" + EXT + ") $(LIBS) $(BUILD_DIR)\\" + resname + " /link /out:$(BUILD_DIR)\\" + dllname + " $(DLL_LDFLAGS) $(LDFLAGS) $(LDFLAGS_" + EXT + ")");\r
} else {\r
- MFO.WriteLine("$(BUILD_DIR)\\" + dllname + ": $(DEPS_" + EXT + ") $(" + EXT + "_GLOBAL_OBJS) $(BUILD_DIR)\\$(PHPLIB) $(BUILD_DIR)\\" + resname);\r
+ MFO.WriteLine("$(BUILD_DIR)\\" + dllname + ": $(DEPS_" + EXT + ") $(" + EXT + "_GLOBAL_OBJS) $(BUILD_DIR)\\$(PHPLIB) $(BUILD_DIR)\\" + resname + " $(BUILD_DIR)\\" + manifest_name);\r
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 + ")");\r
}\r
MFO.WriteLine("\t-@$(_VC_MANIFEST_EMBED_DLL)");\r