====================
+Requirements
+------------
+
Requirements common for all platforms:
-* Python (requires version 2.6)
+* Python version 2.6 or 2.7
+
+ * Python Image Library
+
+* CMake version 2.8 or higher (tested with version 2.8)
+
+
+The GUI also dependends on:
-* CMake (tested with version 2.8)
+* Qt version 4.7
-Requirements to build the GUI (optional):
+* QJSON version 0.5 or higher (tested with version 0.7.1, which is bundled)
-* Qt (tested with version 4.7)
+Qt and QJSON will be required if `-DENABLE_GUI=TRUE` is passed to CMake, and
+never used if `-DENABLED_GUI=FALSE` is passed instead. The implicit default is
+`-DENABLE_GUI=AUTO`, which will build the GUI if Qt is available, using the
+bundled QJSON if it is not found on the system.
-* QJSON (tested with version 0.7.1)
+
+The code also depends on zlib, libpng, and snappy libraries, but the bundled
+sources are always used regardless of system availability, to make the wrapper
+shared-objects/DLL self contained, and to prevent symbol collisions when
+tracing.
Linux / Mac OS X
You can also build the 32bit GL wrapper on 64bit distro with a multilib gcc by
doing:
- cmake -H. -Bbuild32 -DCMAKE_C_FLAGS=-m32 -DCMAKE_CXX_FLAGS=-m32 -DCMAKE_EXE_LINKER_FLAGS=-m32
+ cmake \
+ -DCMAKE_C_FLAGS=-m32 \
+ -DCMAKE_CXX_FLAGS=-m32 \
+ -DCMAKE_EXE_LINKER_FLAGS=-m32 \
+ -DENABLE_GUI=FALSE \
+ -H. -Bbuild32
make -C build32 glxtrace
+Android
+-------
+
+Additional requirements:
+
+* [Android NDK](http://developer.android.com/sdk/ndk/index.html)
+
+Build as:
+
+ export ANDROID_NDK=/path/to/your/ndk
+ cmake -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain/android.toolchain.cmake -DANDROID_API_LEVEL=9 -H. -Bbuild
+ make -C build
Windows
-------
Additional requirements:
-* Microsoft Visual Studio (tested with 2008 version) or MinGW (tested with gcc version 4.4)
+* For Direct3D 11.1 support:
+
+ * [Microsoft Visual Studio 11 Ultimate Beta](http://www.microsoft.com/download/en/details.aspx?id=27543)
-* Microsoft DirectX SDK (tested with August 2007 release)
+* Other:
+
+ * Microsoft Visual Studio (tested with 2010 version) or MinGW (tested with
+ mingw-w64's gcc version 4.6.2)
+
+ * [Microsoft DirectX SDK](http://msdn.microsoft.com/en-us/directx/aa937781):
+
+ * for D3D 10, 10.1, and 11 support the [June 2010 release](http://www.microsoft.com/en-us/download/details.aspx?id=6812) is
+ recommended.
+
+ * for D3D7, D3D8 support the [August 2007 release](http://www.microsoft.com/downloads/details.aspx?familyid=529F03BE-1339-48C4-BD5A-8506E5ACF571)
+ or earlier is required, as later releases do not include the necessary
+ headers.
To build with Visual Studio first invoke CMake GUI as:
It will try to detect most required/optional dependencies automatically. When
not found automatically, you can manually specify the location of the
-dependencies from the GUI.
-
-If you are building with GUI support (i.e, with QT and QJSON), it should detect
-the official QT sdk automatically, but you will need to build QJSON yourself
-and also set the `QJSON_INCLUDE_DIR` and `QJSON_LIBRARIES` variables in the
-generated `CMakeCache.txt` when building apitrace and repeat the above
-sequence.
+dependencies from the CMake GUI.
-After you've succesfully configured, you can start the build by opening the
-generated `build\apitrace.sln` solution file, or invoking `cmake` as:
+After you've successfully configured, you can start the build by opening the
+generated `build\apitrace.sln` solution file, or invoking CMake as:
cmake --build build --config MinSizeRel
-The steps to build 64bit version are similar, but choosing _Visual Studio 9
-2008 Win64_ instead of _Visual Studio 9 2008_.
+The steps to build 64bit version are similar, but choosing _Visual Studio 10
+Win64_ instead of _Visual Studio 10_.
-It's also possible to instruct `cmake` build Windows binaries on Linux with
+It's also possible to instruct CMake build Windows binaries on Linux with
[MinGW cross compilers](http://www.cmake.org/Wiki/CmakeMingw).