# This Source Code Form is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. if test "$ZEN_CROSS_COMPILING"; then export WINSYSROOT="$(echo ~)/win-cross/vs2022" export WINE="$(echo ~)/win-cross/wine/bin/wine" export WINEDEBUG=-all export MOZ_STUB_INSTALLER=1 export MOZ_PKG_FORMAT=TAR export CROSS_BUILD=1 CROSS_COMPILE=1 if test "$SURFER_COMPAT" = "aarch64"; then export WIN32_REDIST_DIR="$(echo ~)/win-cross/vs2022/VC/Redist/MSVC/14.38.33135/arm64/Microsoft.VC143.CRT" else export WIN32_REDIST_DIR="$(echo ~)/win-cross/vs2022/VC/Redist/MSVC/14.38.33135/x64/Microsoft.VC143.CRT" fi fi # We wrongly detect ccache on windows, which leads to build failures. # This line should be removed once the detection is fixed. ac_add_options --without-ccache ac_add_options --disable-maintenance-service ac_add_options --disable-bits-download if test "$SURFER_COMPAT" = "x86_64"; then ac_add_options --target=x86_64-pc-windows-msvc ac_add_options --enable-eme=widevine,wmfcdm ac_add_options --enable-optimize="-O3 -w -ftree-vectorize -mfpmath=sse -mprfchw -msse3 -mcx16 -msahf" export LDFLAGS="-Wl,-O3" export RUSTFLAGS="-Clink-args=--icf=safe" elif test "$SURFER_COMPAT" = "aarch64"; then ac_add_options --target=aarch64-pc-windows-msvc ac_add_options --enable-eme=widevine ac_add_options --enable-optimize="-O2 -mtune=cortex-a55 -march=armv8.2-a+simd" # override LTO settings export MOZ_LTO=cross,thin ac_add_options --enable-lto=cross,thin export CFLAGS="-O2 -march=armv8.2-a+simd -mtune=cortex-a55" export CPPFLAGS="-O2 -march=armv8.2-a+simd -mtune=cortex-a55" export CXXFLAGS="-O2 -march=armv8.2-a+simd -mtune=cortex-a55" export LDFLAGS="-Wl,-O2 -march=armv8.2-a+simd -mtune=cortex-a55" export RUSTFLAGS="-C target-feature=+v8.2a -Ctarget-cpu=cortex-a55" fi if test "$ZEN_CROSS_COMPILING"; then if test "$ZEN_GA_GENERATE_PROFILE"; then export CXXFLAGS="$CXXFLAGS -fprofile-generate -mllvm -enable-name-compression=false -mllvm -pgo-temporal-instrumentation -fprofile-update=atomic" mk_add_options "export MOZ_AUTOMATION_PACKAGE_GENERATED_SOURCES=0" ac_add_options --enable-profile-generate=cross elif test "$SURFER_COMPAT" = "x86_64"; then # Dont use PGO on aarch64 builds and the ZEN_GA_DISABLE_PGO flag is not set if test "$ZEN_GA_DISABLE_PGO"; then export ZEN_DUMMY=1 else ac_add_options --enable-profile-use=cross ac_add_options --with-pgo-profile-path=$(echo ~)/artifact/merged.profdata ac_add_options --with-pgo-jarlog=$(echo ~)/artifact/en-US.log fi fi fi