aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2021-04-01environment: get environment variables for both host and build machinesDylan Baker2-14/+17
Fixes #8605
2021-04-01unittests: extend machine file override tests for CFLAGS (and friends)Dylan Baker1-5/+10
They behave slightly differently than other env vars, so have a test for them as well.
2021-03-30Split environment variable and command line cflagsDylan Baker4-7/+60
They are supposed to have different behavior. The environment variables apply to both the compiler and linker when the compiler acts as a linker, but the command line ones do not. Fixes #8345
2021-03-30scripts/meson_exe: fix stdout and stderr decodingAleksandr Mezin1-2/+4
1. use `locale.getpreferredencoding()` to get encoding name. `bytes.decode()` assumes `encoding='utf-8'` by default. It is incorrect on my Windows setup, and causes `UnicodeDecodeError`. 2. use `errors='replace'`. `bytes.decode()` assumes `errors='strict'` by default. Meson shouldn't crash if subprocess outputs some garbage that can't be decoded. `surrogateescape` doesn't work as expected on Windows. On Linux, default `errors` for `sys.stdout` is `strict`, so `surrogateescape` can't be used there too (at least until `sys.stdout` is reconfigured). Fixes https://github.com/mesonbuild/meson/issues/8480
2021-03-30docs: change duplicate "**.h" path to "**.c" [skip ci]Guilherme Janczak1-1/+1
2021-03-29Do not add custom target dir automatically when implicit false.Jussi Pakkanen9-4/+79
2021-03-29wrap: Tell which wrap-redirect file is missingSeungha Yang1-1/+1
Otherwise user cannot understand which wrap file is missing or wrong
2021-03-28msubprojects: wrap-file should be re-extracted with --resetXavier Claessens3-20/+35
When using --reset we should guarantee that next reconfigure will pick the latest code. For wrap-file we have no way to know if the revision changed, so we have to delete the source tree and extract again. It is unlikely that user has local changes in non-git subprojects, and --reset is known to be dangerous.
2021-03-28coredata: Fix dependency cacheDylan Baker1-1/+1
The host cache had BUILD, which is wrong.
2021-03-28Merge pull request #8596 from mesonbuild/cudafix0572Jussi Pakkanen3-17/+83
Fixed version of #8527
2021-03-28docs: Provide working instructions for scan-build [skip ci]Patryk Obara1-3/+17
Replace `meson compile scan-build` with `ninja -C dir scan-build`, because scan-build target does not work with `meson compile`. Note about SCANBUILD env variable was not precise enough to describe how to pass arguments to scan-build - provide an example to make it clear. Fixes: #7644.
2021-03-28Strip host-compiler -std flag from NVCC line.cudafix0572Olexa Bilaniuk3-1/+36
Closes #8523.
2021-03-28Retract "DQSQ" merging in NVCC arguments handling.Olexa Bilaniuk1-15/+0
No coverage, no tests, unreadable, unused, likely premature optimization.
2021-03-28Canonicalize and merge consecutive -Xcompiler flags together.Olexa Bilaniuk1-1/+47
Makes command-line more readable.
2021-03-27Added some wrap review docs. [skip ci]Jussi Pakkanen2-1/+39
2021-03-26pkgconfig: Allow setting prefix in dataonly pc fileXavier Claessens3-3/+11
Some variables are reserved because meson set them automatically. But we are not setting them for dataonly pc files, so there is no reason to reserve them. Fixes: #8583.
2021-03-26backends: Remove @PRIVATE_OUTDIR_(ABS)@ substitutionXavier Claessens1-12/+0
It is not documented and does not seems to be used anywhere.
2021-03-26Remove ConfigureFile and ConfigureFileHolderXavier Claessens2-42/+5
They are not used anywhere.
2021-03-26modules/external_project: use typed_pos_argsDylan Baker1-9/+5
2021-03-26windows_proof_rmtree: Also retry os.chmod() partXavier Claessens1-2/+9
It looks like when Windows media scanner holds files we can't change their permission neither.
2021-03-25docs: correct log upload paths.Diego Elio Pettenò1-3/+3
SInce the build directory is `builddir/` it should be `builddir/meson-logs/testlog.txt` to be uploaded.
2021-03-24Merge pull request #8568 from dcbaker/submit/qt-dependency-factoryJussi Pakkanen11-459/+564
QT: use a proper dependency factory
2021-03-24Use find_program also in add_*_script for consistency.Jussi Pakkanen1-18/+2
2021-03-24Use find_program also in custom_target for consistency.Jussi Pakkanen1-0/+3
2021-03-24Merge pull request #8571 from xclaesse/spurious-warningJussi Pakkanen5-36/+88
Fix spurious sandbox violation warning
2021-03-24depfixer: temporarily modify file permissionsHemmo Nieminen1-8/+33
If the installed files don't have suitable file permissions depfixer will fail to process it. Temporarily lax file permissions to work around this.
2021-03-24compilers: clang-cl: Also accept .s files (#8520)D Scott Phillips6-5/+32
* compilers: clang-cl: Also accept .s files clang-cl has support for gas-compatible assembly files. * Add clang-cl to '128 generated assembly' test
2021-03-23run_project_tests: add annotationsDylan Baker1-1/+1
2021-03-23run_single_test: Handle MESON_SKIP_TEST correctlyDylan Baker1-3/+3
2021-03-23deprecated QMAKE dependency typeDylan Baker1-1/+4
Instead of using qmake, use config-tool. This is no different than when we deprecated the other per-dependency config-tool types (sdl2-config, llvm-config, etc) for just config-tool
2021-03-23Refactor Qt Dependency into proper split classes with factoriesDylan Baker7-161/+202
Currently the Qt Dependencies still use the old "combined" method for dependencies with multiple ways to be found. This is problematic as it means that `get_variable()` and friends don't work, as the dependency can't implement any of those methods. The correct solution is to make use of multiple Dependency instances, and a factory to tie them together. This does that. To handle QMake, I've leveraged the existing config-tool mechanism, which allows us to save a good deal of code, and use well tested code instead of rolling more of our own code. The one thing this doesn't do, but we probably should, is expose the macOS ExtraFrameworks directly, instead of forcing them to be found through QMake. That is a problem for another series, and someone who cares more about macOS than I do.
2021-03-23run_project_tests.py: Allow qt tests to skip on !macOSDylan Baker1-8/+11
We don't always have qmake installed (and it's good to test failure paths too!) so we can't expect this to succeed in all cases. With the following commit we'll use a test.json to test both pkg-config and qmake, so we need to be able to skip.
2021-03-23interpreter: Fix spurious warning in include_directories()Xavier Claessens4-3/+11
When doing include_directories('.') at the root of the subproject we should not warn about sandboxing violation.
2021-03-23test.json: Add support for not matching stdout linesXavier Claessens1-20/+53
By default expected line must be matched in order. When an expected line is matched it does not matter if it's matched again later or not. When defining "count", it means that line must be matched exactly that many times before matching the next expected line. Once all occurences have been matched for an expected line, it not must appear any more in all next lines.
2021-03-23run_project_tests.py: Allow "--only common/240" syntaxXavier Claessens1-13/+24
2021-03-23devenv: Set GI_TYPELIB_PATH and LD_LIBRARY_PATH (#8548)Xavier Claessens4-9/+46
2021-03-23environment(): Allow stacking append() and prepend() (#8547)Xavier Claessens9-43/+48
* environment(): Allow stacking append() and prepend() * Update docs/markdown/Reference-manual.md Co-authored-by: Elliott Sales de Andrade <quantum.analyst@gmail.com> Co-authored-by: Elliott Sales de Andrade <quantum.analyst@gmail.com>
2021-03-23Merge pull request #7491 from xclaesse/callstackJussi Pakkanen3-19/+27
RFC: logs: Prepend current subproject name to all messages
2021-03-23Remove -pipe from default list of args. Closes #8508.Jussi Pakkanen4-10/+11
2021-03-22mlog: Do not print 'subproject|' for the message 'Executing subproject'Xavier Claessens2-10/+9
It already contains the full callstack and it's more visible when it's standing on its own line.
2021-03-22interpreter: Do not print "method meson"Xavier Claessens1-1/+5
2021-03-22mlog: Do not print 'subproject|' on empty linesXavier Claessens1-1/+5
2021-03-22mlog: Add a space after 'subproject|'Xavier Claessens2-4/+4
2021-03-22logs: Prepend current subproject name to all messagesXavier Claessens2-12/+13
Meson used to prepend '|' for each nested subproject to distinguish in the logs where a subproject start and ends. It is more useful to print the current subproject name. Also print the call stack when starting a new subproject to better see which subproject chain leads to to.
2021-03-22qt: move compilers_detect to the qt moduleDylan Baker2-55/+60
It's a method on the QtDependeny that exists purely for the consumption of the qt module (in the form, return some stuff the module makes into an instance variable). So put it where it actually belongs, and pass the qt dependency into it.
2021-03-22dependencies/qt: Split _get_modules_lib_suffix out of the classDylan Baker1-29/+32
As we break these classes up we're going to need this.
2021-03-22dependencies/base: Use FeatureDeprecated instead of mlog.warningDylan Baker1-4/+2
This code is really old, and it might be fine to delete this altogether, but for now lets do this.
2021-03-22dependencies/qt: split get_qmake_host_bins into a free functionDylan Baker1-10/+11
It's static anyway, and never overwritten.
2021-03-22dependencies/base: Use Compiler instead of CompilerTypeDylan Baker1-2/+2
Since Compiler is actually useful now as a base class, unlike when this code was written.
2021-03-22dependencies/qt: Add type annotationsDylan Baker2-50/+72
And fix some style and correctness issues