aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2024-06-08Use helper method in Rust compiler class.Jussi Pakkanen1-2/+2
2024-06-08Use helper method in Fortran compiler classes.Jussi Pakkanen1-9/+9
2024-06-08Use helper method in C++ compiler classes.Jussi Pakkanen1-52/+60
2024-06-08Create helper method for lang opts and use in C compiler classes.Jussi Pakkanen2-34/+59
2024-06-07wrap: default values for netrc are empty string from python 3.11Ruben Gonzalez1-1/+1
From python 3.11 [1]: > The entry in the netrc file no longer needs to contain all tokens. The missing > tokens' value default to an empty string. All the tokens and their values now > can contain arbitrary characters, like whitespace and non-ASCII characters. > If the login name is anonymous, it won't trigger the security check. [1] https://github.com/python/cpython/commit/15409c720be0503131713e3d3abc1acd0da07378
2024-06-05Add -export_dynamic flag for AppleDynamicLinkerWolfgang Walther2-0/+15
The apple linker uses -export_dynamic instead of --export-dynamic [1]. This should be set when setting export_dynamic: true. Resolves #13290 [1]: https://opensource.apple.com/source/ld64/ld64-609/doc/man/man1/ld.1.auto.html
2024-06-05Merge pull request #13286 from mesonbuild/machinerefactorJussi Pakkanen10-135/+175
Extract MachineFile code to its own file
2024-06-04Extract native file parser to machinefile source file.Jussi Pakkanen7-110/+127
2024-06-03CI: clean up azure triggersEli Schwartz1-2/+2
2024-06-03CI: Windows: downgrade rust to 1.77Eli Schwartz1-6/+7
It started failing CI as soon as the default shifted to 1.78. Something is broken and it prevents running stable CI. Tracking issue opened. We pin the version because that is the same way we handle CI for linux -- with the exception that Linux CI can upgrade itself as soon as we fix issues causing the CI Image Builder to jam itself, whereas unfortunately Windows will need to be manually unpinned, but such is life as a Windows supporter. Bug: #13236
2024-06-03xcode: Skip generating PBXBuildStyle on Xcode 9 and aboveAlbert Tang1-9/+12
This was removed on Xcode 9, so only generate it for Xcode 8.3.3 and lower.
2024-06-03xcode: Generate files for highest detected versionAlbert Tang1-2/+2
Some settings require "objectVersion" to be set to a certain value or Xcode will not use it. To fix this, we set it to the highest possible value, determined by the detected version of Xcode. We also set "compatibilityVersion", but mainly so it lines up with "objectVersion". At the same time, we should not be generating Xcode 3.2-compatible projects by default anyway.
2024-06-03xcode: Detect installed version of XcodeAlbert Tang1-1/+31
This will allow for generating project files more specific to certain versions of Xcode without breaking compatibility.
2024-06-02Create a directory for machine files used in unit tests.Jussi Pakkanen3-34/+31
2024-06-02Start moving machine files to their own store.Jussi Pakkanen2-1/+27
2024-06-01mintro: write humman-readable JSONFilipe Laíns1-1/+1
Signed-off-by: Filipe Laíns <lains@riseup.net>
2024-05-31Explain how to add preprocessor defines in FAQ.mdEmil Melnikov1-0/+13
See https://github.com/mesonbuild/meson/issues/6269 for the discussion. Co-authored-by: Eli Schwartz <eschwartz93@gmail.com>
2024-05-30CI: make cuda tests even run to begin withEli Schwartz3-6/+3
Arch profile.d scripts were converted to use an appending function that disappears when /etc/profile exits, and overall are simply not suitable -- any more -- for sourcing individually. (I will freely admit I'm not really sure what the overall goal of refraining from sourcing /etc/profile itself is. Arguably it's kind of misuse of the profile...) This silently broke the cuda tests, which never ran because the cuda compiler was not detected as available. While we are at it, I guess we can convert gentoo to use the same trick of appending it in install.sh
2024-05-30cuda: avoid test failure without GPU availableDavid Seifert1-2/+6
Fixes #13269
2024-05-29cuda: add test for late `add_languages('cuda')`David Seifert1-1/+4
2024-05-29cuda: disable thin archives when cuda is added through ↵David Seifert2-8/+11
`add_languages('cuda')` later
2024-05-26docs: Update GIMP meson adoptionBruno1-1/+1
The master branch isn't in experimental state anymore.
2024-05-24remove deprecation warning for `configure_file` kwarg 'copy'Marc Durdin1-1/+0
`configure_file` kwarg `copy` runs at configure time, whereas `fs.copyfile` runs at build time. Both have use cases, so this undeprecates the `configure_file` version. Fixes: #12792
2024-05-24compilers: improve a comment describing why we add a silly clang workaroundEli Schwartz1-3/+17
Clang is such a great compiler! Not. Compilers have enhanced diagnostics for some kinds of "well known" undeclared identifiers, telling you exactly which header you might have forgotten to include. The reason why clang needs an option GCC doesn't need is because clang's fixit suggestions, unlike GCC's actually *changes the type of the error*, as a result of a fixit of all things. After the fixit suggestion grants this error the right to be ignored, we start having to add clang-specific options. Follow-up to https://github.com/mesonbuild/meson/issues/9140 Upstream clang bug, which appears to be going nowhere: https://github.com/llvm/llvm-project/issues/33905
2024-05-24Revert "rust: recursively pull proc-macro dependencies as well"Sam James5-27/+2
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
2024-05-23Refactor option classes to their own file.Jussi Pakkanen31-667/+713
2024-05-22unify listing for FSCL to point to allMichael Gene Brockus1-12/+1
2024-05-22cuda: add test for negative `find_library()` resultDavid Seifert1-0/+4
2024-05-22cuda: fix `cuda.find_library()` hardcoded to yield trueDavid Seifert3-17/+30
* Previously, cuda would just plainly prepend `-l` to the libname. * By relying on the host compiler to find libraries, we now get more subtle failures, such as CUDA modules not being found anymore. * We need to simplify these CUDA modules when nvcc is used for linking, since this may have side-effects from the cuda toolchain. Closes: #13240
2024-05-22add cross-compile argument for ldc linker guessingAxel Ricard1-1/+5
2024-05-22fix sanity check for d cross-compilationAxel Ricard2-3/+14
2024-05-19pylint: fix useless-returnEli Schwartz2-2/+1
A bare return at the end of a function doesn't do anything. And in the case of a try/except, it's really just an elaborate "pass" anyway.
2024-05-19pylint: fix false positive for variable defined in different copies of ↵Eli Schwartz1-1/+2
conditional We do: ``` if is_thing: assignme = value if_is_thing: ... else: assignme = [] ``` It is always defined on both sides, but there was no particular reason we had to assign it in the later copy. pylint reported it as a false positive, and it may prove confusing in general, and it's harmless to move, so do so.
2024-05-19pylint: ignore possibly/used-before-assignment as it is prone to FPEli Schwartz1-0/+3
It does no control flow analysis, and upgrading to pylint 3.2.0 produced many incorrect warnings. Also ignore contextmanager-generator-missing-cleanup for now. It has FP when there is no code after a yield (and thus no cleanup needs to be handled), which is what we do. Currently under discussion upstream: https://github.com/pylint-dev/pylint/issues/9625
2024-05-19pylint: fix false positive for missing else branchEli Schwartz1-1/+1
We cover every case as if/elif/elif. mypy can handle this fine, but pylint doesn't do control flow or type checking and thinks in the missing else case, the variable might not be defined. For mypy as well, doing this instance check is unnecessary as it can be inferred. So just micro-optimize the check and allow pylint to safely analyze the logic.
2024-05-19Pass wrapmode value around as a string. (#13229)Jussi Pakkanen5-17/+7
2024-05-19Fix handling of C standard support for Emscripten.Ralf Gommers2-1/+16
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>
2024-05-15docs: fix description of cpp_eh=noneEli Schwartz1-5/+5
We changed the behavior in #6116 but did not change the docs as well. Fixes #8233
2024-05-15Merge pull request #11421 from mon/ti-armclangJussi Pakkanen4-10/+33
Basic support for TI Arm Clang toolchain
2024-05-14CI: gentoo: make logs shorter by reducing progressbarEli Schwartz1-0/+3
2024-05-14CI: gentoo: explicitly install gdbus-codegenEli Schwartz1-0/+1
It is now getting uninstalled instead of updated, due to blockers on old glib. In fact, we explicitly need it...
2024-05-09implement @PLAINNAME0@ and @BASENAME0@Stas Sergeev6-4/+39
@PLAINNAME@ and @BASENAME@ cannot be used in custom_target() with multiple inputs. For those, similar macros are needed with an index. Fixes #13164
2024-05-09In Builtin-options documentation, clarify warning_level=0.sammyj851-1/+1
warning_level=0 is not 'none' but 'compiler default'.
2024-05-08fix broken linkAxel Ricard1-1/+1
2024-05-08mtest: Set MESON_TEST_ITERATION to the current iteration of the testDaan De Meyer3-2/+11
When running our integration tests in systemd we depend on each test having a unique name. This is always the case unless --repeat is used, in which case multiple tests with the same name run concurrently which causes issues when allocating resources that use the test name as the identifier. Let's set MESON_TEST_ITERATION to the current iteration of the test so we can use $TEST_NAME-$TEST_ITERATION as our test identifiers which will avoid these issues.
2024-05-07cuda: add test for device linkingDavid Seifert4-0/+73
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.