build-support/lib/meson: Statically compute default meson flags

This commit is contained in:
adisbladis 2024-03-20 13:45:45 +13:00
parent 5ef1bd952c
commit 085c172348

View file

@ -9,25 +9,25 @@ let
else if isx86_32 then "x86" else if isx86_32 then "x86"
else platform.uname.processor; else platform.uname.processor;
makeMesonFlags = { mesonFlags ? [], ... }: crossFile = builtins.toFile "cross-file.conf" ''
let [properties]
crossFile = builtins.toFile "cross-file.conf" '' bindgen_clang_arguments = ['-target', '${stdenv.targetPlatform.config}']
[properties] needs_exe_wrapper = ${boolToString (!stdenv.buildPlatform.canExecute stdenv.hostPlatform)}
bindgen_clang_arguments = ['-target', '${stdenv.targetPlatform.config}']
needs_exe_wrapper = ${boolToString (!stdenv.buildPlatform.canExecute stdenv.hostPlatform)}
[host_machine] [host_machine]
system = '${stdenv.targetPlatform.parsed.kernel.name}' system = '${stdenv.targetPlatform.parsed.kernel.name}'
cpu_family = '${cpuFamily stdenv.targetPlatform}' cpu_family = '${cpuFamily stdenv.targetPlatform}'
cpu = '${stdenv.targetPlatform.parsed.cpu.name}' cpu = '${stdenv.targetPlatform.parsed.cpu.name}'
endian = ${if stdenv.targetPlatform.isLittleEndian then "'little'" else "'big'"} endian = ${if stdenv.targetPlatform.isLittleEndian then "'little'" else "'big'"}
[binaries] [binaries]
llvm-config = 'llvm-config-native' llvm-config = 'llvm-config-native'
rust = ['rustc', '--target', '${stdenv.targetPlatform.rust.rustcTargetSpec}'] rust = ['rustc', '--target', '${stdenv.targetPlatform.rust.rustcTargetSpec}']
''; '';
crossFlags = optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ "--cross-file=${crossFile}" ];
in crossFlags ++ mesonFlags; crossFlags = optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ "--cross-file=${crossFile}" ];
makeMesonFlags = { mesonFlags ? [], ... }: crossFlags ++ mesonFlags;
in in
{ {