Bug 1354785 - Add dependency on manifest files to res files. r=gps
authorMasatoshi Kimura <VYV03354@nifty.ne.jp>
Sat, 08 Apr 2017 16:59:08 +0900
changeset 563299 c39e811e3a09ec2f8f2f6cfc86a99569d34877f0
parent 563298 eed4429ced436cd68e968510f6e4d92bd553e286
child 563300 5da187560ed9261c9ca4f31843993ddad726d7a2
push id54258
push usercpeterson@mozilla.com
push dateSun, 16 Apr 2017 05:52:14 +0000
reviewersgps
bugs1354785, 1348069
milestone55.0a1
Bug 1354785 - Add dependency on manifest files to res files. r=gps Before bug 1348069, MS manifest tool was used to embed manifest files.[1] The Makefile used to use EXTRA_DEPS to invoke the manifest tool when a manifest files is changed. But it is no longer effective because the manifest file namepattern is no longer $@.exe.manifest. Now manifest files will be embedded via .res files. So we have to rebuild .res files to update embedded manifests. [1] https://dxr.mozilla.org/mozilla-central/rev/35c7be9c2db288d1d449e3cc586c4164d642c5fd/config/rules.mk#642-655 MozReview-Commit-ID: 5QiXVeImZdY
browser/app/Makefile.in
ipc/app/Makefile.in
--- a/browser/app/Makefile.in
+++ b/browser/app/Makefile.in
@@ -27,32 +27,32 @@ include $(topsrcdir)/config/config.mk
 # make sure that code itself doesn't use SSE2.
 ifdef MOZ_LINUX_32_SSE2_STARTUP_ERROR
 CXXFLAGS := $(filter-out -march=% -msse -msse2 -mfpmath=sse,$(CXXFLAGS))
 CXX := $(filter-out -march=% -msse -msse2 -mfpmath=sse,$(CXX))
 CXXFLAGS += -mno-sse -mno-sse2 -mfpmath=387
 CXX += -march=pentiumpro
 endif
 
+PROGRAMS_DEST = $(DIST)/bin
+
+include $(topsrcdir)/config/rules.mk
+
 ifeq ($(OS_ARCH),WINNT)
-# Rebuild firefox.exe if the manifest changes - it's included by splash.rc.
-# (this dependency should really be just for firefox.exe, not other targets)
+# Rebuild a .res file if the manifest changes - it's included by splash.rc.
+# (this dependency should really be just for the .res file, not other targets)
 # Note the manifest file exists in the tree, so we use the explicit filename
 # here.
 ifdef HAVE_64BIT_BUILD
-EXTRA_DEPS += firefox.exe.64.manifest
+$(RESFILE): firefox.exe.64.manifest
 else
-EXTRA_DEPS += firefox.exe.32.manifest
+$(RESFILE): firefox.exe.32.manifest
 endif
 endif
 
-PROGRAMS_DEST = $(DIST)/bin
-
-include $(topsrcdir)/config/rules.mk
-
 ifneq (,$(filter-out WINNT,$(OS_ARCH)))
 
 ifdef COMPILE_ENVIRONMENT
 libs:: 
 	cp -p $(MOZ_APP_NAME)$(BIN_SUFFIX) $(DIST)/bin/$(MOZ_APP_NAME)-bin$(BIN_SUFFIX)
 endif
 
 GARBAGE += $(addprefix $(FINAL_TARGET)/defaults/pref/, firefox.js)
--- a/ipc/app/Makefile.in
+++ b/ipc/app/Makefile.in
@@ -21,19 +21,19 @@ include $(topsrcdir)/config/rules.mk
 ifneq ($(MOZ_WIDGET_TOOLKIT),android)
 #LIBS += ../contentproc/$(LIB_PREFIX)plugin-container.$(LIB_SUFFIX)
 endif
 
 ifeq ($(OS_ARCH),WINNT) #{
 # Note the manifest file exists in the tree, so we use the explicit filename
 # here.
 ifdef HAVE_64BIT_BUILD
-EXTRA_DEPS += plugin-container.exe.64.manifest
+$(RESFILE): plugin-container.exe.64.manifest
 else
-EXTRA_DEPS += plugin-container.exe.32.manifest
+$(RESFILE): plugin-container.exe.32.manifest
 endif
 endif #}
 
 ifeq (cocoa,$(MOZ_WIDGET_TOOLKIT)) #{
 
 libs::
 	$(NSINSTALL) -D $(DIST)/bin/$(PROGRAM).app
 	rsync -a -C --exclude '*.in' $(srcdir)/macbuild/Contents $(DIST)/bin/$(MOZ_CHILD_PROCESS_NAME).app