Convert the quick setup chapter to AsciiDoc and start converting its
authorgerald <gerald@f5534014-38df-0310-8fa8-9805f1628bb7>
Mon, 27 Jan 2014 18:43:57 +0000 (18:43 +0000)
committergerald <gerald@f5534014-38df-0310-8fa8-9805f1628bb7>
Mon, 27 Jan 2014 18:43:57 +0000 (18:43 +0000)
content to Git.

git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@54985 f5534014-38df-0310-8fa8-9805f1628bb7

docbook/CMakeLists.txt
docbook/Makefile.common
docbook/wsdg_src/WSDG_chapter_quick_setup.asciidoc [new file with mode: 0644]
docbook/wsdg_src/WSDG_chapter_quick_setup.xml [deleted file]
docbook/wsdg_src/WSDG_chapter_sources.asciidoc

index 3be447fdead422fe8ab5cda10532401fec9f0f2c..3fe51898c906054f3fd7230817fec51e6c74a5cb 100644 (file)
@@ -187,7 +187,7 @@ set(WSDG_FILES
        wsdg_src/WSDG_chapter_dissection.xml
        wsdg_generated_src/WSDG_chapter_env_intro.xml
        wsdg_src/WSDG_chapter_libraries.xml
-       wsdg_src/WSDG_chapter_quick_setup.xml
+       wsdg_generated_src/WSDG_chapter_quick_setup.xml
        wsdg_generated_src/WSDG_chapter_sources.xml
        wsdg_src/WSDG_chapter_tools.xml
        wsdg_src/WSDG_chapter_userinterface.xml
@@ -199,6 +199,7 @@ set(WSDG_FILES
 
 set(WSDG_ASCIIDOC_FILES
        wsdg_src/WSDG_chapter_env_intro.asciidoc
+       wsdg_src/WSDG_chapter_quick_setup.xml
        wsdg_src/WSDG_chapter_sources.asciidoc
        wsdg_src/WSDG_preface.asciidoc
 )
index 0a875e1008cd5f311a184731a2bdf5ac728c800c..30d7519d6ab12a9b722831c07b3d168afc841e94 100644 (file)
@@ -164,7 +164,7 @@ WSDG_FILES =        \
        wsdg_src/WSDG_chapter_dissection.xml    \
        wsdg_src/WSDG_chapter_env_intro.asciidoc        \
        wsdg_src/WSDG_chapter_libraries.xml     \
-       wsdg_src/WSDG_chapter_quick_setup.xml   \
+       wsdg_src/WSDG_chapter_quick_setup.asciidoc      \
        wsdg_src/WSDG_chapter_sources.asciidoc          \
        wsdg_src/WSDG_chapter_tools.xml         \
        wsdg_src/WSDG_chapter_userinterface.xml \
@@ -175,6 +175,7 @@ WSDG_FILES =        \
 
 WSDG_GENERATED_SOURCE = \
        wsdg_src/WSDG_chapter_env_intro.xml     \
+       wsdg_src/WSDG_chapter_quick_setup.xml   \
        wsdg_src/WSDG_chapter_sources.xml       \
        wsdg_src/WSDG_preface.xml
 
diff --git a/docbook/wsdg_src/WSDG_chapter_quick_setup.asciidoc b/docbook/wsdg_src/WSDG_chapter_quick_setup.asciidoc
new file mode 100644 (file)
index 0000000..ad300f4
--- /dev/null
@@ -0,0 +1,565 @@
+++++++++++++++++++++++++++++++++++++++
+<!-- WSDG Chapter Setup -->
+++++++++++++++++++++++++++++++++++++++
+
+++++++++++++++++++++++++++++++++++++++
+<!-- $Id$ -->
+++++++++++++++++++++++++++++++++++++++
+    
+[[ChapterSetup]]
+
+== Quick Setup
+
+[[ChSetupUNIX]]
+
+=== UNIX: Installation
+
+All the tools required are usually installed on a UNIX developer machine.
+
+If a tool is not already installed on your system, you can usually install it
+using the package in your distribution: aptitude, yum, Synaptic, etc.
+
+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.
+
+[[ChSetupWin32]]
+
+=== Win32/64: Step-by-Step Guide
+
+A quick setup guide for Win32 and Win64 with recommended
+configuration.
+
+[WARNING]
+====
+Unless you know exactly what you are doing, you
+should strictly follow the recommendations below.
+====
+
+[[ChSetupMSVC]]
+
+==== Install Microsoft C compiler and SDK
+
+You need to install, in exactly this order:
+
+. C compiler:
+http://www.microsoft.com/visualstudio/eng/downloads#d-2010-express[Download]
+and install "Microsoft Visual $$C++$$ 2010 Express Edition." This is a very
+large download.
+
+. Windows SDK for Windows 7, if you want to build 64-bit binaries for Windows 7:
+http://msdn.microsoft.com/en-us/windowsserver/bb980924.aspx[Download] and
+install "Microsoft Windows SDK for Windows 7."
++
+In case the install of the SDK fails go to software management and
+remove the $$VC++$$ 2010 runtime and redist packages (don't worry, they
+will be added back via the service pack later). If installation of
+the SDK still fails, there may be a permission problem. See
+http://ctrlf5.net/?p=184[here] for a solution.
+
+. C compiler service pack:
+http://www.microsoft.com/en-us/download/details.aspx?id=23691[Download] and
+install "Microsoft Visual Studio 2010 Service Pack 1." This is a very large
+download.
+
+. Microsoft Visual $$C++$$ 2010 Service Pack 1 Compiler Update for the Windows
+SDK 7.1, if you want to build 64-bit binaries for Windows 7:
+http://www.microsoft.com/en-us/download/details.aspx?id=4422[Download] and
+install "Microsoft Visual $$C++$$ 2010 Service Pack 1 Compiler Update for the
+Windows SDK 7.1."
+
+If you will be building 64-bit binaries those items must be
+installed in that order as installing the Microsoft Visual Studio
+2010 Service Pack 1 can, if you've installed the Microsoft Windows
+SDK for Windows 7, remove the 64-bit compilers, as per
+http://support.microsoft.com/?kbid=2519277[the Microsoft Knowledge Base article "FIX: Visual C++ compilers are removed when you upgrade Visual Studio 2010 Professional or Visual Studio 2010 Express to Visual Studio 2010 SP1 if Windows SDK v7.1 is installed"].  The release notes for the Microsoft Visual
+$$C++$$ 2010 Service Pack 1 Compiler Update for the Windows SDK 7.1
+say that, to ensure that your system has a supported
+configuration, you must install the items in the order specified
+above.  If you have Microsoft Update installed, so that the
+Windows update process will update software other than components
+of Windows, and thus will update Visual Studio, you may need to
+disable it until after all of the above are installed, to make
+sure it doesn't install Visual Studio 2010 SP1 out of order.
+
+[TIP]
+.You can use other Microsoft C compiler variants
+====
+It's possible to compile Wireshark with a wide range
+of Microsoft C compiler variants. For details see
+<<ChToolsMSChain>>!
+====
+
+
+[WARNING]
+.Don't use gcc or Clang
+====
+Compiling with gcc or Clang is not recommended and will
+certainly not work (at least without a lot of advanced
+tweaking). For further details on this topic, see
+<<ChToolsGNUChain>>.
+====
+
+// XXX - mention the compiler and PSDK web installers -
+// which significantly reduce download size - and find out the
+// required components
+
+Why is this recommended? While this is a huge download,
+the 2010 Express Edition is the only free (as in beer)
+version that includes the Visual Studio integrated
+debugger. Visual $$C++$$ 2010 is also used to create official
+Wireshark builds, so it will likely have fewer development-related
+problems.
+
+[[ChSetupCygwin]]
+
+
+==== Install Cygwin
+
+http://www.cygwin.com/setup.exe[Download the Cygwin installer] and start it.
+
+At the "Select Packages" page, you'll need to select
+some additional packages which are not installed by default.
+Navigate to the required Category/Package row and, if the package
+has a "Skip" item in the "New" column, click on the "Skip" item
+so it shows a version number for:
+
+* Archive/unzip
+
+* Base/dos2unix
+
+* Devel/bison
+
+* Devel/flex
+
+* Devel/git (recommended - see discussion about using Git below)
+
+* Interpreters/perl
+
+* Utils/patch (optional)
+
+* Web/wget
+
+After clicking the Next button several times, the setup
+will then download and install the selected packages (this
+may take a while).
+
+Why is this recommended? Cygwin's bash version is required, as no native Win32
+version is available. As additional packages can easily be added, Perl and
+other packages are also used.
+
+[[ChSetupPython]]
+
+==== Install Python
+
+Get the Python 2.7 installer from http://python.org/download/[] and install
+Python into the default location ('C:\Python27').
+
+Why is this recommended? Cygwin's Python package doesn't work on some machines,
+so the Win32 native package is recommended.
+
+[[ChSetupsubversion]]
+
+==== Install Git
+
+Please note that the following is not required to build Wireshark but can be
+quite helpful when working with the sources.
+
+Working with the Git source repositories is highly recommended, see
+<<ChSrcObtain>>. It is much easier to update a personal source tree with Git
+rather than downloading a zip file and merging new sources into a personal
+source tree by hand. It also makes first-time setup easy and enables the
+Wireshark build process to determine your current source code revision.
+
+There are several ways in which Git can be installed. Most packages are
+available at the URLs below or via the http://chocolatey.org/[Chocolatey package manager].
+Note that many of the GUI interfaces depend on the command line version.
+
+===== The Official Windows Installer
+
+The official command-line installer is available at http://msysgit.github.io/.
+
+===== From Cygwin
+
+Cygwin comes with a port of git. To install it, run Cygwin's setup.exe, navigate
+to Devel/git, and if the package has a "Skip" item in the "New" column, click on
+the "Skip" item so it shows a version number.
+
+===== Git Extensions
+
+Git Extensions is a native Windows graphical Git client for
+Windows.  You can download the installer from
+http://code.google.com/p/gitextensions/.
+
+===== TortoiseGit
+
+TortoiseGit is a native Windows graphical Git 
+similar to TortoiseSVN. You can download the installer from
+http://code.google.com/p/tortoisegit/.
+
+===== Others
+
+A list of other GUI interfaces for Git can be found at
+http://git-scm.com/downloads/guis
+
+==== Install and Prepare Sources
+
+[TIP]
+.Make sure everything works
+====
+It's a good idea to make sure Wireshark compiles and runs at least once before
+you start hacking the Wireshark sources for your own project. This example uses
+Git Extensions but any other Git client should work as well.
+====
+
+// XXX -
+
+. *Download sources*. Download Wireshark sources into
+'C:\Development\wireshark' using Git Extensions:
+
+.. Open the Git Extensions application. By default Git Extensions
+   will show a validation checklist at startup. If anything needs to
+   be fixed do so now. You can bring up the checklist at any time
+   via _Tools -> Settings_.
+
+.. In the main screen select _Clone repository_. Fill in the following:
++
+Repository to clone: `https://code.wireshark.org/review/wireshark`
++
+Destination: Your top-level development directory, e.g. `C:\Development`.
++
+Subdirectory to create: Anything you'd like. Usually `wireshark`.
++
+[TIP]
+.Check your paths
+====
+Make sure your repository path doesn't contain spaces.
+====
+
+.. Click the _Clone_ button. Git Extensions should start cloning the
+   Wireshark repository.
+
+. Navigate to your newly cloned directory and open 'config.nmake' in an editor.
+  Edit the following settings:
+
+.. `VERSION_EXTRA`: Give Wireshark your "private" version info, e.g.
+`-myprotocol123` to distinguish it from official releases.
+
+.. `WIRESHARK_TARGET_PLATFORM`: Change to `win64` if you're building
+a 64-bit package. You can also define this in the system environment.
+
+.. `PROGRAM_FILES`: Where your programs reside, usually just keep the default:
+_C:\Program Files_ footnote:[International Windows might use different values
+here, e.g. a German version uses 'C:\Programme' -- take this also in account
+where 'C:\Program Files' appears elsewhere.]
+
+.. `MSVC_VARIANT`: Make sure the variant for your compiler is uncommented, and
+that all others are commented out. For example, if you're using Visual $$C++$$
+2010 Express Edition, find the line
++
+--
+----
+#MSVC_VARIANT=MSVC2010EE
+----
+and remove the comment character (#) from the beginning of the line. Then, find
+the line
+----
+MSVC_VARIANT=MSVC2010
+----
+and comment it out, by prefixing a hash (#). footnote:[Compiler dependent: This
+step depends on the compiler you are using. For compilers other than Visual
+$$C++$$ 2010, see the table at <<ChToolsMSChain>>.]
+--
+
+[[ChSetupPrepareCommandCom]]
+
+==== Prepare cmd.exe
+
+Prepare `cmd.exe` -- set its environment and current directory.
+
+. Start `cmd.exe`.
+
+. Set environment variables for Visual $$C++$$ 2010 Express Edition.
+footnote:[International Windows might use different values here, e.g. a German
+version uses 'C:\Programme' -- take this also in account where 'C:\Program
+Files' appears elsewhere. Note: You need to repeat steps 1 - 4 each time you
+open a new cmd.exe.] footnote:[Compiler dependent: This step depends on the
+compiler variant used. For variants other than the recommended Visual $$C++$$
+2010 Express Edition see the table at <<ChToolsMSChain>>]
++
+--
+To build 32-bit binaries call
+----
+> "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.Cmd" /Release /x86'
+----
+and to build 64-bit binaries call
+----
+> "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.Cmd" /Release /x64
+----
+If your version of the compiler does not have `SetEnv.Cmd` you may need to use
+`vcvarsall.bat` or `vcvars32.bat` which do much the same thing as `SetEnv.cmd`.
+For example, on some 64-bit installations, one would build a 32-bit version by
+invoking
+----
+> "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\vcvars32.bat
+----
+and one would build a 64-bit version using the command
+----
+> "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\Vcvarsall.bat" amd64
+----
+Consult your compiler's documentation to learn which version applies to your
+installation.
+--
+
+. Set environment variable to select target platform.
++
+--
+To build 32-bit binaries execute
+----
+> set WIRESHARK_TARGET_PLATFORM=win32
+----
+and to build 64-bit binaries execute
+----
+> set WIRESHARK_TARGET_PLATFORM=win64
+----
+--
+
+
+. Run
++
+--
+----
+> cd C:\Development\wireshark
+----
+to jump into the source directory
+--
+
+Wireshark development depends on several additional environment variables,
+particularly PATH. You can use a batch script to fill these in, along with the
+Visual $$C++$$ variables; for example:
+
+----
+@echo off
+
+if "%1" == "" goto x86
+if /i %1 == x86       goto x86
+if /i %1 == x64      goto x64
+goto usage
+
+:usage
+echo Error in script usage. The correct usage is:
+echo     %0 [option]
+echo where [option] is: x86 ^| x64 
+echo:
+echo For example:
+echo     %0 x86
+goto :eof
+
+:x64
+echo Adding things to the path...
+set PATH=%PATH%;c:\cygwin\bin
+set WIRESHARK_TARGET_PLATFORM=win64
+call "c:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.Cmd" /Release /x64
+title Command Prompt (VC++ 2010 x64)
+goto :eof
+
+:x86
+echo Adding things to the path...
+set PATH=%PATH%;c:\cygwin\bin
+set WIRESHARK_TARGET_PLATFORM=win32
+call "c:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.Cmd" /Release /x86
+title Command Prompt (VC++ 2010 -x86)
+goto :eof
+----
+
+[[ChToolsWin32Verify]]
+
+==== Verify installed tools
+
+After you've installed the Wireshark sources (see <<ChSrcObtain>>), you can
+check the correct installation of all tools by using the `verify_tools` target of
+the `Makefile.nmake` from the source package.
+
+[WARNING]
+.Dependencies ahead
+====
+You will need the Wireshark sources and some tools
+(nmake, bash) installed, before this verification is able
+to work.
+====
+
+Enter at the command line (cmd.exe, not Cygwin's bash):
+
+----
+> nmake -f Makefile.nmake verify_tools
+----
+
+This will check for the various tools needed to build Wireshark:
+
+----
+Checking for required applications:
+        cl: /cygdrive/c/Program Files (x86)/Microsoft Visual Studio 10.0/VC/Bin/amd64/cl
+        link: /cygdrive/c/Program Files (x86)/Microsoft Visual Studio 10.0/VC/Bin/amd64/link
+        nmake: /cygdrive/c/Program Files (x86)/Microsoft Visual Studio 10.0/VC/Bin/amd64/nmake
+        bash: /usr/bin/bash
+        bison: /usr/bin/bison
+        flex: /usr/bin/flex
+        env: /usr/bin/env
+        grep: /usr/bin/grep
+        /usr/bin/find: /usr/bin/find
+        peflags: /usr/bin/peflags
+        perl: /usr/bin/perl
+        C:\Python27\python.exe: /cygdrive/c/Python27/python.exe
+        sed: /usr/bin/sed
+        unzip: /usr/bin/unzip
+        wget: /usr/bin/wget
+----
+
+If you have problems with all the first three items (cl, link, nmake), check
+that you called `SetEnv.Cmd` as mentioned in <<ChSetupPrepareCommandCom>>(which
+will "fix" your PATHsettings). However, the exact text will be slightly
+different depending on the MSVC version used.
+
+Unfortunately, the `link` command is defined both in Cygwin and in MSVC, each
+with completely different functionality. You'll need the MSVC link. If your link
+command looks something like: `/usr/bin/link` the link command of Cygwin takes
+precedence over the MSVC one. To fix this, you can change your `PATH` environment
+setting or simply rename `link.exe` in Cygwin. If you rename it, make sure to
+remember that a Cygwin update may provide a new version of it.
+
+Make sure that the other tools found are the Cygwin versions. Some build
+problems have been caused by incompatible versions of `grep` and `unzip`.
+
+==== Install Libraries
+
+. If you've closed `cmd.exe` prepare it again.
+
+. Run
++
+--
+----
+> nmake -f Makefile.nmake setup
+----
+to download and install libraries using `wget`. This may take a while.
+--
+
+. If the download fails you may be behind a restrictive firewall. See the proxy
+comment in <<ChToolsWget>>.
+
+Note that 32-bit versions of the software require 32-bit versions of the
+libraries and that 64-bit versions require 64-bit libraries. The build process
+creates independent directories for each as needed. See
+<<ChSetupPrepareCommandCom>>for how to use `SetEnv.Cmd` and
+`WIRESHARK_TARGET_PLATFORM` to select either a 32- or 64-bit build.
+
+==== Distclean Sources
+
+The released Wireshark sources contain files that are
+prepared for a UNIX build (e.g. 'config.h').
+
+You must distclean your sources before building the first time.
+
+. If you've closed `cmd.exe` prepare it again.
+
+. Run
++
+--
+----
+> nmake -f Makefile.nmake distclean
+----
+to cleanup the Wireshark sources.
+--
+
+==== Build Wireshark
+
+Now it's time to build Wireshark!
+
+. If you've closed `cmd.exe` prepare it again.
+
+. Run
++
+--
+----
+> nmake -f Makefile.nmake all
+----
+to build Wireshark.
+--
+
+. Wait for Wireshark to compile. This will take a while.
+
+. Run `C:\wireshark\wireshark-gtk2\wireshark.exe` and make sure it starts. s
+
+. Open 'Help -> About'. If it shows your "private" program
+version, e.g.: Version wireshark-major-minor-version:[].x-myprotocol123
+congratulations! You have compiled your own version of Wireshark!
+
+TIP: If compilation fails for suspicious
+reasons after you changed some source files try to "distclean"
+the sources and make "all" again
+
+==== Debug Environment Setup
+
+****
+Unfortunately this section hasn't been written. You should be able
+to use the Visual Studio debugger to attach to a running executable.
+****
+
+==== Optional: Create User's and Developer's Guide
+
+Detailed information to build these guides can be found in the file
+'docbook/README.txt' in the Wireshark sources.
+
+==== Optional: Create a Wireshark Installer
+
+Note: You should have successfully built Wireshark
+before doing the following.
+
+If you want to build your own
+'wireshark-win32-wireshark-major-minor-version:[].x-myprotocol123.exe',
+you'll need NSIS.
+
+. NSIS:
+http://nsis.sourceforge.net[Download] and install NSIS
++
+You may check the `MAKENSIS` setting in the file 'config.nmake' in the Wireshark
+sources. Note that the 32-bit version of NSIS will work for both 32-bit and
+64-bit versions of Wireshark.
+
+. Runtime redistributable: To build a 32-bit version you will need
+'$$vcredist_x86.exe$$':
+http://www.microsoft.com/en-us/download/details.aspx?id=8328[Download] the
+C-Runtime redistributable for Visual
+$$C++$$ 2010 Express Edition SP1 (__$$vcredist_x86.exe$$__)
+and copy it into 'C:\wireshark-win32-libs'.footnoteref:[compilerdependent,Compiler dependent: This step
+depends on the compiler variant used. For variants other than
+the recommended Visual $$C++$$ 2010 Express Edition SP1 see the table
+at <<ChToolsMSChain>>.]
++
+To build a 64-bit version, you will need 
+_$$vcredist_x64.exe$$_: 
+http://www.microsoft.com/en-us/download/details.aspx?id=13523[Download] the 64-bit redistributable for Visual $$C++$$ 2010 Express
+Edition SP1 (__$$vcredist_x64.exe$$__) and copy it into 
+__C:\Wireshark-win64-libs__.footnoteref:[compilerdependent]
+
+. If you've closed `cmd.exe` prepare it again.
+
+. Run
++
+--
+----
+> nmake -f Makefile.nmake packaging
+----
+to build Wireshark installer.
+--
+
+. Run
++
+--
+----
+> C:\wireshark\packaging\nsis\wireshark-win32-wireshark-major-minor-version:[].x-myprotocol123.exe
+----
+to test your new installer. It's a good idea to test on a different machine
+than the developer machine.
+--
diff --git a/docbook/wsdg_src/WSDG_chapter_quick_setup.xml b/docbook/wsdg_src/WSDG_chapter_quick_setup.xml
deleted file mode 100644 (file)
index 7ca8bf0..0000000
+++ /dev/null
@@ -1,595 +0,0 @@
-<!-- WSDG Chapter Setup -->
-<!-- $Id$ -->
-
-<chapter id="ChapterSetup">
-  <title>Quick Setup</title>
-  <section id="ChSetupUNIX">
-    <title>UNIX: Installation</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 (by your favourite package manager: aptitude, yum,
-    synaptics, ...).</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="ChSetupWin32">
-    <title>Win32/64: Step-by-Step Guide</title>
-    <para>A quick setup guide for Win32 and Win64 with recommended
-    configuration.</para>
-    <warning>
-      <title>Warning!</title>
-      <para>
-        <command>Unless you know exactly what you are doing, you
-        should strictly follow the recommendations!</command>
-      </para>
-    </warning>
-    <section id="ChSetupMSVC">
-      <title>Install Microsoft C compiler and SDK</title>
-      <para>You need to install, in exactly this order:
-      <orderedlist>
-        <listitem>
-          <para>C compiler:
-          <ulink url="http://www.microsoft.com/visualstudio/eng/downloads#d-2010-express">
-          Download</ulink> and install "Microsoft Visual C++
-                   2010 Express Edition." (This is a very large download.)</para>
-        </listitem>
-        <listitem>
-          <para>Windows SDK for Windows 7, if you want to build 64-bit
-                binaries for Windows 7:
-          <ulink url="http://msdn.microsoft.com/en-us/windowsserver/bb980924.aspx">
-          Download</ulink> and install "Microsoft Windows SDK for
-                 Windows 7."</para>
-          <para>In case the install of the SDK fails go to software management and
-                remove the vc++2010 runtime and redist packages (don't worry, they
-                will be added back via the service pack later). If installation of
-                the SDK still fails, there may be a permission problem. See
-                <ulink url="http://ctrlf5.net/?p=184">here</ulink> how to resolve
-                that.</para>
-        </listitem>
-        <listitem>
-          <para>C compiler service pack:
-          <ulink url="http://www.microsoft.com/en-us/download/details.aspx?id=23691">
-          Download</ulink> and install "Microsoft Visual Studio 2010
-                  Service Pack 1." (This is a very large download.)</para>
-        </listitem>
-        <listitem>
-          <para>Microsoft Visual C++ 2010 Service Pack 1 Compiler Update
-          for the Windows SDK 7.1, if you want to build 64-bit
-                binaries for Windows 7:
-          <ulink url="http://www.microsoft.com/en-us/download/details.aspx?id=4422">
-          Download</ulink> and install "Microsoft Visual C++ 2010
-                  Service Pack 1 Compiler Update for the Windows SDK 7.1."</para>
-        </listitem>
-        <!--
-        <listitem>
-          <para>Platform SDK :
-          <ulink url="http://www.microsoft.com/downloads/details.aspx?familyid=0BAF2B35-C656-4969-ACE8-E4C0C0716ADB&amp;displaylang=en">
-          Download</ulink>(420MB) and install "Microsoft Platform
-                 SDK Server 2003 R2"</para>
-        </listitem>
-        -->
-      </orderedlist></para>
-      <para>If you will be building 64-bit binaries, those items must be
-      installed in that order, as installing the Microsoft Visual Studio
-      2010 Service Pack 1 can, if you've installed the Microsoft Windows
-      SDK for Windows 7, remove the 64-bit compilers, as per
-      <ulink url="http://support.microsoft.com/?kbid=2519277">the
-      Microsoft Knowledge Base article "FIX: Visual C++ compilers are
-      removed when you upgrade Visual Studio 2010 Professional or Visual
-      Studio 2010 Express to Visual Studio 2010 SP1 if Windows SDK v7.1
-      is installed"</ulink>.  The release notes for the Microsoft Visual
-      C++ 2010 Service Pack 1 Compiler Update for the Windows SDK 7.1
-      say that, to ensure that your system has a supported
-      configuration, you must install the items in the order specified
-      above.  If you have Microsoft Update installed, so that the
-      Windows update process will update software other than components
-      of Windows, and thus will update Visual Studio, you may need to
-      disable it until after all of the above are installed, to make
-      sure it doesn't install Visual Studio 2010 SP1 out of order.</para>
-      <tip>
-        <title>You can use other Microsoft C compiler variants!</title>
-        <para>It's possible to compile Wireshark with a wide range
-        of Microsoft C compiler variants. For details see
-        <xref linkend="ChToolsMSChain" />!</para>
-      </tip>
-      <warning>
-        <title>Don't use Cygwin's gcc!</title>
-        <para>Using Cygwin's gcc is not recommended and will
-        certainly not work (at least without a lot of advanced
-        tweaking). For further details on this topic, see
-        <xref linkend="ChToolsGNUChain" />.</para>
-      </warning>
-      <para>XXX - mention the compiler and PSDK web installers -
-      which significantly reduce download size - and find out the
-      required components</para>
-      <para>Why is this recommended? While this is a huge download,
-      the 2010 Express Edition is the only free (as in beer)
-      version that includes the Visual Studio integrated
-      debugger. Visual C++ 2010 is also used to create official
-      Wireshark builds, so it will likely have fewer development-related
-      problems.</para>
-    </section>
-    <section id="ChSetupCygwin">
-      <title>Install Cygwin</title>
-      <para>
-      <ulink url="http://www.cygwin.com/setup.exe">
-      Download</ulink> the Cygwin installer and start it.</para>
-      <para>At the "Select Packages" page, you'll need to select
-      some additional packages which are not installed by default.
-      Navigate to the required Category/Package row and, if the package
-      has a "Skip" item in the "New" column, click on the "Skip" item
-      so it shows a version number for:
-      <itemizedlist>
-        <listitem>
-          <para>Archive/unzip</para>
-        </listitem>
-        <listitem>
-          <para>Base/dos2unix</para>
-        </listitem>
-        <listitem>
-          <para>Devel/bison</para>
-        </listitem>
-        <listitem>
-          <para>Devel/flex</para>
-        </listitem>
-        <listitem>
-          <para>Devel/subversion (optional - see discussion about using Subversion below)</para>
-        </listitem>
-        <listitem>
-          <para>Interpreters/perl</para>
-        </listitem>
-        <listitem>
-          <para>Utils/patch</para>
-        </listitem>
-        <listitem>
-          <para>Web/wget</para>
-        </listitem>
-      </itemizedlist></para>
-      <para>After clicking the Next button several times, the setup
-      will then download and install the selected packages (this
-      may take a while).</para>
-      <para>Why this is recommended: Cygwin's bash version is
-      required, as no native Win32 version is available. As
-      additional packages can easily be added, the perl and alike
-      packages are also used.</para>
-    </section>
-    <section id="ChSetupPython">
-      <title>Install Python</title>
-      <para>Get the Python 2.7 installer from:
-      <ulink url="http://python.org/download/" /> and install Python
-      into the default location (C:\Python27).</para>
-      <para>Why this is recommended: Cygwin's Python package
-      doesn't work on some machines, so the Win32 native package is
-      recommended.</para>
-    </section>
-    <section id="ChSetupsubversion">
-      <title>Install Subversion Client</title>
-      <para>Please note that the following is not required to build
-      Wireshark, but can be quite helpful when working with the
-      sources.</para>
-      <para>Working with the Subversion source repositories is highly
-      recommended, see <xref linkend="ChSrcObtain" />. It is much easier
-      to update a personal source tree with Subversion rather than downloading
-      a zip file and merging new sources into a personal source tree
-      "by hand."  It also makes first-time setup easy and enables
-      the Wireshark build process to determine your current source code
-      revision.</para>
-      <para>There are several ways in which Subversion can be
-      installed:</para>
-      <section>
-        <title>Subversion from Cygwin</title>
-        <para>Cygwin comes with a command-line Subversion client.  To install
-       it, run Cygwin's setup.exe, navigate to Devel/subversion, and 
-       if the package has a "Skip" item in the "New" column, click on the
-       "Skip" item so it shows a version number.</para>
-      </section>
-      <section>
-        <title>Subversion from apache.org</title>
-        <para>There are several binary-distribution Subversion clients
-       available from apache.org.  Go to
-        <ulink url="http://subversion.apache.org/" /> and simply
-        install one.</para>
-      </section>
-      <section>
-        <title>TortoiseSVN</title>
-        <para>TortoiseSVN is a native Windows graphical Subversion client for
-       Windows.  You can download the setup from
-        <ulink url="http://tortoisesvn.net/" /> and simply
-        install it.</para>
-      </section>
-    </section>
-    <section>
-      <title>Install and Prepare Sources</title>
-      <para>
-      <tip> <title>Tip</title>
-      <para>It's a good idea to successfully compile and run
-      Wireshark at least once before you start hacking the
-      Wireshark sources for your own project! This example uses TortoiseSVN
-      but another Subversion client would work as well.</para>
-      </tip>
-      <orderedlist>
-        <listitem>
-          <para>Download sources : Download Wireshark sources into:
-          <filename>C:\wireshark</filename> using TortoiseSVN</para>
-          <para>
-            <orderedlist>
-              <listitem>
-                <para>right click on the C:\ drive in Windows
-                Explorer</para>
-              </listitem>
-              <listitem>
-                <para>in the upcoming context menu select "SVN
-                checkout..." and then set:</para>
-              </listitem>
-              <listitem>
-                <para>
-                  <orderedlist>
-                    <listitem>
-                      <para>URL of repository: "
-                      <literal>
-                      http://anonsvn.wireshark.org/wireshark/trunk/</literal>"</para>
-                    </listitem>
-                    <listitem>
-                      <para>Checkout directory:
-                      <filename>C:\wireshark</filename></para>
-                    </listitem>
-                  </orderedlist>
-                </para>
-              </listitem>
-              <listitem>
-                <para>TortoiseSVN might ask you to create this
-                directory - say yes</para>
-              </listitem>
-              <listitem>
-                <para>TortoiseSVN starts downloading the sources</para>
-              </listitem>
-              <listitem>
-                <para>if the download fails you may be behind a
-                restrictive firewall, see
-                <xref linkend="ChSrcObtain" /> for alternative
-                download methods</para>
-              </listitem>
-            </orderedlist>
-          </para>
-        </listitem>
-        <listitem>
-          <para>Edit config.nmake: edit the settings in
-          <filename>C:\wireshark\config.nmake</filename>, especially:</para>
-          <para>
-            <orderedlist>
-              <listitem>
-                <para><varname>VERSION_EXTRA</varname> : Give Wireshark your "private"
-                version info, e.g.: -myprotocol123 - to distinguish
-                it from an official release!</para>
-              </listitem>
-              <listitem>
-                <para><varname>PROGRAM_FILES</varname> : Where your programs reside,
-                usually just keep the default: <filename>C:\Program Files</filename>
-                <superscript>1</superscript></para>
-              </listitem>
-              <listitem>
-                <para><varname>MSVC_VARIANT</varname> : Make sure the variant for
-                your compiler is
-                uncommented, and that all others are commented out. For example,
-                if you're using Visual C++ 2010 Express Edition, find the line
-                <programlisting>
-<![CDATA[#MSVC_VARIANT=MSVC2010EE]]>
-                </programlisting>
-                and remove the comment character (#)
-                from the beginning of the line. Then, find the line
-                <programlisting>
-<![CDATA[MSVC_VARIANT=MSVC2010]]>
-                </programlisting>
-                and comment it out, by prefixing a hash (#).
-                <superscript>2</superscript></para>
-              </listitem>
-            </orderedlist>
-          </para>
-        </listitem>
-      </orderedlist>
-      <superscript>1</superscript>International Windows might use
-      different values here, e.g. a German version uses
-      <filename>C:\Programme</filename> - take this also in account where
-      <filename>C:\Program Files</filename> appears elsewhere.</para>
-      <para>
-      <superscript>2</superscript>Compiler dependent: This step
-      depends on the compiler you are using. For compilers other than
-      Visual C++ 2010, see the table at
-      <xref linkend="ChToolsMSChain" />.</para>
-    </section>
-    <section id="ChSetupPrepareCommandCom">
-      <title>Prepare cmd.exe</title>
-      <para>Prepare <filename>cmd.exe</filename> - set environment and current dir.
-      <orderedlist>
-        <listitem>
-          <para>start <command>cmd.exe</command></para>
-        </listitem>
-        <!--
-        <listitem>
-          <para>call "C:\Program Files\Microsoft Platform SDK for
-          Windows Server 2003 R2\SetEnv.Cmd" to set environment
-          variables of Platform SDK Server 2003 R2
-          <superscript>1,2</superscript></para>
-        </listitem>
-        -->
-        <listitem>
-          <para>set environment variables for Visual C++ 2010 Express
-          Edition:<superscript>1,2</superscript></para>
-         <para>to build 32-bit binaries call
-         <command>"C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.Cmd" /Release /x86</command>
-         and to build 64-bit binaries call
-         <command>"C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.Cmd" /Release /x64</command></para>
-         <para>If your version of the compiler does not have <filename>SetEnv.Cmd</filename>, you
-         may need to use <filename>vcvarsall.bat</filename> or <filename>vcvars32.bat</filename>
-         which do much the same thing as <filename>SetEnv.cmd</filename>.</para>
-         <para>
-         For example, on some 64-bit installations, one would build a 32-bit version
-         by invoking 
-         <command>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\vcvars32.bat</command>
-         and one would build a 64-bit version using the command
-         <command>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\Vcvarsall.bat amd64</command>
-         Consult your compiler's documentation to learn which version applies to your installation.</para>
-        </listitem>
-        <listitem>
-         <para>set environment variable to select target platform</para>
-         <para>to build 32-bit binaries execute
-         <command>set WIRESHARK_TARGET_PLATFORM=win32</command>
-         and to build 64-bit binaries execute
-         <command>set WIRESHARK_TARGET_PLATFORM=win64</command></para>
-        </listitem>
-        <listitem>
-          <para><command>cd C:\wireshark</command> to jump into the source
-          directory</para>
-        </listitem>
-      </orderedlist>
-      <superscript>1</superscript>International Windows might use
-      different values here, e.g. a German version uses
-      <filename>C:\Programme</filename> - take this also in account where
-      <filename>C:\Program Files</filename> appears elsewhere. Note: You need
-      to repeat steps 1 - 4 each time you open a new cmd.exe!</para>
-      <para><superscript>2</superscript>Compiler dependent: This step
-      depends on the compiler variant used, for other variants than
-      the recommended Visual C++ 2010 Express Edition see the table
-      at
-      <xref linkend="ChToolsMSChain" />!</para>
-
-      <para>Wireshark development depends on several additional
-      environment variables, particularly <varname>PATH</varname>.
-      You can use a batch script to fill these in, along with the Visual
-      C++ variables; for example:
-
-        <programlisting>
-<![CDATA[@echo off
-
-if "%1" == "" goto x86
-if /i %1 == x86       goto x86
-if /i %1 == x64      goto x64
-goto usage
-
-:usage
-echo Error in script usage. The correct usage is:
-echo     %0 [option]
-echo where [option] is: x86 ^| x64 
-echo:
-echo For example:
-echo     %0 x86
-goto :eof
-
-:x64
-echo Adding things to the path...
-set PATH=%PATH%;c:\cygwin\bin
-set WIRESHARK_TARGET_PLATFORM=win64
-call "c:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.Cmd" /Release /x64
-title Command Prompt (VC++ 2010 x64)
-goto :eof
-
-:x86
-echo Adding things to the path...
-set PATH=%PATH%;c:\cygwin\bin
-set WIRESHARK_TARGET_PLATFORM=win32
-call "c:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.Cmd" /Release /x86
-title Command Prompt (VC++ 2010 -x86)
-goto :eof]]>
-
-        </programlisting>
-      </para>
-    </section>
-    <section id="ChToolsWin32Verify">
-      <title>Verify installed tools</title>
-      <para>After you've installed the Wireshark sources (see
-      <xref linkend="ChSrcObtain" />), you can check the correct
-      installation of all tools by using the <parameter>verify_tools</parameter>
-      target of the
-      <filename>Makefile.nmake</filename> from the source package.</para>
-      <warning>
-        <title>Warning!</title>
-        <para>You will need the Wireshark sources and some tools
-        (nmake, bash) installed, before this verification is able
-        to work.</para>
-      </warning>
-      <para>Enter at the command line (cmd.exe, not Cygwin's bash!):</para>
-      <para>
-        <prompt>&gt;</prompt>
-        <userinput>nmake -f Makefile.nmake verify_tools</userinput>
-      </para>
-      <para>This will check for the various tools needed to build Wireshark:</para>
-      <para>
-        <programlisting>
-<![CDATA[Checking for required applications:
-        cl: /cygdrive/c/Program Files (x86)/Microsoft Visual Studio 10.0/VC/Bin/amd64/cl
-        link: /cygdrive/c/Program Files (x86)/Microsoft Visual Studio 10.0/VC/Bin/amd64/link
-        nmake: /cygdrive/c/Program Files (x86)/Microsoft Visual Studio 10.0/VC/Bin/amd64/nmake
-        bash: /usr/bin/bash
-        bison: /usr/bin/bison
-        flex: /usr/bin/flex
-        env: /usr/bin/env
-        grep: /usr/bin/grep
-        /usr/bin/find: /usr/bin/find
-        peflags: /usr/bin/peflags
-        perl: /usr/bin/perl
-        C:\Python27\python.exe: /cygdrive/c/Python27/python.exe
-        sed: /usr/bin/sed
-        unzip: /usr/bin/unzip
-        wget: /usr/bin/wget]]>
-        </programlisting>
-      </para>
-      <para>If you have problems with all the first three items (cl, link, nmake),
-      check that you called <command>SetEnv.Cmd</command>
-      as mentioned in
-      <xref linkend="ChSetupPrepareCommandCom" /> (which will "fix"
-      your <varname>PATH</varname> settings). However, the exact text will be slightly
-      different depending on the MSVC version used.</para>
-      <para>Unfortunately, the link command is defined both in
-      Cygwin and in MSVC each with completely different functionality;
-      you'll need the MSVC link. If your link command looks
-      something like: <command>/usr/bin/link</command>, the link command of Cygwin
-      takes precedence over the MSVC one. To fix this, you can
-      change your <varname>PATH</varname> environment setting or simply rename the
-      <filename>link.exe</filename> in Cygwin. If you rename it, make sure to remember
-      that a Cygwin update may provide a new version of it.</para>
-      <para>Make sure that the other tools found are the Cygwin versions.  Some build
-      problems have been caused by incompatible versions of <command>grep</command> and
-      <command>unzip</command>.</para>
-    </section>
-    <section>
-      <title>Install Libraries</title>
-      <orderedlist>
-        <listitem>
-          <para>If you've closed <command>cmd.exe</command> in the meantime,
-          prepare <command>cmd.exe</command> again.</para>
-        </listitem>
-        <listitem>
-          <para><command>nmake -f Makefile.nmake setup</command> downloads libraries
-          using <command>wget</command> and installs them - this may take a while
-          ...</para>
-        </listitem>
-        <listitem>
-          <para>If the download fails you may be behind a
-          restrictive firewall, see the proxy comment in
-          <xref linkend="ChToolsWget"/>.</para>
-        </listitem>
-      </orderedlist>
-      <para>Note that 32-bit versions of the software require 32-bit versions of the 
-      libraries and that 64-bit versions require 64-bit libraries.  The build process
-      creates independent directories for each as needed.  See 
-      <xref linkend="ChSetupPrepareCommandCom" /> for how to use 
-      <command>SetEnv.Cmd</command> and <varname>WIRESHARK_TARGET_PLATFORM</varname>
-      to select either a 32- or 64-bit build.</para>
-    </section>
-    <section>
-      <title>Distclean Sources</title>
-      <para>The released Wireshark sources contain files that are
-      prepared for a UNIX build (e.g. <filename>config.h</filename>).</para>
-      <para>You must distclean your sources before building the
-      first time!
-      <orderedlist>
-        <listitem>
-          <para>If you've closed <command>cmd.exe</command> in the meantime,
-          prepare <command>cmd.exe</command> again</para>
-        </listitem>
-        <listitem>
-          <para><command>nmake -f Makefile.nmake distclean</command>
-          to cleanup the Wireshark sources</para>
-        </listitem>
-      </orderedlist></para>
-    </section>
-    <section>
-      <title>Build Wireshark</title>
-      <para>Now it's time to build Wireshark ...
-      <orderedlist>
-        <listitem>
-          <para>If you've closed <command>cmd.exe</command> in the meantime,
-          prepare <command>cmd.exe</command> again</para>
-        </listitem>
-        <listitem>
-          <para><command>nmake -f Makefile.nmake all</command>
-          to build Wireshark</para>
-        </listitem>
-        <listitem>
-          <para>wait for Wireshark to compile - this may take a
-          while!</para>
-        </listitem>
-        <listitem>
-          <para>run <command>C:\wireshark\wireshark-gtk2\wireshark.exe</command>
-          and check if it starts</para>
-        </listitem>
-        <listitem>
-          <para>check Help/About if it shows your "private" program
-          version, e.g.: Version &WiresharkCurrentVersion;.x-myprotocol123
-          - you might run a release version previously installed!</para>
-        </listitem>
-      </orderedlist>Tip: If compilation fails for suspicious
-      reasons after you changed some source files try to "distclean"
-      the sources and make "all" again</para>
-    </section>
-    <section>
-      <title>Debug Environment Setup (XXX)</title>
-      <para>XXX - debug needs to be written, e.g. an idea is the
-      create a simple MSVC workspace/project(s) to ease Visual
-      Studio debugging</para>
-    </section>
-    <section>
-      <title>Optional: Create User's and Developer's Guide</title>
-      <para>Detailed information to build these guides can be found in the file
-      <filename>docbook/README.txt</filename> in the Wireshark sources.</para>
-    </section>
-    <section>
-      <title>Optional: Create a Wireshark Installer</title>
-      <para>Note: You should have successfully built Wireshark
-      before doing the following!</para>
-      <para>If you want to build your own
-      <filename>wireshark-win32-&WiresharkCurrentVersion;.x-myprotocol123.exe</filename>,
-      you'll need NSIS.
-      <orderedlist>
-        <listitem>
-          <para>NSIS:
-          <ulink url="http://nsis.sourceforge.net">
-          Download</ulink> and install NSIS</para>
-          <para>You may check the <varname>MAKENSIS</varname> setting in the file
-          <filename>config.nmake</filename> of the Wireshark sources.  Note that the
-         32-bit version of NSIS will work for both 32-bit and 64-bit versions of
-         Wireshark.</para>
-        </listitem>
-        <listitem>
-          <para>Runtime redistributable: to build a 32-bit version you will need 
-         <filename>vcredist_x86.exe</filename> :
-          <ulink url="http://www.microsoft.com/en-us/download/details.aspx?id=8328">
-          Download</ulink> the C-Runtime redistributable for Visual
-          C++ 2010 Express Edition SP1 (<filename>vcredist_x86.exe</filename>)
-          and copy it into <filename>C:\wireshark-win32-libs</filename>
-          <superscript>1</superscript></para>
-         <para>To build a 64-bit version, you will need 
-         <filename>vcredist_x64.exe</filename> : 
-         <ulink url="http://www.microsoft.com/en-us/download/details.aspx?id=13523">
-         Download</ulink> the 64-bit redistributable for Visual C++ 2010 Express 
-         Edition SP1 (<filename>vcredist_x64.exe</filename>) and copy it into 
-         <filename>C:\Wireshark-win64-libs</filename><superscript>1</superscript>
-          </para>
-        </listitem>
-        <listitem>
-          <para>If you've closed <command>cmd.exe</command> in the meantime,
-          prepare <command>cmd.exe</command> again</para>
-        </listitem>
-        <listitem>
-          <para><command>nmake -f Makefile.nmake packaging</command>
-          build Wireshark installer</para>
-        </listitem>
-        <listitem>
-          <para>run
-          <command>C:\wireshark\packaging\nsis\wireshark-win32-&WiresharkCurrentVersion;.x-myprotocol123.exe</command>
-          and test it - it's a good idea to test also on a different machine
-          than the developer machine.</para>
-        </listitem>
-      </orderedlist>
-      <superscript>1</superscript>Compiler dependent: This step
-      depends on the compiler variant used; for other variants than
-      the recommended Visual C++ 2010 Express Edition SP1 see the table
-      at <xref linkend="ChToolsMSChain" />!</para>
-    </section>
-  </section>
-</chapter>
index b1697e80334e46b412a36b65b99bfeb56aba78f2..a732c42e40a9b630060d1a71907faff4e38ccd99 100644 (file)
@@ -36,6 +36,18 @@ http://git-scm.com/[Git] is used to keep track of the changes made to the
 Wireshark source code. The code is stored inside Wireshark project's Git
 repository located at a server at the wireshark.org domain.
 
+
+// Why Git?
+//
+// - Allows much more flexible development
+//
+// Why Gerrit?
+//
+// - Easy to contribute. Sign in with any OpenID provider and push your changes.
+// - Usable from the web and command line.
+// - Integrated with many popular tools.
+
+
 // To quote the Subversion book about "What is Subversion?":
 
 // "Subversion is a free/open-source version control system. That is,