#!/bin/bash

export CC=`which clang`
export CXX=`which clang++`

readonly BASE_DIR=$(readlink -en `dirname $0`)
readonly INSTALL_PREFIX=$BASE_DIR/dist-wpe

readonly PKG_PATH=$INSTALL_PREFIX/lib/x86_64-linux-gnu/pkgconfig:$INSTALL_PREFIX/lib/pkgconfig
if [ -n "$PKG_CONFIG_PATH" ]; then
    export PKG_CONFIG_PATH=$PKG_PATH:$PKG_CONFIG_PATH
else
    export PKG_CONFIG_PATH=$PKG_PATH
fi

if [ "$1" = "--configure" ]; then
    cd $BASE_DIR/WebKit
    cmake -S. -Bbuild-wpe -GNinja -DCMAKE_EXPORT_COMPILE_COMMANDS=TRUE -DCMAKE_BUILD_TYPE=RelWithDebInfo \
          -DCMAKE_INSTALL_PREFIX=$INSTALL_PREFIX -DPORT=WPE -DENABLE_BUBBLEWRAP_SANDBOX=OFF \
          -DENABLE_DOCUMENTATION=OFF -DENABLE_GAMEPAD=OFF -DENABLE_INTROSPECTION=OFF -DENABLE_JOURNALD_LOG=OFF \
          -DENABLE_PDFJS=OFF -DENABLE_WPE_LEGACY_API=OFF -DENABLE_WPE_PLATFORM=ON -DUSE_LIBBACKTRACE=OFF
fi

cd $BASE_DIR/WebKit
ninja -C build-wpe install

cd $INSTALL_PREFIX
patchelf --set-rpath '$ORIGIN/../..:$ORIGIN/../../x86_64-linux-gnu' --force-rpath ./lib/wpe-webkit-2.0/injected-bundle/libWPEInjectedBundle.so
patchelf --set-rpath '$ORIGIN/x86_64-linux-gnu' --force-rpath ./lib/libWPEWebKit-2.0.so
patchelf --set-rpath '$ORIGIN/../../lib:$ORIGIN/../../lib/x86_64-linux-gnu' --force-rpath ./libexec/wpe-webkit-2.0/WPEGPUProcess
patchelf --set-rpath '$ORIGIN/../../lib:$ORIGIN/../../lib/x86_64-linux-gnu' --force-rpath ./libexec/wpe-webkit-2.0/WPENetworkProcess
patchelf --set-rpath '$ORIGIN/../../lib:$ORIGIN/../../lib/x86_64-linux-gnu' --force-rpath ./libexec/wpe-webkit-2.0/WPEWebProcess

gdb-add-index ./lib/libWPEWebKit-2.0.so
