]> git.cworth.org Git - apitrace/blob - INSTALL.markdown
gltrace: Expose marker functions when tracing is disabled.
[apitrace] / INSTALL.markdown
1 Building from source
2 ====================
3
4
5 Requirements
6 ------------
7
8 Requirements common for all platforms:
9
10 * Python version 2.6 or 2.7
11
12   * Python Image Library
13
14 * CMake version 2.8 or higher (tested with version 2.8)
15
16
17 The GUI also dependends on:
18
19 * Qt version 4.7 or higher (tested with version 4.8)
20
21 * QJSON version 0.5 or higher (tested with version 0.7.1, which is bundled)
22
23 Qt and QJSON will be required if `-DENABLE_GUI=TRUE` is passed to CMake, and
24 never used if `-DENABLE_GUI=FALSE` is passed instead.  The implicit default is
25 `-DENABLE_GUI=AUTO`, which will build the GUI if Qt is available, using the
26 bundled QJSON if it is not found on the system.
27
28
29 The code also depends on zlib, libpng, and snappy libraries, but the bundled
30 sources are always used regardless of system availability, to make the wrapper
31 shared-objects/DLL self contained, and to prevent symbol collisions when
32 tracing.
33
34
35 Linux / Mac OS X
36 ----------------
37
38 Additional optional dependencies for Linux:
39
40 * libprocps (procps development libraries)
41
42 * libdwarf
43
44
45 Build as:
46
47     cmake -H. -Bbuild
48     make -C build
49
50
51 You can also build the 32-bits GL wrapper on a 64-bits distribution, provided
52 you have a multilib gcc and 32-bits X11 libraries, by doing:
53
54     cmake \
55         -DCMAKE_C_FLAGS=-m32 \
56         -DCMAKE_CXX_FLAGS=-m32 \
57         -DCMAKE_EXE_LINKER_FLAGS=-m32 \
58         -DCMAKE_SYSTEM_LIBRARY_PATH=/usr/lib32 \
59         -DENABLE_GUI=FALSE \
60         -H. -Bbuild32
61     make -C build32 glxtrace
62
63 The `/usr/lib32` refers to the path where the 32-bits shared objects are may
64 differ depending on the actual Linux distribution.
65
66
67 Android
68 -------
69
70 Additional requirements:
71
72 * [Android NDK](http://developer.android.com/sdk/ndk/index.html)
73
74 Build as:
75
76     export ANDROID_NDK=/path/to/your/ndk
77     cmake -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain/android.toolchain.cmake -DANDROID_API_LEVEL=9 -H. -Bbuild
78     make -C build
79
80 You can also choose a particular ABI by passing `ANDROID_ABI` variable to
81 cmake, e.g., `-DANDROID_ABI=x86`.
82
83 FirefoxOS
84 ---------
85
86 Put Apitrace source tree into `B2GROOT/external/apitrace/` and the `Android.mk`
87 file (`B2GROOT/external/apitrace/Android.mk`) will do the needful to compile
88 and install apitrace appropriately into the system image as part of FirefoxOS
89 build process. It expects a linaro-type of Android NDK to be present in
90 `../../prebuilt/ndk/android-ndk-r7` (ie `B2GROOT/prebuilt/ndk/android-ndk-r7`).
91
92
93 Windows
94 -------
95
96 Additional requirements:
97
98 * For Direct3D 11.1 support:
99
100   * [Microsoft Visual Studio 11 Ultimate Beta](http://www.microsoft.com/download/en/details.aspx?id=27543)
101
102 * Other:
103
104   * Microsoft Visual Studio (tested with 2010 version) or MinGW (tested with
105     mingw-w64's gcc version 4.6.2)
106
107   * [Microsoft DirectX SDK](http://msdn.microsoft.com/en-us/directx/aa937781):
108
109     * for D3D 10, 10.1, and 11 support the [June 2010 release](http://www.microsoft.com/en-us/download/details.aspx?id=6812) is
110       recommended.
111
112     * for D3D7, D3D8 support the [August 2007 release](http://www.microsoft.com/downloads/details.aspx?familyid=529F03BE-1339-48C4-BD5A-8506E5ACF571)
113       or earlier is required, as later releases do not include the necessary
114       headers.
115
116 To build with Visual Studio first invoke CMake GUI as:
117
118     cmake-gui -H%cd% -B%cd%\build
119
120 and press the _Configure_ button.
121
122 It will try to detect most required/optional dependencies automatically.  When
123 not found automatically, you can manually specify the location of the
124 dependencies from the CMake GUI.
125
126 After you've successfully configured, you can start the build by opening the
127 generated `build\apitrace.sln` solution file, or invoking CMake as:
128
129     cmake --build build --config MinSizeRel
130
131 The steps to build 64bit version are similar, but choosing _Visual Studio 10
132 Win64_ instead of _Visual Studio 10_.
133
134 It's also possible to instruct CMake build Windows binaries on Linux with
135 [MinGW cross compilers](http://www.cmake.org/Wiki/CmakeMingw).
136
137