| #!/bin/sh | |
| ## | |
| ## Copyright (c) 2017, Alliance for Open Media. All rights reserved | |
| ## | |
| ## This source code is subject to the terms of the BSD 2 Clause License and | |
| ## the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License | |
| ## was not distributed with this source code in the LICENSE file, you can | |
| ## obtain it at www.aomedia.org/license/software. If the Alliance for Open | |
| ## Media Patent License 1.0 was not distributed with this source code in the | |
| ## PATENTS file, you can obtain it at www.aomedia.org/license/patent. | |
| ## | |
| if ! [ -x "$(command -v emcc)" ] \ | |
| || ! [ -x "$(command -v emconfigure)" ] \ | |
| || ! [ -x "$(command -v emmake)" ]; then | |
| cat << EOF >& 2 | |
| Emscripten SDK is not available (emcc, emconfigure or emmake is missing). | |
| Install it from | |
| https://kripken.github.io/emscripten-site/docs/getting_started/downloads.html | |
| and try again. | |
| EOF | |
| exit 1 | |
| fi | |
| echo 'Building JS Inspector' | |
| if [ ! -d ".inspect" ]; then | |
| mkdir .inspect | |
| cd .inspect && emconfigure ../../configure \ | |
| --disable-multithread \ | |
| --disable-runtime-cpu-detect \ | |
| --target=generic-gnu \ | |
| --enable-accounting \ | |
| --disable-docs \ | |
| --disable-unit-tests \ | |
| --enable-inspection \ | |
| --enable-highbitdepth \ | |
| --extra-cflags="-D_POSIX_SOURCE" | |
| cd .. | |
| fi | |
| cd .inspect | |
| emmake make -j 8 | |
| cp examples/inspect inspect.bc | |
| emcc -O3 inspect.bc -o inspect.js \ | |
| -s TOTAL_MEMORY=134217728 \ | |
| -s MODULARIZE=1 \ | |
| -s EXPORT_NAME="'DecoderModule'" \ | |
| --post-js "../inspect-post.js" \ | |
| --memory-init-file 0 | |
| cp inspect.js ../inspect.js |