blob: 909cf35dc76dabbedcd3c35f882b4759fb805201 [file] [log] [blame]
#!/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 -f "$OUT_BINARY_PATH"/libvk_swiftshader.so "$DISTRIB_LIB_PATH"
cp -f "$OUT_BINARY_PATH"/vk_swiftshader_icd.json "$DISTRIB_LIB_PATH"
cp -f "$OUT_BINARY_PATH"/libvulkan.so.1 "$DISTRIB_LIB_PATH"
fi
fi