naiveproxy/src/build.sh
2024-07-27 10:50:05 +08:00

111 lines
2.1 KiB
Bash
Executable File

#!/bin/sh
set -e
export TMPDIR="$PWD/tmp"
rm -rf "$TMPDIR"
mkdir -p "$TMPDIR"
if [ "$1" = debug ]; then
out=out/Debug
flags="
is_debug=true
is_component_build=true"
else
out=out/Release
flags="
is_official_build=true
exclude_unwind_tables=true
enable_resource_allowlist_generation=false
symbol_level=0"
fi
. ./get-sysroot.sh
# ccache
case "$host_os" in
linux|mac)
if which ccache >/dev/null 2>&1; then
export CCACHE_SLOPPINESS=time_macros
export CCACHE_BASEDIR="$PWD"
export CCACHE_CPP2=yes
CCACHE=ccache
fi
;;
win)
if [ -f "$HOME"/.cargo/bin/sccache* ]; then
export PATH="$PATH:$HOME/.cargo/bin"
CCACHE=sccache
fi
;;
esac
if [ "$CCACHE" ]; then
flags="$flags
cc_wrapper=\"$CCACHE\""
fi
flags="$flags"'
is_clang=true
use_sysroot=false
fatal_linker_warnings=false
treat_warnings_as_errors=false
enable_base_tracing=false
use_udev=false
use_aura=false
use_ozone=false
use_gio=false
use_gtk=false
use_platform_icu_alternatives=true
use_glib=false
enable_js_protobuf=false
disable_file_support=true
enable_websockets=false
use_kerberos=false
enable_mdns=false
enable_reporting=false
include_transport_security_state_preload_list=false
use_nss_certs=false
enable_device_bound_sessions=false
enable_backup_ref_ptr_support=false
enable_dangling_raw_ptr_checks=false
'
if [ "$WITH_SYSROOT" ]; then
flags="$flags
target_sysroot=\"//$WITH_SYSROOT\""
fi
if [ "$host_os" = "mac" ]; then
flags="$flags"'
enable_dsyms=false'
fi
case "$EXTRA_FLAGS" in
*target_os=\"android\"*)
# default_min_sdk_version=24: 26 introduces unnecessary snew symbols
# is_high_end_android=true: Does not optimize for size, Uses PGO profiles
flags="$flags"'
default_min_sdk_version=24
is_high_end_android=true'
;;
esac
# See https://github.com/llvm/llvm-project/issues/86430
if [ "$target_os" = "linux" -a "$target_cpu" = "x64" ]; then
flags="$flags"'
use_cfi_icall=false'
fi
rm -rf "./$out"
mkdir -p out
export DEPOT_TOOLS_WIN_TOOLCHAIN=0
./gn/out/gn gen "$out" --args="$flags $EXTRA_FLAGS"
ninja -C "$out" naive