2004-08-21 19:02:14 +00:00
|
|
|
<!-- EDG Chapter Tools -->
|
|
|
|
<!-- $Id$ -->
|
|
|
|
|
|
|
|
<chapter id="ChapterTools">
|
|
|
|
<title>Tools</title>
|
2004-08-21 20:34:22 +00:00
|
|
|
<section id="ChToolsIntro">
|
|
|
|
<title>Introduction</title>
|
2004-08-21 19:02:14 +00:00
|
|
|
<para>
|
2004-09-01 09:31:06 +00:00
|
|
|
This chapter will provide you with information how to install
|
2004-08-21 20:34:22 +00:00
|
|
|
the various tools needed for Ethereal development.
|
|
|
|
</para>
|
|
|
|
<para>
|
2004-08-21 22:46:25 +00:00
|
|
|
None of the tools mentioned in this chapter is needed to run Ethereal,
|
2004-09-01 09:31:06 +00:00
|
|
|
they are only needed to build it.
|
2004-08-21 22:46:25 +00:00
|
|
|
</para>
|
|
|
|
<para>
|
2004-09-05 21:22:14 +00:00
|
|
|
All these tools have
|
2004-08-21 20:34:22 +00:00
|
|
|
their roots on unix like platforms, but win32 ports are also
|
2004-09-01 09:31:06 +00:00
|
|
|
available. Therefore the tools are available in different "flavours":
|
2004-08-21 19:02:14 +00:00
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
Unix: as described above, the tools should be commonly available on the
|
2004-09-01 09:31:06 +00:00
|
|
|
supported unix platforms, and for win32 platforms by the cygwin unix
|
|
|
|
emulation
|
2004-08-21 19:02:14 +00:00
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
2004-09-05 21:22:14 +00:00
|
|
|
Win32 native: some tools are available as native Win32 tools, no
|
|
|
|
emulation is required
|
2004-08-21 19:02:14 +00:00
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
2004-09-01 09:31:06 +00:00
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
The following sections will only do a very brief description of
|
2004-08-21 19:02:14 +00:00
|
|
|
what the particular tool is doing, how it is used in the Ethereal project
|
2004-09-10 18:28:53 +00:00
|
|
|
and how it can be installed and tested.
|
2004-08-21 19:02:14 +00:00
|
|
|
</para>
|
|
|
|
<para>
|
2004-09-01 09:31:06 +00:00
|
|
|
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 <userinput>toolname --help</userinput> or read
|
|
|
|
the manpage <userinput>man toolname</userinput>.
|
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
You will find explanations of the tool usage for some of the specific
|
|
|
|
development tasks in <xref linkend="ChapterSources"/>.
|
|
|
|
</para>
|
|
|
|
<para>
|
2004-09-11 14:15:26 +00:00
|
|
|
Some recommendations are given for the
|
2004-09-01 09:31:06 +00:00
|
|
|
easiest way to get a win32 development platform up and running, see
|
2004-09-11 14:15:26 +00:00
|
|
|
<xref linkend="ChToolsWin32Recommended"/>.
|
2004-08-21 19:02:14 +00:00
|
|
|
</para>
|
|
|
|
</section>
|
|
|
|
|
2004-09-11 14:15:26 +00:00
|
|
|
<section id="ChToolsInstall">
|
|
|
|
<title>Installation</title>
|
|
|
|
<para>
|
|
|
|
The installation of the tools depend on the platform you use:
|
|
|
|
</para>
|
|
|
|
|
|
|
|
<section id="ChToolsInstallUnix">
|
|
|
|
<title>Unix</title>
|
|
|
|
<para>
|
|
|
|
All the tools required are usually installed on a unix developer machine.
|
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
If a tool is not already installed on your system, you will typically use
|
|
|
|
the installation package from your distribution.
|
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
If an install package is not available, or you have a reason not to use
|
|
|
|
it (maybe because it's simply too old), you can install that tool
|
|
|
|
from source code, the following sections will provide you with the webpage
|
|
|
|
addresses where you can get these sources.
|
|
|
|
</para>
|
|
|
|
</section>
|
|
|
|
|
|
|
|
<section id="ChToolsInstallWin32">
|
|
|
|
<title>Win32</title>
|
|
|
|
<para>
|
|
|
|
There are typically two different ways to install the tools, native tools
|
|
|
|
and the tools provided using the cygwin packages. Have a look at
|
|
|
|
<xref linkend="ChToolsWin32Recommended"/> for an overview of the
|
|
|
|
recommended tools.
|
|
|
|
</para>
|
2004-08-21 19:02:14 +00:00
|
|
|
|
2004-09-11 14:15:26 +00:00
|
|
|
<section id="ChToolsInstallWin32Native">
|
|
|
|
<title>Native</title>
|
|
|
|
<para>
|
|
|
|
The native tools will typically be a bit faster, but more complicated to
|
|
|
|
install. You will have to download a lot of tools from different webpages,
|
|
|
|
and install them in the ways they have to be installed. The default
|
|
|
|
installation location will typically not be the
|
|
|
|
<filename>c:\program files</filename> folder.
|
|
|
|
</para>
|
|
|
|
</section>
|
|
|
|
|
|
|
|
<section id="ChToolsInstallCygwin">
|
|
|
|
<title>Cygwin</title>
|
|
|
|
<para>
|
|
|
|
Installation of the cygwin tools is very simple. As cygwin uses an
|
|
|
|
unix emulation layer,
|
|
|
|
it might be a bit slower compared to the native tools, but at an
|
|
|
|
acceptable level. All tools will be installed into one folder, the default
|
|
|
|
is <filename>c:\cygwin</filename>.
|
|
|
|
</para>
|
2004-08-21 19:02:14 +00:00
|
|
|
<para>
|
|
|
|
Cygwin provides a unix emulation layer with a lot of unix based tools
|
|
|
|
on the win32 platform. Although cygwin consists of several
|
|
|
|
seperate packages, the installation and update is done through only a
|
2004-09-05 21:22:14 +00:00
|
|
|
single setup.exe, which acts similar like other web based installers.
|
2004-08-21 19:02:14 +00:00
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
You will find this network based setup.exe at: <ulink
|
|
|
|
url="http://www.cygwin.com/"/> click on one
|
|
|
|
of the "Install Cygwin now" appearances, this will start the download
|
|
|
|
of the setup.exe.
|
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
After the download completed, start this setup.exe on your machine. It
|
|
|
|
will ask you for some
|
|
|
|
settings, the defaults should usually work well. The setup will
|
|
|
|
then download and install a basic set of packages.
|
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
Under: "Start -> Programs -> Cygwin -> Cygwin Bash Shell" you
|
2004-09-05 21:22:14 +00:00
|
|
|
should now be able to start a new cygwin bash shell, which is similar to
|
|
|
|
the command line (command.exe/cmd.exe) in win32, but much more powerful.
|
2004-08-21 19:02:14 +00:00
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
If you want to add additional cygwin packages, you should start the
|
2004-09-05 21:22:14 +00:00
|
|
|
setup.exe again, and select them in the packages window. You will find a
|
|
|
|
list of required / recommended packages needed to develop Ethereal in
|
2004-09-11 14:15:26 +00:00
|
|
|
<xref linkend="ChToolsWin32Recommended"/>.
|
2004-08-21 19:02:14 +00:00
|
|
|
</para>
|
|
|
|
</section>
|
2004-09-11 14:15:26 +00:00
|
|
|
</section>
|
|
|
|
|
|
|
|
</section>
|
|
|
|
|
|
|
|
<section id="ChToolsWin32Recommended">
|
|
|
|
<title>Win32: Recommended tools</title>
|
|
|
|
<para>
|
|
|
|
As there are different forms of the Win32 tools available, the following
|
|
|
|
will give an overview of the recommended tools (which are highlighted in
|
|
|
|
bold face).
|
|
|
|
|
|
|
|
<table frame='all'><title>The mandatory tools</title>
|
|
|
|
<tgroup cols='3' align='left' colsep='1' rowsep='1'>
|
|
|
|
<colspec colname='c1'/>
|
|
|
|
<colspec colname='c2'/>
|
|
|
|
<colspec colname='c3'/>
|
|
|
|
<thead>
|
|
|
|
<row>
|
|
|
|
<entry>Tool</entry>
|
|
|
|
<entry><link linkend="ChToolsInstallCygwin">Cygwin</link> packet</entry>
|
|
|
|
<entry>Win32 native</entry>
|
|
|
|
</row>
|
|
|
|
</thead>
|
|
|
|
<tbody>
|
|
|
|
<row>
|
|
|
|
<entry><xref linkend="ChToolsBash"/></entry>
|
|
|
|
<entry><command>bash</command></entry>
|
|
|
|
<entry>-</entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry><xref linkend="ChToolsCompiler"/></entry>
|
|
|
|
<entry>gcc</entry>
|
|
|
|
<entry><command>cl.exe (MSVC)</command></entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry><xref linkend="ChToolsDebugger"/></entry>
|
|
|
|
<entry>DDD</entry>
|
|
|
|
<entry><command>integrated debugger (MSVC)</command></entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry><xref linkend="ChToolsMake"/></entry>
|
|
|
|
<entry>make</entry>
|
|
|
|
<entry><command>nmake.exe (MSVC)</command></entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry><xref linkend="ChToolsPython"/></entry>
|
|
|
|
<entry><command>python</command></entry>
|
|
|
|
<entry><ulink url="http://python.org/download/"/></entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry><xref linkend="ChToolsPerl"/></entry>
|
|
|
|
<entry><command>perl</command></entry>
|
|
|
|
<entry><ulink url="http://www.ActiveState.com"/></entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry><xref linkend="ChToolsSed"/></entry>
|
|
|
|
<entry><command>sed</command></entry>
|
|
|
|
<entry>-</entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry><xref linkend="ChToolsYacc"/></entry>
|
|
|
|
<entry><command>yacc</command></entry>
|
|
|
|
<entry>-</entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry><xref linkend="ChToolsLexx"/></entry>
|
|
|
|
<entry><command>lexx</command></entry>
|
|
|
|
<entry>-</entry>
|
|
|
|
</row>
|
|
|
|
</tbody>
|
|
|
|
</tgroup>
|
|
|
|
</table>
|
|
|
|
|
|
|
|
<table frame='all'><title>The optional tools</title>
|
|
|
|
<tgroup cols='3' align='left' colsep='1' rowsep='1'>
|
|
|
|
<colspec colname='c1'/>
|
|
|
|
<colspec colname='c2'/>
|
|
|
|
<colspec colname='c3'/>
|
|
|
|
<thead>
|
|
|
|
<row>
|
|
|
|
<entry>Tool</entry>
|
|
|
|
<entry><link linkend="ChToolsInstallCygwin">Cygwin</link> packet</entry>
|
|
|
|
<entry>Win32 native</entry>
|
|
|
|
</row>
|
|
|
|
</thead>
|
|
|
|
<tbody>
|
|
|
|
<row>
|
|
|
|
<entry><xref linkend="ChToolsSubversion"/></entry>
|
|
|
|
<entry>svn</entry>
|
|
|
|
<entry><command><ulink url="http://tortoisesvn.tigris.org/">TortoiseSVN</ulink></command></entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry><xref linkend="ChToolsDiff"/></entry>
|
|
|
|
<entry><command>diff</command></entry>
|
|
|
|
<entry>-</entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry><xref linkend="ChToolsPatch"/></entry>
|
|
|
|
<entry><command>patch</command></entry>
|
|
|
|
<entry>-</entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry><xref linkend="ChToolsWget"/></entry>
|
|
|
|
<entry><command>wget</command></entry>
|
|
|
|
<entry>-</entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry><xref linkend="ChToolsNSIS"/></entry>
|
|
|
|
<entry>-</entry>
|
|
|
|
<entry>
|
|
|
|
<command><ulink url="http://nsis.sourceforge.net">NSIS</ulink></command>
|
|
|
|
</entry>
|
|
|
|
</row>
|
|
|
|
</tbody>
|
|
|
|
</tgroup>
|
|
|
|
</table>
|
|
|
|
XXX - mark, which cygwin packages are installed by default.
|
|
|
|
</para>
|
|
|
|
</section>
|
2004-08-21 19:02:14 +00:00
|
|
|
|
2004-08-21 20:34:22 +00:00
|
|
|
<section id="ChToolsBash">
|
2004-08-21 22:46:25 +00:00
|
|
|
<title>bash</title>
|
2004-08-21 20:34:22 +00:00
|
|
|
<para>
|
|
|
|
The bash shell is needed to run several shell scripts.
|
|
|
|
</para>
|
|
|
|
|
2004-09-01 13:50:02 +00:00
|
|
|
<section id="ChToolsGNUBash">
|
2004-08-21 20:34:22 +00:00
|
|
|
<title>Unix: GNU bash</title>
|
2004-08-21 19:02:14 +00:00
|
|
|
<para>
|
2004-08-21 20:34:22 +00:00
|
|
|
The bash is available for most of the unix-like platforms and as the
|
2004-09-11 14:15:26 +00:00
|
|
|
<application>bash</application> package from the <link
|
|
|
|
linkend="ChToolsInstallCygwin">Cygwin setup</link>.
|
2004-08-21 19:02:14 +00:00
|
|
|
</para>
|
|
|
|
<para>
|
2004-09-11 09:20:31 +00:00
|
|
|
If the bash isn't already installed and also not available as a package
|
|
|
|
for your platform, you can get it at:
|
|
|
|
<ulink url="http://www.gnu.org/software/bash/bash.html"/>.
|
|
|
|
</para>
|
|
|
|
<para>
|
2004-08-21 20:34:22 +00:00
|
|
|
After correct installation, typing inside any shell:
|
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
<prompt>$</prompt> <userinput>bash --version</userinput>
|
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
should result in something like:
|
|
|
|
<programlisting>
|
|
|
|
<![CDATA[GNU bash, version 2.05b.0(1)-release (i686-pc-cygwin)
|
|
|
|
Copyright (C) 2002 Free Software Foundation, Inc.]]>
|
|
|
|
</programlisting>
|
|
|
|
However, the version string may vary.
|
|
|
|
</para>
|
|
|
|
</section>
|
|
|
|
|
2004-09-01 13:50:02 +00:00
|
|
|
<section id="ChToolsWin32Bash">
|
2004-08-21 20:34:22 +00:00
|
|
|
<title>Win32 native: -</title>
|
|
|
|
<para>
|
|
|
|
The authors don't know of any working win32 native bash implementation.
|
2004-08-21 19:02:14 +00:00
|
|
|
</para>
|
|
|
|
</section>
|
|
|
|
|
2004-08-21 20:34:22 +00:00
|
|
|
</section>
|
|
|
|
|
|
|
|
<section id="ChToolsCompiler">
|
|
|
|
<title>C compiler</title>
|
|
|
|
|
2004-09-01 13:50:02 +00:00
|
|
|
<section id="ChToolsGCC">
|
2004-08-21 20:34:22 +00:00
|
|
|
<title>Unix: GCC (GNU compiler collection)</title>
|
|
|
|
<note><title>Win32 Note!</title>
|
2004-08-21 19:02:14 +00:00
|
|
|
<para>
|
|
|
|
Although some effort is currently made to use gcc from the cygwin
|
2004-08-21 20:34:22 +00:00
|
|
|
environment, the mainline for several reasons is still using Microsoft
|
2004-09-11 14:15:26 +00:00
|
|
|
Visual Studio's C compiler.
|
2004-08-21 20:34:22 +00:00
|
|
|
</para>
|
|
|
|
</note>
|
|
|
|
<para>
|
|
|
|
The gcc C compiler is available for most of the unix-like platforms and
|
2004-09-11 14:15:26 +00:00
|
|
|
as the <application>gcc</application> package from the <link
|
|
|
|
linkend="ChToolsInstallCygwin">Cygwin setup</link>.
|
2004-08-21 20:34:22 +00:00
|
|
|
</para>
|
|
|
|
<para>
|
2004-09-11 09:20:31 +00:00
|
|
|
If gcc isn't already installed and also not available as a package
|
|
|
|
for your platform, you can get it at:
|
|
|
|
<ulink url="http://gcc.gnu.org/"/>.
|
|
|
|
</para>
|
|
|
|
<para>
|
2004-08-21 20:34:22 +00:00
|
|
|
After correct installation, typing inside the bash:
|
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
<prompt>$</prompt> <userinput>gcc --version</userinput>
|
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
should result in something like:
|
|
|
|
<programlisting>
|
|
|
|
<![CDATA[gcc (GCC) 3.3.3 (cygwin special)
|
|
|
|
Copyright (C) 2003 Free Software Foundation, Inc.
|
|
|
|
This is free software; see the source for copying conditions. There is NO
|
|
|
|
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.]]>
|
|
|
|
</programlisting>
|
|
|
|
However, the version string may vary.
|
2004-08-21 19:02:14 +00:00
|
|
|
</para>
|
|
|
|
</section>
|
|
|
|
|
2004-09-01 13:50:02 +00:00
|
|
|
<section id="ChToolsMSVC6">
|
2004-09-01 09:31:06 +00:00
|
|
|
<title>Win32 native: Microsoft Visual Studio version 6 C compiler</title>
|
2004-08-21 19:02:14 +00:00
|
|
|
<para>
|
|
|
|
<note><title>Note!</title>
|
|
|
|
<para>
|
|
|
|
The Microsoft Visual Studio is not free software.
|
|
|
|
This is a tool you have to buy before you use it!
|
|
|
|
</para>
|
|
|
|
</note>
|
|
|
|
</para>
|
|
|
|
<para>
|
2004-08-21 20:34:22 +00:00
|
|
|
The mainline for generating Ethereal on the windows platform, is using
|
|
|
|
the compiler cl.exe from the Microsoft Visual Studio version 6 (and it's
|
|
|
|
nmake, as described below).
|
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
After correct installation, typing inside the command line (cmd.exe):
|
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
<prompt>></prompt> <userinput>cl</userinput>
|
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
should result in something like:
|
|
|
|
<programlisting>
|
|
|
|
<![CDATA[Optimierender Microsoft (R) 32-Bit C/C++-Compiler, Version 12.00.8804, fuer x86
|
|
|
|
Copyright (C) Microsoft Corp 1984-1998. Alle Rechte vorbehalten.
|
|
|
|
|
|
|
|
Verwendung: cl [ Option... ] Dateiname... [ /link Linker-Option... ]]]>
|
|
|
|
</programlisting>
|
|
|
|
However, the version string may vary.
|
|
|
|
</para>
|
2004-08-21 19:02:14 +00:00
|
|
|
</section>
|
|
|
|
|
2004-09-01 13:50:02 +00:00
|
|
|
<section id="ChToolsMSVC7">
|
2004-09-01 09:31:06 +00:00
|
|
|
<title>Win32 native: Microsoft Visual Studio .NET (and alike) C compilers
|
|
|
|
</title>
|
|
|
|
<para>
|
|
|
|
<warning><title>Warning!</title>
|
|
|
|
<para>
|
2004-09-01 13:50:02 +00:00
|
|
|
The recent "Microsoft Visual Studio .NET" C compiler(s) currently cannot
|
2004-09-01 09:31:06 +00:00
|
|
|
be used to compile Ethereal!!!
|
|
|
|
</para>
|
|
|
|
</warning>
|
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
The following is a problem summary for:
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem><para>
|
|
|
|
Microsoft Visual Studio .NET
|
|
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
|
|
Microsoft Visual C++ .NET
|
|
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
|
|
Microsoft Visual C++ Toolkit 2003, freely available at: <ulink url="http://msdn.microsoft.com/visualc/vctoolkit2003/"/>
|
|
|
|
</para></listitem>
|
|
|
|
</itemizedlist>
|
2004-09-01 13:50:02 +00:00
|
|
|
All containing version 7 or later of Microsoft's C compiler.
|
2004-09-01 09:31:06 +00:00
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
It is reported that this compiler requires to ship a MSVCRT70.dll together
|
|
|
|
with the compiled exe, which contains the C runtime library. This
|
|
|
|
conflicts, as all required libraries currently compiled with (and uses)
|
|
|
|
MSVCRT.dll (the older version 6 one).
|
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
Example why this hurts: A dependant library might try to open a file using
|
2004-09-01 13:50:02 +00:00
|
|
|
functions in MSVCRT.dll which creates an internal file handle and keeps
|
2004-09-01 09:31:06 +00:00
|
|
|
information about that file. When Ethereal tries to read data from that
|
2004-09-01 13:50:02 +00:00
|
|
|
file, it uses the functions from MSVCRT70.dll, which doesn't know anything
|
|
|
|
about that previously opened file and returns an error code.
|
2004-09-01 09:31:06 +00:00
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
There where also attempts to bring the compiler to use only the old
|
|
|
|
MSVCRT.dll but they seemed to fail :-(
|
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
It's also still unsure, if shipping the MSVCRT70.dll together with Ethereal
|
|
|
|
is compatible with the GPL license at all.
|
|
|
|
</para>
|
|
|
|
<note><title>Note!</title>
|
|
|
|
<para>
|
|
|
|
This isn't an Ethereal specific problem. Any software project trying to use
|
2004-09-01 13:50:02 +00:00
|
|
|
the version 7 C compiler will have the problems described above!
|
2004-09-01 09:31:06 +00:00
|
|
|
</para>
|
|
|
|
</note>
|
|
|
|
</section>
|
|
|
|
|
2004-08-21 19:02:14 +00:00
|
|
|
</section>
|
|
|
|
|
2004-09-11 09:20:31 +00:00
|
|
|
<section id="ChToolsDebugger">
|
|
|
|
<title>Debugger</title>
|
|
|
|
<para>
|
|
|
|
Well, using a good debugger can save you a lot of development time. However
|
|
|
|
some people still think it's use is optional.
|
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
The debugger you use must match the C compiler Ethereal was compiled with,
|
|
|
|
otherwise the debugger will simply fail or you will only see a lot of
|
|
|
|
garbage.
|
|
|
|
</para>
|
|
|
|
|
|
|
|
<section id="ChToolsGDB">
|
|
|
|
<title>Unix: GNU gdb</title>
|
|
|
|
<para>
|
|
|
|
gdb is the debugger for the gcc compiler. It is available for many (if
|
2004-09-11 14:15:26 +00:00
|
|
|
not all) unix-like platforms and as the <application>gdb</application>
|
|
|
|
package from the <link
|
|
|
|
linkend="ChToolsInstallCygwin">Cygwin setup</link>
|
2004-09-11 09:20:31 +00:00
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
If you don't like debugging using the command line, there are some GUI
|
|
|
|
frontends for it available, most notably GNU DDD.
|
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
If gdb isn't already installed and also not available as a package for
|
|
|
|
your platform, you can get it at:
|
|
|
|
<ulink url="http://www.gnu.org/software/gdb/gdb.html"/>.
|
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
After correct installation, typing inside the bash:
|
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
<prompt>$</prompt> <userinput>gdb --version</userinput>
|
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
should result in something like:
|
|
|
|
<programlisting>
|
|
|
|
<![CDATA[
|
|
|
|
GNU gdb 2003-09-20-cvs (cygwin-special)
|
|
|
|
Copyright 2003 Free Software Foundation, Inc.
|
|
|
|
GDB is free software, covered by the GNU General Public License, and you are
|
|
|
|
welcome to change it and/or distribute copies of it under certain conditions.
|
|
|
|
Type "show copying" to see the conditions.
|
|
|
|
There is absolutely no warranty for GDB. Type "show warranty" for details.
|
|
|
|
This GDB was configured as "i686-pc-cygwin".]]>
|
|
|
|
</programlisting>
|
|
|
|
However, the version string may vary.
|
|
|
|
</para>
|
|
|
|
</section>
|
|
|
|
|
|
|
|
<section id="ChToolsGDB">
|
|
|
|
<title>Unix: GNU DDD</title>
|
|
|
|
<para>
|
|
|
|
The GNU Data Display Debugger is a good GUI frontend for gdb (and a lot of
|
|
|
|
other command line debuggers), so you have to install gdb first. It is
|
2004-09-11 14:15:26 +00:00
|
|
|
available for many unix-like platforms and as the
|
|
|
|
<application>ddd</application> package from the <link
|
|
|
|
linkend="ChToolsInstallCygwin">Cygwin setup</link>.
|
2004-09-11 09:20:31 +00:00
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
If GNU DDD isn't already installed and also not available as a package for
|
|
|
|
your platform, you can get it at:
|
|
|
|
<ulink url="http://www.gnu.org/software/ddd/"/>.
|
|
|
|
</para>
|
|
|
|
</section>
|
|
|
|
|
|
|
|
<section id="ChToolsMSVCDebugger">
|
|
|
|
<title>Win32 native: Microsoft Visual Studio debugger</title>
|
|
|
|
<para>
|
|
|
|
You can use the integrated debugger of Visual Studio.
|
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
However, setting up
|
|
|
|
the environment is a bit tricky, as the win32 build process is using
|
|
|
|
makefiles instead of the .dsp/.dsw files usually used.
|
|
|
|
XXX - add instructions how to do it.
|
|
|
|
</para>
|
|
|
|
</section>
|
|
|
|
|
|
|
|
<section id="ChToolsMSDebuggingTools">
|
|
|
|
<title>Win32 native: Microsoft Debugging Tools for Windows</title>
|
|
|
|
<para>
|
|
|
|
You could also use the Microsoft debugging tools, which is a GUI debugger.
|
|
|
|
As it's not that comfortable compared to debugging in visual studio, it
|
|
|
|
can be helpful if you have to debug on a different machine.
|
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
You can get it free of charge at: <ulink
|
|
|
|
url="http://www.microsoft.com/whdc/devtools/debugging/default.mspx"/> (as
|
|
|
|
links to microsoft pages changes from time to time, search for
|
|
|
|
"Debugging Tools" at their page if this link should be outdated).
|
|
|
|
</para>
|
|
|
|
</section>
|
|
|
|
|
|
|
|
</section>
|
|
|
|
|
2004-08-21 19:02:14 +00:00
|
|
|
<section id="ChToolsMake">
|
|
|
|
<title>make</title>
|
|
|
|
|
2004-09-01 13:50:02 +00:00
|
|
|
<section id="ChToolsGNUmake">
|
2004-08-21 19:02:14 +00:00
|
|
|
<title>Unix: GNU make</title>
|
2004-08-21 20:34:22 +00:00
|
|
|
<note><title>Win32 Note!</title>
|
2004-08-21 19:02:14 +00:00
|
|
|
<para>
|
|
|
|
Although some effort is made to use make from the cygwin environment,
|
|
|
|
the mainline is still using Microsoft Visual Studio's nmake.
|
|
|
|
</para>
|
2004-08-21 20:34:22 +00:00
|
|
|
</note>
|
|
|
|
<para>
|
|
|
|
GNU make is available for most of the unix-like platforms and
|
2004-09-11 14:15:26 +00:00
|
|
|
also as the <application>make</application> package from the <link
|
|
|
|
linkend="ChToolsInstallCygwin">Cygwin setup</link>.
|
2004-08-21 20:34:22 +00:00
|
|
|
</para>
|
|
|
|
<para>
|
2004-09-11 09:20:31 +00:00
|
|
|
If GNU make isn't already installed and also not available as a package
|
|
|
|
for your platform, you can get it at:
|
|
|
|
<ulink url="http://www.gnu.org/software/make/"/>.
|
|
|
|
</para>
|
|
|
|
<para>
|
2004-08-21 20:34:22 +00:00
|
|
|
After correct installation, typing inside the bash:
|
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
<prompt>$</prompt> <userinput>make --version</userinput>
|
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
should result in something like:
|
|
|
|
<programlisting>
|
|
|
|
<![CDATA[GNU Make 3.80
|
|
|
|
Copyright (C) 2002 Free Software Foundation, Inc.
|
|
|
|
This is free software; see the source for copying conditions.
|
|
|
|
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
|
|
|
|
PARTICULAR PURPOSE.]]>
|
|
|
|
</programlisting>
|
|
|
|
However, the version string may vary.
|
|
|
|
</para>
|
2004-08-21 19:02:14 +00:00
|
|
|
</section>
|
|
|
|
|
2004-09-01 13:50:02 +00:00
|
|
|
<section id="ChToolsNmake">
|
2004-08-21 19:02:14 +00:00
|
|
|
<title>Win32 native: nmake</title>
|
|
|
|
<para>
|
|
|
|
nmake is part of the Microsoft Visual Studio suite, see comment above.
|
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
Instead of using the the workspace (.dsw) and projects (.dsp) files,
|
|
|
|
the traditional nmake makefiles are used. This has one main reason: it
|
|
|
|
makes it much easier to maintain changes simultaneous with the gcc
|
2004-08-21 20:34:22 +00:00
|
|
|
toolchain makefile.am files as both file formats are similar. However, as
|
2004-08-21 19:02:14 +00:00
|
|
|
no Visual Studio workspace/project files are available, this makes it
|
|
|
|
hard to use the Visual Studio IDE e.g. for using the integrated
|
|
|
|
debugging feature.
|
|
|
|
</para>
|
2004-08-21 20:34:22 +00:00
|
|
|
<para>
|
|
|
|
After correct installation, typing inside the command line (cmd.exe):
|
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
<prompt>></prompt> <userinput>nmake</userinput>
|
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
should result in something like:
|
|
|
|
<programlisting>
|
|
|
|
<![CDATA[Microsoft (R) Program Maintenance-Dienstprogramm: Version 6.00.9782.0
|
|
|
|
Copyright (C) Microsoft Corp 1988-1998. Alle Rechte vorbehalten.
|
|
|
|
|
|
|
|
NMAKE : fatal error U1064: MAKEFILE nicht gefunden und kein Ziel angegeben
|
|
|
|
Stop.]]]>
|
|
|
|
</programlisting>
|
|
|
|
However, the version string may vary.
|
|
|
|
</para>
|
2004-08-21 19:02:14 +00:00
|
|
|
</section>
|
|
|
|
|
|
|
|
</section>
|
|
|
|
|
|
|
|
|
|
|
|
<section id="ChToolsPython">
|
|
|
|
<title>python</title>
|
|
|
|
<para>
|
|
|
|
Python is an interpreter based programming language. The homepage of
|
|
|
|
the python project is: <ulink url="http://python.org/"/>.
|
|
|
|
Python is used to XXX. Python version 2.2 and above should be working
|
|
|
|
fine.
|
|
|
|
</para>
|
|
|
|
|
2004-09-01 13:50:02 +00:00
|
|
|
<section id="ChToolsUnixPython">
|
2004-08-21 19:02:14 +00:00
|
|
|
<title>Unix: python</title>
|
|
|
|
<para>
|
2004-08-21 20:34:22 +00:00
|
|
|
Python is available for most of the unix-like platforms and as the
|
2004-09-11 14:15:26 +00:00
|
|
|
<application>python</application> package from the <link
|
|
|
|
linkend="ChToolsInstallCygwin">Cygwin setup</link>
|
2004-08-21 19:02:14 +00:00
|
|
|
</para>
|
|
|
|
<para>
|
2004-09-11 09:20:31 +00:00
|
|
|
If Python isn't already installed and also not available as a package
|
|
|
|
for your platform, you can get it at:
|
|
|
|
<ulink url="http://www.python.org/"/>.
|
|
|
|
</para>
|
|
|
|
<para>
|
2004-08-21 20:34:22 +00:00
|
|
|
After correct installation, typing inside the bash:
|
2004-08-21 19:02:14 +00:00
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
<userinput>$ python -V</userinput>
|
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
should result in something like:
|
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
<computeroutput>Python 2.3.3</computeroutput>
|
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
However, the version string may vary.
|
|
|
|
</para>
|
|
|
|
</section>
|
|
|
|
|
2004-09-01 13:50:02 +00:00
|
|
|
<section id="ChToolsWin32Python">
|
2004-08-21 19:02:14 +00:00
|
|
|
<title>Win32 native: python</title>
|
|
|
|
<para>
|
|
|
|
Have a look at <ulink url="http://python.org/download/"/>
|
|
|
|
to download the latest stable release. You can download a setup there,
|
|
|
|
which will install the python system typically into:
|
|
|
|
C:\python23 or similiar.
|
|
|
|
</para>
|
|
|
|
</section>
|
|
|
|
|
|
|
|
</section>
|
|
|
|
|
|
|
|
|
|
|
|
<section id="ChToolsPerl">
|
|
|
|
<title>perl</title>
|
|
|
|
<para>
|
|
|
|
Perl is an interpreter based programming language. The homepage of the
|
|
|
|
perl project is: <ulink url="http://www.perl.com"/>.
|
|
|
|
Perl is used to XXX. Perl version XXX and above should be working fine.
|
|
|
|
</para>
|
|
|
|
|
2004-09-01 13:50:02 +00:00
|
|
|
<section id="ChToolsUnixPerl">
|
2004-08-21 19:02:14 +00:00
|
|
|
<title>Unix: perl</title>
|
|
|
|
<para>
|
2004-08-21 20:34:22 +00:00
|
|
|
Perl is available for most of the unix-like platforms and as the
|
2004-09-11 14:15:26 +00:00
|
|
|
<application>perl</application> package from the <link
|
|
|
|
linkend="ChToolsInstallCygwin">Cygwin setup</link>.
|
2004-08-21 19:02:14 +00:00
|
|
|
</para>
|
|
|
|
<para>
|
2004-09-11 09:20:31 +00:00
|
|
|
If Perl isn't already installed and also not available as a package
|
|
|
|
for your platform, you can get it at:
|
|
|
|
<ulink url="http://www.perl.com/"/>.
|
|
|
|
</para>
|
|
|
|
<para>
|
2004-08-21 20:34:22 +00:00
|
|
|
After correct installation, typing inside the bash:
|
2004-08-21 19:02:14 +00:00
|
|
|
</para>
|
2004-08-21 20:34:22 +00:00
|
|
|
<para>
|
|
|
|
<prompt>$</prompt> <userinput>perl --version</userinput>
|
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
should result in something like:
|
|
|
|
<programlisting>
|
|
|
|
<![CDATA[This is perl, v5.8.5 built for cygwin-thread-multi-64int
|
|
|
|
|
|
|
|
Copyright 1987-2004, Larry Wall
|
|
|
|
|
|
|
|
Perl may be copied only under the terms of either the Artistic License or the
|
|
|
|
GNU General Public License, which may be found in the Perl 5 source kit.
|
|
|
|
|
|
|
|
Complete documentation for Perl, including FAQ lists, should be found on
|
|
|
|
this system using `man perl' or `perldoc perl'. If you have access to the
|
|
|
|
Internet, point your browser at http://www.perl.com/, the Perl Home Page.]]>
|
|
|
|
</programlisting>
|
|
|
|
However, the version string may vary.
|
|
|
|
</para>
|
|
|
|
|
2004-08-21 19:02:14 +00:00
|
|
|
</section>
|
|
|
|
|
2004-09-01 13:50:02 +00:00
|
|
|
<section id="ChToolsWin32Perl">
|
2004-08-21 19:02:14 +00:00
|
|
|
<title>Win32 native: perl</title>
|
|
|
|
<para>
|
|
|
|
A native Win32 perl package can be obtained from
|
|
|
|
<ulink url="http://www.ActiveState.com"/>. The
|
|
|
|
installation should be straightforward.
|
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
After correct installation, typing inside the command line (cmd.exe):
|
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
<prompt>></prompt> <userinput>perl -v</userinput>
|
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
should result in something like:
|
|
|
|
<programlisting>
|
|
|
|
<![CDATA[This is perl, v5.8.0 built for MSWin32-x86-multi-thread
|
|
|
|
(with 1 registered patch, see perl -V for more detail)
|
|
|
|
|
|
|
|
Copyright 1987-2002, Larry Wall
|
|
|
|
|
|
|
|
Binary build 805 provided by ActiveState Corp. http://www.ActiveState.com
|
|
|
|
Built 18:08:02 Feb 4 2003
|
|
|
|
|
|
|
|
...]]>
|
|
|
|
</programlisting>
|
|
|
|
However, the version string may vary.
|
|
|
|
</para>
|
|
|
|
</section>
|
|
|
|
|
|
|
|
</section>
|
|
|
|
|
|
|
|
<section id="ChToolsSed">
|
|
|
|
<title>sed</title>
|
|
|
|
<para>
|
|
|
|
Sed it the streaming editor. It makes it easy for example to replace
|
|
|
|
specially marked texts inside a source code file. The Ethereal build
|
|
|
|
process uses this to stamp version strings into various places.
|
|
|
|
</para>
|
|
|
|
|
2004-09-01 13:50:02 +00:00
|
|
|
<section id="ChToolsUnixSed">
|
2004-08-21 19:02:14 +00:00
|
|
|
<title>Unix: sed</title>
|
|
|
|
<para>
|
2004-08-21 20:34:22 +00:00
|
|
|
Sed is available for most of the unix-like platforms and as the
|
2004-09-11 14:15:26 +00:00
|
|
|
<application>sed</application> package from the <link
|
|
|
|
linkend="ChToolsInstallCygwin">Cygwin setup</link>.
|
2004-08-21 19:02:14 +00:00
|
|
|
</para>
|
|
|
|
<para>
|
2004-09-11 09:20:31 +00:00
|
|
|
If Sed isn't already installed and also not available as a package
|
|
|
|
for your platform, you can get it at:
|
|
|
|
<ulink url="http://sed.sourceforge.net/"/>
|
|
|
|
(XXX - is this the official home?).
|
|
|
|
</para>
|
|
|
|
<para>
|
2004-08-21 20:34:22 +00:00
|
|
|
After correct installation, typing inside the bash:
|
2004-08-21 19:02:14 +00:00
|
|
|
</para>
|
|
|
|
<para>
|
2004-08-21 20:34:22 +00:00
|
|
|
<prompt>$</prompt> <userinput>sed --version</userinput>
|
2004-08-21 19:02:14 +00:00
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
should result in something like:
|
|
|
|
<programlisting>
|
|
|
|
<![CDATA[GNU sed version 4.0.9
|
|
|
|
Copyright (C) 2003 Free Software Foundation, Inc.
|
|
|
|
This is free software; see the source for copying conditions. There is NO
|
|
|
|
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE,
|
|
|
|
to the extent permitted by law.]]>
|
|
|
|
</programlisting>
|
|
|
|
However, the version string may vary.
|
|
|
|
</para>
|
|
|
|
</section>
|
|
|
|
|
2004-09-01 13:50:02 +00:00
|
|
|
<section id="ChToolsWin32Sed">
|
2004-08-21 20:34:22 +00:00
|
|
|
<title>Win32 native: -</title>
|
2004-08-21 19:02:14 +00:00
|
|
|
<para>
|
|
|
|
The authors don't know of any working win32 native sed implementation.
|
|
|
|
</para>
|
|
|
|
</section>
|
|
|
|
|
|
|
|
</section>
|
|
|
|
|
2004-08-21 20:34:22 +00:00
|
|
|
<section id="ChToolsYacc">
|
|
|
|
<title>yacc (bison)</title>
|
2004-08-21 19:02:14 +00:00
|
|
|
<para>
|
2004-08-21 20:34:22 +00:00
|
|
|
Bison is a free implementation of yacc.
|
2004-08-21 19:02:14 +00:00
|
|
|
</para>
|
|
|
|
|
2004-09-01 13:50:02 +00:00
|
|
|
<section id="ChToolsUnixYacc">
|
2004-08-21 20:34:22 +00:00
|
|
|
<title>Unix: bison</title>
|
|
|
|
<para>
|
2004-08-21 22:46:25 +00:00
|
|
|
Bison is available for most of the unix-like platforms and as the
|
2004-09-11 14:15:26 +00:00
|
|
|
<application>bison</application> package from the <link
|
|
|
|
linkend="ChToolsInstallCygwin">Cygwin setup</link>.
|
2004-08-21 20:34:22 +00:00
|
|
|
</para>
|
|
|
|
<para>
|
2004-09-11 09:20:31 +00:00
|
|
|
If GNU Bison isn't already installed and also not available as a package
|
|
|
|
for your platform, you can get it at:
|
|
|
|
<ulink url="http://www.gnu.org/software/bison/bison.html"/>.
|
|
|
|
</para>
|
|
|
|
<para>
|
2004-08-21 20:34:22 +00:00
|
|
|
After correct installation, typing inside the bash:
|
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
<prompt>$</prompt> <userinput>bison --version</userinput>
|
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
should result in something like:
|
|
|
|
<programlisting>
|
|
|
|
<![CDATA[bison (GNU Bison) 1.875b
|
|
|
|
Written by Robert Corbett and Richard Stallman.
|
|
|
|
|
|
|
|
Copyright (C) 2003 Free Software Foundation, Inc.
|
|
|
|
This is free software; see the source for copying conditions. There is NO
|
|
|
|
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.]]>
|
|
|
|
</programlisting>
|
|
|
|
However, the version string may vary.
|
|
|
|
</para>
|
|
|
|
</section>
|
|
|
|
|
2004-09-01 13:50:02 +00:00
|
|
|
<section id="ChToolsWin32Yacc">
|
2004-08-21 20:34:22 +00:00
|
|
|
<title>Win32 native: -</title>
|
|
|
|
<para>
|
|
|
|
The authors don't know of any working win32 native yacc/bison
|
|
|
|
implementation.
|
|
|
|
</para>
|
|
|
|
</section>
|
|
|
|
</section>
|
|
|
|
|
|
|
|
|
|
|
|
<section id="ChToolsLexx">
|
|
|
|
<title>lexx (flex)</title>
|
|
|
|
<para>
|
|
|
|
Flex is a free implementation of lexx.
|
|
|
|
</para>
|
|
|
|
|
2004-09-01 13:50:02 +00:00
|
|
|
<section id="ChToolsUnixLexx">
|
2004-08-21 20:34:22 +00:00
|
|
|
<title>Unix: flex</title>
|
|
|
|
<para>
|
2004-08-21 22:46:25 +00:00
|
|
|
Flex is available for most of the unix-like platforms and as the
|
2004-09-11 14:15:26 +00:00
|
|
|
<application>flex</application> package from the <link
|
|
|
|
linkend="ChToolsInstallCygwin">Cygwin setup</link>.
|
2004-08-21 20:34:22 +00:00
|
|
|
</para>
|
|
|
|
<para>
|
2004-09-11 09:20:31 +00:00
|
|
|
If GNU Flex isn't already installed and also not available as a package
|
|
|
|
for your platform, you can get it at:
|
|
|
|
<ulink url="http://www.gnu.org/software/flex/"/>.
|
|
|
|
</para>
|
|
|
|
<para>
|
2004-08-21 20:34:22 +00:00
|
|
|
After correct installation, typing inside the bash:
|
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
<prompt>$</prompt> <userinput>flexx --version</userinput>
|
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
should result in something like:
|
|
|
|
<programlisting>
|
|
|
|
<![CDATA[flex version 2.5.4]]>
|
|
|
|
</programlisting>
|
|
|
|
However, the version string may vary.
|
|
|
|
</para>
|
|
|
|
</section>
|
|
|
|
|
2004-09-01 13:50:02 +00:00
|
|
|
<section id="ChToolsWin32Lexx">
|
2004-08-21 20:34:22 +00:00
|
|
|
<title>Win32 native: -</title>
|
|
|
|
<para>
|
|
|
|
The authors don't know of any working win32 native lexx/flex
|
|
|
|
implementation.
|
|
|
|
</para>
|
|
|
|
</section>
|
|
|
|
</section>
|
|
|
|
|
|
|
|
|
|
|
|
<section id="ChToolsSubversion">
|
|
|
|
<title>Subversion (SVN) client (optional)</title>
|
|
|
|
<para>
|
2004-09-01 09:31:06 +00:00
|
|
|
The Ethereal project uses it's own subversion (or short SVN) server to keep
|
|
|
|
track of all the changes done to the source code. Details about the usage
|
|
|
|
of subversion in the Ethereal project can be found in <xref
|
|
|
|
linkend="ChSrcSVNServer"/>.
|
2004-08-21 20:34:22 +00:00
|
|
|
</para>
|
2004-08-22 11:19:46 +00:00
|
|
|
<para>
|
|
|
|
If you want to work with the source code and planning to commit your
|
2004-09-01 09:31:06 +00:00
|
|
|
changes back to the Ethereal community, it is recommended to use a SVN
|
|
|
|
client to get the latest source files. For detailed information about the
|
|
|
|
different ways to obtain the Ethereal sources, see
|
|
|
|
<xref linkend="ChSrcObtaining"/>.
|
2004-08-22 11:19:46 +00:00
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
Along with the traditional command-line client, several GUI clients are
|
|
|
|
available for a number of platforms, see
|
2004-09-01 09:31:06 +00:00
|
|
|
<ulink url="http://subversion.tigris.org/project_links.html"/>.
|
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
You will find more instructions in <xref linkend="ChSrcAnon"/> how to
|
|
|
|
use the subversion client.
|
2004-08-22 11:19:46 +00:00
|
|
|
</para>
|
2004-08-21 20:34:22 +00:00
|
|
|
|
2004-09-01 13:50:02 +00:00
|
|
|
<section id="ChToolsUnixSVN">
|
2004-08-21 20:34:22 +00:00
|
|
|
<title>Unix: svn</title>
|
2004-08-21 19:02:14 +00:00
|
|
|
<para>
|
2004-08-21 22:46:25 +00:00
|
|
|
SVN is available for most of the unix-like platforms and as the
|
2004-09-11 14:15:26 +00:00
|
|
|
<application>SVN</application> package from the <link
|
|
|
|
linkend="ChToolsInstallCygwin">Cygwin setup</link>
|
2004-08-21 22:46:25 +00:00
|
|
|
</para>
|
|
|
|
<para>
|
2004-09-11 09:20:31 +00:00
|
|
|
If Subversion isn't already installed and also not available as a package
|
|
|
|
for your platform, you can get it at:
|
|
|
|
<ulink url="http://subversion.tigris.org/"/> (together with the server
|
|
|
|
software).
|
|
|
|
</para>
|
|
|
|
<para>
|
2004-08-21 22:46:25 +00:00
|
|
|
After correct installation, typing inside the bash:
|
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
<prompt>$</prompt> <userinput>svn --version</userinput>
|
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
should result in something like:
|
|
|
|
<programlisting>
|
|
|
|
<![CDATA[svn, version 1.0.5 (r9954)
|
|
|
|
compiled Jun 20 2004, 23:28:30
|
|
|
|
|
|
|
|
Copyright (C) 2000-2004 CollabNet.
|
|
|
|
Subversion is open source software, see http://subversion.tigris.org/
|
|
|
|
This product includes software developed by CollabNet (http://www.Collab.Net/).
|
|
|
|
|
|
|
|
...]]>
|
|
|
|
</programlisting>
|
|
|
|
However, the version string may vary.
|
2004-08-21 19:02:14 +00:00
|
|
|
</para>
|
|
|
|
</section>
|
|
|
|
|
2004-09-01 13:50:02 +00:00
|
|
|
<section id="ChToolsTortoiseSVN">
|
2004-08-21 20:34:22 +00:00
|
|
|
<title>Win32 native: TortoiseSVN</title>
|
|
|
|
<para>
|
|
|
|
A good subversion client for Win32 can be found at:
|
2004-08-21 22:46:25 +00:00
|
|
|
<ulink url="http://tortoisesvn.tigris.org/"/>. It will nicely integrate
|
2004-09-01 09:31:06 +00:00
|
|
|
into the windows Explorer window.
|
2004-08-21 20:34:22 +00:00
|
|
|
</para>
|
|
|
|
</section>
|
|
|
|
|
|
|
|
</section>
|
|
|
|
|
|
|
|
<section id="ChToolsDiff">
|
|
|
|
<title>diff (optional)</title>
|
|
|
|
<para>
|
|
|
|
Diff is used to get a file of all differences between two source
|
2004-08-22 11:19:46 +00:00
|
|
|
files/trees (sometimes called a patch). The diff tool isn't needed for
|
|
|
|
building ethereal, but it's needed if you are going to commit your changes
|
|
|
|
back to the ethereal community.
|
|
|
|
</para>
|
|
|
|
<note><title>Note!</title>
|
|
|
|
<para>
|
|
|
|
The recommended way to build patches is using the subversion client,
|
|
|
|
see <xref linkend="ChToolsSubversion"/> for details.
|
|
|
|
</para>
|
|
|
|
</note>
|
|
|
|
<para>
|
|
|
|
You will find more instructions in <xref linkend="ChSrcDiff"/> how to
|
|
|
|
use the diff tool.
|
2004-08-21 20:34:22 +00:00
|
|
|
</para>
|
|
|
|
|
2004-09-01 13:50:02 +00:00
|
|
|
<section id="ChToolsGNUDiff">
|
2004-08-21 20:34:22 +00:00
|
|
|
<title>Unix: GNU diff</title>
|
2004-08-21 19:02:14 +00:00
|
|
|
<para>
|
2004-08-21 22:46:25 +00:00
|
|
|
Diff is available for most of the unix-like platforms and as the
|
2004-09-11 14:15:26 +00:00
|
|
|
<application>diffutils</application> package from the <link
|
|
|
|
linkend="ChToolsInstallCygwin">Cygwin setup</link>.
|
2004-09-11 09:20:31 +00:00
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
If GNU diff isn't already installed and also not available as a package
|
|
|
|
for your platform, you can get it at:
|
|
|
|
<ulink url="http://www.gnu.org/software/diffutils/diffutils.html"/>.
|
2004-08-21 19:02:14 +00:00
|
|
|
</para>
|
|
|
|
<para>
|
2004-08-21 20:34:22 +00:00
|
|
|
After correct installation, typing inside the bash:
|
|
|
|
</para>
|
|
|
|
<para>
|
2004-08-21 19:02:14 +00:00
|
|
|
<prompt>$</prompt> <userinput>diff --version</userinput>
|
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
should result in something like:
|
|
|
|
<programlisting>
|
2004-08-21 20:34:22 +00:00
|
|
|
<![CDATA[diff (GNU diffutils) 2.8.7
|
2004-08-21 19:02:14 +00:00
|
|
|
Written by Paul Eggert, Mike Haertel, David Hayes,
|
2004-08-21 20:34:22 +00:00
|
|
|
Richard Stallman, and Len Tower.
|
|
|
|
|
|
|
|
Copyright (C) 2004 Free Software Foundation, Inc.
|
|
|
|
This is free software; see the source for copying conditions. There is NO
|
|
|
|
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.]]>
|
2004-08-21 19:02:14 +00:00
|
|
|
</programlisting>
|
|
|
|
However, the version string may vary.
|
|
|
|
</para>
|
|
|
|
</section>
|
|
|
|
|
2004-09-01 13:50:02 +00:00
|
|
|
<section id="ChToolsWin32Diff">
|
2004-08-21 20:34:22 +00:00
|
|
|
<title>Win32 native: -</title>
|
2004-08-21 19:02:14 +00:00
|
|
|
<para>
|
|
|
|
The authors don't know of any working win32 native diff implementation.
|
|
|
|
</para>
|
|
|
|
</section>
|
|
|
|
|
|
|
|
</section>
|
|
|
|
|
|
|
|
|
|
|
|
<section id="ChToolsPatch">
|
|
|
|
<title>patch (optional)</title>
|
|
|
|
<para>
|
|
|
|
The patch utility is used to merge a diff file into your own source
|
2004-08-22 11:19:46 +00:00
|
|
|
tree. This tool is only needed, if you want to apply a patch (diff file)
|
|
|
|
from someone else (probably from the developer mailing list) to try out
|
|
|
|
in your own private source tree.
|
|
|
|
</para>
|
|
|
|
<tip><title>Tip!</title>
|
|
|
|
<para>
|
|
|
|
Unless you are in the rare case needing to apply a patch to your private
|
|
|
|
source tree, you won't need the patch tool installed.
|
2004-08-21 19:02:14 +00:00
|
|
|
</para>
|
2004-08-22 11:19:46 +00:00
|
|
|
</tip>
|
2004-09-01 09:31:06 +00:00
|
|
|
<para>
|
|
|
|
You will find more instructions in <xref linkend="ChSrcPatchApply"/> how
|
|
|
|
to use the patch tool.
|
|
|
|
</para>
|
2004-08-21 19:02:14 +00:00
|
|
|
|
2004-09-01 13:50:02 +00:00
|
|
|
<section id="ChToolsUnixPatch">
|
2004-08-21 19:02:14 +00:00
|
|
|
<title>Unix: patch</title>
|
|
|
|
<para>
|
2004-08-21 22:46:25 +00:00
|
|
|
Patch is available for most of the unix-like platforms and as the
|
2004-09-11 14:15:26 +00:00
|
|
|
<application>patch</application> package from the <link
|
|
|
|
linkend="ChToolsInstallCygwin">Cygwin setup</link>.
|
2004-08-21 19:02:14 +00:00
|
|
|
</para>
|
|
|
|
<para>
|
2004-09-11 09:20:31 +00:00
|
|
|
If GNU patch isn't already installed and also not available as a package
|
|
|
|
for your platform, you can get it at:
|
|
|
|
<ulink url="http://www.gnu.org/software/patch/patch.html"/>.
|
|
|
|
</para>
|
|
|
|
<para>
|
2004-08-21 20:34:22 +00:00
|
|
|
After correct installation, typing inside the bash:
|
2004-08-21 19:02:14 +00:00
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
<prompt>$</prompt> <userinput>patch --version</userinput>
|
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
should result in something like:
|
|
|
|
<programlisting>
|
|
|
|
<![CDATA[patch 2.5.8
|
|
|
|
Copyright (C) 1988 Larry Wall
|
|
|
|
Copyright (C) 2002 Free Software Foundation, Inc.
|
|
|
|
|
|
|
|
This program comes with NO WARRANTY, to the extent permitted by law.
|
|
|
|
You may redistribute copies of this program
|
|
|
|
under the terms of the GNU General Public License.
|
|
|
|
For more information about these matters, see the file named COPYING.
|
|
|
|
|
|
|
|
written by Larry Wall and Paul Eggert]]>
|
|
|
|
</programlisting>
|
|
|
|
However, the version string may vary.
|
|
|
|
</para>
|
|
|
|
</section>
|
|
|
|
|
2004-09-01 13:50:02 +00:00
|
|
|
<section id="ChToolsWin32Patch">
|
2004-08-21 20:34:22 +00:00
|
|
|
<title>Win32 native: -</title>
|
2004-08-21 19:02:14 +00:00
|
|
|
<para>
|
2004-08-21 20:34:22 +00:00
|
|
|
The authors don't know of any working win32 native patch implementation.
|
2004-08-21 19:02:14 +00:00
|
|
|
</para>
|
|
|
|
</section>
|
|
|
|
|
|
|
|
</section>
|
|
|
|
|
|
|
|
|
|
|
|
<section id="ChToolsWget">
|
2004-09-11 09:20:31 +00:00
|
|
|
<title>Win32: GNU wget (optional)</title>
|
2004-08-21 19:02:14 +00:00
|
|
|
<para>
|
2004-09-11 09:20:31 +00:00
|
|
|
GNU wget is used to download files from the internet using the command line.
|
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
GNU wget is available for most of the unix-like platforms and as the
|
2004-09-11 14:15:26 +00:00
|
|
|
<application>wget</application> package from the <link
|
|
|
|
linkend="ChToolsInstallCygwin">Cygwin setup</link>.
|
2004-08-21 22:46:25 +00:00
|
|
|
</para>
|
|
|
|
<para>
|
2004-08-23 19:46:18 +00:00
|
|
|
You will only need wget, if you want to use the win32 automated library
|
|
|
|
download, see <xref linkend="ChLibsSetup"/> for details.
|
2004-08-21 22:46:25 +00:00
|
|
|
</para>
|
|
|
|
<para>
|
2004-09-11 09:20:31 +00:00
|
|
|
If GNU wget isn't already installed and also not available as a package
|
|
|
|
for your platform (well, for win32 it is available as a cygwin package),
|
|
|
|
you can get it at:
|
|
|
|
<ulink url="http://www.gnu.org/software/wget/wget.html"/>.
|
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
If wget is trying to download files but fails to do so, your internet
|
|
|
|
connection might use a HTTP proxy. Some internet providers using such a
|
|
|
|
proxy and it is common for company networks today. In this case, you
|
|
|
|
must set the environment variable
|
|
|
|
http_proxy before using wget. For example, if you are behind proxy.com
|
|
|
|
which is listening on port 8080, you have to set it to something like:
|
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
<programlisting>set HTTP_PROXY=http://proxy.com:8080/</programlisting>
|
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
If you are unsure about the settings, you might ask your system
|
|
|
|
administrator.
|
2004-08-21 19:02:14 +00:00
|
|
|
</para>
|
|
|
|
</section>
|
|
|
|
|
|
|
|
|
|
|
|
<section id="ChToolsNSIS">
|
2004-08-21 20:34:22 +00:00
|
|
|
<title>Win32: NSIS (optional)</title>
|
2004-08-21 19:02:14 +00:00
|
|
|
<para>
|
|
|
|
The NSIS (Nullsoft Scriptable Install System) is used to generate a
|
|
|
|
setup.exe from all the files needed to be installed, including all
|
|
|
|
required DLL's and such.
|
|
|
|
</para>
|
|
|
|
<para>
|
2004-08-21 20:34:22 +00:00
|
|
|
To install it, simply download the latest released version (currently: 2.0
|
2004-08-21 19:02:14 +00:00
|
|
|
final) from <ulink url="http://nsis.sourceforge.net"/>
|
2004-08-21 20:34:22 +00:00
|
|
|
and start the downloaded installer. You will need NSIS version 2 final
|
|
|
|
or higher.
|
2004-08-21 19:02:14 +00:00
|
|
|
</para>
|
2004-09-01 09:31:06 +00:00
|
|
|
<para>
|
|
|
|
You will find more instructions in <xref linkend="ChSrcNSIS"/> how to
|
|
|
|
use the NSIS tool.
|
|
|
|
</para>
|
2004-08-21 19:02:14 +00:00
|
|
|
</section>
|
|
|
|
|
|
|
|
|
2004-08-22 11:19:46 +00:00
|
|
|
<section id="ChToolsCVS">
|
|
|
|
<title>Obsolete: CVS client</title>
|
|
|
|
<para>
|
|
|
|
Some time ago, the Ethereal project was using CVS to keep track of all
|
|
|
|
the source code changes. As now subversion (SVN) is used, a CVS client
|
|
|
|
is no longer helpful, see <xref linkend="ChToolsSubversion"/> for details
|
|
|
|
about subversion clients.
|
|
|
|
</para>
|
|
|
|
</section>
|
|
|
|
|
|
|
|
|
2004-09-01 11:51:08 +00:00
|
|
|
<section id="ChToolsWin32Verify">
|
|
|
|
<title>Win32: Verify installed tools</title>
|
|
|
|
<para>
|
|
|
|
After you've installed the Ethereal sources (see <xref
|
|
|
|
linkend="ChSrcObtaining"/>), you can check the correct installation of
|
|
|
|
all tools by using the verify_tools target of the
|
|
|
|
<filename>Makefile.nmake</filename> from the source package.
|
|
|
|
</para>
|
|
|
|
<warning><title>Warning!</title>
|
|
|
|
<para>
|
|
|
|
You will need the Ethereal sources and some tools (nmake, bash) installed,
|
|
|
|
before this verification is able to work.
|
|
|
|
</para>
|
|
|
|
</warning>
|
|
|
|
<para>
|
|
|
|
Enter at the command line:
|
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
<prompt>></prompt>
|
|
|
|
<userinput>nmake -f Makefile.nmake verify_tools</userinput>
|
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
This will check for the various tools needed to build Ethereal:
|
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
<programlisting>
|
|
|
|
<![CDATA[Checking for required applications:
|
|
|
|
bash: /usr/bin/bash
|
|
|
|
bison: /usr/bin/bison
|
|
|
|
flex: /usr/bin/flex
|
|
|
|
grep: /usr/bin/grep
|
|
|
|
perl: /usr/bin/perl
|
|
|
|
env: /usr/bin/env
|
|
|
|
python: /usr/bin/python
|
|
|
|
sed: /usr/bin/sed
|
|
|
|
unzip: /usr/bin/unzip
|
|
|
|
wget: /usr/bin/wget]]>
|
|
|
|
</programlisting>
|
2004-09-11 14:15:26 +00:00
|
|
|
</para>
|
2004-09-01 11:51:08 +00:00
|
|
|
</section>
|
|
|
|
|
2004-08-21 19:02:14 +00:00
|
|
|
</chapter>
|
|
|
|
<!-- End of EUG Chapter Tools -->
|