blob: 4331a8709c5125739afd86f8466765e1d115eaab [file] [view]
## OpenHarmony (OHOS) is now recognized as an Android subsystem
Meson now recognizes OpenHarmony / HarmonyOS (OHOS). OHOS behaves like
Android -- applications are shared libraries, shared libraries are not
versioned, and so on -- but uses musl instead of Bionic. It is therefore
modelled as an Android subsystem rather than a separate system.
Machine files select it in the `[host_machine]` section with:
```ini
[host_machine]
system = 'android'
subsystem = 'ohos'
```
With this, `host_machine.system()` is `'android'` (so all Android handling
applies, including unversioned `libfoo.so` output) while
`host_machine.subsystem()` is `'ohos'`. When cross-compiling a CMake
subproject, the toolchain file generated by the CMake module sets
`CMAKE_SYSTEM_NAME = OHOS`.