Commit Graph

1268 Commits

Author SHA1 Message Date
Jussi Pakkanen c61f75adbf
Merge pull request #6818 from mensinda/localPatch
Wrap: add local files support via *_filename
2020-05-27 23:42:30 +03:00
Soapux 228fd24ca4
docs: Fix typo in Release notes [skip ci] 2020-05-27 19:51:39 +03:00
Daniel Mensinger c9cd235af4 opts: added docs 2020-05-26 13:48:26 -04:00
p01arst0rm 91db25ac85 fixed typo 2020-05-24 13:18:10 +02:00
Daniel Mensinger 550a450324
ast: Add docs for --ast 2020-05-23 18:20:12 +02:00
Dylan Baker 29ef4478df compilers/d: Add b_ndebug support
D lang compilers have an option -release (or similar) which turns off
asserts, contracts, and other runtime type checking. This patch wires
that up to the b_ndebug flag.

Fixes #7082
2020-05-20 14:20:26 -07:00
Dylan Baker af787874a8 pass exe_wrapper to test scripts through the environment
This adds a new MESON_EXE_WRAPPER environment variable containing the
string form of the exe_wrapper, if there is an exe_wrapper defined.

Fixes #4427
2020-05-18 13:53:58 -07:00
Jussi Pakkanen 751ea3df72
Merge pull request #7103 from dankegel/bug4027-rpath-remember
Let .pc files and LDFLAGS provide rpaths.
2020-05-18 23:17:34 +03:00
Dan Kegel ac8319add1 docs: add snippet documenting rpath behavior change 2020-05-16 20:51:37 +00:00
Dylan Baker 66f3ba9fd0 Docs: Make the suggested use for the not-found dependency better [skip ci] 2020-05-14 13:32:46 -07:00
Dylan Baker a63e36f7b1 interpreter: Rename has_exe_wrapper -> can_run_host_binaries
The implementation of this function has changed enough that the name
doesn't really reflect what it actually does. It basically returns true
unless you're cross compiling, need and exe_wrapper, and don't have one.

The original function remains but is marked as deprecated.

This makes one small change the meson source language, which is that it
defines that can_run_host_binaries will return true in build == host
compilation, which was the behavior that already existed. Previously
this was undefined in build == host compilation.
2020-05-14 11:04:51 -07:00
Dylan Baker 7ad8b5f221 docs: Add a Howto about the null dependency [skip ci] 2020-05-14 01:59:34 +03:00
Dylan Baker 85708facae
Merge pull request #6620 from jon-turney/test-output-check
Add a mechanism for validating meson output in tests
2020-05-13 11:32:28 -07:00
Xavier Claessens 245d659522 ConfigToolDependency: Don't fallback to system tool when cross compiling
The system tool is always the wrong thing to use and cause hard to debug
issues when trying to link system libraries with cross built binaries.

The ExternalDependency base class already had a method to deal with
this, used by PkgConfigDependency and QtBaseDependency, so it should
make things more consistent.
2020-05-11 18:02:37 -04:00
Jussi Pakkanen 630a003746 Add AVR to cpu families. Closes #7085. 2020-05-11 14:56:56 -07:00
Paolo Bonzini 7e15295018 rename unstable-kconfig to unstable-keyval
Discussions in #6524 have shown that there are various possible uses of the
kconfig module and even disagreements in the exact file format between
Python-based kconfiglib and the tools in Linux.  Instead of trying to
reconcile them, just rename the module to something less suggestive and
leave any policy to meson.build files.

In the future it may be possible to add some kind of parsing through
keyword arguments such as bool_true, quoted_strings, etc. and possibly
creation of key-value lists too.  For now, configuration_data objects
provide an easy way to access quoted strings.  Note that Kconfig stores
false as "absent" so it was already necessary to write "x.has_key('abc')"
rather than the more compact "x['abc']".  Therefore, having to use
configuration_data does not make things much more verbose.
2020-05-08 20:56:14 +03:00
Wenjian He a535ef6719 docs/Precompiled-headers: minor spell check. [skip ci]
a give target -> a given target
Proposed by #7081 .
2020-05-07 09:39:41 -07:00
Jussi Pakkanen 4ea7c6ee12
Merge pull request #7064 from dcbaker/gtest-protocol
Add support for Gtest as a test protocol
2020-05-06 23:57:44 +03:00
Dylan Baker dbe00dfe95 docs/unit-tests: Add information about output files 2020-05-04 11:33:19 -07:00
Dylan Baker bbbfccf0af docs: Reformat unit-tests to be ~80 characters per line 2020-05-04 11:33:19 -07:00
Dylan Baker 083c5f6357 Add native support for gtest tests
Gtest can output junit results with a command line switch. We can parse
this to get more detailed results than the returncode, and put those in
our own Junit output. We basically just throw away the top level
'testsuites' object, then fixup the names of the tests, and shove that
into our junit.
2020-05-04 11:33:19 -07:00
Jussi Pakkanen 9a6e79dc68
Merge pull request #7060 from dcbaker/install-script-targets
Allow meson.add_*_script to take additional types
2020-05-03 23:20:59 +03:00
Jussi Pakkanen f8a04f0f76
Merge pull request #6838 from dcbaker/link-language-in-libraries
Link language in libraries
2020-05-02 01:57:09 +03:00
Princeton Ferro 30c4a7744f docs/Users: add Vala Language Server
See https://github.com/benwaffle/vala-language-server
2020-05-01 21:37:14 +02:00
Flow-It a124624c0e
Document formal Meson grammar [skip ci]
* WIP: Document formal Meson grammar

* Various little fixes [skip ci]

1) Add missing logical_not_expr
2) 'in' and 'not in' are valid relational operators at least for dicts
3) dictionary keys can be expressions, but kwarg names cannot
4) typo logical_end_expression -> logical_and_expression
5) Make jump statements only allowed inside an iteration statement

* Rework EBNF style [skip ci]

As there is no good order for the productions, just go alphabetically.
The EBNF style was changed to match the one the Python lark project
uses, that is colons for productions and terminals enclosed in double
quotes.

* Add missing production for unary operators [skip ci]

* Add production for multiline strings [skip ci]

* Properly define terminal symbols [skip ci]

Depending on the EBNF flavor, regex can be used to describe the terminal
symbols. Lark allows this, and as it was mentioned as a possible user of
this grammar, let's follow its flavor here. Most regexes used are easily
human-readable, and we can always add comments to more complicated ones.

* Small changes to which expressions can be used where [skip ci]

Let the grammar be very general. The type system then has to check, that
the used expression really evaluates to the correct type. Even if we
know today that assignment expressions always evaluate to None (and can
therefore only be used as a toplevel expression in an expression
statement), this needn't be the case forever. So this way, the grammar
stays stable even if such changes were made.

* Rework function argument list production [skip ci]

* Be more verbose for production names [skip ci]

Rename expr -> expression, stmt -> statement, op -> operator, program ->
build_definition. Also adjust some list productions.

* Add paragraph about syntax stability promises [skip ci]
2020-05-01 22:02:17 +03:00
Jon Turney 1dee6c618d
Update test.json schema to add stdout
Update the test.json schema, adding the 'stdout' property.

Also amend the test.json schema so the presence of an unexpected
property on the root object causes a validation error.

v2:
Also add 'tools' property to json schema.
Amend the documentation not to use the word 'list' to describe a dict.
2020-04-30 20:49:43 +01:00
Jon Turney f867bfbce0
Add a mechanism for validating meson output in tests
Expected stdout lines must match lines from the actual stdout, in the
same order. Lines with match type 're' are regex matched.

v2:
Ignore comment lines in expected_stdout

v3:
Automatically adjust path separators for location in expected output

v4:
Put expected stdout in test.json, rather than a separate file
2020-04-30 20:41:29 +01:00
Dylan Baker 1bfeaadd6d Docs: Update link_language docs to explain when it should be used 2020-04-30 11:52:45 -07:00
Dylan Baker 81f35f1549 docs: Update documentation for add_*_script 2020-04-30 10:01:14 -07:00
Jussi Pakkanen 6e794c380b
Merge pull request #6911 from mensinda/ciBionic
ci: Add Ubuntu Bionic image
2020-04-29 18:23:23 +03:00
Brendan Simon 1cf7f40e85
Meson Cmake Wrapper unmaintained [skip ci]
The Meson CMake Wrapper project is currently unmaintained.
2020-04-28 21:29:03 -07:00
Daniel Mensinger 4a1f197743
tests: Add support for specifying tool requirements
Adds the `tools` section to `tests.json` to specify requirements
for the tools in the environment. All tests that fail at least
one tool requirements check are skipped.
2020-04-28 17:54:02 +02:00
Daniel Mensinger 4640f13faa
docs: Fix Contributing.md 2020-04-28 17:54:02 +02:00
Xavier Claessens 39a69d1fb0 find_program: Fixes when the program has been overridden by executable
- ExternalProgramHolder has path() method while CustomTargetHolder and
  BuildTargetHolder have full_path().
- The returned ExternalProgramHolder's path() method was broken, because
  build.Executable object has no get_path() method, it needs the
  backend.
- find_program('overridden_prog', version : '>=1.0') was broken because
  it needs to execute the exe that is not yet built. Now assume the
  program has the (sub)project version.
- If the version check fails, interpreter uses
  ExternalProgramHolder.get_name() for the error message but
  build.Executable does not implement get_name() method.
2020-04-28 01:39:56 +03:00
Daniel Mensinger 5e5895814f
wrap: Updated docs 2020-04-25 16:03:16 +02:00
Dylan Baker 7b7f93a09f mtest: Generate a JUnit xml result file
JUnit is pretty ubiquitous, lots of services and results viewers
understand it, in particular gitlab and jenkins know how to consume
JUnit xml. This means projects using CI services can have their test
results consumed automatically.

Fixes: #6972
2020-04-23 13:26:01 -07:00
Jussi Pakkanen 84f28fc3f1
Merge pull request #6816 from dcbaker/framework-matrix
project test junit schema + a few more uses
2020-04-21 00:37:34 +03:00
Dylan Baker 182f40d25a docs/cross-compilation: Note appropriate values for cpu_family [skip ci]
Also note that meson doesn't use `el` on the end of the cpu_family to
mark endianness, that the endian field needs to be set appropriately.
2020-04-21 00:05:12 +03:00
Michael b61e037e93 add introspect --buildsystem-files info [skip ci] 2020-04-20 19:30:05 +03:00
Dylan Baker e0c9259e79 Add a json schema for the test.json used in tests
This does a couple of nice things, one is that editors like vscode can
be configured to use this schema to provide auto completion and error
highlighting if invalid values are added or required values are missing.
It also allows us test that the format of the test matrix work in a unit
test, which I've added. It does require that the python jsonschema
package is installed.
2020-04-17 10:49:09 -07:00
Dylan Baker d4b537c895 docs/users: Update freedesktop users to point at gitlab [skip ci]
Rather than the legacy cgit
2020-04-17 18:15:13 +03:00
Dylan Baker 36f70c6845 docs: The X Test Suite uses meson [skip ci] 2020-04-17 18:15:13 +03:00
Jonas Møller 1d7d9c88e8
Corrected prefix path [skip ci]
Using meson version `0.53.2` prefix defaulted to `/usr/local`, not `/usr/local/` (not the trailing slash)
2020-04-14 23:22:08 +03:00
Xavier Claessens a6239d5100 wrap: Add fallback urls
It can happen that a server is temporaly down, tarballs often have
many mirrors available so we should be able to add at least one fallback
mirror in wrap files.
2020-04-13 13:29:33 +03:00
Jussi Pakkanen 6ebf674798 Remove alignment syntax not supported by hotdoc. Closes: #6954. [skip ci] 2020-04-13 00:28:50 +03:00
Jussi Pakkanen f695359e1d
Merge pull request #6958 from jon-turney/fix-name-prefix-explicit-default
Fix library(name_prefix: [])
2020-04-12 19:40:08 +03:00
Peter Hutterer 77dad3153d
docs: fix the docs for install_subdir's strip_directory [skip ci]
When set to **true** only the last component is used. And throw in two minor
grammatical fixes while we're there.
2020-04-11 22:49:52 +03:00
Jon Turney ba7b50a104
Refine documentation of default name_prefix
Refine documentation of the default name_prefix, so people don't get the
impression they can write logic which uses 'lib' as the default, when
they should be defaulting to '[]', to let us take care of the
complexities.
2020-04-11 19:58:11 +01:00
Vanadiae eb806b7286 References-tables.md: repair broken table
At https://mesonbuild.com/Reference-tables.html#compiler-and-linker-selection-variables, the table is broken and it seems that the only difference with other well-working tables on this page is the semi-column ":" that are present under Language.
2020-04-11 19:23:00 +02:00
Nirbheek Chauhan a7d08b9b9c docs: Update Using-with-Visual Studio
Very out of date instructions. We install `meson.exe` now and you
don't need to have `py` in PATH or use `/path/to/meson.py`.
2020-04-08 23:44:31 +03:00