aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2018-06-01Merge pull request #3486 from Salamandar/salamandar/meson_version_introspectionJussi Pakkanen14-6/+276
Add FeatureNew and FeatureDeprecated, to alert the user of bad meson_version
2018-06-01Set the meson command to use when we know what it isNirbheek Chauhan9-127/+297
Instead of using fragile guessing to figure out how to invoke meson, set the value when meson is run. Also rework how we pass of meson_script_launcher to regenchecker.py -- it wasn't even being used With this change, we only need to guess the meson path when running the tests, and in that case: 1. If MESON_EXE is set in the env, we know how to run meson for project tests. 2. MESON_EXE is not set, which means we run the configure in-process for project tests and need to guess what meson to run, so either - meson.py is found next to run_tests.py, or - meson, meson.py, or meson.exe is in PATH Otherwise, you can invoke meson in the following ways: 1. meson is installed, and mesonbuild is available in PYTHONPATH: - meson, meson.py, meson.exe from PATH - python3 -m mesonbuild.mesonmain - python3 /path/to/meson.py - meson is a shell wrapper to meson.real 2. meson is not installed, and is run from git: - Absolute path to meson.py - Relative path to meson.py - Symlink to meson.py All these are tested in test_meson_commands.py, except meson.exe since that involves building the meson msi and installing it.
2018-06-01configure_file: Add output_format kwarg (#3636)Mathieu Duponchelle7-11/+129
* configure_file: Add output_format kwarg * docs: Reference-manual.md output_format was added in 0.47 [skip ci]
2018-06-01[skip ci] docs: cross reference tables from manual (#3656)Dylan Baker1-10/+8
* docs/reference-manual: link to references tables Currently the reference manual entries for *machine.cpu_family() and *machine.system() have incomplete (and wrong) information. Rather than continue to duplicate this information just link to the reference tables. * docs/Reference-manual: fix link target The IDs in hotdoc are always lowered, so this pointed to the right page, but didn't go to the heading. * docs/Reference-manual: link compiler.get_id directly to tables Currently it goes round about to an entry that doesn't add much information and points to the reference table. Instead just point to the reference table.
2018-06-01Add 0.47.0 featuresSalamandar2-0/+4
2018-06-01Add 0.46.0 featuresSalamandar5-2/+23
2018-06-01Add 0.45.0 featuresSalamandar3-0/+8
2018-06-01Add 0.44.0 featuresSalamandar3-1/+8
2018-06-01Add 0.43.0 featuresSalamandar2-0/+2
2018-06-01Add 0.42.0 featuresSalamandar7-0/+16
2018-06-01Add 0.41.0 featuresSalamandar3-1/+8
2018-06-01Add 0.40.0 featuresSalamandar4-1/+15
2018-06-01Add 0.38.0 featuresSalamandar1-0/+5
2018-06-01Add 0.37.0 featuresSalamandar3-3/+8
2018-06-01print features reports after runSalamandar1-0/+2
2018-06-01Add Feature{New,Deprecated}Kwargs decoratorsSalamandar1-0/+30
2018-06-01Move target_version from coredata to mesonlibSalamandar4-5/+5
2018-06-01Add set instead of list for used features litsSalamandar1-4/+4
2018-06-01Cleanup : have more common code between FeatureNew and FeatureDeprecatedSalamandar1-18/+22
2018-06-01Split function wrapper from a use() methodSalamandar1-17/+22
2018-06-01Add version_compare_condition_with_{min,max} for specific comparison utils.Salamandar3-4/+125
Split FeatureNew and FeatureDeprecated Implement features report to be printed in some 'dev mode'
2018-06-01Add basic code for feature version detection:Salamandar3-0/+19
* store target version * Add empty method decorator
2018-06-01docs: Update cpu families (#3651) [skip ci]Dylan Baker1-1/+7
Add several archs to the CPU family table ppc64, ppc64le, Itanium,HP PA-RISC, sparc v9 (64 bit) This covers most of the sparc systems in use today.
2018-06-01Revert "commandrunner: make run handle python options"Filipe Brandenburger1-21/+3
This reverts commit ab599b5733539130db5c4d17c664744f4d5aacaf.
2018-05-31Mention private_headers keyword in Qt dependency documentation [skip ci]Jon Turney2-11/+16
Also, put discussion of Qt dependencies *before* the example in the Qt5 module documentation.
2018-05-31Improve dependency() documentation [skip ci]Jon Turney1-6/+8
Mention that the dependency name will also be searched for as a framework on OSX. Note that additional dependency-specific keywords may be used by custom dependency lookup.
2018-05-31Document OpenMP dependency [skip ci]Jon Turney1-0/+14
PR #1852 only adds mention of this to the release note. I think it's useful to have a list of all dependency names which are treated specifically in Dependency.md, so add 'thread' and 'openmp'.
2018-05-31Revert "mesonlib: handle meson exe wrappers"Nirbheek Chauhan7-41/+64
This reverts commit 0627e9d616dc311b7c9b0ef17301f680ac9e78a7. Breaks installation: https://github.com/mesonbuild/meson/issues/3647 Will be restored once that can be fixed.
2018-05-30Merge pull request #3643 from mesonbuild/nirbheek/check_headerJussi Pakkanen7-3/+109
New compiler method: check_header
2018-05-30Don't accept an empty string for name_suffix:Nirbheek Chauhan1-0/+4
This is never going to be useful, and the error message now points people to what they might be expecting: use the default value for this platform.
2018-05-30mesonlib: handle meson exe wrappersMartin Kelly7-64/+41
There are cases when it is useful to wrap the main meson executable with a script that sets up environment variables, passes --cross-file, etc. For example, in a Yocto SDK, we need to point to the right meson.cross so that everything "just works", and we need to alter CC, CXX, etc. In such cases, it can happen that the "meson" found in the path is actually a wrapper script that invokes the real meson, which may be in another location (e.g. "meson.real" or similar). Currently, in such a situation, meson gets confused because it tries to invoke itself using the "meson" executable (which points to the wrapper script) instead of the actual meson (which may be called "meson.real" or similar). In fact, the wrapper script is not necessarily even Python, so the whole thing fails. Fix this by using Python imports to directly find mesonmain.py instead of trying to detect it heuristically. In addition to fixing the wrapper issue, this should make the detection logic much more robust.
2018-05-30commandrunner: make run handle python optionsMartin Kelly1-3/+21
Currently, commandrunner breaks when we give options to python because it assumes python commands are in the form "python script.py", rather than "python -u script.py" or "python -u -m module script.py". Extend it to be more resilient and correctly parse python options.
2018-05-30make ExternalProgram get_path() a bit smarterMartin Kelly1-5/+12
Currently, ExternalProgram get_path() assumes the last component in the path is always the actual command path. However, this is not always right. For example, in the command "python -u", we should return "python" and not "-u". However, in other cases, like "python script.py", then the last component is the right one. The heuristic that seems to capture this is to use the last argument that is still a file. This means options get ignored, but "python script.py" still works. Let's use this heuristic, at least for now.
2018-05-30run_unittests: typo fixMartin Kelly1-1/+1
2018-05-30Add check_header to Reference manual and release notes [skip ci]Nirbheek Chauhan2-3/+25
2018-05-30New compiler method: check_headerNirbheek Chauhan5-0/+84
This checks not only for existence, but also for usability of the header, which means it does a full compilation and not just pre-processing or __has_include. Fixes https://github.com/mesonbuild/meson/issues/2246
2018-05-30Document how to set the default name_prefix and name_suffix [skip ci]Nirbheek Chauhan1-1/+4
Else people (like me) try to use the old behaviour where setting it to `''` would use the default. https://gitlab.gnome.org/GNOME/glib-networking/issues/33
2018-05-29Don't raise StopIteration in generators, no longer allowed with Python 3.7. ↵Christoph Reiter1-1/+1
Fixes #3622 Raising StopIteration from a generator has been deprecated with Python 3.5 and is now an error with Python 3.7: https://docs.python.org/3.8/library/exceptions.html#StopIteration Just use return instead.
2018-05-29Don't call getpgid() when killing a test.George Koehler1-1/+2
OpenBSD's getpgid(2) fails with EPERM (PermissionError) because the test is in a different session: https://man.openbsd.org/getpgid Use p.pid as the process group ID, because setsid() created a process group with the same ID as the process. See setsid(2) manuals: - FreeBSD: https://www.freebsd.org/cgi/man.cgi?query=setsid - illumos: https://illumos.org/man/setsid - Linux: http://man7.org/linux/man-pages/man2/setsid.2.html This change fixes 'manual tests/8 timeout' on OpenBSD. To verify this change, one must run the manual test. For example, $ cd 'manual tests/8 timeout' $ meson build $ ninja -C build test It should report that the test timed out, and not show PermissionError. Fixes https://github.com/mesonbuild/meson/issues/3569
2018-05-27Merge pull request #3491 from jeandet/qt_private_headersJussi Pakkanen6-10/+80
Qt private headers
2018-05-27Make install doc less surprising for new users [skip ci]Michael Mera1-0/+3
2018-05-27[Qt module] private_headers kwarg documentation reformulationAlexis Jeandet1-2/+2
Signed-off-by: Alexis Jeandet <alexis.jeandet@member.fsf.org>
2018-05-25Mark even empty confs used appropriately.Jussi Pakkanen3-0/+1
2018-05-24Merge pull request #3578 from MathieuDuponchelle/mkenums_gen_templatesJussi Pakkanen2-2/+33
gnome/mkenums: allow passing generated files as templates
2018-05-24Merge pull request #3476 from filbranden/intbase1Jussi Pakkanen5-6/+36
Add support for octal and binary int literals
2018-05-24Typos are fun. [skip ci]Jussi Pakkanen1-1/+1
2018-05-24Clarify that configuration_data()'s copy is immutableAleksey Filippov3-0/+13
2018-05-24backends: Also accept dylibs while finding RPATHsNirbheek Chauhan1-1/+3
2018-05-24backends: Simplify loop getting rpaths for bundled libsNirbheek Chauhan1-17/+19
No functionality changes
2018-05-24backends: Use a set while gathering RPATHsNirbheek Chauhan1-8/+4