Fix things on case-insensitive file systems.
[vapoursynth-svn.git] / INSTALL
blob1be87aae7ae81ee96cd6b22eb2d3148e80538bca
1 Installation
2 ------------
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   libavcodec, 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 Python module.
14 * You need to have Cython installed in your Python 3 environment
15   in order to invoke the Python wrapper setup script.
16 * You need Sphinx if you want to build the documentation.
18 First off, you'll want to fetch Waf which is the build tool
19 VapourSynth uses:
21     $ ./bootstrap.py
23 You don't have to fetch it with this script (it requires Wget);
24 you can also simply download it from the official Google Code
25 repository: http://code.google.com/p/waf
27 Then, configure the project:
29     $ ./waf configure
31 The configure operation has some options which can be used to
32 fine-tune the build:
34 * --prefix=path (default: /usr/local)
35   Specifies where to install the final VapourSynth artifacts.
36 * --libdir=path (default: ${PREFIX}/lib)
37   Specifies where to install VapourSynth libraries.
38 * --plugindir=path (default: ${LIBDIR}/vapoursynth)
39   Specifies where to install plugins/filters.
40 * --docdir=path (default: ${PREFIX}/share/doc/vapoursynth)
41   Specifies where to install Sphinx documentation and examples.
42 * --includedir=path (default: ${PREFIX}/include/vapoursynth)
43   Specifies where to install C/C++ headers.
44 * --mode=debug/release (default: release)
45   Specifies what mode to compile C and C++ code in. When in
46   debug mode, debug info and debugging helpers will be emitted
47   by the compiler, and no optimization will be done. In release
48   mode, all (safe) optimizations are performed and no debug
49   info is generated.
50 * --shared=true/false (default: true)
51   Specifies whether to build a shared library.
52 * --static=true/false (default: false)
53   Specifies whether to build a static library.
54 * --filters=true/false (default: true)
55   Specifies whether to build the included filters. These are
56   always built as shared libraries.
57 * --avisynth=true/false (default: true)
58   Specifies whether to build the Avisynth compatibility layer
59   when building on Windows.
60 * --docs=true/false (default: false)
61   Specifies whether to build the Sphinx-based documentation.
62 * --examples=true/false (default: false)
63   Specifies whether to install the SDK examples.
65 Once the project is configured, simply execute:
67     $ ./waf build
69 By default, Waf builds tasks in parallel. You can control the
70 level of parallelism with the -j option, like with Make.
72 If you want to build the Cython wrapper, you can do so now by
73 executing:
75     $ ./setup.py build
77 Finally, to install VapourSynth:
79     $ ./waf install
81 And to uninstall:
83     $ ./waf uninstall
85 The install and uninstall commands accept a --destdir option
86 which prepends a value to the prefix given earlier in the
87 configure phase, in case this may be of use to you.
89 To install the Cython wrapper:
91     $ ./setup.py install
93 Note that the setup script has a --prefix option like Waf.
95 Finally, you can run the Python tests if you have installed
96 the Python module:
98     $ ./waf test