I'm trying to build an object file for apple arm platforms, with no specific platform required. This is a very weird limitation, I'm either told the standard library is built only for the latest version of macOS, or that the library for a target doesn't exist.
Is there a way to also build the standard library for any llvm target I would like?
The set of available targets is very incomplete, I see aarch64-none-none-elf
but where's aarch64-none-none-macho
or similar?
I don't think my object file cares what platform it will be linked against, what's the issue here? It's not like I tried to build for some experimental target like m68k, it's literally apple's own platform..?
the documentation says:
The Embedded Swift standard library is distributed in the toolchain the same way: It's strictly a .swiftmodule without any compiled code present anywhere. All the compiling into machine code is performed as part of the client's build. This has the major benefit that the client's build can provide additional ABI and ISA defining flags, such as the above-mentioned -mfloat-abi, -fshort-enums, -mcpu, -march flags, and these flags in the client's build will apply to all the library code (including standard library code) as well.
If it is actually compiled along with my code, why can't I choose so many llvm targets? How does the embedded standard library depend on minimum of macOS 14 specifically? Or why can't it build for windows?