007486329f
The commit introduces a make target 'testdata' that downloads the required test data from the WebM project website. The data will also be downloaded if invoking `make test` but is not a strict requirement for only building the test executable. The download directory is taken from the LIBVPX_TEST_DATA_PATH environment variable, or may be specified as part of the make command. If unset, it defaults to the current directory. It's expected that most developers will want to set this environment variable to a place outside their source/build trees, to avoid having to download the data more than once. To add test data file: 1) add a line to test/test.mk: LIBVPX_TEST_DATA-yes += foo-bar-file.y4m 2) add its sha1sum to the test/test-data.sha1 file in the following format: 528cc88c821e5f5b133c2b40f9c8e3f22eaacc4c foo-bar-file.y4m 3) upload the file to the website $ gsutil cp foo-bar-file.y4m gs://downloads.webmproject.org/test_data/libvpx This implementation will check the integrity of the test data automatically if the `sha1sum` executable is available. Change-Id: If6910fe304bb3f5cdcc5cb9e5f9afa5be74720d2
107 lines
3.6 KiB
Plaintext
107 lines
3.6 KiB
Plaintext
vpx Multi-Format Codec SDK
|
|
README - 21 June 2012
|
|
|
|
Welcome to the WebM VP8 Codec SDK!
|
|
|
|
COMPILING THE APPLICATIONS/LIBRARIES:
|
|
The build system used is similar to autotools. Building generally consists of
|
|
"configuring" with your desired build options, then using GNU make to build
|
|
the application.
|
|
|
|
1. Prerequisites
|
|
|
|
* All x86 targets require the Yasm[1] assembler be installed.
|
|
* All Windows builds require that Cygwin[2] be installed.
|
|
* Building the documentation requires PHP[3] and Doxygen[4]. If you do not
|
|
have these packages, you must pass --disable-install-docs to the
|
|
configure script.
|
|
* Downloading the data for the unit tests requires curl[5] and sha1sum.
|
|
sha1sum is provided via the GNU coreutils, installed by default on
|
|
many *nix platforms, as well as MinGW and Cygwin. If coreutils is not
|
|
available, a compatible version of sha1sum can be built from
|
|
source[6]. These requirements are optional if not running the unit
|
|
tests.
|
|
|
|
[1]: http://www.tortall.net/projects/yasm
|
|
[2]: http://www.cygwin.com
|
|
[3]: http://php.net
|
|
[4]: http://www.doxygen.org
|
|
[5]: http://curl.haxx.se
|
|
[6]: http://www.microbrew.org/tools/md5sha1sum/
|
|
|
|
2. Out-of-tree builds
|
|
Out of tree builds are a supported method of building the application. For
|
|
an out of tree build, the source tree is kept separate from the object
|
|
files produced during compilation. For instance:
|
|
|
|
$ mkdir build
|
|
$ cd build
|
|
$ ../libvpx/configure <options>
|
|
$ make
|
|
|
|
3. Configuration options
|
|
The 'configure' script supports a number of options. The --help option can be
|
|
used to get a list of supported options:
|
|
$ ../libvpx/configure --help
|
|
|
|
4. Cross development
|
|
For cross development, the most notable option is the --target option. The
|
|
most up-to-date list of supported targets can be found at the bottom of the
|
|
--help output of the configure script. As of this writing, the list of
|
|
available targets is:
|
|
|
|
armv5te-android-gcc
|
|
armv5te-linux-rvct
|
|
armv5te-linux-gcc
|
|
armv6-darwin-gcc
|
|
armv6-linux-rvct
|
|
armv6-linux-gcc
|
|
armv7-android-gcc
|
|
armv7-linux-rvct
|
|
armv7-linux-gcc
|
|
mips32-linux-gcc
|
|
ppc32-darwin8-gcc
|
|
ppc32-darwin9-gcc
|
|
ppc64-darwin8-gcc
|
|
ppc64-darwin9-gcc
|
|
ppc64-linux-gcc
|
|
x86-darwin8-gcc
|
|
x86-darwin8-icc
|
|
x86-darwin9-gcc
|
|
x86-darwin9-icc
|
|
x86-linux-gcc
|
|
x86-linux-icc
|
|
x86-solaris-gcc
|
|
x86-win32-vs7
|
|
x86-win32-vs8
|
|
x86_64-darwin9-gcc
|
|
x86_64-linux-gcc
|
|
x86_64-solaris-gcc
|
|
x86_64-win64-vs8
|
|
universal-darwin8-gcc
|
|
universal-darwin9-gcc
|
|
generic-gnu
|
|
|
|
The generic-gnu target, in conjunction with the CROSS environment variable,
|
|
can be used to cross compile architectures that aren't explicitly listed, if
|
|
the toolchain is a cross GNU (gcc/binutils) toolchain. Other POSIX toolchains
|
|
will likely work as well. For instance, to build using the mipsel-linux-uclibc
|
|
toolchain, the following command could be used (note, POSIX SH syntax, adapt
|
|
to your shell as necessary):
|
|
|
|
$ CROSS=mipsel-linux-uclibc- ../libvpx/configure
|
|
|
|
In addition, the executables to be invoked can be overridden by specifying the
|
|
environment variables: CC, AR, LD, AS, STRIP, NM. Additional flags can be
|
|
passed to these executables with CFLAGS, LDFLAGS, and ASFLAGS.
|
|
|
|
5. Configuration errors
|
|
If the configuration step fails, the first step is to look in the error log.
|
|
This defaults to config.err. This should give a good indication of what went
|
|
wrong. If not, contact us for support.
|
|
|
|
SUPPORT
|
|
This library is an open source project supported by its community. Please
|
|
please email webm-discuss@webmproject.org for help.
|
|
|