aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2021-03-05Fix Fortran dep scanner for upper case file extensions. Closes #8395.fortrancaseJussi Pakkanen3-2/+3
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-04use python2-compatible syntax because needed on macOSEli Schwartz1-2/+2
Apparently this unittest runs on macOS using the system python2.
2021-03-04mass rewrite of string formatting to use f-strings everywhereEli Schwartz109-917/+917
performed by running "pyupgrade --py36-plus" and committing the results
2021-03-04various python neatness cleanupsEli Schwartz45-140/+134
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 Schwartz4-6/+6
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-04Fix release notes typo [skip ci]Michael Brockus1-1/+1
2021-03-04ci: Downgrade Qt on MacOS from Qt6 to Qt5Daniel Mensinger1-4/+6
2021-03-04docs: Clarify compiler.cmd_array() (#8454)Chris Mayo1-2/+1
Make it easier to understand that this array contains the compiler command, not arguments to it, and may only have one element.
2021-03-04Improved a paragraph [skip ci]Amr Ojjeh1-3/+3
Made it easier to understand
2021-03-04mintro: include the correct target filenames for flat layoutPaolo Bonzini2-2/+23
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-01docs/faq: Add a section on user defined functions and macros [skip ci]Dylan Baker1-1/+78
Fixes #3234
2021-03-02mtest: create separate runners for multiple repeatsPaolo Bonzini2-18/+27
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-28Require Windows 10 or newer for the MSI package. [skip ci]Jussi Pakkanen1-0/+12
2021-02-28Add filecmp to list of bundled modules. Closes #8431. [skip ci]Jussi Pakkanen1-0/+1
2021-02-28Remove remnants of 32 bit support. [skip ci]Jussi Pakkanen1-8/+4
2021-02-27Merge pull request #8389 from dcbaker/submit/single-test-runnerJussi Pakkanen4-129/+244
Add a script to run a single meson functional test case (with test.json support)
2021-02-27install_man locale supportJason Woodward9-6/+39
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 Baker6-2/+55
rust: correctly handle -l link args
2021-02-26interpreter: Clean up and simplify/optimize get_(external|cross)_propertyDylan Baker7-47/+38
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-26tests/rust: Add rust case linking to libm in rust static libraryJordan Justen5-0/+53
When building on Linux, I see: rustc -C linker=cc --color=always --crate-type rlib --crate-name rs_math -g --emit dep-info=rs_math.d --emit link -L /usr/lib/x86_64-linux-gnu -o librs_math.rlib -l static=m ../rs_math.rs error: failed to add native library /usr/lib/x86_64-linux-gnu/libm.a: file too small to be an archive I think the "file too small to be an archive" message is coming from libLLVM, and is a case of LLVM not handling this type of "script archive". So, possibly this is just LLVM not handling a linking case. The rust_args usage in meson.build is invalid, but required to reproduce the issue in the test case. Perhaps meson should automatically add the library include path via the dep_m meson object, or maybe the meson.build can add the link path in a better way. Changing '-l static=m' to '-l dylib=m' appears to fix this case. (See comments in meson.build.)
2021-02-26modules/fs: Use typed_pos_argsDylan Baker1-75/+40
2021-02-26interpreter: correctly track whether a subproject is initializedDylan Baker6-1/+35
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 Gregoratto6-0/+10
2021-02-26meson: add .has_external_property() methodsTim-Philipp Müller5-2/+51
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-26Add Rizin to the list of meson usersRiccardo Schirone1-0/+1
2021-02-25deprecated `meson.get_cross_property`Dylan Baker4-4/+10
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 Pakkanen6-4/+80
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
2021-02-25interpreterbase: fix ObjectHolderDylan Baker1-3/+3
There are two problems: 1. It doesn't take the generic type as a parameter 2. it sets subpproject to None, but expects to always get a string
2021-02-25Support multiple args in error()Xavier Claessens4-23/+24
Seems it got forgotten when that was added to warnings() and message(). Fixes: #8414.
2021-02-25Allow custom target output to be processed by generatorsMatthias Klumpp6-23/+67
2021-02-25Clarify that wrap requests are for user submission. [skip ci]Jussi Pakkanen1-2/+9
2021-02-23mcompile: do not pass the builddir to ninja if it is the current directoryEli Schwartz1-1/+3
Because when you don't specify -C, this logging feels silly: ninja: Entering directory `.
2021-02-23mcompile: make sure arguments are passed in the correct orderEli Schwartz1-7/+8
meson compile itself doesn't permit GNU-style argument permutation, i.e. TARGET to precede options, so why should we expect ninja to? And indeed, ninja doesn't document support for this -- but it does accept it anyway, which is confusing and results in people thinking it's "supposed to" work. However, if NINJA=samu then this is in fact enforced. samu does not permit GNU-style argument permutation. As a result, the arguments passed to mcompile are actively re-ordered before being passed to the subprocess, and samu dies with a fatal error. Fix ordering in mcompile.py and add a comment to warn future readers that the order does, in fact, matter.