aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2020-02-17minstall: Fix check for when something was installedNirbheek Chauhan1-10/+11
If we preserve the existing file, we did not install anything. In that case, the output now looks like: ``` ninja: Entering directory `.' ninja: no work to do. Nothing to install. Preserved 1732 unchanged files, see meson-logs\install-log.txt for the full list ``` This also avoids an `isfile` lookup, which shaves off a few seconds in gst-build install.
2020-02-17minstall: Add new hidden argument --profile-selfNirbheek Chauhan1-1/+9
Same purpose as `meson setup`.
2020-02-17symbolextractor: Add typing hintsNirbheek Chauhan1-6/+7
2020-02-17symbolextractor: Support passing arguments to toolsNirbheek Chauhan1-8/+13
This is how we parse all env vars for tools in Meson. Do the same here too for consistency.
2020-02-17symbolextractor: Print a warning if required tools not foundNirbheek Chauhan1-26/+49
Also write out a dummy symbols file if the tool wasn't found or didn't work instead of just spewing an exception.
2020-02-17mdist: Use windows_proof_rmtree when deletingNirbheek Chauhan1-4/+4
2020-02-17mdist: Don't delete builddir on dist failureNirbheek Chauhan1-26/+31
Closes https://github.com/mesonbuild/meson/issues/1976
2020-02-17modules/python: Do not error out if positional args are passedNirbheek Chauhan2-3/+8
Also update the documentation. Fixes https://github.com/mesonbuild/meson/issues/6470
2020-02-17Merge pull request #6621 from jon-turney/project_tests_cleanupJussi Pakkanen3-49/+90
Various cleanups and documentation improvements for run_project_tests.py
2020-02-17version parsing: match only when version starts with a numberGerion Entrup2-2/+2
This leads to better version parsing. An concrete example use case is llc. When invoking llc with "--version", the output is ``` LLVM (http://llvm.org/): LLVM version 9.0.1 ... ``` The old version parsing recognizes the dot in the first line as version. This commit also tries to adapt the two regexes to each other. Reported-by: Björn Fiedler <fiedler@sra.uni-hannover.de>
2020-02-17base.py: remove trailing whitespaceGerion Entrup1-2/+2
2020-02-16symbolextractor: Correctly filter undefined symbols on macOSNirbheek Chauhan1-2/+4
-g is --extern-only and -P is --format=posix. We were missing --defined-only for some reason, which we pass to `nm` on Linux. This avoids having to manually filter later.
2020-02-16symbolextractor: Print one warning when no implementation foundNirbheek Chauhan2-7/+20
So people know why all their binaries are getting relinked. Do this only once per build-dir by writing a file to meson-private.
2020-02-16Popen_safe: Always re-setup the console colorsNirbheek Chauhan1-4/+9
2020-02-16Split console colourization into a separate functionNirbheek Chauhan2-9/+10
Use it instead of making a direct call to mlog._windows_ansi().
2020-02-16mesonlib: Set stdin to DEVNULL for all programs run by usNirbheek Chauhan1-0/+4
Otherwise there's a high likelihood that some program run by us will mess up the console settings and break ANSI colors. F.ex., running `uname` in the Visual Studio 2019 x86 developer prompt using `run_command()` does this.
2020-02-15msvc: add prefix to build type argumentsDmitry Kozlyuk1-0/+3
2020-02-15cmake: Fix crash when no C++ compiler is not installed (fixes #6559)Daniel Mensinger1-46/+50
2020-02-14docs: Update documentation about linker selectionNirbheek Chauhan2-5/+23
We missed this in https://github.com/mesonbuild/meson/pull/6457
2020-02-13Remove unused no-installed-files test featureJon Turney2-5/+1
Looking at 45c8557d, the idea behind this seems to be that a test could conditionally indicate that the list of installed files should not be validated by creating that file. It's no longer used anywhere. Also remove a lingering no-install-files file which isn't used since commit c693bd9b.
2020-02-13Document some more details of how project tests workJon Turney1-8/+29
2020-02-13Refactor TestResult object initializationJon Turney1-36/+60
Just add or alter attributes of the TestResult object, rather than many, many invocations of the constructor with very similar arguments. Define helper methods for TestResult to add the results of a step and set the failure reason.
2020-02-12Add unity block size option.Jussi Pakkanen5-17/+46
2020-02-12Refactor UserIntegerOption to work with BuiltinOption.Jussi Pakkanen2-8/+8
2020-02-12cmake: Add support for the new JSON trace formatDaniel Mensinger2-15/+43
2020-02-12Add a test of new warning of omitted native: keywordJon Turney1-0/+2
2020-02-12Improve error reported when language has no compilerJon Turney3-3/+24
This gives consistent reporting of this error for all platforms. Also, reporting this error when constructing the BuildTarget, rather than discovering the problem during backend generation means that the error is reported against with a location.
2020-02-12Add test of target source without languageJon Turney2-0/+5
Add a test that trying to use a compiler in a target for a language which hasn't been mentioned in project() or add_languages() gives an error.
2020-02-12Add a test that using an unavailable native compiler errorsJon Turney2-0/+15
Add a test that trying to use a native compiler in a target after it's been tentatively added with add_languages() without native: but isn't actually available gives an error.
2020-02-12Refine behaviour of add_languages() when native: is missingJon Turney3-7/+26
This improves the common case of a simple meson.build which doesn't contain any 'native: true' targets to not require a native compiler when cross-compiling, without needing any changes in the meson.build. v2: Do it the right way around!
2020-02-12unit tests: Ensure that --profile-self keeps workingNirbheek Chauhan1-2/+3
2020-02-12meson: unbreak --profile-selfMarcel Hollerbach1-1/+1
This broke in 668610c0d2b0f3a66d96022eb57afe5b09c3a2b7.
2020-02-11tests: Make the cups test more robustDaniel Mensinger1-5/+5
2020-02-11ci: Add Fedora and OpenSUSE imagesDaniel Mensinger6-0/+106
2020-02-11configure_file: Also copy timestamps to avoid useless rebuildsNirbheek Chauhan2-4/+10
If we always copy files over without timestamps, we're forcing a (probably unnecessary) rebuild. Also include a test for this.
2020-02-11minstall: Make --only-changed less verboseNirbheek Chauhan1-1/+5
When `--only-changed` is passed, we only want to know about files that were newly-installed. Everything else is noise. The full list can always be found in `install-log.txt` anyway. Sample output: ``` ninja: Entering directory `.' ninja: no work to do. Preserved 667 unchanged files, see meson-logs\install-log.txt for the full list ```
2020-02-10test cases/python3/3 cython: fix dependency filesGerion Entrup1-0/+1
The Cython generation depends on cstorer.pxd as well, so add that as dependency.
2020-02-10Exclude .hg* from dist tarballsRichard Laager1-1/+10
Debian's lintian checker complaints when upstream tarballs contain an .hgtags file. This excludes ".hg[a-z]*". This is mostly consistent with the git handling in del_gitfiles() which deletes .git*. hg archive --help shows an example of -X ".hg*". However, instead of ".hg*", I have used ".hg[a-z]*" to keep the automatically added hg_archival.txt. This file may be useful to link the tarball to the Mercurial revision for either manual inspection or in case any code interprets it for a --version or similar. This also excludes .hgignore and other things like .hgflow, which seems desirable. Fixes #6575
2020-02-09Remove vs2015 jobs as Azure will stop supporting it.Jussi Pakkanen2-40/+5
2020-02-09Add add_languages(native:)Jon Turney4-15/+38
v2: Retain not using logical-and, to avoid short-circuiting side-effects of add_languages()
2020-02-07Merge pull request #6421 from dcbaker/zlib-system-depJussi Pakkanen5-1/+97
Add a "system" dependency for zlib
2020-02-07run_project_tests: Fix it to actually workDylan Baker1-5/+10
This move the sorting logic into the TestDef class itself, which simplifies sorting them. Additionally it remove overcomplicated sort logic, because python strings are compared character by character, we don't need to do the split and cast to int, we know that realistically a maximum of 4 characters (the first 4 numbers) are going to be compared in most cases.
2020-02-06Make 'default_library' per-subproject builtin optionXavier Claessens11-26/+117
Currently it's just like if all builtin/base/compiler options are yielding. This patch makes possible to have non-yielding builtin options. The value in is overriden in this order: - Value from parent project - Value from subproject's default_options if set - Value from subproject() default_options if set - Value from command line if set
2020-02-06backends: Remove unused methodXavier Claessens1-4/+0
2020-02-06topbar HTML module listMichael Hirsch, Ph.D1-21/+27
2020-02-06html fs-module linkMichael Hirsch, Ph.D1-1/+2
2020-02-06add FeatureNewMichael Hirsch, Ph.D2-1/+14
2020-02-06add fs.stem()Michael Hirsch, Ph.D3-2/+33
2020-02-06doc: filesystem moduleMichael Hirsch, Ph.D1-4/+8
2020-02-06fs: add expanduser methodMichael Hirsch, Ph.D3-5/+28
this should help users specify leading `~` in various Meson options and variables without refactoring lots of places inside Meson itself.