Op zo 18 sep. 2022 om 19:08 schreef Robert Kausch <robert.kau...@freac.org>:
> As an integrator targeting four different architectures on Mac (ppc, > x86, x86-64 and aarch64), I build all the libraries separately for each > architecture and then combine the resulting binaries into a universal > binary using the lipo tool. > > That's the standard way to build universal binaries when dealing with > Autotools or CMake build systems. It's quick and easy, so I don't really > see a need for supporting one-step universal binary builds. > Thanks for enlightening me. This doesn't have as high a priority as I thought it had then. > Preprocessor defines for different architectures are mostly standardized > and should work on all systems (no need to use Apple-specific defines). > Microsoft uses a different scheme, though, as expected... And of course > there may be the usual bunch of embedded toolchains doing non-standard > things. > Yes, the more I change, the more things I'll probably break. > During a one-step universal binary build, the different instances of the > compiler define the correct macros for the respective architecture being > compiled. No need to work around any build-system logic doing its own > thing. > There are a few things in build-system logic that need to be circumvented too, it seems. As I understand, in a x86_64 + aarch64 universal build, detection of A64 NEON intrinsics doesn't work because the x86_64 compiler complains and the detection of x86intrin.h doesn't work because the aarch64 compiler complains. So, configuration needs to be aware of this too.
_______________________________________________ flac-dev mailing list flac-dev@xiph.org http://lists.xiph.org/mailman/listinfo/flac-dev