diff options
author | ulfl <ulfl@f5534014-38df-0310-8fa8-9805f1628bb7> | 2007-01-13 00:59:39 +0000 |
---|---|---|
committer | ulfl <ulfl@f5534014-38df-0310-8fa8-9805f1628bb7> | 2007-01-13 00:59:39 +0000 |
commit | 63ec2065bba2436d9b7d7aa1761b1832307397b9 (patch) | |
tree | 0d71f08628776316b938f885a182a91586631f1e | |
parent | a3634820bf3cdb7f7d26f0f15420cca945a24b81 (diff) |
fix some remaining MSVC != V6 issues:
- add redistributables (msvcr*.dll) to the NSIS installer (depending on MSVC_VARIANT)
- split MSVC2006 and MSVC2006EE (Express Edition) settings in config.nmake, as redistributable settings for NSIS are different
- remove Platform SDK setting from config.nmake, it's not needed
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@20411 f5534014-38df-0310-8fa8-9805f1628bb7
-rw-r--r-- | config.nmake | 68 | ||||
-rw-r--r-- | packaging/nsis/Makefile.nmake | 6 | ||||
-rw-r--r-- | packaging/nsis/wireshark.nsi | 25 |
3 files changed, 84 insertions, 15 deletions
diff --git a/config.nmake b/config.nmake index 9996bfa72d..e8e34a2370 100644 --- a/config.nmake +++ b/config.nmake @@ -52,7 +52,7 @@ MSVC_VARIANT=MSVC6 # Visual C++ 7.0, _MSC_VER 1300, msvcr70.dll #MSVC_VARIANT=MSVC2002 -# "Microsoft .Net Framework SDK Version 1.0" - EXPERIMENTAL +# "Microsoft .Net Framework SDK Version 1.0" - WORKS # needs additional Platform SDK installation # Visual C++ 7.0, _MSC_VER 1300, msvcr70.dll #MSVC_VARIANT=DOTNET10 @@ -67,26 +67,19 @@ MSVC_VARIANT=MSVC6 #MSVC_VARIANT=DOTNET11 # "Microsoft Visual Studio 2005" - WORKS +# Visual C++ 8.0, _MSC_VER 1400, msvcr80.dll +MSVC_VARIANT=MSVC2005 + # "Microsoft Visual C++ 2005 Express Edition" - WORKS -# The "Express Edition" needs additional Platform SDK installation +# needs additional Platform SDK installation # Visual C++ 8.0, _MSC_VER 1400, msvcr80.dll -#MSVC_VARIANT=MSVC2005 +#MSVC_VARIANT=MSVC2005EE # "Microsoft .Net Framework 2.0 SDK" - WORKS # needs additional Platform SDK installation # Visual C++ 8.0, _MSC_VER 1400, msvcr80.dll #MSVC_VARIANT=DOTNET20 -# -# Optional: Microsoft Platform SDK. -# (Mandatory for some MSVC_VARIANTs, see above) -# -# If you don't have the PSDK, comment this line out, so that -# PLATFORM_SDK_DIR isn't defined. -# -# If you have installed a platform SDK, set this to the directory where it reside -#PLATFORM_SDK_DIR=$(PROGRAM_FILES)\Microsoft Platform SDK for Windows Server 2003 R2 - ##### Libraries ##### @@ -408,7 +401,7 @@ MAKENSIS="$(PROGRAM_FILES)\nsis\makensis.exe" # !IF "$(MSVC_VARIANT)" == "MSVC6" || "$(MSVC_VARIANT)" == "MSVC2002" || "$(MSVC_VARIANT)" == "DOTNET10" || "$(MSVC_VARIANT)" == "MSVC2003" || "$(MSVC_VARIANT)" == "DOTNET11" LOCAL_CFLAGS=/Zi /W3 /MD -!ELSEIF "$(MSVC_VARIANT)" == "MSVC2005" || "$(MSVC_VARIANT)" == "DOTNET20" +!ELSEIF "$(MSVC_VARIANT)" == "MSVC2005" || "$(MSVC_VARIANT)" == "MSVC2005EE" || "$(MSVC_VARIANT)" == "DOTNET20" LOCAL_CFLAGS=/Zi /W3 /MD /D_CRT_SECURE_NO_DEPRECATE /D_CRT_NONSTDC_NO_DEPRECATE !ELSE !ERROR MSVC_VARIANT unknown @@ -457,6 +450,53 @@ INSTALL2_DIR=wireshark-gtk2 +##### C-Runtime Redistributable ##### +# +# The C-Runtime since Version 7 must be shipped together with +# the program installer, to avoid missing msvcr*.dll files on +# the target machine. +# +# The location of these files differ on the various compiler +# packages, the following will use the default paths depending +# on the package version. +# +!IF "$(MSVC_VARIANT)" == "MSVC6" +# msvcrt.dll will already be available on target machines - nothing additional to install + +!ELSEIF "$(MSVC_VARIANT)" == "MSVC2002" +# you probably need to tweak this directory if you don't use the professional edition! +MSVCR_DLL=$(PROGRAM_FILES)\Microsoft Visual Studio .NET\Visual Studio .NET Professional - English\msvcr70.dll + +!ELSEIF "$(MSVC_VARIANT)" == "DOTNET10" +# no redistributable available for this package! + +!ELSEIF "$(MSVC_VARIANT)" == "MSVC2003" +# you probably need to tweak this directory if you don't use the professional edition! +MSVCR_DLL=$(PROGRAM_FILES)\Microsoft Visual Studio .NET 2003\Visual Studio .NET Professional 2003 - English\msvcr71.dll + +!ELSEIF "$(MSVC_VARIANT)" == "DOTNET11" +# no redistributable available for this package! + +!ELSEIF "$(MSVC_VARIANT)" == "MSVC2005" +MSVCR_DLL=$(PROGRAM_FILES)\Microsoft Visual Studio 8\VC\redist\x86\Microsoft.VC80.CRT\*.* + +!ELSEIF "$(MSVC_VARIANT)" == "MSVC2005EE" +# you need to download the redistributable package vcredist_x86.exe from Microsoft first, +# and copy it to the lib folder!!! +VCREDIST_EXE=$(WIRESHARK_LIBS)\vcredist_x86.exe + +!ELSEIF "$(MSVC_VARIANT)" == "DOTNET20" +# you need to download the redistributable package vcredist_x86.exe from Microsoft first, +# and copy it to the lib folder!!! +VCREDIST_EXE=$(WIRESHARK_LIBS)\vcredist_x86.exe + +!ELSE +!ERROR MSVC_VARIANT unknown +!ENDIF + + + + ############################################################################## # # You should not have to change anything below this comment. diff --git a/packaging/nsis/Makefile.nmake b/packaging/nsis/Makefile.nmake index c50181d8c6..924f4966ed 100644 --- a/packaging/nsis/Makefile.nmake +++ b/packaging/nsis/Makefile.nmake @@ -106,6 +106,12 @@ $(DEST)-setup-$(VERSION).exe : $(NSI) $(DELIVERABLES) Makefile.nmake $(MAKENSIS) \ /DDEST=$(DEST) \ /DMSVC_VARIANT=$(MSVC_VARIANT) \ +!IFDEF MSVCR_DLL + /DMSVCR_DLL="$(MSVCR_DLL)" \ +!ENDIF +!IFDEF VCREDIST_EXE + /DVCREDIST_EXE="$(VCREDIST_EXE)" \ +!ENDIF !IF "$(ENABLE_LIBWIRESHARK)" != "" /DENABLE_LIBWIRESHARK=$(ENABLE_LIBWIRESHARK) \ !ENDIF diff --git a/packaging/nsis/wireshark.nsi b/packaging/nsis/wireshark.nsi index 712a447237..b22e741217 100644 --- a/packaging/nsis/wireshark.nsi +++ b/packaging/nsis/wireshark.nsi @@ -348,18 +348,41 @@ File "..\..\dumpcap.exe" File "..\..\doc\dumpcap.html" File "..\..\example_snmp_users_file" -; manifest files needed for MSVC2005 / .NET SDK 2.0 +; manifest files needed for MSVC2005 / MSVC2005EE / DOTNET20 !if ${MSVC_VARIANT} == "MSVC2005" File "..\..\wiretap\wiretap-${WTAP_VERSION}.dll.manifest" File "..\..\*.manifest" File "${ZLIB_DIR}\zlib1.dll.manifest" !endif +!if ${MSVC_VARIANT} == "MSVC2005EE" +File "..\..\wiretap\wiretap-${WTAP_VERSION}.dll.manifest" +File "..\..\*.manifest" +File "${ZLIB_DIR}\zlib1.dll.manifest" +!endif !if ${MSVC_VARIANT} == "DOTNET20" File "..\..\wiretap\wiretap-${WTAP_VERSION}.dll.manifest" File "..\..\*.manifest" File "${ZLIB_DIR}\zlib1.dll.manifest" !endif +; C-runtime redistributable +!ifdef VCREDIST_EXE +; vcredist_x86.exe (MSVC V8) - copy and execute the redistributable installer +File "${VCREDIST_EXE}" +ExecWait '"$INSTDIR\vcredist_x86.exe"' $0 +DetailPrint "vcredist_x86 returned $0" +!else +!ifdef MSVCR_DLL +; msvcr*.dll (MSVC V7 or V7.1) - simply copy the dll file +File "${MSVCR_DLL}" +!else +!if ${MSVC_VARIANT} != "MSVC6" +!error "C-Runtime redistributable for this package not available / not redistributable!" +!endif +!endif ; MSVCR_DLL +!endif ; VCREDIST_EXE + + ; global config files - don't overwrite if already existing ;IfFileExists cfilters dont_overwrite_cfilters File "..\..\cfilters" |