From 409948eced9af8a2b39347e15bb7d69fe42e9c4a Mon Sep 17 00:00:00 2001 From: Gerald Combs Date: Sun, 7 Dec 2003 00:04:32 +0000 Subject: Add PCRE support to the Windows build. svn path=/trunk/; revision=9185 --- Makefile.nmake | 7 +++++-- README.win32 | 13 +++++++------ config.h.win32 | 5 ++++- config.nmake | 33 ++++++++++++++++++++++++++++++++- epan/Makefile.nmake | 10 +++++++--- epan/config.h.win32 | 5 ++++- epan/ftypes/Makefile.nmake | 4 ++-- packaging/nsis/ethereal.nsi | 4 +++- 8 files changed, 64 insertions(+), 17 deletions(-) diff --git a/Makefile.nmake b/Makefile.nmake index 3a88c7ca1b..04149802c2 100644 --- a/Makefile.nmake +++ b/Makefile.nmake @@ -1,7 +1,7 @@ ## Makefile for building ethereal.exe with Microsoft C and nmake ## Use: $(MAKE) /$(MAKEFLAGS) -f makefile.nmake # -# $Id: Makefile.nmake,v 1.370 2003/12/05 16:00:34 gerald Exp $ +# $Id: Makefile.nmake,v 1.371 2003/12/07 00:04:30 gerald Exp $ include config.nmake include @@ -16,7 +16,7 @@ LDFLAGS = /NOLOGO /INCREMENTAL:no /MACHINE:I386 $(LOCAL_LDFLAGS) CFLAGS=-DHAVE_CONFIG_H $(LOCAL_CFLAGS) $(GTK_CFLAGS) /I. /Iwiretap \ $(ZLIB_CFLAGS) /I$(PCAP_DIR)\include \ /I$(NET_SNMP_DIR)\include /I$(NET_SNMP_DIR)\win32 \ - $(ADNS_CFLAGS) -D_U_="" + $(ADNS_CFLAGS) $(PCRE_CFLAGS) -D_U_="" CVARSDLL=-DWIN32 -DNULL=0 -D_MT -D_DLL @@ -512,6 +512,7 @@ ethereal_LIBS= wiretap\wiretap-$(WTAP_VERSION).lib \ wsock32.lib user32.lib \ $(GTK_LIBS) \ $(ADNS_LIBS) \ + $(PCRE_LIBS) \ $(NET_SNMP_DIR)\win32\lib\netsnmp.lib # $(PCAP_DIR)\lib\wpcap.lib @@ -521,6 +522,7 @@ tethereal_LIBS= wiretap\wiretap-$(WTAP_VERSION).lib \ wsock32.lib user32.lib \ $(GLIB_LIBS) \ $(ADNS_LIBS) \ + $(PCRE_LIBS) \ $(NET_SNMP_DIR)\win32\lib\netsnmp.lib editcap_LIBS= wiretap\wiretap-$(WTAP_VERSION).lib \ @@ -595,6 +597,7 @@ randpkt.exe : $(randpkt_OBJECTS) $(EXTRA_OBJECTS) config.h : config.h.win32 config.nmake sed -e s/@VERSION@/$(VERSION)/ \ -e "s/@HAVE_GNU_ADNS@/$(ADNS_CONFIG)/" \ + -e "s/@HAVE_PCRE@/$(PCRE_CONFIG)/" \ -e "s/@HAVE_LIBZ@/$(ZLIB_CONFIG)/" \ -e "s/@HAVE_LIBPCAP@/$(WINPCAP_CONFIG)/" \ -e "s/@HAVE_PCAP_FINDALLDEVS@/$(PCAP_FINDALLDEVS_CONFIG)/" \ diff --git a/README.win32 b/README.win32 index 6fc41cfe3d..93740a83d0 100644 --- a/README.win32 +++ b/README.win32 @@ -1,4 +1,4 @@ -$Id: README.win32,v 1.51 2003/12/05 16:00:34 gerald Exp $ +$Id: README.win32,v 1.52 2003/12/07 00:04:31 gerald Exp $ Installing Ethereal, Tethereal, and Editcap on Win32 ==================================================== @@ -148,11 +148,11 @@ Compiling the Ethereal distribution from source =============================================== You'll need the development packages for GLIB, GTK+, iconv, intl, -WinPcap, zlib, Net-SNMP, and ADNS. The GLIB, GTK+, and WinPcap packages -are available from the respctive home pages for each project (the same -URLs as listed above). The development packages contain header files and -stub libaries to link against. Precompiled versions of these packages -are available at +WinPcap, zlib, Net-SNMP, ADNS, and PCRE. The GLIB, GTK+, and WinPcap +packages are available from the respctive home pages for each project +(the same URLs as listed above). The development packages contain header +files and stub libaries to link against. Precompiled versions of these +packages are available at http://www.ethereal.com/distribution/win32/development/ @@ -175,6 +175,7 @@ package is as follows: libiconv-1.9.1.bin.woe32.zip C:\ethereal-win32-libs\gtk+ libintl-0.10.40-tml-20020904.zip C:\ethereal-win32-libs\gtk+ net-snmp-5.1.zip C:\ethereal-win32-libs + pcre-4.4.zip C:\ethereal-win32-libs zlib121-dll.zip C:\ethereal-win32-libs\zlib121-dll diff --git a/config.h.win32 b/config.h.win32 index 4e07268eba..cbe58b2fec 100644 --- a/config.h.win32 +++ b/config.h.win32 @@ -1,4 +1,4 @@ -/* $Id: config.h.win32,v 1.42 2003/11/07 23:27:07 guy Exp $ */ +/* $Id: config.h.win32,v 1.43 2003/12/07 00:04:31 gerald Exp $ */ /* config.h.win32 Generated manually. :-) */ /* config.h. Generated automatically by configure. */ /* config.h.in. Generated automatically from configure.in by autoheader. */ @@ -115,6 +115,9 @@ @HAVE_GNU_ADNS@ #define ADNS_JGAA_WIN32 1 +/* Define to use the PCRE library */ +@HAVE_PCRE@ + #ifndef WIN32 #define WIN32 1 #endif diff --git a/config.nmake b/config.nmake index c1279d828d..39ce4f646f 100644 --- a/config.nmake +++ b/config.nmake @@ -1,4 +1,4 @@ -# $Id: config.nmake,v 1.66 2003/12/05 16:00:34 gerald Exp $ +# $Id: config.nmake,v 1.67 2003/12/07 00:04:31 gerald Exp $ VERSION=0.9.16 # @@ -56,7 +56,16 @@ GTK_DIR=C:\ethereal-win32-libs\gtk+ # ZLIB_DIR=C:\ethereal-win32-libs\zlib121-dll +# +# Set PCAP_DIR to the pathname of the directory in which the WinPcap +# developer's pack resides +# PCAP_DIR=C:\ethereal-win32-libs\WPdpack + +# +# Set NET_SNMP_DIR to the pathname of the directory in which the +# Net-SNMP include files and library resides. +# NET_SNMP_DIR=C:\ethereal-win32-libs\net-snmp-5.1 # @@ -68,6 +77,16 @@ NET_SNMP_DIR=C:\ethereal-win32-libs\net-snmp-5.1 # ADNS_DIR=C:\ethereal-win32-libs\adns-1.0-win32-01 +# +# If you have the PCRE (Perl Compatible Regular Expressions) library, +# set this to the pathname of the directory in which the GNUWIN32 +# pcre-lib package has been extracted. +# +# If you don't have PCRE, comment this line out, so that PCRE_DIR +# isn't defined. +# +PCRE_DIR=C:\ethereal-win32-libs\pcre-4.4 + COMMON_FILES_GNU=c:\program files\common files\gnu LOCAL_CFLAGS=-Zi @@ -167,3 +186,15 @@ ADNS_CFLAGS= ADNS_LIBS= ADNS_CONFIG= !ENDIF + +!IFDEF PCRE_DIR +PCRE_CFLAGS=/I$(PCRE_DIR)\include +PCRE_LIBS=$(PCRE_DIR)\lib\pcre.lib +# Nmake uses carets to escape special characters +PCRE_CONFIG=^#define HAVE_LIBPCRE 1 +!else +PCRE_CFLAGS= +PCRE_LIBS= +PCRE_CONFIG= +!ENDIF + diff --git a/epan/Makefile.nmake b/epan/Makefile.nmake index 0fc102c365..eea89b3e72 100644 --- a/epan/Makefile.nmake +++ b/epan/Makefile.nmake @@ -1,14 +1,15 @@ ## Makefile for building ethereal.exe with Microsoft C and nmake ## Use: $(MAKE) /$(MAKEFLAGS) -f makefile.nmake # -# $Id: Makefile.nmake,v 1.31 2003/10/13 19:04:55 guy Exp $ +# $Id: Makefile.nmake,v 1.32 2003/12/07 00:04:31 gerald Exp $ include ..\config.nmake ############### no need to modify below this line ######### CFLAGS=-DHAVE_CONFIG_H /I. /I.. /I../wiretap $(GTK_CFLAGS) \ - $(ADNS_CFLAGS) /I$(PCAP_DIR)\include -D_U_="" $(LOCAL_CFLAGS) + $(ADNS_CFLAGS) $(PCRE_CFLAGS) /I$(PCAP_DIR)\include \ + -D_U_="" $(LOCAL_CFLAGS) CVARSDLL=-DWIN32 -DNULL=0 -D_MT -D_DLL @@ -56,7 +57,10 @@ ethereal.lib : config.h $(OBJECTS) lib /out:ethereal.lib $(OBJECTS) config.h : config.h.win32 ..\config.nmake - sed -e s/@VERSION@/$(VERSION)/ -e "s;@HAVE_GNU_ADNS@;$(ADNS_CONFIG);" < config.h.win32 > $@ + sed -e s/@VERSION@/$(VERSION)/ \ + -e "s/@HAVE_GNU_ADNS@/$(ADNS_CONFIG)/" \ + -e "s/@HAVE_PCRE@/$(PCRE_CONFIG)/" \ + < config.h.win32 > $@ clean: rm -f $(OBJECTS) ethereal.lib $(PDB_FILE) diff --git a/epan/config.h.win32 b/epan/config.h.win32 index 40a6a88e8d..81c4d8d8b2 100644 --- a/epan/config.h.win32 +++ b/epan/config.h.win32 @@ -1,4 +1,4 @@ -/* $Id: config.h.win32,v 1.12 2003/06/12 09:45:42 guy Exp $ */ +/* $Id: config.h.win32,v 1.13 2003/12/07 00:04:31 gerald Exp $ */ /* config.h.win32 Generated manually. :-) */ /* config.h. Generated automatically by configure. */ /* config.h.in. Generated automatically from configure.in by autoheader. */ @@ -75,6 +75,9 @@ @HAVE_GNU_ADNS@ #define ADNS_JGAA_WIN32 1 +/* Define to use the PCRE library */ +@HAVE_PCRE@ + #define HAVE_PLUGINS 1 #define PLUGINS_NEED_ADDRESS_TABLE 1 diff --git a/epan/ftypes/Makefile.nmake b/epan/ftypes/Makefile.nmake index 6ad6e5df23..1d8f3d3cc1 100644 --- a/epan/ftypes/Makefile.nmake +++ b/epan/ftypes/Makefile.nmake @@ -1,14 +1,14 @@ ## Makefile for building ethereal.exe with Microsoft C and nmake ## Use: $(MAKE) /$(MAKEFLAGS) -f makefile.nmake # -# $Id: Makefile.nmake,v 1.6 2003/10/10 21:31:47 guy Exp $ +# $Id: Makefile.nmake,v 1.7 2003/12/07 00:04:32 gerald Exp $ include ..\..\config.nmake ############### no need to modify below this line ######### CFLAGS=-DHAVE_CONFIG_H /I. /I.. /I../.. $(GTK_CFLAGS) \ - /I$(PCAP_DIR)\include -D_U_="" $(LOCAL_CFLAGS) + $(PCRE_CFLAGS) /I$(PCAP_DIR)\include -D_U_="" $(LOCAL_CFLAGS) CVARSDLL=-DWIN32 -DNULL=0 -D_MT -D_DLL diff --git a/packaging/nsis/ethereal.nsi b/packaging/nsis/ethereal.nsi index f03ae6d057..53dc7f903a 100644 --- a/packaging/nsis/ethereal.nsi +++ b/packaging/nsis/ethereal.nsi @@ -1,7 +1,7 @@ ; ; ethereal.nsi ; -; $Id: ethereal.nsi,v 1.24 2003/12/01 17:19:09 gerald Exp $ +; $Id: ethereal.nsi,v 1.25 2003/12/07 00:04:32 gerald Exp $ ; ============================================================================ ; Header configuration @@ -85,10 +85,12 @@ File "${COMMON_FILES_GNU}\libintl-1.dll" !endif File "${COMMON_FILES_GNU}\zlib1.dll" File "${COMMON_FILES_GNU}\adns_dll.dll" +File "${COMMON_FILES_GNU}\prce.dll" File "..\..\FAQ" File "..\..\README" File "..\..\README.win32" File "..\..\manuf" +File "${PCRE_DIR}\man\cat3\pcrepattern.3.txt" ; ; Install the Diameter DTD and XML files in the "diameter" subdirectory -- cgit v1.2.3