1 <!-- WSDG Chapter Tools -->
3 <chapter id="ChapterTools">
4 <title>Tool Reference</title>
5 <section id="ChToolsIntro">
6 <title>Introduction</title>
7 <para>This chapter will provide you with information about the
8 various tools needed for Wireshark development.</para>
9 <para>None of the tools mentioned in this chapter are needed to
10 run Wireshark; they are only needed to build it.</para>
11 <para>Most of these tools have their roots on UNIX like
12 platforms, but Win32 ports are also available. Therefore the
13 tools are available in different "flavours":
16 <para>UNIX (or Win32 Cygwin): the tools should be commonly
17 available on the supported UNIX platforms, and for Win32
18 platforms by using the Cygwin UNIX emulation</para>
21 <para>Win32 native: some tools are available as native
22 Win32 tools, no special emulation is required</para>
24 </itemizedlist></para>
26 <title>Warning!</title>
28 <command>Unless you know exactly what you are doing, you
29 should strictly follow the recommendations given in</command>
30 <xref linkend="ChapterSetup" />!</para>
32 <para>The following sections give a very brief description of
33 what a particular tool is doing, how it is used in the
34 Wireshark project and how it can be installed and
36 <para>Don't expect a lot of documentation regarding these tools
37 in this document. If you need further documentation of a
38 specific tool, you should find lot's of useful information on
39 the web, as these tools are commonly used. You can also try to
40 get help for the UNIX based tools with
41 <userinput>toolname --help</userinput> or read the manpage
42 <userinput>man toolname</userinput>.</para>
43 <para>You will find explanations of the tool usage for some of
44 the specific development tasks in
45 <xref linkend="ChapterSources" />.</para>
47 <section id="ChToolsCygwin">
48 <title>Win32: Cygwin</title>
49 <para>Cygwin provides a lot of UNIX based tools on the Win32
50 platform. It uses a UNIX emulation layer which might be a bit
51 slower compared to the native Win32 tools, but at an acceptable
52 level. The installation and update is pretty easy and done
53 through a single (web based) setup.exe.</para>
54 <para>The native Win32 tools will typically be a bit faster,
55 but more complicated to install, as you would have to download
56 the tools from different webpages, and install them in
57 different ways, tweaking the PATH and alike.</para>
60 <para>As there's no Win32 native bash version available, at
61 least a basic installation of cygwin is required in any
64 <para>Although Cygwin consists of several separate packages,
65 the installation and update is done through a single setup.exe,
66 which acts similar to other web based installers. All tools
67 will be installed into one base folder, the default is
68 <filename>C:\cygwin</filename>.</para>
69 <para>You will find this network based setup.exe at:
70 <ulink url="http://www.cygwin.com/" />. Click on one of the
71 "Install Cygwin now" appearances to download the
72 <filename>setup.exe</filename>. After the download completed,
74 <filename>setup.exe</filename> on your machine.</para>
75 <para>The setup will ask you for some settings, the defaults
76 should usually work well for a first start. At the "Select
77 Packages" page, you'll need to select some additional packages,
78 which are not installed by default. Navigate to the required
79 Category/Package row and click on the "Skip" item in the "New"
80 column so it shows a version number for the required
82 <para>After clicking the Next button several times, the setup
83 will then download and install the selected packages (this may
84 take a while, depending on the package size).</para>
85 <para>Under: "Start -> Programs -> Cygwin -> Cygwin
86 Bash Shell" you should now be able to start a new Cygwin bash
87 shell, which is similar to the command line
88 (command.com/cmd.exe) in Win32, but much more powerful.</para>
89 <section id="ChToolsCygwinPackages">
90 <title>Add/Update/Remove Cygwin Packages</title>
91 <para>If you want to add additional, update installed or
92 remove packages later, you have to start the setup.exe again.
93 At the "Select Packages" page, the entry in the "New" column
94 will control what is done (or not) with the package. If a new
95 version of a package is available, the new version number
96 will be displayed, so it will be automatically updated. You
97 can change the current setting by simply clicking at it, it
101 <para>a specific version number - this different package
102 version will be installed</para>
105 <para>Skip - not installed, no changes</para>
108 <para>Keep - already installed, no changes</para>
111 <para>Uninstall - uninstall this package</para>
114 <para>Reinstall - reinstall this package</para>
116 </itemizedlist></para>
119 <section id="ChToolsGNUChain">
120 <title>GNU compiler toolchain (UNIX or Win32 Cygwin)</title>
121 <section id="ChToolsGCC">
122 <title>gcc (GNU compiler collection)</title>
124 <title>Win32: Warn!</title>
125 <para>Using Cygwin gcc to compile Wireshark is "EXPERT
126 ONLY" and therefore NOT recommended. If you really want to
128 <ulink url="http://wiki.wireshark.org/Development/CygwinGCC" /> for
131 <para>The GCC C compiler is available for most of the
132 UNIX-like platforms and as the Devel/gcc package from the
133 <link linkend="ChToolsCygwin">Cygwin setup</link>.</para>
134 <para>If GCC isn't already installed or available
135 as a package for your platform, you can get it at:
136 <ulink url="http://gcc.gnu.org/" />.</para>
137 <para>After correct installation, typing at the
138 bash command line prompt:</para>
141 <userinput>gcc --version</userinput>
143 <para>should result in something like:
145 <![CDATA[gcc (GCC) 3.4.4 (cygwin special) (gdc 0.12, using dmd 0.125)
146 Copyright (C) 2004 Free Software Foundation, Inc.
147 This is free software; see the source for copying conditions. There is NO
148 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.]]>
149 </programlisting>However, the version string may vary.</para>
151 <section id="ChToolsGDB">
152 <title>gdb (GNU project debugger)</title>
153 <para>GDB is the debugger for the GCC compiler. It is
154 available for many (if not all) UNIX-like platforms and as
155 the Devel/gdb package from the
156 <link linkend="ChToolsCygwin">Cygwin setup</link></para>
157 <para>If you don't like debugging using the command line,
158 there are some GUI frontends for it available, most notably
160 <para>If gdb isn't already installed or available
161 as a package for your platform, you can get it at:
162 <ulink url="http://www.gnu.org/software/gdb/gdb.html" />.</para>
163 <para>After correct installation:</para>
166 <userinput>gdb --version</userinput>
168 <para>should result in something like:
170 <![CDATA[GNU gdb 6.5.50.20060706-cvs (cygwin-special)
171 Copyright 2003 Free Software Foundation, Inc.
172 GDB is free software, covered by the GNU General Public License, and you are
173 welcome to change it and/or distribute copies of it under certain conditions.
174 Type "show copying" to see the conditions.
175 There is absolutely no warranty for GDB. Type "show warranty" for details.
176 This GDB was configured as "i686-pc-cygwin".]]>
177 </programlisting>However, the version string may vary.</para>
179 <section id="ChToolsDDD">
180 <title>ddd (GNU Data Display Debugger)</title>
181 <para>The GNU Data Display Debugger is a good GUI frontend
182 for GDB (and a lot of other command line debuggers), so you
183 have to install GDB first. It is available for many UNIX-like
184 platforms and as the ddd package from the
185 <link linkend="ChToolsCygwin">Cygwin setup</link>.</para>
186 <para>If GNU DDD isn't already installed or
187 available as a package for your platform, you can get it at:
188 <ulink url="http://www.gnu.org/software/ddd/" />.</para>
190 <section id="ChToolsGNUmake">
191 <title>make (GNU Make)</title>
193 <title>Win32 Note!</title>
194 <para>Although some effort is made to use make from the
195 Cygwin environment, the mainline is still using Microsoft
196 Visual Studio's nmake.</para>
198 <para>GNU Make is available for most of the UNIX-like
199 platforms and also as the Devel/make package from the
200 <link linkend="ChToolsCygwin">Cygwin setup</link>.</para>
201 <para>If GNU Make isn't already installed or
202 available as a package for your platform, you can get it at:
203 <ulink url="http://www.gnu.org/software/make/" />.</para>
204 <para>After correct installation:</para>
207 <userinput>make --version</userinput>
209 <para>should result in something like:
211 <![CDATA[GNU Make 3.81
212 Copyright (C) 2006 Free Software Foundation, Inc.
213 This is free software; see the source for copying conditions.
214 There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
215 PARTICULAR PURPOSE.]]>
216 </programlisting>However, the version string may vary.</para>
219 <section id="ChToolsMSChain">
220 <title>Microsoft compiler toolchain (Win32 native)</title>
221 <para>To compile Wireshark on Windows using the Microsoft C/C++
222 compiler, you'll need:</para>
225 <para>C compiler (cl.exe)</para>
228 <para>Linker (link.exe)</para>
231 <para>Make (nmake.exe)</para>
234 <para>C runtime headers and libraries (e.g. stdio.h,
238 <para>Windows platform headers and libraries (e.g.
239 windows.h, WSock32.lib)</para>
242 <para>HTML help headers and libraries (htmlhelp.h,
247 <title>Toolchain Package Alternatives</title>
248 <para>The official Wireshark 1.0.x releases are compiled using Microsoft
249 Visual C++ 6.0. The 1.1.x development releases are compiled using
250 Microsoft Visual C++ 2008 SP1. Using the release compilers is recommended
251 for Wireshark development work. Visual C++ 2008 Express Edition SP1 may
252 be used for the development branch, but it cannot create PortableApps
253 or U3 packages.</para>
254 <para>However, you might already have a different Microsoft C
255 compiler installed. With the considerations listed below, it should
256 be possible to use it as well:</para>
258 <informaltable frame="all">
260 <colspec colname="c1" colwidth="14*" />
261 <colspec colname="c2" colwidth="14*" />
262 <colspec colname="c3" colwidth="14*" />
263 <colspec colname="c4" colwidth="14*" />
264 <colspec colname="c5" colwidth="14*" />
265 <colspec colname="c6" colwidth="14*" />
266 <colspec colname="c7" colwidth="14*" />
270 <para>Compiler Package</para>
274 <para>Debugger?</para>
277 <para>Publicly</para>
278 <para>available?</para>
281 <para>Platform SDK</para>
282 <para>required?</para>
285 <para>config.nmake:</para>
286 <para>MSVC_VARIANT</para>
289 <para>set compiler PATH and alike settings
298 <para>Visual Studio 6.0</para>
305 <superscript>1</superscript></para>
307 <entry align="center" morerows="3" valign="middle">
309 <superscript>2</superscript></para>
315 <para>Microsoft Visual
316 Studio\VC98\Bin\vcvars32.bat</para>
324 <para>Visual Studio .NET (2002)</para>
331 <superscript>1</superscript></para>
334 <para>MSVC2002</para>
337 <para>Microsoft Visual Studio
338 .NET\Vc7\bin\vcvars32.bat</para>
346 <para>Visual Studio .NET 2003</para>
353 <superscript>1</superscript></para>
356 <para>MSVC2003</para>
359 <para>Microsoft Visual Studio .NET
360 2003\Vc7\bin\vcvars32.bat</para>
368 <para>Visual Studio 2005</para>
374 <para>Commercial</para>
377 <para>MSVC2005</para>
380 <para>Microsoft Visual Studio
381 8\VC\bin\vcvars32.bat</para>
389 <para>Visual C++ 2005 Express Edition</para>
390 <para>(recommended)</para>
397 <ulink url="http://www.microsoft.com/express/2005/download/default.aspx">
398 Free Download</ulink>(474MB)</para>
402 <ulink url="#">Free Download</ulink>
407 <para>MSVC2005EE</para>
410 <para>Microsoft Visual Studio
411 8\VC\bin\vcvars32.bat</para>
414 <para>vcredist_x86.exe
415 <superscript>3</superscript></para>
420 <para>Visual Studio 2008</para>
426 <para>Commercial</para>
430 <superscript>2</superscript></para>
434 <para>MSVC2008</para>
437 <para>Microsoft Visual Studio
438 9.0\VC\bin\vcvars32.bat</para>
446 <para>Visual C++ 2008 Express Edition</para>
453 <ulink url="http://www.microsoft.com/express/vc/">
454 Free Download</ulink></para>
458 <superscript>2</superscript></para>
461 <para>MSVC2008EE</para>
464 <para>Microsoft Visual Studio
465 9.0\VC\bin\vcvars32.bat</para>
468 <para>vcredist_x86.exe
469 <superscript>3</superscript></para>
474 <para>.NET Framework SDK version 1.0a</para>
481 <ulink url="#">Free Download</ulink>(104MB)</para>
483 <entry align="center" morerows="2" valign="middle">
485 <ulink url="#">Free Download</ulink>
490 <para>DOTNET10</para>
494 Microsoft.NET\FrameworkSDK\Bin\corvars.bat</para>
497 <para>can't build setup
498 <superscript>4</superscript></para>
503 <para>.NET Framework SDK Version 1.1
504 <superscript>5</superscript></para>
511 <ulink url="#">Free Download</ulink>(106MB)</para>
514 <para>DOTNET11</para>
517 <para>Microsoft.NET\SDK\v1.1\Bin\sdkvars.bat</para>
520 <para>can't build setup
521 <superscript>4</superscript></para>
526 <para>.NET Framework 2.0 SDK
527 <superscript>5</superscript></para>
534 <ulink url="#">Free Download</ulink>(363MB)</para>
537 <para>DOTNET20</para>
540 <para>Microsoft.NET\SDK\v2.0\Bin\sdkvars.bat</para>
543 <para>vcredist_x86.exe
544 <superscript>3</superscript></para>
549 <para>Windows SDK for Windows Vista and</para>
550 <para>.NET Framework 3.0 Runtime Components</para>
557 <ulink url="#">Free Download</ulink>(1188MB)</para>
561 <superscript>2</superscript></para>
565 <para>(not yet implemented!)</para>
569 SDKs\Windows\v6.0\Bin\SetEnv.Cmd</para>
572 <para>vcredist_x86.exe
573 <superscript>3</superscript></para>
580 <superscript>1</superscript>no longer officially available,
581 might still be available through the MSDN
584 <superscript>2</superscript>as the Platform SDK is already
585 integrated in the package, you obviously don't need to
586 install it and don't even need to call a separate environment
587 setting batch file for the Platform SDK!</para>
589 <superscript>3</superscript>vcredist_x86.exe (3MB free
590 download) is required to build Wireshark-setup.exe. The
591 version of vcredist_x86.exe MUST match the version for
592 your compiler.</para>
594 <superscript>4</superscript>Wireshark-setup.exe cannot be
595 created with this package, as msvcr*.dll is not available or
596 not redistributable!</para>
598 <superscript>5</superscript>MSDN remarks that the
599 corresponding .NET runtime is required. It's currently
600 unclear if the runtime needs to be installed for the C
601 compiler to work - or is this only needed to compile / run
602 .NET programs?!?</para>
604 <superscript>6</superscript>beta version, not suitable for
605 production use!</para>
608 <para>The "Visual C++ Toolkit 2003" should NOT be used to
609 compile Wireshark!</para>
613 <title>Legal issues with MSVC > V6?</title>
614 <para>Please note: The following is not legal advice - ask
615 your preferred lawyer instead! It's the authors view, but
616 this view might be wrong!</para>
617 <para>The myriad of 
618 <ulink url="http://anonsvn.wireshark.org/wireshark-win32-libs/tags/">
619 Win32 support lib</ulink> port projects all seem to believe
620 there are legal issues involved in using newer versions of
621 Visual Studio. This FUD essentially stems from two
622 misconceptions:</para>
626 <para>Unfortunately, it is believed by many that the
627 Microsoft Visual Studio 2003 EULA explicitly forbids
628 linking with GPL'ed programs. This belief is probably due
629 to an improper interpretation of the 
630 <ulink url="http://msdn.microsoft.com/visualc/vctoolkit2003/eula.aspx">
631 Visual Studio 2003 Toolkit EULA</ulink>, which places
632 redistribution restrictions only on SOURCE CODE SAMPLES
633 which accompany the toolkit.</para>
636 <para>Other maintainers believe that the GPL itself
637 forbids using Visual Studio 2003, since one of the
638 required support libraries (MSVCR71.DLL) does not ship
639 with the Windows operating system. This is also a
640 wrongful interpretation, and the 
641 <ulink url="http://www.gnu.org/licenses/gpl-faq.xml#WindowsRuntimeAndGPL">
642 GPL FAQ</ulink> explicitly addresses this issue.</para>
644 </orderedlist>Similar applies to Visual Studio 2005 and
646 <para>So in effect it should be perfectly legal to compile
647 Wireshark and distribute / run it if it was compiled with any
648 MSVC version > V6!</para>
651 <title>cl.exe (C Compiler)</title>
652 <para>The following table gives an overview of the possible
653 Microsoft toolchain variants and their specific C compiler
654 versions "ordered by release date":</para>
655 <informaltable frame="all">
657 <colspec colname="c1" colwidth="25*" />
658 <colspec colname="c2" colwidth="25*" />
659 <colspec colname="c3" colwidth="25*" />
660 <colspec colname="c4" colwidth="25*" />
664 <para>Compiler Package</para>
670 <para>#define _MSC_VER</para>
673 <para>required C-Runtime DLL</para>
678 <para>Visual Studio 6.0</para>
680 <entry align="center">
683 <entry align="center">
686 <entry align="center">
687 <para>msvcrt.dll</para>
688 <para>(Version 6)</para>
693 <para>Visual Studio .NET (2002)</para>
695 <entry align="center" morerows="1" valign="middle">
698 <entry align="center" morerows="1" valign="middle">
701 <entry align="center" morerows="1" valign="middle">
702 <para>msvcr70.dll</para>
707 <para>.NET Framework SDK version 1.0a</para>
712 <para>Visual Studio .NET 2003</para>
714 <entry align="center" morerows="1" valign="middle">
717 <entry align="center" morerows="1" valign="middle">
720 <entry align="center" morerows="1" valign="middle">
721 <para>msvcr71.dll</para>
726 <para>.NET Framework SDK Version 1.1</para>
731 <para>Visual Studio 2005</para>
733 <entry align="center" morerows="3" valign="middle">
736 <entry align="center" morerows="3" valign="middle">
739 <entry align="center" morerows="3" valign="middle">
740 <para>msvcr80.dll</para>
745 <para>Visual C++ 2005 Express Edition</para>
750 <para>.NET Framework 2.0 SDK</para>
755 <para>Windows SDK for Windows Vista and</para>
756 <para>.NET Framework 3.0 Runtime Components</para>
761 <para>Visual Studio 2008</para>
762 <para>(Code Name "Orcas")</para>
764 <entry align="center" morerows="2" valign="middle">
767 <entry align="center" morerows="2" valign="middle">
770 <entry align="center" morerows="2" valign="middle">
771 <para>msvcr90.dll</para>
776 <para>Visual Studio 2008 Express Edition</para>
777 <para>(Code Name "Orcas")</para>
783 <para>After correct installation of the toolchain, typing
784 at the command line prompt (cmd.exe):</para>
786 <prompt>></prompt>
787 <userinput>cl</userinput>
789 <para>should result in something like:
791 <![CDATA[Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 12.00.8804 for 80x86
792 Copyright (C) Microsoft Corp 1984-1998. All rights reserved.
794 usage: cl [ option... ] filename... [ /link linkoption... ]]>
795 </programlisting>However, the version string may vary.</para>
797 <section id="ChToolsNMake">
798 <title>nmake.exe (Make)</title>
799 <para>nmake is part of the toolchain packages described
801 <para>Instead of using the workspace (.dsw) and projects
802 (.dsp) files, the traditional nmake makefiles are used. This
803 has one main reason: it makes it much easier to maintain
804 changes simultaneously with the GCC toolchain makefile.am files
805 as both file formats are similar. However, as no Visual
806 Studio workspace/project files are available, this makes it
807 hard to use the Visual Studio IDE e.g. for using the
808 integrated debugging feature.</para>
809 <para>After correct installation, typing at the command
810 line prompt (cmd.exe):</para>
812 <prompt>></prompt>
813 <userinput>nmake</userinput>
815 <para>should result in something like:
817 <![CDATA[Microsoft (R) Program Maintenance Utility Version 6.00.9782.0
818 Copyright (C) Microsoft Corp 1988-1998. All rights reserved.
820 NMAKE : fatal error U1064: MAKEFILE not found and no target specified
822 </programlisting>However, the version string may vary.</para>
823 <para>Documentation on nmake can be found at
824 <ulink url="http://msdn2.microsoft.com/en-us/library/dd9y37ha(VS.71).aspx">
825 Microsoft MSDN</ulink></para>
828 <title>link.exe (Linker)</title>
829 <para>XXX - add info here</para>
832 <title>C-Runtime "Redistributable" files</title>
833 <para>Please note: The following is not legal advice - ask
834 your preferred lawyer instead! It's the authors view, but
835 this view might be wrong!</para>
836 <para>Depending on the Microsoft compiler version you use,
837 some binary files coming from Microsoft might
838 be required to be installed on Windows machine to run
839 Wireshark. On a developer machine, the compiler setup
840 installs these files so they are available - but they might
841 not be available on a user machine!</para>
842 <para>This is especially true for the C runtime DLL
843 (msvcr*.dll), which contains the implementation of ANSI and
844 alike functions, e.g.: fopen(), malloc(). The DLL is named
845 like: msvcr<version>.dll, an abbreviation for
846 "MicroSoft Visual C Runtime". For Wireshark to work, this DLL
847 must be available on the users machine.</para>
848 <para>MSVC6 was using msvcrt.dll, which is already available
849 on all recent windows systems - no need to redistribute
850 anything. Starting with MSVC7, it is necessary to ship the C
851 runtime DLL (msvcr<version>.dll) together with the
852 application installer somehow, as that DLL is possibly not
853 available on the target system.</para>
856 <para>The files to redistribute must be mentioned in the
857 redist.txt file of the compiler package - otherwise it
858 can't be legally redistributed by third parties like
861 <para>The following MSDN links are recommended for the
862 interested reader:</para>
867 <ulink url="http://msdn2.microsoft.com/en-us/library/ms235299(VS.80).aspx">
868 "Redistributing Visual C++ Files"</ulink>
873 <ulink url="http://msdn2.microsoft.com/en-us/library/ms235291(VS.80).aspx">
874 "How to: Deploy using XCopy"</ulink>
879 <ulink url="http://support.microsoft.com/?scid=kb%3Ben-us%3B326922&x=10&y=13">
880 "Redistribution of the shared C runtime component
881 in Visual C++ 2005 and in Visual C++ .NET"</ulink>
887 <title>msvcrt.dll - Version 6.0</title>
888 <para>Redistributables weren't an issue with MSVC 6, as any
889 realistic installer target system (>= Win95) already
890 contains the corresponding msvcrt.dll.</para>
893 <title>msvcr70.dll - Version 7.0 (2002)</title>
894 <para>"Visual Studio .NET (2002)" - comes with this dll and
895 it's mentioned in redist.txt.</para>
896 <para>".NET Framework SDK 1.0" doesn't even come with this
897 dll. XXX - Is this file available with the .NET 1.0
898 runtime (dotnetfx.exe) - so it could be shipped instead?!?
899 Do we want it that way?</para>
902 <title>msvcr71.dll - Version 7.1 (2003)</title>
903 <para>"Visual Studio .NET 2003" comes with this dll
904 and it's mentioned in redist.txt.</para>
905 <para>".NET Framework SDK 1.1" comes with this dll, but
906 it's NOT mentioned in redist.txt. XXX - Is this file
907 available with the .NET 1.1 runtime
908 (dotnetfx.exe) - so it could be shipped instead ?!? Do we
909 want it that way?</para>
912 <title>msvcr80.dll / vcredist_x86.exe - Version 8.0
914 <para>There are three redistribution methods that MSDN
915 mentions for MSVC 8 (see: "
916 <ulink url="http://msdn2.microsoft.com/en-us/library/ms235316%28VS.80%29.aspx">
917 Choosing a Deployment Method</ulink>"):</para>
921 <para>"Redistributable Merge Modules" (kind of loadable
922 modules for building msi installers - not suitable for
923 Wireshark's NSIS based installer)</para>
926 <para>copy the folder content of Microsoft.VC80.CRT to
927 the target directory (e.g. "C:\program
928 files\Wireshark")</para>
931 <para>vcredist_x86.exe (needs to be executed on the
932 target machine - MSDN recommends this for the 2005
933 Express Editions)</para>
935 </orderedlist>To save installer size, MSVC2005 uses the
936 content of Microsoft.VC80.CRT (method 2 - this is the
937 smallest package). As MSVC2005EE and DOTNET20 doesn't
938 provide the folder "Microsoft.VC80.CRT" they use method 3.
939 You'll have to download a vcredist_x86.exe from Microsoft
940 that matches your compiler version. The best way to
941 determine this version is to open one of the generated
942 manifest files (e.g. wireshark.exe.manifest) and look for
943 the version of the Microsoft.VC80.CRT entry.</para>
948 <command>8.0.50608.0</command>, from: "Microsoft
949 Visual C++ 2005" (and probably the Express Edition as
951 <ulink url="http://www.microsoft.com/downloads/details.aspx?FamilyId=32BC1BEE-A3F9-4C13-9C99-220B62A191EE" /></para>
955 <command>8.0.50727.762</command>, from: "Microsoft
956 Visual C++ 2005 Express Edition - ENU Service Pack 1
958 <ulink url="http://www.microsoft.com/downloads/details.aspx?familyid=200B2FD9-AE1A-4A14-984D-389C36F85647" /></para>
962 <para>Please report to the developer mailing list, if you
963 find a different version number!</para>
966 <title>msvcr90.dll / vcredist_x86.exe - Version 9.0 (2008)</title>
971 <command>9.0.21022.8</command>, from: "Microsoft Visual C++
972 2008 Redistributable Package (x86)":
973 <ulink url="http://www.microsoft.com/downloads/details.aspx?FamilyID=9B2DA534-3E03-4391-8A4D-074B9F2BC1BF" /></para>
977 <command>9.0.30729.1</command>, from: "Microsoft Visual C++
978 2008 SP1 Redistributable Package (x86)":
979 <ulink url="http://www.microsoft.com/downloads/details.aspx?FamilyID=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2" /></para>
983 <para>Please report to the developer mailing list, if you
984 find a different version number!</para>
987 <title>Version 10.0 (2010)?</title>
988 <para>As the corresponding C compiler is preliminary, it's
989 too early to say!</para>
993 <title>Windows (Platform) SDK</title>
994 <para>The Windows Platform SDK (PSDK) is a free (as in
995 beer) download and contains platform specific headers and
996 libraries (e.g. windows.h, WSock32.lib, ...). As new Windows
997 features evolve in time, updated PSDK's become available that
998 include new and updated API's.</para>
999 <para>When you purchase a commercial Visual Studio, it will
1000 include a PSDK. The free (as in beer) downloadable C compiler
1001 versions (VC++ 2005 Express, .NET Framework, ...) do not
1002 contain a PSDK - you'll need to download a PSDK in order to
1003 have the required C header files and libraries.</para>
1004 <para>Older Versions of the Platform SDK should also work.
1005 However, the command to set the environment settings will be
1006 different, try search for SetEnv.* in the SDK
1008 <para>BTW: "Windows SDK" seems to be the new name of the
1009 Platform SDK for Vista. The current SDK name is misleading:
1010 "Microsoft® Windows® Software Development Kit for
1011 Windows Vista™ and .NET Framework 3.0 Runtime
1012 Components" - translated this means: the Windows SDK for
1013 Windows Vista and Platforms (like WinXP) that have the .NET
1014 3.0 runtime installed.</para>
1017 <title>HTML Help</title>
1018 <para>The HTML Help is used to create the User's and
1019 Developer's Guide in .chm format and to show the User's Guide
1020 as the Wireshark "Online Help".</para>
1021 <para>Both features are currently optional, but might be
1022 mandatory in future versions.</para>
1024 <title>HTML Help Compiler (hhc.exe)</title>
1025 <para>This compiler is used to generate a .chm file
1026 from a bunch of HTML files - in our case to generate
1027 the User's and Developer's Guide in .chm format.</para>
1028 <para>The compiler is only available as the free (as in
1029 beer) "HTML Help Workshop" download. If you want to compile
1030 the guides yourself, you need to download and install this.
1031 If you don't install it into the default directory, you may
1032 also have a look at the HHC_DIR setting in the file
1033 docbook/Makefile.</para>
1036 <title>HTML Help Build Files (htmlhelp.c /
1037 htmlhelp.lib)</title>
1038 <para>The files htmlhelp.c and htmlhelp.lib are required to
1039 be able to open .chm files from Wireshark - to show the
1040 "online help".</para>
1041 <para>Both files are part of the Platform SDK (standalone
1042 PSDK or MSVC since 2002). If you still use MSVC 6, you
1043 can get them from the "HTML Help Workshop" mentioned
1045 <para>The related settings in config.nmake depend on the
1046 MSVC variant you use:</para>
1050 <para>MSVC 6: if the "HTML Help Workshop" is
1051 installed, set HHC_DIR to its directory</para>
1054 <para>> MSVC 6: set HHC_DIR to use it (the actual
1055 value doesn't matter in this case)</para>
1061 <section id="ChToolsDebugger">
1062 <title>Debugger</title>
1063 <para>Well, using a good debugger can save you a lot of
1064 development time.</para>
1065 <para>The debugger you use must match the C compiler
1066 Wireshark was compiled with, otherwise the debugger will
1067 simply fail or you will only see a lot of garbage.</para>
1068 <section id="ChToolsMSVCDebugger">
1069 <title>Visual Studio integrated debugger</title>
1070 <para>You can use the integrated debugger of Visual Studio
1071 - only available in some of the toolchain packages.</para>
1072 <para>However, setting up the environment is a bit tricky,
1073 as the Win32 build process is using makefiles instead of
1074 the .dsp/.dsw files usually used.</para>
1075 <para>XXX - add instructions how to do it.</para>
1077 <section id="ChToolsMSDebuggingTools">
1078 <title>Debugging Tools for Windows</title>
1079 <para>You could also use the Microsoft Debugging Tools for Windows toolkit,
1080 which is a standalone GUI debugger. Although it's not that
1081 comfortable compared to debugging with the Visual Studio
1082 integrated debugger, it can be helpful if you have to debug
1083 on a machine where an integrated debugger is not
1085 <para>You can get it free of charge at:
1086 <ulink url="http://www.microsoft.com/whdc/devtools/debugging/default.mspx" /> (as
1087 links to Microsoft pages change from time to time, search
1088 for "Debugging Tools" at their page if this link should be
1093 <section id="ChToolsBash">
1095 <para>The bash shell is needed to run several shell
1097 <section id="ChToolsGNUBash">
1098 <title>UNIX or Win32 Cygwin: GNU bash</title>
1099 <para>The bash shell is available for most of the UNIX-like
1100 platforms and as the bash package from the
1101 <link linkend="ChToolsCygwin">Cygwin setup</link>.</para>
1102 <para>If bash isn't already installed or
1103 available as a package for your platform, you can get it at:
1104 <ulink url="http://www.gnu.org/software/bash/bash.html" />.</para>
1105 <para>After correct installation, typing at the bash command line prompt:</para>
1108 <userinput>bash --version</userinput>
1110 <para>should result in something like:
1112 <![CDATA[GNU bash, version 3.1.17(6)-release (i686-pc-cygwin)
1113 Copyright (C) 2005 Free Software Foundation, Inc.]]>
1114 </programlisting>However, the version string may vary.</para>
1116 <section id="ChToolsWin32Bash">
1117 <title>Win32 native: -</title>
1118 <para>The authors don't know of any working Win32 native bash
1119 implementation.</para>
1122 <section id="ChToolsPython">
1123 <title>python</title>
1124 <para>Python is an interpreter based programming language. The
1125 homepage of the python project is:
1126 <ulink url="http://python.org/" />. Python is used to generate
1127 some source files. Python 2.4 to 2.6 should work fine.
1129 <section id="ChToolsUnixPython">
1130 <title>UNIX or Win32 Cygwin: python</title>
1131 <para>Python is available for most of the UNIX-like platforms
1132 and as the python package from the
1133 <link linkend="ChToolsCygwin">Cygwin setup</link></para>
1134 <para>If Python isn't already installed or
1135 available as a package for your platform, you can get it at:
1136 <ulink url="http://www.python.org/" />.</para>
1137 <para>After correct installation, typing at the
1138 bash command line prompt:</para>
1140 <userinput>$ python -V</userinput>
1142 <para>should result in something like:</para>
1144 <computeroutput>Python 2.4.3</computeroutput>
1146 <para>However, the version string may vary.</para>
1148 <section id="ChToolsWin32Python">
1149 <title>Win32 native: python</title>
1150 <para>Get Python 2.6, 2.5, or 2.4 from
1151 <ulink url="http://python.org/download/" />.
1152 You can download an installation package there, which
1153 will install the Python system in the top level of your
1154 <filename>C:</filename> drive by default, e.g.
1155 <filename>C:\Python26</filename>.</para>
1156 <para>You can check for a successful installation from a command prompt (cmd.exe):</para>
1158 <prompt>C:\></prompt>
1159 <userinput>cd python26</userinput>
1162 <prompt>C:\Python26></prompt>
1163 <userinput>python -V</userinput>
1165 <para>The output should look something like:
1167 <![CDATA[Python 2.6]]>
1168 </programlisting>However, the version string may vary.</para>
1171 <section id="ChToolsPerl">
1173 <para>Perl is an interpreter based programming language. The
1174 homepage of the perl project is:
1175 <ulink url="http://www.perl.com" />. Perl is used to convert
1176 various text files into usable source code. Perl version 5.6
1177 and above should be working fine.</para>
1178 <section id="ChToolsUnixPerl">
1179 <title>UNIX or Win32 Cygwin: perl</title>
1180 <para>Perl is available for most of the UNIX-like platforms
1181 and as the perl package from the
1182 <link linkend="ChToolsCygwin">Cygwin setup</link>.</para>
1183 <para>If perl isn't already installed or available
1184 as a package for your platform, you can get it at:
1185 <ulink url="http://www.perl.com/" />.</para>
1186 <para>After correct installation, typing at the
1187 bash command line prompt:</para>
1190 <userinput>perl --version</userinput>
1192 <para>should result in something like:
1194 <![CDATA[This is perl, v5.8.7 built for cygwin-thread-multi-64int
1195 (with 1 registered patch, see perl -V for more detail)
1197 Copyright 1987-2005, Larry Wall
1199 Perl may be copied only under the terms of either the Artistic License or the
1200 GNU General Public License, which may be found in the Perl 5 source kit.
1202 Complete documentation for Perl, including FAQ lists, should be found on
1203 this system using `man perl' or `perldoc perl'. If you have access to the
1204 Internet, point your browser at http://www.perl.com/, the Perl Home Page.]]>
1205 </programlisting>However, the version string may vary.</para>
1207 <section id="ChToolsWin32Perl">
1208 <title>Win32 native: perl</title>
1209 <para>A native Win32 perl package can be obtained from
1210 <ulink url="http://www.ActiveState.com" />. The installation
1211 should be straightforward.</para>
1212 <para>After correct installation, typing at the command
1213 line prompt (cmd.exe):</para>
1215 <prompt>></prompt>
1216 <userinput>perl -v</userinput>
1218 <para>should result in something like:
1220 <![CDATA[This is perl, v5.8.0 built for MSWin32-x86-multi-thread
1221 (with 1 registered patch, see perl -V for more detail)
1223 Copyright 1987-2002, Larry Wall
1225 Binary build 805 provided by ActiveState Corp. http://www.ActiveState.com
1226 Built 18:08:02 Feb 4 2003
1229 </programlisting>However, the version string may vary.</para>
1232 <section id="ChToolsSed">
1234 <para>Sed it the streaming editor. It makes it easy for example
1235 to replace specially marked texts inside a source code file.
1236 The Wireshark build process uses this to stamp version strings
1237 into various places.</para>
1238 <section id="ChToolsUnixSed">
1239 <title>UNIX or Win32 Cygwin: sed</title>
1240 <para>Sed is available for most of the UNIX-like platforms
1241 and as the sed package from the
1242 <link linkend="ChToolsCygwin">Cygwin setup</link>.</para>
1243 <para>If sed isn't already installed or available
1244 as a package for your platform, you can get it at:
1245 <ulink url="http://directory.fsf.org/GNU/sed.html" /></para>
1246 <para>After correct installation, typing at the
1247 bash command line prompt:</para>
1250 <userinput>sed --version</userinput>
1252 <para>should result in something like:
1254 <![CDATA[GNU sed version 4.1.5
1255 Copyright (C) 2003 Free Software Foundation, Inc.
1256 This is free software; see the source for copying conditions. There is NO
1257 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE,
1258 to the extent permitted by law.]]>
1259 </programlisting>However, the version string may vary.</para>
1261 <section id="ChToolsWin32Sed">
1262 <title>Win32 native: sed</title>
1263 <para>A native Win32 sed package can be obtained from
1264 <ulink url="http://gnuwin32.sourceforge.net/" />. The
1265 installation should be straightforward.</para>
1268 <section id="ChToolsYacc">
1269 <title>yacc (bison)</title>
1270 <para>Bison is a free implementation of yacc.</para>
1271 <section id="ChToolsUnixYacc">
1272 <title>UNIX or Win32 Cygwin: bison</title>
1273 <para>Bison is available for most of the UNIX-like platforms
1274 and as the bison package from the
1275 <link linkend="ChToolsCygwin">Cygwin setup</link>.</para>
1276 <para>If GNU Bison isn't already installed or
1277 available as a package for your platform, you can get it at:
1278 <ulink url="http://www.gnu.org/software/bison/bison.html" />.</para>
1279 <para>After correct installation, typing at the
1280 bash command line prompt:</para>
1283 <userinput>bison --version</userinput>
1285 <para>should result in something like:
1287 <![CDATA[bison (GNU Bison) 2.3
1288 Written by Robert Corbett and Richard Stallman.
1290 Copyright (C) 2006 Free Software Foundation, Inc.
1291 This is free software; see the source for copying conditions. There is NO
1292 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.]]>
1293 </programlisting>However, the version string may vary.</para>
1295 <section id="ChToolsWin32Yacc">
1296 <title>Win32 native: bison</title>
1297 <para>A native Win32 yacc/bison package can be obtained from
1298 <ulink url="http://gnuwin32.sourceforge.net/" />. The
1299 installation should be straightforward.</para>
1302 <section id="ChToolsLexx">
1304 <para>Flex is a free implementation of lexx.</para>
1305 <section id="ChToolsUnixLexx">
1306 <title>UNIX or Win32 Cygwin: flex</title>
1307 <para>Flex is available for most of the UNIX-like platforms
1308 and as the flex package from the
1309 <link linkend="ChToolsCygwin">Cygwin setup</link>.</para>
1310 <para>If GNU flex isn't already installed or
1311 available as a package for your platform, you can get it at:
1312 <ulink url="http://www.gnu.org/software/flex/" />.</para>
1313 <para>After correct installation, typing at the
1314 bash command line prompt:</para>
1317 <userinput>flex --version</userinput>
1319 <para>should result in something like:
1321 <![CDATA[flex version 2.5.4]]>
1322 </programlisting>However, the version string may vary.</para>
1324 <section id="ChToolsWin32Lexx">
1325 <title>Win32 native: flex</title>
1326 <para>A native Win32 lexx/flex package can be obtained from
1327 <ulink url="http://gnuwin32.sourceforge.net/" />. The
1328 installation should be straightforward.</para>
1331 <section id="ChToolsSubversion">
1332 <title>Subversion (SVN) client (optional)</title>
1333 <para>The Wireshark project uses its own Subversion (or short
1334 SVN) server to keep track of all the changes done to the source
1335 code. Details about the usage of Subversion in the Wireshark
1336 project can be found in
1337 <xref linkend="ChSrcSVNServer" />.</para>
1338 <para>If you want to work with the source code and are planning to
1339 commit your changes back to the Wireshark community, it is
1340 recommended to use a SVN client to get the latest source files.
1341 For detailed information about the different ways to obtain the
1342 Wireshark sources, see
1343 <xref linkend="ChSrcObtain" />.</para>
1344 <para>You will find more instructions in
1345 <xref linkend="ChSrcAnon" /> on how to use the Subversion
1347 <section id="ChToolsUnixSVN">
1348 <title>UNIX or Win32 Cygwin: svn</title>
1349 <para>SVN is available for most of the UNIX-like platforms
1350 and as the Subversion package from the
1351 <link linkend="ChToolsCygwin">Cygwin setup</link></para>
1352 <para>If Subversion isn't already installed or
1353 available as a package for your platform, you can get it at:
1354 <ulink url="http://subversion.tigris.org/" /> (together with
1355 the server software).</para>
1356 <para>After correct installation, typing at the
1357 bash command line prompt:</para>
1360 <userinput>svn --version</userinput>
1362 <para>should result in something like:
1364 <![CDATA[svn, version 1.0.5 (r9954)
1365 compiled Jun 20 2004, 23:28:30
1367 Copyright (C) 2000-2004 CollabNet.
1368 Subversion is open source software, see http://subversion.tigris.org/
1369 This product includes software developed by CollabNet (http://www.Collab.Net/).
1372 </programlisting>However, the version string may vary.</para>
1374 <section id="ChToolsWin32SVN">
1375 <title>Win32 native: svn</title>
1376 <para>The Subversion command line tools for Win32 can be
1378 <ulink url="http://subversion.tigris.org/" />. This will come
1379 with both client and server software - only the client
1380 software will be used.</para>
1381 <para>After correct installation, typing at the command
1382 line prompt (cmd.exe):</para>
1384 <prompt>></prompt>
1385 <userinput>svn --version</userinput>
1387 <para>should result in something like:
1389 <![CDATA[svn, Version 1.4.0 (r21228)
1391 Copyright (C) 2000-2006 CollabNet.
1393 </programlisting>However, the version string may vary.</para>
1396 <section id="ChToolsSubversionGUI">
1397 <title>Subversion (SVN) GUI client (optional)</title>
1398 <para>Along with the traditional command-line client, several
1399 GUI clients are available for a number of platforms, see
1400 <ulink url="http://subversion.tigris.org/project_links.html" />.</para>
1402 <title>Keep Subversion program versions in sync!</title>
1403 <para>If you are working with both command line and GUI
1404 clients, keep the Subversion program versions in sync, at
1405 least the major/minor versions (e.g. 1.4).</para>
1407 <section id="ChToolsUnixSVNGUI">
1408 <title>UNIX or Win32 Cygwin: rapidSVN, subcommander</title>
1409 <para>RapidSVN is a cross platform Subversion frontend based
1410 on wxWidgets. It can be found at:
1411 <ulink url="http://rapidsvn.tigris.org/" />. Subcommander is
1412 another cross platform Subversion frontend. It can be found
1414 <ulink url="http://subcommander.tigris.org/" />.</para>
1415 <para>Cygwin doesn't provide any GUI client for
1418 <section id="ChToolsTortoiseSVN">
1419 <title>Win32 native: TortoiseSVN</title>
1420 <para>A good Subversion client for Win32 can be found at:
1421 <ulink url="http://tortoisesvn.tigris.org/" />. It will
1422 nicely integrate into the Windows Explorer window.</para>
1425 <section id="ChToolsDiff">
1426 <title>diff (optional)</title>
1427 <para>Diff is used to get a file of all differences between two
1428 source files/trees (sometimes called a patch). The diff tool
1429 isn't needed for building Wireshark, but it's needed if you are
1430 going to commit your changes back to the Wireshark
1433 <title>Note!</title>
1434 <para>The recommended way to build patches is using the
1435 Subversion client, see
1436 <xref linkend="ChToolsSubversion" /> for details.</para>
1438 <para>You will find more instructions in
1439 <xref linkend="ChSrcDiff" /> on how to use the diff tool.</para>
1440 <section id="ChToolsGNUDiff">
1441 <title>UNIX or Win32 Cygwin: GNU diff</title>
1442 <para>Diff is available for most of the UNIX-like platforms
1443 and as the diffutils package from the
1444 <link linkend="ChToolsCygwin">Cygwin setup</link>.</para>
1445 <para>If GNU diff isn't already installed or
1446 available as a package for your platform, you can get it at:
1447 <ulink url="http://www.gnu.org/software/diffutils/diffutils.html" />.</para>
1448 <para>After correct installation, typing at the
1449 bash command line prompt:</para>
1452 <userinput>diff --version</userinput>
1454 <para>should result in something like:
1456 <![CDATA[diff (GNU diffutils) 2.8.7
1457 Written by Paul Eggert, Mike Haertel, David Hayes,
1458 Richard Stallman, and Len Tower.
1460 Copyright (C) 2004 Free Software Foundation, Inc.
1461 This is free software; see the source for copying conditions. There is NO
1462 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.]]>
1463 </programlisting>However, the version string may vary.</para>
1465 <section id="ChToolsWin32Diff">
1466 <title>Win32 native: diff</title>
1467 <para>A native Win32 diff package can be obtained from
1468 <ulink url="http://gnuwin32.sourceforge.net/" />. The
1469 installation should be straightforward.</para>
1470 <para>The Subversion client TortoiseSVN has a built-in diff
1472 <xref linkend="ChToolsTortoiseSVN" />. It is currently unknown
1473 if this tool can be used to
1474 create diff files in the required format, so other persons
1475 can use them.</para>
1478 <section id="ChToolsPatch">
1479 <title>patch (optional)</title>
1480 <para>The patch utility is used to merge a diff file into your
1481 own source tree. This tool is only needed, if you want to apply
1482 a patch (diff file) from someone else (probably from the
1483 developer mailing list) to try out in your own private source
1487 <para>Unless you are in the rare case needing to apply a
1488 patch to your private source tree, you won't need the patch
1489 tool installed.</para>
1491 <para>You will find more instructions in
1492 <xref linkend="ChSrcPatchApply" /> on how to use the patch
1494 <section id="ChToolsUnixPatch">
1495 <title>UNIX or Win32 Cygwin: patch</title>
1496 <para>Patch is available for most of the UNIX-like platforms
1497 and as the patch package from the
1498 <link linkend="ChToolsCygwin">Cygwin setup</link>.</para>
1499 <para>If GNU patch isn't already installed or
1500 available as a package for your platform, you can get it at:
1501 <ulink url="http://www.gnu.org/software/patch/patch.html" />.</para>
1502 <para>After correct installation, typing at the
1503 bash command line prompt:</para>
1506 <userinput>patch --version</userinput>
1508 <para>should result in something like:
1510 <![CDATA[patch 2.5.8
1511 Copyright (C) 1988 Larry Wall
1512 Copyright (C) 2002 Free Software Foundation, Inc.
1514 This program comes with NO WARRANTY, to the extent permitted by law.
1515 You may redistribute copies of this program
1516 under the terms of the GNU General Public License.
1517 For more information about these matters, see the file named COPYING.
1519 written by Larry Wall and Paul Eggert]]>
1520 </programlisting>However, the version string may vary.</para>
1522 <section id="ChToolsWin32Patch">
1523 <title>Win32 native: patch</title>
1524 <para>A native Win32 patch package can be obtained from
1525 <ulink url="http://gnuwin32.sourceforge.net/" />. The
1526 installation should be straightforward.</para>
1527 <para>The Subversion client TortoiseSVN has a built-in patch
1529 <xref linkend="ChToolsTortoiseSVN" />. The last time tested
1530 (Version 1.1.0), this feature failed to apply patches known
1534 <section id="ChToolsWget">
1535 <title>Win32: GNU wget (optional)</title>
1536 <para>GNU wget is used to download files from the internet
1537 using the command line.</para>
1538 <para>GNU wget is available for most of the UNIX-like platforms
1539 and as the wget package from the
1540 <link linkend="ChToolsCygwin">Cygwin setup</link>.</para>
1541 <para>You will only need wget, if you want to use the Win32
1542 automated library download, see
1543 <xref linkend="ChLibsSetup" /> for details.</para>
1544 <para>If GNU wget isn't already installed or
1545 available as a package for your platform (well, for Win32 it is
1546 available as a Cygwin package), you can get it at:
1547 <ulink url="http://www.gnu.org/software/wget/wget.html" />.</para>
1548 <para>If wget is trying to download files but fails to do so,
1549 your Internet connection might use an HTTP proxy. Some Internet
1550 providers use such a proxy and it is common in many company
1551 networks today. Wireshark's setup script will try to discover
1552 your proxy settings automatically, but you you may need to set
1553 the environment variable HTTP_PROXY by hand before using wget.
1554 For example, if you are behind proxy.com which is listening on
1555 port 8080, you have to set it to something like:</para>
1558 HTTP_PROXY=http://proxy.com:8080/</programlisting>
1560 <para>If you are unsure about the settings, you might ask your
1561 system administrator.</para>
1563 <section id="ChToolsUnzip">
1564 <title>Win32: GNU unzip (optional)</title>
1565 <para>GNU unzip is used to, well, unzip the zip files
1566 downloaded using the wget tool.</para>
1567 <para>GNU unzip is available for most of the UNIX-like platforms
1568 and as the unzip package from the
1569 <link linkend="ChToolsCygwin">Cygwin setup</link>.</para>
1570 <para>You will only need unzip, if you want to use the Win32
1571 automated library download, see
1572 <xref linkend="ChLibsSetup" /> for details.</para>
1573 <para>If GNU unzip isn't already installed or
1574 available as a package for your platform (well, for Win32 it is
1575 available as a Cygwin package), you can get it at:
1576 <ulink url="http://gnuwin32.sourceforge.net/packages/unzip.htm" />.</para>
1578 <section id="ChToolsNSIS">
1579 <title>Win32: NSIS (optional)</title>
1580 <para>The NSIS (Nullsoft Scriptable Install System) is used to
1581 generate a wireshark-setup-<version>.exe from all the
1582 files needed to be installed, including all required DLL's and
1584 <para>To install it, simply download the latest released
1585 version (currently: 2.28) from
1586 <ulink url="http://nsis.sourceforge.net" /> and start the
1587 downloaded installer. You will need NSIS version 2 final or
1589 <para>You will find more instructions in
1590 <xref linkend="ChSrcNSIS" /> on how to use the NSIS tool.</para>
1593 <!-- End of WSDG Chapter Tools -->