|
2 | 2 |
|
3 | 3 | set -eux |
4 | 4 |
|
5 | | -export PATH=$PATH:/builds/worker/clang/bin |
6 | | -export ORG_GRADLE_PROJECT_RUST_ANDROID_GRADLE_TARGET_X86_64_APPLE_DARWIN_NSS_STATIC=1 |
7 | | -export ORG_GRADLE_PROJECT_RUST_ANDROID_GRADLE_TARGET_X86_64_APPLE_DARWIN_NSS_DIR=/builds/worker/checkouts/vcs/libs/desktop/darwin/nss |
8 | | -# x86_64 Darwin |
9 | | -export ORG_GRADLE_PROJECT_RUST_ANDROID_GRADLE_TARGET_X86_64_APPLE_DARWIN_CC=/builds/worker/clang/bin/clang-20 |
10 | | -export ORG_GRADLE_PROJECT_RUST_ANDROID_GRADLE_TARGET_X86_64_APPLE_DARWIN_TOOLCHAIN_PREFIX=/builds/worker/cctools/bin |
11 | | -export ORG_GRADLE_PROJECT_RUST_ANDROID_GRADLE_TARGET_X86_64_APPLE_DARWIN_AR=/builds/worker/cctools/bin/x86_64-apple-darwin-ar |
12 | | -export ORG_GRADLE_PROJECT_RUST_ANDROID_GRADLE_TARGET_X86_64_APPLE_DARWIN_RANLIB=/builds/worker/cctools/bin/x86_64-apple-darwin-ranlib |
13 | | -export ORG_GRADLE_PROJECT_RUST_ANDROID_GRADLE_TARGET_X86_64_APPLE_DARWIN_LD_LIBRARY_PATH=/builds/worker/clang/lib |
14 | | -export ORG_GRADLE_PROJECT_RUST_ANDROID_GRADLE_TARGET_X86_64_APPLE_DARWIN_RUSTFLAGS="-C linker=/builds/worker/clang/bin/clang-20 -C link-arg=-fuse-ld=/builds/worker/cctools/bin/x86_64-apple-darwin-ld -C link-arg=-B -C link-arg=/builds/worker/cctools/bin -C link-arg=-target -C link-arg=x86_64-apple-darwin -C link-arg=-isysroot -C link-arg=/tmp/MacOSX11.0.sdk -C link-arg=-Wl,-syslibroot,/tmp/MacOSX11.0.sdk -C link-arg=-Wl,-dead_strip" |
15 | | -# For ring's use of `cc`. |
16 | | -export ORG_GRADLE_PROJECT_RUST_ANDROID_GRADLE_TARGET_X86_64_APPLE_DARWIN_CFLAGS_x86_64_apple_darwin="-B /builds/worker/cctools/bin -target x86_64-apple-darwin -isysroot /tmp/MacOSX11.0.sdk -Wl,-syslibroot,/tmp/MacOSX11.0.sdk -Wl,-dead_strip" |
17 | | -# Pass bindgen a `--sysroot` argument so that it can find the include files when cross-compiling. |
18 | | -export ORG_GRADLE_PROJECT_RUST_ANDROID_GRADLE_TARGET_X86_64_APPLE_DARWIN_BINDGEN_EXTRA_CLANG_ARGS="--sysroot /tmp/MacOSX11.0.sdk" |
| 5 | +SYSROOT="/tmp/MacOSX11.0.sdk" |
| 6 | +CHECKOUT="/builds/worker/checkouts/vcs" |
| 7 | +CLANG_BIN="/builds/worker/clang/bin" |
| 8 | +CLANG_LIB="/builds/worker/clang/lib" |
| 9 | +CCTOOL_BIN="/builds/worker/cctools/bin" |
| 10 | + |
| 11 | +export PATH=$PATH:$CLANG_BIN |
| 12 | + |
| 13 | +# Setup environment variables for rust-android-gradle plugin. |
| 14 | +# shellcheck disable=SC2086 |
| 15 | +for TARGET in x86_64-apple-darwin aarch64-apple-darwin; do |
| 16 | + case "$TARGET" in |
| 17 | + x86_64-apple-darwin) |
| 18 | + BUILD_PATH="darwin-x86-64" |
| 19 | + ;; |
| 20 | + aarch64-apple-darwin) |
| 21 | + BUILD_PATH="darwin-aarch64" |
| 22 | + ;; |
| 23 | + esac |
| 24 | + |
| 25 | + RUST_ANDROID_PREFIX=$(echo "ORG_GRADLE_PROJECT_RUST_ANDROID_GRADLE_TARGET_${TARGET}" | tr '[:lower:]-' '[:upper:]_') |
| 26 | + |
| 27 | + export ${RUST_ANDROID_PREFIX}_NSS_STATIC=1 |
| 28 | + export ${RUST_ANDROID_PREFIX}_NSS_DIR=${CHECKOUT}/libs/desktop/darwin-${BUILD_PATH}/nss |
| 29 | + export ${RUST_ANDROID_PREFIX}_CC=${CLANG_BIN}/clang-20 |
| 30 | + export ${RUST_ANDROID_PREFIX}_TOOLCHAIN_PREFIX=${CCTOOL_BIN} |
| 31 | + export ${RUST_ANDROID_PREFIX}_AR=${CCTOOL_BIN}/${TARGET}-ar |
| 32 | + export ${RUST_ANDROID_PREFIX}_RANLIB=${CCTOOL_BIN}/${TARGET}-ranlib |
| 33 | + export ${RUST_ANDROID_PREFIX}_LD_LIBRARY_PATH=${CLANG_LIB} |
| 34 | + export ${RUST_ANDROID_PREFIX}_RUSTFLAGS="-C linker=${CLANG_BIN}/clang-20 -C link-arg=-fuse-ld=${CCTOOL_BIN}/${TARGET}-ld -C link-arg=-B -C link-arg=${CCTOOL_BIN} -C link-arg=-target -C link-arg=${TARGET} -C link-arg=-isysroot -C link-arg=${SYSROOT} -C link-arg=-Wl,-syslibroot,${SYSROOT} -C link-arg=-Wl,-dead_strip" |
| 35 | + export ${RUST_ANDROID_PREFIX}_CFLAGS_${TARGET//-/_}="-B ${CCTOOL_BIN} -target ${TARGET} -isysroot ${SYSROOT} -Wl,-syslibroot,${SYSROOT} -Wl,-dead_strip" |
| 36 | + export ${RUST_ANDROID_PREFIX}_BINDGEN_EXTRA_CLANG_ARGS="--sysroot ${SYSROOT}" |
| 37 | +done |
19 | 38 |
|
20 | 39 | # x86_64 Windows |
21 | 40 | # The wrong linker gets used otherwise: https://github.com/rust-lang/rust/issues/33465. |
@@ -47,7 +66,7 @@ pushd /tmp || exit |
47 | 66 |
|
48 | 67 | tooltool.py \ |
49 | 68 | --url=http://taskcluster/tooltool.mozilla-releng.net/ \ |
50 | | - --manifest="/builds/worker/checkouts/vcs/libs/macos-cc-tools.manifest" \ |
| 69 | + --manifest="${CHECKOUT}/libs/macos-cc-tools.manifest" \ |
51 | 70 | fetch |
52 | 71 | # tooltool doesn't know how to unpack zstd-files, |
53 | 72 | # so we do it manually. |
|
0 commit comments