summaryrefslogtreecommitdiffstats
path: root/taskcluster/scripts/misc/build-gn-macosx.sh
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-28 14:29:10 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-28 14:29:10 +0000
commit2aa4a82499d4becd2284cdb482213d541b8804dd (patch)
treeb80bf8bf13c3766139fbacc530efd0dd9d54394c /taskcluster/scripts/misc/build-gn-macosx.sh
parentInitial commit. (diff)
downloadfirefox-2aa4a82499d4becd2284cdb482213d541b8804dd.tar.xz
firefox-2aa4a82499d4becd2284cdb482213d541b8804dd.zip
Adding upstream version 86.0.1.upstream/86.0.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'taskcluster/scripts/misc/build-gn-macosx.sh')
-rwxr-xr-xtaskcluster/scripts/misc/build-gn-macosx.sh38
1 files changed, 38 insertions, 0 deletions
diff --git a/taskcluster/scripts/misc/build-gn-macosx.sh b/taskcluster/scripts/misc/build-gn-macosx.sh
new file mode 100755
index 0000000000..e745141516
--- /dev/null
+++ b/taskcluster/scripts/misc/build-gn-macosx.sh
@@ -0,0 +1,38 @@
+#!/bin/bash
+set -e -v
+
+# This script is for building GN.
+
+WORKSPACE=$HOME/workspace
+COMPRESS_EXT=xz
+
+CROSS_CCTOOLS_PATH=$MOZ_FETCHES_DIR/cctools
+CROSS_SYSROOT=$MOZ_FETCHES_DIR/MacOSX10.12.sdk
+
+export CC=$MOZ_FETCHES_DIR/clang/bin/clang
+export CXX=$MOZ_FETCHES_DIR/clang/bin/clang++
+export AR=$MOZ_FETCHES_DIR/clang/bin/llvm-ar
+export CFLAGS="-target x86_64-apple-darwin -mlinker-version=137 -B ${CROSS_CCTOOLS_PATH}/bin -isysroot ${CROSS_SYSROOT} -I${CROSS_SYSROOT}/usr/include -iframework ${CROSS_SYSROOT}/System/Library/Frameworks"
+export CXXFLAGS="-stdlib=libc++ ${CFLAGS}"
+export LDFLAGS="${CXXFLAGS} -Wl,-syslibroot,${CROSS_SYSROOT} -Wl,-dead_strip"
+
+# We patch tools/gn/bootstrap/bootstrap.py to detect this.
+export MAC_CROSS=1
+
+# Gn build scripts use #!/usr/bin/env python, which will be python 2.6 on
+# the worker and cause failures. Work around this by putting python2.7
+# ahead of it in PATH.
+mkdir -p $WORKSPACE/python_bin
+ln -s /usr/bin/python2.7 $WORKSPACE/python_bin/python
+export PATH=$WORKSPACE/python_bin:$PATH
+
+cd $GECKO_PATH
+
+. taskcluster/scripts/misc/tooltool-download.sh
+
+# The ninja templates used to bootstrap gn have hard-coded references to
+# 'libtool', make sure we find the right one.
+ln -s $CROSS_CCTOOLS_PATH/bin/x86_64-apple-darwin-libtool $CROSS_CCTOOLS_PATH/bin/libtool
+export PATH=$CROSS_CCTOOLS_PATH/bin:$PATH
+
+. taskcluster/scripts/misc/build-gn-common.sh