5ca88bfbb9
GitOrigin-RevId: 9f918d616c5321ad374ae6cb5ea89c9e04bf3e58
40 lines
747 B
Nix
40 lines
747 B
Nix
{
|
|
lib,
|
|
file,
|
|
hare,
|
|
runCommandNoCC,
|
|
writeText,
|
|
}:
|
|
let
|
|
archs = lib.concatStringsSep " " (
|
|
builtins.map (lib.removeSuffix "-linux") (
|
|
builtins.filter (lib.hasSuffix "-linux") hare.meta.platforms
|
|
)
|
|
);
|
|
mainDotHare = writeText "main.ha" ''
|
|
export fn main() void = void;
|
|
'';
|
|
in
|
|
runCommandNoCC "${hare.pname}-cross-compilation-test"
|
|
{
|
|
nativeBuildInputs = [
|
|
hare
|
|
file
|
|
];
|
|
}
|
|
''
|
|
HARECACHE="$(mktemp -d)"
|
|
export HARECACHE
|
|
readonly binprefix="bin"
|
|
for a in ${archs}; do
|
|
outbin="$binprefix-$a"
|
|
set -x
|
|
hare build -o "$outbin" -q -R -a "$a" ${mainDotHare}
|
|
set +x
|
|
printf -- 'Built "%s" target\n' "$a"
|
|
done
|
|
|
|
file -- "$binprefix-"*
|
|
|
|
: 1>$out
|
|
''
|