aboutsummaryrefslogtreecommitdiff
path: root/binary_tarball/scripts/4_Build_Binary_Tarball.sh
diff options
context:
space:
mode:
Diffstat (limited to 'binary_tarball/scripts/4_Build_Binary_Tarball.sh')
-rwxr-xr-xbinary_tarball/scripts/4_Build_Binary_Tarball.sh92
1 files changed, 48 insertions, 44 deletions
diff --git a/binary_tarball/scripts/4_Build_Binary_Tarball.sh b/binary_tarball/scripts/4_Build_Binary_Tarball.sh
index f393cfa..d7649e4 100755
--- a/binary_tarball/scripts/4_Build_Binary_Tarball.sh
+++ b/binary_tarball/scripts/4_Build_Binary_Tarball.sh
@@ -53,52 +53,52 @@ cargo install cbindgen
rm -f mozconfig
# Do 3-tier PGO
-# echo "Building instrumented browser..."
-
-# if [[ $CARCH == 'aarch64' ]]; then
-#
-# cat >.mozconfig ${CI_PROJECT_DIR}/mozconfig - <<END
-# ac_add_options --enable-profile-generate
-# END
-#
-# else
-#
-# cat >.mozconfig ${CI_PROJECT_DIR}/mozconfig - <<END
-# # -fno-plt with cross-LTO causes obscure LLVM errors
-# # LLVM ERROR: Function Import: link error
-# # CFLAGS="${CFLAGS/-fno-plt/}"
-# # CXXFLAGS="${CXXFLAGS/-fno-plt/}"
-#
-# ac_add_options --enable-profile-generate
-# END
-
-# fi
+echo "Building instrumented browser..."
+
+if [[ $CARCH == 'aarch64' ]]; then
+
+cat >.mozconfig ${CI_PROJECT_DIR}/mozconfig - <<END
+ac_add_options --enable-profile-generate
+END
+
+else
+
+# -fno-plt with cross-LTO causes obscure LLVM errors
+# LLVM ERROR: Function Import: link error
+CFLAGS="${CFLAGS/-fno-plt/}"
+CXXFLAGS="${CXXFLAGS/-fno-plt/}"
+
+cat >.mozconfig ${CI_PROJECT_DIR}/mozconfig - <<END
+ac_add_options --enable-profile-generate=cross
+END
+
+fi
# Executes the actual build
-# printf "\nBuilding LibreWolf\n";
-# ./mach build;
-
-# echo "Profiling instrumented browser..."
-# ./mach package
-# LLVM_PROFDATA=llvm-profdata \
- # JARLOG_FILE="$PWD/jarlog" \
- # xvfb-run -s "-screen 0 1920x1080x24 -nolisten local" \
- # ./mach python build/pgo/profileserver.py
-#
-# if [[ ! -s merged.profdata ]]; then
- # echo "No profile data produced."
- # exit 1
-# fi
-#
-# if [[ ! -s jarlog ]]; then
- # echo "No jar log produced."
- # exit 1
-# fi
-#
-# echo "Removing instrumented browser..."
-# ./mach clobber
-#
-# echo "Building optimized browser..."
+printf "\nBuilding LibreWolf\n";
+./mach build;
+
+echo "Profiling instrumented browser..."
+./mach package
+LLVM_PROFDATA=llvm-profdata \
+ JARLOG_FILE="$PWD/jarlog" \
+ xvfb-run -s "-screen 0 1920x1080x24 -nolisten local" \
+ ./mach python build/pgo/profileserver.py
+
+if [[ ! -s merged.profdata ]]; then
+ echo "No profile data produced."
+ exit 1
+fi
+
+if [[ ! -s jarlog ]]; then
+ echo "No jar log produced."
+ exit 1
+fi
+
+echo "Removing instrumented browser..."
+./mach clobber
+
+echo "Building optimized browser..."
if [[ $CARCH == 'aarch64' ]]; then
@@ -114,6 +114,10 @@ END
else
cat >.mozconfig ${CI_PROJECT_DIR}/mozconfig - <<END
+ac_add_options --enable-lto=cross
+ac_add_options --enable-profile-use=cross
+ac_add_options --with-pgo-profile-path=${PWD@Q}/merged.profdata
+ac_add_options --with-pgo-jarlog=${PWD@Q}/jarlog
ac_add_options --enable-linker=gold
END
bgstack15