summaryrefslogtreecommitdiff
path: root/config
diff options
context:
space:
mode:
authorwtc%google.com <devnull@localhost>2007-06-09 16:28:46 +0000
committerwtc%google.com <devnull@localhost>2007-06-09 16:28:46 +0000
commit7fa455a67beb7fce6dd4eb5799f2c9280a0a7ffd (patch)
tree59ff3bc64234b6a825ba61ced89bfe02efd40ce1 /config
parent7082eeccf0d31bc90dd4bb86326cff44f2053478 (diff)
downloadnspr-hg-7fa455a67beb7fce6dd4eb5799f2c9280a0a7ffd.tar.gz
Bug 350616: detect and use Microsoft (R) Manifest Tool. The patch is
contributed by Ted Mielczarek <ted.mielczarek@gmail.com>. r=wtc Modified files: configure configure.in autoconf.mk.in rules.mk
Diffstat (limited to 'config')
-rw-r--r--config/autoconf.mk.in1
-rw-r--r--config/rules.mk20
2 files changed, 17 insertions, 4 deletions
diff --git a/config/autoconf.mk.in b/config/autoconf.mk.in
index 687adbc7..1c439c68 100644
--- a/config/autoconf.mk.in
+++ b/config/autoconf.mk.in
@@ -69,6 +69,7 @@ NSINSTALL = @NSINSTALL@
FILTER = @FILTER@
IMPLIB = @IMPLIB@
CYGWIN_WRAPPER = @CYGWIN_WRAPPER@
+MT = @MT@
OS_CPPFLAGS = @CPPFLAGS@
OS_CFLAGS = $(OS_CPPFLAGS) @CFLAGS@ $(DSO_CFLAGS)
diff --git a/config/rules.mk b/config/rules.mk
index a12dcc33..d944a0cf 100644
--- a/config/rules.mk
+++ b/config/rules.mk
@@ -299,13 +299,19 @@ $(PROGRAM): $(OBJS)
@$(MAKE_OBJDIR)
ifeq ($(NS_USE_GCC)_$(OS_ARCH),_WINNT)
$(CC) $(OBJS) -Fe$@ -link $(LDFLAGS) $(OS_LIBS) $(EXTRA_LIBS)
-else
+ifdef MT
+ @if test -f $@.manifest; then \
+ $(MT) -NOLOGO -MANIFEST $@.manifest -OUTPUTRESOURCE:$@\;1; \
+ rm -f $@.manifest; \
+ fi
+endif # MSVC with manifest tool
+else # WINNT && !GCC
ifeq ($(MOZ_OS2_TOOLS),VACPP)
$(CC) $(OBJS) -Fe$@ $(LDFLAGS) $(OS_LIBS) $(EXTRA_LIBS)
else
$(CC) -o $@ $(CFLAGS) $(OBJS) $(LDFLAGS)
endif
-endif
+endif # WINNT && !GCC
ifdef ENABLE_STRIP
$(STRIP) $@
endif
@@ -340,7 +346,13 @@ ifeq ($(OS_ARCH)$(OS_RELEASE), AIX4.1)
else # AIX 4.1
ifeq ($(NS_USE_GCC)_$(OS_ARCH),_WINNT)
$(LINK_DLL) -MAP $(DLLBASE) $(DLL_LIBS) $(EXTRA_LIBS) $(OBJS) $(RES)
-else
+ifdef MT
+ @if test -f $@.manifest; then \
+ $(MT) -NOLOGO -MANIFEST $@.manifest -OUTPUTRESOURCE:$@\;2; \
+ rm -f $@.manifest; \
+ fi
+endif # MSVC with manifest tool
+else # WINNT && !GCC
ifeq ($(MOZ_OS2_TOOLS),VACPP)
$(LINK_DLL) $(DLLBASE) $(OBJS) $(OS_LIBS) $(EXTRA_LIBS) $(MAPFILE)
else # !os2 vacpp
@@ -354,7 +366,7 @@ ifeq ($(OS_TARGET), OpenVMS)
endif # OpenVMS
$(MKSHLIB) $(OBJS) $(RES) $(EXTRA_LIBS)
endif # OS2 vacpp
-endif # WINNT
+endif # WINNT && !GCC
endif # AIX 4.1
ifdef ENABLE_STRIP
$(STRIP) $@