Chapter 2. Tools

Table of Contents

2.1. Introduction
2.2. Installation
2.2.1. UNIX
2.2.2. Win32 native
2.2.3. Win32 Cygwin
2.3. Win32: Recommended tools
2.4. bash
2.4.1. UNIX: GNU bash
2.4.2. Win32 native: -
2.5. C compiler
2.5.1. UNIX: GCC (GNU compiler collection)
2.5.2. Win32 native: Microsoft Visual Studio version 6 C compiler
2.5.3. Win32 native: Microsoft Visual Studio .NET (and alike) C compilers
2.6. Debugger
2.6.1. UNIX: GDB (GNU project debugger)
2.6.2. UNIX: DDD (GNU Data Display Debugger)
2.6.3. Win32 native: Microsoft Visual Studio debugger
2.6.4. Win32 native: Microsoft Debugging Tools for Windows
2.7. make
2.7.1. Unix: GNU Make
2.7.2. Win32 native: nmake from MSVC
2.7.3. Win32 native: nmake from microsoft.com
2.8. python
2.8.1. UNIX: python
2.8.2. Win32 native: python
2.9. perl
2.9.1. UNIX: perl
2.9.2. Win32 native: perl
2.10. sed
2.10.1. UNIX: sed
2.10.2. Win32 native: sed
2.11. yacc (bison)
2.11.1. UNIX: bison
2.11.2. Win32 native: bison
2.12. lexx (flex)
2.12.1. UNIX: flex
2.12.2. Win32 native: flex
2.13. Subversion (SVN) client (optional)
2.13.1. UNIX: svn
2.13.2. Win32 native: TortoiseSVN
2.14. diff (optional)
2.14.1. UNIX: GNU diff
2.14.2. Win32 native: diff
2.15. patch (optional)
2.15.1. UNIX: patch
2.15.2. Win32 native: patch
2.16. Win32: GNU wget (optional)
2.17. Win32: NSIS (optional)
2.18. Obsolete: CVS client
2.19. Win32: Verify installed tools

2.1. Introduction

This chapter will provide you with information how to install the various tools needed for Ethereal development.

None of the tools mentioned in this chapter is needed to run Ethereal, they are only needed to build it.

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

  • UNIX: as described above, the tools should be commonly available on the supported UNIX platforms, and for Win32 platforms by the Cygwin UNIX emulation

  • Win32 native: some tools are available as native Win32 tools, no emulation is required

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

Don't expect a lot of documentation regarding these tools in this document. If you need further documentation of a specific tool, you should find lot's of useful information on the web, as these tools are commonly used. As all of the tools are command line tools, you can try to get help with toolname --help or read the manpage man toolname.

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

Some recommendations are given for the easiest way to get a Win32 development platform up and running, see Section 2.3, “Win32: Recommended tools”.