aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2024-04-18backend/ninja: Fix cases where None is passed when unexpectedDylan Baker1-5/+11
When getting debug file arguments we can sometimes pass None, where a None is unexpected. This becomes a particular problem in the Cuda compiler, where the output will unconditionally be concatenated with a static string, resulting in an uncaught exception. This is really easy to spot once we annotate the functions in question, where a static type checker like mypy easily spots the issue. This commit adds those annotations, and then fixes the resulting error. Fixes: #12997
2024-04-16python: Fix header check for system methodJonathon Anderson1-1/+1
Fixes https://github.com/mesonbuild/meson/issues/12862
2024-04-15tests: fix missing dependency causing flaky build failureEli Schwartz1-2/+2
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.
2024-04-15allow any alternative python freeze tool to work with mesonEli Schwartz1-2/+5
Any code that needs to know mesonlib.python_command currently assumes the PyInstaller bundle reference is added to the sys module, which means that it assumes the only freeze tool used is PyInstaller. Really, all we need to check is sys.frozen as it's never normally set, but always set for a freeze. We don't care if it was PyInstaller specifically, and we don't need its bundle directory. See https://github.com/mesonbuild/meson/discussions/13007
2024-04-15compilers: fix crash when compiler check returns None outputEli Schwartz1-1/+1
Popen_safe_logged has a small inefficiency. It evaluates the stripped version of stdout/stderr before checking if it exists, for logging purposes. This would sometimes crash, if it was None instead of ''. Fixes #12979
2024-04-15micro-optimize iteration of evaluated setEli Schwartz1-1/+1
It is generally accepted practice to convert dict.keys() to a list before iterating over it and e.g. deleting values, as keys returns a live-action view. In this case, we use the difference of *two* dict keys, which returns a regular non-view set and doesn't need protecting. Iteration order doesn't matter (the set already randomizes it anyway). Avoid the cost of converting to a list.
2024-04-15Add bztar support to meson distTristan Partin4-5/+28
Some projects, like Postgres, distribute code in this format.
2024-04-15Don't sanitize a None path when checking for, but could not find, ↵William D. Jones1-2/+2
unsupported cl clones.
2024-04-14Fix builds with Ninja 12 and remove a 5 year old workaround.Jussi Pakkanen3-31/+12
2024-04-14Clarify mutable objects usageXavier Claessens11-36/+102
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.
2024-04-14Merge pull request #11737 from ↵Jussi Pakkanen9-29/+160
amyspark/amyspark/add-nasm-building-rules-to-xcode backends: Add Nasm build rules to Xcode
2024-04-12docs: Howto exclude file from unity buildPhilip Chimento1-0/+21
Adds a howto section describing how to put files in a separate build target and override the unity build setting, and why you might want to do this. Closes: #13031
2024-04-11dependencies/dev: make the warning about LLVM's CMake non-fatalDylan Baker1-4/+5
This isn't case where fatal is appropriate, as the end user has no control over this, and it may not be hit in all configurations of a project.
2024-04-11dependencies/llvm: Try to make warning about CMake betterDylan Baker1-3/+24
We have seen a number of bugs from people confused by warning that the need both a C and C++ compiler to use the CMake method. This attempts to provide a more helpful error message.
2024-04-11cmake: best-effort build type propagationJouke Witteveen1-0/+13
2024-04-10Document a probable cause for test failures.Jussi Pakkanen1-1/+1
2024-04-10Do not even submit test suites that are skipped completely.Jussi Pakkanen1-0/+1
2024-04-10Add a verbose output option to run_project_tests and default it to off.Jussi Pakkanen1-2/+8
2024-04-10Do not use verbose mode in unittests.Jussi Pakkanen1-1/+1
2024-04-09nasm, yasm: Fix debug flags for Windows and macOSL. E. Segovia1-1/+1
2024-04-09backends: Add Nasm support to Xcode through a custom build ruleL. E. Segovia1-1/+6
2024-04-09nasm test: Add a test for validating the Xcode backendL. E. Segovia3-0/+36
2024-04-09nasm test: Set the correct supported OSes for the testsL. E. Segovia3-12/+16
2024-04-09backends: Add Nasm support to Xcode through a custom build ruleL. E. Segovia2-12/+95
2024-04-09nasm, yasm: Fix debug flags for Windows and macOSL. E. Segovia1-5/+8
2024-04-09interpreter: never expose implementation details of the modules packageDylan Baker1-0/+4
When a user writes `import'foo')`, Meson checks the `mesonbuild/modules/` directory for a package called `foo.py`, and attempts to import it. We don't want to expose any implementation detail packages like `_qt.py`, so if someone write `import('_qt')`, we should immediately give a "doesn't exist" error.
2024-04-09modules: rename qt.py -> _qt.pyDylan Baker6-5/+5
Since it's an implementation detail, and shouldn't be exposed. This also helps give better error messages when a user writes `import('qt')`, since otherwise you get an error about `qt doesn't have an initialize method`, and now you get `qt module doesn't exist`.
2024-04-08gnome: Actually run all mkenums_simple tests and fix numberingMatthijs Velsink1-3/+7
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.
2024-04-08gnome: Fix indentation of mkenums_simple generated codeMatthijs Velsink1-14/+22
Commit 83facb39593fbfa4d9cd68e86f5f56f86f1fe1eb switched to using `textwrap.dedent` for the code templates for `gnome.mkenums_simple`. That changed indentation, however, making the generated code harder to understand. We improve this by properly indenting the multiline strings before dedenting them. For optional parameters `decl_decorator` and `header_prefix`, we add a newline if they are set to keep separation between generated code blocks.
2024-04-08meson format commandCharles Brunet38-2/+2031
2024-04-08parser: revert to single StringNode typeCharles Brunet13-106/+62
this will allow transforming string types in the formater
2024-04-08simplify astprinter by using operator valueCharles Brunet1-9/+2
2024-04-08simplify RawPrinter using FullAstVisitorCharles Brunet1-190/+27
2024-04-08visit full ast for AstConditionLevelCharles Brunet1-16/+25
Use the new `FullAstVisitor` for `AstConditionLevel`. This will allow proper formatting of `if / else / endif` and `foreach / endforeach` blocks.
2024-04-08Add ast visitor for whitespaces and symbolsCharles Brunet1-2/+181
The `AstVisitor` intentionally ignores whitespaces and symbols, as they are not useful for tne interpreter. However, when formatting a build file, we need them. This commit introduces a `FullAstVisitor` that visits every Nodes, including whitespaces and symbols.
2024-04-08fix colon wrongly named column in parserCharles Brunet2-19/+19
In #02ff955, I used the word `columns` instead of `colons`, but the meaning really was about the ':' symbol.
2024-04-08Fix type checking in ast.printerCharles Brunet1-5/+3
- Wrong types were used for MultilineStringNode and FormatMultilineStringNode - Simplify the `escape` method to avoid use of T.Cast
2024-04-08Update Users.mdMichael Gene Brockus (Dreamer)1-9/+12
2024-04-06On OpenBSD there's no convention the .so numbers equal the boost version.Otto Moerbeek1-1/+2
Skip the check filtering on that condition.
2024-04-05interpreter/compiler: Fortran.run() has always workedDylan Baker1-2/+2
This incorrectly warns that `compiler.run()` is new in 1.5.0 for Fortran, but that works fine for older versions (noted with 1.2.3). This makes sense, as FortranCompiler inherits CLikeCompiler
2024-04-05compilers: Add test for detecting libraries with externally supplied linker ↵L. E. Segovia4-0/+47
flags
2024-04-05compilers: Ensure -L flags do not get reordered when used with MSVCL. E. Segovia1-3/+9
If -L flags get into CLikeCompiler::build_wrapper_args, they will be correctly detected and the /LINK flag added to the list. However, CompilerArgs::__iadd__ will reorder them to the front, thinking they're GNU-style flags, and this will cause MSVC to ignore them after conversion. The fix is twofold: 1. Convert all the linker args into their compiler form, making sure the /LINK argument is dropped (see 2) 2. Insert /LINK into extra_args if not already present 3. Execute in situ the unix_to_native replacement, ensuring no further reordering occurs. Fixes #11113
2024-04-05depends keyword argument: accept CustomTargetIndexGerion Entrup9-15/+31
That holds for all of these meson function: run_target, generator and custom_target and additionally to the Windows and Gnome module.
2024-04-05Merge pull request #12144 from amyspark/fix-msvc-clangcl-linker-flag-detectionJussi Pakkanen5-1/+55
linkers: Fix detection of link arguments to Clang(-cl) + MSVC
2024-04-04env2mfile: Only consume LDFLAGS for relevant languagesOle André Vadla Ravnås1-2/+4
It makes no sense to add them into vala_link_args, for example.
2024-04-03Fix regression in TI CGT supportWill Toohey1-6/+5
When C6000 support was added in #12246, TI compilers were given the correct version argument. This broke the previous check which relied on an error being thrown by the compiler.
2024-04-01nasm: Add support for .nasm file extension (#13027)Junior Rantila1-1/+1
2024-04-01depfixer: change fix_darwin to act like fix_rpathtype_entryFabian Groffen1-32/+21
This somewhat aligns "darwin" (Mach-O) with how ELF RPATHs are treated. Instead of blindly removing all RPATHs, only remove the ones that are in the rpath_dirs_to_remove set. This way, RPATHs that were added by the toolchain or user are left untouched. It is important not to remove RPATHs as they may be vital for the executable at runtime. Issues #12045 and #12288 are examples of this. Issue: https://github.com/mesonbuild/meson/issues/12045 Signed-off-by: Fabian Groffen <grobian@gentoo.org> Signed-off-by: Eli Schwartz <eschwartz93@gmail.com>
2024-03-29Merge pull request #13021 from dcbaker/submit/depscanner-fixes-and-speedupsJussi Pakkanen2-84/+82
Cleanups, fixes, and speedups for the depscanner
2024-03-29Update Pip install documentation.Jussi Pakkanen1-9/+10