Build files assume host_system is 'darwin' when cross-compiling to iOS
So, the current situation in Meson is that the only host_machine.system()
values specified are for native compilation. When cross-compiling, the cross files can specify anything. This means that some people use system = 'darwin'
and others (like cerbero) use system = 'ios'
in the cross file.
This is, obviously, a very shitty situation.
Why am I filing it here? Well, we check for host_system == 'ios'
in all gstreamer code, and in glib, but not in libffi. The only thing this changes is:
--- _builddir-host_system=darwin/fficonfig.h
+++ _builddir-host_system=ios/fficonfig.h
@@ -10,7 +10,7 @@
/* #undef FFI_DEBUG */
/* Cannot use PROT_EXEC on this target, so, we revert to alternative means */
-#define FFI_EXEC_TRAMPOLINE_TABLE 1
+#define FFI_EXEC_TRAMPOLINE_TABLE 0
/* Define this if you want to enable pax emulated trampolines */
/* #undef FFI_MMAP_EXEC_EMUTRAMP_PAX */
It's 0
when host_system
is ios
and 1
when it's darwin
. Now I'm not sure if we should change this or not, so I'm filing an issue so we can deal with it later. Perhaps after we sync with upstream.