diff options
Diffstat (limited to 'packaging/nsis')
-rw-r--r-- | packaging/nsis/Makefile.nmake | 200 | ||||
-rw-r--r-- | packaging/nsis/wireshark.nsi | 133 |
2 files changed, 117 insertions, 216 deletions
diff --git a/packaging/nsis/Makefile.nmake b/packaging/nsis/Makefile.nmake index 6358d251c8..38478d2ee0 100644 --- a/packaging/nsis/Makefile.nmake +++ b/packaging/nsis/Makefile.nmake @@ -113,127 +113,151 @@ config.nsh: config.nsh.in ..\..\config.nmake -e s/@ENABLE_LIBWIRESHARK@/$(ENABLE_LIBWIRESHARK)/ \ !IFDEF GTK_DIR -e 's/@GTK_DIR@/$(GTK_DIR:\=\\\\)/' \ - -e 's/@GTK_LIB_DIR@/$(GTK_LIB_DIR:\=\\\\)/' \ - -e 's/@PANGO_LIB_DIR@/$(PANGO_LIB_DIR:\=\\\\)/' \ - -e s/@GDK_DLL@/$(GDK_DLL)/ \ - -e s/@GTK_DLL@/$(GTK_DLL)/ \ - -e s/@GTK_NAME@/$(GTK_NAME)/ \ - -e 's/@GTK_ETC_DIR@/$(GTK_ETC_DIR:\=\\\\)/' \ -!IFDEF GTK_ENGINES_DIR - -e 's/@GTK_ENGINES_DIR@/$(GTK_ENGINES_DIR:\=\\\\)/' \ !ENDIF -!IFDEF GTK_MODULES_DIR - -e 's/@GTK_MODULES_DIR@/$(GTK_MODULES_DIR:\=\\\\)/' \ +!IFDEF HHC_DIR + -e 's/@HHC_DIR@/$(HHC_DIR:\=\\\\)/' \ !ENDIF -!IFDEF GTK_SCHEMAS_DIR - -e 's/@GTK_SCHEMAS_DIR@/$(GTK_SCHEMAS_DIR:\=\\\\)/' \ +!IF EXIST("..\..\wireshark-qt-release\wireshark.exe") + -e s/@QT_DIR@/..\\..\\wireshark-qt-release/ \ !ENDIF -!IFDEF NEED_CAIRO_GOBJECT_DLL - -e s/@NEED_CAIRO_GOBJECT_DLL@/$(NEED_CAIRO_GOBJECT_DLL)/ \ + -e 's/\(^^!define .*\) \"*@.*@\"*/; \1/' \ + < config.nsh.in > $@ + +wireshark.nsi: all-manifest.nsh qt-dll-manifest.nsh gtk-dll-manifest.nsh common.nsh + +all-manifest.nsh: Makefile.nmake ..\..\config.nmake + @echo # Files required for all sections. Generated from Makefile.nmake > $@ + @echo # GLib >> $@ + @echo File "$(STAGING_DIR)\libgio-2.0-0.dll" >> $@ + @echo File "$(STAGING_DIR)\libglib-2.0-0.dll" >> $@ + @echo File "$(STAGING_DIR)\libgobject-2.0-0.dll" >> $@ + @echo File "$(STAGING_DIR)\libgmodule-2.0-0.dll" >> $@ + @echo File "$(STAGING_DIR)\$(INTL_DLL)" >> $@ +!IF "$(C_ARES_DIR)" != "" + @echo # C-Ares >> $@ + @echo File "$(STAGING_DIR)\libcares-2.dll" >> $@ +!ENDIF +!IF "$(GNUTLS_DIR)" != "" + @echo # GnuTLS >> $@ + @echo File "$(STAGING_DIR)\libffi-6.dll" >> $@ + @echo File "$(STAGING_DIR)\$(GCC_DLL)" >> $@ + @echo File "$(STAGING_DIR)\libgcrypt-20.dll" >> $@ + @echo File "$(STAGING_DIR)\libgmp-10.dll" >> $@ + @echo File "$(STAGING_DIR)\libgnutls-28.dll" >> $@ + @echo File "$(STAGING_DIR)\$(GPGERROR_DLL)" >> $@ + @echo File "$(STAGING_DIR)\libhogweed-2-4.dll" >> $@ + @echo File "$(STAGING_DIR)\libnettle-4-6.dll" >> $@ + @echo File "$(STAGING_DIR)\libp11-kit-0.dll" >> $@ + @echo File "$(STAGING_DIR)\libtasn1-6.dll" >> $@ +!ENDIF +!IF "$(KFW_DIR)" != "" + @echo # Kerberos >> $@ + @echo File "$(STAGING_DIR)\$(COMERR_DLL)" >> $@ + @echo File "$(STAGING_DIR)\$(KRB5_DLL)" >> $@ + @echo File "$(STAGING_DIR)\$(K5SPRT_DLL)" >> $@ +!ENDIF +!IFDEF LUA_DIR + @echo # Lua >> $@ + @echo File "$(STAGING_DIR)\lua52.dll" >> $@ + @echo File "..\..\epan\wslua\init.lua" >> $@ + @echo File "..\..\epan\wslua\console.lua" >> $@ + @echo File "..\..\epan\wslua\dtd_gen.lua" >> $@ +!ENDIF +!IFDEF GEOIP_DIR + @echo File "$(STAGING_DIR)\libGeoIP-1.dll" >> $@ +!ENDIF +!IFDEF SMI_DIR + @echo # SMI >> $@ + @echo File "$(STAGING_DIR)\libsmi-2.dll" >> $@ +!ENDIF +!IFDEF WINSPARKLE_DIR + @echo # WinSparkle >> $@ + @echo File "$(STAGING_DIR)\WinSparkle.dll" >> $@ +!ENDIF +!IF "$(ZLIB_DIR)" != "" + @echo # Zlib >> $@ + @echo File "$(STAGING_DIR)\zlib1.dll" >> $@ !ENDIF + +gtk-dll-manifest.nsh: Makefile.nmake ..\..\config.nmake + @echo # Files required for the GTK+ section. Generated from Makefile.nmake > $@ + @echo # Mandatory >> $@ + echo File "$(STAGING_DIR)\$(GDK_DLL)" >> $@ + echo File "$(STAGING_DIR)\libgdk_pixbuf-2.0-0.dll" >> $@ + echo File "$(STAGING_DIR)\gspawn-$(WIRESHARK_TARGET_PLATFORM)-helper.exe" >> $@ + echo File "$(STAGING_DIR)\gspawn-$(WIRESHARK_TARGET_PLATFORM)-helper-console.exe" >> $@ + echo File "$(STAGING_DIR)\$(GTK_DLL)" >> $@ + echo File "$(STAGING_DIR)\libatk-1.0-0.dll" >> $@ + echo File "$(STAGING_DIR)\libpango-1.0-0.dll" >> $@ + echo File "$(STAGING_DIR)\libpangowin32-1.0-0.dll" >> $@ + @echo # Optional >> $@ !IFDEF NEED_CAIRO_DLL - -e s/@NEED_CAIRO_DLL@/$(NEED_CAIRO_DLL)/ \ + @echo File "$(STAGING_DIR)\libcairo-2.dll" >> $@ + @echo File "$(STAGING_DIR)\libpangocairo-1.0-0.dll" >> $@ +!ENDIF +!IFDEF NEED_CAIRO_GOBJECT_DLL + @echo File "$(STAGING_DIR)\libcairo-gobject-2.dll" >> $@ !ENDIF !IFDEF NEED_EXPAT_DLL - -e s/@NEED_EXPAT_DLL@/$(NEED_EXPAT_DLL)/ \ - -e s/@EXPAT_DLL@/$(EXPAT_DLL)/ \ + @echo File "$(STAGING_DIR)\${EXPAT_DLL)" >> $@ !ENDIF !IFDEF NEED_FFI_DLL - -e s/@NEED_FFI_DLL@/$(NEED_FFI_DLL)/ \ - -e s/@FFI_DLL@/$(FFI_DLL)/ \ + @echo File "$(STAGING_DIR)\$(FFI_DLL)" >> $@ !ENDIF !IFDEF NEED_FONTCONFIG_DLL - -e s/@NEED_FONTCONFIG_DLL@/$(NEED_FONTCONFIG_DLL)/ \ - -e s/@FONTCONFIG_DLL@/$(FONTCONFIG_DLL)/ \ + @echo File "$(STAGING_DIR)\$(FONTCONFIG_DLL)" >> $@ !ENDIF !IFDEF NEED_FREETYPE_DLL - -e s/@NEED_FREETYPE_DLL@/$(NEED_FREETYPE_DLL)/ \ - -e s/@FREETYPE_DLL@/$(FREETYPE_DLL)/ \ + @echo File "$(STAGING_DIR)\libpangoft2-1.0-0.dll" >> $@ + @echo File "$(STAGING_DIR)\$(FREETYPE_DLL)" >> $@ !ENDIF !IFDEF NEED_HARFBUZZ_DLL - -e s/@NEED_HARFBUZZ_DLL@/$(NEED_HARFBUZZ_DLL)/ \ - -e s/@HARFBUZZ_DLL@/$(HARFBUZZ_DLL)/ \ + @echo File "$(STAGING_DIR)\$(HARFBUZZ_DLL)" >> $@ !ENDIF !IFDEF NEED_JASPER_DLL - -e s/@NEED_JASPER_DLL@/$(NEED_JASPER_DLL)/ \ - -e s/@JASPER_DLL@/$(JASPER_DLL)/ \ + @echo File "$(STAGING_DIR)\$(JASPER_DLL)" >> $@ !ENDIF !IFDEF NEED_JPEG_DLL - -e s/@NEED_JPEG_DLL@/$(NEED_JPEG_DLL)/ \ - -e s/@JPEG_DLL@/$(JPEG_DLL)/ \ + @echo File "$(STAGING_DIR)\$(JPEG_DLL)" >> $@ !ENDIF !IFDEF NEED_LZMA_DLL - -e s/@NEED_LZMA_DLL@/$(NEED_LZMA_DLL)/ \ - -e s/@LZMA_DLL@/$(LZMA_DLL)/ \ + @echo File "$(STAGING_DIR)\$(LZMA_DLL)" >> $@ !ENDIF !IFDEF NEED_PIXMAN_DLL - -e s/@NEED_PIXMAN_DLL@/$(NEED_PIXMAN_DLL)/ \ - -e s/@PIXMAN_DLL@/$(PIXMAN_DLL)/ \ + @echo File "$(STAGING_DIR)\$(PIXMAN_DLL)" >> $@ !ENDIF !IFDEF NEED_PNG_DLL - -e s/@NEED_PNG_DLL@/$(NEED_PNG_DLL)/ \ - -e s/@PNG_DLL@/$(PNG_DLL)/ \ + @echo File "$(STAGING_DIR)\$(PNG_DLL)" >> $@ !ENDIF !IFDEF NEED_SEH_DLL - -e s/@NEED_SEH_DLL@/$(NEED_SEH_DLL)/ \ - -e s/@SEH_DLL@/$(SEH_DLL)/ \ + @echo File "$(STAGING_DIR)\$(SEH_DLL)" >> $@ !ENDIF !IFDEF NEED_SJLJ_DLL - -e s/@NEED_SJLJ_DLL@/$(NEED_SJLJ_DLL)/ \ - -e s/@SJLJ_DLL@/$(SJLJ_DLL)/ \ + @echo File "$(STAGING_DIR)\$(SJLJ_DLL)" >> $@ !ENDIF !IFDEF NEED_TIFF_DLL - -e s/@NEED_TIFF_DLL@/$(NEED_TIFF_DLL)/ \ - -e s/@TIFF_DLL@/$(TIFF_DLL)/ \ + @echo File "$(STAGING_DIR)\$(TIFF_DLL)" >> $@ !ENDIF !IFDEF NEED_XML_DLL - -e s/@NEED_XML_DLL@/$(NEED_XML_DLL)/ \ - -e s/@XML_DLL@/$(XML_DLL)/ \ -!ENDIF -!ENDIF -!IF "$(C_ARES_DIR)" != "" - -e s/@C_ARES_DIR@/$(C_ARES_DIR:\=\\)/ \ -!ENDIF -!IF "$(ADNS_DIR)" != "" - -e s/@ADNS_DIR@/$(ADNS_DIR:\=\\)/ \ -!ENDIF -!IF "$(KFW_DIR)" != "" - -e s/@KFW_DIR@/$(KFW_DIR:\=\\)/ \ - -e s/@KFW_PATH@/$(KFW_PATH:\=\\)/ \ - -e s/@COMERR_DLL@/$(COMERR_DLL:\=\\)/ \ - -e s/@KRB5_DLL@/$(KRB5_DLL:\=\\)/ \ - -e s/@K5SPRT_DLL@/$(K5SPRT_DLL:\=\\)/ \ -!ENDIF -!IF "$(GNUTLS_DIR)" != "" - -e s/@GPGERROR_DLL@/$(GPGERROR_DLL)/ \ - -e s/@GCC_DLL@/$(GCC_DLL)/ \ - -e s/@GNUTLS_DIR@/$(GNUTLS_DIR:\=\\)/ \ -!ENDIF -!IF "$(ZLIB_DIR)" != "" - -e s/@ZLIB_DIR@/$(ZLIB_DIR:\=\\)/ \ + @echo File "$(STAGING_DIR)\$(XML_DLL)" >> $@ !ENDIF -!IFDEF LUA_DIR - -e s/@LUA_DIR@/$(LUA_DIR:\=\\)/ \ -!ENDIF -!IFDEF SMI_DIR - -e s/@SMI_DIR@/$(SMI_DIR:\=\\)/ \ -!ENDIF -!IFDEF GEOIP_DIR - -e s/@GEOIP_DIR@/$(GEOIP_DIR:\=\\)/ \ -!ENDIF -!IFDEF WINSPARKLE_DIR - -e s/@WINSPARKLE_DIR@/$(WINSPARKLE_DIR:\=\\)/ \ + @echo # Subdirectories >> $@ + @echo SetOutPath ^$INSTDIR\$(GTK_ETC_DIR) >> $@ + @echo File "$(GTK_DIR)\$(GTK_ETC_DIR)\*.*" >> $@ +!IFDEF GTK_ENGINES_DIR + @echo SetOutPath ^$INSTDIR\$(GTK_ENGINES_DIR) >> $@ + @echo File "$(STAGING_DIR)\$(GTK_ENGINES_DIR)\libpixmap.dll" >> $@ + @echo File "$(STAGING_DIR)\$(GTK_ENGINES_DIR)\libwimp.dll" >> $@ !ENDIF -!IFDEF HHC_DIR - -e 's/@HHC_DIR@/$(HHC_DIR:\=\\\\)/' \ +!IFDEF GTK_MODULES_DIR + @echo SetOutPath ^$INSTDIR\$(GTK_MODULES_DIR) >> $@ + @echo File "$(STAGING_DIR)\$(GTK_MODULES_DIR)\libgail.dll" >> $@ !ENDIF -!IF EXIST("..\..\wireshark-qt-release\wireshark.exe") - -e s/@QT_DIR@/..\\..\\wireshark-qt-release/ \ +!IFDEF GTK_SCHEMAS_DIR + @echo SetOutPath ^$INSTDIR\$(GTK_SCHEMAS_DIR) >> $@ + @echo File "$(STAGING_DIR)\$(GTK_SCHEMAS_DIR)\*.*" >> $@ !ENDIF - -e 's/\(^^!define .*\) \"*@.*@\"*/; \1/' \ - < config.nsh.in > $@ -wireshark.nsi: qt-dll-manifest.nsh common.nsh qt-dll-manifest.nsh: windeployqt-to-nsis.ps1 Makefile.nmake !IF EXIST("$(QT5_BASE_DIR)\bin\qmake.exe") set PATH=%PATH%;$(QT5_BASE_DIR)\bin @@ -254,12 +278,14 @@ wireshark-$(WIRESHARK_TARGET_PLATFORM)-$(VERSION).exe : user-guide.chm $(NSI) $( $(MAKENSIS) wireshark.nsi clean: - rm -f wireshark-$(WIRESHARK_TARGET_PLATFORM)-$(VERSION).exe - rm -f $(UNINSTALL_INSTALLER) + rm -f all-manifest.nsh + rm -f config.nsh + rm -f gtk-dll-manifest.nsh rm -f NEWS.txt - rm -f user-guide.chm rm -f qt-dll-manifest.nsh - rm -f config.nsh + rm -f user-guide.chm + rm -f $(UNINSTALL_INSTALLER) + rm -f wireshark-$(WIRESHARK_TARGET_PLATFORM)-$(VERSION).exe distclean: clean rm -f wireshark-$(WIRESHARK_TARGET_PLATFORM)-*.exe diff --git a/packaging/nsis/wireshark.nsi b/packaging/nsis/wireshark.nsi index 455f33b85f..6470746a13 100644 --- a/packaging/nsis/wireshark.nsi +++ b/packaging/nsis/wireshark.nsi @@ -318,7 +318,6 @@ Section "-Required" ; SetShellVarContext all - SetOutPath $INSTDIR File "${STAGING_DIR}\${UNINSTALLER_NAME}" File "${STAGING_DIR}\wiretap-${WTAP_VERSION}.dll" @@ -326,58 +325,9 @@ File "${STAGING_DIR}\wiretap-${WTAP_VERSION}.dll" File "${STAGING_DIR}\libwireshark.dll" !endif File "${STAGING_DIR}\libwsutil.dll" -File "${STAGING_DIR}\libgio-2.0-0.dll" -File "${STAGING_DIR}\libglib-2.0-0.dll" -File "${STAGING_DIR}\libgobject-2.0-0.dll" -File "${STAGING_DIR}\libgmodule-2.0-0.dll" -!ifdef ICONV_DIR -File "${STAGING_DIR}\iconv.dll" -!endif -File "${STAGING_DIR}\${INTL_DLL}" -!ifdef ZLIB_DIR -File "${STAGING_DIR}\zlib1.dll" -!endif -!ifdef C_ARES_DIR -File "${STAGING_DIR}\libcares-2.dll" -!endif -!ifdef ADNS_DIR -File "${STAGING_DIR}\adns_dll.dll" -!endif -!ifdef KFW_DIR -File "${STAGING_DIR}\${COMERR_DLL}" -File "${STAGING_DIR}\${KRB5_DLL}" -File "${STAGING_DIR}\${K5SPRT_DLL}" -!endif -!ifdef GNUTLS_DIR -File "${STAGING_DIR}\libffi-6.dll" -File "${STAGING_DIR}\${GCC_DLL}" -File "${STAGING_DIR}\libgcrypt-20.dll" -File "${STAGING_DIR}\libgmp-10.dll" -File "${STAGING_DIR}\libgnutls-28.dll" -File "${STAGING_DIR}\${GPGERROR_DLL}" -File "${STAGING_DIR}\libhogweed-2-4.dll" -File "${STAGING_DIR}\libnettle-4-6.dll" -File "${STAGING_DIR}\libp11-kit-0.dll" -File "${STAGING_DIR}\libtasn1-6.dll" -StrCmp "${INTL_DLL}" "libintl-8.dll" SkipLibIntl8 -File "${STAGING_DIR}\libintl-8.dll" -SkipLibIntl8: -!endif -!ifdef LUA_DIR -File "${STAGING_DIR}\lua52.dll" -File "..\..\epan\wslua\init.lua" -File "..\..\epan\wslua\console.lua" -File "..\..\epan\wslua\dtd_gen.lua" -!endif -!ifdef SMI_DIR -File "${STAGING_DIR}\libsmi-2.dll" -!endif -!ifdef GEOIP_DIR -File "${STAGING_DIR}\libGeoIP-1.dll" -!endif -!ifdef WINSPARKLE_DIR -File "${STAGING_DIR}\WinSparkle.dll" -!endif + +!include all-manifest.nsh + File "${STAGING_DIR}\COPYING.txt" File "${STAGING_DIR}\NEWS.txt" File "${STAGING_DIR}\README.txt" @@ -928,83 +878,8 @@ Section "${PROGRAM_NAME} 1" SecWiresharkGtk ;------------------------------------------- SetOutPath $INSTDIR File "${STAGING_DIR}\${PROGRAM_NAME_PATH_GTK}" -File "${STAGING_DIR}\${GDK_DLL}" -File "${STAGING_DIR}\libgdk_pixbuf-2.0-0.dll" -File "${STAGING_DIR}\gspawn-${WIRESHARK_TARGET_PLATFORM}-helper.exe" -File "${STAGING_DIR}\gspawn-${WIRESHARK_TARGET_PLATFORM}-helper-console.exe" -File "${STAGING_DIR}\${GTK_DLL}" -File "${STAGING_DIR}\libatk-1.0-0.dll" -File "${STAGING_DIR}\libpango-1.0-0.dll" -File "${STAGING_DIR}\libpangowin32-1.0-0.dll" -!ifdef NEED_CAIRO_GOBJECT_DLL -File "${STAGING_DIR}\libcairo-gobject-2.dll" -!endif -!ifdef NEED_CAIRO_DLL -File "${STAGING_DIR}\libcairo-2.dll" -File "${STAGING_DIR}\libpangocairo-1.0-0.dll" -!endif -!ifdef NEED_EXPAT_DLL -File "${STAGING_DIR}\${EXPAT_DLL}" -!endif -!ifdef NEED_FFI_DLL -File "${STAGING_DIR}\${FFI_DLL}" -!endif -!ifdef NEED_FONTCONFIG_DLL -File "${STAGING_DIR}\${FONTCONFIG_DLL}" -!endif -!ifdef NEED_FREETYPE_DLL -File "${STAGING_DIR}\libpangoft2-1.0-0.dll" -File "${STAGING_DIR}\${FREETYPE_DLL}" -!endif -!ifdef NEED_HARFBUZZ_DLL -File "${STAGING_DIR}\${HARFBUZZ_DLL}" -!endif -!ifdef NEED_JASPER_DLL -File "${STAGING_DIR}\${JASPER_DLL}" -!endif -!ifdef NEED_JPEG_DLL -File "${STAGING_DIR}\${JPEG_DLL}" -!endif -!ifdef NEED_LZMA_DLL -File "${STAGING_DIR}\${LZMA_DLL}" -!endif -!ifdef NEED_PIXMAN_DLL -File "${STAGING_DIR}\${PIXMAN_DLL}" -!endif -!ifdef NEED_PNG_DLL -File "${STAGING_DIR}\${PNG_DLL}" -!endif -!ifdef NEED_SEH_DLL -File "${STAGING_DIR}\${SEH_DLL}" -!endif -!ifdef NEED_SJLJ_DLL -File "${STAGING_DIR}\${SJLJ_DLL}" -!endif -!ifdef NEED_TIFF_DLL -File "${STAGING_DIR}\${TIFF_DLL}" -!endif -!ifdef NEED_XML_DLL -File "${STAGING_DIR}\${XML_DLL}" -!endif -SetOutPath $INSTDIR\${GTK_ETC_DIR} -File "${GTK_DIR}\${GTK_ETC_DIR}\*.*" - -!ifdef GTK_ENGINES_DIR -SetOutPath $INSTDIR\${GTK_ENGINES_DIR} -File "${STAGING_DIR}\${GTK_ENGINES_DIR}\libpixmap.dll" -File "${STAGING_DIR}\${GTK_ENGINES_DIR}\libwimp.dll" -!endif - -!ifdef GTK_MODULES_DIR -SetOutPath $INSTDIR\${GTK_MODULES_DIR} -File "${STAGING_DIR}\${GTK_MODULES_DIR}\libgail.dll" -!endif - -!ifdef GTK_SCHEMAS_DIR -SetOutPath $INSTDIR\${GTK_SCHEMAS_DIR} -File "${STAGING_DIR}\${GTK_SCHEMAS_DIR}\*.*" -!endif +!include gtk-dll-manifest.nsh SectionEnd ; "SecWiresharkGtk" !endif |