This reverts commit b5edb514d7, which
was not supposed to be cherry-picked to the stable branch.
It causes projects that were previously working and had c_std=gnu99 in
default_options to error out with:
```
meson.build:1:0: ERROR: Value "gnu99" for combo option "C language
standard to use" is not one of the choices. Possible choices are:
"none", "c89", "c99", "c11".
```
Since 492afe50, detect_ninja() returns a List[str], not a str.
run_project_test.py still happens to work under CI, as we bypass
detect_ninja(), but fails when run locally, as we try to exec() that list.
> Checking that building works...
> Traceback (most recent call last):
> File "./run_project_tests.py", line 1301, in <module>
> check_meson_commands_work(options)
> File "./run_project_tests.py", line 1190, in check_meson_commands_work
> pc, o, e = Popen_safe(compile_commands + dir_args, cwd=build_dir)
> File "/wip/meson/mesonbuild/mesonlib.py", line 1220, in Popen_safe
> stdout=stdout, stderr=stderr, **kwargs)
> File "/usr/lib/python3.6/subprocess.py", line 729, in __init__
> restore_signals, start_new_session)
> File "/usr/lib/python3.6/subprocess.py", line 1278, in _execute_child
> executable = os.fsencode(executable)
> File "/usr/lib/python3.6/os.py", line 800, in fsencode
> filename = fspath(filename) # Does type-checking of `filename`.
> TypeError: expected str, bytes or os.PathLike object, not list
Something like {a: foo} currently stymies the IntrospectionInterpreter and
breaks introspection of the source directory. The fix is just to walk the keys
and return a dummy dictionary.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This allows the NINJA environment variable to support all the Windows special
cases, especially allowing an absolute path without extension.
Based on a patch by Yonggang Luo.
Fixes: #7659
Suggested-by: Nirbheek Chauhan <nirbheek@centricular.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
when the compiler is not a string. When the compiler
is set in the build configuration (required, for example,
in a cross-build setup), the compiler setting is already
a list, which is the desired type.
Signed-off-by: Matt Madison <matt@madison.systems>
This will be printed in bold at the end of interactive meson
sub-commands that won't be parsed by a program. Specifically: setup,
compile, test, and install.
NOTICE: You are using [...]
This matches `meson test`, and there's really no other meaning that
could be attributed to this, since you would call `meson` to get the
version, not the `compile` sub-command.
This type happened in https://github.com/mesonbuild/meson/pull/7432
and wasn't noticed because I didn't add a test for it. Rectified now.
If we don't specify the CRT, MSVC will pick /MT by default (!?) and
link to `libcmt.lib`. This actually *breaks* UWP because `libcmt.lib`
is not available by default when building for UWP.
Was noticed here: https://github.com/cisco/libsrtp/pull/505
This is useful for automatically generated docs (doxygen, hotdoc)
with a lot of generated files that may differ with different
versions of the generator.
It's not enough to detect that the linker is ld64: gcc, icc, and vanilla
clang all use ld64 on macoOS. Instead we have to detect the class of the
compiler, and determine if it's an Apple Compiler or a vanilla one.
issue7515.txt is the output of one of the real TAP tests in gjs, which
failed as a result of #7515. The version inline in meson.build is
a minimal reproducer.
Signed-off-by: Simon McVittie <smcv@debian.org>
If some but not all tests in a run were skipped, then the overall result
is given by whether there were any failures among the non-skipped tests.
Resolves: https://github.com/mesonbuild/meson/issues/7515
Signed-off-by: Simon McVittie <smcv@debian.org>
Since upgrading Boost to version 1.73, this test segfaults on macOS
when dynamically linked. Disable it to keep the rest of the CI
reliable.
Mitigates: #7535
Signed-off-by: Simon McVittie <smcv@debian.org>
Without the parenthesis, the command evaluates to `[]` if
`use_llvm_cov` is `False`.
Also fix tests to actually check whether or not coverage reports are
generated.
Fixes https://github.com/mesonbuild/meson/issues/7553
Without this, MSVC and MSVC_VERSION won't be set by CMake during
platform detection, and the compiler will be an undefined mixture of
GNU and MSVC. In particular, find_package(opencv) will fail on Windows
when building with MSVC.
This is required to make `-include /path/to/custom/target.hpp`
work. This setup is used by wxWidgets and this PR is
required to use wxWidgets as a CMake subproject.