Use the correct processor architecture in our manifest. This lets us

create a usable wireshark.exe for x64 using Visual C++ 10.  Change the
name of VCREDIST_DLL to PROCESSOR_ARCHITECTURE to more accurately
reflect what it's used for. Allow MSVC_VARIANT to be set from the
system environment, mainly to keep me from accidentally clobbering it
in the future.

svn path=/trunk/; revision=35687
This commit is contained in:
Gerald Combs 2011-01-28 00:21:05 +00:00
parent 624ebe8464
commit 5d46856320
3 changed files with 17 additions and 8 deletions

View File

@ -55,21 +55,23 @@ TOOLS_DIR=tools
# TARGET_MACHINE (Used for link /MACHINE) should be one of "X86" or "X64" # TARGET_MACHINE (Used for link /MACHINE) should be one of "X86" or "X64"
# (sorry ARM, Alpha, MIPS, and Itanium fans). # (sorry ARM, Alpha, MIPS, and Itanium fans).
# CPU (Used by win32.mak) should be one of "i386" or "AMD64". # CPU (Used by win32.mak) should be one of "i386" or "AMD64".
# PROCESSOR_ARCHITECTURE (Used for redistributable packages and
# manifests) should be one of "x86" or "amd64".
!if "$(WIRESHARK_TARGET_PLATFORM)" == "win32" !if "$(WIRESHARK_TARGET_PLATFORM)" == "win32"
TARGET_MACHINE=x86 TARGET_MACHINE=x86
CPU=i386 CPU=i386
VCREDIST_DLL=x86 PROCESSOR_ARCHITECTURE=x86
!else if "$(WIRESHARK_TARGET_PLATFORM)" == "win64" !else if "$(WIRESHARK_TARGET_PLATFORM)" == "win64"
TARGET_MACHINE=x64 TARGET_MACHINE=x64
CPU=AMD64 CPU=AMD64
VCREDIST_DLL=amd64 PROCESSOR_ARCHITECTURE=amd64
!else !else
!error Your mysterious moon-man architecture "$(WIRESHARK_TARGET_PLATFORM)" frightens and confuses us. !error Your mysterious moon-man architecture "$(WIRESHARK_TARGET_PLATFORM)" frightens and confuses us.
!endif !endif
##### Microsoft Visual C / Studio Variant ##### ##### Microsoft Visual C / Studio Variant #####
# for the different Studios, see: http://en.wikipedia.org/wiki/Microsoft_Visual_Studio # For the different Studios, see: http://en.wikipedia.org/wiki/Microsoft_Visual_Studio
# only one of the following MSVC_VARIANT settings should be used # only one of the following MSVC_VARIANT settings should be used
# BTW: The "Microsoft Visual C++ Toolkit 2003" DOESN'T WORK for WS! # BTW: The "Microsoft Visual C++ Toolkit 2003" DOESN'T WORK for WS!
@ -111,7 +113,7 @@ VCREDIST_DLL=amd64
# "Microsoft Visual Studio 2008" # "Microsoft Visual Studio 2008"
# Visual C++ 9.0, _MSC_VER 1500, msvcr90.dll # Visual C++ 9.0, _MSC_VER 1500, msvcr90.dll
MSVC_VARIANT=MSVC2008 #MSVC_VARIANT=MSVC2008
# "Microsoft Visual C++ 2008 Express Edition" # "Microsoft Visual C++ 2008 Express Edition"
# Visual C++ 9.0, _MSC_VER 1500, msvcr90.dll # Visual C++ 9.0, _MSC_VER 1500, msvcr90.dll
@ -125,6 +127,12 @@ MSVC_VARIANT=MSVC2008
# Visual C++ 10.0, _MSC_VER 1600, msvcr100.dll # Visual C++ 10.0, _MSC_VER 1600, msvcr100.dll
#MSVC_VARIANT=MSVC2010EE #MSVC_VARIANT=MSVC2010EE
# The default if we haven't set a system environment variable or
# uncommented an entry above.
!IFNDEF MSVC_VARIANT
MSVC_VARIANT=MSVC2008
!ENDIF
# #
# Optional: To compile some time critical code from assembler instead of C # Optional: To compile some time critical code from assembler instead of C
# #
@ -863,7 +871,7 @@ MSVCR_DLL=$(PROGRAM_FILES)\Microsoft Visual Studio .NET 2003\Visual Studio .NET
# no redistributable available for this package! # no redistributable available for this package!
!ELSEIF "$(MSVC_VARIANT)" == "MSVC2005" !ELSEIF "$(MSVC_VARIANT)" == "MSVC2005"
MSVCR_DLL=$(PROGRAM_FILES)\Microsoft Visual Studio 8\VC\redist\$(VCREDIST_DLL)\Microsoft.VC80.CRT\*.* MSVCR_DLL=$(PROGRAM_FILES)\Microsoft Visual Studio 8\VC\redist\$(PROCESSOR_ARCHITECTURE)\Microsoft.VC80.CRT\*.*
!ELSEIF "$(MSVC_VARIANT)" == "MSVC2005EE" || "$(MSVC_VARIANT)" == "DOTNET20" || "$(MSVC_VARIANT)" == "MSVC2008EE" !ELSEIF "$(MSVC_VARIANT)" == "MSVC2005EE" || "$(MSVC_VARIANT)" == "DOTNET20" || "$(MSVC_VARIANT)" == "MSVC2008EE"
# you need to download the redistributable package vcredist_x86.exe from Microsoft first, # you need to download the redistributable package vcredist_x86.exe from Microsoft first,
@ -871,7 +879,7 @@ MSVCR_DLL=$(PROGRAM_FILES)\Microsoft Visual Studio 8\VC\redist\$(VCREDIST_DLL)\M
VCREDIST_EXE=$(WIRESHARK_LIBS)\vcredist_$(TARGET_MACHINE).exe VCREDIST_EXE=$(WIRESHARK_LIBS)\vcredist_$(TARGET_MACHINE).exe
!ELSEIF "$(MSVC_VARIANT)" == "MSVC2008" !ELSEIF "$(MSVC_VARIANT)" == "MSVC2008"
MSVCR_DLL=$(PROGRAM_FILES)\Microsoft Visual Studio 9.0\VC\redist\$(VCREDIST_DLL)\Microsoft.VC90.CRT\*.* MSVCR_DLL=$(PROGRAM_FILES)\Microsoft Visual Studio 9.0\VC\redist\$(PROCESSOR_ARCHITECTURE)\Microsoft.VC90.CRT\*.*
!ELSEIF "$(MSVC_VARIANT)" == "MSVC2010EE" !ELSEIF "$(MSVC_VARIANT)" == "MSVC2010EE"
# you need to download the redistributable package vcredist_x86.exe from Microsoft first, # you need to download the redistributable package vcredist_x86.exe from Microsoft first,

View File

@ -13,6 +13,7 @@ wireshark.exe.manifest: wireshark.exe.manifest.in ..\config.nmake
sed -e s/@VERSION_MAJOR@/$(VERSION_MAJOR)/ \ sed -e s/@VERSION_MAJOR@/$(VERSION_MAJOR)/ \
-e s/@VERSION_MINOR@/$(VERSION_MINOR)/ \ -e s/@VERSION_MINOR@/$(VERSION_MINOR)/ \
-e s/@VERSION_MICRO@/$(VERSION_MICRO)/ \ -e s/@VERSION_MICRO@/$(VERSION_MICRO)/ \
-e s/@PROCESSOR_ARCHITECTURE@/$(PROCESSOR_ARCHITECTURE)/ \
< wireshark.exe.manifest.in > $@ < wireshark.exe.manifest.in > $@
wireshark.rc : file_dlg_win32.rc wireshark.rc.in wireshark.exe.manifest ..\config.nmake wireshark.rc : file_dlg_win32.rc wireshark.rc.in wireshark.exe.manifest ..\config.nmake

View File

@ -2,7 +2,7 @@
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity <assemblyIdentity
version="@VERSION_MAJOR@.@VERSION_MINOR@.@VERSION_MICRO@.0" version="@VERSION_MAJOR@.@VERSION_MINOR@.@VERSION_MICRO@.0"
processorArchitecture="X86" processorArchitecture="@PROCESSOR_ARCHITECTURE@"
name="WiresharkDevelopmentTeam.Wireshark" name="WiresharkDevelopmentTeam.Wireshark"
type="win32" type="win32"
/> />
@ -13,7 +13,7 @@
type="win32" type="win32"
name="Microsoft.Windows.Common-Controls" name="Microsoft.Windows.Common-Controls"
version="6.0.0.0" version="6.0.0.0"
processorArchitecture="X86" processorArchitecture="@PROCESSOR_ARCHITECTURE@"
publicKeyToken="6595b64144ccf1df" publicKeyToken="6595b64144ccf1df"
language="*" language="*"
/> />