2024-04-21 03:09:10 +00:00
|
|
|
#!/bin/sh
|
2024-04-21 03:23:29 +00:00
|
|
|
set -eux
|
2024-04-21 03:09:10 +00:00
|
|
|
|
2024-04-21 06:10:06 +00:00
|
|
|
COSMO_DIR="/sc/cosmocc"
|
|
|
|
|
|
|
|
# build x86_64
|
|
|
|
X86_64_CC="/sc/cosmocc/bin/x86_64-unknown-cosmo-cc"
|
|
|
|
X86_64_AR="/sc/cosmocc/bin/x86_64-unknown-cosmo-ar"
|
|
|
|
mkdir -p /sc/cosmocc/x86_64
|
2024-04-21 06:12:59 +00:00
|
|
|
make -j CC="$X86_64_CC" AR="$X86_64_AR" HAS_SHARED=0 JANET_NO_AMALG=1
|
2024-04-21 06:10:06 +00:00
|
|
|
cp build/janet /sc/cosmocc/x86_64/janet
|
|
|
|
make clean
|
|
|
|
|
|
|
|
# build aarch64
|
|
|
|
AARCH64_CC="/sc/cosmocc/bin/aarch64-unknown-cosmo-cc"
|
|
|
|
AARCH64_AR="/sc/cosmocc/bin/aarch64-unknown-cosmo-ar"
|
2024-04-21 06:12:59 +00:00
|
|
|
mkdir -p /sc/cosmocc/aarch64
|
|
|
|
make -j CC="$AARCH64_CC" AR="$AARCH64_AR" HAS_SHARED=0 JANET_NO_AMALG=1
|
2024-04-21 06:10:06 +00:00
|
|
|
cp build/janet /sc/cosmocc/aarch64/janet
|
|
|
|
make clean
|
|
|
|
|
|
|
|
# fat binary
|
|
|
|
apefat () {
|
|
|
|
OUTPUT="$1"
|
|
|
|
OLDNAME_X86_64="$(basename -- "$2")"
|
|
|
|
OLDNAME_AARCH64="$(basename -- "$3")"
|
|
|
|
TARG_FOLD="$(dirname "$OUTPUT")"
|
2024-04-21 06:14:58 +00:00
|
|
|
"$COSMO_DIR/bin/apelink" -l "$COSMO_DIR/bin/ape-x86_64.elf" \
|
2024-04-21 06:10:06 +00:00
|
|
|
-l "$COSMO_DIR/bin/ape-aarch64.elf" \
|
|
|
|
-M "$COSMO_DIR/bin/ape-m1.c" \
|
|
|
|
-o "$OUTPUT" \
|
|
|
|
"$2" \
|
|
|
|
"$3"
|
|
|
|
cp "$2" "$TARG_FOLD/$OLDNAME_X86_64.x86_64"
|
|
|
|
cp "$3" "$TARG_FOLD/$OLDNAME_AARCH64.aarch64"
|
|
|
|
}
|
|
|
|
|
2024-04-21 06:12:59 +00:00
|
|
|
apefat /sc/cosmocc/janet.com /sc/cosmocc/x86_64/janet /sc/cosmocc/aarch64/janet
|