Huge thanks to our Platinum Members Endace and LiveAction,
and our Silver Member Veeam, for supporting the Wireshark Foundation and project.

Wireshark-dev: Re: [Wireshark-dev] Beware of upcoming changes in Win32's config.nmake -> might

From: Peter Johansson <Peter.xc.Johansson@xxxxxxxxxxxx>
Date: Thu, 31 Aug 2006 08:53:54 +0200
Ulf Lamping wrote:
Hi List!

I'm going to cleanup the config.nmake file in the next days.

This file is in need of a cleanup (I've done the last real cleanup years ago), as it's naming scheme is now inconsistent, the sequence of settings isn't logical, ...

As a lot of developers will have a tweaked version of that file (including me) it's likely that "personal" merge conflicts will evolve -> this will break your personal Win32 builds.

I'll do the changes in smaller steps so at least the buildbot hopefully won't be interrupted (at least not more than it currently already is).

If you encounter any problems, please check the changes done in config.nmake and do a distclean before complaining to this list :-)

Regards, ULFL


Please consider my changes that I have done for config.nmake as well (or something similar). I changed config.nmake to make it easier to switch between different versions of GTK (and also having multiple GTK versions accessible to the build environment). The changes I made results in the following win32 directory structure for the libraries:

Directory of C:\ethereal-non-svn-libs

2006-08-29  13:10       <DIR>          .
2006-08-29  13:10       <DIR>          ..
2006-01-26  13:22       <DIR>          adns-1.0-win32-05
2006-01-26  13:22       <DIR>          gettext-runtime-0.13.1
2006-08-29  13:10       <DIR>          gnutls-1.5.0-1
2006-01-26  13:22       <DIR>          gtk-wimp
2006-01-26  13:22       <DIR>          GTK1
2006-01-26  13:22       <DIR>          GTK2_v2.4
2006-01-26  13:21       <DIR>          GTK2_v2.6
2006-01-26  13:21       <DIR>          GTK2_v2.8
2006-08-29  09:26       <DIR>          kfw-2.5
2006-01-26  13:20       <DIR>          libiconv-1.9.1.bin.woe32
2006-07-12  13:46       <DIR>          lua5.1
2006-07-18  08:56       <DIR>          net-snmp-5.3.1
2006-01-26  13:20       <DIR>          pcre-6.4
2006-07-12  13:46       <DIR>          portaudio_v18_1
2006-01-26  13:20       <DIR>          WpdPack
2006-01-26  13:20       <DIR>          zlib123-dll

I look forward to seeing your cleanup of this!

Regards, Peter

Index: C:/wireshark-win32-libs/config.nmake
===================================================================
--- C:/wireshark-win32-libs/config.nmake	(revision 19073)
+++ C:/wireshark-win32-libs/config.nmake	(working copy)
@@ -47,6 +47,27 @@
 #
 #WIRESHARK_EUG_DIR=docbook/eug_html_chunked
 
+# Define which GTK2 version to use by setting USE_GTK2_VERSION to either of
+# 2.4, 2.6 or 2.8.
+USE_GTK2_VERSION=2.6
+
+!IF "$(USE_GTK2_VERSION)" == "2.4"
+GTK2_SUB_LIB_DIR=GTK2_v2.4
+GTK2_INST_VERSION=2.4
+PANGO_INST_VERSION=1.4
+!ELSEIF "$(USE_GTK2_VERSION)" == "2.6"
+GTK2_SUB_LIB_DIR=GTK2_v2.6
+GTK2_INST_VERSION=2.6
+PANGO_INST_VERSION=1.8
+!ELSEIF "$(USE_GTK2_VERSION)" == "2.8"
+GTK2_SUB_LIB_DIR=GTK2_v2.8
+GTK2_INST_VERSION=2.8
+PANGO_INST_VERSION=1.10
+!ENDIF
+
+# Define where to find the GTK1 files
+GTK1_SUB_LIB_DIR=GTK1
+
 # 
 # Base directory, where your libraries reside, which needs to be 
 # compiling the sources. This is only inside this file.
@@ -59,7 +80,7 @@
 # support them.  Upgrade to the current version.
 #
 GLIB_VERSION=2.0
-GLIB_DIR=$(WIRESHARK_LIBS)\glib
+GLIB_DIR=$(WIRESHARK_LIBS)\$(GTK2_SUB_LIB_DIR)\glib
 
 #
 # This presumes that GTK+ 1.3 packages put header files and libraries
@@ -75,8 +96,8 @@
 # the pathname of the directory in which the "include" and "lib" directories 
 # reside.
 #
-GTK1_DIR=$(WIRESHARK_LIBS)\gtk+
-GTK2_DIR=$(WIRESHARK_LIBS)\gtk2
+GTK1_DIR=$(WIRESHARK_LIBS)\$(GTK1_SUB_LIB_DIR)\gtk+
+GTK2_DIR=$(WIRESHARK_LIBS)\$(GTK2_SUB_LIB_DIR)\gtk2
 
 #
 # If you have gnutls set this to the pathname where the lib and include files
@@ -93,8 +114,8 @@
 #GTK2_INST_VERSION=2.4
 #PANGO_INST_VERSION=1.4
 # GTK 2.6 is the mainline since Ethereal 0.10.14
-GTK2_INST_VERSION=2.6
-PANGO_INST_VERSION=1.8
+#GTK2_INST_VERSION=2.6
+#PANGO_INST_VERSION=1.8
 # Support for GTK 2.8 is currently experimental ...
 #GTK2_INST_VERSION=2.8
 #PANGO_INST_VERSION=1.10
@@ -109,7 +130,7 @@
 # Please note: GTK 2.8 (and later?) includes GTK-Wimp
 # (in this case these GTK-Wimp related settings will have no effect)
 #
-GTK_WIMP_DIR=$(WIRESHARK_LIBS)\gtk-wimp\gtk-wimp-0.7.0-bin
+GTK_WIMP_DIR=$(WIRESHARK_LIBS)\gtk-wimp
 GTK_THEME_DIR=$(GTK_WIMP_DIR)\Theme\gtk-2.0
 
 #