aboutsummaryrefslogtreecommitdiffstats
path: root/config.nmake
blob: afb00e0dc8b4027293c9331af0d485827f643118 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
# $Id$

VERSION=0.10.5
WTAP_VERSION=0.1
#
# The RC_VERSION should be comma-separated, not dot-separated, 
# as per Graham Bloice's message in
#
#	http://www.ethereal.com/lists/ethereal-dev/200303/msg00283.html
#
# "The RC_VERSION variable in config.nmake should be comma separated. 
# This allows the resources to be built correctly and the version
# number to be correctly displayed in the explorer properties dialog
# for the executables, and XP's tooltip, rather than 0.0.0.0."
#
RC_VERSION=0,10,5
RC_WTAP_VERSION=0,1

#
# If you're building with WinPcap 2.3, set WINPCAP_VERSION to 2.3; if
# you're building with WinPcap 3.0, set it to 3.0; if you're building
# with WinPcap 3.1 alpha, set it to 3.1.
#
# If you're not building with WinPcap at all, don't set it (comment
# out or remove the line that sets it).
#
WINPCAP_VERSION=3.0

# 
# Base directory, where your libraries reside, which needs to be 
# compiling the sources. This is only inside this file.
#
ETHEREAL_LIBS=C:\ethereal-win32-libs

#
# Current versions of GTK+ 1.3 require GLib 2.0.  Earlier versions of
# GTK+ 1.3 are buggy; we don't recommend using them, and we don't
# support them.  Upgrade to the current version.
#
GLIB_VERSION=2.0
GLIB_DIR=$(ETHEREAL_LIBS)\glib

#
# This presumes that GTK+ 1.3 packages put header files and libraries
# directly in a "gtk+" directory, while GTK+ 2.x developer's packages
# put header files in an "include\gtk-{version}" directory and libraries
# in a "lib\gtk-{version}" directory.
#
# It's possible, to build both GTK version 1 and 2 at the same time,
# or only one of the versions. GTK version 1 is currently recommended.
# 
# If you want building with GTK+ 1.3, set GTK1_DIR to the pathname of the 
# "gtk+" directory; if you want building with GTK+ 2.x, set GTK2_DIR to 
# the pathname of the directory in which the "include" and "lib" directories 
# reside.
#
GTK1_DIR=$(ETHEREAL_LIBS)\gtk+
GTK2_DIR=$(ETHEREAL_LIBS)\gtk2

# Declare the version of your gtk2 and pango. (MAJOR + MINOR Version number
# but without MICRO version number) 
# These macros are used by the nsis installer script and by the setup target.
#
#GTK2_INST_VERSION=2.2
#PANGO_INST_VERSION=1.2
GTK2_INST_VERSION=2.4
PANGO_INST_VERSION=1.4

#
# If you have GTK-Wimp, set this to the pathname of the directory in
# which the files are stored.
#
# If you don't have GTK-Wimp, comment this line out, so that GTK-Wimp isn't
# defined.
#
GTK_WIMP_DIR=$(ETHEREAL_LIBS)\gtk-wimp

#
# If you have Zlib, set this to the pathname of the directory in
# which the Zlib headers and .lib file are stored.
#
# If you don't have Zlib, comment this line out, so that Zlib isn't
# defined.
#
ZLIB_DIR=$(ETHEREAL_LIBS)\zlib121-dll

#
# Set PCAP_DIR to the pathname of the directory in which the WinPcap
# developer's pack resides
#
PCAP_DIR=$(ETHEREAL_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=$(ETHEREAL_LIBS)\net-snmp-5.1

#
# If you have GNU ADNS, set this to the pathname of the directory in
# which the GNU ADNS .lib file is stored.
#
# If you don't have GNU ADNS, comment this line out, so that ADNS_DIR
# isn't defined.
#
ADNS_DIR=$(ETHEREAL_LIBS)\adns-1.0-win32-03

#
# 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=$(ETHEREAL_LIBS)\pcre-4.4

#
# Set ICONV_DIR to the pathname of the directory in which the
# ICONV include files and library resides.
#
ICONV_DIR=$(ETHEREAL_LIBS)\libiconv-1.9.1.bin.woe32

#
# Set GETTEXT_DIR to the pathname of the directory in which the
# GETTEXT include files and library resides.
#
GETTEXT_DIR=$(ETHEREAL_LIBS)\gettext-runtime-0.13.1

# Compiler flags
# /W3  warning level 3 (0 less - 4 most, 1 default)
# /Zi  create .pdb file for debugging
LOCAL_CFLAGS=/Zi /W3

# Linker flags
# /DEBUG generate debug info
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:\cygwin\bin;c:\python23;$(PATH)

# Set path to some required DLLs
PATH=$(GLIB_DIR)\bin;$(GETTEXT_DIR)\bin;$(ICONV_DIR)\bin;$(PATH)

SH=bash
PERL=perl
POD2MAN=$(SH) pod2man
POD2HTML=$(SH) pod2html
PYTHON="C:/python23/python.exe"
LEX=flex
YACC=bison

# Set YACC_OPTS if cygnus bison can't find template file.
#YACC_OPTS=-S t:\w32-ix86\cygnus\cygwin-b20\share\bison.simple 

# To build the installer
MAKENSIS="C:/program files/nsis/makensis.exe"

# Choose modern style user interface for the installer.
# When using this, make sure you have a supported NSIS
# version installed. See "packaging\nsis\ethereal.nsi" for details.
#
# If you don't want the modern UI (or don't have a recent NSIS version),
# comment this line out, so that MAKENSIS_MODERN_UI isn't defined.
#
MAKENSIS_MODERN_UI=USE

# To build the developers documentation with doxygen and dot.
# Currently experimental only.
# You will have to download and install:
#
# Doxygen from: www.doxygen.org
# Graphviz from: http://www.research.att.com/sw/tools/graphviz/
#
# If you don't want the developers documentation (or don't have the tools),
# comment this line out, so that DOXYGEN isn't defined.
#
#DOXYGEN="C:/program files/doxygen/bin/doxygen.exe"

# To build compressed html help format .chm from doxygen output.
# Currently experimental only.
# You will have to download and install the html help compiler from:
#
# http://msdn.microsoft.com/library/default.asp?url=/library/en-us/htmlhelp/html
# /hwMicrosoftHTMLHelpDownloads.asp 
#
# Then point HHC to the html help compiler exe.
#
# The .chm file(s) are not generated by default. You will have to generate the 
# file(s) by calling the Makefile.nmake's target doxygen.chm in the submodules (epan/gk/...).
#
#HHC="C:/Program Files/HTML Help Workshop/hhc.exe"

# If you wan't to build a libethereal.dll, you should comment out the following line
ENABLE_LIBETHEREAL=USE

#
# You should not have to change anything below this comment.
# If you do, it's a deficiency in the Makefile.nmake files;
# either tell ethereal-dev@ethereal.com about it, including
# details of why you had to change it, or fix config.nmake
# and any Makefile.nmake files that need to be changed, and
# send us the patches, along with details of why the change
# was necessary.
#
GLIB_CFLAGS=/I$(GLIB_DIR)\include\glib-$(GLIB_VERSION) \
	/I$(GLIB_DIR)\lib\glib-$(GLIB_VERSION)\include
GCC_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

# GTK+ 1.3
GTK1_CFLAGS=$(GLIB_CFLAGS) /I$(GTK1_DIR)\include /I$(GTK1_DIR)\include\gdk \
	/I$(GTK1_DIR)\lib\gtk+\include
GTK1_LIBS=$(GTK1_DIR)\lib\gtk.lib \
	$(GTK1_DIR)\lib\gdk.lib \
	$(GLIB_LIBS)

# GTK+ 2.x
GTK2_CFLAGS=$(GLIB_CFLAGS) /I$(GTK2_DIR)\include\gtk-2.0 \
	/I$(GTK2_DIR)\lib\gtk-2.0\include \
	/I$(GTK2_DIR)\include\atk-1.0 \
	/I$(GTK2_DIR)\include\pango-1.0
GTK2_LIBS=$(GTK2_DIR)\lib\gtk-win32-2.0.lib \
	$(GTK2_DIR)\lib\gdk-win32-2.0.lib \
	$(GTK2_DIR)\lib\gdk_pixbuf-2.0.lib \
	$(GTK2_DIR)\lib\pango-1.0.lib \
	$(GLIB_LIBS)

!IFDEF WINPCAP_VERSION
# Nmake uses carets to escape special characters
WINPCAP_CONFIG=^#define HAVE_LIBPCAP 1
!IF "$(WINPCAP_VERSION)" == "3.0" || "$(WINPCAP_VERSION)" == "3.1"
PCAP_FINDALLDEVS_CONFIG=^#define HAVE_PCAP_FINDALLDEVS 1
WPCAP_CONSTIFIED_CONFIG=^#define WPCAP_CONSTIFIED 1
!ELSE
PCAP_FINDALLDEVS_CONFIG=
WPCAP_CONSTIFIED=
!ENDIF
!ELSE
WINPCAP_CONFIG=
PCAP_FINDALLDEVS_CONFIG=
WPCAP_CONSTIFIED=
!ENDIF

!IFDEF ZLIB_DIR
PATH=$(ZLIB_DIR);$(PATH)
ZLIB_CFLAGS=/I$(ZLIB_DIR)\include
ZLIB_LIBS=$(ZLIB_DIR)\lib\zdll.lib
# Nmake uses carets to escape special characters
ZLIB_CONFIG=^#define HAVE_LIBZ 1
!else
ZLIB_CFLAGS=
ZLIB_LIBS=
ZLIB_CONFIG=
!ENDIF

!IFDEF ADNS_DIR
PATH=$(ADNS_DIR)\adns_win32\lib;$(PATH)
ADNS_CFLAGS=/I$(ADNS_DIR)\src /I$(ADNS_DIR)\adns_win32
ADNS_LIBS=$(ADNS_DIR)\adns_win32\lib\adns_dll.lib
# Nmake uses carets to escape special characters
ADNS_CONFIG=^#define HAVE_GNU_ADNS 1
!else
ADNS_CFLAGS=
ADNS_LIBS=
ADNS_CONFIG=
!ENDIF

!IFDEF PCRE_DIR
PATH=$(PCRE_DIR)\bin;$(PATH)
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

!IFDEF ENABLE_LIBETHEREAL
LIBETHEREAL_CONFIG=^#define HAVE_LIBETHEREALDLL 1
!ELSE
LIBETHEREAL_CONFIG=
!ENDIF