commits
Android doesn't have /proc/modules, and darling segfaults instead of
reporting errors elegantly. On BioniC, fclose(NULL) leads to SIGSEGV.
https://android.googlesource.com/platform/bionic/+/a8f9c8069ec45117393bc3abca3379cf62b1124e/libc/stdio/stdio.cpp#374
Android does not provide utilities like modprobe
glibc has bswap_32 => __bswap_32 => __builtin_bswap32
Android NDK has bswap_32 => __swap32 => __builtin_bswap32
Android NDK with x86_64 doesn't support -m32 with -ldl
Android does not have libpthread.so, and thus -pthread should be used
instead.
And skip components not applicable on Android
* fuse: Android's kernel do support fuse, but there's no libfuse.
Instead, those who need fuse, like the /system/bin/sdcard daemon,
talks to the kernel directly.
* udev: Android doesn't use udev. They use ueventd instead.
Host (ELF) executables like darling, mldr or wrapgen are not built with
-nostdinc, so there's no need to insert clang's include path manually.
On the other hand, cross-compiled darling and mldr may use a different
set of clang includes, which may cause conflicts. For example, Android
NDK uses customized headers in
$NDK/toolchains/llvm/prebuilt/linux-x86_64/lib64/clang/3.8.275480/include/
To support cross-compiled Darling, mldr and darling should be compiled
for target system wrapgen not. Split them for simpler build systems.
I can't merge now because of unstaged changes (sorry)
This was the same as f01f28650fefbf40c8ce42f2ae824458320e3644.
bfc5afc061a014311e74229ffc82281a9f5ed3c8 accidentally reverted it.
This is for the `dsmemberutil` program, needed by the Homebrew installer
Fix running programs directly via `darling prog`
Host (ELF) executables like darling, mldr or wrapgen are not built with
-nostdinc, so there's no need to insert clang's include path manually.
On the other hand, cross-compiled darling and mldr may use a different
set of clang includes, which may cause conflicts. For example, Android
NDK uses customized headers in
$NDK/toolchains/llvm/prebuilt/linux-x86_64/lib64/clang/3.8.275480/include/