Switch back to normal versioning. Bump the version to 1.3.3.
[obnox/wireshark/wip.git] / config.nmake
index c706b420369b296b1f7c4483741ddf1a1db7eb97..c08a80ab1e49a49cf4eb093806721db45f5d440c 100644 (file)
@@ -16,7 +16,7 @@ WIRESHARK_TARGET_PLATFORM=win32
 # It's highly recommended to leave MAJOR/MINOR/MICRO unchanged
 VERSION_MAJOR=1
 VERSION_MINOR=3
-VERSION_MICRO=0
+VERSION_MICRO=3
 VERSION_BUILD=0
 # It's recommended to change VERSION_EXTRA for your own custom builds
 # e.g. "-SVN-12345"
@@ -137,16 +137,13 @@ NASM=$(WIRESHARK_LIBS)\nasm-2.02\nasm.exe
 # Please note: Since Wireshark release 1.0.0, we no longer support GLib1.x
 #
 GLIB_VERSION=2.0
-GLIB_DIR=$(WIRESHARK_LIBS)\glib
-# This macro is used by the setup target.
-GLIB_PKG=2.20.5-1
 
 ##### To Use new packet list uncomment this line ####
 ### Warning Experimental - work in progress
-#NEW_PACKET_LIST_CONFIG=^#define NEW_PACKET_LIST 1
+NEW_PACKET_LIST_CONFIG=^#define NEW_PACKET_LIST 1
 
 #
-# Mandatory: GTK (& related libs) settings
+# Mandatory: GLib, GTK & related library settings
 #
 # Please note: Since Wireshark release 1.0.0, we no longer support GTK1.x
 #
@@ -160,17 +157,9 @@ JPEG_DLL=libjpeg-7.dll
 FREETYPE_DLL=freetype6.dll
 FONTCONFIG_DLL=libfontconfig-1.dll
 EXPAT_DLL=libexpat-1.dll
-# These macros are used by the setup target.
-GTK_PKG=2.16.6-1
-CAIRO_PKG=1.8.8-2
-ATK_PKG=1.26.0-1
-LIBPNG_PKG=1.2.39-1
-TIFF_PKG=libtiff_3.9.1-1_win32
-JPEG_PKG=jpeg_7-1_win32
-PANGO_PKG=1.24.5-2
-FREETYPE_PKG=2.3.9-1
-FONTCONFIG_PKG=2.7.3-1
-EXPAT_PKG=2.0.1-1
+INTL_DLL=intl.dll
+# This macro is used by the setup target.
+GTK_PKG=2.16.6-20091013
 
 #
 # Mandatory: Version numbers of GTK and pango.
@@ -180,19 +169,6 @@ EXPAT_PKG=2.0.1-1
 #
 # GTK 2.12 is the mainline since Wireshark 0.99.7
 GTK_INST_VERSION=2.16
-PANGO_INST_VERSION=1.24
-
-#
-# Mandatory for GTK >= 2: Gettext
-#
-# Set GETTEXT_DIR to the directory in which the
-# GETTEXT include files and library resides.
-#
-GETTEXT_DIR=$(WIRESHARK_LIBS)\gettext-runtime-0.17-1
-# This macro is used by the nsis installer script and by the install target.
-GETTEXT_DLL=intl.dll
-# This macro is used by the setup target.
-GETTEXT_PKG=-runtime-0.17-1
 
 #
 # Optional: WinPcap developer's pack to capture network traffic.
@@ -205,7 +181,7 @@ GETTEXT_PKG=-runtime-0.17-1
 #
 PCAP_DIR=$(WIRESHARK_LIBS)\WPdpack
 # This macro is used by the nsis installer script, by the u3/portable apps and by the setup target.
-PCAP_VERSION=4_1_beta5
+PCAP_VERSION=4_1_1
 
 #
 # Optional: WinPcap remote capture support and new API
@@ -277,7 +253,7 @@ PCRE_DIR=$(WIRESHARK_LIBS)\pcre-7.0
 # isn't defined.
 #
 # Platform SDK conflicts with openssl.h header
-GNUTLS_DIR=$(WIRESHARK_LIBS)\gnutls-2.8.1-1
+GNUTLS_DIR=$(WIRESHARK_LIBS)\gnutls-2.8.5-1
 
 #
 # Optional: the KFW library enables kerberos/sasl/dcerpc decryption.
@@ -341,7 +317,7 @@ PORTAUDIO_VERSION=19
 # If you don't have the AirPcap developer's pack, comment this line out,
 # so that AIRPCAP_DIR isn't defined.
 #
-AIRPCAP_DIR=$(WIRESHARK_LIBS)\AirPcap_Devpack_1_0_0_594\AirPcap_Devpack
+AIRPCAP_DIR=$(WIRESHARK_LIBS)\AirPcap_Devpack_4_1_0_1622\AirPcap_Devpack
 
 #
 # Optional: LIBSMI, System Management Interface
@@ -370,16 +346,13 @@ GEOIP_DIR=$(WIRESHARK_LIBS)\GeoIP-1.4.5ws
 # Please note: Since Wireshark release 1.0.0, we no longer support GLib1.x
 #
 GLIB_VERSION=2.0
-GLIB_DIR=$(WIRESHARK_LIBS)\glib
-# This macro is used by the setup target.
-GLIB_PKG=2.20.5-1
 
 ##### To Use new packet list uncomment this line ####
 ### Warning Experimental - work in progress
-#NEW_PACKET_LIST_CONFIG=^#define NEW_PACKET_LIST 1
+NEW_PACKET_LIST_CONFIG=^#define NEW_PACKET_LIST 1
 
 #
-# Mandatory: GTK (& related libs) settings
+# Mandatory: GLib, GTK & related library settings
 #
 # Please note: Since Wireshark release 1.0.0, we no longer support GTK1.x
 #
@@ -388,22 +361,15 @@ GLIB_PKG=2.20.5-1
 #
 GTK_DIR=$(WIRESHARK_LIBS)\gtk2
 # These macros are used by the nsis installer script and by the install target.
-TIFF_DLL=libtiff.dll
-JPEG_DLL=libjpeg-62.dll
-FREETYPE_DLL=freetype6.dll
+TIFF_DLL=libtiff-3.dll
+JPEG_DLL=libjpeg-7.dll
+FREETYPE_DLL=libfreetype-6.dll
 FONTCONFIG_DLL=libfontconfig-1.dll
 EXPAT_DLL=libexpat-1.dll
+INTL_DLL=libintl-8.dll
+
 # These macros are used by the setup target.
-GTK_PKG=2.16.6-1
-CAIRO_PKG=1.8.8-2
-ATK_PKG=1.26.0-2
-LIBPNG_PKG=1.2.40-1
-TIFF_PKG=libtiff_3.9.1-1_win64
-JPEG_PKG=jpeg_7-1_win64
-PANGO_PKG=1.24.5-2
-FREETYPE_PKG=2.3.9-2
-FONTCONFIG_PKG=2.7.3-1
-EXPAT_PKG=2.0.1-2
+GTK_PKG=2.16.6-20090912
 
 #
 # Mandatory: Version numbers of GTK and pango.
@@ -412,19 +378,6 @@ EXPAT_PKG=2.0.1-2
 # These macros are used by the nsis installer script and by the setup target.
 #
 GTK_INST_VERSION=2.16
-PANGO_INST_VERSION=1.24
-
-#
-# Mandatory for GTK >= 2: Gettext
-#
-# Set GETTEXT_DIR to the directory in which the
-# GETTEXT include files and library resides.
-#
-GETTEXT_DIR=$(WIRESHARK_LIBS)\gettext-0.17-1
-# This macro is used by the nsis installer script and by the install target.
-GETTEXT_DLL=libintl-8.dll
-# This macro is used by the setup target.
-GETTEXT_PKG=_0.17-1_win64
 
 #
 # Optional: WinPcap developer's pack to capture network traffic.
@@ -437,7 +390,7 @@ GETTEXT_PKG=_0.17-1_win64
 #
 PCAP_DIR=$(WIRESHARK_LIBS)\WPdpack
 # This macro is used by the nsis installer script, by the u3/portable apps and by the setup target.
-PCAP_VERSION=4_1_beta5
+PCAP_VERSION=4_1_1
 
 #
 # Optional: WinPcap remote capture support and new API
@@ -573,7 +526,7 @@ PORTAUDIO_VERSION=19
 # If you don't have the AirPcap developer's pack, comment this line out,
 # so that AIRPCAP_DIR isn't defined.
 #
-#AIRPCAP_DIR=$(WIRESHARK_LIBS)\AirPcap_Devpack_1_0_0_594\AirPcap_Devpack
+AIRPCAP_DIR=$(WIRESHARK_LIBS)\AirPcap_Devpack_4_1_0_1622\AirPcap_Devpack
 
 #
 # Optional: LIBSMI, System Management Interface
@@ -738,31 +691,32 @@ MSC_VER_REQUIRED=1500
 # /D_CRT_NONSTDC_NO_DEPRECATE       Don't warn for "Deprecated CRT Functions" as MSDN calls this
 # /D_BIND_TO_CURRENT_CRT_VERSION=1  Make sure our CRT and manifest versions match (http://msdn.microsoft.com/en-us/library/cc664727.aspx)
 # /DWIN32_LEAN_AND_MEAN             Don't include unnecessary Windows include files (see windows.h)
-# /MP [<number of processes>]       [MSVC2008]: Compiles multiple source files by using multiple processes
-#                                               Add if desired for compile speedup on machines with 2 or more "effective processors"
 # /MANIFEST:no                      Don't create a SxS manifest. Makes sure our plugins don't load a second copy of the CRT.
 #
 !IF "$(MSVC_VARIANT)" == "MSVC6" || "$(MSVC_VARIANT)" == "MSVC2002" || "$(MSVC_VARIANT)" == "DOTNET10" || "$(MSVC_VARIANT)" == "MSVC2003" || "$(MSVC_VARIANT)" == "DOTNET11"
 LOCAL_CFLAGS=/Zi /W3 /MD /DWIN32_LEAN_AND_MEAN /DMSC_VER_REQUIRED=$(MSC_VER_REQUIRED)
 !ELSEIF "$(MSVC_VARIANT)" == "MSVC2005" || "$(MSVC_VARIANT)" == "MSVC2005EE" || "$(MSVC_VARIANT)" == "DOTNET20" || "$(MSVC_VARIANT)" == "MSVC2008" || "$(MSVC_VARIANT)" == "MSVC2008EE"
-LOCAL_CFLAGS=/Zi /W3 /MD /D_CRT_SECURE_NO_DEPRECATE /D_CRT_NONSTDC_NO_DEPRECATE /DWIN32_LEAN_AND_MEAN /DMSC_VER_REQUIRED=$(MSC_VER_REQUIRED) /D_BIND_TO_CURRENT_CRT_VERSION=1
+LOCAL_CFLAGS=/Zi /W3 /MD /D_CRT_SECURE_NO_DEPRECATE /D_CRT_NONSTDC_NO_DEPRECATE /DWIN32_LEAN_AND_MEAN /DMSC_VER_REQUIRED=$(MSC_VER_REQUIRED)
+!IF "$(WIRESHARK_TARGET_PLATFORM)" != "win64"
+LOCAL_CFLAGS=$(LOCAL_CFLAGS) /D_BIND_TO_CURRENT_CRT_VERSION=1
+!ENDIF
 !ELSE
 !ERROR MSVC_VARIANT unknown
 !ENDIF
 
 # http://msdn.microsoft.com/en-us/library/bb385193.aspx
-# /MP (Build with Multiple Processes)
-# /MP[processMax]
-# If you omit the processMax argument, the compiler retrieves the number of effective processors
-# on your computer from the operating system, and creates a process for each processor.
+# /MP               Compiles multiple source files by using multiple processes
+# /MP[processMax]   If you omit the processMax argument, the compiler retrieves the number of effective processors
+#                   on your computer from the operating system, and creates a process for each processor.
 #
 # The following compiler options and language features that are incompatible with the /MP option:
-# #import preprocessor directive
-# /E, /EP
-# /Gm
-# /showIncludes
-# /Yc
-
+#
+# * #import preprocessor directive
+# * /E, /EP
+# * /Gm
+# * /showIncludes
+# * /Yc
+#
 !IF "$(MSVC_VARIANT)" == "MSVC2008" || "$(MSVC_VARIANT)" == "MSVC2008EE"
 LOCAL_CFLAGS= $(LOCAL_CFLAGS) /MP
 !ENDIF
@@ -813,6 +767,11 @@ INSTALL_DIR=wireshark-gtk2
 !IF "$(MSVC_VARIANT)" == "MSVC6"
 # msvcrt.dll will already be available on target machines - nothing additional to install
 
+!ELSEIF "$(WIRESHARK_TARGET_PLATFORM)" == "win64"
+# We're not creating portable packages and therefore don't have to worry about
+# "deploying using xcopy"
+VCREDIST_EXE=$(WIRESHARK_LIBS)\vcredist_$(TARGET_MACHINE).exe
+
 !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
@@ -842,14 +801,17 @@ MSVCR_DLL=$(PROGRAM_FILES)\Microsoft Visual Studio 9.0\VC\redist\$(VCREDIST_DLL)
 !ERROR MSVC_VARIANT unknown
 !ENDIF
 
-
+!IF DEFINED(VCREDIST_EXE) && ! EXIST("$(VCREDIST_EXE)")
+!ERROR Can't find $(VCREDIST_EXE). Have you downloaded it from Microsoft? \
+See the developer's guide section "C-Runtime "Redistributable" files" for details how to get it
+!ENDIF
 
 ##### Advanced: Docbook/XML documentation generation #####
 # If you want to generate the Docbook/XML based docs (User's and Developer's
 # Guide, ...), you'll need some additional tools / libraries compared to the
 # rest of the build process.
 #
-# FOR DETAILED INSTRUCTIONS TO GENERATE THE DOCS, SEE: docbook\readme.txt.
+# FOR DETAILED INSTRUCTIONS TO GENERATE THE DOCS, SEE: docbook\README.txt.
 #
 # If you don't call the Makefile.nmake in the docbook dir to generate the
 # docs, the following settings in this section will have no effect.
@@ -857,8 +819,11 @@ MSVCR_DLL=$(PROGRAM_FILES)\Microsoft Visual Studio 9.0\VC\redist\$(VCREDIST_DLL)
 # formatting objects processor executable
 # Comment this out if you don't have fop installed or you don't want the docs
 # in PDF format.
+#
+# You may want to install the FOP hyphenation patterns from
+# http://offo.sourceforge.net/hyphenation/
 !IFNDEF FOP
-FOP=fop-0.20.5\fop.bat
+FOP=fop-0.95\fop.bat
 !ENDIF
 
 # Additional options to fop.
@@ -922,12 +887,12 @@ WTAP_VERSION=$(WTAP_VERSION_MAJOR).$(WTAP_VERSION_MINOR).$(WTAP_VERSION_MICRO)
 RC_WTAP_VERSION=$(WTAP_VERSION_MAJOR),$(WTAP_VERSION_MINOR),$(WTAP_VERSION_MICRO)
 
 # GLib
-GLIB_CFLAGS=/I$(GLIB_DIR)\include\glib-$(GLIB_VERSION) \
-       /I$(GLIB_DIR)\lib\glib-$(GLIB_VERSION)\include
-GLIB_LIBS=$(GLIB_DIR)\lib\glib-$(GLIB_VERSION).lib \
-       $(GLIB_DIR)\lib\gmodule-$(GLIB_VERSION).lib \
-       $(GLIB_DIR)\lib\gobject-$(GLIB_VERSION).lib
-GTHREAD_LIBS=$(GLIB_DIR)\lib\gthread-$(GLIB_VERSION).lib \
+GLIB_CFLAGS=/I$(GTK_DIR)\include\glib-$(GLIB_VERSION) \
+       /I$(GTK_DIR)\lib\glib-$(GLIB_VERSION)\include
+GLIB_LIBS=$(GTK_DIR)\lib\glib-$(GLIB_VERSION).lib \
+       $(GTK_DIR)\lib\gmodule-$(GLIB_VERSION).lib \
+       $(GTK_DIR)\lib\gobject-$(GLIB_VERSION).lib
+GTHREAD_LIBS=$(GTK_DIR)\lib\gthread-$(GLIB_VERSION).lib
 
 # GTK+
 GTK_CFLAGS=$(GLIB_CFLAGS) /I$(GTK_DIR)\include\gtk-2.0 \
@@ -941,12 +906,19 @@ GTK_LIBS=$(GTK_DIR)\lib\gtk-win32-2.0.lib \
        $(GTK_DIR)\lib\pango-1.0.lib \
        $(GLIB_LIBS)
 
+
 !IF "$(GTK_INST_VERSION)" == "2.16" || "$(GTK_INST_VERSION)" == "2.14" || "$(GTK_INST_VERSION)" == "2.12"
 GTK_LIB_DIR=2.10.0
+
 NEED_LIBPNG_DLL=USE
 NEED_LIBJPEG_DLL=USE
 NEED_LIBTIFF_DLL=USE
 NEED_CAIRO_DLL=USE
+# Pango >=1.24.5 Needs these:
+NEED_FREETYPE_DLL=USE
+NEED_FONTCONFIG_DLL=USE
+NEED_EXPAT_DLL=USE
+
 GTK_WIMP_DLLSRC_DIR=$(GTK_DIR)\lib\gtk-2.0\2.10.0\engines
 GTK_WIMP_DLLDST_DIR=lib\gtk-2.0\2.10.0\engines
 GTK_WIMP_RCSRC_DIR=$(GTK_DIR)\share\themes\MS-Windows\gtk-2.0
@@ -955,18 +927,7 @@ GTK_WIMP_RCDST_DIR=etc\gtk-2.0
 !ERROR ? Unknown or invalid GTK_INST_VERSION
 !ENDIF
 
-!IF "$(PANGO_INST_VERSION)" == "1.24" || "$(PANGO_INST_VERSION)" == "1.22" || "$(PANGO_INST_VERSION)" == "1.18" || "$(PANGO_INST_VERSION)" == "1.16"
-PANGO_LIB_DIR=1.5.0
-!ELSE
-!ERROR ? Unknown or invalid PANGO_INST_VERSION
-!ENDIF
 
-!IF "$(PANGO_INST_VERSION)" == "1.24"
-#PANGO 1.24.5 Needs these:
-NEED_FREETYPE_DLL=USE
-NEED_FONTCONFIG_DLL=USE
-NEED_EXPAT_DLL=USE
-!ENDIF
 !IFDEF AIRPCAP_DIR
 AIRPCAP_CONFIG=^#define HAVE_AIRPCAP 1
 AIRPDCAP_CONFIG=^#define HAVE_AIRPDCAP 1
@@ -1170,7 +1131,7 @@ LIBWIRESHARK_CONFIG=
 !ENDIF
 
 # Construct the path
-PATH=$(PATH);$(CYGWIN_PATH);$(GLIB_DIR)\bin;$(GETTEXT_DIR)\bin;$(ZLIB_PATH);$(ADNS_PATH)
+PATH=$(PATH);$(CYGWIN_PATH);$(GTK_DIR)\bin;$(GETTEXT_DIR)\bin;$(ZLIB_PATH);$(ADNS_PATH)
 
 # We can't use a lot of IPv6 code with plain Visual C++ 6.0
 !IF "$(MSVC_VARIANT)" == "MSVC6" && !DEFINED(MSSDK)