#!/bin/bash # Copyright (c) 2014 The Chromium Embedded Framework Authors. All rights # reserved. Use of this source code is governed by a BSD-style license # that can be found in the LICENSE file. if [ -z "$1" ]; then echo "ERROR: Please specify a build target: linux32, linux64 or macosx64" else DIR="$( cd "$( dirname "$0" )" && cd .. && pwd )" DISTRIB_PLATFORM="$1" DISTRIB_PATH="${DIR}/binary_distrib/$1" DISTRIB_BIN_PATH="$DISTRIB_PATH/bin" DISTRIB_DOCS_PATH="$DISTRIB_PATH/docs" OUT_PATH="${DIR}/out" OUT_DOCS_PATH="${DIR}/out/docs" SOURCE_PATH="${DIR}/java" JOGAMP_PATH="${DIR}/third_party/jogamp" TOOLS_DISTRIB_PATH="${DIR}/tools/distrib/$1" EXCLUDE_FILE="${DIR}/tools/distrib/EXCLUDE_FILES.txt" if [ ! -d "$DISTRIB_BIN_PATH" ]; then mkdir -p "$DISTRIB_BIN_PATH" fi # Create the JCEF documentation. #"${DIR}"/tools/make_docs.sh # Copy documentation to the docs directory. cp -rf "$OUT_DOCS_PATH" "$DISTRIB_DOCS_PATH" # Create README.txt python "${DIR}"/tools/make_readme.py --output-dir "$DISTRIB_PATH/" --platform $DISTRIB_PLATFORM # Copy miscellaneous files to the root directory. cp -f "${DIR}"/LICENSE.txt "$DISTRIB_PATH" cp -f "$JOGAMP_PATH"/*.LICENSE.txt "$DISTRIB_PATH" rsync -a --exclude-from "$EXCLUDE_FILE" "$TOOLS_DISTRIB_PATH/" "$DISTRIB_PATH/" if [ $1 == "macosx64" ]; then OUT_BINARY_PATH="${DIR}/jcef_build/native/Release" if [ ! -d "$OUT_BINARY_PATH" ]; then echo "ERROR: Native Release build output path does not exist" exit 1 fi # Copy test program source file to the tests directory. cp -rf "$SOURCE_PATH"/tests "$DISTRIB_PATH" # Everything else is contained in the app bundle. cp -rf "$OUT_BINARY_PATH"/jcef_app.app ""$DISTRIB_BIN_PATH else DISTRIB_LIB_PATH="$DISTRIB_PATH/bin/lib/$1" JOGAMP_JAR_PATH="$JOGAMP_PATH/jar" OUT_BINARY_PATH="$OUT_PATH/Release" # Alternately look in the CMake output path. if [ ! -d "$OUT_BINARY_PATH" ]; then OUT_BINARY_PATH="${DIR}/jcef_build/native/Release" fi if [ ! -d "$OUT_BINARY_PATH" ]; then echo "ERROR: Native Release build output path does not exist" exit 1 fi # Create the JCEF JAR file. "${DIR}"/tools/make_jar.sh $1 # Copy JAR files to the bin directory. cp -f "$JOGAMP_JAR_PATH"/gluegen-rt.jar "$DISTRIB_BIN_PATH" cp -f "$JOGAMP_JAR_PATH"/jogl-all.jar "$DISTRIB_BIN_PATH" if [ $1 == "linux32" ]; then JOGAMP_JAR_SUFFIX="i586" else JOGAMP_JAR_SUFFIX="amd64" fi cp -f "$JOGAMP_JAR_PATH"/gluegen-rt-natives-linux-$JOGAMP_JAR_SUFFIX.jar "$DISTRIB_BIN_PATH" cp -f "$JOGAMP_JAR_PATH"/jogl-all-natives-linux-$JOGAMP_JAR_SUFFIX.jar "$DISTRIB_BIN_PATH" cp -f "$OUT_PATH"/$1/jcef.jar "$DISTRIB_BIN_PATH" # Copy test program source and JAR file to the bin directory. cp -rf "$SOURCE_PATH"/tests "$DISTRIB_BIN_PATH" cp -f "$OUT_PATH"/$1/jcef-tests.jar "$DISTRIB_BIN_PATH" # Copy CEF Release files to the lib directory. if [ ! -d "$DISTRIB_LIB_PATH" ]; then mkdir -p "$DISTRIB_LIB_PATH" fi cp -f "$OUT_BINARY_PATH"/chrome-sandbox "$DISTRIB_LIB_PATH" cp -f "$OUT_BINARY_PATH"/libjcef.so "$DISTRIB_LIB_PATH" cp -f "$OUT_BINARY_PATH"/jcef_helper "$DISTRIB_LIB_PATH" cp -f "$OUT_BINARY_PATH"/icudtl.dat "$DISTRIB_LIB_PATH" cp -f "$OUT_BINARY_PATH"/libcef.so "$DISTRIB_LIB_PATH" cp -f "$OUT_BINARY_PATH"/libEGL.so "$DISTRIB_LIB_PATH" cp -f "$OUT_BINARY_PATH"/libGLESv2.so "$DISTRIB_LIB_PATH" cp -f "$OUT_BINARY_PATH"/snapshot_blob.bin "$DISTRIB_LIB_PATH" cp -f "$OUT_BINARY_PATH"/v8_context_snapshot.bin "$DISTRIB_LIB_PATH" cp -f "$OUT_BINARY_PATH"/*.pak "$DISTRIB_LIB_PATH" cp -rf "$OUT_BINARY_PATH"/locales/ "$DISTRIB_LIB_PATH" cp -rf "$OUT_BINARY_PATH"/swiftshader/ "$DISTRIB_LIB_PATH" fi fi