aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2022-06-21docs: remove incorrect information about nonexisting kwargEli Schwartz1-2/+2
2022-06-21Update Unit-tests.md (#10515)CLanguagePurist1-0/+8
2022-06-21visualstudio.py: Apply /utf-8 only on clang or VS2015+Chun-wei Fan1-7/+5
In PR 10263, we didn't account for that we may have initialize the Visual Studio-like compiler two times, once for a C compiler and once for the C++ compiler, so we end up with Meson breaking on Visual Studio 2013 or earlier, such as when building GLib. Fix this by setting up the always_args member of the VisualStudioLikeCompiler instance during __init__() as needed, so that we avoid falling into modifying shared objects.
2022-06-19Update version numbers for rc1.0.63.0rc1Jussi Pakkanen2-2/+2
2022-06-19Merge pull request #10464 from rtbo/fix_generated_depsJussi Pakkanen5-2/+50
add D generated files to order-only deps
2022-06-19python module: implicitly add python dep to extensionsEli Schwartz6-15/+35
If there isn't a preexisting dependency on python, append one. It's almost assuredly needed, so just do the right thing out of the box.
2022-06-19python module: cache dependency() lookup between invocationsEli Schwartz1-14/+26
Modeled similarly after the installations cache, but using the coredata dependency cache because it has a nice mechanism for handling the cache key.
2022-06-19update gnome test to cover built gresource filesEli Schwartz3-4/+29
Co-authored-by: Dylan Baker <dylan@pnwbakers.com>
2022-06-19gnome module: fix regression that broke using built xml files as gresourcesEli Schwartz1-1/+8
In commit 3dcc7125833cae138987aa4535c88dbd4dbd960d we moved to typed_pos_args. In the process, we deleted some code to specifically raise an error if you use custom_target or generator outputs, instead leaving it out of the typed pos args. However, that support was specifically supposed to be there. It was only an error in part of an if statement for handling old versions of glib-compile-resources. The specific error it calls out is that we need to manually parse the depfile at configure time, due to an external bug; obviously this is impossible if the gresource is only created at build time. Reinstate the original error message check, and allow built outputs to be used as compile_resources() inputs. Fixes #10367
2022-06-19Update CUDA Toolkit/driver version table for recent releases.Olexa Bilaniuk1-0/+5
Agrees with Release Notes, Section 1.1, Table 3. https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html
2022-06-17always run external projects multi-threaded if possibleStaz M1-4/+3
The check for if the project supports the -j flag was needlessly complex. We support two types of project: - waf, always supports -j - make, if GNU, supports -j We never checked waf, and the make check assumed that the entire command, rather than just the last component, was "make". It also neglects "gmake". Since any possible build command *may* support -j, always run the --version check. Detect either build command in the output.
2022-06-17always set DESTDIR via the environment for external projectsStaz M1-4/+1
It doesn't matter whether it is make or not, because make, too, supports setting it via the env. This reduces the use of special cases in the code.
2022-06-17external-project: Add depends kwargXavier Claessens3-5/+17
The unit test was racy but surprisingly never failed on CI. The reason is we need to ensure ninja build somelib.so before running `make` into the external project.
2022-06-17migrate declare_dependency to typed_kwargsEli Schwartz2-32/+94
2022-06-17refactor logic for parsing dependency variables into type_checking moduleEli Schwartz5-15/+44
We will momentarily use this to implement typed_kwargs, but not for all usage sites.
2022-06-17docs: d_module_versions has an undocumented ability to accept integersEli Schwartz4-8/+10
Dlang uses both integer version "levels" and arbitrary string identifiers, and we support both, but don't mention it in the docs. Also update a test case to pass one via declare_dependency. We already test this kwarg for build_target.
2022-06-17docs: fix incorrect info for declare_dependency sourcesEli Schwartz1-1/+1
The type information is clearly wrong as it disagrees with the description w.r.t. generated headers. We also rely on it accepting custom targets for the obvious reason that we accept it in a build target too! In fact, we rely on this in the testsuite too.
2022-06-17fix confusing incorrect default name for a KwargInfoEli Schwartz2-2/+2
We can use this lots of places, and it's always the same kwarg. There doesn't seem to be a point in naming it badly, then evolving it to the standard name in the one place it is currently used. This made it not shareable.
2022-06-17typed_kwargs: support dict/list as "new since" typesEli Schwartz1-6/+12
Given a kwarg value that is itself a dict/list, we would only check if the since_values was present within that container. If the since_values is itself the dict or list type, then we aren't looking for recursive structures, we just want to know when the function began to accept that type. This is relevant in cases where a function accepted a dict, and at one point began accepting a list (of strings in the form 'key=value'), or vice versa.
2022-06-17interpreter: fix a subproject check with symlinksHemmo Nieminen6-4/+26
The check for whether or not a file is allowed to be accessed from a subproject fails if the subproject is accessed via a symlink. Use the absolute path of the subproject without resolving symlinks to fix the check. Extend unit test 106 to check for this in the future.
2022-06-17fix parameter expansion in several error messagesMichael Mera3-5/+5
At several points in the code base, f-strings are not correctly expanded due to missing 'f' string prefix. This fixes all the occurrences I could find.
2022-06-17devenv: Do not use relative WINEPATHXavier Claessens1-5/+5
It forces launching executables from the top builddir which users might not expect and creates hard to understand issues.
2022-06-17Improve WINEPATH reductionXavier Claessens4-72/+69
- Remove duplicated code in mdevenv.py - Change the limit to 1024 instead of 2048 which is what has been tested. - Skip shortening if it is already short enough. - Skip shortening with wine >= 6.4 which does not seems to have that limitation any more. - Downgrade exception to warning in the case WINEPATH cannot be shortened under 1024 chars, it is possible that it will still work.
2022-06-17ExternalProgram: Make get_version() work without interpreterXavier Claessens1-6/+15
2022-06-17docs: ensure stable order of release notesEli Schwartz1-1/+1
Merging snippets happens in arbitrary order -- whatever filesystem globbing results in. This didn't matter too much when we ran it once at release time and checked the resulting release notes into git. However, now that we generate a temporary version of the release notes for development versions, the order of the results will periodically change. Sort the files before processing them in order to guarantee that whatever order they are in, they stay that way. As a side effect, it's now technically possible to guarantee an ordering by judicious use of snippets naming.
2022-06-16fix regression that broke proper warnings about passing subproject as a depEli Schwartz2-1/+4
Regression in commit 7c757dff71c031ae02ecc358a69a213a5db4051a. SubprojectHolder is no longer an ObjectHolder and says so via a TODO: this means that we have to fiddle with held_object. Yay.
2022-06-16test (failing): 127 subproject object as a dependencyfxxf4-0/+13
2022-06-16fix crash when passing invalid inputs as build_target dependenciesfxxf1-6/+7
The `add_deps` function did not behave correctly when a specified dependency is not an instance of `dependencies.Dependency`. Reorder the logic flow to perform this validation first. Fixes #10468
2022-06-16minstall: Add more safety checks when unpickling installdataXavier Claessens3-26/+30
When need to catch exceptions just like we do in coredata.load() to print proper error message instead of backtrace when user mix meson versions. This happens frequently when user has a newer version of meson installed in their HOME and then "sudo meson install" uses the system version of meson.
2022-06-16docs: only list the latest build of a given stable tag for each wrapdb entryEli Schwartz1-1/+7
If we increment the build revision and re-release a wrap, it's a bugfix of an old version, so we can simply not bother to list it in the table. Just list the latest and greatest wrap for each tagged release. The rest are obviously still available if you look up the relevant tag manually on github, but they aren't very interesting to show here.
2022-06-16doc: Add meson.override_dependency() in external-project exampleXavier Claessens1-0/+1
2022-06-14devenv: Add support for PowerShell 7 on WindowsSeungha Yang2-4/+3
Checks "pwsh.exe" in addition to "powershell.exe" and "cmd.exe" to support PowerShell 7 on Windows. The Powershell 7 support was added in GStreamer (which is the origin of this script) already via https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2545
2022-06-14Fix crash when a reconfigure adds a new subprojectXavier Claessens6-2/+26
When a subproject is disabled on the initial configuration we should not add it into self.coredata.initialized_subprojects because that will prevent calling self.coredata.init_builtins() on a reconfigure if the subproject gets enabled. Fixes: #10225.
2022-06-14add testcase for previous commitPaolo Bonzini4-8/+68
2022-06-14backend: always use the same code to compute the files in ExtractedObjectsPaolo Bonzini3-18/+9
Instead of asking the ExtractedObjects, but with a hook back into the backend, use the existing function in the backend itself. This fixes using the extract_objects(...) of a generated source file in a custom_target. It should also fix recursive extract_all_objects with the Xcode backend. Fixes: #10394
2022-06-14take override_option('unity=...') into account when allowing extract_objects()Paolo Bonzini8-10/+26
A single target could be picked for unity build, and in that case extract_objects() should not be allowed. Likewise for the opposite case, where extract_objects() should be allowed if unity build is disabled for a single target. A test that covers that case is added later.
2022-06-13ninja backend: generate additional meta-rules for test/benchmarks targetsEli Schwartz3-12/+24
'meson-test-prereq' now depends on any targets that were formerly added directly to 'all'. Behavior is not changed -- the all target still depends on this other meta-rule, and thus indirectly depends on all targets it used to depend on. It is now possible to build just the targets needed for the testsuite and then e.g. run `meson test --no-rebuild`.
2022-06-13unittests: do more accurate check for ninja "nothing to do"Eli Schwartz1-2/+2
We only want to scan stdout for these strings, and particularly, if we allow `-d explain` to be mingled into stdout, then buffering issues across OSes can lead to inaccurate results.
2022-06-13unittests: allow test commands to suppress returning stderrEli Schwartz1-5/+11
Add better logging of commands by printing stdout and stderr separately, if relevant. Also while we are at it, print the actual command being run.
2022-06-13flake8: remove unused variableEli Schwartz1-1/+1
2022-06-13flake8: don't use f-strings for strings without formattingEli Schwartz3-3/+3
2022-06-13flake8: fix non-idiomatic ordering of "if not in" checksEli Schwartz1-3/+3
2022-06-13flake8: fix various whitespace nitsEli Schwartz9-16/+16
2022-06-10add Feature checks for install_subdir creating an empty directoryEli Schwartz1-0/+7
Most importantly, tell people it's broken and to stop using it for 0.62.0
2022-06-10fix typo in IndepthTutorial.mdff1-1/+1
2022-06-10ACfL version detection with regexStepan Nassyr1-28/+6
2022-06-10Allow for 3-component ACfL versionsStepan Nassyr1-8/+26
2022-06-10treewide: various cleanups to move imports for mypy into typechecking blocksEli Schwartz17-59/+93
Along the way, add __future__ annotations where lacking.
2022-06-10flake8: remove import that was never usedEli Schwartz1-1/+0
Introduced via commit 0d0a4fa0fe02ca8297743a5a8e64ee72060cc990, probably in the course of heavy rebasing.
2022-06-10flake8: remove no longer used importsEli Schwartz4-4/+0