1 vpx Multi-Format Codec SDK 2 README - 19 May 2010 3 4 Welcome to the WebM VP8 Codec SDK! 5 6 COMPILING THE APPLICATIONS/LIBRARIES: 7 The build system used is similar to autotools. Building generally consists of 8 "configuring" with your desired build options, then using GNU make to build 9 the application. 10 11 1. Prerequisites 12 13 * All x86 targets require the Yasm[1] assembler be installed. 14 * All Windows builds require that Cygwin[2] be installed. 15 * Building the documentation requires PHP[3] and Doxygen[4]. If you do not 16 have these packages, you must pass --disable-install-docs to the 17 configure script. 18 19 [1]: http://www.tortall.net/projects/yasm 20 [2]: http://www.cygwin.com 21 [3]: http://php.net 22 [4]: http://www.doxygen.org 23 24 2. Out-of-tree builds 25 Out of tree builds are a supported method of building the application. For 26 an out of tree build, the source tree is kept separate from the object 27 files produced during compilation. For instance: 28 29 $ mkdir build 30 $ cd build 31 $ ../libvpx/configure <options> 32 $ make 33 34 3. Configuration options 35 The 'configure' script supports a number of options. The --help option can be 36 used to get a list of supported options: 37 $ ../libvpx/configure --help 38 39 4. Cross development 40 For cross development, the most notable option is the --target option. The 41 most up-to-date list of supported targets can be found at the bottom of the 42 --help output of the configure script. As of this writing, the list of 43 available targets is: 44 45 armv5te-linux-rvct 46 armv5te-linux-gcc 47 armv5te-symbian-gcc 48 armv5te-wince-vs8 49 armv6-darwin-gcc 50 armv6-linux-rvct 51 armv6-linux-gcc 52 armv6-symbian-gcc 53 armv6-wince-vs8 54 iwmmxt-linux-rvct 55 iwmmxt-linux-gcc 56 iwmmxt-wince-vs8 57 iwmmxt2-linux-rvct 58 iwmmxt2-linux-gcc 59 iwmmxt2-wince-vs8 60 armv7-linux-rvct 61 armv7-linux-gcc 62 mips32-linux-gcc 63 ppc32-darwin8-gcc 64 ppc32-darwin9-gcc 65 ppc64-darwin8-gcc 66 ppc64-darwin9-gcc 67 ppc64-linux-gcc 68 x86-darwin8-gcc 69 x86-darwin8-icc 70 x86-darwin9-gcc 71 x86-darwin9-icc 72 x86-linux-gcc 73 x86-linux-icc 74 x86-solaris-gcc 75 x86-win32-vs7 76 x86-win32-vs8 77 x86_64-darwin9-gcc 78 x86_64-linux-gcc 79 x86_64-solaris-gcc 80 x86_64-win64-vs8 81 universal-darwin8-gcc 82 universal-darwin9-gcc 83 generic-gnu 84 85 The generic-gnu target, in conjunction with the CROSS environment variable, 86 can be used to cross compile architectures that aren't explicitly listed, if 87 the toolchain is a cross GNU (gcc/binutils) toolchain. Other POSIX toolchains 88 will likely work as well. For instance, to build using the mipsel-linux-uclibc 89 toolchain, the following command could be used (note, POSIX SH syntax, adapt 90 to your shell as necessary): 91 92 $ CROSS=mipsel-linux-uclibc- ../libvpx/src/configure 93 94 In addition, the executables to be invoked can be overridden by specifying the 95 environment variables: CC, AR, LD, AS, STRIP, NM. Additional flags can be 96 passed to these executables with CFLAGS, LDFLAGS, and ASFLAGS. 97 98 5. Configuration errors 99 If the configuration step fails, the first step is to look in the error log. 100 This defaults to config.err. This should give a good indication of what went 101 wrong. If not, contact us for support. 102 103 SUPPORT 104 This library is an open source project supported by its community. Please 105 please email webm-users (a] webmproject.org for help. 106 107