aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2019-12-12docs: Fix wrong example for shaderc dependency [skip ci]ePirat1-12/+12
The example is meant for wxWidgets not Shaderc.
2019-12-11Merge pull request #6207 from dcbaker/linker-optionJussi Pakkanen15-174/+334
Add a way to select the dynamic linker meson uses
2019-12-11dependencies: Fix executable file test on Unix.Jonathan Perkin1-1/+3
access(2) tests for X_OK that return true do not always guarantee that the file is executable. Instead check the stat(2) mode bits explicitly. This fixes any builds or installs executed as root on Solaris and illumos that contain non-executable scripts.
2019-12-10dist: Fix --include-subprojects when .wrap file has directory valueXavier Claessens2-15/+23
2019-12-10mintro: Add version key to --scan-dependencies (fixes #6287)Daniel Mensinger6-6/+31
2019-12-10dep: Try extraframework before cmake (fixes #6113)Daniel Mensinger1-1/+3
2019-12-10cmake: subprocess external .decode(errors='ignore') to avoid tracebackMichael Hirsch, Ph.D1-9/+14
mesonlib.Popen_safe() doesn't work with the case where undecodeable binary data comes back from CMake or compiler, so we use subprocess.run()
2019-12-10docs: explain cross-compilation names sooner [skip ci]Marc Herbert1-12/+22
Meson's documentation about cross-compilation made me finally understand why the typical confusion about machine names. Thanks, but let's make it even better. Don't wait until the very end of the section to reveal the most important information: that machine names are relative. For suspense we already have TV shows; spill the beans much earlier. Also fix the first, simplest cross-compilation example: target is irrelevant.
2019-12-10run_unittests: Disable pytest with python <= 3.5Xavier Claessens1-0/+2
It's causing issues in some CI runners, it looks like it could be that bug: https://github.com/pytest-dev/pytest-xdist/issues/204.
2019-12-10assert(): Make message argument optionalXavier Claessens4-7/+29
2019-12-09azure: Fix vs2015Daniel Mensinger2-10/+6
2019-12-09cmake test: skip case where Cmake backend not Fortran-compatibleMichael Hirsch, Ph.D1-1/+4
2019-12-09cmake: add project language to cmakelists.txtMichael Hirsch, Ph.D8-15/+101
cmake: get language from Meson project if not specified as depedency(..., langugage: ...) deps: add threads method:cmake dependency('threads', method: 'cmake') is useful for cmake unit tests or those who just want to find threads using cmake. cmake: project(... Fortran) generally also requires C language
2019-12-09cmake: add fortran cache contentMichael Hirsch, Ph.D1-15/+37
2019-12-09run_command: Do not add dependency on /dev/stdoutXavier Claessens1-1/+1
Blacklist /dev paths, this fix infinite reconfigure when /dev/stdout is redirected to a file. Fixes: #6315.
2019-12-08dist: Add --include-subprojects optionXavier Claessens3-10/+79
2019-12-07Add brief description of configuring Vala's preprocessor via the ↵Ken Gilmer1-0/+5
add_project_arguments() function. [skip ci]
2019-12-07Fix typing import bug.Jussi Pakkanen1-1/+1
2019-12-07types: Add type annotations to mintro.pyDaniel Mensinger2-121/+94
2019-12-07run_project_tests: argparse(choices) for --only name checkMichael Hirsch, Ph.D1-7/+15
2019-12-07Merge pull request #6228 from scivision/scalapackJussi Pakkanen12-44/+514
deps: add Scalapack
2019-12-07catch malformed command line array option with helpful errorMichael Hirsch, Ph.D1-1/+4
fixes #6291
2019-12-07type annoMichael Hirsch, Ph.D1-2/+2
2019-12-06Update Python2 syntax to Python3 syntax in genrelnotes.pyMichael Brockus1-16/+26
2019-12-06Update Python2 syntax to Python3 syntax in WrapMichael Brockus2-10/+10
2019-12-06Update Python2 syntax to Python3 syntax in ghwt.pyMichael Brockus2-7/+7
2019-12-06Merge pull request #6238 from scivision/wrap_secJussi Pakkanen13-50/+111
wrap: working to improve security
2019-12-06mtest: document default MALLOC_PERTURB_=1..255 behavior [skip ci]Michael Hirsch, Ph.D2-12/+35
This default behavior can have surprising and time-consuming outcomes. I was wondering why certain tests using several external, fixed libraries would fail only with Meson and not with CMake or manual runs. It turned out mtest.py enables MALLOC_PERTURB_ by default, which is surprising--a topic for another Issue/PR. At least, this surprising default is documented with workarounds.
2019-12-05wrap: check whitelist subdomainMichael Hirsch, Ph.D5-18/+58
wrap: add imposter URL test this test shows that meson wrap subsystem historically allows imposter URLs like https://wrapdb.mesonwrap.com.evil/v1/foo.zip while the new code does no.
2019-12-05rpm: update for host machine compiler API changeMichael Hirsch, Ph.D1-1/+1
2019-12-05wrap: raise WrapException instead of Python exception when program not availableMichael Hirsch, Ph.D1-23/+36
2019-12-05c/cpp: removed unused argsMichael Hirsch, Ph.D7-7/+7
2019-12-05use WrapDB domain whitelist, don't fallback to non-SSL when SSL availableMichael Hirsch, Ph.D1-12/+19
In my opinion, we should not fall back to http:// from the SSL HSTS WrapDB URL, **for systems that have Python SSL** as that is controverting the point of HSTS + SSL. For systems that do not have Python SSL, they continue to work with a colored mlog.warning instead of only a stderr console print. attempt to stop masquerade URLS containing wrapdb.mesonbuild.com.evil.stuff.com
2019-12-05doc: py35 deprecation commentsMichael Hirsch, Ph.D1-1/+2
2019-12-05docs/users: Add libglvnd [skip ci]Dylan Baker1-0/+1
2019-12-05find_program(): Add 'dirs' keyword argumentXavier Claessens6-17/+56
Fixes: #1576
2019-12-05interpreter: Remove useless checkXavier Claessens1-2/+0
extract_required_kwarg() above already ensure that required is always boolean at that point.
2019-12-05Partially revert "lgtm: fix Missing call to __init__ during object ↵Dylan Baker1-19/+16
initialization" This partially reverts commit fe853ee516e1e7b392753a6e8f1f0b9cad6fb54f. In particular this reverts the changes to the DynamicLinker __init__ methods. Frankly this is *bad* because it allows a mixin class (which should not be directly instantiated) to be directly instantiated, and complicates the init process. It also increases the amount of code for zero gain, and makes the code less resilient to refactors.
2019-12-05compilers: Rework the CompilerArgs to be less awfulDylan Baker2-77/+75
There are two awful things about CompilerArgs, one is that it directly inherits from list, and there are a lot of subtle gotcahs with inheriting from builtin types. The second is that the class allows arguments to be passed in whatever order. That's bad. This also fully annotates the CompilerArgs class, so mypy can type check it for us.
2019-12-05compilers: use import typing instead of from typing importDylan Baker1-44/+47
`from foo import` should be used sparingly because of namespace pollution, especially since those names will be exported unconditionally. For typing this is extra annoying because anytime someone wants to use another symbol from the typing module they have to add it to the import line. Use `import typing` to avoid all of this.
2019-12-05build: Fix type signature of rich comparison dundersDylan Baker1-4/+12
There are three problems: 1) Dunders like `__lt__` and `__gt__` don't return bool, they return either a bool or the NotImplemented singleton to signal that they don't know how to be compared. 2) The don't take type object, the take `typing.Any` 3) They need to return NotImplemented if the comparison is not implemented, this allows python to try the inverse dunder from the other object. If that object returns NotImplemented as well a TypeError is raised.
2019-12-05Fix 'meson subprojects foreach' when command returns non-zero exit codeAntonio Ospite1-4/+10
The 'output' field of the subprocess.CalledProcessError exception is valid only when subprocess.check_output() is called, trying to access it after calling subprocess.check_call() results in an unwanted exception when commands return non-zero exit code, e.g.: ----------------------------------------------------------------------- $ meson subprojects foreach false Executing command in ./subprojects/sqlite-amalgamation-3250100 -> Not downloaded yet Executing command in ./subprojects/gstreamer Traceback (most recent call last): File "/home/ao2/meson/meson/mesonbuild/msubprojects.py", line 177, in foreach subprocess.check_call([options.command] + options.args, cwd=repo_dir) File "/usr/lib/python3.7/subprocess.py", line 363, in check_call raise CalledProcessError(retcode, cmd) subprocess.CalledProcessError: Command '['false']' returned non-zero exit status 1. During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/ao2/meson/meson/mesonbuild/mesonmain.py", line 129, in run return options.run_func(options) File "/home/ao2/meson/meson/mesonbuild/msubprojects.py", line 248, in run options.subprojects_func(wrap, repo_dir, options) File "/home/ao2/meson/meson/mesonbuild/msubprojects.py", line 180, in foreach out = e.output.decode().strip() AttributeError: 'NoneType' object has no attribute 'decode' ----------------------------------------------------------------------- Use subprocess.check_output() instead and behave more like git commands in handling stderr. This makes it possible to actually run commands on all subprojects allowing them to fail on some subprojects and succeed on others. Also catch the case of missing commands and print an error message in this case as well.
2019-12-05Clean stray .o file that LDC creates during tests.Jussi Pakkanen1-0/+8
2019-12-05Update Users.mdAmit D1-0/+2
2019-12-05pytest: Fix test warningsDaniel Mensinger1-1/+4
2019-12-05lgtm: ignore Iterator does not return self from __iter__ methodDaniel Mensinger1-2/+8
2019-12-05lgtm: fix Incomplete orderingDaniel Mensinger1-9/+12
2019-12-05lgtm: fix __eq__ not overridden when adding attributesDaniel Mensinger1-0/+10
2019-12-05lgtm: fix Multiple calls to __init__Daniel Mensinger4-13/+11
Some slight refactoring for the dependency classes and I switched the elbrus compiler to the GnuLikeCompiler. This is also the correct use according to the documentation of GnuLikeCompiler.
2019-12-05lgtm: Actually supress the Non-standard exception warningDaniel Mensinger2-10/+10