2019-11-18 18:18:28 -08:00
|
|
|
#!/bin/bash
|
|
|
|
set -e
|
2020-02-07 13:55:53 -08:00
|
|
|
set +x
|
2019-11-18 18:18:28 -08:00
|
|
|
|
2019-11-19 16:08:27 -08:00
|
|
|
trap "cd $(pwd -P)" EXIT
|
2021-08-07 15:32:18 +03:00
|
|
|
cd "$(dirname "$0")"
|
2020-12-07 09:21:36 -08:00
|
|
|
SCRIPT_FOLDER="$(pwd -P)"
|
2021-07-13 17:12:53 -08:00
|
|
|
source "${SCRIPT_FOLDER}/../utils.sh"
|
2019-11-18 18:18:28 -08:00
|
|
|
|
2020-02-07 13:55:53 -08:00
|
|
|
build_gtk() {
|
2022-08-11 10:12:45 -07:00
|
|
|
if [[ ! -d "./WebKitBuild/GTK/DependenciesGTK" ]]; then
|
2022-07-08 16:27:53 -07:00
|
|
|
yes | WEBKIT_JHBUILD=1 \
|
|
|
|
WEBKIT_JHBUILD_MODULESET=minimal \
|
|
|
|
WEBKIT_OUTPUTDIR=$(pwd)/WebKitBuild/GTK \
|
|
|
|
DEBIAN_FRONTEND=noninteractive \
|
|
|
|
./Tools/Scripts/update-webkitgtk-libs
|
2020-02-07 13:55:53 -08:00
|
|
|
fi
|
2022-04-15 02:16:26 +08:00
|
|
|
local CMAKE_ARGS=(
|
|
|
|
--cmakeargs=-DENABLE_INTROSPECTION=OFF
|
|
|
|
--cmakeargs=-DUSE_GSTREAMER_WEBRTC=FALSE
|
|
|
|
)
|
2020-08-06 16:33:34 -07:00
|
|
|
if [[ -n "${EXPORT_COMPILE_COMMANDS}" ]]; then
|
2022-04-15 02:16:26 +08:00
|
|
|
CMAKE_ARGS+=("--cmakeargs=-DCMAKE_EXPORT_COMPILE_COMMANDS=1")
|
2020-08-06 16:33:34 -07:00
|
|
|
fi
|
2022-08-11 10:12:45 -07:00
|
|
|
WEBKIT_JHBUILD=1 \
|
|
|
|
WEBKIT_JHBUILD_MODULESET=minimal \
|
|
|
|
WEBKIT_OUTPUTDIR=$(pwd)/WebKitBuild/GTK \
|
|
|
|
./Tools/Scripts/build-webkit --gtk --release "${CMAKE_ARGS}" --touch-events --orientation-events --no-bubblewrap-sandbox "${CMAKE_ARGS[@]}" MiniBrowser
|
2020-02-07 13:55:53 -08:00
|
|
|
}
|
|
|
|
|
|
|
|
build_wpe() {
|
2022-08-11 10:12:45 -07:00
|
|
|
if [[ ! -d "./WebKitBuild/WPE/DependenciesWPE" ]]; then
|
2022-07-08 16:27:53 -07:00
|
|
|
yes | WEBKIT_JHBUILD=1 \
|
|
|
|
WEBKIT_JHBUILD_MODULESET=minimal \
|
|
|
|
WEBKIT_OUTPUTDIR=$(pwd)/WebKitBuild/WPE \
|
|
|
|
DEBIAN_FRONTEND=noninteractive \
|
|
|
|
./Tools/Scripts/update-webkitwpe-libs
|
2020-02-07 13:55:53 -08:00
|
|
|
fi
|
2022-04-15 02:16:26 +08:00
|
|
|
local CMAKE_ARGS=(
|
|
|
|
--cmakeargs=-DENABLE_COG=OFF
|
|
|
|
--cmakeargs=-DENABLE_INTROSPECTION=OFF
|
|
|
|
--cmakeargs=-DENABLE_WEBXR=OFF
|
|
|
|
--cmakeargs=-DUSE_GSTREAMER_WEBRTC=FALSE
|
|
|
|
)
|
2020-08-06 16:33:34 -07:00
|
|
|
if [[ -n "${EXPORT_COMPILE_COMMANDS}" ]]; then
|
2022-04-15 02:16:26 +08:00
|
|
|
CMAKE_ARGS+=("--cmakeargs=-DCMAKE_EXPORT_COMPILE_COMMANDS=1")
|
2020-08-06 16:33:34 -07:00
|
|
|
fi
|
2022-07-08 16:27:53 -07:00
|
|
|
|
2022-08-11 10:12:45 -07:00
|
|
|
WEBKIT_JHBUILD=1 \
|
|
|
|
WEBKIT_JHBUILD_MODULESET=minimal \
|
|
|
|
WEBKIT_OUTPUTDIR=$(pwd)/WebKitBuild/WPE \
|
|
|
|
./Tools/Scripts/build-webkit --wpe --release "${CMAKE_ARGS}" --touch-events --orientation-events --no-bubblewrap-sandbox "${CMAKE_ARGS[@]}" MiniBrowser
|
2020-02-07 13:55:53 -08:00
|
|
|
}
|
|
|
|
|
2020-10-26 21:53:27 -07:00
|
|
|
ensure_linux_deps() {
|
2022-07-08 16:27:53 -07:00
|
|
|
|
2020-10-26 21:53:27 -07:00
|
|
|
yes | DEBIAN_FRONTEND=noninteractive ./Tools/gtk/install-dependencies
|
|
|
|
yes | DEBIAN_FRONTEND=noninteractive ./Tools/wpe/install-dependencies
|
2022-08-11 10:12:45 -07:00
|
|
|
# Install JHBuild deps.
|
|
|
|
yes | DEBIAN_FRONTEND=noninteractive WEBKIT_JHBUILD=1 WEBKIT_JHBUILD_MODULESET=minimal WEBKIT_OUTPUTDIR=$(pwd)/WebKitBuild/WPE ./Tools/Scripts/update-webkitwpe-libs
|
|
|
|
yes | DEBIAN_FRONTEND=noninteractive WEBKIT_JHBUILD=1 WEBKIT_JHBUILD_MODULESET=minimal WEBKIT_OUTPUTDIR=$(pwd)/WebKitBuild/GTK ./Tools/Scripts/update-webkitgtk-libs
|
2020-10-26 21:53:27 -07:00
|
|
|
}
|
|
|
|
|
2020-12-07 08:42:20 -08:00
|
|
|
if [[ ! -z "${WK_CHECKOUT_PATH}" ]]; then
|
|
|
|
cd "${WK_CHECKOUT_PATH}"
|
|
|
|
echo "WARNING: checkout path from WK_CHECKOUT_PATH env: ${WK_CHECKOUT_PATH}"
|
|
|
|
else
|
2021-10-14 10:20:06 -07:00
|
|
|
cd "$HOME/webkit"
|
2020-12-07 08:42:20 -08:00
|
|
|
fi
|
|
|
|
|
2022-04-22 13:35:35 -06:00
|
|
|
if is_mac; then
|
2022-04-25 07:35:26 -06:00
|
|
|
selectXcodeVersionOrDie $(node "$SCRIPT_FOLDER/../get_xcode_version.js" webkit)
|
2022-06-28 12:30:01 -07:00
|
|
|
./Tools/Scripts/build-webkit --release --touch-events --orientation-events
|
2022-04-22 13:35:35 -06:00
|
|
|
elif is_linux; then
|
2022-07-08 16:27:53 -07:00
|
|
|
args=("$@")
|
|
|
|
IS_FULL=""
|
|
|
|
BUILD_GTK=""
|
|
|
|
BUILD_WPE=""
|
|
|
|
for ((i="${#args[@]}"-1; i >= 0; --i)); do
|
|
|
|
case ${args[i]} in
|
|
|
|
--full) IS_FULL="1"; unset args[i]; ;;
|
|
|
|
--gtk) BUILD_GTK="1"; unset args[i]; ;;
|
|
|
|
--wpe) BUILD_WPE="1"; unset args[i]; ;;
|
|
|
|
esac
|
|
|
|
done
|
|
|
|
|
|
|
|
# if neither gtk nor wpe is requested then build both.
|
|
|
|
if [[ -z "${BUILD_GTK}" && -z "${BUILD_WPE}" ]]; then
|
|
|
|
BUILD_GTK="1"
|
|
|
|
BUILD_WPE="1"
|
|
|
|
fi
|
|
|
|
|
|
|
|
echo "== BUILD CONFIGURATION =="
|
|
|
|
if [[ -n "${IS_FULL}" ]]; then
|
|
|
|
echo "- install dependencies: YES"
|
|
|
|
else
|
|
|
|
echo "- install dependencies: NO"
|
|
|
|
fi
|
|
|
|
if [[ -n "${BUILD_GTK}" ]]; then
|
|
|
|
echo "- build GTK: YES"
|
|
|
|
else
|
|
|
|
echo "- build GTK: NO"
|
|
|
|
fi
|
|
|
|
if [[ -n "${BUILD_WPE}" ]]; then
|
|
|
|
echo "- build WPE: YES"
|
|
|
|
else
|
|
|
|
echo "- build WPE: NO"
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [[ -n "${IS_FULL}" ]]; then
|
2020-10-26 21:53:27 -07:00
|
|
|
ensure_linux_deps
|
2022-07-08 16:27:53 -07:00
|
|
|
fi
|
|
|
|
|
|
|
|
if [[ -n "${BUILD_WPE}" ]]; then
|
2020-10-26 21:53:27 -07:00
|
|
|
build_wpe
|
2022-07-08 16:27:53 -07:00
|
|
|
fi
|
|
|
|
|
|
|
|
if [[ -n "${BUILD_GTK}" ]]; then
|
2020-10-26 21:53:27 -07:00
|
|
|
build_gtk
|
2019-11-22 22:24:14 -08:00
|
|
|
fi
|
2022-04-22 13:35:35 -06:00
|
|
|
elif is_win; then
|
2021-08-07 15:32:18 +03:00
|
|
|
/c/Windows/System32/cmd.exe "/c $(cygpath -w "${SCRIPT_FOLDER}"/buildwin.bat)"
|
2019-11-18 18:18:28 -08:00
|
|
|
else
|
|
|
|
echo "ERROR: cannot upload on this platform!" 1>&2
|
|
|
|
exit 1;
|
|
|
|
fi
|