Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
Fixes #13269
|
|
|
|
This reverts commit aee941559c4b88a062e88186819a820c69c200ae.
The commit being reverted breaks compilation of a major Meson consumer
(Mesa). As a result, various distros are either pinning to <1.4.0 (before
the commit) or performing this same revert downstream.
Fixing a regression takes priority, so let's revert.
Fixes: https://github.com/mesonbuild/meson/issues/12973
|
|
|
|
|
|
Emscripten version numbers are unrelated to Clang version numbers,
so it is necessary to change the version checks for `c_std=c17` & co.
Without that, no project that defaults to C17 or newer will build with
Emscripten.
See https://github.com/pyodide/pyodide/discussions/4762 for more
context. Also note that this bug caused defaulting to C17 in
scikit-learn to be reverted (scikit-learn#29015), and it may be a
problem for SciPy 1.14.0 too since that release will upgrade from C99
to C17.
Co-authored-by: Loic Esteve <loic.esteve@ymail.com>
|
|
|
|
|
|
This is new as of 14.1.
|
|
We need the subdir of where the output file will actually be created,
not the current subdir of the interpreter.
Fixes: #13168
|
|
This is a similar commit to the one that added required to all the
compiler.has* functions.
|
|
Using the keyword argument dependencies with compiler.links() for vala doesn't work as the library being linked to needs to be prefixed with --pkg= before being passed to valac.
|
|
OBJC=clang / OBJCXX=clang++ can pick up a newer Clang that no longer
supports bitcode.
|
|
This uses objfw-config to get to the flags, however, there's still
several todos that can only be addressed once dependencies can have
per-language flags.
|
|
GCC only has very limited support for Objective-C and doesn't support
any of the modern features, so whenever Clang is available, it should be
used instead. Essentially, the only reason to ever use GCC for
Objective-C is that Clang simply does not support the target system.
|
|
Which just checked for clang++ and aborted, instead of for the
combination it claimed.
|
|
Boost now requires C++ 14, as of 1.82
|
|
Fedora has switched to zlib-ng, which has a version of `1.3.0.zlib-ng`,
causing AllPlatformTests.test_summary to fail. dl is much less likely to
change format.
|
|
Fixes issue #12959
compiler.links command for vala crashes
|
|
We have two copies of other.h, one of which is generated. If we don't
include the include/ directory then building fails unless the
custom_target which copies it over, happens to run early enough. On
parallel builds this may fall on its face.
|
|
Only Environment and ConfigurationData are mutable. However, only
ConfigurationData becomes immutable after first use which is
inconsistent.
This deprecates modification after first use of Environment object and
clarify documentation.
|
|
amyspark/amyspark/add-nasm-building-rules-to-xcode
backends: Add Nasm build rules to Xcode
|
|
|
|
|
|
|
|
Some tests for `gnome.mkenums_simple` were only compiled, but not run.
Most bugs will be caught by compilation alone, but it's better to run
the generated binary too in case there are runtime issues in the
generated code.
The naming of all enum tests is now unified as well.
|
|
|
|
flags
|
|
That holds for all of these meson function: run_target, generator and
custom_target and additionally to the Windows and Gnome module.
|
|
linkers: Fix detection of link arguments to Clang(-cl) + MSVC
|
|
They were skipped with llvm 17 based on the version, and they are
now no longer skipped with v18 and also pass now.
This depends on #12964 for llvm 18 support in meson.
|
|
expect_skip_on_os
The test.json format currently has three keys related to skipping tests:
* `skip_on_jobname`
* `skip_on_os`
* `skip_on_env`
While `skip_on_env` marks the test itself as skipped, i.e. they don't get run when the
conditions are met, the other two skip options are just marking the test as "expected to be skipped"
if the conditions apply, i.e. they want to see `MESON_SKIP_TEST` in the output and things will
fail if that doesn't happen. They don't actually skip the tests as the names imply.
To make this clearer rename the keys:
* `skip_on_jobname` -> `expect_skip_on_jobname`
* `skip_on_os` -> `expect_skip_on_os`
`skip_on_env` stays the same, since that actually skips.
The docs were also confused about this, so adjust that too.
|
|
By adding the option name to UserOption object, it is now possible to
display the name of the affected option when the given option value is
not valid.
Fixes #12635
|
|
Otherwise internal dependencies have auto-generated names that are not
human readable. Instead, use the name that the dependency overrides. For
example:
```meson
meson.override_dependency('zlib', declare_dependency())
dep_zlib = dependency('zlib')
assert(dep_zlib.name() == 'zlib')
```
Fixes: #12967
|
|
Compiling and linking code is part of the Compiler base class, there is
no reason it cannot also run executables.
|
|
|
|
cc4cfbcad92945a1629c80664e1eb755c68905dd added detection for unknown
base options, but it was not working for subproject base options. This
should fix it.
|
|
When linking with a Rust rlib, we should also link with its external
system dependencies. This was currently done only for C ABI crates, do
it for both rlib and staticlib now.
|
|
musl 1.2.5 exposes this symbol in the default profile, and in future
will expose it unconditionally, as it is on track to becoming part of
POSIX.
So rather than maintaining a list of systems to run this on, let's
just skip testing the feature test macro if we find ppoll in the
default profile.
|
|
|
|
Support `meson dist` when getting project versions from VCS
|
|
Fixes #12920.
|
|
When the proc-macro rlib is in a different subdir, it would miss the
needed -L argument and rustc would not find it. Meson was assuming that
proc-macros are only needed when building libraries that uses it, but it
turns out that was wrong, as show by the unit test.
|
|
Cargo implements this configuration option to override the entry point
of the library.
To get test coverage, I've modified one of the two Cargo subprojects
in the test to use a non-default library entrypoint. The other still
uses the default.
|
|
Cargo features
|
|
|
|
This allows projects to manually add extra rust args and deps. This is
intended to replace build.rs logic.
|
|
|
|
There is no reason to forbid empty variables, PkgConfigCLI.variable()
even has code specifically for handling that case.
|