The Win32 build builds wiretap as a DLL and requires WinPcap 2.1.
[metze/wireshark/wip.git] / README.win32
1 $Id: README.win32,v 1.20 2001/03/23 02:05:22 gram Exp $
2
3 Running Ethereal, Tethereal, and Editcap on Win32
4 =================================================
5 You need the glib and gtk libraries for running Ethereal. 
6
7 These packages for win32 can be found at:
8
9         http://www.ethereal.com/distribution/win32
10
11 and at the home page for the GTK+ for Win32 project:
12
13         http://www.gimp.org/~tml/gimp/win32
14
15 or
16         http://www.iki.fi/tml/gimp/win32/
17
18 (the mirror nearer to you may be faster).
19
20 Plugins (gryphon.dll and mgcp.dll) can go in:
21         C:\Program Files\Ethereal\plugins\<version>
22         C:\Ethereal\plugins\<version>
23
24 Where <version> is the version number, without brackets.
25 For example, C:\Ethereal\plugins\0.8.16
26
27 Yes, the location of plugins needs to be more flexible.
28
29 Make sure the glib and gtk DLL's are in your path - i.e., that your path
30 includes the directory (folder) or directories (folders) in which those
31 DLLs are found - when you run Ethereal.  This includes gtk-*.dll,
32 glib-*.dll, gmodule-*.dll, gdk-*.dll, and gnu-intl.dll.  As of the
33 20000805 GTK+/GLIB distribution, gthread-*.dll is no longer needed.
34
35 The Win32 Binary distribution, available from
36
37         http://www.ethereal.com/distribution/win32
38
39 used different version of the GTK+/GLIB libraries at different points
40 in time:
41
42 Ethereal Version                GTK+/GLIB version
43 ----------------                -----------------
44 0.8.16 and after                20001226
45 0.8.11 - 0.8.15                 20000805
46 0.8.9 - 0.8.10                  20000416
47 0.8.8 and before                19990828
48
49
50 Capturing Packets
51 -----------------
52 Remember, if using the the Win32 Binary distribution, available from
53
54         http://www.ethereal.com/distribution/win32
55
56 there are two separate packages, one with non-capturing tools, and
57 one with capturing tools. Install the appropriate package. The
58 capturing version requires WinPcap 2.1, the non-capturing version does not.
59
60 In order to capture with Win32, you need to install the NDIS
61 packet capture driver for your particular Win32 OS; drivers for Windows
62 9x, Windows NT 4.0, and Windows 2000 can be downlaoded from the
63 WinPcap home page:
64
65         http://netgroup-serv.polito.it/winpcap/
66
67 If Ethereal is not capturing packets, you can test your WinPcap
68 installation by installing WinDump (TCPdump for Windows) ported by the
69 same folks who make WinPcap. It's at:
70
71         http://netgroup-serv.polito.it/windump/
72
73 They also make Analyzer, a GUI sniffer for Win32:
74
75         http://netgroup-serv.polito.it/analyzer/
76
77
78 Compiling the Ethereal distribution from source
79 ===============================================
80 You'll need the development package for GLIB, GTK+, and WinPcap.
81 Those versions are available from the respctive home pages for
82 each project (the same URLs as listed above). The development
83 packages contain header files and stub libaries to link against.
84
85 SNMP and ZLIB are not working yet in Ethereal/Win32, but the
86 libraries can be had from these locations if you want to hack:
87
88 The UCD SNMP library for win32 can be had from
89
90         ftp://ftp.revelstone.com/pub/snmp/
91
92
93 Zlib (or 'libz') is available for Win32 from
94
95         http://www.winimage.com/zLibDll/
96
97
98
99 Instructions for MS Visual C
100 ----------------------------
101 Modify the config.nmake file in the top directory of the Ethereal
102 source tree to work for your local configuration. You should not
103 have to modify any other Makefile.
104
105 Be sure that your command-line environment is set up to compile
106 and link with MSVC. When installing MSVC, you can have your
107 system's environment set up to always allow compiling from the
108 command line, or you can invoke the vcvars32.bat script.
109
110 In the ethereal directory, type "nmake -f makefile.nmake". It will
111 recurse into the subdirectories as appropriate.
112
113 Some generated source is created by traditionally "Unix-ish" tools.
114 If you are building from an official distribution, these files are
115 already generated, so you have nothing to worry about unless you
116 modify the source. If building from a CVS image, you'll need the tools
117 to generate C source. The "special" files and their requisite tools are:
118
119 Source                          Output                  Tool
120 ------                          ------                  ----
121 dfilter-scanner.l               *.c                     Flex
122 wiretap/ascend-scanner.l        *.c                     Flex
123 wiretap/ascend-grammar.y        *.c,*.h                 Bison/Yacc
124 ncp2222.py                      packet-ncp2222.c        Python
125
126 make-reg-dotc, packet*.c        register.c              Bash
127 or
128 make-reg-dotc.py, packet*.c     register.c              Python
129
130 The Makefile.nmake supplied with the Ethereal distribution will
131 attempt to make register.c with Python, since it is much much much
132 faster than the shell version. The reason it is faster is because
133 the shell version launches multiple processes (grep, sed) for each
134 source file, multiple times. The Python script is one process. This
135 matters a lot on Win32. If for some reason you want to build register.c
136 with the shell script, uncomment out the action line for the register.c
137 target in Makefile.nmake.
138
139 If you have a Unix system handy, you can first build on Unix
140 to create the source files that these tools make, then run the build
141 on Windows.  That will avoid the need for these tools on your Windows
142 computer.
143
144 If you don't have a Unix system handy, most of those tools are available for
145 Win32 systems as part of the Cygwin package:
146
147         http://sourceware.cygnus.com/cygwin/
148
149 After installing them, you will probably have to modify the config.nmake
150 file to specify where the Cygwin binaries are installed.
151
152 Python for Win32 is available from
153
154         http://www.python.org/
155
156
157 Instructions for Cygwin
158 -----------------------
159 No one has ever compiled Ethereal entirely with Cygwin.  It should not
160 be difficult, however.  This spot is reserved for your instructions on
161 how to compile Ethereal with Cygwin.