1. Download the Developer’s Guide from Ethereal’s web site ( http://www.ethereal.com/ ). It is an important key to start develop progress for the first time:
a) Open http://www.ethereal.com/docs/ ;
b) Choose favorite Developer’s Guide format to download;
2. (Recommended) Look through the Developer’s Guide to have a mainly impression of developing steps;
3. Install tools:
a) Install Microsoft Visual C++ 6.0;
After installation, run “cmd.exe”
→ > cl
Result in something like:
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 12.00.8804 for 80x86
Copyright (C) Microsoft Corp 1984-1998. All rights reserved.
usage: cl [ option... ] filename... [ /link linkoption... ]
b) Install Win32 Cygwin (Win32 native need to download too many tools from different web sites. So Cygwin is used here) :
Open http://www.cygwin.com/ ;
Click “Install Cygwin Now” icon to download “setup.exe”;
Run “setup.exe”
→ Next
→ Select “Install from Internet”
→ Next (Keeping default installation options – c:\cygwin)
→ Select directory to store downloaded packages
→ Next (Keeping default Internet connection – Direct Connection)
→ Select download site (You may try several times in this step, because some site may not be available)
→ Select packages (Keep default selection for the first time)
→ Start download and install (This may take some time according to network speed)
→ Finish
Make sure that “c:\cygwin\bin\” is added to environment variable PATH;
c) Add Cygwin options:
yacc (bison) – After installation, run “cmd.exe”:
→ > bison --version
Result in something like:
bison (GNU Bison) 2.1
Written by Robert Corbett and Richard Stallman.
Copyright (C) 2005 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.
lexx (flex) – After installation, run “cmd.exe”:
→ > flex --version
Result in something like:
flex version 2.5.4
perl – After installation, run “cmd.exe”:
→ > perl --version
Result in something like:
This is perl, v5.8.7 built for MSWin32-x86-multi-thread
(with 14 registered patches, see perl -V for more detail)
Copyright 1987-2005, Larry Wall
Binary build 815 [211909] provided by ActiveState http://www.ActiveState.com
ActiveState is a division of Sophos.
Built Nov 2 2005 08:44:52
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.org/, the Perl Home Page.
python – After installation, run “cmd.exe”:
→ > python -V
Result in something like:
Python 2.4.2
unzip
wget
d) Install other tools:
WinPcap ( http://www.winpcap.org/install/default.htm )
Download “WinPcap auto-installer (driver+DLLs)”
NSIS ( http://nsis.sourceforge.net/Download )
Download “nsis-2.15-setup.exe” (Default install directory is c:\program files\nsis\)
4. Obtain released sources:
a) Open http://www.ethereal.com/distribution/buildbot-builds/source/ ;
b) Download source package of desired version;
c) Un-pack sources to project directory (d:\ethereal\);
d) (Recommended) Read README.win32 for detail;
5. Download library:
a) Run cmd.exe;
b) Enter project directory (d:\ethereal\);
c) > nmake –f Makefile.nmake setup (Check needed tools, then download the zipped libraries and install all required library files. Default directory is c:\ethereal-win32-libs. It can be changed by modify ETHEREAL_LIBS in config.nmake);
d) (Recommended)
Make directory c:\ethereal-win32-libs\dll;
Copy all *.dll files to directory c:\ethereal-win32-libs\dll\;
Make sure that “c:\ethereal-win32-libs\dll\” is added to environment variable PATH;
6. Build Ethereal for the first time:
a) Run cmd.exe;
b) Enter project directory (d:\ethereal\);
c) > nmake –f Makefile.nmake distclean
d) > nmake –f Makefile.nmake all
If succeed to make all the files, it will generate ethereal.exe under project directory (d:\ethereal\);
e) (Recommended)
New environment variable ETHEREAL_PATH=d:\ethereal;
New environment variable
ETHEREAL_DLL= %ETHEREAL_PATH%/wiretap;%ETHEREAL_PATH%\epan;%ETHEREAL_PATH%\plugins\acn;%ETHEREAL_PATH%\plugins\agentx;%ETHEREAL_PATH%\plugins\artnet;%ETHEREAL_PATH%\plugins\asn1;%ETHEREAL_PATH%\plugins\ciscosm;%ETHEREAL_PATH%\plugins\docsis;%ETHEREAL_PATH%\plugins\enttec;%ETHEREAL_PATH%\plugins\giop;%ETHEREAL_PATH%\plugins\gryphon;%ETHEREAL_PATH%\plugins\h223;%ETHEREAL_PATH%\plugins\irda;%ETHEREAL_PATH%\plugins\lwres;%ETHEREAL_PATH%\plugins\mate;%ETHEREAL_PATH%\plugins\megaco;%ETHEREAL_PATH%\plugins\mgcp;%ETHEREAL_PATH%\plugins\opsi;%ETHEREAL_PATH%\plugins\pcli;%ETHEREAL_PATH%\plugins\profinet;%ETHEREAL_PATH%\plugins\rdm;%ETHEREAL_PATH%\plugins\rlm;%ETHEREAL_PATH%\plugins\rtnet;%ETHEREAL_PATH%\plugins\rudp;%ETHEREAL_PATH%\plugins\stats_tree;%ETHEREAL_PATH%\plugins\v5ua;
Make sure that “%ETHEREAL_DLL%” is added to environment variable PATH;
7. Run Ethereal for the first time:
a) Run cmd.exe;
b) Enter project directory (d:\ethereal\);
c) > ethereal.exe
8. Packing ethereal:
a) Run cmd.exe;
b) Enter project directory (d:\ethereal\);
c) > nmake –f Makefile.nmake packaging
If NSIS isn’t installed to default directory, make sure that MAKENSIS in config.nmake is set to right directory;
If succeed to pack, it will generate ethereal-setup-x.xx.xx-SVN-xxxxx.exe under d:\ethereal\packaging\nsis\;
Ethereal version can be changed by modify VERSION in config.nmake;