Commit Graph

1514 Commits

Author SHA1 Message Date
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
Michael Hirsch, Ph.D 92b77cb321
deps: add scalapack
Scalapack uses a library stack that can be challenging to manage.
Not least of all since many Scalapacks ship with broken / incomplete
pkg-config files and CMake FindScalapack.cmake

This resolves those issues for typical Scalapack setups including:

* Linux: Intel MKL or OpenMPI + Netlib
* MacOS: Intel MKL or OpenMPI + Netlib
* Windows: Intel MKL (OpenMPI not available on Windows)
2019-11-30 21:29:49 -05:00
Michael Brockus da9f56afde Update CI Continuous Integration page and add CircleCi example [skip ci] 2019-11-30 23:33:06 +02:00
chris 6cc0ef8c07
docs: fix typo 2019-11-29 18:08:15 +01:00
Robert Ancell dd15c47ea8
docs: Fix typo [skip ci] 2019-11-27 20:23:20 -05:00
Xavier Claessens a6f7a1d8c4 fs: Add parent() and name() methods 2019-11-25 14:55:19 -05:00
Michael Hirsch, Ph.D 07a2fe2f00 complete gfortran/intel/intel-cl fortran_std test 2019-11-25 13:08:56 +02:00
Artsiom Chapialiou cefdf8dcb0 Meson Syntax Highlighter plugin for JetBrains IDEs. 2019-11-21 01:19:13 +02:00
Paolo Borelli 294b33144f docs: clarify how Meson handles shebang in run_command [skip ci] 2019-11-19 21:07:02 +02:00
Jussi Pakkanen bf800101c2
Merge pull request #6182 from mensinda/depInfo
Better dependency logs
2019-11-17 14:29:47 +02:00
Michael Hirsch, Ph.D 0cb48cdc79
fs: make replace_suffix not expand file to absolute path, just manipulate the string 2019-11-17 00:22:53 -05:00
Michael Hirsch, Ph.D 2ae96f8595
fs: replace_suffix 2019-11-17 00:17:06 -05:00
Michael Hirsch, Ph.D 4997d93b49
fs: add docs for fs.size() 2019-11-17 00:17:05 -05:00
Michael Hirsch, Ph.D 5db3f8ac3d
fs: correct docs 2019-11-17 00:17:05 -05:00
Michael Hirsch, Ph.D a320274179
fs: get file size
fs: add samefile
2019-11-17 00:17:04 -05:00
Michael Hirsch, Ph.D 67651271f6
fs: add hash compute method 2019-11-17 00:17:04 -05:00
Michael Hirsch, Ph.D 1a0b4ddf34
fs: further document and test behavior 2019-11-17 00:17:03 -05:00
Michael Hirsch, Ph.D 052d918908
add fs.with_suffix 2019-11-17 00:17:02 -05:00
Marc Herbert 1e7972e9dd docs: fix non-existent "meson rewriter" command in examples [skip ci]
Probably dating back to the former mesonrewriter command?

Fixes commit d4fe805a51

In some corner cases, "rewriter" could be mistaken as a positional
argument.
2019-11-16 21:27:05 +02:00
Daniel Mensinger c361181cd9
mintro: dependencies: added version key 2019-11-14 18:16:47 +01:00
franczc adb4e071e6 Adding dictionary entry using string variable as key. 2019-11-12 09:21:10 -05:00
yshui 51d0e02292 Add missing openbsd to the operating system names table [skip ci] 2019-11-11 22:41:09 +02:00
mayl 33a2e7c3d2 Document lack of clang support [skip ci]
Meson doesn't currently provide a very helpful message when trying to generate a coverage report with clang, and in fact just silently fails for 2 of the 3 reports.  Ideally Meson would support coverage with llvm-cov, or provide a more helpful error message.  Until then, it seems it would be helpful to at least put a warning in the documentation
2019-11-10 23:47:02 +02:00
Eli Schwartz 1238b16c8e docs: major revamp of the Wrap format description [skip ci]
The current state of this manual can best be described as... confusing.
The flow of the page jumps from one topic to the next without ever
actually telling you what you can do, so it's almost impossible to keep
track of what is supported, while instead going into involved derails
about why you'd want to use a wrap, and scattering some (but not all)
information throughout the promo material.

The most important changes this rewrite does (aside from turning
supported keys into a list of bullet points) is adding documentation for
the lead_directory_missing property, and mentioning that wrap-hg and
wrap-svn exist. I had to find out all of this by reading the source code
implementation, so let's try to save other people the effort.

Other miscellania: as per @jpakkane's comment, take the opportunity to
point out that wrap dependencies are also useful on Linux, in cases
where your distro doesn't have a new enough version of "$dependency".
It's a fairly common problem outside of select rolling-release distros,
so well worth mentioning.
2019-11-08 23:29:54 +02:00
Jussi Pakkanen 46788d1b5b Created the filesystem module. 2019-11-08 00:44:45 +02:00
Vedran Miletić 48a719033e docs: Mention error LNK1181, linking for MSVC [skip ci]
Make FAQ entry about linking failing on Windows with MSVC more easily discoverable by including keywords LNK1181 and linking.
2019-11-07 22:37:40 +02:00
Wolfgang Stöggl 32f64aa2cb docs: Add backend vs2019 to table in Builtin-options.md [skip ci] 2019-11-06 10:53:43 -05:00
Wolfgang Stöggl f037e7ef45 Fix typos found by codespell
- Typos were found by codespell v1.16.0
2019-11-06 09:55:30 -05:00
Aleksey Gurtovoy f56ef583d3 dependency('cuda') 2019-11-05 22:17:44 +02:00
Dylan Baker 11f1adb7dd docs: Document that meson 0.52.0 allows layering cross files [skip ci] 2019-11-05 22:14:59 +02:00
Michael Hirsch, Ph.D bbe6db08e3 Minit templates modularization 2019-11-02 23:34:58 +02:00
Jussi Pakkanen b3fe4a0a18 Add option for controlling RTTI. 2019-11-02 19:49:14 +02:00
Michael Hirsch, Ph.D d218d52367 Ensure setuptools via PEP508/518 pyproject.toml 2019-11-02 16:17:13 +02:00
rc-matthew-l-weber 6e18e5b0b3 docs: clarify --default-library is for internal libraries [skip ci]
Signed-off-by: Matthew Weber <matthew.weber@rockwellcollins.com>
2019-10-28 00:07:50 +02:00
Marc-André Lureau 1ed70e22b9 Add source tags targets 2019-10-22 20:48:24 +03:00
Anton Leontiev 603b1ac287 docs: Fix some incorrect links [skip ci] 2019-10-19 19:14:10 +03:00
Anton Leontiev ddd7cf634b docs: Add missing language identifier [skip ci] 2019-10-19 19:14:10 +03:00
Gerion Entrup d5be103585 Documentation: Extend example for precompiled headers
The documentation already contains an example for PCH but misses the
to show the content of the PCH files and how to create them.

With this commit exactly this is exlained.
2019-10-18 13:13:52 -04:00
Matt Turner 20519a0e1a envconfig: Add Alpha CPU family 2019-10-15 21:47:58 +03:00
Gabriel Ganne f060a417bc doc: tell that unit-tests "priority" is introduced in 0.52 [skip ci] 2019-10-08 00:08:17 +03:00
Jussi Pakkanen 2779603c68 Updated version numbers for 0.52.0 release. 2019-10-06 20:05:19 +03:00
Jussi Pakkanen 51fef880b6
Merge pull request #5953 from mensinda/isystem
Add is_system to dependency
2019-10-06 17:33:12 +03:00
Jussi Pakkanen 39342fbe25
Merge pull request #5990 from dcbaker/extra-benchmark-options
Correctly warn and document options to benchmarks
2019-10-04 01:10:39 +03:00
Gerion Entrup 7d01629580 mtest: add gdb_path option
When using the '--gdb' argument of meson test the executed binary can
now be specified with '--gdb-path'.

Closing: #4373
2019-10-04 01:10:07 +03:00
Daniel Mensinger 73d52266b5
Use include_type instead of is_system 2019-10-03 10:06:04 +02:00
Daniel Mensinger 942f145de9
added docs 2019-10-03 10:06:04 +02:00
Dylan Baker 678ee8a9c1 docs: update docs on benchmark in regards to arguments accepted 2019-10-02 13:50:25 -07:00
Jussi Pakkanen d3b389f349 Add clang-tidy target. Closes #2383. 2019-10-01 22:02:51 +03:00
Xavier Claessens 2fb51a2cb0 doc: Add release snippet for the rework of static libraries 2019-10-01 13:06:45 -04:00
Marc-André Lureau 01569fee2e Add depfile to configure_file()
In qemu, minikconf generates a depfile that meson could use to
automatically reconfigure on dependency change.

Note: someone clever can perhaps find a way to express this with a
ninja rule & depfile=. I didn't manage, so I wrote a simple depfile
parser.
2019-09-30 22:17:50 +03:00
Christoph Weiss 0008b326ff Add support for `depth` option in wrap-git
This allows cloning subprojects shallowly.  It works recursively for a
subproject's submodules in case `clone-recursive` is set to `true`.
2019-09-29 20:47:59 +03:00
Marc-André Lureau a65d5801f3 environment: Support taking values from dict
Related to #5955.
2019-09-29 08:42:53 -04:00
Jussi Pakkanen ef5fa846e0 Add CppCon 2019 talk to videos page. [skip ci] 2019-09-29 02:51:39 +03:00
Jussi Pakkanen 52c4ca4afd Moved changes from preliminary relnote page to snippets. [skip ci] 2019-09-29 02:48:58 +03:00
Nathan Rossi 2dd5e695c7 envconfig: Add MicroBlaze CPU family
Add the CPU family for the MicroBlaze processor.

Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
2019-09-26 20:28:42 +03:00
David Cantrell fbbdde4561 Clarify the list of languages is optional for project() [skip ci] 2019-09-26 20:26:14 +03:00
Patrick Griffis 1670fca36f Add blocks dependency
This allows easily enabling the blocks clang extension.
2019-09-23 21:10:00 +03:00
Khairul Azhar Kasmiran 6b0c711c91 Add Windows behavior to executable()'s install_rpath arg doc [skip ci] 2019-09-23 13:27:10 -04:00
Xavier Claessens ef3992f1cc configure_file(): Allow multiple inputs in command mode
Closes: #5893
2019-09-17 13:05:40 -04:00
jimbo1qaz 7e2c54c0a3 Fix improperly closed code backtick [skip ci] 2019-09-15 20:16:49 -04:00
Dylan Baker b98337808c docs: Add a snippet about illumos and Solaris support improvements 2019-09-09 21:22:26 -07:00
Dylan Baker 523c393691 docs: Add sunos to the reference table
I originally liked "solaris", but I've changed my mind. Both illumos
(the open-source fork of OpenSolaris) and Oracle's closed-source
Solaris are identified by the same token, and there are differences
between them; so using "sunos" as a sort "supertype" for both makes
sense to me.
2019-09-09 21:22:26 -07:00
dundir 61b5361c62 Update Quickstart Guide [skip ci] 2019-09-06 00:01:17 +03:00
Nirbheek Chauhan 53830038ac
docs/syntax: fix typo in dict example [skip ci] 2019-09-03 17:50:39 +05:30
Nirbheek Chauhan 41b0fae0a9
docs/syntax: Document that dicts are unordered [skip ci] 2019-09-03 17:48:08 +05:30
Simon Allen d5026f13de Fix typo 2019-09-02 21:34:22 +03:00
Peter Hutterer 4ebce2c3f2 Add test priorities to force test start order 2019-08-24 21:26:41 +03:00
Dylan Baker 110b562930 Vs backend compiler selection (#5448)
* backends/vs: Only set platform_toolset if it isn't already set

* interpreter: set backend up after the compiler

Otherwise we won't be able to check which VS toolchain to use.

* docs/using-visual-studio: wrap lines

* docs: recommend the py launcher instead of python3 for windows

* set backend.environment when building a dummy version

* backends/vs: Add support for clang-cl with vs2017 and vs2019 backends

* backends/vs: Add support for ICL (19.x) with vs2015 and vs2017 backends
2019-08-24 02:32:56 +03:00
Vedran Miletić ab5bb8bcba Add RxDock 2019-08-23 13:28:39 +03:00
Jussi Pakkanen 1ea3ddc6ad
Merge pull request #5681 from dcbaker/dynamic-linker-split
split dynamic linker representations from compilers
2019-08-20 23:14:05 +03:00
Jakub Jermář 53289cb98c Add HelenOS to Users.md 2019-08-19 10:58:03 -07:00
Dylan Baker 142012ab73 docs: add snippet for l_undef on apple
I didn't really mean to, but in splitting the linkers and compilers I
got this all working.
2019-08-14 13:13:23 -07:00
Dylan Baker 931a1b9187 docs: Add snippet for compiler linker split 2019-08-14 13:13:23 -07:00
Nirbheek Chauhan 275c493caf
Update vim syntax files link in 0.37 release notes [skip ci] 2019-08-13 19:35:35 +05:30
James Hilliard b21fd95f73 Add is_disabler function
This is useful if one needs to check if a variable is a disabler.

Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
2019-08-12 01:05:45 +03:00
John Ericson 5d3c092ded docs: meson -> Meson in one place 2019-08-08 09:35:31 -04:00
Jussi Pakkanen 81eecb25ad Describe how to set up VS external project. [skip ci] 2019-08-06 17:37:24 +03:00
Jussi Pakkanen f41bdae368 Add basic Webassembly support via Emscripten. 2019-08-05 19:31:32 +03:00
Jussi Pakkanen 5f2e44b0dd Make gettext targets no-ops if gettext is not installed. Closes: #821. 2019-08-04 21:46:52 +03:00
Marc-André Lureau 8ba1405742 sourceset: add all_dependencies() method
'if_true' sources should be built with their dependencies, as
illustrated by test case change.

Ideally, I think we would want only the files with the dependencies to
be built with the flags, but that would probably change the way
sourceset are used.
2019-08-04 21:44:52 +03:00
Emmanuel Pacaud 923efe9eda Add aravis to meson users (#5757) [skip-ci]
Aravis project is now using meson as its build system.
2019-08-02 07:52:26 +00:00
Marc-André Lureau 06aaffa4e1 Allow kconfig to read from configure_file()
At configure time, kconfig can read from configure_file().

"test cases/kconfig/4 load_config builddir/meson.build" was already
showing a workaround, now it actually can take configure_file input
directly.
2019-07-31 21:42:24 +03:00
Michael Hirsch, Ph.D 148a3a83a6 DOC: meson test multiple --suite specifications [skip ci]
docs:wrap < 80 col
2019-07-30 19:08:48 +03:00
ePirat 84030abd31 Docs: Add default value of install kwarg [skip-ci] 2019-07-30 18:23:07 +03:00
Dylan Baker 487fdfcd11 docs: Add missing closing ` in reference manual 2019-07-26 12:06:47 +00:00
Dylan Baker 03f3c7ad62 docs: correct key in dep.get_variable
pkg-config -> pkgconfig
2019-07-26 12:06:47 +00:00
Michael Hirsch, Ph.D 49dd56b312 add missing link [skip ci] 2019-07-26 11:57:47 +03:00
Michael Hirsch, Ph.D b90b69d383 note that integers have .to_string() method [skip ci] 2019-07-26 11:57:47 +03:00
Daniel Mensinger 8bc408e4ba Added KDevelop to the docs (#5714) [skip ci]
The new meson plugin will be included in KDevelop 5.4, so adding
it to the IDE-Integration docs.

https://www.kdevelop.org/news/kdevelop-5380-released
2019-07-25 10:46:32 +00:00
Nirbheek Chauhan b0f4587663 docs: Document when install: was added to configure_file [skip ci]
Somehow we forgot to document this.
2019-07-25 03:39:50 +05:30
Jussi Pakkanen f2e018c7f3 Create multiple different archive types with dist. 2019-07-23 23:26:46 +03:00
Xavier Claessens 2e41d53e4d Add version check support to find_program()
Closes: #1609
2019-07-19 08:55:50 -04:00
Daniel Mensinger 3b3f53ab55 mintro: Fix section key in buildoptions
This reverts the changes to the `section` key for the
buildoptions and moves the machine choice into it's
own `machine` key.

With this commit the __undocumented__ breaking change
to the introspection format (introduced in 0.51.0) is
reverted and a new key is added instead.
2019-07-17 19:20:33 +03:00
Marc-André Lureau 341d245e68 Accept vs_module_defs for modules
Like shared libraries, modules may have vs_module_defs.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2019-07-17 19:19:56 +03:00
Xavier Claessens f5da881126 gtkdoc: Add 'check' kwarg (#5591)
* gtkdoc: Add 'check' kwarg

This runs gtkdoc-check in meson tests.

Also reorganize the gtkdoc test because we cannot reliably build
multiple doc into the same directory. Not all files generated by gtk-doc
are prefixed with the target name.
2019-07-16 22:50:33 +03:00
ailin-nemui 9bb6093fa0 Add Irssi to Users 2019-07-16 08:39:18 -07:00
ePirat 42d48b461d
Docs: Fix brackets in generator examples [ci skip] 2019-07-16 12:57:54 +02:00
Michael Hirsch, Ph.D a90a9aac84 doc 2019-07-11 22:37:25 +03:00
Jussi Pakkanen 19cda6b7c9
Merge pull request #5606 from xclaesse/alias_target
Add alias_target() function
2019-07-11 00:34:40 +03:00
Xavier Claessens 12d4031f52 Add alias_target() function 2019-07-10 15:01:18 -04:00
Nirbheek Chauhan a310ba863e FAQ.md: Do I need to add headers to sources? [skip ci] 2019-07-10 01:00:42 +03:00
Nirbheek Chauhan 2cc9d79e95 FAQ.md: Add an entry for generated headers [skip ci]
Closes https://github.com/mesonbuild/meson/issues/5624
2019-07-10 01:00:42 +03:00
Jussi Pakkanen 785b0711cd Explain that using shell functionality is forbidden. [skip ci] 2019-07-05 23:39:16 +03:00
Xavier Claessens dd8f75ad93
Document that add_languages() returns a boolean [skip ci] (#5600) 2019-07-05 14:19:04 -04:00
Jussi Pakkanen 33aee8d113 Describe array values in install_dir. [skip ci] 2019-07-01 09:53:30 -07:00
John Ericson 9149aaba9c `add_{global,project}_{,link_}arguments`: simply native flag behavior
This further simplifies behavior to match the "build vs host" decision
we did with `c_args` vs `build_c_args`. The rules are now simply:

 - `native: true` affects `native: true` targets

 - `native: false` affects `native: false` targets

 - No native flag is the same as `native: false`

I like this because you don't even have to know what "build" and "host"
mean to understand how it works, and it doesn't depend on whether the
overall build is cross or not.

Fixes #4933
2019-06-27 21:24:50 +03:00
Dylan Baker e182dba61f dependencies/base: Set PKG_CONFIG_SYSROOT_DIR from cross file
In some cases it may be necessary to set PKG_CONFIG_SYSROOT_DIR, like
when you've mounted a host architecture system in an arbitrary path.
Meson will now check the cross files for a [properties]:sys_root
variable and set the PKG_CONFIG_SYSROOT_DIR environment variable based
on that variable.

Fixes #3801
Fixes #4057
2019-06-26 23:28:33 +03:00
Dylan Baker e2039da5d9 Split attribute visibility
* c_function_attributes: remove 'protected' from 'visibility'

This doesn't exist on macos with the apple compiler, which always causes
failures.

Fixes #5530

* compilers: Add split visibility checks to has_function_attribute

These check for a single visibility at a time, rather than all four at
once. This allows for finer grained searches, and should make using
these checks safer across operating systems.
2019-06-25 00:02:26 +03:00
Michael Hirsch, Ph.D 40a3a6c3d0 only --only option to run_project_tests, add type hints, improve variable name use 2019-06-23 18:22:43 +03:00
Dylan Baker d35d7ccad1 docs: Update libdir caveat
Fixes #5514
2019-06-21 16:55:18 +03:00
andy5995 a1ea5fd16b Quick_guide.md:add python-setuptools and wheel
per IRC discussion, the wheel package isn't required but reduces
harmless warnings.

[skip ci]
2019-06-19 00:05:30 +03:00
andy5995 ceb70a5c2e Reference-manual.md:add missing equal sign in "both_libraries" section
[skip ci]
2019-06-19 00:03:36 +03:00
Jussi Pakkanen 5ecab57667 Update things for new release. 2019-06-16 22:03:29 +03:00
Francisco Velázquez 288ef0e0e7 Tutorial.md: Improve English [skip ci] 2019-06-16 20:43:55 +03:00
Dylan Baker 15ab1f64f9 modules/python: add a modules keyword argument
This mirrors the modules keyword argument that some dependencies (such
as qt and llvm) take. This allows an easier method to determine if
modules are installed.
2019-06-12 14:13:20 +03:00
Dylan Baker 0e23dbec81 docs: compiler objects are returned [skip ci]
Not a series problem, but annoys me that that it's in the builtin
section when it's a returned object.
2019-06-10 23:48:27 +03:00
Jussi Pakkanen 6b4b601eaf Rewrap some doc lines. [skip ci] 2019-06-10 01:46:55 +03:00
Dylan Baker 342767d6c7 docs: Add bzip2 to the Users page 2019-06-08 18:05:44 +03:00
Daniel Mensinger 4abd2e7103
cmake: doc: fixed typos 2019-06-06 18:27:05 +02:00
Daniel Mensinger 438ee6b01d
cmake: updated docs 2019-06-06 18:27:05 +02:00
Daniel Mensinger 35936316eb
cmake: rebase fixes 2019-06-06 18:27:04 +02:00
Daniel Mensinger 6cb904de7b
cmake: Added docs 2019-06-06 18:27:03 +02:00
John Ericson af2d7af998 Per machine do 'build.' and '' option prefixes
See the docs/ changes for details.
2019-06-05 23:05:34 -04:00
Eli Schwartz 5a0fec13b6 doc: fix typo [skip ci]
Error introduced in commit 8e403e08ac
2019-05-31 12:31:26 -07:00
Mathieu Duponchelle 12a82e763d interpreter: add fallback argument to subproject.get_variable() 2019-05-28 20:26:54 +03:00
Dylan Baker 0714ba58c7 coredata: add cmake_prefix_path option 2019-05-27 01:24:08 +03:00
Dylan Baker 0d19d334a8 docs: pkg_config_path is a list not a string
You should pass arguments as a list, ie -Dpkg_config_path=/foo,/bar
and meson will join the paths appropriately for you.
2019-05-27 01:24:08 +03:00
Joel Rosdahl f13e65b93a Update to new ccache URL
ccache’s web site is now located at https://ccache.dev.

Bonus: Use the preferred capitalization “Ccache” instead of “CCache”.
2019-05-27 01:10:57 +03:00
Erik Faye-Lund 9b3592a8ba docs/Users: update Mesa link [skip ci]
Mesa's primary home is now in the Freedesktop GitLab instance. The cgit repo is just a mirror.
2019-05-23 21:21:35 +03:00
Jussi Pakkanen 8e403e08ac Use library() instead of rolling your own. [skip ci] 2019-05-23 00:45:51 +03:00
Jussi Pakkanen 77a933faca
Merge pull request #5028 from bonzini/sourceset
new module "sourceset" to match source file lists against configuration data
2019-05-23 00:01:29 +03:00
Michael Hirsch, Ph.D 44b6ccbe56 join_paths => / [skip ci] 2019-05-22 23:56:50 +03:00
Paolo Bonzini d894c48660 new module "sourceset" to match source file lists against configuration data
In QEMU a single set of source files is built against many different
configurations in order to generate many executable.  Each executable
includes a different but overlapping subset of the source files; some
of the files are compiled separately for each output, others are
compiled just once.

Using Makefiles, this is achieved with a complicated mechanism involving
a combination of non-recursive and recursive make; Meson can do better,
but because there are hundreds of such conditional rules, it's important
to keep meson.build files brief and easy to follow.  Therefore, this
commit adds a new module to satisfy this use case while preserving
Meson's declarative nature.

Configurations are mapped to a configuration_data object, and a new
"source set" object is used to store all the rules, and then retrieve
the desired set of sources together with their dependencies.

The test case shows how extract_objects can be used to satisfy both
cases, i.e. when the object files are shared across targets and when
they have to be separate.  In the real-world case, a project would use
two source set objects for the two cases and then do
"executable(..., sources: ... , objects: ...)".  The next commit
adds such an example.
2019-05-22 12:09:09 +02:00
Jussi Pakkanen e9bd7d49bd
Merge pull request #5372 from dcbaker/get_variable
Dependency.get_variable method
2019-05-21 21:57:05 +03:00
Jussi Pakkanen 79d530e325 Generators can have extra target dependencies. Closes #4131. 2019-05-20 23:38:13 +03:00
Dylan Baker c890c947fa fixup! tests: Add test for Dependency.get_variable 2019-05-20 10:41:26 -07:00
Dylan Baker ffe2a678d5 docs: Add docs for Dependency.get_variable 2019-05-20 10:41:11 -07:00
Szunti cf662ded46 Fix typo in Dlang-module.md 2019-05-17 15:16:37 -07:00
Jussi Pakkanen 7b8ef78bc0
Merge pull request #5331 from dcbaker/icl
ICL (Intel for Windows) support
2019-05-14 00:24:48 +03:00
Nirbheek Chauhan b849f6f935 FAQ: Add an entry about the library naming scheme with MSVC [skip ci]
This is very frequently asked.
2019-05-13 23:24:18 +03:00
Dylan Baker 523c7beefc docs/markdown: add snippet for intel-cl support 2019-05-13 11:22:31 -07:00
Dylan Baker be88945ee3 docs/reference-table: Add intel-cl
Because the Intel compiler behaves significantly differently on windows
than it does on Linux and MacOS I've decided it would be better to
follow the clang/clang-cl split and make id "intel-cl" on windows
(leaving "intel" alone on Linux and Mac). Since we've never supported
ICL and it hasn't worked in the past I think this is an okay change to
make.
2019-05-13 11:22:31 -07:00
Jussi Pakkanen 1ff6a8b5d5 Add entry for random design points. [skip ci] 2019-05-12 00:30:08 +03:00
Daniel Eklöf c2ee82cc41 add support for "target_type: 'shared_module'" in build_target() 2019-05-09 22:43:10 +03:00
nicole mazzuca 24d5c73b0a add -fno-exceptions if cpp_eh=none is specified 2019-05-05 21:19:04 +03:00
Amit D 128d313b66 Update Users.md [skip ci] (#5358) 2019-05-04 14:59:48 +00:00
Michael Hirsch, Ph.D 06bfc2dab6 per-target manual specification of link_language 2019-05-02 23:26:51 +03:00
Nicole Mazzuca 16463046b1 Add vc++ cpp_std flags to the documentation 2019-05-02 13:23:19 -07:00
Jussi Pakkanen 7059c47aad
Merge pull request #5161 from TheQwertiest/feature/custom_target_link
Can link against custom_target[i]
2019-05-02 22:21:56 +03:00
Jussi Pakkanen ec757492bf Describe how to add support for new compilers. [skip ci] 2019-05-02 21:58:03 +03:00
TheQwertiest 68a8481a05 Updated docs with information about `custom_target[i]` 2019-04-29 16:07:50 +03:00
Jon Turney ccc4ce28cc consistent invalid escape sequence behaviour
* docs: document unrecognized escape sequence behaviour [skip ci]

Document that unrecognized escape sequence behaviour is like python, not
C.

* Don't try to decode invalid hex escape sequences

Don't try to decode escape sequences which should contain a sequence of
hex digits, but don't, throwing a python exception.  These will treated
literally instead.

* Extend test case to cover invalid escape sequences
2019-04-28 23:06:36 +03:00
Jussi Pakkanen bbd67bbae9 Rewrap text. [skip ci] 2019-04-24 23:19:13 +03:00
Richard Kjerstadius ccaa61ec52 doc: Update coverage related documentation 2019-04-24 20:32:19 +02:00
Fernando Ramos d81dfcba74 Add support for the Xtensa toolchain
From (almost) all points of view, the Xtensa toolchain can be treated as
a regular GCC toolchain.

This patch adds very basic support so that, at least, meson does not
fail when trying to use "xt-xcc" (which makes it possible to use it
without problems).
2019-04-22 18:24:47 +03:00
Konstantin 841995cddf i18n: add args keyword to merge_file
* i18n: add args keyword to merge_file

* i18n: add testcase to msgfmt args
2019-04-22 14:54:05 +03:00
Jussi Pakkanen 8dedddca36 Fix table layout. [skip ci] 2019-04-22 00:48:41 +03:00
Vladimír Čunát e4f3894582 dist: recurse into git submodules 2019-04-21 23:13:01 +03:00
Jussi Pakkanen 91654674f0
Merge pull request #5289 from mesonbuild/fixxpass
Report xpass results as failures.
2019-04-21 15:15:19 +03:00
Jussi Pakkanen dc2044c56d Report xpass results as failures. 2019-04-21 03:01:04 +03:00
Anton Kochkov ad0ba6a911 Add VS2019 backend CI and docs. 2019-04-16 00:11:02 +03:00
Eli Schwartz f5bc0ab44a fix gpgme support by preferring pkg-config where possible
Since gpgme 1.13.0, pkg-config files are available and this is the
preferred way to detect the dependency. Without this, projects that wish
to generate pkg-config files that Requires.private on gpgme, now have
their custom dependency() fallbacks overridden with an incorrect
configtool dependency.
2019-04-15 11:09:49 -07:00
Keefer Rourke 53a7403f10 (#5260) link to builtin options in `library()` fn
As a newcomer to the Meson build system, I found the documentation of the `library()` function to be a bit misleading. Eventually I found what 'user option' referred to after digging through the docs.

This just adds a link back to the page that describes the options that are referred to in this paragraph.
2019-04-15 20:39:16 +03:00
Dylan Baker 79e925b8f6 docs/fallback-wraptool: wrap to 80 characters 2019-04-14 20:54:38 +03:00
Dylan Baker 68f5bfea62 docs: update fallback wraptool docs [skip ci]
Fixes #5229
2019-04-14 20:54:38 +03:00
jrl64 a2d222c383 Update Built-in Option c_std for C17. Closes #4842. 2019-04-10 23:14:51 +03:00
Dylan Baker 02ff9829c4 docs: Change 0.51 to 0.50.1 [skip ci]
Since this is targeting the 0.50.1 bugfix release.
2019-04-10 19:30:18 +03:00
TheQwertiest 52fa6152cd [docs] Reordered options and fixed a typo [skip ci] 2019-04-10 19:29:25 +03:00
Dylan Baker 67ca2d5bdc docs: Document pkg_config_path and cross_ options [skip ci] 2019-04-09 16:34:10 +00:00
Daniel Mensinger d72d98d3af mintro: removed deprecated --target-files API 2019-04-08 21:06:15 +03:00
Jussi Pakkanen 93f756ec25
Merge pull request #5176 from ao2/add-subproject-foreach-command
Add 'meson subprojects foreach' command
2019-04-08 20:42:03 +03:00
Jan Tojnar e8a688428d Add gpgme-config support
GPGME does not support pkg-config so we need config-tool support if
we do not want projects like Almanah and Seahorse to parse the values
manually.
2019-04-06 22:35:10 +03:00
Andrei Alexeyev 8209180c76 Add shaderc dependency lookup logic 2019-04-02 22:47:10 +03:00
Jussi Pakkanen 75219989ca
Merge pull request #5128 from Ericson2314/sanity-check-with-flags
Sanity check with external args
2019-04-02 00:40:05 +03:00
Antonio Ospite 221fb86373 docs: fix typo s/responsability/responsibility/ [skip ci] 2019-04-01 11:51:02 +02:00
Antonio Ospite e680dbe065 Add 'meson subprojects foreach' command
Sometimes it is convenient to run an arbitrary command (e.g. 'git diff')
on all subprojects.

Add a 'meson subprojects foreach' command to take care of that.

For this command the common argument 'subprojects' does not make sense,
so only add '--sourcedir' and cover the case of a missing
options.subprojects in run().
2019-04-01 11:51:02 +02:00
Jussi Pakkanen 5905533fcd
Merge pull request #5103 from mesonbuild/linkcustom
Can link against custom targets
2019-04-01 01:29:51 +03:00
Jonatan Pålsson 2a030e33f3 docs: Document when environment() was added (#5178) [skip ci]
The environment() function was added in 0.35.0 (which contains a2e7ebc5,
containing the actual addition)
2019-03-30 09:28:04 +00:00
Dylan Baker f2d4a32370 dependencies/base: Pass correct arguments to subdependencies
Currently InternalDependency.get_partial_dependency shadows the the
input variables names, and then passes those new copies to the final
object returned. It also passes them to the arguments of of
get_partial_dependency for each subdependency, which is wrong. The
code is supposed to proxy the original argumetn values to that instead
of the shadowing values.

To avoid that this patch renames the new values.
2019-03-29 21:27:54 +00:00
TheQwertiest c0d287c1bf [Docs] Built-in options page cleanup (fixes #5165) [skip ci]
- Added missing universal options.
- Split options in `directories` and `core` groups.
- Sorted alphabetically some of the groups.
- Removed `cross-file` from options, since it's not an option.
2019-03-29 21:44:16 +02:00
Will Thompson 3b7ec01692 docs: correct “It's” to “Its” [skip ci] 2019-03-29 13:33:35 +00:00
Jussi Pakkanen 2259db2683 Add documentation. 2019-03-28 23:11:30 +02:00
John Ericson 8c3d24e9de release note snippet for user flags in sanity checks [skip ci] 2019-03-27 10:54:56 -04:00
John Ericson b565eff084 Add release note snippit for CPPFLAGS handing [skip ci] 2019-03-27 14:45:42 +00:00
Dylan Baker d88bf0eb80 compilers: n_debug=if-release and buildtype=plain should not enable assertions
It's a bit odd that it doesn't, and has resulted in bugs in distro
packaging.

Fixes #5141
2019-03-26 22:17:27 +02:00
Jussi Pakkanen ed5992a10d
Merge pull request #5031 from bonzini/kconfig
Kconfig Module
2019-03-20 22:03:47 +02:00
Ross Burton 65e59c84a1 mesonbuild: allow multiple --cross-file options
Just like --native-file, allow multiple --cross-file options.  This is mostly
unifying the logic between cross_files and config_files.
2019-03-20 10:06:17 +00:00
Jussi Pakkanen 4b95dd3a6d Add test script to generate a static library with a custom target. 2019-03-18 22:01:06 +02:00
Paolo Bonzini 49076d719c kconfig: improvements for builddir config file
Document best practices for per-builddir config file, and add a test covering
loading a config file from the build directory.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2019-03-15 11:43:05 +01:00
Mark Schulte 647bd2839e [modules] Add kconfig module
Add a kconfig module to allow meson to integrate with existing projects
that use kconfig.
2019-03-15 11:42:36 +01:00
Kieran Bingham 33af335949 Add libcamera to Users.md [skip ci]
Add the libcamera project as a user of Meson.
2019-03-14 23:39:28 +02:00
Michael Hirsch, Ph.D e491792a95
docs 2019-03-14 02:04:25 -04:00
Tomas Krizek 4adadadb91 docs/Users: add Knot Resolver to projects 2019-03-13 12:51:17 -07:00
Tomas Krizek 9641a3d289 docs/Users: fix sort order (Kiwix libraries) 2019-03-13 12:51:17 -07:00
Niklas Claesson dd2c44cdf6 Add static as keyword to find_library 2019-03-11 20:56:52 +02:00
Nirbheek Chauhan a0be869bb9
docs: Typos and formatting in the 0.50 release notes [skip ci] 2019-03-11 21:35:46 +05:30
Thomas DeRensis 86a7d67179 docs: Add missing closing quote [skip ci] 2019-03-11 15:18:31 +00:00
Will Thompson ca355a79fb docs: fix typo in link anchor [skip ci] 2019-03-10 20:01:43 +00:00
Jussi Pakkanen 9f48f5fe94 Update everything for new release. 2019-03-10 19:25:09 +02:00
Amit D 2bec1633fc Update Users.md [skip ci] 2019-03-10 18:46:31 +02:00
Jussi Pakkanen 5a4defadab Generate release notes from snippets automatically. [skip ci] 2019-03-10 18:40:27 +02:00