aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild
AgeCommit message (Collapse)AuthorFilesLines
2021-03-13Use find_program also in add_*_script for consistency.progrefactorJussi Pakkanen1-18/+2
2021-03-13Use find_program also in custom_target for consistency.Jussi Pakkanen1-0/+3
2021-03-12interpreter: Cache found dependency before converting for include_typeXavier Claessens1-7/+7
Fixes: #8516.
2021-03-12Fix duplicate pkg_config_path entriesTristan Partin1-2/+2
Previously builds would *potentially* get sammed with messaging at configure time that duplicate entries in an array would be an error in the future, and the cause was because the same entries were getting added over and over to pkg_config_path.p
2021-03-10Some documentation language adjustments & improved error messagesLaurin-Luis Lehning1-1/+2
2021-03-10Add tentative FeatureNew guardLaurin-Luis Lehning1-0/+1
2021-03-10Add failing test cases & release snippetLaurin-Luis Lehning1-1/+1
2021-03-10Use interpreter exceptions instead of MesonExceptionLaurin-Luis Lehning1-2/+2
2021-03-10Switch fstring syntax to @..@ & limit fstring captures to int, str, float ↵Laurin-Luis Lehning1-2/+6
and bool
2021-03-10Add support for basic format stringsLaurin-Luis Lehning2-2/+27
2021-03-09dependencies: Add docstring explaining how to write a system dependencyDylan Baker1-0/+149
This is a useful thing to document. I wasn't really sure where to put it, but since it's developer oriented I figured in the code itself was probably more useful and more likely to be seen than in the markdown that generates the website.
2021-03-09Add address sanitizer support for Visual Studio.Jussi Pakkanen2-1/+9
2021-03-09change RSP quote style decision logicRemi Thebault1-3/+12
Take into account LDC on Windows Fixes #8494
2021-03-09Add str.replace() methodTristan Partin1-0/+7
2021-03-08remove unused environment functionEli Schwartz1-4/+0
The script dir is never really used since meson --internal handles this. The last remaining use of the raw script dir got removed in commit 522392e7553823e6b3ac38cadc4fbee72eae9540.
2021-03-08Add /Od flag to msvc optimization 0 argsVili Väinölä1-1/+1
Without specifying optimization the used optimization depends on vs runtime-library. With mdd it is /Od but with md it is /O2.
2021-03-06minstall: Correctly set uid/gid of installed filesPeter Kjellerstedt1-1/+1
In commit caab4d3d, the uid and gid arguments passed to os.chown() by set_chown() were accidentally swapped, causing files to end up with incorrect owner/group if the owner and group are not the same. Also update the documentation to better indicate which argument to install_mode is which. Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
2021-03-06Refactor subdir visitation to track files instead of dirs.Jussi Pakkanen2-9/+11
2021-03-06Fix Fortran dep scanner for upper case file extensions. Closes #8395.Jussi Pakkanen1-1/+1
2021-03-05Port CUDA module to new API.Olexa Bilaniuk1-11/+23
2021-03-04compilers: Use EnvironmentException not EnvironmentError/OSErrorDylan Baker1-8/+8
The latter is a python built-in exception, the former is a meson exception.
2021-03-04mass rewrite of string formatting to use f-strings everywhereEli Schwartz84-730/+730
performed by running "pyupgrade --py36-plus" and committing the results
2021-03-04various python neatness cleanupsEli Schwartz26-91/+91
All changes were created by running "pyupgrade --py3-only --keep-percent-format" and committing the results. I have not touched string formatting for now. - use set literals - simplify .format() parameter naming - remove __future__ - remove default "r" mode for open() - use OSError rather than compatibility aliases - remove stray parentheses in function(generator) scopes
2021-03-04raw string literals are next to godlinessEli Schwartz3-5/+5
Invalid escape sequences are deprecated and will be removed from a future version of python. Use r"" to define them so they remain readable.
2021-03-04mintro: include the correct target filenames for flat layoutPaolo Bonzini1-2/+10
Fixes: #8408
2021-03-04mintro: fix flake8 issuesPaolo Bonzini1-1/+1
2021-03-04Simplify module APIXavier Claessens5-103/+85
- ModuleState is now a real class that will have methods in the future for actions modules needs, instead of using interpreter internal API. - New ModuleObject base class, similar to InterpreterObject, that should be used by all objects returned by modules. Its methods gets the ModuleState passed as first argument. It has a `methods` dictionary to define what is public API that can be called from build definition. - Method return value is not required to be a ModuleReturnValue any more, it can be any type that interpreter can holderify, including ModuleObject. - Legacy module API is maintained until we port all modules. In the future modules should be updated: - Use methods dict. - Remove snippets. - Custom objects returned by modules should all be subclass of ModuleObject to get the state iface in their methods. - Modules should never call into interpreter directly and instead state object should have wrapper API. - Stop using ModuleReturnValue in methods that just return simple objects like strings. Possibly remove ModuleReturnValue completely since all objects that needs to be processed by interpreter (e.g. CustomTarget) should be created through ModuleState API.
2021-03-04interpreter: Fix process_new_values()Xavier Claessens1-7/+3
It should recurse on lists and does not need to return a value.
2021-03-04build: Fix backend typeXavier Claessens1-1/+2
2021-03-03pkgconfig: Add missing permitted kwargsXavier Claessens1-1/+1
Fixes #8462
2021-03-03Windows Subsystem for Linux can run .exe without mono interpreterXavier Claessens2-1/+4
Fixes: #8445
2021-03-02wrap: sha256 digest is not case sensitiveXavier Claessens1-2/+2
Fixes: #8450.
2021-03-02fix missing versions with generated sourceRemi Thebault1-0/+6
2021-03-02exernal_project: Fix default cross compile parametersLeif Middelschulte1-1/+1
The variable `{host}` cannot be successfully expanded. Using the `@HOST@` parameter, as suggested by the documentation, works.
2021-03-02mtest: create separate runners for multiple repeatsPaolo Bonzini1-18/+21
Reusing the runners for multiple repeats of the test run gets in the way of the progress report, which stores runners in an OrderedSet. Instead, create a separate SingleTestRunner object for each repeat. While at it, fix the "duplicate suite" assertion as it can fire with TAP tests and --repeat=N. Fixes: #8405
2021-03-01D add build dir to -J switchRemi Thebault1-2/+6
2021-02-27install_man locale supportJason Woodward4-6/+22
Rather than having to manually build the locale aware man paths with `install_data('foo.fr.1', install_dir: join_paths(get_option('mandir'), 'fr', 'man1'), rename: 'foo.1')` Support doing `install_man('foo.fr.1', locale: 'fr')`
2021-02-26pkg-config: dump all PKG_CONFIG environment variables to simplify debuggingJeff Moguillansky1-2/+4
With this change, all the system's built-in pkg-config environment variables are outputted as well, to simplify debugging.
2021-02-26Merge pull request #8429 from dcbaker/submit/rust-fix-linking-with-find-libraryDylan Baker1-2/+2
rust: correctly handle -l link args
2021-02-26interpreter: Clean up and simplify/optimize get_(external|cross)_propertyDylan Baker1-39/+20
These are both way more compilcated than they needed to be, this is a much simpler implementation, and is shared between cross and external properies.
2021-02-26rust: a meson -l argument could be etiher a static or dynamic libraryDylan Baker1-2/+2
I made an incorrect assumption that -l arguments would always be static libraries, but they might well be shared libraries.
2021-02-26hdf5: get include directory from config-toolMichael Kuhn1-2/+5
hdf5's config-tools will not show compile arguments (including the include directory) if called without `-c`. Make sure to get both the compile and link arguments.
2021-02-26modules/fs: Use typed_pos_argsDylan Baker1-75/+40
2021-02-26interpreter: correctly track whether a subproject is initializedDylan Baker1-1/+5
The way the tracking is currently done it works if no new subprojects are added to a configured build directory. For cases where we want to add a new subproject, it fails because we don't initialize builtins for that subproject. This corrects that by checking to see if the subproject already exists, and if it doesn't initializes the bultins for it. Fixes: #8421
2021-02-26Allow printing UserOptions in the summaryStephen Gregoratto1-0/+3
2021-02-26meson: add .has_external_property() methodsTim-Philipp Müller1-0/+10
Useful in case of boolean values to distinguish between a boolean value having been set in the native/cross file and not having been provided, which can't be achieved by passing a fallback parameter to .get_external_property().
2021-02-25deprecated `meson.get_cross_property`Dylan Baker1-0/+1
It's a pure subset of `get_external_property`, and has odd behavior in host == build configurations. `get_external_property` is clear, and uses the standard `native : bool` syntax to control host vs build properties
2021-02-26Merge pull request #8404 from dcbaker/submit/rust-c-dependenciesJussi Pakkanen1-4/+18
Fix linking Rust with C dependencies
2021-02-25interpreter: stop using hasattr for held_objectDylan Baker1-10/+4
We have unholder or isinsatnce(ObjectHolder) for that
2021-02-25interpreter: Fix ObjectHolder usageDylan Baker1-48/+52