bug 394190 - seamonkey/thunderbird not starting up due to manifest embedding issues. change manifest embedding in the non-libxul case. r=bsmedberg, a=bz
--- a/accessible/public/ia2/Makefile.in
+++ b/accessible/public/ia2/Makefile.in
@@ -94,16 +94,18 @@ CSRCS = \
MIDL_GENERATED_FILES = \
dlldata.c \
$(MIDL_INTERFACES:%.idl=%_p.c) \
$(MIDL_INTERFACES:%.idl=%_i.c) \
$(MIDL_INTERFACES:%.idl=%.h) \
$(MIDL_ENUMS:%.idl=%.h) \
$(NULL)
+EMBED_MANIFEST_AT = 2
+
include $(topsrcdir)/config/rules.mk
OS_LIBS = \
kernel32.lib \
rpcndr.lib \
rpcns4.lib \
rpcrt4.lib \
ole32.lib \
--- a/accessible/public/msaa/Makefile.in
+++ b/accessible/public/msaa/Makefile.in
@@ -114,10 +114,12 @@ EXPORTS = \
$(NULL)
export:: done_gen
# This marshall dll is also registered in the installer
register::
regsvr32 -s $(DIST)/bin/$(SHARED_LIBRARY)
+EMBED_MANIFEST_AT = 2
+
include $(topsrcdir)/config/rules.mk
--- a/config/rules.mk
+++ b/config/rules.mk
@@ -158,16 +158,20 @@ endif
ifeq ($(OS_ARCH),OS2)
DEF_FILE := $(SHARED_LIBRARY:.dll=.def)
endif
ifneq (,$(filter OS2 WINNT WINCE,$(OS_ARCH)))
IMPORT_LIBRARY := $(LIB_PREFIX)$(LIBRARY_NAME).$(IMPORT_LIB_SUFFIX)
endif
+ifeq ($(MOZ_ENABLE_LIBXUL),1)
+EMBED_MANIFEST_AT=2
+endif
+
endif # MKSHLIB
endif # FORCE_SHARED_LIB && !BUILD_STATIC_LIBS
endif # LIBRARY
ifeq (,$(BUILD_STATIC_LIBS)$(FORCE_STATIC_LIB))
LIBRARY := $(NULL)
endif
@@ -1064,20 +1068,22 @@ ifdef NO_LD_ARCHIVE_FLAGS
ifdef SHARED_LIBRARY_LIBS
@rm -f $(SUB_SHLOBJS)
@for lib in $(SHARED_LIBRARY_LIBS); do $(AR_EXTRACT) $${lib}; $(CLEANUP2); done
endif # SHARED_LIBRARY_LIBS
endif # NO_LD_ARCHIVE_FLAGS
$(MKSHLIB) $(SHLIB_LDSTARTFILE) $(OBJS) $(LOBJS) $(SUB_SHLOBJS) $(RESFILE) $(LDFLAGS) $(EXTRA_DSO_LDOPTS) $(OS_LIBS) $(EXTRA_LIBS) $(DEF_FILE) $(SHLIB_LDENDFILE)
ifeq (_WINNT,$(GNU_CC)_$(OS_ARCH))
ifdef MSMANIFEST_TOOL
+ifdef EMBED_MANIFEST_AT
@if test -f $@.manifest; then \
- mt.exe -NOLOGO -MANIFEST $@.manifest -OUTPUTRESOURCE:$@\;2; \
+ mt.exe -NOLOGO -MANIFEST $@.manifest -OUTPUTRESOURCE:$@\;$(EMBED_MANIFEST_AT); \
rm -f $@.manifest; \
fi
+endif # EMBED_MANIFEST_AT
endif # MSVC with manifest tool
endif # WINNT && !GCC
ifeq ($(OS_ARCH),Darwin)
@for lib in $(SHARED_LIBRARY_LIBS); do \
libdir=`echo $$lib|sed -e 's,/[^/]*\.a,,'`; \
ofiles=`$(AR_LIST) $${lib}`; \
for ofile in $$ofiles; do \
if [ -f $$libdir/$$ofile ]; then \
--- a/embedding/browser/activex/src/control/Makefile.in
+++ b/embedding/browser/activex/src/control/Makefile.in
@@ -109,16 +109,18 @@ OS_LIBS += \
shell32.lib \
$(NULL)
MIDL_GENERATED_FILES = MozillaControl_i.c MozillaControl.h
GARBAGE += $(DEFFILE) $(MIDL_GENERATED_FILES) done_gen
ENABLE_CXX_EXCEPTIONS = 1
+EMBED_MANIFEST_AT = 2
+
include $(topsrcdir)/config/rules.mk
CXXFLAGS += -D "WIN32" -U "ClientWallet"
LDFLAGS += -SUBSYSTEM:windows -DLL
ifdef MOZ_NO_DEBUG_RTL
DEFINES += -DMOZ_NO_DEBUG_RTL
endif
--- a/embedding/browser/activex/src/control_kicker/Makefile.in
+++ b/embedding/browser/activex/src/control_kicker/Makefile.in
@@ -56,19 +56,21 @@ CPPSRCS = \
OS_LIBS += \
comdlg32.lib \
ole32.lib \
oleaut32.lib \
uuid.lib \
shell32.lib \
$(NULL)
-
+
ENABLE_CXX_EXCEPTIONS = 1
+EMBED_MANIFEST_AT = 2
+
include $(topsrcdir)/config/rules.mk
CXXFLAGS += -D "WIN32" -GF -MT -O1
libs::
ifdef MOZ_ACTIVEX_REGISTRATION
ifneq ($(OS_TARGET),WIN98)
-regsvr32 -s -c $(DIST)/bin/$(SHARED_LIBRARY)