Get rid of (hopefully) all configure options to enable MAIN_MENU_USE_UIMANAGER
[metze/wireshark/wip.git] / config.nmake
1 # $Id$
2
3 # Some more information about the settings in this file can be found in
4 # the file README.windows and the Developer's Guide (available online).
5
6 ##### Target platform #####
7 # Only "win32" and "win64" are valid (for now).
8 # This can be defined in the system environment.
9 !IFNDEF WIRESHARK_TARGET_PLATFORM
10 WIRESHARK_TARGET_PLATFORM=win32
11 !ENDIF
12
13 ##### Versions #####
14
15 # The current Wireshark version
16 # It's highly recommended to leave MAJOR/MINOR/MICRO unchanged
17 VERSION_MAJOR=1
18 VERSION_MINOR=7
19 VERSION_MICRO=0
20 VERSION_BUILD=0
21 # It's recommended to change VERSION_EXTRA for your own custom builds
22 # e.g. "-SVN-12345"
23 VERSION_EXTRA=
24
25 # The version of the wiretap library (recommended: leave unchanged)
26 WTAP_VERSION_MAJOR=1
27 WTAP_VERSION_MINOR=7
28 WTAP_VERSION_MICRO=0
29
30
31
32 ##### Directories #####
33
34 #
35 # Base directory, where your libraries reside, which are needed to
36 # compile the sources. This setting is used only inside this file.
37 # This can be defined in the system environment.
38 #
39 !IFNDEF WIRESHARK_LIB_DIR
40 WIRESHARK_LIB_DIR=C:\wireshark-$(WIRESHARK_TARGET_PLATFORM)-libs
41 !ENDIF
42
43 #
44 # Base directory, where your programs reside.
45 # This setting is used only inside this file.
46 #
47 PROGRAM_FILES=$(PROGRAMFILES)
48
49 #
50 # Location of the "tools" directory. This affects HTML2TXT below and should
51 # be overridden by makefiles in any subdirectories that use HTML2TXT.
52 !IFNDEF TOOLS_DIR
53 TOOLS_DIR=tools
54 !ENDIF
55
56 #
57 # Machine type for the compiler and linker
58 # TARGET_MACHINE (Used for link /MACHINE) should be one of "X86" or "X64"
59 # (sorry ARM, Alpha, MIPS, and Itanium fans).
60 # CPU (Used by win32.mak) should be one of "i386" or "AMD64".
61 # PROCESSOR_ARCHITECTURE (Used for redistributable packages and
62 # manifests) should be one of "x86" or "amd64".
63 !if "$(WIRESHARK_TARGET_PLATFORM)" == "win32"
64 TARGET_MACHINE=x86
65 CPU=i386
66 PROCESSOR_ARCHITECTURE=x86
67 !else if "$(WIRESHARK_TARGET_PLATFORM)" == "win64"
68 TARGET_MACHINE=x64
69 CPU=AMD64
70 PROCESSOR_ARCHITECTURE=amd64
71 !else
72 !error Your mysterious moon-man architecture "$(WIRESHARK_TARGET_PLATFORM)" frightens and confuses us.
73 !endif
74
75
76 ##### Microsoft Visual C / Studio Variant #####
77 # For the different Studios, see: http://en.wikipedia.org/wiki/Microsoft_Visual_Studio
78 # only one of the following MSVC_VARIANT settings should be used
79 # BTW: The "Microsoft Visual C++ Toolkit 2003" DOESN'T WORK for WS!
80
81 # "Microsoft Visual Studio 6.0"
82 # Visual C++ 6.0, _MSC_VER 1200, msvcrt.dll (version 6)
83 #MSVC_VARIANT=MSVC6
84
85 # "Microsoft Visual Studio .NET (2002)"
86 # Visual C++ 7.0, _MSC_VER 1300, msvcr70.dll
87 #MSVC_VARIANT=MSVC2002
88
89 # "Microsoft .Net Framework SDK Version 1.0"
90 # needs additional Platform SDK installation
91 # Visual C++ 7.0, _MSC_VER 1300, msvcr70.dll
92 #MSVC_VARIANT=DOTNET10
93
94 # "Microsoft Visual Studio .NET 2003"
95 # Visual C++ 7.1, _MSC_VER 1310, msvcr71.dll
96 #MSVC_VARIANT=MSVC2003
97
98 # "Microsoft .Net Framework SDK Version 1.1"
99 # needs additional Platform SDK installation
100 # Visual C++ 7.1, _MSC_VER 1310, msvcr71.dll
101 #MSVC_VARIANT=DOTNET11
102
103 # "Microsoft Visual Studio 2005"
104 # Visual C++ 8.0, _MSC_VER 1400, msvcr80.dll
105 #MSVC_VARIANT=MSVC2005
106
107 # "Microsoft Visual C++ 2005 Express Edition"
108 # needs additional Platform SDK installation
109 # Visual C++ 8.0, _MSC_VER 1400, msvcr80.dll
110 #MSVC_VARIANT=MSVC2005EE
111
112 # "Microsoft .Net Framework 2.0 SDK"
113 # needs additional Platform SDK installation
114 # Visual C++ 8.0, _MSC_VER 1400, msvcr80.dll
115 #MSVC_VARIANT=DOTNET20
116
117 # "Microsoft Visual Studio 2008"
118 # Visual C++ 9.0, _MSC_VER 1500, msvcr90.dll
119 #MSVC_VARIANT=MSVC2008
120
121 # "Microsoft Visual C++ 2008 Express Edition"
122 # Visual C++ 9.0, _MSC_VER 1500, msvcr90.dll
123 #MSVC_VARIANT=MSVC2008EE
124
125 # "Microsoft Visual Studio 2010"
126 # Visual C++ 10.0, _MSC_VER 1600, msvcr100.dll
127 #MSVC_VARIANT=MSVC2010
128
129 # "Microsoft Visual C++ 2010 Express Edition"
130 # Visual C++ 10.0, _MSC_VER 1600, msvcr100.dll
131 #MSVC_VARIANT=MSVC2010EE
132
133 # The default if we haven't set a system environment variable or
134 # uncommented an entry above.
135 !IFNDEF MSVC_VARIANT
136 MSVC_VARIANT=MSVC2008
137 !ENDIF
138
139 #
140 # Optional: To compile some time critical code from assembler instead of C
141 #
142 # If you have the NASM compiler, set this to the NASM executable.
143 # http://nasm.sourceforge.net/
144 #
145 # If you don't have NASM, comment this line out, so that NASM
146 # isn't defined.
147 #
148 NASM=$(WIRESHARK_LIB_DIR)\nasm-2.09.08\nasm.exe
149
150 #
151 # Optional: the Python library enables scripting support.
152 #
153 # If you don't have the Python library, comment this line out, so that
154 # PYTHON_EMBED isn't defined.
155 #
156 # NOTE: The Python library must have been compiled with the same
157 # compiler (MSVC_VARIANT) as Wireshark. Known python.org Python
158 # CRT versions:
159 #
160 # Python version    CRT (32-bit)    CRT (64-bit)
161 # 2.4.4             7.1             ?
162 # 2.6.1             9.0             ?
163 # 2.6.2                             9.0
164 #
165 # If you versions of Python and Visual C++ use different CRTs
166 # comment this out.
167 #
168 # XXX The DLL path in epan/wspython/wspy_libws.py likely needs to
169 # be fixed before this is enabled by default.
170 #PYTHON_EMBED=1
171
172 #
173 # Optional: the Python interpreter is used as part of the buildsystem
174 #
175 # This will override the automatic detection below.
176 #PYTHON_VER=27
177 #PYTHON_DIR=C:\Python$(PYTHON_VER)
178
179 #
180 # If you don't have the native Python package installed, you can use
181 # the Cygwin version (not recommended)
182 #
183 #PYTHON=env python
184
185 # Santity check: native vs Cygwin Python options
186 !IF DEFINED(PYTHON) && DEFINED(PYTHON_DIR)
187 !ERROR PYTHON and PYTHON_DIR cannot be specified at the same time
188 !ENDIF
189
190 # Find native Python automatically if PYTHON(_DIR) wasn't defined
191 !IF !DEFINED(PYTHON) && !DEFINED(PYTHON_DIR)
192 !IF EXIST(c:\Python27\python.exe)
193 PYTHON_VER=27
194 !ELSE IF EXIST(c:\Python26\python.exe)
195 PYTHON_VER=26
196 !ELSE IF EXIST(c:\Python25\python.exe)
197 PYTHON_VER=25
198 !ELSE IF EXIST(c:\Python24\python.exe)
199 PYTHON_VER=24
200 !ENDIF
201
202 !IF DEFINED(PYTHON_VER)
203 PYTHON_DIR=C:\Python$(PYTHON_VER)
204 !ENDIF
205 !ENDIF
206
207 !IF DEFINED(PYTHON_DIR)
208 PYTHON="$(PYTHON_DIR)\python.exe"
209 PATH=$(PYTHON_DIR);$(PATH)
210 !ENDIF
211
212 #### Save files as pcap-ng by default. Comment out to use pcap instead. ####
213 PCAP_NG_DEFAULT=^#define PCAP_NG_DEFAULT 1
214
215 ##### To Use packet editor uncomment this line ####
216 ### Warning Experimental - work in progress
217 #WANT_PACKET_EDITOR=^#define WANT_PACKET_EDITOR 1
218
219 !if "$(WIRESHARK_TARGET_PLATFORM)" == "win32"
220 ##### Win32 Libraries #####
221 #
222 # Mandatory: GLib settings
223 #
224 # Please note: Since Wireshark release 1.0.0, we no longer support GLib1.x
225 #
226 GLIB_VERSION=2.0
227
228 #
229 # Mandatory: GLib, GTK & related library settings
230 #
231 # Please note: Since Wireshark release 1.0.0, we no longer support GTK1.x
232 #
233 # If you want building with GTK+, set GTK_DIR to the pathname of the
234 # directory in which the "include" and "lib" directories reside.
235 #
236 GTK_DIR=$(WIRESHARK_LIB_DIR)\gtk2
237 # These macros are used by the nsis installer script and by the install target.
238 PNG_DLL=libpng14-14.dll
239 FREETYPE_DLL=freetype6.dll
240 FONTCONFIG_DLL=libfontconfig-1.dll
241 EXPAT_DLL=libexpat-1.dll
242 INTL_DLL=intl.dll
243 # This macro is used by the setup target.
244 #GTK_PKG=2.16.6-20100912
245 GTK_PKG=2.22.1-20101227
246
247 #
248 # Mandatory: Version numbers of GTK and pango.
249 #
250 # (MAJOR + MINOR Version number but without MICRO version number)
251 # These macros are used by the nsis installer script and by the setup target.
252 #
253 #GTK_INST_VERSION=2.16
254 GTK_INST_VERSION=2.22
255
256 #
257 # Optional: WinPcap developer's pack to capture network traffic.
258 #
259 # If you have the WinPcap developer's pack (at least version 3.0),
260 # set this to the directory in which the WinPcap developer's pack resides.
261 #
262 # If you don't have the WPdpack, comment this line out, so that
263 # PCAP_DIR isn't defined.
264 #
265 PCAP_DIR=$(WIRESHARK_LIB_DIR)\WPdpack
266 # This macro is used by the nsis installer script, by the u3/portable apps and by the setup target.
267 PCAP_VERSION=4_1_2
268
269 #
270 # Optional: WinPcap remote capture support and new API
271 # (pcap_open(), pcap_findalldevs_ex(), etc.)
272 #
273 PCAP_REMOTE=1
274
275 #
276 # Optional: The ZLib enables unzipping of gzip compressed capture files
277 # "on the fly".
278 #
279 # If you have Zlib, set this to directory in which the Zlib headers
280 # and .lib file are stored.
281 #
282 # If you don't have Zlib, comment this line out, so that ZLIB_DIR isn't
283 # defined.
284 # EXperimental only use zlib 1.2.5 on win32 for now
285 ZLIB_DIR=$(WIRESHARK_LIB_DIR)\zlib125
286
287 #
288 # Optional: the ADNS library enables asynchronous (nonblocking) DNS
289 # name resolvings.
290 #
291 # If you have GNU ADNS, set this to the directory in which the GNU ADNS
292 # .lib file is stored.
293 #
294 # If you don't have GNU ADNS, comment this line out, so that ADNS_DIR
295 # isn't defined.
296 #
297 # If C_ARES_DIR is defined below, it will override this setting.
298 #
299 #ADNS_DIR=$(WIRESHARK_LIB_DIR)\adns-1.0-win32-05ws
300
301 #
302 # Optional: the c-ares library enables asynchronous (nonblocking) DNS
303 # name resolvings.
304 #
305 # If you have c-ares, set this to the directory in which the c-ares
306 # .lib file is stored. Setting this will override ADNS_DIR above. You
307 # can't have both.
308 #
309 # If you're using Visual C++ 6.0, you'll have to use a platform SDK that
310 # defines socklen_t, such as Windows Server 2003 PSDK.
311 #
312 # If you don't have c-ares, comment this line out, so that C_ARES_DIR
313 # isn't defined.
314 #
315 C_ARES_PKG=1.7.1
316
317 #
318 # Optional: the GNUTLS library enables ssl decryption.
319 #
320 # If you have the GNUTLS library, set this to the package version.
321 #
322 # If you don't have GNUTLS, comment this line out, so that GNUTLS_PKG
323 # isn't defined.
324 #
325 # Platform SDK conflicts with openssl.h header
326 GNUTLS_PKG=2.10.3-1.11
327
328 #
329 # Optional: the KFW library enables kerberos/sasl/dcerpc decryption.
330 #
331 # If you have the kerberos for windows (mit) library, set this to the
332 # directory where the kfw package is stored.
333 #
334 # If you don't have KFW, comment this line out, so that KFW_DIR
335 # isn't defined.
336 #
337 KFW_DIR=$(WIRESHARK_LIB_DIR)\kfw-3-2-2-i386-ws-vc6
338
339 #
340 # Optional: the Nettle library enables ??? decryption.
341 #
342 # If you have the Nettle encryption library, set this to the
343 # directory in which the nettle package is stored.
344 #
345 # If you don't have Nettle, comment this line out, so that NETTLE_DIR
346 # isn't defined.
347 #
348 # NETTLE_DIR=$(WIRESHARK_LIB_DIR)\nettle-1.10
349
350 #
351 # Optional: the LUA library enables scripting support.
352 #
353 # If you have the LUA library, set this to the directory in which
354 # the LUA package is stored.
355 #
356 # If you don't have LUA, comment this line out, so that LUA_DIR
357 # isn't defined.
358 #
359 LUA_DIST=5_1_4_Win32_dll6
360 LUA_DIR=$(WIRESHARK_LIB_DIR)\lua5.1.4
361
362 #
363 # Optional: the PORTAUDIO library enables audio output for RTP streams.
364 #
365 # If you have the PORTAUDIO library (used for rtp_player), set this to
366 # the directory in which the PORTAUDIO library is stored.
367 #
368 # If you don't have PORTAUDIO, comment this line out, so that
369 # PORTAUDIO_DIR isn't defined.
370 #
371 #PORTAUDIO_DIR=$(WIRESHARK_LIB_DIR)\portaudio_v18_1
372 PORTAUDIO_DIR=$(WIRESHARK_LIB_DIR)\portaudio_v19_2
373
374 #
375 # Version number of PortAudio
376 #
377 #PORTAUDIO_VERSION=18
378 PORTAUDIO_VERSION=19
379
380 #
381 # Optional: AirPcap developer's pack to capture wireless network traffic
382 # incl. 802.11 management frames.
383 #
384 # If you have the AirPcap developer's pack, set this to the directory
385 # in which the AirPcap developer's pack resides.
386 #
387 # If you don't have the AirPcap developer's pack, comment this line out,
388 # so that AIRPCAP_DIR isn't defined.
389 #
390 AIRPCAP_DIR=$(WIRESHARK_LIB_DIR)\AirPcap_Devpack_4_1_0_1622\AirPcap_Devpack
391
392 #
393 # Optional: LIBSMI, System Management Interface
394 #
395 # Used for oid-name resolution for SNMP and other protocols
396 #
397 SMI_PKG=svn-40773
398
399 #
400 # Optional: GeoIP, IP address database lookups
401 #
402 # Used to map IP addresses to MaxMind GeoIP database entries
403 #
404 # GeoIP requires IPv6 definitions that don't ship with Visual C++ 6.0.
405 # However, the Microsoft Platform SDK for Windows Server 2003 R2 provides
406 # these definitions. The SDK's SetEnv.bat script defines INETSDK.
407 !IF "$(MSVC_VARIANT)" != "MSVC6" || DEFINED(INETSDK)
408 GEOIP_DIR=$(WIRESHARK_LIB_DIR)\GeoIP-1.4.6-win32ws\libGeoIP
409 !ENDIF
410
411 !else
412 ##### Win64 Libraries #####
413 #
414 # Mandatory: GLib settings
415 #
416 # Please note: Since Wireshark release 1.0.0, we no longer support GLib1.x
417 #
418 GLIB_VERSION=2.0
419
420 #
421 # Mandatory: GLib, GTK & related library settings
422 #
423 # Please note: Since Wireshark release 1.0.0, we no longer support GTK1.x
424 #
425 # If you want building with GTK+, set GTK_DIR to the pathname of the
426 # directory in which the "include" and "lib" directories reside.
427 #
428 GTK_DIR=$(WIRESHARK_LIB_DIR)\gtk2
429 # These macros are used by the nsis installer script and by the install target.
430 PNG_DLL=libpng14-14.dll
431 #TIFF_DLL=libtiff-3.dll
432 #JPEG_DLL=libjpeg-7.dll
433 FREETYPE_DLL=libfreetype-6.dll
434 FONTCONFIG_DLL=libfontconfig-1.dll
435 EXPAT_DLL=libexpat-1.dll
436 INTL_DLL=libintl-8.dll
437
438 # These macros are used by the setup target.
439 #GTK_PKG=2.16.6-20100912
440 GTK_PKG=2.22.1-20101229
441
442 #
443 # Mandatory: Version numbers of GTK and pango.
444 #
445 # (MAJOR + MINOR Version number but without MICRO version number)
446 # These macros are used by the nsis installer script and by the setup target.
447 #
448 #GTK_INST_VERSION=2.16
449 GTK_INST_VERSION=2.22
450
451 #
452 # Optional: WinPcap developer's pack to capture network traffic.
453 #
454 # If you have the WinPcap developer's pack (at least version 3.0),
455 # set this to the directory in which the WinPcap developer's pack resides.
456 #
457 # If you don't have the WPdpack, comment this line out, so that
458 # PCAP_DIR isn't defined.
459 #
460 PCAP_DIR=$(WIRESHARK_LIB_DIR)\WPdpack
461 # This macro is used by the nsis installer script, by the u3/portable apps and by the setup target.
462 PCAP_VERSION=4_1_2
463
464 #
465 # Optional: WinPcap remote capture support and new API
466 # (pcap_open(), pcap_findalldevs_ex(), etc.)
467 #
468 PCAP_REMOTE=1
469
470 #
471 # Optional: The ZLib enables unzipping of gzip compressed capture files
472 # "on the fly".
473 #
474 # If you have Zlib, set this to directory in which the Zlib headers
475 # and .lib file are stored.
476 #
477 # If you don't have Zlib, comment this line out, so that ZLIB_DIR isn't
478 # defined.
479 #
480 ZLIB_DIR=$(WIRESHARK_LIB_DIR)\zlib125
481
482 #
483 # Optional: the ADNS library enables asynchronous (nonblocking) DNS
484 # name resolvings.
485 #
486 # If you have GNU ADNS, set this to the directory in which the GNU ADNS
487 # .lib file is stored.
488 #
489 # If you don't have GNU ADNS, comment this line out, so that ADNS_DIR
490 # isn't defined.
491 #
492 # If C_ARES_DIR is defined below, it will override this setting.
493 #
494 #ADNS_DIR=$(WIRESHARK_LIB_DIR)\adns-1.0-win32-05ws
495
496 #
497 # Optional: the c-ares library enables asynchronous (nonblocking) DNS
498 # name resolvings.
499 #
500 # If you have c-ares, set this to the directory in which the c-ares
501 # .lib file is stored. Setting this will override ADNS_DIR above. You
502 # can't have both.
503 #
504 # If you're using Visual C++ 6.0, you'll have to use a platform SDK that
505 # defines socklen_t, such as Windows Server 2003 PSDK.
506 #
507 # If you don't have c-ares, comment this line out, so that C_ARES_DIR
508 # isn't defined.
509 #
510 C_ARES_PKG=1.7.1
511
512 #
513 # Optional: the GNUTLS library enables ssl decryption.
514 #
515 # If you have the GNUTLS library, set this to the package version.
516 #
517 # If you don't have GNUTLS, comment this line out, so that GNUTLS_PKG
518 # isn't defined.
519 #
520 # Platform SDK conflicts with openssl.h header
521 GNUTLS_PKG=2.10.3-1.7
522
523 #
524 # Optional: the KFW library enables kerberos/sasl/dcerpc decryption.
525 #
526 # If you have the kerberos for windows (mit) library, set this to the
527 # directory where the kfw package is stored.
528 #
529 # If you don't have KFW, comment this line out, so that KFW_DIR
530 # isn't defined.
531 #
532 #KFW_DIR=$(WIRESHARK_LIB_DIR)\kfw-3.2.2-ws1
533
534 #
535 # Optional: the Nettle library enables ??? decryption.
536 #
537 # If you have the Nettle encryption library, set this to the
538 # directory in which the nettle package is stored.
539 #
540 # If you don't have Nettle, comment this line out, so that NETTLE_DIR
541 # isn't defined.
542 #
543 # NETTLE_DIR=$(WIRESHARK_LIB_DIR)\nettle-1.10
544
545 #
546 # Optional: the LUA library enables scripting support.
547 #
548 # If you have the LUA library, set this to the directory in which
549 # the LUA package is stored.
550 #
551 # If you don't have LUA, comment this line out, so that LUA_DIR
552 # isn't defined.
553 #
554 LUA_DIST=5_1_4_Win64_dll9
555 LUA_DIR=$(WIRESHARK_LIB_DIR)\lua5.1.4
556
557 #
558 # Optional: the PORTAUDIO library enables audio output for RTP streams.
559 #
560 # If you have the PORTAUDIO library (used for rtp_player), set this to
561 # the directory in which the PORTAUDIO library is stored.
562 #
563 # If you don't have PORTAUDIO, comment this line out, so that
564 # PORTAUDIO_DIR isn't defined.
565 #
566 #PORTAUDIO_DIR=$(WIRESHARK_LIB_DIR)\portaudio_v18_1
567 PORTAUDIO_DIR=$(WIRESHARK_LIB_DIR)\portaudio_v19_2
568
569 #
570 # Version number of PortAudio
571 #
572 #PORTAUDIO_VERSION=18
573 PORTAUDIO_VERSION=19
574
575 #
576 # Optional: AirPcap developer's pack to capture wireless network traffic
577 # incl. 802.11 management frames.
578 #
579 # If you have the AirPcap developer's pack, set this to the directory
580 # in which the AirPcap developer's pack resides.
581 #
582 # If you don't have the AirPcap developer's pack, comment this line out,
583 # so that AIRPCAP_DIR isn't defined.
584 #
585 AIRPCAP_DIR=$(WIRESHARK_LIB_DIR)\AirPcap_Devpack_4_1_0_1622\AirPcap_Devpack
586
587 #
588 # Optional: LIBSMI, System Management Interface
589 #
590 # Used for oid-name resolution for SNMP and other protocols
591 #
592 SMI_PKG=svn-40773
593
594 #
595 # Optional: GeoIP, IP address database lookups
596 #
597 # Used to map IP addresses to MaxMind GeoIP database entries
598 #
599 GEOIP_DIR=$(WIRESHARK_LIB_DIR)\GeoIP-1.4.6-win64ws\libGeoIP
600
601 !endif
602
603 ##### Tools #####
604
605 # Set the following mandatory commands to find the tools.
606 # The easiest way is to use the corresponding packages from cygwin.
607
608 # Set up the path to the cygwin binaries
609 CYGWIN_PATH=c:\cygwin\bin
610
611 # command for a shell (cygwin's bash package recommended)
612 SH_PROG=bash
613
614 # bash versions after 3.1.6 need the 'igncr' shell option to be able to
615 #  process scripts in windows 'native format' (dos crlf format).
616 # The following !IF results in the option being used only if it is available
617 #  since using it on bash version 3.1.6 (or earlier) is not required and
618 #  will cause an error message.
619 !if "$(SH_PROG)"=="bash" && [$(CYGWIN_PATH)\bash -c "set -o igncr" 2>nul: ] == 0
620 SH_FLAGS=-o igncr
621 !endif
622
623 SH=$(SH_PROG) $(SH_FLAGS)
624
625
626 # command for perl (cygwin's perl package recommended)
627 PERL=perl
628
629 # command for pod2man and pod2html
630 # (part of the perl package, usually leave these unchanged)
631 POD2MAN=$(SH) pod2man
632 POD2HTML=$(SH) pod2html
633
634 # command for lex/flexx (cygwin's flex recommended)
635 LEX=flex
636
637 # command for yacc/bison (cygwin's bison recommended)
638 YACC=bison
639
640 # Commands to convert UNIX line endings to DOS/Windows
641 UNIX2DOS=u2d
642 TEXTIFY=$(SH) $(TOOLS_DIR)/textify.sh
643
644 #
645 # Optional: To build the NSIS installer.
646 #
647 # If you have the NSIS package, set this to the NSIS executable.
648 #
649 # If you don't have NSIS, comment this line out, so that MAKENSIS
650 # isn't defined.
651 #
652 MAKENSIS="$(PROGRAM_FILES)\NSIS\makensis.exe"
653
654 #
655 # Optional: To build the NSIS PortableApps installer.
656 #
657 # If you have the NSIS Unicode package, set this to the NSIS Unicode executable.
658 #
659 # If you don't have NSIS Unicode, comment this line out, so that
660 # MAKENSIS_UNICODE isn't defined.
661 #
662 MAKENSIS_UNICODE="$(PROGRAM_FILES)\NSIS\Unicode\makensis.exe"
663
664 #
665 # Optional: To build the developers API documentation with doxygen and dot.
666 # Currently experimental, outdated and incomplete.
667 #
668 # You will have to download and install:
669 # Doxygen from: http://www.doxygen.org
670 # Graphviz from: http://www.research.att.com/sw/tools/graphviz/
671 #
672 # If you have doxygen, set this to the doxygen executable.
673 #
674 # If you don't want the developers documentation (or don't have the tools),
675 # comment this line out, so that DOXYGEN isn't defined.
676 #
677 #DOXYGEN="$(PROGRAM_FILES)/doxygen/bin/doxygen.exe"
678
679 #
680 # Recommended: Use the compressed html help format .chm as the Wireshark integrated help.
681 #
682 # The required htmlhelp.h and htmlhelp.lib should be included in MSVC_VARIANT > MSVC6.
683 #
684 # For MSVC_VARIANT == MSVC6 you will have to download and install the html help workshop from:
685 #
686 # http://msdn.microsoft.com/library/default.asp?url=/library/en-us/htmlhelp/html
687 # /hwMicrosoftHTMLHelpDownloads.asp
688 #
689 # Then point HHC_DIR to the html help dir (where hhc.exe resides).
690 #
691 # If you don't want the online help (or don't have the tools),
692 # comment this line out, so that HHC_DIR isn't defined.
693 #
694 HHC_DIR=$(PROGRAM_FILES)/HTML Help Workshop
695
696 #
697 # Optional: To reduce the size of dlls and exes, which is especially useful for USB device distributions (U3, PortableApps)
698 #
699 # If you have the UPX package, set this to the upx.exe executable.
700 #
701 # UPX can be downloaded from:
702 #   http://upx.sourceforge.net/
703 #
704 # If you don't have UPX, or don't want to pack exes and dlls,
705 # comment this line out, so that UPX isn't defined.
706 #
707
708 UPX=$(WIRESHARK_LIB_DIR)\upx303w\upx.exe
709
710 ##### Flags, PATHs and Miscellaneous #####
711
712 # Santity check: Python embedding requires a valid PYTHON_DIR
713 !IF DEFINED(PYTHON_EMBED) && !DEFINED(PYTHON_DIR)
714 !ERROR PYTHON_EMBED requires that PYTHON_DIR is defined
715 !ENDIF
716
717 # "convert" the MSVC variant into the required MSC compiler version
718 !IF "$(MSVC_VARIANT)" == "MSVC6"
719 MSC_VER_REQUIRED=1200
720 !ELSEIF "$(MSVC_VARIANT)" == "MSVC2002" || "$(MSVC_VARIANT)" == "DOTNET10"
721 MSC_VER_REQUIRED=1300
722 !ELSEIF "$(MSVC_VARIANT)" == "MSVC2003" || "$(MSVC_VARIANT)" == "DOTNET11"
723 MSC_VER_REQUIRED=1310
724 !ELSEIF "$(MSVC_VARIANT)" == "MSVC2005" || "$(MSVC_VARIANT)" == "MSVC2005EE" || "$(MSVC_VARIANT)" == "DOTNET20"
725 MSC_VER_REQUIRED=1400
726 !ELSEIF "$(MSVC_VARIANT)" == "MSVC2008" ||  "$(MSVC_VARIANT)" == "MSVC2008EE"
727 MSC_VER_REQUIRED=1500
728 !ELSEIF "$(MSVC_VARIANT)" == "MSVC2010" ||  "$(MSVC_VARIANT)" == "MSVC2010EE"
729 MSC_VER_REQUIRED=1600
730 !ELSE
731 !ERROR MSVC_VARIANT unknown
732 !ENDIF
733
734 ## Manifest processing is not needed for VC10 (Visual Studio 2010 C)
735 ## See: http://msdn.microsoft.com/en-us/library/dd293574.aspx
736 !IF ($(MSC_VER_REQUIRED) >= 1400) && ($(MSC_VER_REQUIRED) < 1600)
737 MANIFEST_INFO_REQUIRED=1
738 !ENDIF
739
740 # Compiler flags:
741 # /W3                               Warning level 3 (0 less - 4 most, 1 default)
742 # /Zi                               Create .pdb file for debugging
743 # /MD                               Use "multithread- and DLL-specific version" of run-time libraries
744 #                                    msvc documentation states that /MD causes _MT and _DLL to be defined
745 #                                    See: http://msdn.microsoft.com/en-us/library/2kzt1wy3%28v=VS.90%29.aspx
746 # /D_CRT_SECURE_NO_DEPRECATE        Don't warn for "insecure" calls,
747 #                                     see MSDN "Security Enhancements in the CRT"
748 # /D_CRT_NONSTDC_NO_DEPRECATE       Don't warn for "Deprecated CRT Functions" as MSDN calls this
749 # /D_BIND_TO_CURRENT_CRT_VERSION=1  Make sure our CRT and manifest versions match
750 #                                    (http://msdn.microsoft.com/en-us/library/cc664727.aspx)
751 # /DWIN32_LEAN_AND_MEAN             Don't include unnecessary Windows include files (see windows.h)
752 # /MANIFEST:no                      Don't create a SxS manifest. Makes sure our plugins don't load
753 #                                     a second copy of the CRT.
754 #
755 ##Note: LOCAL_CFLAGS are flags used for *all* compilations
756 ##      STANDARD_CFLAGS (see below) are flags used just for *Wireshark* compilations
757 !IF     "$(MSVC_VARIANT)" == "MSVC6"      || \
758         "$(MSVC_VARIANT)" == "MSVC2002"   || \
759         "$(MSVC_VARIANT)" == "DOTNET10"   || \
760         "$(MSVC_VARIANT)" == "MSVC2003"   || \
761         "$(MSVC_VARIANT)" == "DOTNET11"
762 LOCAL_CFLAGS=/Zi /W3 /MD /DWIN32_LEAN_AND_MEAN /DMSC_VER_REQUIRED=$(MSC_VER_REQUIRED)
763
764 !ELSEIF "$(MSVC_VARIANT)" == "MSVC2005"   || \
765         "$(MSVC_VARIANT)" == "MSVC2005EE" || \
766         "$(MSVC_VARIANT)" == "DOTNET20"   || \
767         "$(MSVC_VARIANT)" == "MSVC2008"   || \
768         "$(MSVC_VARIANT)" == "MSVC2008EE" || \
769         "$(MSVC_VARIANT)" == "MSVC2010"   || \
770         "$(MSVC_VARIANT)" == "MSVC2010EE"
771 LOCAL_CFLAGS=/Zi /W3 /MD /DWIN32_LEAN_AND_MEAN /DMSC_VER_REQUIRED=$(MSC_VER_REQUIRED) \
772              /D_CRT_SECURE_NO_DEPRECATE /D_CRT_NONSTDC_NO_DEPRECATE
773
774 !IF "$(WIRESHARK_TARGET_PLATFORM)" != "win64"
775 LOCAL_CFLAGS=$(LOCAL_CFLAGS) /D_BIND_TO_CURRENT_CRT_VERSION=1
776 !ENDIF
777
778 # Additional compiler warnings to be treated as "Level 3"
779 #  when compiling Wireshark sources. (Selected from "level 4" warnings).
780 ## 4295: array is too small to include a terminating null character
781 WARNINGS_CFLAGS=/w34295
782
783 !ELSE
784 !ERROR MSVC_VARIANT unknown
785 !ENDIF
786
787 # http://msdn.microsoft.com/en-us/library/bb385193.aspx
788 # /MP               Compiles multiple source files by using multiple processes
789 # /MP[processMax]   If you omit the processMax argument, the compiler retrieves the number of effective processors
790 #                   on your computer from the operating system, and creates a process for each processor.
791 #
792 # The following compiler options and language features that are incompatible with the /MP option:
793 #
794 # * #import preprocessor directive
795 # * /E, /EP
796 # * /Gm
797 # * /showIncludes
798 # * /Yc
799 #
800 !IF     "$(MSVC_VARIANT)" == "MSVC2008"   || \
801         "$(MSVC_VARIANT)" == "MSVC2008EE" || \
802         "$(MSVC_VARIANT)" == "MSVC2010"   || \
803         "$(MSVC_VARIANT)" == "MSVC2010EE"
804 LOCAL_CFLAGS= $(LOCAL_CFLAGS) /MP
805 !ENDIF
806
807 # Optional: Static analysis. Only supported in the full-frontal MSVC editions.
808 # http://msdn.microsoft.com/en-us/library/ms182025.aspx
809
810 !IFDEF ENABLE_CODE_ANALYSIS
811 LOCAL_CFLAGS= $(LOCAL_CFLAGS) /analyze:WX-
812 !ENDIF
813
814 #STANDARD_CFLAGS are flags used for *Wireshark* compiles (not stuff like lemon, etc)
815 STANDARD_CFLAGS=-DHAVE_CONFIG_H -D_U_="" $(LOCAL_CFLAGS) $(WARNINGS_CFLAGS)
816
817 #Comment out the following if warnings are not to be treated as errors
818 WARNINGS_ARE_ERRORS=-WX
819
820 ## XXX: _MT and _DLL are defined when /MD is used so CVARSDLL is apparently unneeded
821 ##CVARSDLL=-D_MT -D_DLL
822
823 # Linker flags:
824 # /DEBUG  generate debug info
825 # /PROFILE generate map file(s) for profiling
826 # /DEFAULTLIB:xxx use xxx as the standard C library
827 # /NODEFAULTLIB:xxx don't use xxx as the standard C library
828 #
829 LOCAL_LDFLAGS=/DEBUG /MACHINE:$(TARGET_MACHINE)
830 DLL_LDFLAGS =
831 !IFDEF MANIFEST_INFO_REQUIRED
832 DLL_LDFLAGS = /MANIFEST:no
833 !ENDIF
834
835 # Enable Safe Exception Handler.
836 # http://msdn.microsoft.com/en-us/magazine/cc337897.aspx
837 !IF $(MSC_VER_REQUIRED) >= 1300
838 LOCAL_CFLAGS= $(LOCAL_CFLAGS) /GS
839 !IF "$(WIRESHARK_TARGET_PLATFORM)" != "win64"
840 LOCAL_LDFLAGS= $(LOCAL_LDFLAGS) /SafeSEH
841 !ENDIF
842 !ENDIF
843
844 # Enable ASLR. Requires VS2008 or later.
845 # http://blogs.msdn.com/b/vcblog/archive/2009/05/21/dynamicbase-and-nxcompat.aspx
846 # DEP (/NXCompat) is handled in init_process_policies() via SetProcessDEPPolicy.
847
848 # ASLR http://msdn.microsoft.com/en-us/library/bb384887.aspx
849 !IF $(MSC_VER_REQUIRED) >= 1500
850 LOCAL_LDFLAGS= $(LOCAL_LDFLAGS) /DYNAMICBASE /FIXED:no
851 !ENDIF
852
853 PLUGIN_LDFLAGS = /NOLOGO /INCREMENTAL:no $(LOCAL_LDFLAGS) $(DLL_LDFLAGS)
854
855 #
856 # According to http://bugs.wireshark.org/bugzilla/show_bug.cgi?id=403
857 # XCOPY under Windows NT doesn't support the "/Y" flag.  This works
858 # around that bug.
859 # XXX - This apparently doesn't work for some versions of nmake:
860 # http://support.microsoft.com/default.aspx?scid=kb;en-us;86814
861 # It looks like we'll have to call "set copycmd=/y" before we run xcopy.
862 COPYCMD=/y
863
864 #
865 # If you don't want to build libwireshark.dll, you should comment out the
866 # following line. (Note: for plugin support this option must stay activated)
867 ENABLE_LIBWIRESHARK=USE
868
869 #
870 # install (debug) directory for Wireshark (relative to your source dir)
871 INSTALL_DIR=wireshark-gtk2
872
873
874
875 ##### C-Runtime Redistributable #####
876 #
877 # The C-Runtime since Version 7 must be shipped together with
878 # the program installer, to avoid missing msvcr*.dll files on
879 # the target machine.
880 #
881 # The location of these files differ on the various compiler
882 # packages, the following will use the default paths depending
883 # on the package version.
884 #
885 !IF "$(MSVC_VARIANT)" == "MSVC6"
886 # msvcrt.dll will already be available on target machines - nothing additional to install
887
888 !ELSEIF "$(WIRESHARK_TARGET_PLATFORM)" == "win64"
889 # We're not creating portable packages and therefore don't have to worry about
890 # "deploying using xcopy"
891 VCREDIST_EXE=$(WIRESHARK_LIB_DIR)\vcredist_$(TARGET_MACHINE).exe
892
893 !ELSEIF "$(MSVC_VARIANT)" == "MSVC2002"
894 # you probably need to tweak this directory if you don't use the professional edition!
895 MSVCR_DLL=$(PROGRAM_FILES)\Microsoft Visual Studio .NET\Visual Studio .NET Professional - English\msvcr70.dll
896
897 !ELSEIF "$(MSVC_VARIANT)" == "DOTNET10"
898 # no redistributable available for this package!
899
900 !ELSEIF "$(MSVC_VARIANT)" == "MSVC2003"
901 # you probably need to tweak this directory if you don't use the professional edition!
902 MSVCR_DLL=$(PROGRAM_FILES)\Microsoft Visual Studio .NET 2003\Visual Studio .NET Professional 2003 - English\msvcr71.dll
903
904 !ELSEIF "$(MSVC_VARIANT)" == "DOTNET11"
905 # no redistributable available for this package!
906
907 !ELSEIF "$(MSVC_VARIANT)" == "MSVC2005"
908 MSVCR_DLL=$(PROGRAM_FILES)\Microsoft Visual Studio 8\VC\redist\$(PROCESSOR_ARCHITECTURE)\Microsoft.VC80.CRT\*.*
909
910 !ELSEIF "$(MSVC_VARIANT)" == "MSVC2005EE" || "$(MSVC_VARIANT)" == "DOTNET20" || "$(MSVC_VARIANT)" == "MSVC2008EE"
911 # you need to download the redistributable package vcredist_x86.exe from Microsoft first,
912 # and copy it to the lib folder!!!
913 VCREDIST_EXE=$(WIRESHARK_LIB_DIR)\vcredist_$(TARGET_MACHINE).exe
914
915 !ELSEIF "$(MSVC_VARIANT)" == "MSVC2008"
916 MSVCR_DLL=$(PROGRAM_FILES)\Microsoft Visual Studio 9.0\VC\redist\$(PROCESSOR_ARCHITECTURE)\Microsoft.VC90.CRT\*.*
917
918 !ELSEIF "$(MSVC_VARIANT)" == "MSVC2010EE"
919 # you need to download the redistributable package vcredist_x86.exe from Microsoft first,
920 # and copy it to the lib folder!!!
921 VCREDIST_EXE=$(WIRESHARK_LIB_DIR)\vcredist_$(TARGET_MACHINE).exe
922 !ELSEIF "$(MSVC_VARIANT)" == "MSVC2010"
923 MSVCR_DLL=$(PROGRAM_FILES)\Microsoft Visual Studio 10.0\VC\redist\$(TARGET_MACHINE)\Microsoft.VC100.CRT\*.*
924
925 !ELSE
926 !ERROR MSVC_VARIANT unknown
927 !ENDIF
928
929 !IF DEFINED(VCREDIST_EXE) && ! EXIST("$(VCREDIST_EXE)")
930 !ERROR Can't find $(VCREDIST_EXE). Have you downloaded it from Microsoft? \
931 See the developer's guide section "C-Runtime "Redistributable" files" for details how to get it
932 !ENDIF
933
934 ##### Advanced: Docbook/XML documentation generation #####
935 # If you want to generate the Docbook/XML based docs (User's and Developer's
936 # Guide, ...), you'll need some additional tools / libraries compared to the
937 # rest of the build process.
938 #
939 # FOR DETAILED INSTRUCTIONS TO GENERATE THE DOCS, SEE: docbook\README.txt.
940 #
941 # If you don't call the Makefile.nmake in the docbook dir to generate the
942 # docs, the following settings in this section will have no effect.
943
944 # formatting objects processor executable
945 # Comment this out if you don't have fop installed or you don't want the docs
946 # in PDF format.
947 #
948 # You may want to install the FOP hyphenation patterns from
949 # http://offo.sourceforge.net/hyphenation/
950 !IFNDEF FOP
951 FOP=fop-1.0\fop.bat
952 !ENDIF
953
954 # Additional options to fop.
955 FOP_OPTS=-Xmx256m
956
957 # html help compiler
958 # Comment this out if you don't have hhc.exe or you don't want the docs in
959 # .chm format.
960 #
961 # Beware: hhc.exe is NOT part of the MSVC packages in HHC_DIR mentioned above,
962 # so you'll need to install the HTML Help Workshop for this.
963 HHC_EXE="$(HHC_DIR)\hhc.exe"
964
965 # html to text converter for text version of release notes, e.g. elinks.
966 # This could also be "lynx", or "true" if neither elinks nor lynx is installed
967 # (cygwin: lynx works, elinks not available, links and true doesn't produce output)
968 #HTML2TXT=elinks -dump -dump-width 72
969 ##HTML2TXT=links -dump -width 72 ## XXX: Fails: For links -dump requires 'url' (filename) arg.
970 #HTML2TXT=lynx -dump -width=72 -nolist -stdin
971
972 !IFNDEF HTML2TXT
973 HTML2TXT=$(PYTHON) $(TOOLS_DIR)\html2text.py --width=72 --no-links
974 !ENDIF
975
976 # the XSL processor (part of cygwin's libxslt package)
977 XSLTPROC="xsltproc"
978
979 # the XML validator (part of cygwin's libxml2 package)
980 XMLLINT="xmllint"
981
982
983
984 ##############################################################################
985 #
986 # You should not have to change anything below this comment.
987 # If you do, it's a deficiency in the Makefile.nmake files;
988 # either tell wireshark-dev@wireshark.org about it, including
989 # details of why you had to change it, or fix config.nmake
990 # and any Makefile.nmake files that need to be changed, and
991 # send us the patches, along with details of why the change
992 # was necessary.
993 #
994 ##############################################################################
995
996 #
997 # The RC_VERSION should be comma-separated, not dot-separated,
998 # as per Graham Bloice's message in
999 #
1000 #       http://www.ethereal.com/lists/ethereal-dev/200303/msg00283.html
1001 #
1002 # "The RC_VERSION variable in config.nmake should be comma separated.
1003 # This allows the resources to be built correctly and the version
1004 # number to be correctly displayed in the explorer properties dialog
1005 # for the executables, and XP's tooltip, rather than 0.0.0.0."
1006 #
1007
1008 VERSION=$(VERSION_MAJOR).$(VERSION_MINOR).$(VERSION_MICRO)$(VERSION_EXTRA)
1009 RC_VERSION=$(VERSION_MAJOR),$(VERSION_MINOR),$(VERSION_MICRO),$(VERSION_BUILD)
1010 PRODUCT_VERSION=$(VERSION_MAJOR).$(VERSION_MINOR).$(VERSION_MICRO).$(VERSION_BUILD)
1011
1012 WTAP_VERSION=$(WTAP_VERSION_MAJOR).$(WTAP_VERSION_MINOR).$(WTAP_VERSION_MICRO)
1013 RC_WTAP_VERSION=$(WTAP_VERSION_MAJOR),$(WTAP_VERSION_MINOR),$(WTAP_VERSION_MICRO)
1014
1015 # GLib
1016 GLIB_CFLAGS=/I$(GTK_DIR)\include\glib-$(GLIB_VERSION) \
1017         /I$(GTK_DIR)\lib\glib-$(GLIB_VERSION)\include \
1018         -DG_DISABLE_DEPRECATED
1019 GLIB_LIBS=$(GTK_DIR)\lib\glib-$(GLIB_VERSION).lib \
1020         $(GTK_DIR)\lib\gmodule-$(GLIB_VERSION).lib \
1021         $(GTK_DIR)\lib\gobject-$(GLIB_VERSION).lib
1022 GTHREAD_LIBS=$(GTK_DIR)\lib\gthread-$(GLIB_VERSION).lib
1023
1024 # GTK+
1025 GTK_CFLAGS=$(GLIB_CFLAGS) /I$(GTK_DIR)\include\gtk-2.0 \
1026         /I$(GTK_DIR)\include\gdk-pixbuf-2.0 \
1027         /I$(GTK_DIR)\lib\gtk-2.0\include \
1028         /I$(GTK_DIR)\include\atk-1.0 \
1029         /I$(GTK_DIR)\include\cairo \
1030         /I$(GTK_DIR)\include\pango-1.0 \
1031         -DGTK_DISABLE_SINGLE_INCLUDES \
1032         -DGTK_DISABLE_DEPRECATED \
1033         -DGSEAL_ENABLE
1034 GTK_LIBS=$(GTK_DIR)\lib\gtk-win32-2.0.lib \
1035         $(GTK_DIR)\lib\gdk-win32-2.0.lib \
1036         $(GTK_DIR)\lib\gdk_pixbuf-2.0.lib \
1037         $(GTK_DIR)\lib\cairo.lib \
1038         $(GTK_DIR)\lib\pango-1.0.lib \
1039         $(GTK_DIR)\lib\pangocairo-1.0.lib \
1040         $(GLIB_LIBS)
1041
1042 # 2.18 was no good(Theming problem)
1043 !IF "$(GTK_INST_VERSION)" == "2.22" || "$(GTK_INST_VERSION)" == "2.16" || "$(GTK_INST_VERSION)" == "2.14"
1044 GTK_LIB_DIR=2.10.0
1045
1046 !IFDEF PNG_DLL
1047 NEED_LIBPNG_DLL=USE
1048 !ENDIF
1049 !IFDEF JPEG_DLL
1050 NEED_LIBJPEG_DLL=USE
1051 !ENDIF
1052 !IFDEF TIFF_DLL
1053 NEED_LIBTIFF_DLL=USE
1054 !ENDIF
1055 NEED_CAIRO_DLL=USE
1056 # Pango >=1.24.5 Needs these:
1057 NEED_FREETYPE_DLL=USE
1058 NEED_FONTCONFIG_DLL=USE
1059 NEED_EXPAT_DLL=USE
1060
1061 GTK_WIMP_DLLSRC_DIR=$(GTK_DIR)\lib\gtk-2.0\2.10.0\engines
1062 GTK_WIMP_DLLDST_DIR=lib\gtk-2.0\2.10.0\engines
1063 GTK_WIMP_RCSRC_DIR=$(GTK_DIR)\share\themes\MS-Windows\gtk-2.0
1064 GTK_WIMP_RCDST_DIR=etc\gtk-2.0
1065 !ELSE
1066 !ERROR ? Unknown or invalid GTK_INST_VERSION
1067 !ENDIF
1068
1069
1070 !IFDEF AIRPCAP_DIR
1071 AIRPCAP_CONFIG=^#define HAVE_AIRPCAP 1
1072 #AIRPCAP_CFLAGS=/I$(AIRPCAP_DIR)\include
1073 !ELSE
1074 AIRPCAP_CONFIG=
1075 !ENDIF
1076
1077 !IFDEF PCAP_DIR
1078 # Nmake uses carets to escape special characters
1079 WINPCAP_CONFIG=^#define HAVE_LIBPCAP 1
1080 #
1081 # This requires that, if you're *building* Wireshark, you have
1082 # the most recent WinPcap's development package.  If, at *run*
1083 # time, an older version of WinPcap, missing some routines,
1084 # is found, we work around that.
1085 #
1086 PCAP_FINDALLDEVS_CONFIG=^#define HAVE_PCAP_FINDALLDEVS 1
1087 PCAP_DATALINK_NAME_TO_VAL_CONFIG=^#define HAVE_PCAP_DATALINK_NAME_TO_VAL 1
1088 PCAP_DATALINK_VAL_TO_NAME_CONFIG=^#define HAVE_PCAP_DATALINK_VAL_TO_NAME 1
1089 PCAP_DATALINK_VAL_TO_DESCRIPTION_CONFIG=^#define HAVE_PCAP_DATALINK_VAL_TO_DESCRIPTION 1
1090 # PCAP_BREAKLOOP won't have any benefit on Win32, but breaks compatibility with 3.0
1091 PCAP_BREAKLOOP_CONFIG=
1092 PCAP_LIST_DATALINKS_CONFIG=^#define HAVE_PCAP_LIST_DATALINKS 1
1093 PCAP_FREE_DATALINKS_CONFIG=^#define HAVE_PCAP_FREE_DATALINKS 1
1094 PCAP_SET_DATALINK_CONFIG=^#define HAVE_PCAP_SET_DATALINK 1
1095 PCAP_OPEN_DEAD_CONFIG=^#define HAVE_PCAP_OPEN_DEAD 1
1096 BPF_IMAGE_CONFIG=^#define HAVE_BPF_IMAGE 1
1097 !ELSE
1098 # no WpdPack installed
1099 WINPCAP_CONFIG=
1100 PCAP_FINDALLDEVS_CONFIG=
1101 PCAP_DATALINK_NAME_TO_VAL_CONFIG=
1102 PCAP_DATALINK_VAL_TO_NAME_CONFIG=
1103 PCAP_DATALINK_VAL_TO_DESCRIPTION_CONFIG=
1104 PCAP_BREAKLOOP_CONFIG=
1105 PCAP_LIST_DATALINKS_CONFIG=
1106 PCAP_FREE_DATALINKS_CONFIG=
1107 PCAP_SET_DATALINK_CONFIG=
1108 PCAP_OPEN_DEAD_CONFIG=
1109 BPF_IMAGE_CONFIG=
1110 !ENDIF
1111
1112 !IF DEFINED(PCAP_DIR) && DEFINED(PCAP_REMOTE)
1113 PCAP_HAVE_REMOTE_CONFIG=^#define HAVE_REMOTE 1
1114 PCAP_REMOTE_CONFIG=^#define HAVE_PCAP_REMOTE 1
1115 PCAP_OPEN_CONFIG=^#define HAVE_PCAP_OPEN 1
1116 PCAP_SETSAMPLING_CONFIG=^#define HAVE_PCAP_SETSAMPLING 1
1117 !ELSE
1118 PCAP_HAVE_REMOTE_CONFIG=
1119 PCAP_REMOTE_CONFIG=
1120 PCAP_OPEN_CONFIG=
1121 PCAP_SETSAMPLING_CONFIG=
1122 !ENDIF
1123
1124 !IFDEF ZLIB_DIR
1125 ZLIB_PATH=$(ZLIB_DIR)
1126 ZLIB_CFLAGS=/I$(ZLIB_DIR)\include
1127 ZLIB_LIBS=$(ZLIB_DIR)\lib\zdll.lib
1128 ZLIB_DLL=$(ZLIB_DIR)\zlib1.dll
1129 # Nmake uses carets to escape special characters
1130 ZLIB_CONFIG=^#define HAVE_LIBZ 1
1131 !else
1132 ZLIB_CFLAGS=
1133 ZLIB_LIBS=
1134 ZLIB_DLL=
1135 ZLIB_CONFIG=
1136 !ENDIF
1137
1138 !IFDEF C_ARES_PKG
1139 !UNDEF ADNS_DIR
1140 C_ARES_DIR=$(WIRESHARK_LIB_DIR)\c-ares-$(C_ARES_PKG)-$(WIRESHARK_TARGET_PLATFORM)ws
1141 C_ARES_CFLAGS=/I$(C_ARES_DIR)/include
1142 C_ARES_LIBS=$(C_ARES_DIR)\lib\libcares-2.lib
1143 C_ARES_DLL=$(C_ARES_DIR)\bin\libcares-2.dll
1144 # Nmake uses carets to escape special characters
1145 C_ARES_CONFIG=^#define HAVE_C_ARES 1
1146 !else
1147 C_ARES_CFLAGS=
1148 C_ARES_LIBS=
1149 C_ARES_CONFIG=
1150 !IFDEF ADNS_DIR
1151 ADNS_PATH=$(ADNS_DIR)\adns_win32\lib
1152 ADNS_CFLAGS=/I$(ADNS_DIR)\src /I$(ADNS_DIR)\adns_win32
1153 ADNS_LIBS=$(WIRESHARK_LIB_DIR)\$(MSVC_VARIANT)\adns\adns_dll.lib
1154 ADNS_DLL=$(WIRESHARK_LIB_DIR)\$(MSVC_VARIANT)\adns\adns_dll.dll
1155 # Nmake uses carets to escape special characters
1156 ADNS_CONFIG=^#define HAVE_GNU_ADNS 1
1157 !else
1158 ADNS_CFLAGS=
1159 ADNS_LIBS=
1160 ADNS_CONFIG=
1161 !ENDIF # ADNS
1162 !ENDIF # C_ARES
1163
1164 !IFDEF KFW_DIR
1165 KFW_PATH=$(KFW_DIR)\bin
1166 KFW_CFLAGS=/I$(KFW_DIR)\include
1167 KFW_LIBS=$(KFW_DIR)\lib\krb5_32.lib
1168 # Nmake uses carets to escape special characters
1169 KFW_CONFIG=^#define HAVE_MIT_KERBEROS 1
1170 !else
1171 KFW_CFLAGS=
1172 KFW_LIBS=
1173 KFW_CONFIG=
1174 !ENDIF
1175
1176 !IFDEF NETTLE_DIR
1177 NETTLE_CFLAGS=/I$(NETTLE_DIR)
1178 NETTLE_LIBS=$(NETTLE_DIR)\libnettle.lib
1179 # Nmake uses carets to escape special characters
1180 NETTLE_CONFIG=^#define HAVE_LIBNETTLE 1
1181 !else
1182 NETTLE_CFLAGS=
1183 NETTLE_LIBS=
1184 NETTLE_CONFIG=
1185 !ENDIF
1186
1187 !IFDEF GNUTLS_PKG
1188 GNUTLS_DIR=$(WIRESHARK_LIB_DIR)\gnutls-$(GNUTLS_PKG)-$(WIRESHARK_TARGET_PLATFORM)ws
1189 GNUTLS_PATH=$(GNUTLS_DIR)
1190 # /DNOCRYPT avoids inclusion of Wincrypt.h, avoiding a X509_NAME define clash
1191 GNUTLS_CFLAGS=/I$(GNUTLS_DIR)\include /DNOCRYPT /DIMPORT_LIGNUTLSDLL
1192 GCRYPT_LIBS = $(GNUTLS_DIR)\bin\libgcrypt-11.lib
1193 GNUTLS_LIBS=\
1194         $(GNUTLS_DIR)\bin\libtasn1-3.lib        \
1195         $(GNUTLS_DIR)\bin\libgpg-error-0.lib    \
1196         $(GCRYPT_LIBS) \
1197         $(GNUTLS_DIR)\bin\libgnutls-26.lib
1198 # Nmake uses carets to escape special characters
1199 GNUTLS_CONFIG=^#define HAVE_LIBGNUTLS 1
1200 LIBGCRYPT_CONFIG=^#define HAVE_LIBGCRYPT 1
1201 !else
1202 GNUTLS_CFLAGS=
1203 GNUTLS_LIBS=
1204 GNUTLS_CONFIG=
1205 LIBGCRYPT_CONFIG=
1206 !ENDIF
1207
1208 !IFDEF LUA_DIR
1209 LUA_CFLAGS=/I$(LUA_DIR)\include
1210 LUA_LIBS=$(LUA_DIR)\lua5.1.lib
1211 # Nmake uses carets to escape special characters
1212 LUA_CONFIG=^#define HAVE_LUA 1
1213 LUA_VERSION=^#define HAVE_LUA_5_1 1
1214 !else
1215 LUA_CFLAGS=
1216 LUA_LIBS=
1217 LUA_CONFIG=
1218 !ENDIF
1219
1220 !IF DEFINED(PYTHON_EMBED)
1221 PYTHON_CFLAGS=/I$(PYTHON_DIR)\include
1222 PYTHON_LIBS=$(PYTHON_DIR)\libs\python$(PYTHON_VER).lib
1223 # Nmake uses carets to escape special characters
1224 PYTHON_CONFIG=^#define HAVE_PYTHON 1
1225 !else
1226 PYTHON_CFLAGS=
1227 PYTHON_LIBS=
1228 PYTHON_CONFIG=
1229 !ENDIF
1230
1231 !IFDEF PORTAUDIO_DIR
1232 # Nmake uses carets to escape special characters
1233 PORTAUDIO_CONFIG=^#define HAVE_LIBPORTAUDIO 1
1234 !IF "$(PORTAUDIO_VERSION)" == "18"
1235 # V18 uses API version 1 and v19 API version 2
1236 PORTAUDIO_CFLAGS=/I$(PORTAUDIO_DIR)\pa_common
1237 PORTAUDIO_API_CONFIG=^#define PORTAUDIO_API_1 1
1238 !ELSE
1239 PORTAUDIO_CFLAGS=/I$(PORTAUDIO_DIR)\include /I$(PORTAUDIO_DIR)\src\common /I$(PORTAUDIO_DIR)\src\os\win /DPA_NO_DS /DPA_NO_ASIO
1240 !ENDIF
1241 !ELSE
1242 PORTAUDIO_CFLAGS=
1243 PORTAUDIO_CONFIG=
1244 !ENDIF
1245
1246 !IFDEF HHC_DIR
1247 !IF "$(MSVC_VARIANT)" == "MSVC6"
1248 HHC_CFLAGS=/I"$(HHC_DIR)\include" -DHHC_DIR
1249 HHC_LIBS="$(HHC_DIR)\lib\htmlhelp.lib"
1250 !ELSE
1251 HHC_CFLAGS=-DHHC_DIR
1252 HHC_LIBS=htmlhelp.lib
1253 !ENDIF
1254 !ELSE
1255 HHC_CFLAGS=
1256 HHC_LIBS=
1257 !ENDIF
1258
1259 !IFDEF SMI_PKG
1260 SMI_DIR=$(WIRESHARK_LIB_DIR)\libsmi-$(SMI_PKG)-$(WIRESHARK_TARGET_PLATFORM)ws
1261 SMI_CONFIG=^#define HAVE_LIBSMI 1
1262 SMI_CFLAGS=/I$(SMI_DIR)\include
1263 SMI_LIBS=$(SMI_DIR)\lib\libsmi-2.lib
1264 !ELSE
1265 SMI_DIR=
1266 SMI_LIBS=
1267 SMI_CFLAGS=
1268 SMI_CONFIG=
1269 !ENDIF
1270
1271 !IFDEF GEOIP_DIR
1272 GEOIP_CONFIG=^#define HAVE_GEOIP 1
1273 GEOIP_CFLAGS=/I$(GEOIP_DIR)
1274 GEOIP_LIBS=$(GEOIP_DIR)\GeoIP.lib
1275 !ELSE
1276 GeoIP_LIBS=
1277 GeoIP_CFLAGS=
1278 GeoIP_CONFIG=
1279 !ENDIF
1280
1281 !IFDEF ENABLE_LIBWIRESHARK
1282 LIBWIRESHARK_CONFIG=^#define HAVE_LIBWIRESHARKDLL 1
1283 # Link plugins with the import library of libwireshark.dll
1284 LINK_PLUGINS_WITH_LIBWIRESHARK=USE
1285 !ELSE
1286 LIBWIRESHARK_CONFIG=
1287 !ENDIF
1288
1289 # Construct the path
1290 PATH=$(PATH);$(CYGWIN_PATH);$(GTK_DIR)\bin;$(GETTEXT_DIR)\bin;$(ZLIB_PATH);$(ADNS_PATH)
1291
1292 # We can't use a lot of IPv6 code with plain Visual C++ 6.0
1293 !IF "$(MSVC_VARIANT)" == "MSVC6" && !DEFINED(MSSDK)
1294 INET6_CONFIG=
1295 !ELSE
1296 INET6_CONFIG=^#define INET6 1
1297 !ENDIF
1298
1299 !IF "$(MSVC_VARIANT)" == "MSVC6" && !DEFINED(MSSDK)
1300 NTDDNDIS_CONFIG=
1301 !ELSE
1302 NTDDNDIS_CONFIG=^#define HAVE_NTDDNDIS_H 1
1303 !ENDIF