4 First, a couple of things to note:
6 * You need to be on Windows, Linux, or OS X.
7 * You need to have the QtCore libraries and headers installed.
8 * You need to have the libraries and headers for libavutil
9 and libswscale installed.
10 * You need to have either GCC, Clang, MSVC, or ICC/ICL installed.
11 Both a C and C++ compiler are required.
12 * You need to have Yasm installed.
13 * You need Python 3 to build the Cython wrapper.
14 * You need to have Cython installed in your Python 3 environment
15 in order to invoke the setup script.
17 First off, you'll want to fetch Waf which is the build tool
22 You don't have to fetch it with this script (it requires Wget);
23 you can also simply download it from the official Google Code
24 repository: http://code.google.com/p/waf
26 Then, configure the project:
30 The configure operation has some options which can be used to
33 * --prefix=path (default: /usr/local)
34 Specifies where to install the final VapourSynth artifacts.
35 * --libdir=path (default: ${PREFIX}/lib)
36 Specifies where to install VapourSynth libraries.
37 * --mode=debug/release (default: release)
38 Specifies what mode to compile C and C++ code in. When in
39 debug mode, debug info and debugging helpers will be emitted
40 by the compiler, and no optimization will be done. In release
41 mode, all (safe) optimizations are performed and no debug
43 * --static=true/false (default: false)
44 Specifies whether to build a static library in addition to the
46 * --filters=true/false (default: true)
47 Specifies whether to build the included filters. These are
48 always built as shared libraries.
49 * --cython=true/false (default: true)
50 Specifies whether to preprocess the Cython sources. This is
51 required if you plan to build and install the Cython wrapper.
52 * --avisynth=true/false (default: true)
53 Specifies whether to build the Avisynth compatibility layer
54 when building on Windows.
55 * --docs=true/false (default: false)
56 Specifies whether to build the Sphinx-based documentation.
57 * --examples=true/false (default: false)
58 Specifies whether to install the SDK examples.
60 Once the project is configured, simply execute:
64 By default, Waf builds tasks in parallel. You can control the
65 level of parallelism with the -j option, like with Make.
67 If you want to build the Cython wrapper, you can do so now by
72 Finally, to install VapourSynth:
80 To install the Cython wrapper:
84 Note that the setup script has a --prefix option like Waf.