Make it possible to run checkapi on all plugins trough makefile.nmake
[obnox/wireshark/wip.git] / config.nmake
1 # $Id$
2
3 # Some more informations about the settings in this file, can be found
4 # in the file README.win32 and the Developer's Guide (available online).
5
6
7
8 ##### Versions #####
9
10 # The current Wireshark version
11 # It's highly recommended to leave MAJOR/MINOR/MICRO unchanged
12 VERSION_MAJOR=1
13 VERSION_MINOR=0
14 VERSION_MICRO=99
15 VERSION_BUILD=0
16 # It's recommended to change VERSION_EXTRA for your own custom builds
17 # e.g. "-SVN-12345"
18 VERSION_EXTRA=
19
20 # The version of the wiretap library (recommended: leave unchanged)
21 WTAP_VERSION_MAJOR=0
22 WTAP_VERSION_MINOR=3
23 WTAP_VERSION_MICRO=1
24
25
26
27 ##### Directories #####
28
29 #
30 # Base directory, where your libraries reside, which are needed to
31 # compile the sources. This setting is used only inside this file.
32 #
33 WIRESHARK_LIBS=C:\wireshark-win32-libs
34
35 #
36 # Base directory, where your programs reside.
37 # This setting is used only inside this file.
38 #
39 PROGRAM_FILES=C:/Program Files
40
41
42
43 ##### Microsoft Visual C / Studio Variant #####
44 # for the different Studios, see: http://en.wikipedia.org/wiki/Microsoft_Visual_Studio
45 # only one of the following MSVC_VARIANT settings should be used
46 # BTW: The "Microsoft Visual C++ Toolkit 2003" DOESN'T WORK for WS!
47
48 # "Microsoft Visual Studio 6.0"
49 # Visual C++ 6.0, _MSC_VER 1200, msvcrt.dll (version 6)
50 MSVC_VARIANT=MSVC6
51
52 # "Microsoft Visual Studio .NET (2002)"
53 # Visual C++ 7.0, _MSC_VER 1300, msvcr70.dll
54 #MSVC_VARIANT=MSVC2002
55
56 # "Microsoft .Net Framework SDK Version 1.0"
57 # needs additional Platform SDK installation
58 # Visual C++ 7.0, _MSC_VER 1300, msvcr70.dll
59 #MSVC_VARIANT=DOTNET10
60
61 # "Microsoft Visual Studio .NET 2003"
62 # Visual C++ 7.1, _MSC_VER 1310, msvcr71.dll
63 #MSVC_VARIANT=MSVC2003
64
65 # "Microsoft .Net Framework SDK Version 1.1"
66 # needs additional Platform SDK installation
67 # Visual C++ 7.1, _MSC_VER 1310, msvcr71.dll
68 #MSVC_VARIANT=DOTNET11
69
70 # "Microsoft Visual Studio 2005"
71 # Visual C++ 8.0, _MSC_VER 1400, msvcr80.dll
72 #MSVC_VARIANT=MSVC2005
73
74 # "Microsoft Visual C++ 2005 Express Edition"
75 # needs additional Platform SDK installation
76 # Visual C++ 8.0, _MSC_VER 1400, msvcr80.dll
77 #MSVC_VARIANT=MSVC2005EE
78
79 # "Microsoft .Net Framework 2.0 SDK"
80 # needs additional Platform SDK installation
81 # Visual C++ 8.0, _MSC_VER 1400, msvcr80.dll
82 #MSVC_VARIANT=DOTNET20
83
84 # "Microsoft Visual C++ 2008 Express Edition"
85 # needs additional Platform SDK installation?
86 # Visual C++ 9.0, _MSC_VER 1500, msvcr90.dll
87 # With this variant, Wireshark will compile but fails to run!
88 #
89 # THIS VARIANT CURRENTLY WON'T WORK - YOU HAVE BEEN WARNED!
90 #MSVC_VARIANT=MSVC2008EE
91
92 #
93 # Optional: To compile some time critical code from assembler instead of C
94 #
95 # If you have the NASM compiler, set this to the NASM executable.
96 # http://nasm.sourceforge.net/
97 #
98 # If you don't have NASM, comment this line out, so that NASM
99 # isn't defined.
100 #
101 #NASM=c:\progs\nasm\nasm.exe
102 NASM=$(WIRESHARK_LIBS)\nasm-2.00\nasm.exe
103
104
105 ##### Libraries #####
106
107 #
108 # Mandatory: GLib settings
109 #
110 # Please note: Since Wireshark release 1.0.0, we no longer support GLib1.x
111 #
112 GLIB_VERSION=2.0
113 GLIB_DIR=$(WIRESHARK_LIBS)\glib
114
115 #
116 # Mandatory: GTK (& related libs) settings
117 #
118 # Please note: Since Wireshark release 1.0.0, we no longer support GTK1.x
119 #
120 # If you want building with GTK+, set GTK_DIR to the pathname of the 
121 # directory in which the "include" and "lib" directories reside.
122 #
123 GTK_DIR=$(WIRESHARK_LIBS)\gtk2
124
125 #
126 # Mandatory: Version numbers of GTK and pango.
127 #
128 # (MAJOR + MINOR Version number but without MICRO version number)
129 # These macros are used by the nsis installer script and by the setup target.
130 #
131 # GTK 2.12 is the mainline since Wireshark 0.99.7
132 GTK_INST_VERSION=2.12
133 PANGO_INST_VERSION=1.20
134
135 #
136 # If you have GTK-Wimp, set this to the pathname of the directory in
137 # which the files are stored.
138 #
139 # If you don't have GTK-Wimp, comment this line out, so that GTK-Wimp isn't
140 # defined.
141 #
142 # Please note: GTK 2.8 (and later?) includes GTK-Wimp
143 # (in this case these GTK-Wimp related settings will have no effect)
144 #
145 GTK_WIMP_DIR=$(WIRESHARK_LIBS)\gtk-wimp\gtk-wimp-0.7.0-bin
146
147 #
148 # Optional: WinPcap developer's pack to capture network traffic.
149 #
150 # If you have the WinPcap developer's pack (at least version 3.0),
151 # set this to the directory in which the WinPcap developer's pack resides.
152 #
153 # If you don't have the WPdpack, comment this line out, so that
154 # PCAP_DIR isn't defined.
155 #
156 PCAP_DIR=$(WIRESHARK_LIBS)\WPdpack
157
158 #
159 # Optional: WinPcap remote capture support and new API
160 # (pcap_open(), pcap_findalldevs_ex(), etc.)
161 #
162 #PCAP_REMOTE=1
163
164 #
165 # Optional: The ZLib enables unzipping of gzip compressed capture files
166 # "on the fly".
167 #
168 # If you have Zlib, set this to directory in which the Zlib headers
169 # and .lib file are stored.
170 #
171 # If you don't have Zlib, comment this line out, so that ZLIB_DIR isn't
172 # defined.
173 #
174 ZLIB_DIR=$(WIRESHARK_LIBS)\zlib123
175
176 #
177 # Optional: the ADNS library enables asynchronous (nonblocking) DNS
178 # name resolvings.
179 #
180 # If you have GNU ADNS, set this to the directory in which the GNU ADNS
181 # .lib file is stored.
182 #
183 # If you don't have GNU ADNS, comment this line out, so that ADNS_DIR
184 # isn't defined.
185 #
186 ADNS_DIR=$(WIRESHARK_LIBS)\adns-1.0-win32-05
187
188 #
189 # Optional: the PCRE (Perl Compatible Regular Expressions) library
190 # enables regular expressions for display filters.
191 #
192 # If you have the PCRE library, set this to the directory in which
193 # the GNUWIN32 pcre-lib package is stored.
194 #
195 # If you don't have PCRE, comment this line out, so that PCRE_DIR
196 # isn't defined.
197 #
198 PCRE_DIR=$(WIRESHARK_LIBS)\pcre-7.0
199
200 #
201 # Optional: the GNUTLS library enables ssl decryption.
202 #
203 # If you have the GNUTLS library, set this to the directory where
204 # the lib and include files are stored.
205 #
206 # If you don't have GNUTLS, comment this line out, so that GNUTLS_DIR
207 # isn't defined.
208 #
209 # Platform SDK conflicts with openssl.h header
210 GNUTLS_DIR=$(WIRESHARK_LIBS)\gnutls-1.6.1-1
211
212 #
213 # Optional: the KFW library enables kerberos/sasl/dcerpc decryption.
214 #
215 # If you have the kerberos for windows (mit) library, set this to the
216 # directory where the kfw package is stored.
217 #
218 # If you don't have KFW, comment this line out, so that KFW_DIR
219 # isn't defined.
220 #
221 KFW_DIR=$(WIRESHARK_LIBS)\kfw-2.5
222
223 #
224 # Optional: the Nettle library enables ??? decryption.
225 #
226 # If you have the Nettle encryption library, set this to the
227 # directory in which the nettle package is stored.
228 #
229 # If you don't have Nettle, comment this line out, so that NETTLE_DIR
230 # isn't defined.
231 #
232 # NETTLE_DIR=$(WIRESHARK_LIBS)\nettle-1.10
233
234 #
235 # Optional: the LUA library enables scripting support.
236 #
237 # If you have the LUA library, set this to the directory in which
238 # the LUA package is stored.
239 #
240 # If you don't have LUA, comment this line out, so that LUA_DIR
241 # isn't defined.
242 #
243 LUA_DIR=$(WIRESHARK_LIBS)\lua5.1
244
245 #
246 # Optional: the PORTAUDIO library enables audio output for RTP streams.
247 #
248 # If you have the PORTAUDIO library (used for rtp_player), set this to
249 # the directory in which the PORTAUDIO library is stored.
250 #
251 # If you don't have PORTAUDIO, comment this line out, so that
252 # PORTAUDIO_DIR isn't defined.
253 #
254 #PORTAUDIO_DIR=$(WIRESHARK_LIBS)\portaudio_v18_1
255 PORTAUDIO_DIR=$(WIRESHARK_LIBS)\portaudio_v19
256
257 #
258 # Version number of PortAudio
259 #
260 #PORTAUDIO_VERSION=18
261 PORTAUDIO_VERSION=19
262
263 #
264 # Iconv: Mandatory for Glib >= 2 and <= 2.14.4
265 # [win-iconv statically linked as part of Glib >= 2.14.5]
266 # Set ICONV_DIR to the directory in which the
267 # ICONV include files and library resides.
268 #
269 ##ICONV_DIR=$(WIRESHARK_LIBS)\libiconv-1.9.1.bin.woe32
270
271 #
272 # Mandatory for GTK >= 2: Gettext
273 #
274 # Set GETTEXT_DIR to the directory in which the
275 # GETTEXT include files and library resides.
276 #
277 #GETTEXT_DIR=$(WIRESHARK_LIBS)\gettext-0.14.5
278 GETTEXT_DIR=$(WIRESHARK_LIBS)\gettext-runtime-0.17-1
279 #
280 # Optional: AirPcap developer's pack to capture wireless network traffic
281 # incl. 802.11 management frames.
282 #
283 # If you have the AirPcap developer's pack, set this to the directory
284 # in which the AirPcap developer's pack resides.
285 #
286 # If you don't have the AirPcap developer's pack, comment this line out,
287 # so that AIRPCAP_DIR isn't defined.
288 #
289 AIRPCAP_DIR=$(WIRESHARK_LIBS)\AirPcap_Devpack_1_0_0_594\AirPcap_Devpack
290
291 #
292 # Optional: LIBSMI, System Management Interface
293 #
294 # Used for oid-name resolution for SNMP and other protocols
295 #
296 SMI_DIR=$(WIRESHARK_LIBS)\libsmi-0.4.8
297
298
299 ##### Tools #####
300
301 # Set the following mandatory commands to find the tools.
302 # The easiest way is to use the corresponding packages from cygwin.
303
304 # Set up the path to the cygwin binaries
305 CYGWIN_PATH=c:\cygwin\bin
306
307 # command for a shell (cygwin's bash package recommended)
308 SH_PROG=bash
309
310 # bash versions after 3.1.6 need the 'igncr' shell option to be able to
311 #  process scripts in windows 'native format' (dos crlf format).
312 # The following !IF results in the option being used only if it is available
313 #  since using it on bash version 3.1.6 (or earlier) is not required and
314 #  will cause an error message.
315 !if "$(SH_PROG)"=="bash" && [$(CYGWIN_PATH)\bash -c "set -o igncr" 2>nul: ] == 0
316 SH_FLAGS=-o igncr
317 !endif
318
319 SH=$(SH_PROG) $(SH_FLAGS)
320
321
322 # command for perl (cygwin's perl package recommended)
323 PERL=perl
324
325 # command for pod2man and pod2html
326 # (part of the perl package, usually leave these unchanged)
327 POD2MAN=$(SH) pod2man
328 POD2HTML=$(SH) pod2html
329
330 # command for native windows python (recommended)
331 # both V2.4 and V2.5 should work
332 PYTHON="C:/python24/python.exe"
333 #PYTHON="C:/python25/python.exe"
334 # add native python to the path (not needed if cygwin's python is used)
335 PATH=c:\python24;$(PATH)
336 #PATH=c:\python25;$(PATH)
337
338 # command for python (cygwin's python package, not recommended)
339 #PYTHON=env python
340
341 # command for lex/flexx (cygwin's flex recommended)
342 LEX=flex
343
344 # command for yacc/bison (cygwin's bison recommended)
345 YACC=bison
346
347 #
348 # Optional: To build the NSIS installer.
349 #
350 # If you have the NSIS package, set this to the NSIS executable.
351 #
352 # If you don't have NSIS, comment this line out, so that MAKENSIS
353 # isn't defined.
354 #
355 MAKENSIS="$(PROGRAM_FILES)\nsis\makensis.exe"
356
357 #
358 # Optional: To build the developers API documentation with doxygen and dot.
359 # Currently experimental, outdated and incomplete.
360 #
361 # You will have to download and install:
362 # Doxygen from: http://www.doxygen.org
363 # Graphviz from: http://www.research.att.com/sw/tools/graphviz/
364 #
365 # If you have doxygen, set this to the doxygen executable.
366 #
367 # If you don't want the developers documentation (or don't have the tools),
368 # comment this line out, so that DOXYGEN isn't defined.
369 #
370 #DOXYGEN="$(PROGRAM_FILES)/doxygen/bin/doxygen.exe"
371
372 #
373 # Recommended: Use the compressed html help format .chm as the Wireshark integrated help.
374 #
375 # The required htmlhelp.h and htmlhelp.lib should be included in MSVC_VARIANT > MSVC6.
376 #
377 # For MSVC_VARIANT == MSVC6 you will have to download and install the html help workshop from:
378 #
379 # http://msdn.microsoft.com/library/default.asp?url=/library/en-us/htmlhelp/html
380 # /hwMicrosoftHTMLHelpDownloads.asp
381 #
382 # Then point HHC_DIR to the html help dir (where hhc.exe resides).
383 #
384 # If you don't want the online help (or don't have the tools),
385 # comment this line out, so that HHC_DIR isn't defined.
386 #
387 HHC_DIR=$(PROGRAM_FILES)/HTML Help Workshop
388
389 #
390 # Optional: To reduce the size of dlls and exes, which is especially useful for USB device distributions (U3, PortableApps)
391 #
392 # If you have the UPX package, set this to the upx.exe executable.
393 #
394 # UPX can be downloaded from:
395 #   http://upx.sourceforge.net/
396 #
397 # If you don't have UPX, or don't want to pack exes and dlls,
398 # comment this line out, so that UPX isn't defined.
399 #
400
401 UPX=$(WIRESHARK_LIBS)\upx301w\upx.exe
402
403 ##### Flags, PATHs and Miscellaneous #####
404
405 # "convert" the MSVC variant into the required MSC compiler version
406 !IF "$(MSVC_VARIANT)" == "MSVC6"
407 MSC_VER_REQUIRED=1200
408 !ELSEIF "$(MSVC_VARIANT)" == "MSVC2002" || "$(MSVC_VARIANT)" == "DOTNET10"
409 MSC_VER_REQUIRED=1300
410 !ELSEIF "$(MSVC_VARIANT)" == "MSVC2003" || "$(MSVC_VARIANT)" == "DOTNET11"
411 MSC_VER_REQUIRED=1310
412 !ELSEIF "$(MSVC_VARIANT)" == "MSVC2005" || "$(MSVC_VARIANT)" == "MSVC2005EE" || "$(MSVC_VARIANT)" == "DOTNET20"
413 MSC_VER_REQUIRED=1400
414 !ELSEIF "$(MSVC_VARIANT)" == "MSVC2008EE"
415 MSC_VER_REQUIRED=1500
416 !ELSE
417 !ERROR MSVC_VARIANT unknown
418 !ENDIF
419
420 # Compiler flags:
421 # /W3  warning level 3 (0 less - 4 most, 1 default)
422 # /Zi  create .pdb file for debugging
423 # /MD  use "Multithreading Debug" libraries
424 # /D_CRT_SECURE_NO_DEPRECATE don't warn for "insecure" calls, see MSDN "Security Enhancements in the CRT"
425 # /D_CRT_NONSTDC_NO_DEPRECATE don't warn for "Deprecated CRT Functions" as MSDN calls this
426 #
427 !IF "$(MSVC_VARIANT)" == "MSVC6" || "$(MSVC_VARIANT)" == "MSVC2002" || "$(MSVC_VARIANT)" == "DOTNET10" || "$(MSVC_VARIANT)" == "MSVC2003" || "$(MSVC_VARIANT)" == "DOTNET11"
428 LOCAL_CFLAGS=/Zi /W3 /MD /DMSC_VER_REQUIRED=$(MSC_VER_REQUIRED)
429 !ELSEIF "$(MSVC_VARIANT)" == "MSVC2005" || "$(MSVC_VARIANT)" == "MSVC2005EE" || "$(MSVC_VARIANT)" == "DOTNET20" || "$(MSVC_VARIANT)" == "MSVC2008EE"
430 LOCAL_CFLAGS=/Zi /W3 /MD /D_CRT_SECURE_NO_DEPRECATE /D_CRT_NONSTDC_NO_DEPRECATE /DMSC_VER_REQUIRED=$(MSC_VER_REQUIRED)
431 !ELSE
432 !ERROR MSVC_VARIANT unknown
433 !ENDIF
434
435 # Linker flags:
436 # /DEBUG  generate debug info
437 # /PROFILE generate map file(s) for profiling
438 # /DEFAULTLIB:xxx use xxx as the standard C library
439 # /NODEFAULTLIB:xxx don't use xxx as the standard C library
440 #
441 LOCAL_LDFLAGS=/DEBUG
442
443 PLUGIN_LDFLAGS = /NOLOGO /INCREMENTAL:no /MACHINE:I386 $(LOCAL_LDFLAGS)
444
445 #
446 # According to http://bugs.wireshark.org/bugzilla/show_bug.cgi?id=403
447 # XCOPY under Windows NT doesn't support the "/Y" flag.  This works
448 # around that bug.
449 # XXX - This apparently doesn't work for some versions of nmake:
450 # http://support.microsoft.com/default.aspx?scid=kb;en-us;86814
451 # It looks like we'll have to call "set copycmd=/y" before we run xcopy.
452 COPYCMD=/y
453
454 #
455 # If you don't want to build libwireshark.dll, you should comment out the
456 # following line. (Note: for plugin support this option must stay activated)
457 ENABLE_LIBWIRESHARK=USE
458
459 #
460 # install (debug) directory for Wireshark (relative to your source dir)
461 INSTALL_DIR=wireshark-gtk2
462
463
464
465 ##### C-Runtime Redistributable #####
466 #
467 # The C-Runtime since Version 7 must be shipped together with
468 # the program installer, to avoid missing msvcr*.dll files on
469 # the target machine.
470 #
471 # The location of these files differ on the various compiler
472 # packages, the following will use the default paths depending
473 # on the package version.
474 #
475 !IF "$(MSVC_VARIANT)" == "MSVC6"
476 # msvcrt.dll will already be available on target machines - nothing additional to install
477
478 !ELSEIF "$(MSVC_VARIANT)" == "MSVC2002"
479 # you probably need to tweak this directory if you don't use the professional edition!
480 MSVCR_DLL=$(PROGRAM_FILES)\Microsoft Visual Studio .NET\Visual Studio .NET Professional - English\msvcr70.dll
481
482 !ELSEIF "$(MSVC_VARIANT)" == "DOTNET10"
483 # no redistributable available for this package!
484
485 !ELSEIF "$(MSVC_VARIANT)" == "MSVC2003"
486 # you probably need to tweak this directory if you don't use the professional edition!
487 MSVCR_DLL=$(PROGRAM_FILES)\Microsoft Visual Studio .NET 2003\Visual Studio .NET Professional 2003 - English\msvcr71.dll
488
489 !ELSEIF "$(MSVC_VARIANT)" == "DOTNET11"
490 # no redistributable available for this package!
491
492 !ELSEIF "$(MSVC_VARIANT)" == "MSVC2005"
493 MSVCR_DLL=$(PROGRAM_FILES)\Microsoft Visual Studio 8\VC\redist\x86\Microsoft.VC80.CRT\*.*
494
495 !ELSEIF "$(MSVC_VARIANT)" == "MSVC2005EE"
496 # you need to download the redistributable package vcredist_x86.exe from Microsoft first,
497 # and copy it to the lib folder!!!
498 VCREDIST_EXE=$(WIRESHARK_LIBS)\vcredist_x86.exe
499
500 !ELSEIF "$(MSVC_VARIANT)" == "DOTNET20"
501 # you need to download the redistributable package vcredist_x86.exe from Microsoft first,
502 # and copy it to the lib folder!!!
503 VCREDIST_EXE=$(WIRESHARK_LIBS)\vcredist_x86.exe
504
505 !ELSEIF "$(MSVC_VARIANT)" == "MSVC2008EE"
506 MSVCR_DLL=$(PROGRAM_FILES)\Microsoft Visual Studio 9.0\VC\redist\x86\Microsoft.VC90.CRT\*.*
507
508 !ELSE
509 !ERROR MSVC_VARIANT unknown
510 !ENDIF
511
512
513
514 ##### Advanced: Docbook/XML documentation generation #####
515 # If you want to generate the Docbook/XML based docs (User's and Developer's
516 # Guide, ...), you'll need some additional tools / libraries compared to the
517 # rest of the build process.
518 #
519 # FOR DETAILED INSTRUCTIONS TO GENERATE THE DOCS, SEE: docbook\readme.txt.
520 #
521 # If you don't call the Makefile.nmake in the docbook dir to generate the
522 # docs, the following settings in this section will have no effect.
523
524 # formatting objects processor executable
525 # Comment this out if you don't have fop installed or you don't want the docs
526 # in PDF format.
527 !IFNDEF FOP
528 FOP=fop-0.20.5\fop.bat
529 !ENDIF
530
531 # Additional options to fop.
532 FOP_OPTS=-Xmx256m
533
534 # html help compiler
535 # Comment this out if you don't have hhc.exe or you don't want the docs in
536 # .chm format.
537 #
538 # Beware: hhc.exe is NOT part of the MSVC packages in HHC_DIR mentioned above,
539 # so you'll need to install the HTML Help Workshop for this.
540 HHC_EXE="$(HHC_DIR)\hhc.exe"
541
542 # html to text converter for text version of release notes, e.g. elinks.
543 # This could also be "lynx", or "true" if neither elinks nor lynx is installed
544 # (cygwin: lynx works, elinks not available, links and true doesn't produce output)
545 #HTML2TXT=elinks -dump -dump-width 72
546 #HTML2TXT=links -dump -width 72
547 HTML2TXT=lynx -dump -width=72 -nolist -stdin
548 #HTML2TXT="true"
549
550 # the XSL processor (part of cygwin's libxslt package)
551 XSLTPROC="xsltproc"
552
553 # the XML validator (part of cygwin's libxml2 package)
554 XMLLINT="xmllint"
555
556
557
558 ##############################################################################
559 #
560 # You should not have to change anything below this comment.
561 # If you do, it's a deficiency in the Makefile.nmake files;
562 # either tell wireshark-dev@wireshark.org about it, including
563 # details of why you had to change it, or fix config.nmake
564 # and any Makefile.nmake files that need to be changed, and
565 # send us the patches, along with details of why the change
566 # was necessary.
567 #
568 ##############################################################################
569
570 #
571 # The RC_VERSION should be comma-separated, not dot-separated,
572 # as per Graham Bloice's message in
573 #
574 #       http://www.ethereal.com/lists/ethereal-dev/200303/msg00283.html
575 #
576 # "The RC_VERSION variable in config.nmake should be comma separated.
577 # This allows the resources to be built correctly and the version
578 # number to be correctly displayed in the explorer properties dialog
579 # for the executables, and XP's tooltip, rather than 0.0.0.0."
580 #
581
582 VERSION=$(VERSION_MAJOR).$(VERSION_MINOR).$(VERSION_MICRO)$(VERSION_EXTRA)
583 RC_VERSION=$(VERSION_MAJOR),$(VERSION_MINOR),$(VERSION_MICRO),$(VERSION_BUILD)
584
585 WTAP_VERSION=$(WTAP_VERSION_MAJOR).$(WTAP_VERSION_MINOR).$(WTAP_VERSION_MICRO)
586 RC_WTAP_VERSION=$(WTAP_VERSION_MAJOR),$(WTAP_VERSION_MINOR),$(WTAP_VERSION_MICRO)
587
588
589 GLIB_CFLAGS=/I$(GLIB_DIR)\include\glib-$(GLIB_VERSION) \
590         /I$(GLIB_DIR)\lib\glib-$(GLIB_VERSION)\include
591 GCC_GLIB_CFLAGS=-I$(GLIB_DIR)\include\glib-$(GLIB_VERSION) \
592         -I$(GLIB_DIR)\lib\glib-$(GLIB_VERSION)\include
593 GLIB_LIBS=$(GLIB_DIR)\lib\glib-$(GLIB_VERSION).lib \
594         $(GLIB_DIR)\lib\gmodule-$(GLIB_VERSION).lib \
595         $(GLIB_DIR)\lib\gobject-$(GLIB_VERSION).lib
596
597 # GTK+
598 GTK_CFLAGS=$(GLIB_CFLAGS) /I$(GTK_DIR)\include\gtk-2.0 \
599         /I$(GTK_DIR)\lib\gtk-2.0\include \
600         /I$(GTK_DIR)\include\atk-1.0 \
601         /I$(GTK_DIR)\include\cairo \
602         /I$(GTK_DIR)\include\pango-1.0
603 GTK_LIBS=$(GTK_DIR)\lib\gtk-win32-2.0.lib \
604         $(GTK_DIR)\lib\gdk-win32-2.0.lib \
605         $(GTK_DIR)\lib\gdk_pixbuf-2.0.lib \
606         $(GTK_DIR)\lib\pango-1.0.lib \
607         $(GLIB_LIBS)
608
609 !IF "$(GTK_INST_VERSION)" == "2.12"
610 GTK_LIB_DIR=2.10.0
611 NEED_LIBPNG_DLL=USE
612 NEED_LIBJPEG_DLL=USE
613 NEED_LIBTIFF_DLL=USE
614 NEED_CAIRO_DLL=USE
615 GTK_WIMP_DIR=DUMMY_TO_USE_WIMP
616 GTK_WIMP_DLLSRC_DIR=$(GTK_DIR)\lib\gtk-2.0\2.10.0\engines
617 GTK_WIMP_DLLDST_DIR=lib\gtk-2.0\2.10.0\engines
618 GTK_WIMP_RCSRC_DIR=$(GTK_DIR)\share\themes\MS-Windows\gtk-2.0
619 GTK_WIMP_RCDST_DIR=etc\gtk-2.0
620 !ELSEIF "$(GTK_INST_VERSION)" == "2.10"
621 GTK_LIB_DIR=2.10.0
622 NEED_LIBPNG_DLL=USE
623 NEED_CAIRO_DLL=USE
624 GTK_WIMP_DIR=DUMMY_TO_USE_WIMP
625 GTK_WIMP_DLLSRC_DIR=$(GTK_DIR)\lib\gtk-2.0\2.10.0\engines
626 GTK_WIMP_DLLDST_DIR=lib\gtk-2.0\2.10.0\engines
627 GTK_WIMP_RCSRC_DIR=$(GTK_DIR)\share\themes\MS-Windows\gtk-2.0
628 GTK_WIMP_RCDST_DIR=etc\gtk-2.0
629 !ELSE
630 !ERROR ? Unknown or invalid GTK_INST_VERSION
631 !ENDIF
632
633 !IF "$(PANGO_INST_VERSION)" == "1.20"
634 PANGO_LIB_DIR=1.5.0
635 !ELSEIF "$(PANGO_INST_VERSION)" == "1.18"
636 PANGO_LIB_DIR=1.5.0
637 !ELSEIF "$(PANGO_INST_VERSION)" == "1.16"
638 PANGO_LIB_DIR=1.5.0
639 !ELSE
640 !ERROR ? Unknown or invalid PANGO_INST_VERSION
641 !ENDIF
642
643 !IFDEF AIRPCAP_DIR
644 AIRPCAP_CONFIG=^#define HAVE_AIRPCAP 1
645 AIRPDCAP_CONFIG=^#define HAVE_AIRPDCAP 1
646 #AIRPCAP_CFLAGS=/I$(AIRPCAP_DIR)\include
647 !ELSE
648 AIRPCAP_CONFIG=
649 AIRPDCAP_CONFIG=
650 !ENDIF
651
652 !IFDEF PCAP_DIR
653 # Nmake uses carets to escape special characters
654 WINPCAP_CONFIG=^#define HAVE_LIBPCAP 1
655 PCAP_FINDALLDEVS_CONFIG=^#define HAVE_PCAP_FINDALLDEVS 1
656 PCAP_DATALINK_NAME_TO_VAL_CONFIG=^#define HAVE_PCAP_DATALINK_NAME_TO_VAL 1
657 PCAP_DATALINK_VAL_TO_NAME_CONFIG=^#define HAVE_PCAP_DATALINK_VAL_TO_NAME 1
658 # PCAP_BREAKLOOP won't have any benefit on Win32, but breaks compatibility with 3.0
659 PCAP_BREAKLOOP_CONFIG=
660 WPCAP_CONSTIFIED_CONFIG=^#define WPCAP_CONSTIFIED 1
661 !ELSE
662 # no WpdPack installed
663 WINPCAP_CONFIG=
664 PCAP_FINDALLDEVS_CONFIG=
665 PCAP_DATALINK_NAME_TO_VAL_CONFIG=
666 PCAP_DATALINK_VAL_TO_NAME_CONFIG=
667 PCAP_BREAKLOOP_CONFIG=
668 WPCAP_CONSTIFIED=
669 !ENDIF
670
671 !IF DEFINED(PCAP_DIR) && DEFINED(PCAP_REMOTE)
672 PCAP_HAVE_REMOTE_CONFIG=^#define HAVE_REMOTE 1
673 PCAP_REMOTE_CONFIG=^#define HAVE_PCAP_REMOTE 1
674 PCAP_OPEN_CONFIG=^#define HAVE_PCAP_OPEN 1
675 PCAP_FINDALLDEVS_EX_CONFIG=^#define HAVE_PCAP_FINDALLDEVS_EX 1
676 PCAP_CREATESRCSTR_CONFIG=^#define HAVE_PCAP_CREATESRCSTR 1
677 PCAP_SETSAMPLING_CONFIG=^#define HAVE_PCAP_SETSAMPLING 1
678 !ELSE
679 PCAP_HAVE_REMOTE_CONFIG=
680 PCAP_REMOTE_CONFIG=
681 PCAP_OPEN_CONFIG=
682 PCAP_FINDALLDEVS_EX_CONFIG=
683 PCAP_CREATESRCSTR_CONFIG=
684 PCAP_SETSAMPLING_CONFIG=
685 !ENDIF
686
687 !IFDEF ZLIB_DIR
688 ZLIB_PATH=$(ZLIB_DIR)
689 ZLIB_CFLAGS=/I$(ZLIB_DIR)\include
690 ZLIB_LIBS=$(ZLIB_DIR)\lib\zdll.lib
691 ZLIB_DLL=$(ZLIB_DIR)\zlib1.dll
692 # Nmake uses carets to escape special characters
693 ZLIB_CONFIG=^#define HAVE_LIBZ 1
694 !else
695 ZLIB_CFLAGS=
696 ZLIB_LIBS=
697 ZLIB_DLL=
698 ZLIB_CONFIG=
699 !ENDIF
700
701 !IFDEF ADNS_DIR
702 ADNS_PATH=$(ADNS_DIR)\adns_win32\lib
703 ADNS_CFLAGS=/I$(ADNS_DIR)\src /I$(ADNS_DIR)\adns_win32
704 ADNS_LIBS=$(WIRESHARK_LIBS)\$(MSVC_VARIANT)\adns\adns_dll.lib
705 ADNS_DLL=$(WIRESHARK_LIBS)\$(MSVC_VARIANT)\adns\adns_dll.dll
706 # Nmake uses carets to escape special characters
707 ADNS_CONFIG=^#define HAVE_GNU_ADNS 1
708 !else
709 ADNS_CFLAGS=
710 ADNS_LIBS=
711 ADNS_CONFIG=
712 !ENDIF
713
714 !IFDEF KFW_DIR
715 KFW_PATH=$(KFW_DIR)\bin
716 KFW_CFLAGS=/I$(KFW_DIR)\inc
717 KFW_LIBS=$(KFW_DIR)\lib\krb5_32.lib
718 # Nmake uses carets to escape special characters
719 KFW_CONFIG=^#define HAVE_MIT_KERBEROS 1
720 !else
721 KFW_CFLAGS=
722 KFW_LIBS=
723 KFW_CONFIG=
724 !ENDIF
725
726 !IFDEF PCRE_DIR
727 PCRE_PATH=$(PCRE_DIR)\bin
728 PCRE_CFLAGS=/I$(PCRE_DIR)\include
729 PCRE_LIBS=$(PCRE_DIR)\lib\pcre.lib
730 # Nmake uses carets to escape special characters
731 PCRE_CONFIG=^#define HAVE_LIBPCRE 1
732 !else
733 PCRE_CFLAGS=
734 PCRE_LIBS=
735 PCRE_CONFIG=
736 !ENDIF
737
738 !IFDEF NETTLE_DIR
739 NETTLE_CFLAGS=/I$(NETTLE_DIR)
740 NETTLE_LIBS=$(NETTLE_DIR)\libnettle.lib
741 # Nmake uses carets to escape special characters
742 NETTLE_CONFIG=^#define HAVE_LIBNETTLE 1
743 !else
744 NETTLE_CFLAGS=
745 NETTLE_LIBS=
746 NETTLE_CONFIG=
747 !ENDIF
748
749 !IFDEF GNUTLS_DIR
750 GNUTLS_PATH=$(GNUTLS_DIR)
751 # /DNOCRYPT avoids inclusion of Wincrypt.h, avoiding a X509_NAME define clash
752 GNUTLS_CFLAGS=/I$(GNUTLS_DIR)\include /DNOCRYPT
753 GNUTLS_LIBS=\
754         $(GNUTLS_DIR)\bin\libtasn1-3.lib        \
755         $(GNUTLS_DIR)\bin\libgpg-error-0.lib    \
756         $(GNUTLS_DIR)\bin\libgcrypt-11.lib      \
757         $(GNUTLS_DIR)\bin\libgnutls-13.lib
758 # Nmake uses carets to escape special characters
759 GNUTLS_CONFIG=^#define HAVE_LIBGNUTLS 1
760 LIBGCRYPT_CONFIG=^#define HAVE_LIBGCRYPT 1
761 !else
762 GNUTLS_CFLAGS=
763 GNUTLS_LIBS=
764 GNUTLS_CONFIG=
765 LIBGCRYPT_CONFIG=
766 !ENDIF
767
768 !IFDEF LUA_DIR
769 LUA_CFLAGS=/I$(LUA_DIR)\include
770 LUA_LIBS=$(LUA_DIR)\lib\dll\lua5.1.lib
771 # Nmake uses carets to escape special characters
772 LUA_CONFIG=^#define HAVE_LUA 1
773 LUA_VERSION=^#define HAVE_LUA_5_1 1
774 !else
775 LUA_CFLAGS=
776 LUA_LIBS=
777 LUA_CONFIG=
778 !ENDIF
779
780 !IFDEF PORTAUDIO_DIR
781 # Nmake uses carets to escape special characters
782 PORTAUDIO_CONFIG=^#define HAVE_LIBPORTAUDIO 1
783 !IF "$(PORTAUDIO_VERSION)" == "18"
784 # V18 uses API version 1 and v19 API version 2
785 PORTAUDIO_CFLAGS=/I$(PORTAUDIO_DIR)\pa_common
786 PORTAUDIO_API_CONFIG=^#define PORTAUDIO_API_1 1
787 !ELSE
788 PORTAUDIO_CFLAGS=/I$(PORTAUDIO_DIR)\include /I$(PORTAUDIO_DIR)\src\common
789 !ENDIF
790 !ELSE
791 PORTAUDIO_CFLAGS=
792 PORTAUDIO_CONFIG=
793 !ENDIF
794
795 !IFDEF HHC_DIR
796 !IF "$(MSVC_VARIANT)" == "MSVC6"
797 HHC_CFLAGS=/I"$(HHC_DIR)\include" -DHHC_DIR
798 HHC_LIBS="$(HHC_DIR)\lib\htmlhelp.lib"
799 !ELSE
800 HHC_CFLAGS=-DHHC_DIR
801 HHC_LIBS=htmlhelp.lib
802 !ENDIF
803 !ELSE
804 HHC_CFLAGS=
805 HHC_LIBS=
806 !ENDIF
807
808 !IFDEF SMI_DIR
809 SMI_CONFIG=^#define HAVE_LIBSMI 1
810 SMI_CFLAGS=/I$(SMI_DIR)\include
811 SMI_LIBS=$(SMI_DIR)\lib\smi.lib
812 !ELSE
813 SMI_LIBS=
814 SMI_CFLAGS=
815 SMI_CONFIG=
816 !ENDIF
817
818 !IFDEF ENABLE_LIBWIRESHARK
819 LIBWIRESHARK_CONFIG=^#define HAVE_LIBWIRESHARKDLL 1
820 # Link plugins with the import library of libwireshark.dll
821 LINK_PLUGINS_WITH_LIBWIRESHARK=USE
822 !ELSE
823 LIBWIRESHARK_CONFIG=
824 !ENDIF
825
826 # Construct the path
827 !IFDEF ICONV_DIR
828 PATH=$(PATH);$(CYGWIN_PATH);$(GLIB_DIR)\bin;$(GETTEXT_DIR)\bin;$(ICONV_DIR)\bin;$(ZLIB_PATH);$(ADNS_PATH)
829 !ELSE
830 PATH=$(PATH);$(CYGWIN_PATH);$(GLIB_DIR)\bin;$(GETTEXT_DIR)\bin;$(ZLIB_PATH);$(ADNS_PATH)
831 !ENDIF