]> git.cworth.org Git - apitrace/blobdiff - INSTALL.markdown
Use skiplist-based FastCallSet within trace::CallSet
[apitrace] / INSTALL.markdown
index b50fb7890721c5944bb030cfe3a58c2422eecce0..ed965b104333c349ed45f1c4228f7e4d9bd5f235 100644 (file)
@@ -2,17 +2,34 @@ Building from source
 ====================
 
 
+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)
+
 
-* CMake (tested with version 2.8)
+The GUI also dependends on:
 
-Requirements to build the GUI (optional):
+* Qt version 4.7 or higher (tested with version 4.8)
 
-* Qt (tested with version 4.7)
+* QJSON version 0.5 or higher (tested with version 0.7.1, which is bundled)
 
-* QJSON (tested with version 0.7.1)
+Qt and QJSON will be required if `-DENABLE_GUI=TRUE` is passed to CMake, and
+never used if `-DENABLE_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.
+
+
+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
@@ -23,47 +40,82 @@ Build as:
     cmake -H. -Bbuild
     make -C build
 
-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
+You can also build the 32-bits GL wrapper on a 64-bits distribution, provided
+you have a multilib gcc and 32-bits X11 libraries, by doing:
+
+    cmake \
+        -DCMAKE_C_FLAGS=-m32 \
+        -DCMAKE_CXX_FLAGS=-m32 \
+        -DCMAKE_EXE_LINKER_FLAGS=-m32 \
+        -DCMAKE_SYSTEM_LIBRARY_PATH=/usr/lib32 \
+        -DENABLE_GUI=FALSE \
+        -H. -Bbuild32
     make -C build32 glxtrace
 
+The `/usr/lib32` refers to the path where the 32-bits shared objects are may
+differ depending on the actual Linux distribution.
+
+
+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
+
+You can also choose a particular ABI by passing `ANDROID_ABI` variable to
+cmake, e.g., `-DANDROID_ABI=x86`.
+
 
 Windows
 -------
 
 Additional requirements:
 
-* Microsoft Visual Studio (tested with 2008 version) or MinGW (tested with gcc version 4.4)
+* For Direct3D 11.1 support:
 
-* Microsoft DirectX SDK (tested with August 2007 release)
+  * [Microsoft Visual Studio 11 Ultimate Beta](http://www.microsoft.com/download/en/details.aspx?id=27543)
+
+* 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:
 
-    cmake-gui -H. -B%cd%\build
+    cmake-gui -H%cd% -B%cd%\build
 
 and press the _Configure_ button.
 
 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).