Skip to content

Commit 172295a

Browse files
committed
debugging ci
1 parent ab47e79 commit 172295a

File tree

5 files changed

+42
-12
lines changed

5 files changed

+42
-12
lines changed

libs/build-nss-desktop.sh

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,12 @@ elif [[ "$(uname -s)" == "Darwin" ]] || [[ "$(uname -s)" == "Linux" ]]; then
7878
-Dsign_libs=0 \
7979
-Ddisable_libpkix=1
8080
NSS_DIST_DIR="${NSS_SRC_DIR}/dist"
81+
82+
# Debug output for CI
83+
if [[ -f "${NSS_SRC_DIR}/out/Release/build.ninja" ]]; then
84+
echo "=== Dumping build.ninja for nss-desktop ==="
85+
cat "${NSS_SRC_DIR}/out/Release/build.ninja"
86+
fi
8187
fi
8288

8389
# Assemble the DIST_DIR with relevant libraries and headers

libs/build-nss-ios.sh

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,8 @@ gyp -f ninja "${NSS_SRC_DIR}/nss/nss.gyp" \
9393
-Dpython=python3
9494

9595
GENERATED_DIR="${NSS_SRC_DIR}/nss/out/Release-$(echo ${OS_COMPILER} | tr '[:upper:]' '[:lower:]')/"
96+
echo "=== Dumping build.ninja for nss-ios ==="
97+
cat "${GENERATED_DIR}/build.ninja"
9698
ninja -C "${GENERATED_DIR}"
9799

98100
# Assemble the DIST_DIR with relevant libraries and headers

libs/build-nss-macos-cross.sh

Lines changed: 30 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -47,30 +47,39 @@ if [[ -z "${!nss_dir_var}" ]]; then
4747
fi
4848

4949
# Use toolchain configuration from environment
50-
eval "CC=\$${RUST_ANDROID_PREFIX}_CC"
50+
eval "BASE_CC=\$${RUST_ANDROID_PREFIX}_CC"
5151
eval "AR=\$${RUST_ANDROID_PREFIX}_AR"
52+
eval "AS=\$${RUST_ANDROID_PREFIX}_AS"
5253
eval "RANLIB=\$${RUST_ANDROID_PREFIX}_RANLIB"
54+
eval "LD=\$${RUST_ANDROID_PREFIX}_LD"
5355
eval "STRIP=\$${RUST_ANDROID_PREFIX}_TOOLCHAIN_PREFIX/${NSS_TARGET}-strip"
56+
eval "TOOLCHAIN_BIN=\$${RUST_ANDROID_PREFIX}_TOOLCHAIN_PREFIX"
5457
eval "CFLAGS=\$${RUST_ANDROID_PREFIX}_CFLAGS_${NSS_TARGET//-/_}"
55-
eval "LDFLAGS=\$${RUST_ANDROID_PREFIX}_LDFLAGS_${NSS_TARGET//-/_}"
58+
59+
# Bake all compiler/linker flags into CC like build-nss-ios.sh does
60+
# This ensures ninja picks up the flags for both compilation and linking
61+
CC="${BASE_CC} ${CFLAGS}"
62+
export CC
5663

5764
# Build NSPR
5865
NSPR_BUILD_DIR=$(mktemp -d)
5966
pushd "${NSPR_BUILD_DIR}"
60-
"${NSS_SRC_DIR}"/nspr/configure \
67+
if ! "${NSS_SRC_DIR}"/nspr/configure \
6168
STRIP="${STRIP}" \
6269
RANLIB="${RANLIB}" \
6370
AR="${AR}" \
64-
AS="${AS:-${AR}}" \
65-
LD="${LD:-${AR}}" \
71+
AS="${AS}" \
72+
LD="${LD}" \
6673
CC="${CC}" \
6774
CCC="${CC}" \
68-
CFLAGS="${CFLAGS}" \
69-
LDFLAGS="${LDFLAGS}" \
7075
--target="${NSS_TARGET}" \
7176
--enable-64bit \
7277
--disable-debug \
73-
--enable-optimize
78+
--enable-optimize; then
79+
echo "=== NSPR configure failed, dumping config.log ==="
80+
cat config.log
81+
exit 1
82+
fi
7483
make
7584
popd
7685

@@ -97,7 +106,19 @@ gyp -f ninja "${NSS_SRC_DIR}/nss/nss.gyp" \
97106
-Dpython=python3
98107

99108
GENERATED_DIR="${NSS_SRC_DIR}/nss/out/Release/"
100-
ninja -C "${GENERATED_DIR}"
109+
echo "=== Dumping build.ninja for nss-macos-cross ==="
110+
cat "${GENERATED_DIR}/build.ninja"
111+
112+
# Only build static library targets, not shared libraries
113+
# This avoids issues with Linux vs macOS linker flag differences (-soname vs -install_name)
114+
# The copy-nss-libs.sh script only needs .a files anyway
115+
ninja -C "${GENERATED_DIR}" \
116+
libplc4.a libplds4.a libnspr4.a \
117+
libcertdb.a libcerthi.a libcryptohi.a libfreebl_static.a \
118+
libnss_static.a libmozpkix.a libnssb.a libnssdev.a libnsspki.a \
119+
libnssutil.a libpk11wrap_static.a libpkcs12.a libpkcs7.a \
120+
libsmime.a libsoftokn_static.a libssl.a \
121+
libarmv8_c_lib.a libgcm-aes-aarch64_c_lib.a
101122

102123
# Assemble the DIST_DIR with relevant libraries and headers
103124
./copy-nss-libs.sh \

taskcluster/scripts/toolchain/cross-compile-setup.sh

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,11 +29,12 @@ for TARGET in x86_64-apple-darwin aarch64-apple-darwin; do
2929
export ${RUST_ANDROID_PREFIX}_CC=${CLANG_BIN}/clang-20
3030
export ${RUST_ANDROID_PREFIX}_TOOLCHAIN_PREFIX=${CCTOOL_BIN}
3131
export ${RUST_ANDROID_PREFIX}_AR=${CCTOOL_BIN}/${TARGET}-ar
32+
export ${RUST_ANDROID_PREFIX}_AS=${CCTOOL_BIN}/${TARGET}-as
3233
export ${RUST_ANDROID_PREFIX}_RANLIB=${CCTOOL_BIN}/${TARGET}-ranlib
34+
export ${RUST_ANDROID_PREFIX}_LD=${CCTOOL_BIN}/${TARGET}-ld
3335
export ${RUST_ANDROID_PREFIX}_LD_LIBRARY_PATH=${CLANG_LIB}
3436
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}"
36-
export ${RUST_ANDROID_PREFIX}_LDFLAGS_${TARGET//-/_}="-B ${CCTOOL_BIN} -target ${TARGET} -isysroot ${SYSROOT} -Wl,-syslibroot,${SYSROOT} -Wl,-dead_strip"
37+
export ${RUST_ANDROID_PREFIX}_CFLAGS_${TARGET//-/_}="-B ${CCTOOL_BIN} -target ${TARGET} -isysroot ${SYSROOT} -fuse-ld=${CCTOOL_BIN}/${TARGET}-ld"
3738
export ${RUST_ANDROID_PREFIX}_BINDGEN_EXTRA_CLANG_ARGS="--sysroot ${SYSROOT}"
3839
done
3940

taskcluster/scripts/toolchain/desktop-macos.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ git submodule update --init
55
./taskcluster/scripts/toolchain/setup-fetched-rust-toolchain.sh
66
. ./taskcluster/scripts/toolchain/cross-compile-setup.sh
77
pushd libs
8-
./build-all.sh darwin-x86-64
98
./build-all.sh darwin-aarch64
9+
./build-all.sh darwin-x86-64
1010
popd
1111
mkdir -p "$UPLOAD_DIR"
1212
tar -czf "$UPLOAD_DIR"/macos.tar.gz libs/desktop

0 commit comments

Comments
 (0)