iOS cross compile impossible due to frexpl check not supporting cross compilation
I am trying to compile glib for iOS. This is a platform where, without a jailbroken device (yes, I realize the irony of me of all people pointing this out ;P), the concept of an "exe wrapper" is even more unreasonable than usual :(. Right now, there is a check trying to determine if the function frexpl() exists and, if it does, whether it is "broken beyond repair". This check includes the following code in gnulib/gl_cv_func_frexpl_works/meson.build and gnulib/meson.build:
if not meson.is_cross_build() or meson.has_exe_wrapper()
...
else
if (host_system.startswith ('aix') or
host_system.startswith ('beos') or
host_system.startswith ('darwin') or
host_system.startswith ('irix'))
gl_cv_func_frexpl_works = false
gl_cv_func_frexpl_broken_beyond_repair = true
...
endif
endif
...
if not gl_cv_func_frexpl_works and gl_cv_func_frexpl_broken_beyond_repair
error ('frexpl() is missing or broken beyond repair, and we have nothing to replace it with')
endif
This effectively means it is impossible to cross compile glib for any of these platforms for which the behavior is hard-coded to report the function is "broken beyond repair". Is there a reason why this situation is so dire as to blacklist all of these platforms from supporting all of glib? If this behavior is that important, why not just replace frexpl with an implementation from some other standard library? (If glibc's license is an issue, FreeBSD has an implementation.)
(Is there maybe some feature of meson I'm supposed to use to override these checks? I'm used to being able to override just about anything using autotools, and have been cross-compiling things for decades to all kinds of crazy systems, and have never had issues like this, but I've so far not found anything in the documentation of meson that would let me get past this build failure. I'm going to try downgrading to old versions of glib in the hope that those builds still work.)
Note: these checks were added somehow due to #1371 in 8f27aa99.