aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2024-05-07cuda: disable thin archives when 'cuda' is enabled globallyDavid Seifert1-1/+15
Bug: mesonbuild/meson/pull/9453 Bug: mesonbuild/meson/issues/9479#issuecomment-953485040
2024-05-07cuda: pass static archives to nvcc without -Xlinker= prefixDavid Seifert2-1/+13
2024-05-07cuda: add test for C++ linking of dependency('cuda')David Seifert1-1/+1
2024-05-07cuda: pull in libdir when linking C/C++David Seifert1-1/+1
* In `CudaDependency._detect_language`, the first detected language is considered the linking one. Since `nvcc`/`cuda` implicitly know where the cuda dependency lives, this leads to situations where `cpp` as linking language is erroneously detected as `cuda` and then misses the `-L` argument.
2024-05-07Add support for GCC's null_terminated_string_arg function attributeTristan Partin4-48/+72
This is new as of 14.1.
2024-05-07Use correct subdir when generating processed file pathTristan Partin3-5/+29
We need the subdir of where the output file will actually be created, not the current subdir of the interpreter. Fixes: #13168
2024-05-01Add required kwarg to compiler.{compiles,links,run}Tristan Partin7-8/+124
This is a similar commit to the one that added required to all the compiler.has* functions.
2024-05-01use a for loop, check more linker optionsmatyalatte1-12/+26
2024-05-01vs2010backend: fix an error when using /MANIFEST:NOmatyalatte1-5/+20
2024-05-01Updating Continuous-Integration.md (#13161)Michael Gene Brockus (Dreamer)1-103/+141
2024-04-30Fix dependencies for vala.links #13158Ben Corby2-0/+108
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.
2024-04-29fix typos and grammars in Build-options.mdNhalrath1-4/+4
2024-04-28catch build files that cannot be opened in utf8 mode and emit useful errorEli Schwartz5-17/+28
Previously, if a junked meson.build or native.ini was used we got a lengthy traceback ending in UnicodeDecodeError. Fixes: #13154 Fixes: #13156
2024-04-28add punctuation mark to make log more understandablekkz1-3/+3
2024-04-28Explicitly set OBJC=cc OBJCXX=c++ for bitcode testJonathan Schleifer1-0/+6
OBJC=clang / OBJCXX=clang++ can pick up a newer Clang that no longer supports bitcode.
2024-04-28Install ObjFW on macOS, Fedora and MSYS2 CIJonathan Schleifer3-2/+3
2024-04-28Add support for depending on ObjFWJonathan Schleifer10-5/+160
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.
2024-04-28Prefer Clang over GCC for Objective-C(++)Jonathan Schleifer2-6/+8
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.
2024-04-27mdist: gracefully handle stale Git indexBenjamin Gilbert2-1/+5
Running `touch` on a tracked file in Git, to update its timestamp, and then running `meson dist` would cause dist to fail: ERROR: Repository has uncommitted changes that will not be included in the dist tarball Use --allow-dirty to ignore the warning and proceed anyway Unlike `git status` and `git diff`, `git diff-index` doesn't refresh the index before comparing, so stat changes are assumed to imply content changes. Run `git update-index -q --refresh` first to refresh the index. Fixes: #12985
2024-04-27compilers/fortran: fix werror options for Intel compilersBenjamin Gilbert1-0/+6
Unlike in the Intel C compiler, -Werror and /WX are not accepted.
2024-04-27backend/ninja: use generate_basic_compiler_args() for C#, Java, SwiftBenjamin Gilbert3-14/+19
C#, Java, and Swift targets were manually collecting compiler arguments rather than using the helper function for this purpose. This caused each target type to add arguments in a different order, and to forget to add some arguments respectively: C#: /nologo, -warnaserror Java: warning level (-nowarn, -Xlint:all, -Xdoclint:all), debug arguments (-g, -g:none), -Werror Swift: -warnings-as-errors Fix this. Also fix up some no-longer-unused argument processing in the Compiler implementations.
2024-04-27Added NumPy to usersDr. Vedran Miletić1-0/+1
NumPy is built with Meson since version 1.26.
2024-04-26nasm: Fallback to native compiler when cross compilingXavier Claessens1-3/+9
If nasm is not defined in cross file binaries we can fallback to build machine nasm. When cross compiling C code we need a different gcc binary for native and cross targets, e.g. `gcc` and `x86_64-w64-mingw32-gcc`. But when cross compiling NASM code the compiler is the same, it is the source code that has to be made for the target platform. We can thus use nasm from build machine's PATH to cross compile for Windows on Linux for example. The difference is the arguments Meson will pass when invoking nasm e.g. `-fwin64`. That is already handled by NasmCompiler class.
2024-04-25tests/d/10: Fix condition with clang++ and gdcDylan Baker1-1/+2
Which just checked for clang++ and aborted, instead of for the combination it claimed.
2024-04-25CI: ubuntu-rolling: fix configuration for sources after format changeEli Schwartz1-1/+1
``` # Ubuntu sources have moved to the /etc/apt/sources.list.d/ubuntu.sources # file, which uses the deb822 format. Use deb822-formatted .sources files # to manage package sources in the /etc/apt/sources.list.d/ directory. # See the sources.list(5) manual page for details. ``` Adapt to the new format.
2024-04-25CI: gentoo: fix profile 23.0 migration dropping default fortranEli Schwartz1-0/+3
We need this for scalapack -> virtual/mpi -> openmpi See https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a1b86025be85171281811eaced7b342fbdfdb591 We now get an immediate, very nicely readable error that the USE flag is necessary. For our use cases, there's no reason not to globally enable it.
2024-04-25docs: fix bad link in snippetDylan Baker1-1/+1
2024-04-25Catch Python exception in the event alignment can't be converted to intTristan Partin1-1/+9
The user almost certainly has to be using a compiler wrapper script that doesn't actually work if we land here. Fixes: #12982
2024-04-25find_library: improve the docs and FeatureNew to fully describe the changeEli Schwartz2-2/+4
The docs didn't really explain what the issue was with using it. And it's not actually a "crash" either way. The FeatureNew mentions that "name" is new, but it is standard for these warnings to tell you both the type of object you're operating on and the name of the method that is an issue. This omitted the former, and was very confusing.
2024-04-25dependencies/boost: Add new homebrew rootDylan Baker1-2/+7
On Apple Silicon the default search path is /opt/homebrew instead of /usr/local.
2024-04-25tests: bump C++ requirement of has_header_symbolDylan Baker1-1/+4
Boost now requires C++ 14, as of 1.82
2024-04-25CI/MacOS: move some things out of the run script into the env keyDylan Baker1-1/+1
2024-04-25CI/MacOS: add missing packagesDylan Baker1-2/+2
There are some additional packages that seem to be needed on Apple based Silicon.
2024-04-25CI/MacOS: Fix paths that have changed from /usr/local to /opt/homebrewDylan Baker1-10/+10
homebrew installs to /usr/local on Intel based macs, but has moved to /opt/homebrew for those using Apple Silicon.
2024-04-25CI/MacOS: switch the Qt4 job to run on an Intel MacDylan Baker1-1/+3
Qt4 doesn't seem to work on Apple Silicon because OpenSSL 1.0 (a requirement for Qt4) doesn't build on it correctly, trying to use X86 assembly.
2024-04-24rust: Fix warning_level=everything caseXavier Claessens1-0/+1
Fixes: #13100
2024-04-24backend/ninja: use re.match instead of re.searchDylan Baker1-1/+1
Since we've already determined that the first character is the start of the expression anyway.
2024-04-24backend: fix type annotation of Backend.generateDylan Baker5-5/+6
`func(value: dict = None)` is invalid, it must be `func(value: dict | None = None)`, or in our older syntax: `T.Optional[T.Dict] = None`
2024-04-24backend/ninja: Fix bug in NinjaRule.length_estimateDylan Baker1-8/+7
The code would create a dictionary that was of type `str : list[str] | str | None`. Then would later try to call `len(' '.join(dict[key]))`. This would result in two different bugs: 1. If the value is `None` it would except, since None isn't iterable and cannot be converted to a string 2. If the value was a string, then it would double the length of the actual string and return that, by adding a space between each character
2024-04-24backend/ninja: add typing annotations to NinjaRuleDylan Baker1-14/+16
2024-04-24docs: Add CMake build type release note snippetJouke Witteveen1-0/+15
2024-04-24cmake/interpreter: Annotate and style module-level constantsJouke Witteveen1-23/+25
2024-04-24Merge pull request #13112 from DaanDeMeyer/interactiveJussi Pakkanen5-14/+42
Add meson test --interactive
2024-04-23Use dl instead of zlib for checking an external dependencyTristan Partin1-1/+1
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.
2024-04-23mtest: Connect /dev/null to stdin when not running in interactive modeDaan De Meyer1-1/+5
This allows tests to check whether stdin is a tty to figure out if they're running in interactive mode or not. It also makes sure that tests that are not running in interactive mode don't inadvertendly try to read from stdin.
2024-04-23Add meson test --interactiveDaan De Meyer5-13/+37
This is very similar to --gdb, except it doesn't spawn GDB, but connects stdin/stdout/stderr directly to the test itself. This allows interacting with integration tests that spawn a shell in a container or virtual machine when the test fails. In systemd we're migrating our integration tests to run using the meson test runner. We want to allow interactive debugging of failed tests directly in the virtual machine or container that is spawned to run the test. To make this possible, we need meson test to connect stdin/stdout/stderr of the test directly to the user's terminal, just like is done with the --gdb option.
2024-04-23interpreter: implement the `name()` method for `ExternalLibraryHolder`Dylan Baker3-0/+14
This allows `cc.find_library().name()` to work, just like `dependency().name()`. Fixes: #13053
2024-04-23Fix compile.links for valaBen Corby2-0/+64
Fixes issue #12959 compiler.links command for vala crashes
2024-04-23Pass --quiet to glib-genmarshalTristan Partin1-1/+1
No need to spam about reading the input file. Fixes: #13119
2024-04-23Add a few more notes to the style guideJohn Ericson1-4/+8
- Mention 2 space indent seems to be the most idiomatic - Mention trailing commas are good - Update example to use trailing commas