aboutsummaryrefslogtreecommitdiffstats
path: root/docbook/wsdg_src/WSDG_chapter_quick_setup.asciidoc
diff options
context:
space:
mode:
authorGraham Bloice <graham.bloice@trihedral.com>2014-08-23 00:21:45 +0100
committerMichael Mann <mmann78@netscape.net>2014-12-28 17:08:31 +0000
commit15a9f5dd7013f653b35472a97aa09daeb9ec4dbb (patch)
tree1a7daf46e5f056b885397756270fd9f383c2bc9f /docbook/wsdg_src/WSDG_chapter_quick_setup.asciidoc
parent1b6da9ed92e1c275f6f121307a75d87c2d4fd44b (diff)
Move Windows build to be VS2013 based using the Community Edition
Drop references to long obsolete compilers. Added Chocolatey installer instructions for some packages. Change-Id: I416d4091b6acaa1ed0d5e586f0427708c4b2d646 Reviewed-on: https://code.wireshark.org/review/5986 Reviewed-by: Graham Bloice <graham.bloice@trihedral.com> Petri-Dish: Graham Bloice <graham.bloice@trihedral.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Michael Mann <mmann78@netscape.net>
Diffstat (limited to 'docbook/wsdg_src/WSDG_chapter_quick_setup.asciidoc')
-rw-r--r--docbook/wsdg_src/WSDG_chapter_quick_setup.asciidoc345
1 files changed, 116 insertions, 229 deletions
diff --git a/docbook/wsdg_src/WSDG_chapter_quick_setup.asciidoc b/docbook/wsdg_src/WSDG_chapter_quick_setup.asciidoc
index 573d7c805e..e7ffdc2983 100644
--- a/docbook/wsdg_src/WSDG_chapter_quick_setup.asciidoc
+++ b/docbook/wsdg_src/WSDG_chapter_quick_setup.asciidoc
@@ -41,9 +41,47 @@ should strictly follow the recommendations below.
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.
+http://go.microsoft.com/?linkid=9863608[Download]
+and install "Microsoft Visual Studio 2013 Community Edition." This is a small download that then downloads all the other required parts (which are quite large).
+
+Uncheck all the optional components (unless you want to use them for purposes other than Wireshark).
+
+You can use Chocolatey to install Visual Studio:
+
+----
+PS$>cinst VisualStudioCommunity2013
+----
+
+[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,
+Visual Studio 2013 Community Edition is the only free (as in beer)
+versions that includes the Visual Studio integrated
+debugger. Visual Studio 2013 is also used to create official
+Wireshark builds, so it will likely have fewer development-related
+problems.
+
+For VS2010 You will need some extra items:
. 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
@@ -66,11 +104,11 @@ 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
+. 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
+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
@@ -80,35 +118,6 @@ 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.
-
[[ChSetupQt]]
@@ -123,8 +132,13 @@ OpenGL'' component is used to build the official 64-bit packages.
Note that the Qt package also includes the Qt Creator IDE, which is useful
for designing graphical components and includes an interactive debugger.
You'll need to build wireshark using nmake before you'll be able to build the
-Wireshark project (ui/qt/Wireshark.pro), however.
+Wireshark project (uiqtWireshark.pro), however.
+
+You can also use Chocolatey to install Qt (there are packages for x86 & x64 and various MSVC compilers, e.g.
+----
+PS$>cinst qt-sdk-windows-x86-msvc2013_opengl
+----
[[ChSetupCygwin]]
@@ -179,13 +193,14 @@ other packages are also used.
==== Install PowerShell
If you are running Windows Vista you may need to install Windows Powershell 2.0.
+Later versions should also be supported.
You can download it from https://www.microsoft.com/powershell[]
[[ChSetupChocolatey]]
==== Optional: Install Chocolatey
-As an alternative to Cygwin you install some packages using
+As an alternative to Cygwin you can install some packages using
https://chocolatey.org/[Chocolatey], a native package manager for Windows.
Wireshark's build environment currently supports the _winflexbison_ package but
support for more packages should appear in the future.
@@ -194,6 +209,7 @@ support for more packages should appear in the future.
// - Active Perl and/or StrawberryPerl
// - Devbox-UnZip and/or 7zip and/or peazip
// - Wget
+// - Git (a native win32 version)
[[ChSetupPython]]
@@ -203,7 +219,7 @@ 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.
+so the Win32 native package is recommended (and it's faster). Note that Python 3.x isn't currently supported.
[[ChSetupsubversion]]
@@ -213,7 +229,7 @@ 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
+<<ChSrcObtain>>. It is much easier to update a personal source tree (local repository) 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.
@@ -226,13 +242,6 @@ Note that many of the GUI interfaces depend on the command line version.
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-x86.exe or setup-x86_64, 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
@@ -245,6 +254,13 @@ TortoiseGit is a native Windows graphical Git
similar to TortoiseSVN. You can download the installer from
http://code.google.com/p/tortoisegit/.
+===== Command Line client via Chocolatey
+
+The command line client can be installed (and updated) using Chocolatey:
+----
+PS$> cinst git
+----
+
===== Others
A list of other GUI interfaces for Git can be found at
@@ -262,15 +278,24 @@ Git Extensions but any other Git client should work as well.
// XXX -
-. *Download sources*. Download Wireshark sources into
-'C:\Development\wireshark' using Git Extensions:
+*Download sources* Download Wireshark sources into
+'C:\Development\wireshark' using either the command line or Git Extensions:
+
+Using the command line:
-.. Open the Git Extensions application. By default Git Extensions
+----
+>cd C:\Development
+>git clone https://code.wireshark.org/review/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:
+. In the main screen select _Clone repository_. Fill in the following:
+
Repository to clone: `https://code.wireshark.org/review/wireshark`
+
@@ -284,104 +309,46 @@ Subdirectory to create: Anything you'd like. Usually `wireshark`.
Make sure your repository path doesn't contain spaces.
====
-.. Click the _Clone_ button. Git Extensions should start cloning the
+. 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>>.]
---
-
-.. `QT5_BASE_DIR`: If you plan to build QtShark (the Wireshark GUI application
-which uses the Qt windowing toolkit instead of GTK+), set QT5_BASE_DIR so that
-$(QT5_BASE_DIR)/bin/qmake.exe is valid. You can use the output of
-"qmake -query QT_INSTALL_PREFIX" as indicated in the comments in config.nmake,
-but make sure that you use backslashes (\\) in the path rather than the forward
-slashes returned by qmake.
-
-
[[ChSetupPrepareCommandCom]]
-==== Prepare cmd.exe
+==== Open a Visual Studio Command Prompt
-Prepare `cmd.exe` -- set its environment and current directory.
+From the Start Menu (or Start Screen), navigate to the Visual Studio 2013 ->
+Visual Studio Tools directory and choose the Command Prompt appropriate for the build you wish to make, e.g. VS2013 x86 Native Tools Command Prompt for a 32 bit version.
-. Start `cmd.exe`.
+[TIP]
+.Pin the items to the Task Bar
+====
+Pin the Command Prompt you use to the Task Bar for easy access.
+====
-. 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.
---
+All subsequent operations take place in this Command Prompt window.
-. Set environment variable to select target platform.
+. Set environment variables to control the build.
+
--
-To build 32-bit binaries execute
+Set the following env vars, using paths and values suitable for your installation
----
-> set WIRESHARK_TARGET_PLATFORM=win32
+> set CYGWIN=nodosfilewarning
+> set WIRESHARK_BASE_DIR=C:\Development
+> set WIRESHARK_TARGET_PLATFORM=win32 or win64 as required
+> set QT5_BASE_DIR=C:\Qt\Qt5.3.0\5.3\msvc2013
+
+> set WIRESHARK_VERSION_EXTRA=-YourExtraVersionInfo
----
-and to build 64-bit binaries execute
+If you are using a version of Visual Studio earlier than VS2012 then you must set an additional env var,
+e.g. for VS2010 set the following:
----
-> set WIRESHARK_TARGET_PLATFORM=win64
+> set VisualStudioVersion=10.0
----
+Setting these variables could be added to a batch file to be run after you open
+the Visual Studio Tools Command Prompt.
--
-
-. Run
+. Change to the correct source directory
+
--
----
@@ -390,50 +357,6 @@ and to build 64-bit binaries execute
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; a sample script is below. Note that the paths given
-here may not match your installation - double check CYGWIN_BIN and QT5_BIN in
-particular, and/or remove QT5_BIN if you are not building QtShark.
-
-----
-@echo off
-
-set CYGWIN_BIN=C:\cygwin\bin
-set QT5_BIN=C:\Qt\5.3\msvc2010_opengl\bin
-set MSVC_BIN="C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin"
-
-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%;%CYGWIN_BIN%;%QT5_BIN%
-set WIRESHARK_TARGET_PLATFORM=win64
-call %MSVC_BIN%\SetEnv.Cmd /Release /x64
-title Command Prompt (VC++ 2010 x64)
-goto :eof
-
-:x86
-echo Adding things to the path...
-set PATH=%PATH%;%CYGWIN_BIN%;%QT5_BIN%
-set WIRESHARK_TARGET_PLATFORM=win32
-call %MSVC_BIN%\SetEnv.Cmd /Release /x86
-title Command Prompt (VC++ 2010 -x86)
-goto :eof
-----
-
[[ChToolsWin32Verify]]
==== Verify installed tools
@@ -450,7 +373,7 @@ You will need the Wireshark sources and some tools
to work.
====
-Enter at the command line (cmd.exe, not Cygwin's bash):
+Enter at the Visual Studio Command prompt line:
----
> nmake -f Makefile.nmake verify_tools
@@ -460,9 +383,9 @@ 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
+ cl: /cygdrive/c/Program Files (x86)/Microsoft Visual Studio 12.0/VC/BIN/cl
+ link: /cygdrive/c/Program Files (x86)/Microsoft Visual Studio 12.0/VC/BIN/link
+ nmake: /cygdrive/c/Program Files (x86)/Microsoft Visual Studio 12.0/VC/BIN/nmake
bash: /usr/bin/bash
bison: /usr/bin/bison
flex: /usr/bin/flex
@@ -472,15 +395,13 @@ Checking for required applications:
peflags: /usr/bin/peflags
perl: /usr/bin/perl
C:\Python27\python.exe: /cygdrive/c/Python27/python.exe
+ C:\Qt\Qt5.3.0\msvc2013\bin\qmake: /cygdrive/c/Qt/Qt5.3.0/5.3/msvc2013/bin/qmake
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.
+If you have problems with all the first three items (cl, link, nmake), check that you opened a Visual Studio Command Prompt <<ChSetupPrepareCommandCom>>.
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
@@ -490,11 +411,11 @@ 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`.
+problems have been caused by incompatible versions of `grep` and `unzip` provided by other installed applications.
==== Install Libraries
-. If you've closed `cmd.exe` prepare it again.
+. If you've closed the Visual Studio Command Prompt <<ChSetupPrepareCommandCom,prepare>> it again.
. Run
+
@@ -511,32 +432,14 @@ 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
+<<ChSetupPrepareCommandCom>>for how to open the required Visual Studio Command Prompt 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.
+. If you've closed the Visual Studio Command Prompt <<ChSetupPrepareCommandCom,prepare>> it again.
. Run
+
@@ -547,11 +450,11 @@ Now it's time to build Wireshark!
to build Wireshark.
--
-. Wait for Wireshark to compile. This will take a while.
+. Wait for Wireshark to compile. This will take a while, and there will be a lot of text output in the command prompt window
-. Run `C:\wireshark\wireshark-qt-release\wireshark.exe` and make sure it starts. s
+. Run `C:\Development\wireshark\wireshark-qt-release\Wireshark.exe` and make sure it starts.
-//. Run `C:\wireshark\wireshark-gtk2\wireshark-gtk.exe` and make sure it starts. s
+//. Run `C:wiresharkwireshark-gtk2wireshark-gtk.exe` and make sure it starts.
. Open 'Help -> About'. If it shows your "private" program
version, e.g.: Version wireshark-major-minor-version:[].x-myprotocol123
@@ -573,7 +476,7 @@ launch QtShark in the debugger included with that IDE.
==== 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.
+'docbook\README.txt' in the Wireshark sources.
==== Optional: Create a Wireshark Installer
@@ -591,23 +494,7 @@ 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.
+. If you've closed the Visual Studio Command Prompt <<ChSetupPrepareCommandCom,prepare>> it again.
. Run
+
@@ -615,15 +502,15 @@ __C:\Wireshark-win64-libs__.footnoteref:[compilerdependent]
----
> nmake -f Makefile.nmake packaging
----
-to build Wireshark installer.
+to build a Wireshark installer.
--
. Run
+
--
----
-> C:\wireshark\packaging\nsis\wireshark-win32-wireshark-major-minor-version:[].x-myprotocol123.exe
+> C:\Development\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.
+than the developer machine. Note that if you've built an x64 version, the installer will be named accordingly.
--