1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
|
--- mozilla.pure/configure 2008-06-16 00:25:31.000000000 +0200
+++ mozilla/configure 2008-11-09 23:59:19.984375000 +0100
@@ -1068,6 +1068,8 @@
GCONF_VERSION=1.2.1
LIBGNOME_VERSION=2.0
+MSMANIFEST_TOOL=
+
MISSING_X=
for ac_prog in gawk mawk nawk awk
do
@@ -3025,6 +3027,22 @@
else
{ echo "configure: error: This version of the MSVC compiler, $CC_VERSION , is unsupported." 1>&2; exit 1; }
fi
+
+ # bug #249782
+ # ensure that mt.exe is Microsoft (R) Manifest Tool and not magnetic tape manipulation utility (or something else)
+ if test "$_CC_SUITE" -ge "8"; then
+ MSMT_TOOL=`mt 2>&1|grep 'Microsoft (R) Manifest Tool'`
+ if test -n "MSMT_TOOL"; then
+ MSMANIFEST_TOOL_VERSION=`echo ${MSMANIFEST_TOOL}|grep -Po "(^|\s)[0-9]+\.[0-9]+\.[0-9]+(\.[0-9]+)?(\s|$)"`
+ if test -z "MSMANIFEST_TOOL_VERSION"; then
+ echo "configure: warning: Unknown version of the Microsoft (R) Manifest Tool." 1>&2
+ fi
+ MSMANIFEST_TOOL=1
+ unset MSMT_TOOL
+ else
+ { echo "Microsoft (R) Manifest Tool must be in your \$PATH." 1>&2; exit 1; }
+ fi
+ fi
# Check linker version
_LD_FULL_VERSION=`"${LD}" -v 2>&1 | sed -ne "$_MSVC_VER_FILTER"`
--- mozilla.pure/configure.in 2008-06-16 00:25:32.000000000 +0200
+++ mozilla/configure.in 2008-11-09 23:59:20.000000000 +0100
@@ -126,6 +126,8 @@
GCONF_VERSION=1.2.1
LIBGNOME_VERSION=2.0
+MSMANIFEST_TOOL=
+
dnl Set various checks
dnl ========================================================
MISSING_X=
@@ -428,6 +430,22 @@
else
AC_MSG_ERROR([This version of the MSVC compiler, $CC_VERSION , is unsupported.])
fi
+
+ # bug #249782
+ # ensure that mt.exe is Microsoft (R) Manifest Tool and not magnetic tape manipulation utility (or something else)
+ if test "$_CC_SUITE" -ge "8"; then
+ MSMT_TOOL=`mt 2>&1|grep 'Microsoft (R) Manifest Tool'`
+ if test -n "MSMT_TOOL"; then
+ MSMANIFEST_TOOL_VERSION=`echo ${MSMANIFEST_TOOL}|grep -Po "(^|\s)[0-9]+\.[0-9]+\.[0-9]+(\.[0-9]+)?(\s|$)"`
+ if test -z "MSMANIFEST_TOOL_VERSION"; then
+ AC_MSG_WARN([Unknown version of the Microsoft (R) Manifest Tool.])
+ fi
+ MSMANIFEST_TOOL=1
+ unset MSMT_TOOL
+ else
+ AC_MSG_ERROR([Microsoft (R) Manifest Tool must be in your \$PATH.])
+ fi
+ fi
# Check linker version
_LD_FULL_VERSION=`"${LD}" -v 2>&1 | sed -ne "$_MSVC_VER_FILTER"`
@@ -7319,6 +7339,7 @@
AC_SUBST(USE_N32)
AC_SUBST(CC_VERSION)
AC_SUBST(CXX_VERSION)
+AC_SUBST(MSMANIFEST_TOOL)
if test "$USING_HCC"; then
CC='${topsrcdir}/build/hcc'
--- mozilla.pure/config/rules.mk 2008-01-29 20:30:22.000000000 +0100
+++ mozilla/config/rules.mk 2008-11-09 23:59:19.968750000 +0100
@@ -811,6 +812,12 @@
ifeq (_WINNT,$(GNU_CC)_$(OS_ARCH))
$(LD) -NOLOGO -OUT:$@ -PDB:$(PDBFILE) $(WIN32_EXE_LDFLAGS) $(LDFLAGS) $(PROGOBJS) $(RESFILE) $(LIBS) $(EXTRA_LIBS) $(OS_LIBS)
+ifdef MSMANIFEST_TOOL
+ @if test -f $@.manifest; then \
+ mt.exe -NOLOGO -MANIFEST $@.manifest -OUTPUTRESOURCE:$@\;1; \
+ rm -f $@.manifest; \
+ fi
+endif # MSVC with manifest tool
else
ifeq ($(CPP_PROG_LINK),1)
$(CCC) -o $@ $(CXXFLAGS) $(WRAP_MALLOC_CFLAGS) $(PROGOBJS) $(RESFILE) $(WIN32_EXE_LDFLAGS) $(LDFLAGS) $(LIBS_DIR) $(LIBS) $(OS_LIBS) $(EXTRA_LIBS) $(BIN_FLAGS) $(WRAP_MALLOC_LIB) $(PROFILER_LIBS) $(EXE_DEF_FILE)
@@ -843,6 +850,12 @@
else
ifeq (_WINNT,$(GNU_CC)_$(HOST_OS_ARCH))
$(HOST_LD) -NOLOGO -OUT:$@ -PDB:$(PDBFILE) $(HOST_OBJS) $(WIN32_EXE_LDFLAGS) $(HOST_LIBS) $(HOST_EXTRA_LIBS)
+ifdef MSMANIFEST_TOOL
+ @if test -f $@.manifest; then \
+ mt.exe -NOLOGO -MANIFEST $@.manifest -OUTPUTRESOURCE:$@\;1; \
+ rm -f $@.manifest; \
+ fi
+endif # MSVC with manifest tool
else
$(HOST_CC) -o $@ $(HOST_CFLAGS) $(HOST_LDFLAGS) $(HOST_PROGOBJS) $(HOST_LIBS) $(HOST_EXTRA_LIBS)
endif
@@ -866,6 +879,12 @@
else
ifeq (_WINNT,$(GNU_CC)_$(OS_ARCH))
$(LD) -nologo -out:$@ -pdb:$(PDBFILE) $< $(WIN32_EXE_LDFLAGS) $(LDFLAGS) $(LIBS) $(EXTRA_LIBS) $(OS_LIBS)
+ifdef MSMANIFEST_TOOL
+ @if test -f $@.manifest; then \
+ mt.exe -NOLOGO -MANIFEST $@.manifest -OUTPUTRESOURCE:$@\;1; \
+ rm -f $@.manifest; \
+ fi
+endif # MSVC with manifest tool
else
ifeq ($(CPP_PROG_LINK),1)
$(CCC) $(WRAP_MALLOC_CFLAGS) $(CXXFLAGS) -o $@ $< $(WIN32_EXE_LDFLAGS) $(LDFLAGS) $(LIBS_DIR) $(LIBS) $(OS_LIBS) $(EXTRA_LIBS) $(WRAP_MALLOC_LIB) $(PROFILER_LIBS) $(BIN_FLAGS)
@@ -1019,6 +1038,14 @@
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
+ @if test -f $@.manifest; then \
+ mt.exe -NOLOGO -MANIFEST $@.manifest -OUTPUTRESOURCE:$@\;2; \
+ rm -f $@.manifest; \
+ fi
+endif # MSVC with manifest tool
+endif # WINNT && !GCC
@rm -f foodummyfilefoo $(SUB_SHLOBJS) $(DELETE_AFTER_LINK)
else # os2 vacpp
$(MKSHLIB) -O:$@ -DLL -INC:_dllentry $(LDFLAGS) $(OBJS) $(LOBJS) $(EXTRA_DSO_LDOPTS) $(OS_LIBS) $(EXTRA_LIBS) $(DEF_FILE)
--- mozilla.pure/config/autoconf.mk.in 2006-09-14 20:07:03.000000000 +0200
+++ mozilla/config/autoconf.mk.in 2008-11-09 23:59:19.953125000 +0100
@@ -543,6 +543,7 @@
MOZ_TOOLS_DIR = @MOZ_TOOLS_DIR@
MOZ_DEBUG_SYMBOLS = @MOZ_DEBUG_SYMBOLS@
MOZ_QUANTIFY = @MOZ_QUANTIFY@
+MSMANIFEST_TOOL = @MSMANIFEST_TOOL@
#python options
PYTHON = @MOZ_PYTHON@
|