Ethereal-dev: [Ethereal-dev] MSVC-makefile modifications for glib2 and gtk2

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: Lars Roland <Lars.Roland@xxxxxxx>
Date: Sat, 14 Jun 2003 00:20:41 +0200
hello all,

some people asked for a modification of nmake-scripts, which will enable them to compile ethereal with glib2 and/or gtk2 without changing the file and directory structure of glib2 and gtk2 packages.

So here they are.
I can now compile ethereal with glib-1.3 and gtk-1.3 libraries from ethereal website or with glib-2.2.1 and gtk-2.2.1 or gtk-1.3.0 from

	http://www.gimp.org/~tml/gimp/win32/downloads.html

I just have to change values in config.nmake, no more changes to makefiles.

Unfortunately I had to change nearly every nmake-scriptfile. I hope someone will find the time to check the patches in. the patches also include some cleanups and a fix for building without adns.

Here are the links to the packages you need for glib2 or gtk2:

For glib 2.2.1 :
http://www.gimp.org/~tml/gimp/win32/glib-2.2.1.zip
http://www.gimp.org/~tml/gimp/win32/glib-dev-2.2.1.zip
http://www.gimp.org/~tml/gimp/win32/libintl-0.10.40-tml-20020904.zip
http://ftp.gnu.org/gnu/libiconv/libiconv-1.9.1.bin.woe32.zip

With gtk-1.3:
http://www.gimp.org/~tml/gimp/win32/gtk+-1.3.0-20030216.zip
http://www.gimp.org/~tml/gimp/win32/gtk+-dev-1.3.0-20030115.zip


With gtk-2.2.1:
http://www.gimp.org/~tml/gimp/win32/gtk+-2.2.1.zip
http://www.gimp.org/~tml/gimp/win32/gtk+-dev-2.2.1.zip
http://www.gimp.org/~tml/gimp/win32/atk-1.0.3-20020821.zip
http://www.gimp.org/~tml/gimp/win32/atk-dev-1.0.3-20020821.zip
http://www.gimp.org/~tml/gimp/win32/pango-1.2.1.zip
http://www.gimp.org/~tml/gimp/win32/pango-dev-1.2.1.zip

The *-dev-* packages contain the header and library files. extract them into one directory preserving their directory structure.
All other packages contain dlls which ethereal need on runtime.
Please look at the updated nsis-script. it shows you, which files you need.



Best Regards,

Lars Roland
Index: ethereal/Makefile.nmake
===================================================================
RCS file: /cvsroot/ethereal/Makefile.nmake,v
retrieving revision 1.307
diff -u -r1.307 Makefile.nmake
--- ethereal/Makefile.nmake	12 Jun 2003 09:45:42 -0000	1.307
+++ ethereal/Makefile.nmake	13 Jun 2003 19:52:00 -0000
@@ -13,8 +13,15 @@
 
 LDFLAGS = /NOLOGO /INCREMENTAL:no /MACHINE:I386 $(LOCAL_LDFLAGS)
 
-CFLAGS=-DHAVE_CONFIG_H $(LOCAL_CFLAGS) /I$(GLIB_DIR) /I$(GLIB_DIR)\gmodule \
-	/I$(GTK_DIR) /I. /Iwiretap /I$(GTK_DIR)\gdk /I$(GTK_DIR)\gdk\win32 \
+CFLAGS=-DHAVE_CONFIG_H $(LOCAL_CFLAGS) /I. /Iwiretap \
+	/I$(GTK_DIR) /I$(GTK_DIR)\gdk /I$(GTK_DIR)\gdk\win32 \
+!IF "$(GTK_VERSION)" == "2.0"
+	/I$(LIB_DIR)/gtk-2.0/include /I$(PANGO_DIR) /I$(ATK_DIR) \
+!ELSE
+!IF "$(GLIB_VERSION)" == "2.0"
+	/I$(LIB_DIR)/gtk+/include \
+!ENDIF
+!ENDIF
 	/I$(ZLIB_DIR) /I$(PCAP_DIR)\include \
 	/I$(NET_SNMP_DIR)\include /I$(NET_SNMP_DIR)\win32 \
 	/I$(ADNS_DIR)\src /I$(ADNS_DIR)\adns_win32 \
@@ -449,10 +456,27 @@
 	gtk\libui.lib epan\ethereal.lib \
 	epan\dfilter\dfilter.lib epan\ftypes\ftypes.lib \
 	wsock32.lib user32.lib \
+!IF "$(GTK_VERSION)" == "2.0"
+	$(LIB_DIR)\gtk-win32-$(GTK_VERSION).lib \
+	$(LIB_DIR)\gdk-win32-$(GTK_VERSION).lib \
+	$(LIB_DIR)\pango-1.0.lib \
+!ELSE
+!IF "$(GLIB_VERSION)" == "2.0"
+	$(LIB_DIR)\gtk.lib \
+	$(LIB_DIR)\gdk.lib \
+!ELSE
 	$(GTK_DIR)\gtk\gtk-$(GTK_VERSION).lib \
 	$(GTK_DIR)\gdk\gdk-$(GTK_VERSION).lib \
+!ENDIF
+!ENDIF
+!IF "$(GLIB_VERSION)" == "2.0"
+	$(LIB_DIR)\glib-$(GLIB_VERSION).lib \
+	$(LIB_DIR)\gmodule-$(GLIB_VERSION).lib \
+	$(LIB_DIR)\gobject-$(GLIB_VERSION).lib \
+!ELSE
 	$(GLIB_DIR)\glib-$(GLIB_VERSION).lib \
 	$(GLIB_DIR)\gmodule\gmodule-$(GLIB_VERSION).lib \
+!ENDIF
 !IFDEF ADNS_DIR
 	$(ADNS_DIR)\adns_win32\lib\adns_dll.lib \
 !ENDIF
@@ -463,8 +487,13 @@
 	epan\ethereal.lib \
 	epan\dfilter\dfilter.lib epan\ftypes\ftypes.lib \
 	wsock32.lib user32.lib \
+!IF "$(GLIB_VERSION)" == "2.0"
+	$(LIB_DIR)\glib-$(GLIB_VERSION).lib \
+	$(LIB_DIR)\gmodule-$(GLIB_VERSION).lib \
+!ELSE
 	$(GLIB_DIR)\glib-$(GLIB_VERSION).lib \
 	$(GLIB_DIR)\gmodule\gmodule-$(GLIB_VERSION).lib \
+!ENDIF
 !IFDEF ADNS_DIR
 	$(ADNS_DIR)\adns_win32\lib\adns_dll.lib \
 !ENDIF
@@ -472,24 +501,43 @@
 
 editcap_LIBS= wiretap\wiretap-$(WTAP_VERSION).lib \
 	wsock32.lib user32.lib \
+!IF "$(GLIB_VERSION)" == "2.0"
+	$(LIB_DIR)\glib-$(GLIB_VERSION).lib \
+	$(LIB_DIR)\gmodule-$(GLIB_VERSION).lib
+!ELSE
 	$(GLIB_DIR)\glib-$(GLIB_VERSION).lib \
 	$(GLIB_DIR)\gmodule\gmodule-$(GLIB_VERSION).lib
+!ENDIF
 
 mergecap_LIBS= wiretap\wiretap-$(WTAP_VERSION).lib \
 	wsock32.lib user32.lib \
+!IF "$(GLIB_VERSION)" == "2.0"
+	$(LIB_DIR)\glib-$(GLIB_VERSION).lib \
+	$(LIB_DIR)\gmodule-$(GLIB_VERSION).lib
+!ELSE
 	$(GLIB_DIR)\glib-$(GLIB_VERSION).lib \
 	$(GLIB_DIR)\gmodule\gmodule-$(GLIB_VERSION).lib
+!ENDIF
 
 dftest_LIBS=  wiretap\wiretap-$(WTAP_VERSION).lib epan\ethereal.lib \
 	epan\dfilter\dfilter.lib epan\ftypes\ftypes.lib \
 	wsock32.lib user32.lib \
 	wiretap\wiretap-$(WTAP_VERSION).lib \
+!IF "$(GLIB_VERSION)" == "2.0"
+	$(LIB_DIR)\glib-$(GLIB_VERSION).lib \
+	$(LIB_DIR)\gmodule-$(GLIB_VERSION).lib
+!ELSE
 	$(GLIB_DIR)\glib-$(GLIB_VERSION).lib \
 	$(GLIB_DIR)\gmodule\gmodule-$(GLIB_VERSION).lib
+!ENDIF
 
 randpkt_LIBS= wiretap\wiretap-$(WTAP_VERSION).lib \
 	user32.lib \
+!IF "$(GLIB_VERSION)" == "2.0"
+	$(LIB_DIR)\gmodule-$(GLIB_VERSION).lib \
+!ELSE
 	$(GLIB_DIR)\gmodule\gmodule-$(GLIB_VERSION).lib \
+!ENDIF
 	$(NET_SNMP_DIR)\win32\lib\libsnmp.lib
 
 EXECUTABLES=ethereal.exe tethereal.exe editcap.exe mergecap.exe text2pcap.exe
Index: ethereal/config.nmake
===================================================================
RCS file: /cvsroot/ethereal/config.nmake,v
retrieving revision 1.41
diff -u -r1.41 config.nmake
--- ethereal/config.nmake	12 Jun 2003 09:45:42 -0000	1.41
+++ ethereal/config.nmake	13 Jun 2003 19:52:00 -0000
@@ -1,7 +1,7 @@
 # $Id: config.nmake,v 1.41 2003/06/12 09:45:42 guy Exp $
 
 VERSION=0.9.13
-RC_VERSION=0.9.13
+RC_VERSION=0,9,13
 WTAP_VERSION=0.0
 
 GTK_VERSION=1.3
@@ -22,16 +22,28 @@
 #
 ADNS_DIR=C:\ethereal-win32-libs\adns-1.0-win32-01
 
+!IF "$(GTK_VERSION)" == "2.0"
+ATK_DIR=C:\ethereal-win32-libs\include\atk-1.0
+PANGO_DIR=C:\ethereal-win32-libs\include\pango-1.0
+!ENDIF
+
 COMMON_FILES_GNU=c:\program files\common files\gnu
 
-LOCAL_CFLAGS=-Zi
+!IF "$(GLIB_VERSION)" == "2.0"
+# Define the directory with glib2 and gtk2 libraries
+LIB_DIR=C:\ethereal-win32-libs\lib
+LOCAL_CFLAGS=-Zi /I$(GLIB_DIR) /I$(LIB_DIR)/glib-2.0/include
+!ELSE
+LOCAL_CFLAGS=-Zi /I$(GLIB_DIR) /I$(GLIB_DIR)/gmodule
+!ENDIF
+
 LOCAL_LDFLAGS=/DEBUG
 
 # Set PDB_FILE according to your VC++ version 
 PDB_FILE=vc*.pdb
 
 # Set path if you need to find some binary
-PATH=c:\cygnus\cygwin-b20\H-i586-cygwin32\bin;c:\python22;c:\ethereal\wiretap;c:\program files\common files\gnu;$(PATH)
+PATH=c:\cygnus\cygwin-b20\H-i586-cygwin32\bin;c:\python22;c:\ethereal\wiretap;$(COMMON_FILES_GNU);$(PATH)
 
 SH=bash
 PERL=perl
Index: ethereal/epan/Makefile.nmake
===================================================================
RCS file: /cvsroot/ethereal/epan/Makefile.nmake,v
retrieving revision 1.25
diff -u -r1.25 Makefile.nmake
--- ethereal/epan/Makefile.nmake	12 Jun 2003 09:45:42 -0000	1.25
+++ ethereal/epan/Makefile.nmake	13 Jun 2003 19:52:01 -0000
@@ -8,9 +8,9 @@
 ############### no need to modify below this line #########
 
 CFLAGS=-DHAVE_CONFIG_H /I. /I.. /I../wiretap \
-	/I$(GLIB_DIR) /I$(GTK_DIR) /I$(GLIB_DIR)/gmodule \
-	/I$(GTK_DIR)\gdk /I$(GTK_DIR)\gdk\win32 \
+!IFDEF ADNS_DIR
 	/I$(ADNS_DIR)\src /I$(ADNS_DIR)\adns_win32 \
+!ENDIF
 	/I$(PCAP_DIR)\include -D_U_="" $(LOCAL_CFLAGS)
 
 CVARSDLL=-DWIN32 -DNULL=0 -D_MT -D_DLL
@@ -18,8 +18,13 @@
 # For use when making ethereal.dll
 libethereal_LIBS = \
 	wsock32.lib user32.lib \
+!IF "$(GLIB_VERSION)" == "2.0"
+	$(LIB_DIR)\glib-$(GLIB_VERSION).lib \
+	$(LIB_DIR)\gmodule-$(GLIB_VERSION).lib
+!ELSE
 	$(GLIB_DIR)\glib-$(GLIB_VERSION).lib \
 	$(GLIB_DIR)\gmodule\gmodule-$(GLIB_VERSION).lib
+!ENDIF
 
 .c.obj::
    $(CC) $(CVARSDLL) $(CFLAGS) -Fd.\ -c $<
Index: ethereal/epan/dfilter/Makefile.nmake
===================================================================
RCS file: /cvsroot/ethereal/epan/dfilter/Makefile.nmake,v
retrieving revision 1.8
diff -u -r1.8 Makefile.nmake
--- ethereal/epan/dfilter/Makefile.nmake	27 Feb 2002 09:42:41 -0000	1.8
+++ ethereal/epan/dfilter/Makefile.nmake	13 Jun 2003 19:52:01 -0000
@@ -10,8 +10,6 @@
 LEMON=..\..\tools\lemon
 
 CFLAGS=-DHAVE_CONFIG_H /I. /I.. /I..\.. /I$(LEMON) \
-	/I$(GLIB_DIR) /I$(GTK_DIR) /I$(GLIB_DIR)\gmodule \
-	/I$(GTK_DIR)\gdk /I$(GTK_DIR)\gdk\win32 \
 	/I$(PCAP_DIR)\include -D_U_="" $(LOCAL_CFLAGS)
 
 CVARSDLL=-DWIN32 -DNULL=0 -D_MT -D_DLL
Index: ethereal/epan/ftypes/Makefile.nmake
===================================================================
RCS file: /cvsroot/ethereal/epan/ftypes/Makefile.nmake,v
retrieving revision 1.4
diff -u -r1.4 Makefile.nmake
--- ethereal/epan/ftypes/Makefile.nmake	27 Feb 2002 09:42:42 -0000	1.4
+++ ethereal/epan/ftypes/Makefile.nmake	13 Jun 2003 19:52:01 -0000
@@ -8,11 +8,9 @@
 ############### no need to modify below this line #########
 
 CFLAGS=-DHAVE_CONFIG_H /I. /I.. /I../.. \
-	/I$(GLIB_DIR) /I$(GTK_DIR) /I$(GLIB_DIR)/gmodule \
-	/I$(GTK_DIR)\gdk /I$(GTK_DIR)\gdk\win32 \
 	/I$(PCAP_DIR)\include -D_U_="" $(LOCAL_CFLAGS)
 
-CVARSDLL=-DWIN32 -DNULL=0 -D_MT -D_DLL 
+CVARSDLL=-DWIN32 -DNULL=0 -D_MT -D_DLL
 
 .c.obj::
    $(CC) $(CVARSDLL) $(CFLAGS) -Fd.\ -c $<
Index: ethereal/gtk/Makefile.nmake
===================================================================
RCS file: /cvsroot/ethereal/gtk/Makefile.nmake,v
retrieving revision 1.43
diff -u -r1.43 Makefile.nmake
--- ethereal/gtk/Makefile.nmake	25 Apr 2003 20:54:18 -0000	1.43
+++ ethereal/gtk/Makefile.nmake	13 Jun 2003 19:52:01 -0000
@@ -7,12 +7,17 @@
 
 ############### no need to modify below this line #########
 
-CFLAGS=-DHAVE_CONFIG_H /I.. /I../wiretap \
-	/I$(GLIB_DIR) /I$(GTK_DIR) /I$(GLIB_DIR)/gmodule \
-	/I$(GTK_DIR)\gdk /I$(GTK_DIR)\gdk\win32 \
-	/I$(ZLIB_DIR) \
-	/I$(PCAP_DIR)\WPCAP\LIBPCAP /I$(PCAP_DIR)\WPCAP\LIBPCAP\bpf \
-	/I$(PCAP_DIR)\WPCAP\LIBPCAP\lbl \
+CFLAGS=-DHAVE_CONFIG_H /I.. /I../wiretap /I$(ZLIB_DIR) \
+	/I$(GTK_DIR) /I$(GTK_DIR)\gdk /I$(GTK_DIR)\gdk\win32 \
+!IF "$(GTK_VERSION)" == "2.0"
+	/I$(LIB_DIR)/gtk-2.0/include /I$(PANGO_DIR) /I$(ATK_DIR) \
+!ELSE
+!IF "$(GLIB_VERSION)" == "2.0"
+	/I$(LIB_DIR)/gtk+/include \
+!ENDIF
+!ENDIF
+#	/I$(PCAP_DIR)\WPCAP\LIBPCAP /I$(PCAP_DIR)\WPCAP\LIBPCAP\bpf \
+#	/I$(PCAP_DIR)\WPCAP\LIBPCAP\lbl \
 	/I$(PCAP_DIR)\include /I$(NET_SNMP_DIR)\include \
 	/I$(NET_SNMP_DIR)\win32 /Zm800 -D_U_="" $(LOCAL_CFLAGS)
 
Index: ethereal/wiretap/Makefile.nmake
===================================================================
RCS file: /cvsroot/ethereal/wiretap/Makefile.nmake,v
retrieving revision 1.28
diff -u -r1.28 Makefile.nmake
--- ethereal/wiretap/Makefile.nmake	31 Jul 2002 19:27:56 -0000	1.28
+++ ethereal/wiretap/Makefile.nmake	13 Jun 2003 19:52:02 -0000
@@ -7,7 +7,7 @@
 
 ############### no need to modify below this line #########
 
-CFLAGS=-DHAVE_CONFIG_H /I$(GLIB_DIR) /I$(ZLIB_DIR) /I$(PCAP_DIR)/include \
+CFLAGS=-DHAVE_CONFIG_H /I$(ZLIB_DIR) /I$(PCAP_DIR)/include \
 	-D_U_="" $(LOCAL_CFLAGS)
 
 .c.obj::
@@ -42,7 +42,11 @@
 
 
 wiretap_LIBS = \
-	$(GLIB_DIR)\glib-$(GLIB_VERSION).lib	\
+!IF "$(GLIB_VERSION)" == "2.0"
+	$(LIB_DIR)\glib-$(GLIB_VERSION).lib \
+!ELSE
+	$(GLIB_DIR)\glib-$(GLIB_VERSION).lib \
+!ENDIF
 	$(ZLIB_DIR)\zlib.lib
 
 all: wiretap-$(WTAP_VERSION).dll
Index: ethereal/plugins/Makefile.nmake
===================================================================
RCS file: /cvsroot/ethereal/plugins/Makefile.nmake,v
retrieving revision 1.18
diff -u -r1.18 Makefile.nmake
--- ethereal/plugins/Makefile.nmake	11 Jun 2003 09:17:02 -0000	1.18
+++ ethereal/plugins/Makefile.nmake	13 Jun 2003 19:52:02 -0000
@@ -7,8 +7,6 @@
 ############### no need to modify below this line #########
 
 CFLAGS=/DHAVE_CONFIG_H /I.. /I../wiretap /I. \
-	/I$(GLIB_DIR) /I$(GTK_DIR) /I$(GLIB_DIR)/gmodule \
-	/I$(GTK_DIR)\gdk /I$(GTK_DIR)\gdk\win32 \
 	/I$(PCAP_DIR)\include -D_U_="" $(LOCAL_CFLAGS)
 
 OBJECTS=plugin_api.obj 
@@ -70,5 +68,7 @@
 	cd ../mgcp
 	$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
 	cd ../pcli
+	$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
+	cd ../rtnet
 	$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
 	cd ..
Index: ethereal/plugins/artnet/Makefile.nmake
===================================================================
RCS file: /cvsroot/ethereal/plugins/artnet/Makefile.nmake,v
retrieving revision 1.1
diff -u -r1.1 Makefile.nmake
--- ethereal/plugins/artnet/Makefile.nmake	21 Apr 2003 21:28:39 -0000	1.1
+++ ethereal/plugins/artnet/Makefile.nmake	13 Jun 2003 19:52:02 -0000
@@ -7,15 +7,17 @@
 ############### no need to modify below this line #########
 
 CFLAGS=/DHAVE_CONFIG_H /I../.. /I../../wiretap \
-	/I$(GLIB_DIR) /I$(GTK_DIR) /I$(GLIB_DIR)/gmodule \
-	/I$(GTK_DIR)\gdk /I$(GTK_DIR)\gdk\win32 \
 	/I$(PCAP_DIR)\include -D_U_="" $(LOCAL_CFLAGS)
 
-OBJECTS=packet-artnet.obj 
+OBJECTS=packet-artnet.obj
 
 artnet.dll artnet.exp artnet.lib : packet-artnet.obj ..\plugin_api.obj
 	link -dll /out:artnet.dll packet-artnet.obj ..\plugin_api.obj \
+!IF "$(GLIB_VERSION)" == "2.0"
+	$(LIB_DIR)\glib-$(GLIB_VERSION).lib
+!ELSE
 	$(GLIB_DIR)\glib-$(GLIB_VERSION).lib
+!ENDIF
 
 clean:
 	rm -f $(OBJECTS) artnet.dll artnet.exp artnet.lib $(PDB_FILE)
Index: ethereal/plugins/docsis/Makefile.nmake
===================================================================
RCS file: /cvsroot/ethereal/plugins/docsis/Makefile.nmake,v
retrieving revision 1.3
diff -u -r1.3 Makefile.nmake
--- ethereal/plugins/docsis/Makefile.nmake	10 Sep 2002 19:07:37 -0000	1.3
+++ ethereal/plugins/docsis/Makefile.nmake	13 Jun 2003 19:52:02 -0000
@@ -7,8 +7,6 @@
 ############### no need to modify below this line #########
 
 CFLAGS=/DHAVE_CONFIG_H /I../.. /I../../wiretap \
-	/I$(GLIB_DIR) /I$(GTK_DIR) /I$(GLIB_DIR)/gmodule \
-	/I$(GTK_DIR)\gdk /I$(GTK_DIR)\gdk\win32 \
 	/I$(PCAP_DIR)\include -D_U_="" $(LOCAL_CFLAGS)
 
 OBJECTS=packet-docsis.obj packet-bpkmattr.obj \
@@ -38,7 +36,11 @@
 		packet-ucd.obj packet-dsareq.obj \
 		packet-dsdrsp.obj packet-rngreq.obj \
 		packet-vendor.obj ..\plugin_api.obj  \
+!IF "$(GLIB_VERSION)" == "2.0"
+	$(LIB_DIR)\glib-$(GLIB_VERSION).lib
+!ELSE
 	$(GLIB_DIR)\glib-$(GLIB_VERSION).lib
+!ENDIF
 
 clean:
 	rm -f $(OBJECTS) docsis.dll docsis.exp docsis.lib $(PDB_FILE)
Index: ethereal/plugins/giop/Makefile.nmake
===================================================================
RCS file: /cvsroot/ethereal/plugins/giop/Makefile.nmake,v
retrieving revision 1.6
diff -u -r1.6 Makefile.nmake
--- ethereal/plugins/giop/Makefile.nmake	27 Feb 2002 09:42:46 -0000	1.6
+++ ethereal/plugins/giop/Makefile.nmake	13 Jun 2003 19:52:02 -0000
@@ -7,8 +7,6 @@
 ############### no need to modify below this line #########
 
 CFLAGS=/DHAVE_CONFIG_H /I../.. /I../../wiretap \
-	/I$(GLIB_DIR) /I$(GTK_DIR) /I$(GLIB_DIR)/gmodule \
-	/I$(GTK_DIR)\gdk /I$(GTK_DIR)\gdk\win32 \
 	/I$(PCAP_DIR)\include -D_U_="" $(LOCAL_CFLAGS)
 
 OBJECTS=packet-cosnaming.obj  packet-coseventcomm.obj
@@ -17,11 +15,19 @@
 
 cosnaming.dll cosnaming.exp cosnaming.lib : packet-cosnaming.obj ..\plugin_api.obj
 	link -dll /out:cosnaming.dll packet-cosnaming.obj ..\plugin_api.obj \
+!IF "$(GLIB_VERSION)" == "2.0"
+	$(LIB_DIR)\glib-$(GLIB_VERSION).lib
+!ELSE
 	$(GLIB_DIR)\glib-$(GLIB_VERSION).lib
+!ENDIF
 
 coseventcomm.dll coseventcomm.exp coseventcomm.lib : packet-coseventcomm.obj ..\plugin_api.obj
 	link -dll /out:coseventcomm.dll packet-coseventcomm.obj ..\plugin_api.obj \
+!IF "$(GLIB_VERSION)" == "2.0"
+	$(LIB_DIR)\glib-$(GLIB_VERSION).lib
+!ELSE
 	$(GLIB_DIR)\glib-$(GLIB_VERSION).lib
+!ENDIF
 
 
 clean:
Index: ethereal/plugins/gryphon/Makefile.nmake
===================================================================
RCS file: /cvsroot/ethereal/plugins/gryphon/Makefile.nmake,v
retrieving revision 1.9
diff -u -r1.9 Makefile.nmake
--- ethereal/plugins/gryphon/Makefile.nmake	12 Jun 2003 10:12:21 -0000	1.9
+++ ethereal/plugins/gryphon/Makefile.nmake	13 Jun 2003 19:52:02 -0000
@@ -7,15 +7,17 @@
 ############### no need to modify below this line #########
 
 CFLAGS=/DHAVE_CONFIG_H /I../.. /I../../wiretap \
-	/I$(GLIB_DIR) /I$(GTK_DIR) /I$(GLIB_DIR)/gmodule \
-	/I$(GTK_DIR)\gdk /I$(GTK_DIR)\gdk\win32 \
 	/I$(PCAP_DIR)\include -D_U_="" $(LOCAL_CFLAGS)
 
-OBJECTS=packet-gryphon.obj 
+OBJECTS=packet-gryphon.obj
 
 gryphon.dll gryphon.exp gryphon.lib : packet-gryphon.obj ..\plugin_api.obj
 	link -dll /out:gryphon.dll packet-gryphon.obj ..\plugin_api.obj \
+!IF "$(GLIB_VERSION)" == "2.0"
+	$(LIB_DIR)\glib-$(GLIB_VERSION).lib
+!ELSE
 	$(GLIB_DIR)\glib-$(GLIB_VERSION).lib
+!ENDIF
 
 clean:
 	rm -f $(OBJECTS) gryphon.dll gryphon.exp gryphon.lib $(PDB_FILE)
Index: ethereal/plugins/megaco/Makefile.nmake
===================================================================
RCS file: /cvsroot/ethereal/plugins/megaco/Makefile.nmake,v
retrieving revision 1.1
diff -u -r1.1 Makefile.nmake
--- ethereal/plugins/megaco/Makefile.nmake	14 Jan 2003 23:53:40 -0000	1.1
+++ ethereal/plugins/megaco/Makefile.nmake	13 Jun 2003 19:52:02 -0000
@@ -7,15 +7,17 @@
 ############### no need to modify below this line #########
 
 CFLAGS=/DHAVE_CONFIG_H /I../.. /I../../wiretap \
-	/I$(GLIB_DIR) /I$(GTK_DIR) /I$(GLIB_DIR)/gmodule \
-	/I$(GTK_DIR)\gdk /I$(GTK_DIR)\gdk\win32 \
 	/I$(PCAP_DIR)\include -D_U_="" $(LOCAL_CFLAGS)
 
-OBJECTS=packet-megaco.obj 
+OBJECTS=packet-megaco.obj
 
 megaco.dll megaco.exp megaco.lib : packet-megaco.obj ..\plugin_api.obj
 	link -dll /out:megaco.dll packet-megaco.obj ..\plugin_api.obj \
+!IF "$(GLIB_VERSION)" == "2.0"
+	$(LIB_DIR)\glib-$(GLIB_VERSION).lib
+!ELSE
 	$(GLIB_DIR)\glib-$(GLIB_VERSION).lib
+!ENDIF
 
 clean:
 	rm -f $(OBJECTS) megaco.dll megaco.exp megaco.lib $(PDB_FILE)
Index: ethereal/plugins/mgcp/Makefile.nmake
===================================================================
RCS file: /cvsroot/ethereal/plugins/mgcp/Makefile.nmake,v
retrieving revision 1.5
diff -u -r1.5 Makefile.nmake
--- ethereal/plugins/mgcp/Makefile.nmake	27 Feb 2002 09:42:48 -0000	1.5
+++ ethereal/plugins/mgcp/Makefile.nmake	13 Jun 2003 19:52:02 -0000
@@ -7,15 +7,17 @@
 ############### no need to modify below this line #########
 
 CFLAGS=/DHAVE_CONFIG_H /I../.. /I../../wiretap \
-	/I$(GLIB_DIR) /I$(GTK_DIR) /I$(GLIB_DIR)/gmodule \
-	/I$(GTK_DIR)\gdk /I$(GTK_DIR)\gdk\win32 \
 	/I$(PCAP_DIR)\include -D_U_="" $(LOCAL_CFLAGS)
 
-OBJECTS=packet-mgcp.obj 
+OBJECTS=packet-mgcp.obj
 
 mgcp.dll mgcp.exp mgcp.lib : packet-mgcp.obj ..\plugin_api.obj
 	link -dll /out:mgcp.dll packet-mgcp.obj ..\plugin_api.obj \
+!IF "$(GLIB_VERSION)" == "2.0"
+	$(LIB_DIR)\glib-$(GLIB_VERSION).lib
+!ELSE
 	$(GLIB_DIR)\glib-$(GLIB_VERSION).lib
+!ENDIF
 
 clean:
 	rm -f $(OBJECTS) mgcp.dll mgcp.exp mgcp.lib $(PDB_FILE)
Index: ethereal/plugins/rtnet/Makefile.nmake
===================================================================
RCS file: /cvsroot/ethereal/plugins/rtnet/Makefile.nmake,v
retrieving revision 1.2
diff -u -r1.2 Makefile.nmake
--- ethereal/plugins/rtnet/Makefile.nmake	11 Jun 2003 14:40:17 -0000	1.2
+++ ethereal/plugins/rtnet/Makefile.nmake	13 Jun 2003 19:52:02 -0000
@@ -7,15 +7,17 @@
 ############### no need to modify below this line #########
 
 CFLAGS=/DHAVE_CONFIG_H /I../.. /I../../wiretap \
-	/I$(GLIB_DIR) /I$(GTK_DIR) /I$(GLIB_DIR)/gmodule \
-	/I$(GTK_DIR)\gdk /I$(GTK_DIR)\gdk\win32 \
 	/I$(PCAP_DIR)\include -D_U_="" $(LOCAL_CFLAGS)
 
-OBJECTS=packet-rtnet.obj 
+OBJECTS=packet-rtnet.obj
 
 rtnet.dll rtnet.exp rtnet.lib : packet-rtnet.obj ..\plugin_api.obj
 	link -dll /out:rtnet.dll packet-rtnet.obj ..\plugin_api.obj \
+!IF "$(GLIB_VERSION)" == "2.0"
+	$(LIB_DIR)\glib-$(GLIB_VERSION).lib
+!ELSE
 	$(GLIB_DIR)\glib-$(GLIB_VERSION).lib
+!ENDIF
 
 clean:
 	rm -f $(OBJECTS) rtnet.dll rtnet.exp rtnet.lib $(PDB_FILE)
Index: ethereal/plugins/pcli/Makefile.nmake
===================================================================
RCS file: /cvsroot/ethereal/plugins/pcli/Makefile.nmake,v
retrieving revision 1.1
diff -u -r1.1 Makefile.nmake
--- ethereal/plugins/pcli/Makefile.nmake	3 Oct 2002 02:56:59 -0000	1.1
+++ ethereal/plugins/pcli/Makefile.nmake	13 Jun 2003 19:52:02 -0000
@@ -7,15 +7,17 @@
 ############### no need to modify below this line #########
 
 CFLAGS=/DHAVE_CONFIG_H /I../.. /I../../wiretap \
-	/I$(GLIB_DIR) /I$(GTK_DIR) /I$(GLIB_DIR)/gmodule \
-	/I$(GTK_DIR)\gdk /I$(GTK_DIR)\gdk\win32 \
 	/I$(PCAP_DIR)\include -D_U_="" $(LOCAL_CFLAGS)
 
-OBJECTS=packet-pcli.obj 
+OBJECTS=packet-pcli.obj
 
 pcli.dll pcli.exp pcli.lib : packet-pcli.obj ..\plugin_api.obj
 	link -dll /out:pcli.dll packet-pcli.obj ..\plugin_api.obj \
+!IF "$(GLIB_VERSION)" == "2.0"
+	$(LIB_DIR)\glib-$(GLIB_VERSION).lib
+!ELSE
 	$(GLIB_DIR)\glib-$(GLIB_VERSION).lib
+!ENDIF
 
 clean:
 	rm -f $(OBJECTS) pcli.dll pcli.exp pcli.lib $(PDB_FILE)
Index: ethereal/packaging/nsis/Makefile.nmake
===================================================================
RCS file: /cvsroot/ethereal/packaging/nsis/Makefile.nmake,v
retrieving revision 1.18
diff -u -r1.18 Makefile.nmake
--- ethereal/packaging/nsis/Makefile.nmake	11 Jun 2003 09:17:01 -0000	1.18
+++ ethereal/packaging/nsis/Makefile.nmake	13 Jun 2003 20:32:15 -0000
@@ -32,10 +32,17 @@
 	../../plugins/pcli/pcli.dll \
 	../../plugins/rtnet/rtnet.dll
 
-DELIVERABLES=$(EXE) $(DLL) $(DOC) $(GPL) $(PLUGINS) 
+DELIVERABLES=$(EXE) $(DLL) $(DOC) $(GPL) $(PLUGINS)
 
 ethereal-setup-$(VERSION).exe : ethereal.nsi $(DELIVERABLES)
-	$(MAKENSIS) /DVERSION=$(VERSION) /DWTAP_VERSION=$(WTAP_VERSION) /DCOMMON_FILES_GNU=$(COMMON_FILES_GNU) /DNET_SNMP_DIR=$(NET_SNMP_DIR) ethereal.nsi
+	$(MAKENSIS) \
+!IF "$(GTK_VERSION)" == "2.0"
+	/DGTK2 \
+!ENDIF
+!IF "$(GLIB_VERSION)" == "2.0"
+	/DGLIB2 \
+!ENDIF
+	/DVERSION=$(VERSION) /DWTAP_VERSION=$(WTAP_VERSION) /DCOMMON_FILES_GNU=$(COMMON_FILES_GNU) /DNET_SNMP_DIR=$(NET_SNMP_DIR) ethereal.nsi
 
 clean:
 	rm -f ethereal-setup-$(VERSION).exe
Index: ethereal/packaging/nsis/ethereal.nsi
===================================================================
RCS file: /cvsroot/ethereal/packaging/nsis/ethereal.nsi,v
retrieving revision 1.16
diff -u -r1.16 ethereal.nsi
--- ethereal/packaging/nsis/ethereal.nsi	11 Jun 2003 09:17:01 -0000	1.16
+++ ethereal/packaging/nsis/ethereal.nsi	13 Jun 2003 20:32:15 -0000
@@ -71,10 +71,18 @@
 
 SetOutPath $INSTDIR
 File "..\..\wiretap\wiretap-${WTAP_VERSION}.dll"
+!ifndef GLIB2
 File "${COMMON_FILES_GNU}\iconv-1.3.dll"
 File "${COMMON_FILES_GNU}\glib-1.3.dll"
 File "${COMMON_FILES_GNU}\gmodule-1.3.dll"
 File "${COMMON_FILES_GNU}\gnu-intl.dll"
+!else
+File "${COMMON_FILES_GNU}\iconv.dll"
+File "${COMMON_FILES_GNU}\libglib-2.0-0.dll"
+File "${COMMON_FILES_GNU}\libgmodule-2.0-0.dll"
+File "${COMMON_FILES_GNU}\libgobject-2.0-0.dll"
+File "${COMMON_FILES_GNU}\libintl-1.dll"
+!endif
 File "${COMMON_FILES_GNU}\zlib.dll"
 File "${COMMON_FILES_GNU}\adns_dll.dll"
 File "..\..\FAQ"
@@ -105,8 +113,33 @@
 SetOutPath $INSTDIR
 File "..\..\ethereal.exe"
 File "..\..\doc\ethereal.html"
+!ifndef GTK2
+!ifndef GLIB2
 File "${COMMON_FILES_GNU}\gtk-1.3.dll"
 File "${COMMON_FILES_GNU}\gdk-1.3.dll"
+!else
+File "${COMMON_FILES_GNU}\libgtk-0.dll"
+File "${COMMON_FILES_GNU}\libgdk-0.dll"
+!endif
+!else
+File "${COMMON_FILES_GNU}\libgdk-win32-2.0-0.dll"
+File "${COMMON_FILES_GNU}\libgdk_pixbuf-2.0-0.dll"
+File "${COMMON_FILES_GNU}\libgtk-win32-2.0-0.dll"
+File "${COMMON_FILES_GNU}\libatk-1.0-0.dll"
+File "${COMMON_FILES_GNU}\libpango-1.0-0.dll"
+File "${COMMON_FILES_GNU}\libpangowin32-1.0-0.dll"
+SetOutPath $INSTDIR\etc\gtk-2.0
+File "${COMMON_FILES_GNU}\etc\gtk-2.0\gdk-pixbuf.loaders"
+File "${COMMON_FILES_GNU}\etc\gtk-2.0\gtk.immodules"
+SetOutPath $INSTDIR\etc\pango
+File "${COMMON_FILES_GNU}\etc\pango\pango.modules"
+SetOutPath $INSTDIR\lib\gtk-2.0\2.2.0\loaders
+File "${COMMON_FILES_GNU}\lib\gtk-2.0\2.2.0\loaders\libpixbufloader-*.dll"
+SetOutPath $INSTDIR\lib\gtk-2.0\2.2.0\immodules
+File "${COMMON_FILES_GNU}\lib\gtk-2.0\2.2.0\immodules\im-*.dll"
+SetOutPath $INSTDIR\lib\pango\1.2.0\modules
+File "${COMMON_FILES_GNU}\lib\pango\1.2.0\modules\pango-*.dll"
+!endif
 SectionEnd
 
 Section "Tethereal"
@@ -191,6 +224,13 @@
 ;
 SetShellVarContext all
 
+!ifdef GTK2
+Delete "$INSTDIR\etc\gtk-2.0\*.*"
+Delete "$INSTDIR\etc\pango\*.*"
+Delete "$INSTDIR\lib\gtk-2.0\2.2.0\loaders\*.*"
+Delete "$INSTDIR\lib\gtk-2.0\2.2.0\immodules\*.*"
+Delete "$INSTDIR\lib\pango\1.2.0\modules\*.*"
+!endif
 Delete "$INSTDIR\plugins\${VERSION}\*.*"
 Delete "$INSTDIR\plugins\*.*"
 Delete "$INSTDIR\diameter\*.*"
@@ -200,6 +240,19 @@
 Delete "$SMPROGRAMS\Ethereal\*.*"
 Delete "$DESKTOP\Ethereal.lnk"
 
+!ifdef GTK2
+RMDir "$INSTDIR\etc\gtk-2.0"
+RMDir "$INSTDIR\etc\pango"
+RMDir "$INSTDIR\etc"
+RMDir "$INSTDIR\lib\gtk-2.0\2.2.0\loaders"
+RMDir "$INSTDIR\lib\gtk-2.0\2.2.0\immodules"
+RMDir "$INSTDIR\lib\gtk-2.0\2.2.0"
+RMDir "$INSTDIR\lib\gtk-2.0"
+RMDir "$INSTDIR\lib\pango\1.2.0\modules"
+RMDir "$INSTDIR\lib\pango\1.2.0"
+RMDir "$INSTDIR\lib\pango"
+RMDir "$INSTDIR\lib"
+!endif
 RMDir "$SMPROGRAMS\Ethereal"
 RMDir "$INSTDIR\plugins\${VERSION}"
 RMDir "$INSTDIR\plugins"