~lattis/muon

3a38f252 — JCWasmx86 14 days ago master
Fix build on android
fix off by one error in argstr_to_argv
external_program: use 'unknown' as fallback version
guess: return early if source string is null
tests: try to avoid race condition
format headers in python module
mod/python: implement `get_install_dir`
string: add missing include

fixes #123
mod/python: store install_paths from introspection
find_installation: use `python3` as fallback when cmd is empty

Otherwise, muon hits an assertion and crashes.
mod/python: fix logic when discovering python_installation

Earlier, the following line threw an error saying "failed to introspect
python interpreter":

py = import('python')
py_nonexisting = import('a_nonexisting_python_cmd', required: false)

The fix is to return early when the interpreter is not found, without
introspecting the (non-existing) interpreter.
tinyjson: bump max fields to 2048

Python introspection failed recently in my tests due to out of memory,
so double the maximum permitted fields.
mod/python: accept kwarg 'pure' for find_installation
add module specific options for python
add srht ci job to build some real world projects
fix setup_linker_args call from functions/compiler
remove triple from compiler
rename machine.c to machines.c

On windows, functions/machine.h gets included sometimes instead since it
appears that relative includes are preferred?

clang output:
warning: #include resolved using non-portable Microsoft search rules as: ../include\functions/machine.h [-Wmicrosoft-include]
handle zero-length link args
Next