]> git.cworth.org Git - apitrace/blob - INSTALL.markdown
retrace: Implement glxCopySubBufferMESA
[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 Build as:
45
46     cmake -H. -Bbuild -DCMAKE_BUILD_TYPE=RelWithDebInfo
47     make -C build
48
49 Other possible values for `CMAKE_BUILD_TYPE` `Debug`, `Release`,
50 `RelWithDebInfo`, and `MinSizeRel`.
51
52 You can also build the 32-bits GL wrapper on a 64-bits distribution, provided
53 you have a multilib gcc and 32-bits X11 libraries, by doing:
54
55     cmake \
56         -DCMAKE_C_FLAGS=-m32 \
57         -DCMAKE_CXX_FLAGS=-m32 \
58         -DCMAKE_EXE_LINKER_FLAGS=-m32 \
59         -DCMAKE_SYSTEM_LIBRARY_PATH=/usr/lib32 \
60         -DENABLE_GUI=FALSE \
61         -H. -Bbuild32
62     make -C build32 glxtrace
63
64 The `/usr/lib32` refers to the path where the 32-bits shared objects are may
65 differ depending on the actual Linux distribution.
66
67
68 Android
69 -------
70
71 Additional requirements:
72
73 * [Android NDK](http://developer.android.com/sdk/ndk/index.html)
74
75 Build as:
76
77     export ANDROID_NDK=/path/to/your/ndk
78     cmake -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain/android.toolchain.cmake -DANDROID_API_LEVEL=9 -H. -Bbuild
79     make -C build
80
81 You can also choose a particular ABI by passing `ANDROID_ABI` variable to
82 cmake, e.g., `-DANDROID_ABI=x86`.
83
84 FirefoxOS
85 ---------
86
87 Put Apitrace source tree into `B2GROOT/external/apitrace/` and the `Android.mk`
88 file (`B2GROOT/external/apitrace/Android.mk`) will do the needful to compile
89 and install apitrace appropriately into the system image as part of FirefoxOS
90 build process. It expects a linaro-type of Android NDK to be present in
91 `../../prebuilt/ndk/android-ndk-r7` (ie `B2GROOT/prebuilt/ndk/android-ndk-r7`).
92
93
94 Windows
95 -------
96
97 Additional requirements:
98
99 * For Direct3D 11.1 support:
100
101   * [Microsoft Visual Studio 11 Ultimate Beta](http://www.microsoft.com/download/en/details.aspx?id=27543)
102
103 * Other:
104
105   * Microsoft Visual Studio (tested with 2010 version) or MinGW (tested with
106     mingw-w64's gcc version 4.6.2)
107
108   * [Microsoft DirectX SDK](http://msdn.microsoft.com/en-us/directx/aa937781):
109
110     * for D3D 10, 10.1, and 11 support the [June 2010 release](http://www.microsoft.com/en-us/download/details.aspx?id=6812) is
111       recommended.
112
113     * for D3D7, D3D8 support the [August 2007 release](http://www.microsoft.com/downloads/details.aspx?familyid=529F03BE-1339-48C4-BD5A-8506E5ACF571)
114       or earlier is required, as later releases do not include the necessary
115       headers.
116
117 To build with Visual Studio first invoke CMake GUI as:
118
119     cmake-gui -H%cd% -B%cd%\build
120
121 and press the _Configure_ button.
122
123 It will try to detect most required/optional dependencies automatically.  When
124 not found automatically, you can manually specify the location of the
125 dependencies from the CMake GUI.
126
127 Qt on Windows doesn't ship with 64-bit binaries, you may want to add
128 `-DENABLE_GUI=FALSE` to the above cmake command line for Windows 64-bits
129 builds.
130
131 After you've successfully configured, you can start the build by opening the
132 generated `build\apitrace.sln` solution file, or invoking CMake as:
133
134     cmake --build build --config MinSizeRel
135
136 The steps to build 64bit version are similar, but choosing _Visual Studio 10
137 Win64_ instead of _Visual Studio 10_.
138
139 It's also possible to instruct CMake build Windows binaries on Linux with
140 [MinGW cross compilers](http://www.cmake.org/Wiki/CmakeMingw).
141
142