Chapter 4. Tool Reference

Table of Contents

4.1. Introduction
4.2. Chocolatey
4.3. Windows: Cygwin
4.3.1. Installing Cygwin using the Cygwin installer
4.3.2. Add/Update/Remove Cygwin Packages
4.3.3. Installing Cygwin using Chocolatey
4.4. GNU compiler toolchain (UNIX only)
4.4.1. gcc (GNU compiler collection)
4.4.2. gdb (GNU project debugger)
4.4.3. ddd (GNU Data Display Debugger)
4.4.4. make (GNU Make)
4.5. Microsoft compiler toolchain (Windows native)
4.5.1. Official Toolchain Packages And Alternatives
4.5.2. cl.exe (C Compiler)
4.5.3. link.exe (Linker)
4.5.4. C-Runtime "Redistributable" Files
4.5.5. Windows (Platform) SDK
4.5.6. HTML Help
4.5.7. Debugger
4.6. bash
4.6.1. UNIX and Cygwin: GNU bash
4.7. Python
4.8. Perl
4.8.1. UNIX and Cygwin: Perl
4.9. Bison
4.9.1. UNIX or Cygwin: bison
4.9.2. Windows Native: Win flex-bison and bison
4.10. Flex
4.10.1. UNIX or Cygwin: flex
4.10.2. Windows Native: Win flex-bison and flex
4.11. Git client
4.11.1. UNIX or Cygwin: git
4.11.2. Windows native: git
4.12. Git Powershell Extensions (optional)
4.13. Git GUI client (optional)
4.14. patch (optional)
4.14.1. UNIX and Cygwin: patch
4.14.2. Windows native: patch
4.15. Windows: NSIS (optional)
4.16. Windows: PortableApps (optional)

4.1. Introduction

This chapter will provide you with information about the various tools needed for Wireshark development.

None of the tools mentioned in this chapter are needed to run Wireshark; they are only needed to build it.

Most of these tools have their roots on UNIX like platforms, but Windows ports are also available. Therefore the tools are available in different "flavours":

  • UNIX (or Windows Cygwin): the tools should be commonly available on the supported UNIX platforms, and for Windows platforms by using the Cygwin UNIX emulation
  • Windows native: some tools are available as native Windows tools, no special emulation is required. Many of these tools can be installed (and updated) using Chocolatey, a Windows package manager similar to the Linux package managers apt-get or yum.
[Warning]Follow the directions

Unless you know exactly what you are doing, you should strictly follow the recommendations given in Chapter 2, Quick Setup.

The following sections give a very brief description of what a particular tool is doing, how it is used in the Wireshark project and how it can be installed and tested.

Documentation for these tools is outside the scope of this document. If you need further information on using a specific tool you should find lots of useful information on the web, as these tools are commonly used. You can also get help for the UNIX based tools with toolname --help or the man page via man toolname.

You will find explanations of the tool usage for some of the specific development tasks in Chapter 3, Work with the Wireshark sources.