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