Commit c535d089 authored by Luca Barbato's avatar Luca Barbato

doc: update build system documentation

Split normal build system documentation and the fate one.

Document THREADS make variable and provide an introduction to fate.
Document DESTDIR make variable and add some generic targets.
parent 00f0b4b9
Libav currently uses a custom build system, this text attempts to document Libav currently uses a custom build system, this text attempts to document
some of its obscure features and options. some of its obscure features and options.
Options to make: Makefile variables:
make V=1 <target>
Build target with verbosity 1, instead of 1, 2 can be used too
make SAMPLES=<path to the fate samples> <target>
specify the path to the fate samples at make time
V
Disable the default terse mode, the full command issued by make and its
output will be shown on the screen.
Useful standard make commands: DESTDIR
make -t <target> Destination directory for the install targets, useful to prepare packages
Touch all files that otherwise would be build, this is useful to reduce or install Libav in cross-environments.
unneeded rebuilding when changing headers, but note you must force rebuilds
of files that actually need it by hand then.
make -j<num> Makefile targets:
rebuild with multiple jobs at the same time. Faster on multi processor systems
make -k all
continue build in case of errors, this is useful for the regression tests Default target, builds all the libraries and the executables.
sometimes but note it will still not run all reg tests.
install
Install headers, libraries and programs.
Targets to make: libavformat/output-example
fate-list Build the libavformat basic example.
Will list all fate/regression test targets
fate libavcodec/api-example
Run the fate test suite, note you must have installed it Build the libavcodec basic example.
libswscale/swscale-test
Build the swscale self-test (useful also as example).
Setting up local fate:
use the following command to get the fate test samples
rsync -aL rsync://rsync.mplayerhq.hu:/samples/fate-suite/ fate/fate-suite
pass --samples=<path to the samples> to configure or pass the path with the
SAMPLES variable to make
FATE Automated Testing Environment
FATE provides a regression testsuite that can be run locally or configured
to send reports to fate.libav.org.
In order to run, it needs a large amount of data (samples and references)
that is provided separately from the actual source distribution.
Use the following command to get the fate test samples
# rsync -aL rsync://samples.libav.org:/samples/fate-suite/ fate-suite
To inform the build system about the testsuite location, pass
`--samples=<path to the samples>` to configure or set the SAMPLES Make
variable or the FATE_SAMPLES environment variable to a suitable value.
For information on how to set up FATE to send results to the official Libav
testing framework, please refer to the following wiki page:
http://wiki.multimedia.cx/index.php?title=FATE
FATE Makefile targets:
fate-list
Will list all fate/regression test targets.
fate
Run the FATE test suite (requires the fate-suite dataset).
Fate Makefile variables:
V
Verbosity level, can be set to 0, 1 or 2.
* 0: show just the test arguments
* 1: show just the command used in the test
* 2: show everything
SAMPLES
Specify or override the path to the FATE samples at make time, it has a
meaning only while running the regression tests.
THREADS
Specify how many threads to use while running regression tests, it is
quite useful to detect thread-related regressions.
Example:
make V=1 SAMPLES=/var/fate/samples THREADS=2 fate
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment