Chapter 4. Tool Reference

Table of Contents

4.1. Introduction
4.2. Chocolatey
4.3. Windows: Cygwin
4.4. CMake
4.5. GNU compiler toolchain (UNIX and UNIX-like platforms only)
4.5.1. gcc (GNU compiler collection)
4.5.2. gdb (GNU project debugger)
4.5.3. ddd (GNU Data Display Debugger)
4.5.4. make (GNU Make)
4.5.5. Ninja
4.6. Microsoft compiler toolchain (Windows native)
4.6.1. Official Toolchain Packages And Alternatives
4.6.2. cl.exe (C Compiler)
4.6.3. link.exe (Linker)
4.6.4. C-Runtime "Redistributable" Files
4.6.5. Windows (Platform) SDK
4.7. Documentation Toolchain
4.7.1. Asciidoctor
4.7.2. Xsltproc And DocBook
4.7.3. HTML Help
4.7.4. Debugger
4.8. bash
4.8.1. UNIX and UNIX-like platforms: GNU Bash
4.9. Python
4.10. Perl
4.10.1. UNIX and UNIX-like platforms: Perl
4.10.2. Windows Native: Perl
4.11. Bison
4.11.1. UNIX and UNIX-like platforms: Bison
4.11.2. Windows Native: Win flex-bison and bison
4.12. Flex
4.12.1. UNIX and UNIX-like platforms: flex
4.12.2. Windows Native: Win flex-bison and flex
4.13. Git client
4.13.1. UNIX and UNIX-like platforms: git
4.13.2. Windows Native: git
4.14. Git Powershell Extensions (optional)
4.15. Git GUI client (optional)
4.16. patch (optional)
4.16.1. UNIX and UNIX-like platforms: patch
4.16.2. Windows native: patch
4.17. Windows: NSIS (optional)
4.18. 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 or UNIX-like platforms such as Linux, but Windows ports are also available. Therefore the tools are available in different "flavours":

  • UNIX and UNIX-like platforms: The tools should be commonly available on the supported UNIX and UNIX-like platforms and for Windows platforms by using an emulation layer such as Cygwin.
  • 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.