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