summaryrefslogtreecommitdiff
path: root/deploy/cross-build.sh
diff options
context:
space:
mode:
authorAnders Betts <anders.betts@gmail.com>2026-09-20 23:09:31 +0200
committerAnders Betts <anders.betts@gmail.com>2026-09-20 23:09:31 +0200
commit19e4d8dcc9c9e76a8c90855cccb4c4553b35389e (patch)
treed014fd0baebc2e269ee6e2f3def2c657aaee3659 /deploy/cross-build.sh
parentfe40173f32b14e012044b39f0f63c2613787e725 (diff)
downloadbokf-19e4d8dcc9c9e76a8c90855cccb4c4553b35389e.tar.gz
bokf-19e4d8dcc9c9e76a8c90855cccb4c4553b35389e.zip
deploy: cross-compile static aarch64 for the Alpine imagev0.1.54
Diffstat (limited to 'deploy/cross-build.sh')
-rw-r--r--deploy/cross-build.sh16
1 files changed, 16 insertions, 0 deletions
diff --git a/deploy/cross-build.sh b/deploy/cross-build.sh
new file mode 100644
index 0000000..19d07b7
--- /dev/null
+++ b/deploy/cross-build.sh
@@ -0,0 +1,16 @@
+#!/bin/sh
+# Cross-compile the static aarch64 backend binaries (bokfd, bokfctl).
+# Expects the source read-only at /src, writes the binaries to /out and takes
+# the version from $VERSION. Run through deploy/Dockerfile.cross. OpenSSL and
+# glibc are linked statically, so the Alpine runtime image needs no shared
+# libraries (the kernel ABI is all that matters).
+set -eu
+
+make -C /src -j"$(nproc)" BUILD=/tmp/build backend \
+ CC=aarch64-linux-gnu-gcc \
+ CFLAGS="-O2 -g -static -L/usr/lib/aarch64-linux-gnu" \
+ SSL_LIBS="-l:libssl.a -l:libcrypto.a -ldl -lpthread" \
+ VERSION="${VERSION:-0.1.0-dev}"
+
+mkdir -p /out
+cp /tmp/build/bokfd /tmp/build/bokfctl /out/