Home | History | Annotate | Download | only in libvpx
      1 vpx Multi-Format Codec SDK
      2 README - 1 August 2013
      3 
      4 Welcome to the WebM VP8/VP9 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     * Downloading the data for the unit tests requires curl[5] and sha1sum.
     19       sha1sum is provided via the GNU coreutils, installed by default on
     20       many *nix platforms, as well as MinGW and Cygwin. If coreutils is not
     21       available, a compatible version of sha1sum can be built from
     22       source[6]. These requirements are optional if not running the unit
     23       tests.
     24 
     25     [1]: http://www.tortall.net/projects/yasm
     26     [2]: http://www.cygwin.com
     27     [3]: http://php.net
     28     [4]: http://www.doxygen.org
     29     [5]: http://curl.haxx.se
     30     [6]: http://www.microbrew.org/tools/md5sha1sum/
     31 
     32   2. Out-of-tree builds
     33   Out of tree builds are a supported method of building the application. For
     34   an out of tree build, the source tree is kept separate from the object
     35   files produced during compilation. For instance:
     36 
     37     $ mkdir build
     38     $ cd build
     39     $ ../libvpx/configure <options>
     40     $ make
     41 
     42   3. Configuration options
     43   The 'configure' script supports a number of options. The --help option can be
     44   used to get a list of supported options:
     45     $ ../libvpx/configure --help
     46 
     47   4. Cross development
     48   For cross development, the most notable option is the --target option. The
     49   most up-to-date list of supported targets can be found at the bottom of the
     50   --help output of the configure script. As of this writing, the list of
     51   available targets is:
     52 
     53     armv5te-android-gcc
     54     armv5te-linux-rvct
     55     armv5te-linux-gcc
     56     armv5te-none-rvct
     57     armv6-darwin-gcc
     58     armv6-linux-rvct
     59     armv6-linux-gcc
     60     armv6-none-rvct
     61     armv7-android-gcc
     62     armv7-darwin-gcc
     63     armv7-linux-rvct
     64     armv7-linux-gcc
     65     armv7-none-rvct
     66     armv7-win32-vs11
     67     armv7-win32-vs12
     68     mips32-linux-gcc
     69     ppc32-darwin8-gcc
     70     ppc32-darwin9-gcc
     71     ppc32-linux-gcc
     72     ppc64-darwin8-gcc
     73     ppc64-darwin9-gcc
     74     ppc64-linux-gcc
     75     sparc-solaris-gcc
     76     x86-android-gcc
     77     x86-darwin8-gcc
     78     x86-darwin8-icc
     79     x86-darwin9-gcc
     80     x86-darwin9-icc
     81     x86-darwin10-gcc
     82     x86-darwin11-gcc
     83     x86-darwin12-gcc
     84     x86-darwin13-gcc
     85     x86-linux-gcc
     86     x86-linux-icc
     87     x86-os2-gcc
     88     x86-solaris-gcc
     89     x86-win32-gcc
     90     x86-win32-vs7
     91     x86-win32-vs8
     92     x86-win32-vs9
     93     x86-win32-vs10
     94     x86-win32-vs11
     95     x86-win32-vs12
     96     x86_64-darwin9-gcc
     97     x86_64-darwin10-gcc
     98     x86_64-darwin11-gcc
     99     x86_64-darwin12-gcc
    100     x86_64-darwin13-gcc
    101     x86_64-linux-gcc
    102     x86_64-linux-icc
    103     x86_64-solaris-gcc
    104     x86_64-win64-gcc
    105     x86_64-win64-vs8
    106     x86_64-win64-vs9
    107     x86_64-win64-vs10
    108     x86_64-win64-vs11
    109     x86_64-win64-vs12
    110     universal-darwin8-gcc
    111     universal-darwin9-gcc
    112     universal-darwin10-gcc
    113     universal-darwin11-gcc
    114     universal-darwin12-gcc
    115     universal-darwin13-gcc
    116     generic-gnu
    117 
    118   The generic-gnu target, in conjunction with the CROSS environment variable,
    119   can be used to cross compile architectures that aren't explicitly listed, if
    120   the toolchain is a cross GNU (gcc/binutils) toolchain. Other POSIX toolchains
    121   will likely work as well. For instance, to build using the mipsel-linux-uclibc
    122   toolchain, the following command could be used (note, POSIX SH syntax, adapt
    123   to your shell as necessary):
    124 
    125     $ CROSS=mipsel-linux-uclibc- ../libvpx/configure
    126 
    127   In addition, the executables to be invoked can be overridden by specifying the
    128   environment variables: CC, AR, LD, AS, STRIP, NM. Additional flags can be
    129   passed to these executables with CFLAGS, LDFLAGS, and ASFLAGS.
    130 
    131   5. Configuration errors
    132   If the configuration step fails, the first step is to look in the error log.
    133   This defaults to config.log. This should give a good indication of what went
    134   wrong. If not, contact us for support.
    135 
    136 SUPPORT
    137   This library is an open source project supported by its community. Please
    138   please email webm-discuss (a] webmproject.org for help.
    139 
    140