meson
meson copied to clipboard
host,build,target_machine overhaul
I think we've got enough issues now with the various _machine objects in the interpreter open that we should start thinking about what it should look like, and plan to do a big redesign/replacement/whatever in one big swoop, mostly because from an end user point of view being able to gate on a single version is nice.
Here's the list of probblems so far that I've collected here:
- We need ABI information. There's been a couple of different cases for this (x32/x64, various arm ABIs, risc-v, etc)
- we need a better way to differentiate the kernel from the userland and/or operating system (gnu/linux vs android/linux, ios/darwin vs macos/darwin, etc)
I'd like to merge all of these issues into one big issue so it's easier to track and ensure that we actually have enough information to solve the problems correctly.
Please discuss the requirements and solutions. Whatever we come up with will need to be backwards compatible with deprecation warnings.
Related issues: #6214 #5973 #6257 #4852 #6353
I've gone ahead and closed all of the related issues to try to bring the discussion here
BTW there is also https://github.com/mesonbuild/meson/issues/6322, which isn't very related, but I think would be a good thing to agree on and do first to simplify things so there's less to juggle in our heads for this ticket.
#5792 is more directly related, and probably should be fixed with the rest of these rather than before.
Following, over in Yocto Project we've been finding edge cases and so on for a while. Will happily exercise patches on our autobuilder (which does linux x86->, arm->, mingw).
Need this for supporting gnu/kfreebsd on Debian correctly. F.ex.: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/619
I've been told at least one project is calling uname -r
, so maybe kernel version would be useful too.
Hello,
I use meson to build embedded firmwares. Some sections supporting fpu / fpu eabi would be nice to have because it's a spec of the host machine.
It could be defined this way :
[host_machine]
system = 'none'
cpu_family = 'arm'
cpu = 'cortex-m7'
endian = 'little'
fpu = 'fpv5-sp-d16'
float_abi = 'hard'