Commit Graph

1514 Commits

Author SHA1 Message Date
Xavier Claessens 2a7f72885f wrap: Add 'provide' section 2020-07-01 09:51:44 -04:00
Xavier Claessens 56c9e95b04 Implicit dependency fallback when a subproject wrap or dir exists 2020-07-01 09:45:33 -04:00
Jussi Pakkanen 64f36613ef
Merge pull request #7231 from mensinda/cmOverride
cmake: Add more advanced subproject configuration options
2020-07-01 00:04:08 +03:00
TheQwertiest b6981bd16e
Made Commands.md dynamically generated (#7346) 2020-06-30 23:56:08 +03:00
TheQwertiest 83a973ca04 Replaced `ninja` with `meson` [skip ci] 2020-06-30 23:52:31 +03:00
TheQwertiest 9e0db0a05e Cleaned up Reference docs [skip ci] 2020-06-30 23:51:55 +03:00
Xavier Claessens 4a371c97f4 wrap: Apply patch even in VCS cases 2020-06-30 19:42:43 +03:00
Xavier Claessens 1c8731a100 envconfig: Add [constants] section in machine files
Machine files already supports `+` operator as an implementation detail,
since it's using eval(). Now make it an officially supported feature and
add a way to define constants that are used while evaluating an entry
value.
2020-06-29 20:16:21 +03:00
TheQwertiest 5696a5abba Added ability to specify target in `meson compile` 2020-06-29 19:54:38 +03:00
TheQwertiest 4d0233540f Added ability to pass arguments to backend in `meson compile` 2020-06-28 18:13:49 -04:00
Michael Hirsch, Ph.D b9b15816e8 syntax.md: document version_compare ambiguities [skip ci] 2020-06-28 23:54:16 +03:00
Michael Hirsch, Ph.D 1e140c002b syntax.md: correct markdown heading syntax [skip ci] 2020-06-28 23:54:16 +03:00
Daniel Mensinger 08f29c1812 docs: Add initial docs for the Meson CI [skip ci] 2020-06-24 22:43:38 +03:00
Nirbheek Chauhan 83df219747 docs: Document string path building with examples
Also document that line continuation didn't work before 0.50.

90c9b868b2 fixed it.
2020-06-24 16:56:54 +00:00
Igor Raits d6c6b933c4 mcompile: Add --verbose mode
Closes: https://github.com/mesonbuild/meson/issues/7352
Signed-off-by: Igor Raits <i.gnatenko.brain@gmail.com>
2020-06-21 23:49:39 +03:00
Xavier Claessens e353b2e8d4 wrap: Add patch_directory support
Copy a tree instead of extracting an archive.

Closes: #7216
2020-06-21 23:39:12 +03:00
Tim-Philipp Müller 246e5437aa compiler: add 'force_align_arg_pointer' function attribute 2020-06-21 23:34:11 +03:00
Jussi Pakkanen da018da753
Merge pull request #7359 from dcbaker/submit/2020-06/sh4
Add SuperH SH-4 support
2020-06-21 23:11:22 +03:00
Michael Brockus 9168032403
Update Style-guide.md [skip ci] 2020-06-21 23:06:48 +03:00
Michael Brockus 3f1108c923
Update Creating-releases.md [skip ci] 2020-06-21 22:35:33 +03:00
Dylan Baker b384f82b9a envconfig: Add support SuperH SH-4
Fixes: #7358
2020-06-19 10:56:09 -07:00
Dylan Baker 348b0ef671 docs: Alphabetically sort the cpu_family reference table
It's close, but not quite. This should make it easier to read
2020-06-19 10:54:18 -07:00
Cyril Richard 189d3b0513
Update Users.md [skip ci]
Update Users.md with the add of Siril (www.siril.org) that is migrating from autotools to meson.
2020-06-19 17:32:18 +03:00
Jussi Pakkanen 1309b06183
Merge pull request #7196 from cconverse711/llvm-cov
coverage: llvm-cov support
2020-06-18 18:57:25 +03:00
TheQwertiest 96609da8d2 docs: replaced `ninja` with appropriate `meson` commands [skip ci] 2020-06-18 17:47:10 +03:00
Cary Converse a198e5d191 coverage: llvm-cov support 2020-06-17 23:02:50 -04:00
Michael f7b7514014 update Project-templates.md 2020-06-17 17:35:15 +03:00
Xavier Claessens 972cac13f4 doc: Fix missing --force-fallback-for documentation 2020-06-16 15:15:00 -04:00
Mathieu Duponchelle 20709af4d2 interpreter: add support for --force-fallback-for
This new command line option allows specifying dependencies for
which to force fallback.

See the documentation for more information

Fixes: #7218
2020-06-16 13:45:40 -04:00
Xavier Claessens 0b4cf5a844 gnome: Add fatal_warnings kwarg to generate_gir()
Fixes: #7130
2020-06-16 08:21:35 -04:00
laolux 0a583ac06a
Documentation, FAQ.md, generated_headers [skip ci] 2020-06-15 23:31:55 +03:00
TheQwertiest 399303b534
Added docs for all meson commands + corresponding unit test (#7217) 2020-06-15 11:20:20 +05:30
Jon Turney 3babaaaeec Tweak gnome.gtkdoc() documentation for clarity and grammar 2020-06-13 18:48:35 +00:00
John Ericson 58c2aeb5e4 [skip ci] docs: Bring up to date on options per machine
I tried to fix the docs when the stuff was added, but it turns out I
missed things, as noted in
https://github.com/mesonbuild/meson/issues/7284#issuecomment-641641177
2020-06-12 10:35:11 -07:00
坂本 貴史 5f8d89b707
docs: remove duplicated entry for gnome.generate_gir() documentation [skip ci]
The documentation of gnome.generate_gir() has duplicated entry for
dependencies parameter. As a fix, this patch removes the entry added
recently.

Fixes: 893d101fff ("gnome: Add header kwarg to generate_gir()")
Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
2020-06-12 00:33:47 +03:00
Phillip Johnston 7fd22c9696
Correct argument typo in partial_dependnecy (#7300) [skip ci]
Should be "sources" not "source"

```
../meson.build:162: WARNING: Passed invalid keyword argument "source".
WARNING: This will become a hard error in the future.
Traceback (most recent call last):
  File "/usr/local/lib/python3.7/site-packages/mesonbuild/mesonmain.py", line 131, in run
    return options.run_func(options)
  File "/usr/local/lib/python3.7/site-packages/mesonbuild/msetup.py", line 245, in run
    app.generate()
  File "/usr/local/lib/python3.7/site-packages/mesonbuild/msetup.py", line 159, in generate
    self._generate(env)
  File "/usr/local/lib/python3.7/site-packages/mesonbuild/msetup.py", line 192, in _generate
    intr.run()
  File "/usr/local/lib/python3.7/site-packages/mesonbuild/interpreter.py", line 4359, in run
    super().run()
  File "/usr/local/lib/python3.7/site-packages/mesonbuild/interpreterbase.py", line 465, in run
    self.evaluate_codeblock(self.ast, start=1)
  File "/usr/local/lib/python3.7/site-packages/mesonbuild/interpreterbase.py", line 490, in evaluate_codeblock
    raise e
  File "/usr/local/lib/python3.7/site-packages/mesonbuild/interpreterbase.py", line 483, in evaluate_codeblock
    self.evaluate_statement(cur)
  File "/usr/local/lib/python3.7/site-packages/mesonbuild/interpreterbase.py", line 498, in evaluate_statement
    self.assignment(cur)
  File "/usr/local/lib/python3.7/site-packages/mesonbuild/interpreterbase.py", line 1151, in assignment
    value = self.evaluate_statement(node.value)
  File "/usr/local/lib/python3.7/site-packages/mesonbuild/interpreterbase.py", line 500, in evaluate_statement
    return self.method_call(cur)
  File "/usr/local/lib/python3.7/site-packages/mesonbuild/interpreterbase.py", line 895, in method_call
    return obj.method_call(method_name, args, self.kwargs_string_keys(kwargs))
  File "/usr/local/lib/python3.7/site-packages/mesonbuild/interpreterbase.py", line 39, in method_call
    return method(args, kwargs)
  File "/usr/local/lib/python3.7/site-packages/mesonbuild/interpreterbase.py", line 285, in wrapped
    return f(*wrapped_args, **wrapped_kwargs)
  File "/usr/local/lib/python3.7/site-packages/mesonbuild/interpreterbase.py", line 151, in wrapped
    return f(*wrapped_args, **wrapped_kwargs)
  File "/usr/local/lib/python3.7/site-packages/mesonbuild/interpreterbase.py", line 213, in wrapped
    return f(*wrapped_args, **wrapped_kwargs)
  File "/usr/local/lib/python3.7/site-packages/mesonbuild/interpreter.py", line 484, in partial_dependency_method
    pdep = self.held_object.get_partial_dependency(**kwargs)
TypeError: get_partial_dependency() got an unexpected keyword argument 'source'
FAILED: build.ninja
```
2020-06-11 10:06:57 -07:00
Kyrylo Polezhaiev 44aa64b6a0
docs/users: Add Le Machine Learning library [skip ci] 2020-06-08 22:00:27 +03:00
Jussi Pakkanen 801dc03070
Merge pull request #7245 from dankegel/response-files-when-needed-tidied
Make ninja backend only use response files when needed, on linux too
2020-06-08 00:33:46 +03:00
Dan Kegel 536c64b241 docs: add snippet about response file change 2020-06-05 14:15:32 -07:00
Daniel Mensinger ede2cd556c
cmake: added docs 2020-06-05 11:45:10 +02:00
Richard Brown 2e30afb23b Add libeconf to users.md
libeconf is now using meson as its primary/default build system, so we'd like to see ourselves on the meson users list .
2020-06-04 20:34:27 +02:00
Jussi Pakkanen f818d961e4 Add android to os list informally. Closes #6233. [skip ci] 2020-06-04 00:42:09 +03:00
Lisa White 5e3f9b4b06 [skip ci] mesonwrap docs: fix a broken link 2020-06-03 13:32:22 +01:00
Ebrahim Byagowi 647f19b5aa
docs/unit-tests: Show a test can have multiple suites [skip ci] 2020-06-02 20:39:18 +03:00
Lisa White fcbff1de7c [skip ci] mesonwrap docs
- Add ambiguous naming documentation.
- Update branch request documentation.
- Add mesonwrap token documentation.
- Update review guidelines.
2020-06-02 18:24:52 +01:00
Lisa White 6ecb716f9c [skip ci] mesonwrap docs: limit line length and remove trailing spaces 2020-06-02 18:24:52 +01:00
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
Vedran Miletić e034ebd153 docs: Mention library command as well [skip ci] 2020-04-07 17:24:13 +03:00
Gerion Entrup 2cefe8fd41
docs: add LLVM tool section to dependencies [skip ci] 2020-04-04 13:36:03 +03:00
Vedran Miletić 4d06f93021 docs: Described library command in Build targets section [skip ci] 2020-04-01 20:38:20 +03:00
Michael Kuhn 7828f2c9c2 docs: Fix typo in pkgconfig description 2020-03-31 11:15:23 -04:00
Xavier Claessens 8603c3b445 dist: Add --no-tests option
It is not always needed to test generated tarballs, for example when
they are generated by CI that already does its own testing.
2020-03-29 21:12:34 +03:00
Jussi Pakkanen 15b0bd6e93 Update everything for new release. 2020-03-29 20:37:15 +03:00
Marc Herbert b2dc277c1e docs: why 'ninja test' depends on build_by_default targets [skip ci]
Fixes #1949
2020-03-28 01:01:01 +02:00
Dylan Baker 7fd42a5be4 docs: Add a new page with common cross/native file options [skip ci]
Rather than having two separate sections with duplicated information
lets just have one for the common settings, and only document sections
specific to each file in separately
2020-03-28 00:59:46 +02:00
Xavier Claessens 4d7ccd1399 Make werror per subproject option 2020-03-24 22:48:55 +02:00
Jussi Pakkanen 7924e5f9c2 Revert "Naturally use env vars a bit more to match Autoconf"
This reverts commit 097dfc085e.
2020-03-23 18:07:24 +02:00
John Ericson 097dfc085e Naturally use env vars a bit more to match Autoconf
PR #6363 made it so our interpretation of env vars no longer clashed
with Autoconf's: if both Meson and Autoconf would read and env var, both
would do the same things with the value they read.

However, there were still cases that autoconf would read an env var when
meson wouldn't:

 - Autoconf would use `CC` in cross builds too

 - Autoconf would use `CC_FOR_BUILD` in native builds too.

There's no reason Meson can't also do this--if native cross files
overwrite rather than replace env vars, cross files can also overwrite
rather than replace env vars.

Because variables like `CC` are so ubiquitous, and because ignoring them
in cross builds just makes those builds liable to break (and things more
complicated in general), we bring Meson's behavior in line with
Autoconf's.
2020-03-23 17:51:36 +02:00
John Ericson 3a4388e51d Fix legacy env var support with cross
Fix #3969
2020-03-23 17:51:36 +02:00
Jussi Pakkanen 9e5c881b06 Add property to disable compiler sanity checks during cross compilation. 2020-03-22 23:07:53 +02:00
Michael Brockus 0b42e817dd adding Meson-UI to IDE-integration.md [skip ci] 2020-03-21 20:09:08 +02:00
alanNz 7460292810 -Add xc16 and c2000 C,Cpp toolchain support 2020-03-21 00:47:24 +02:00
Dylan Baker 4120cdd01a docs: update MPI documentation with methods 2020-03-19 14:46:07 -07:00
Phillip Johnston 82fd645da2 Update cross compilation documentation to reference new ld variables 2020-03-19 14:23:09 -07:00
Phillip Johnston f6fad7ae9b Update native description to use the new LD variables
With Meson 0.53.1, this is now out of date. Updating to use the proper ld variables.
2020-03-19 14:22:12 -07:00
Camilo Celis Guzman 18373cba74 mtest: terminate a test via SIGTERM first then (if needed) via SIGKILL 2020-03-19 23:04:36 +02:00
Daniel Mensinger 673ca982f1 cmake: Add find_package COMPONETS support 2020-03-19 22:52:03 +02:00
Dylan Baker 6a5fdbf995 docs: Add Environment variables for compiler/linker selection
We really should be documenting these in an easy to find and reference
place.
2020-03-17 10:40:39 -07:00
Dylan Baker 9074c7f8a4 envconfig: Make compiler and linker environment variables match 2020-03-17 10:40:39 -07:00
Dylan Baker 20f8e47221 docs: Update documentation for GDC linker overriding 2020-03-12 13:21:04 -07:00
Dylan Baker b54e557a40 docs: Document that ldc now supports linker overriding [skip ci] 2020-03-12 21:19:47 +02:00
Nirbheek Chauhan 7e1719fe06
docs: Document from_builtype mapping for b_vscrt [skip ci] 2020-03-12 21:18:41 +02:00
Jussi Pakkanen 88e40c7081
Merge pull request #6356 from dcbaker/fix-d-compiler-abstractions
Fix d compiler abstractions
2020-03-12 00:57:52 +02:00
Adrien Gallouët 85489ab6c3
Add Glorytun in Users.md [skip ci] 2020-03-11 21:20:37 +02:00
Nirbheek Chauhan 69e9d32bca coredata: Warn on usage of both -Dbuildtype and -Doptimization/-Ddebug
It may not be obvious to users that these two ways to set build-types
override each other and specifying both is redundant, and conflicts
are resolved based on whichever is specified later.

Closes https://github.com/mesonbuild/meson/issues/6742
2020-03-11 07:11:59 -04:00
Dylan Baker 7470617953 project_tests: Add the option to the test format to mark the language
This is needed when mixing D and C code, as it's possible to end up
witha  combination of linkers and compilres such that C produces pdb
files but D does not.
2020-03-09 16:55:08 -07:00
Vedran Miletić 912d7b7eea
Document the requirement to run tests before coverage [skip ci]
Co-authored-by: Vedran Miletić <vedran@miletic.net>
2020-03-09 21:55:17 +02:00
Dylan Baker 5ccda6878d project_tests: Add "version" to "shared_lib" and "pdb" types
This allows the harness to apply the version correctly, putting it in the right
place, dropping the right amount of numbers, etc.

pdb taking a version allows it to be more easily copied from the
shared_lib type.
2020-03-09 11:57:26 -07:00
Jussi Pakkanen cfb79d0316 Add OpenTitan to the list of users. [skip ci] 2020-03-09 19:08:26 +02:00
Fini Jastrow b745769535 pkgconfig: Document conflicts keyword
[why]
Sometimes one want to set the 'Conflicts:' field in .pc files.

This is possible by using the 'conflicts' keyword argument in the
pkgconfig module. The feature is not documented on mesonbuild.org,
though.

But a warning is issued:
  WARNING: Passed invalid keyword argument "conflicts".
  WARNING: This will become a hard error in the future.

History:

It has been added along with kwarg 'url' with commit
  309041918 pkgconfig: Add missing 'URL' and 'Conflicts' entries

Later the kwargs check has been introduced with
  80d665e8d Converted some modules.
but both 'url' and 'conflicts' were missing.

With commit
   2acf737b pkgconfig: Document url keyword
the 'url' kwarg has been added to the checks, but not 'conflicts'.

[how]
Add 'conflicts' to the allowed kwargs.

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2020-03-09 09:10:06 -04:00
Jussi Pakkanen 5c51d4521a
Merge pull request #6532 from jon-turney/languages-native-kwarg
Add add_languages(native:)
2020-03-09 01:20:57 +02:00
Jussi Pakkanen 7234316dc7
Merge pull request #6688 from dcbaker/emcc-linker-bugs
Emcc linker bugs and improvments
2020-03-08 14:04:48 +02:00
Xavier Claessens ecb076ba00 qt5: Add has_tools() method 2020-03-08 13:48:27 +02:00
Jussi Pakkanen 18f5a197da
Merge pull request #6203 from xclaesse/override-dependency
Add meson.override_dependency()
2020-03-07 21:04:29 +02:00
Xavier Claessens 8edc6d655d Improve logged messages for overriden dependencies 2020-03-06 15:26:02 -05:00
Xavier Claessens 943e9368f7 Simplify dependency() fallback
Now that subprojects can override the dependency name, there is no need
to provide a variable name for the fallback any more.
2020-03-06 15:26:02 -05:00
Xavier Claessens 2fdedc4d0f Add meson.override_dependency()
Similar to meson.override_find_program() but overrides the result of the
dependency() function.

Also ensure that dependency() always returns the same result when
looking for the same dependency, this fixes cases where parts of the
project could be using a system library and other parts use the library
provided by a subproject.
2020-03-06 15:25:46 -05:00
Dylan Baker 2cdc6892f4 project_tests: Add a "shared_lib" type
This allows fixing tests that produce .dylib's on macOS and .so's on elf
Unices.
2020-03-06 12:11:26 -08:00
Amit D 6ac40539a3 Update Users.md 2020-03-06 21:19:28 +02:00
Nirbheek Chauhan 5c14f98239 Document the details of optimization+debug vs buildtype [skip ci]
Otherwise you have to hunt through the source code. Specifically, this
is defined in `mesonbuild/coredata.py`: `set_buildtype_from_others()`
and `set_others_from_buildtype()`
2020-03-05 00:37:57 +05:30
Dylan Baker 1210a67f66 mesonbuild: Add mcompile command
This is tested working with both msbuild and ninja/samu. Since our xcode
support is pretty much broken I didn't bother.

Fixes #6670
2020-03-04 14:07:27 -05:00
Stéphane Cerveau a46f0a6202 interpreter: add 'name' method to BuildTargetHolder
As any child of BuildTargetHolder might need the name of the object,
provides a method to get object name.
This is useful in gst-build to display the plugin name and not
the filename.
2020-03-04 13:49:01 -05:00
Michael 2f080b1f2e add -C to meson init 2020-03-02 13:50:58 -05:00
Stephan Lachnit b190a20ad5 Users.md: add libratbag
Signed-off-by: Stephan Lachnit <stephanlachnit@protonmail.com>
2020-03-02 19:10:19 +05:30
Jussi Pakkanen 200738a3e6
Merge pull request #6692 from xclaesse/summary-warnings
Summary improvements
2020-03-01 19:30:10 +02:00
Jussi Pakkanen 25cbcb19a9
Merge pull request #6627 from jon-turney/cwd-relative-file-locations
Consistently report file locations relative to cwd
2020-03-01 18:17:41 +02:00
Jussi Pakkanen 7b050a9eeb
Merge pull request #6666 from mensinda/testRefactor
Refactor run_projectests.py
2020-02-29 00:41:52 +02:00
Jon Turney 96f661e150
Add release note snippet 2020-02-28 11:54:09 +00:00
Dylan Baker 654f427759 compilers/linkers: Add a representation for wasm-ld
Emscripten does have a stand alone linker, wasm-ld. This patch adds the
linker, adds detection for the linker, and removes the IsLinkerMixin for
emscripten. This is a little more correct, and makes the code a lot
cleaner and more robust.
2020-02-27 16:35:02 -08:00
Dylan Baker 771b0d3ffb compilers/mixins/emscripten: Implement thread support
Emscripten has pthread support (as well as C++ threads), but we don't
currently implement them. This fixes that by adding the necessary code.
The one thing I'm not sure about is setting the pool size. The docs
suggest that you really want to do this to ensure that your code works
correctly, but the number should really be configurable, not sure how to
set that.

Fixes #6684
2020-02-27 16:35:02 -08:00
Mathieu Duponchelle 852fa087db doc: fix link warnings 2020-02-27 09:35:14 -08:00
Daniel Mensinger 6ef9d538de
test: Updated docs 2020-02-26 21:30:32 +01:00
Xavier Claessens 8101b0ddab summary: Add more info in Subprojects section
This adds a warnings counter for subprojects that passed. This is to
encourage developpers to check warnings in the logs and hopefully fix
them. Otherwise they could be hidden in hundreds lines of logs.

This also print the error message for subprojects that did not pass. The
error message is often enough to fix the issue (e.g. missing
dependency) and it's easier than searching in the logs why a subproject
failed.
2020-02-26 14:24:12 -05:00
Xavier Claessens c175e97a88 summary: Add list_sep keyword argument
This allows having lists on a single line instead of having each value
aligned on a new line.
2020-02-26 14:24:12 -05:00
Jussi Pakkanen fb2b637bbb Typo fix. [skip ci] 2020-02-25 20:39:45 +02:00
Jussi Pakkanen 999376a347 Document the project policy on mixing build systems. [skip ci] 2020-02-25 20:28:28 +02:00
Jussi Pakkanen 9c604320a0
Merge pull request #6637 from mesonbuild/nirbheek/implement-symbolextractor-windows
Implement symbolextractor on windows + some cleanups/fixes
2020-02-23 20:23:03 +02:00
adamjalkemo 00c9a7a430 Update Custom-build-targets.md
Use the declared variables infile and outfile
2020-02-23 05:03:23 +05:30
Nirbheek Chauhan be486a2ec8 ninjabackend: List PDBs in output list for targets
This is more correct, and forces the target(s) to be rebuilt if the
PDB files are missing. Increases the minimum required Ninja to 1.7,
which is available in Ubuntu 16.04 under backports.

We can't do the same for import libraries, because it is impossible
for us to know at configure time whether or not an import library will
be generated for a given DLL.
2020-02-22 06:49:34 +05:30
Dylan Baker 48f3e72493 linkers: Update the linker names to be more consistent
This makes two basic changes, 1 it moves the name of the linker into the
linker class, this should reduce the number of errors and typos, and
ensure that a linker always has one name. This then renames the linkers
to have more consistent names.

Posix/gnu linkers are called ld.<name>: ld.gold, ld.lld, ld.solaris.

Apple linkers are renamed ld64.
2020-02-21 05:15:25 +05:30
Dylan Baker 9e7cca1472 docs: Fix reference table for linker names
These are pretty much all over the place because I never intended them
to be exposed to the meson source language, they were meant just for
documentation.
2020-02-21 05:15:25 +05:30
Rohan Garg 73f03e6093 Introduce dataonly for the pkgconfig module
This allows users to disable writing out the inbuilt variables to
the pkg-config file as they might actualy not be required.

One reason to have this is for architecture-independent pkg-config
files in projects which also have architecture-dependent outputs.

For example : https://gitlab.freedesktop.org/wayland/weston/issues/269

Fixes #4011
2020-02-20 10:19:19 -05:00
Niklas Hambüchen 8d63b6340b
docs: Fix Dub section being inside CMake section [skip ci]
It should be a `##` heading, not a `###` heading.

Also make heading label consistent with the others.
2020-02-19 23:08:50 +02:00
Dylan Baker 73ddc01477 modules/cmake: Add a found() method to the cmake subproject
Just like the native meson subproject has.
2020-02-19 07:07:35 +05:30
Niklas Hambüchen f4b34710d7 docs: Improve visibility for `.enabled()` etc., add example [skip ci] 2020-02-19 05:56:46 +05:30
Niklas Hambüchen 800e442613 docs: Mention `cuda` as supported language [skip ci] 2020-02-18 14:29:32 -08:00
Niklas Hambüchen 8eb13c93ea docs: Fix typo 'serie' -> 'series' 2020-02-18 13:25:06 -05:00
Nirbheek Chauhan 53265e3bc2 minstall: Add a new option --quiet
This is a significant speed-up on Windows because terminals are
slow to print things out.

Speed-up in gst-build on Windows:

```
meson install:
before: 5.1 seconds
after:  4.0 seconds
```
2020-02-17 23:58:20 +05:30
Nirbheek Chauhan 40b58be100 modules/python: Do not error out if positional args are passed
Also update the documentation.

Fixes https://github.com/mesonbuild/meson/issues/6470
2020-02-17 00:38:57 +02:00
Jussi Pakkanen d8c3dc66d5
Merge pull request #6621 from jon-turney/project_tests_cleanup
Various cleanups and documentation improvements for run_project_tests.py
2020-02-17 00:37:53 +02:00
Nirbheek Chauhan 03bfc47ebf docs: Update documentation about linker selection
We missed this in https://github.com/mesonbuild/meson/pull/6457
2020-02-14 08:51:41 +05:30
Jon Turney f20b99b8da
Document some more details of how project tests work 2020-02-13 17:15:51 +00:00
Jussi Pakkanen 47759550e5 Add unity block size option. 2020-02-12 22:31:08 +02:00
Daniel Mensinger 796b4c120a cmake: Add support for the new JSON trace format 2020-02-12 20:58:37 +01:00
Jon Turney c5a32c2afe
Refine behaviour of add_languages() when native: is missing
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-12 13:33:00 +00:00
Jon Turney 7a159ff1e1
Add add_languages(native:)
v2:
Retain not using logical-and, to avoid short-circuiting side-effects
of add_languages()
2020-02-09 16:01:34 +00:00
Jussi Pakkanen 31d89a4ed2
Merge pull request #6421 from dcbaker/zlib-system-dep
Add a "system" dependency for zlib
2020-02-07 21:15:55 +02:00
Xavier Claessens 3ba0073df6 Make 'default_library' per-subproject builtin option
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-06 14:11:24 -05:00
Michael Hirsch, Ph.D 2bbd57092f add FeatureNew 2020-02-06 12:54:38 -05:00
Michael Hirsch, Ph.D 5bbeab8ed4 add fs.stem() 2020-02-06 12:54:38 -05:00
Michael Hirsch, Ph.D 92534855cc doc: filesystem module 2020-02-06 12:54:38 -05:00
Michael Hirsch, Ph.D dcb7043403 fs: add expanduser method
this should help users specify leading `~` in various Meson options and variables
without refactoring lots of places inside Meson itself.
2020-02-06 12:54:38 -05:00
Michael Hirsch, Ph.D 4556343d95 fs: add methods as_posix, is_absolute
fs: make exception specify method name

fs: actually raise exceptions

fs: resolve path e.g.  /opt/foo/.. => /opt/foo

fs: correct behavior of is_symlink
2020-02-06 12:54:38 -05:00
Marc Herbert 9e365e4d0a docs: explain the purpose of order-only deps for generated files [skip ci]
The documentation of "order-only" dependencies is limited and their
various purposes are especially not clear. See issue #6391 for a recent
example, search the internet for many more. So mention the particular
purpose here while making the documentation barely longer.
2020-02-06 11:33:00 +05:30
Michael Hirsch, Ph.D a4e4d2e75a
doc 2020-02-05 13:26:35 -05:00
Michael Hirsch, Ph.D 554d35c3f3
add get_external_property to replace get_cross_property 2020-02-05 13:23:55 -05:00
Michael Hirsch, Ph.D 6c963726cf
add native-file properties tests 2020-02-05 13:23:55 -05:00
Michael Hirsch, Ph.D c2e6565029
add meson.get_native_property for native files
This allows Meson native-file [properties] to be used.
This avoids the need to call meson from a script file or have a
long command line invocation of `meson setup`

The method meson.get_native_property('prop', 'fallback') is added.
The native file can contain properties like

```
[properties]
myprop1 = 'foo'
mydir2 = 'lib/custom'
```

Then from within `meson.build`

```meson
x1 = meson.get_native_property('myprop1')

thedir = meson.get_native_property('mydir2', 'libs')
```

fallback values are optional
2020-02-05 13:23:55 -05:00
Jussi Pakkanen dc8d241583
Merge pull request #6573 from michaelbadcrumble/add_sample_templates
Add new Meson sample templates
2020-02-05 19:45:59 +02:00
Xavier Claessens 4c5a9523be pkgconfig: Generate -uninstalled.pc files
Closes: #3472.
2020-02-05 16:54:01 +01:00
Xavier Claessens 15eb0014ac interpreter: Iterate custom target outputs 2020-02-04 21:28:32 +02:00
Michael ec12b39658 add feature note 2020-02-02 17:18:57 -08:00
Dylan Baker b0c219b9bb docs: Update dependency docs for zlib 2020-01-31 09:28:56 -08:00
Dylan Baker e728331cc8 docs: Add snippet for zlib system dependency 2020-01-31 09:28:56 -08:00
Dylan Baker d67271e1a6
Small cleanups for the LLVM dependency class (#6548) 2020-01-30 23:32:33 +02:00
Kyle Stone c89dca8c70 Add ability to specify project branch to install 2020-01-28 19:00:39 -05:00
Jussi Pakkanen 0fe485a100 Tell contributors not to write things in the snippet help file. [skip ci] 2020-01-27 23:11:44 +02:00
Jussi Pakkanen 8cb2cbaed2 Only provide 64 bit MSIs going forward. [skip ci] 2020-01-27 22:21:31 +02:00
Dylan Baker b16a7ff454 docs: small cleanups and clarifications to setting the dynamic linker [skip ci]
Fixes #6510
2020-01-27 22:16:23 +02:00
Jussi Pakkanen a51c9af921
Merge pull request #6423 from dcbaker/declare-dependency-variables
Add ability to set and query arbitrary variables on declare_dependency objects
2020-01-27 18:29:22 +02:00
Lisa White 42bbce2835 Update wrapdb docs to reflect repositories split [skip ci] 2020-01-27 17:07:17 +02:00
Xavier Claessens b74ece344f Support multiple args to message() and warning() 2020-01-26 07:51:16 -05:00
Dylan Baker b871b9fd06 docs: Update the release procedure to include release candidates [skip ci]
Fixes #6456
2020-01-25 11:58:12 +02:00
Jussi Pakkanen 37716aed6d Remove trial conversions as it is stale. [skip ci] 2020-01-24 16:10:17 -08:00
Jussi Pakkanen a11a28a988 Add LCA2020 talk to videos page. [skip ci] 2020-01-23 21:35:32 +02:00
Jussi Pakkanen 254cb3209d Set source and build dir envvars when running dist. 2020-01-23 02:25:52 +02:00
Dylan Baker 8c1221b437 Add m68k to known cpus for Motorola 68000 series processors
Fixes #6492
2020-01-23 00:20:01 +02:00
Dylan Baker 730a7b296f environment: Replace LD with <LANG>LD
The rust code is ugly, because rust is annoying. It doesn't invoke a
linker directly (unless that linker is link.exe or lld-link.exe),
instead it invokes the C compiler (gcc or clang usually) to do it's
linking. Meson doesn't have good abstractions for this, though we
probably should because some of the D compilers do the same thing.
Either that or we should just call the c compiler directly, like vala
does.

This changes the public interface for meson, which we don't do unless we
absolutely have to. In this case I think we need to do it. A fair number
of projects have already been using 'ld' in their cross/native files to
get the ld binary and call it directly in custom_targets or generators,
and we broke that. While we could hit this problem again names like
`c_ld` and `cpp_ld` are far less likely to cause collisions than `ld`.
Additionally this gives a way to set the linker on a per-compiler basis,
which is probably in itself very useful.

Fixes #6442
2020-01-22 23:39:33 +02:00
Stéphane Cerveau 958df63dac envconfig: add pkg_config_libdir property
In order to unify the use of sysroot in the cross-file,
the pkg_config_libdir can now be passed directly in the file.
2020-01-22 15:42:13 -05:00
Jussi Pakkanen ad687462e1 Add link to PDF manual site on the front page. [skip ci] 2020-01-22 11:42:20 +02:00
Jussi Pakkanen 21eba740e7 Reformat user list page. [skip ci] 2020-01-22 11:29:59 +02:00
Niklas Hambüchen b44501b02d docs: Fix typo in link
Commit 1404f404 (#4744) introduced this typo, making the link not jump to the correct section when clicked.
2020-01-21 08:46:33 -08:00
Marc-Andre Lureau 24174abfb2 Users.md: add qboot [skip ci]
It's worth to list a meson project building a firmware.
2020-01-21 05:55:27 +10:00
alex-tee 646c928b34 add zrythm to Users.md [skip ci] 2020-01-20 16:38:36 +10:00
Amit D 2558e9c4a5 Update Users.md 2020-01-17 10:07:33 -08:00
Amit D 163a8cabb0 Update Users.md
Remove "(not the default yet)" from Glib, Orc and Pango
2020-01-17 10:07:33 -08:00
Dylan Baker 3b691a89bd Add s390 to list of known architectures
Fixes #6411
2020-01-15 09:56:13 -08:00
Amit D cfc2b92e92 Update Users.md 2020-01-14 13:05:24 -08:00
Dylan Baker 202c89d0b6 docs: Add documentation for variables keyword
In declare_dependency() and dependency.get_variables().
2020-01-09 11:02:17 -08:00
Vadim Zhukov f3199edaf8 mention lack of up-to-date dependencies explicitly [skip ci]
Requested by scivision@
2020-01-08 13:22:05 +02:00
Vadim Zhukov dd5b374e99 [skip ci] Use more up-to-date wording for package managers
Most of the OSes Meson supports actually do have package managers,
and at least some of them are not harder to use than Linux ones.
2020-01-08 13:22:05 +02:00
Jussi Pakkanen 8d576eba91 Prepare new release. 2020-01-07 22:12:25 +02:00
Michael Hirsch, Ph.D 9e341ce81c
doc: examples of run_project_tests.py options 2019-12-23 17:24:34 -05:00
Daniel Mensinger 77e0008a1f cmake: Fix obeject libraries
This fixes an issue with generated sources and object libraries, as
well as an issue on windows with the `link` linker and the vs backend.
The last issue is resolved by building the source files multiple times
to avoid extracting object files in meson.
2019-12-22 22:38:20 +02:00
Xavier Claessens e5297aeca5 summary: Change 'section' to be a kwarg instead of positional
Fixes: #6372.
2019-12-19 14:19:39 -05:00
Michael Hirsch, Ph.D 5695dc0f16 add compiler.get_linker_id() method
this can be useful for if/elif where linker behaviors must be
considered.

For example, clang with "link" vs gcc with "ld.bfd" etc.

ci for compiler.get_linker_id() method

doc

add @FeatureNew check

Co-Authored-By: Daniel Mensinger <daniel@mensinger-ka.de>
2019-12-19 12:03:55 -05:00
Michael Hirsch, Ph.D fb121f6254 fs: rename samefile => is_samepath
is_samepath better reflects the nature of this function--that files
and directories can be compared.

Also, instead of raising exceptions, simply return False when one
or both .is_samepath(path1, path1) don't exist. This is more
intuitive behavior and avoids having an extra if fs.exist() to go
with every fs.is_samepath()
2019-12-19 08:51:31 -05:00
Daniel Mensinger c4649704c8 python: add embed to the python dependency function 2019-12-18 01:19:16 +02:00
Jussi Pakkanen 3122bac28a
Merge pull request #4649 from dcbaker/summary-function
Add a summary() function for configuration summarization
2019-12-18 01:17:27 +02:00
Xavier Claessens 38953d8ee3 summary: Add bool_yn keyword argument 2019-12-12 18:30:17 -05:00
Xavier Claessens 49082f9669 summary: Allow section with no title, and passing key/value separately 2019-12-12 18:30:17 -05:00
Xavier Claessens 6e865a2330 Add a summary() function for configuration summarization
Based on patch from Dylan Baker.

Fixes #757
2019-12-12 18:30:17 -05:00
Paolo Bonzini 3778a34979 mintro: include test protocol in introspection data 2019-12-13 00:47:10 +02:00
ePirat 0bf8862beb docs: Fix wrong example for shaderc dependency [skip ci]
The example is meant for wxWidgets not Shaderc.
2019-12-12 10:44:12 -05:00
Jussi Pakkanen 17dd9e5bff
Merge pull request #6207 from dcbaker/linker-option
Add a way to select the dynamic linker meson uses
2019-12-11 23:29:33 +02:00
Daniel Mensinger fc800a2cb8 mintro: Add version key to --scan-dependencies (fixes #6287) 2019-12-10 20:17:21 +02:00
Marc Herbert f2ad800408 docs: explain cross-compilation names sooner [skip ci]
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-10 18:21:14 +02:00
Xavier Claessens 552e78da4d assert(): Make message argument optional 2019-12-10 18:02:41 +02:00
Xavier Claessens 1298f71b1c dist: Add --include-subprojects option 2019-12-08 20:21:43 +02:00
Ken Gilmer f7d54c96c1 Add brief description of configuring Vala's preprocessor via the add_project_arguments() function. [skip ci] 2019-12-07 23:34:32 +02:00
Jussi Pakkanen 06cc98ab54
Merge pull request #6228 from scivision/scalapack
deps: add Scalapack
2019-12-07 21:17:53 +02:00
Michael Hirsch, Ph.D ee241f2aab mtest: document default MALLOC_PERTURB_=1..255 behavior [skip ci]
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-06 14:35:36 +02:00
Dylan Baker 9ca9bb7c09 docs/users: Add libglvnd [skip ci] 2019-12-05 22:03:20 -05:00
Xavier Claessens b872099468 find_program(): Add 'dirs' keyword argument
Fixes: #1576
2019-12-05 16:52:22 -05:00
Amit D bc5864ba21 Update Users.md 2019-12-05 11:10:15 -05:00
Danilo Spinella 75133d5d12 Add pkgconfig import in D documentation 2019-12-05 07:28:05 -05:00
Xavier Claessens 9b1a857473 dict: Fully evaluate keys
The only restriction is keys must be string after evaluation. This fix
various inconsistencies.
2019-12-04 16:45:56 -05:00
Amit D 41bebebb7b Update Users.md 2019-12-04 10:19:35 -08:00
Dylan Baker 32e0bcc516 docs: Update docs for LD and ld entries 2019-12-02 16:39:06 -08:00
Dylan Baker ef9aeb188e Allow selecting the dynamic linker
This uses the normal meson mechanisms, an LD environment variable or via
cross/native files.

Fixes: #6057
2019-12-02 16:39:06 -08:00
Michael Hirsch, Ph.D 11639dd922 doc: update travis-CI info and add GitHub Actions example [skip ci] 2019-12-02 01:36:32 +02:00