                   Building the Nmap Installer for Windows
                   =======================================


I. ZENMAP BUILD DEPENDENCIES


I've listed the build dependencies for Zenmap, the versions I am using, and
where to get them:

GTK+ All-in-one bundle (2.14.7)
  o http://www.gtk.org/download-windows.html
Python (2.6.1) - http://www.python.org/download
  o python-2.6.1.msi
PyGTK (2.12.1-3) - http://ftp.gnome.org/pub/gnome/binaries/win32/pygtk
  o pygtk-2.12.1-3.win32-py2.6.exe
PyCairo (1.4.12-2) - http://ftp.gnome.org/pub/gnome/binaries/win32/pycairo
  o pycairo-1.4.12-2.win32-py2.6.exe
PyGObject (2.14.2-2) - http://ftp.gnome.org/pub/gnome/binaries/win32/pygobject
  o pygobject-2.14.2-2.win32-py2.6.exe
Py2exe (0.6.9) - http://www.sourceforge.net/projects/py2exe
  o py2exe-0.6.9.win32-py2.6.exe
Be sure to grab the PyGTK, PyCairo, etc. for Python 2.6!

The GTK all-in-one bundle is a zip file.  Unzip it into the directory
c:\GTK.  The other components have installers-using the default
install directories is important, especially for Python (C:\Python26)
and GTK (C:\GTK).  See Section IV if you must change the directories.

After installing GTK, creat C:\GTK\etc\gtk-2.0\gtkrc with the
contents:
gtk-theme-name = "MS-Windows"

II. OTHER REQUIREMENTS

You'll need Microsoft Visual C++ 2008 for compilation.
Directions for obtaining those are at:
http://nmap.org/install/inst-windows.html#inst-win-source

You'll also need Cygwin installed in order to build the Nmap installer (not
required for normal compiling).  You'll find it at http://www.cygwin.com

And last, you'll need the Nullsoft Scriptable Install System installed.  You
can download if from http://nsis.sourceforge.net/Download 


III. BUILDING


With all of the requirements and dependencies installed, open up a Cygwin
shell and go to the mswin32 directory in the Nmap directory and type "make".
This may take several minutes, and will create an executable installer and a
zip archive (nmap-<version>-setup.exe and nmap-<version>-win32.zip).


IV. INSTALLATION PATHS / PROBLEMS


If you have Python installed to a directory other than the default mentioned
above, then you need to edit the copy_and_compile.bat file under
zenmap/install_scripts/windows and change the "set PythonEXE" line with your
installed directory.

If you have GTK installed to a different directory, follow the same directions
as for Python, but edit the "set GTKDir" line.

