Commit Graph

1819 Commits

Author SHA1 Message Date
Tristan Partin 80cb87e7b7 Change jar() default install dir
The previous install dir seemed incorrect when looking at various Linux
distributions.
2022-02-28 11:44:29 +02:00
Dudemanguy e7b8059f7b docs: correct the shaderc documentation
The documentation on how shaderc is checked in meson was quite behind.
Update it to mention that pkg-config is the default and preferred method
of checking. Also be specific about what order everything is checked in
since shaderc is confusing.
2022-02-28 00:23:14 -05:00
Mark Bolhuis 5a4177523e modules/wayland: Add unstable_wayland module 2022-02-27 14:33:33 -05:00
Andrea Pappacoda fcca265035 cmake: configure_package_config_file can now take a dict 2022-02-27 11:45:26 -05:00
Eli Schwartz 78945fb983
python module: add option to specify a python environment to install to
The default behavior of installing relative to prefix may be unexpected,
and is definitely wrong in many cases.

Give users control in order to specify that yes, they actually want to
install to a venv.

This is particularly useful for projects that use meson as a build
system for a python module, where *all* files shall be installed into
the python site-packages.
2022-02-22 22:22:16 -05:00
Eli Schwartz 00aa43d267
fix missing documentation for testsuite option in test.json
stdout line matching supports count since commit
66d62a224e to fail if certain output is
present (count: 0) but it was never documented in the contribution
guidelines.
2022-02-15 16:50:41 -05:00
Eli Schwartz 6240920c21
pkgconfig module: allow custom variables to reference builtin directories
Automatically generate additional variables and write them into the
generated pkg-config file.

This means projects no longer need to manually define the ones they
use, which is annoying for dataonly usages (it used to forbid setting
the base library-relevant "reserved" ones, and now allows it only for
dataonly. But it's bloat to manualy list them anyway).

It also fixes a regression in commit
248e6cf473 which caused libdir to not be
set, and to be unsettable, if the pkg-config file has no libraries but
uses the ${libdir} expansion in a custom variable. This could be
considered likely a case for dataonly, but it's not guaranteed.
2022-02-15 16:50:41 -05:00
andy5995 b1e6cc5553 implement 'dist --allow-dirty' flag
closes #9824
2022-02-10 21:23:20 -05:00
Alyssa Ross 755b2ab6da Contributing.md: fix typo 2022-02-10 13:08:05 -08:00
Jan Tojnar df451f1013 meson: Allow directory options outside of prefix
This bring us in line with Autotools and CMake and it is useful
for platforms like Nix, which install projects
into multiple independent prefixes.

As a consequence, `get_option` might return absolute paths for some
directory options, if a directory outside of prefix is passed.

This is technically a backwards incompatible change but its effect
should be minimal, thanks to widespread use of `join_paths`/`/` operator
and pkg-config generator module. It should only cause an issue when
a path were constructed by concatenating the value of directory path option.

Also remove a comment about commonpath since we do not use that since
<00f5dadd5b>.

Fixes: https://github.com/mesonbuild/meson/issues/2561
2022-02-09 11:04:59 -05:00
Daniel Mensinger 63870da449 cmake: Deprecate CMake <3.17 support 2022-02-03 11:25:59 -05:00
Daniel Mensinger 78619e2c40 cmake: Drop CMake server support and bump min. CMake to >= 3.14 2022-02-03 11:25:59 -05:00
Jussi Pakkanen 9a1a5c2b74
Merge pull request #9834 from bonzini/test-verbose-kwarg
New keyword argument `verbose` for tests and benchmarks
2022-02-02 20:25:55 +02:00
William Toohey b4d9b2551c Genericise TI compiler and add MSP430 support 2022-02-02 16:45:05 +02:00
Andrea Pappacoda 316cf3a717 cmake: add arch_independent kwarg
CMake's write_basic_package_version_file has supported since version 3.14
an ARCH_INDEPENDENT option that makes it skip its architecture check in
the Version file.

With this patch Meson now supports it as well, and the change is also
compatible with older CMake versions, as they will simply ignore the
option.

This also slightly changes the contents of the generated Version file
when arch_independent is not set: previously, the if() needed to skip
the arch check was always filled with an empty string, while CMake puts
"FALSE" (or "TRUE") in it. Now, that if() will always be filled with
either "False" or "True", better matching CMake's behaviour.
2022-02-01 23:48:17 -05:00
Eli Schwartz a45446b6e5
minstall: stop running ldconfig for the user
This was a nice idea in theory, but in practice it had various problems:

- On the only platform where ldconfig is expected to be run, it is
  really slow, even when the user uses a non-default prefix and ldconfig
  doesn't even have permission to run, nor can do anything useful due to
  ld.so.conf state
- On FreeBSD, it bricked the system: #9592
- On cross builds, it should not be used and broke installing, because
  ldconfig may not be runnable without binfmt + qemu: #9707
- it prints weird and confusing errors in the common "custom prefix"
  layout: #9241

Some of these problems can be or have been fixed. But it's a constant
source of footguns and complaints and for something that was originally
supposed to be just "it's the right thing to do anyway, so just do it
automatically" it is entirely too risky.

Ultimately I do not think there is justification for keeping this
feature in since it doesn't actually make everyone happy. Better for
users to decide whether they need this themselves.

This is anyways the case for cmake and autotools and generally any other
build system, so it should not be too intimidating...

Fixes #9721
2022-02-01 16:52:26 -05:00
Guillaume Quenneville 6c1bb02f13 Updated precompiled library documentation
Fix link, change wording
2022-02-01 16:34:00 -05:00
Andrew Krasavin b564e34221 new custom dependency lookup for libdl 2022-02-01 15:51:15 -05:00
Paolo Bonzini fc661c35a2 interpreter: support for forcibly verbose logging of some tests
Add a new keyword argument to test() and benchmark(), completing the
implementation of the feature.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2022-02-01 09:05:26 +01:00
Eli Schwartz 689504b860
gnome: add documentation for new kwargs
This was forgotten in commit bc8c938148 --
sorry!
2022-01-31 18:25:18 -05:00
Stone Tickle b0d29dd6ad mention fastyaml loader in the docs 2022-01-31 18:40:40 +01:00
Arsen Arsenović 6f59a86cd7 docs: correct weakref typo in Reference-tables.md 2022-01-26 19:22:17 -05:00
Arsen Arsenović 57ce83b396 compilers/c_function_attributes: add retain
retain is a relatively young attribute which has proven itself useful
for working with --gc-sections -z start-stop-gc.
2022-01-26 19:22:17 -05:00
Tristan Partin ab924fc1de Add docs for JDK system dependency
For whatever reason, the original PR was merged without documentation.
2022-01-26 15:28:35 +02:00
andy5995 a00ede432f Contributing.md:specify max line length for docs
I thought it would good to specify a general rule here so people can set
their line wrapping appropriately.

[skip ci]
2022-01-23 15:27:59 +02:00
andy5995 14d811f647 Subprojects.md:add extra detail
This adds a link
https://mesonbuild.com/Builtin-options.html#specifying-options-per-subproject
in two different places and provides an example for changing the default
options.

This info is partially based on a [recent
discussion](https://github.com/mesonbuild/meson/discussions/9830)
between me and @eli-schwartz

[skip ci]
2022-01-23 15:27:09 +02:00
andy5995 baff6bccac Subprojects.md:add link to is_subproject() 2022-01-23 01:40:23 -05:00
Eli Schwartz 603244b059
fix broken version annotations for the new itstool_join feature
It was not added in 0.61.0 as that was already released.
2022-01-22 22:11:32 -05:00
Jussi Pakkanen 4316b71017
Merge pull request #9742 from ximion/wip/itstool
i18n: Add support for joining XML localization via itstool
2022-01-22 01:01:29 +02:00
Matthias Klumpp 02fb0c3f8b i18n: Add support for joining XML localization via itstool 2022-01-21 22:26:17 +01:00
andy5995 5c7f3b5bb8 index.md:add link to GitHub Discussions section 2022-01-17 09:21:03 -05:00
Andy Alt d9dee508ae Subprojects.md:add single quotes around subproject and variable name 2022-01-16 02:04:37 +05:30
Eli Schwartz 96d0005744 gnome.genmarshal: restore the ability to pass sources as Files objects
It used to support:
- a single string
- an array of anything

And as long as CustomTarget supported it too, everything worked fine.
So, a `files('foo')` worked but a `files('foo')[0]` did not, which is
silly... and it's not exactly terrible to use files() here, the input is
literally a list of source files.

Fixes building gnome-terminal
Fixes #9827

Test updated by Nirbheek Chauhan <nirbheek@centricular.com>
2022-01-15 23:50:14 +05:30
Erik Faye-Lund f956b95712 link to mesa website instead of gitlab
The mesa website is a bit more helpful as an introduction to the project than the gitlab-project. So it seems better to link there instead.
2022-01-11 10:03:54 -05:00
Eli Schwartz ad525dcce4
bump minimum required version of python to 3.7
Comment out the pending deprecation notice. It cannot be reached
anymore, but is still useful for the next time we do a version bump.
2022-01-10 18:36:56 -05:00
Dylan Baker e77582b251 docs: fix rust module bindgen arguments
Fixes: 9795
2022-01-10 15:34:03 -08:00
Eli Schwartz f67994476d remove the RPM module
It is unmaintained, broken (frequently for long periods of time) and not
really required for any meson functionality. Its purpose is to be used
as a one-shot tool for creating a distro package recipe, and then
deleted from your meson.build files.

Due to its fragile dependency on coredata implementation details, we
cannot assume it will reliably work, or continue to work, without
someone who is actively willing to take responsibility for it.

Even if that were to happen, this might be better off as an external
script that parses introspection data.

Closes #9764
Closes #9763
2022-01-10 20:21:40 +02:00
Jussi Pakkanen 251d6f0f5d
Merge pull request #9739 from mathstuf/armclang-support
Armclang support
2022-01-10 19:01:11 +02:00
Jussi Pakkanen 9e1f20728f Prepare release 0.61.0. 2022-01-10 18:27:11 +02:00
Eli Schwartz 09f03a8424 add pending deprecation notice for python 3.6 2022-01-10 01:36:46 +02:00
x-yuri 84ac1b6fbb Running-Meson.md: fix a broken link 2022-01-10 00:45:13 +05:30
Jussi Pakkanen a311364f54 Remove docs for ghwt that got deleted ages ago. 2022-01-09 11:14:21 -05:00
Jussi Pakkanen 8b54ee58ef
Merge pull request #9773 from annacrombie/master
Add a man page backend to refman
2022-01-07 18:55:07 +02:00
Stone Tickle 2c4a98f851
add release notes for refman man page 2022-01-06 20:14:34 -06:00
John Kilpatrick 484a389bbe Fix syntax highlighting Continuous-Integration.md 2022-01-05 18:59:04 -05:00
Ben Boeckel f30e83efd6 armltdclang: add support for ARM Ltd.'s `armclang` toolchain
This is another toolchain also called `armclang`, but it is not a cross
compiler like Keil's `armclang`. It is essentially the same as `clang`
based on its interface and CMake's support of the toolchain.

Use an `armltd` prefix for the compiler ID.

Fixes: #7255
2022-01-03 12:49:04 -05:00
Pablo Correa Gómez 6a5c99b0c7
docs: Update yelp documentation to reflect what it is actually doing 2022-01-02 00:34:58 -05:00
Rafael Silva 26f188fb36 add ft32 cpu family 2021-12-17 17:47:21 +02:00
Celeste Wouters c5148d8c73 rewriter: create {add,rm}_extra_files commands
Add ability to mutate a target's `extra_files` list through the
rewriter.

The logic is copied from sources add/rm, but changes the `extra_files`
kwarg instead of the sources positional argument.
Has additional logic to handle creating the `extra_files` list if it
doesn't exist.
2021-12-15 21:21:29 +01:00
Dylan Baker 2a1c0358f4 gnome/genmarshal: Add missing kwargs to permittedKwargs
There are thee arguments that are passed directly to CustomTarget which
are not in the permittedKwargs: depends, depend_files, and build_always.
The first two are obviously generically useful, as they allow creating
correct ordering. The latter, not so much. Since it was an error to pass
it, we'll just delete it.
2021-12-07 16:12:23 -05:00
Eli Schwartz bed55a902c
gnome module: document and fix install_dir x3, by allowing false *_gir and *_typelib
generate_gir forces building both the typelib and gir, and some people
only want one or the other (probably only the typelib?) which means
flagging the other as install_dir: false in the same way custom_target
supports.

As this always worked, albeit undocumented, make sure it keeps working.
It's pretty reasonable to allow, anyway.

Fixes https://github.com/mesonbuild/meson/pull/9484#issuecomment-980131791
2021-12-06 20:07:43 -05:00
Paolo Bonzini 901f444ea5 interpreter: allow extract_objects to receive generated sources
Fixes: #8333
2021-12-06 13:27:12 -08:00
Eli Schwartz 185c4e3c95
doc: fix missing kwarg in qt5 module
compile_moc accepts "dependencies" for the same reason preprocess does,
but the original documentation never copied this over from the
preprocess docs.

See: https://github.com/mesonbuild/meson/issues/9683#issuecomment-986825041
2021-12-06 09:46:55 -05:00
Eli Schwartz 69e1f5bb9a
gnome module: document that yelp(languages: ...) is deprecated
If you use it, we emit a warning telling you to use LINGUAS instead. So
we should warn people in the documentation as well.

Fixes #9495
2021-12-01 18:33:06 -05:00
Daniel Mensinger 3f1519f2e7
cmake: Deprecate CMake <3.14 and warn for <3.17 (#9677)
* cmake: Deprecate CMake <3.14 and warn for <3.17

See:

- #7832
- #9676

* cmake: Add deprecation release note snippet
2021-12-02 00:41:48 +02:00
Pablo Correa Gómez 4f882ff8ec add install_symlink function
Allows installing symlinks directly from meson, which can
become useful in multiple scenarios. Current main use is to
help moving forward #9557
2021-12-01 13:59:54 -05:00
Luke Elliott 39856daf9a Stop backend_startup_project from erasing the last project in a VS solution
if it is not the specified project.
2021-11-25 18:14:54 +02:00
Crend King 809792c223 Support Visual Studio 2022 backend 2021-11-21 08:08:11 -05:00
Jussi Pakkanen cad109607d
Merge pull request #9520 from dcbaker/submit/gnome-first-typed-kwargs
Add typed_kwargs to some of the gnome module functions
2021-11-15 22:07:03 +02:00
Dudemanguy a4b4b21908 dependencies/zlib: Add system zlib method for android
The same method that the BSDs use should also work for android. Also
update the tests and docs where appropriate.
2021-11-15 12:40:00 -05:00
Dudemanguy f873b9ae2f Users.md: add mpv 2021-11-14 23:01:26 -05:00
Dylan Baker 6137c21eb6 modules/gnome: use typed_kwargs for compile_resources 2021-11-08 12:29:01 -08:00
Jussi Pakkanen 53febd08cd Add tutorial for building an SDL app from scratch. 2021-11-02 21:07:38 +02:00
Dylan Baker 98a9cc079c FAQ: Add entry about `add_project_link_arguments` and multiple languages
This seems to come up fairly often, so having an FAQ entry seems useful.
2021-11-02 14:03:18 -04:00
Volker Weißmann 2c079d855e Added warning if run_command is called without the check kwarg 2021-10-30 22:26:28 -04:00
rusty-snake 3c103fe49c Typo fixes (CustomTaget -> CustomTarget) 2021-10-30 14:29:17 -04:00
Jussi Pakkanen af85738daf
Merge pull request #9375 from dcbaker/submit/windows-module-typing
Typing for the Windows module
2021-10-29 22:45:04 +03:00
Xavier Claessens 5e2c251eda Add note in release notes that thin archives has been reverted 2021-10-29 11:12:02 -04:00
Matthieu Gautier 135b3bc0fd Fix markdown list in Bultin-options.md [skip ci]
The broken list was introduce by commit f72ee8e7 which fix too long lines.
2021-10-27 10:07:25 -04:00
Jussi Pakkanen 4840c86ec9 Add sccache support. 2021-10-25 19:59:49 -04:00
Nirbheek Chauhan 6ea4e21b6d Fix typos in release notes for 0.60.0 2021-10-25 00:35:11 -04:00
Jussi Pakkanen 39c268ce0d Create release notes page for 0.60. 2021-10-24 18:45:35 +03:00
Jussi Pakkanen 475b8b1ad8
Merge pull request #9377 from mensinda/jsonDocs
docs: Add a JSON documentation backend
2021-10-24 17:46:05 +03:00
Xavier Claessens 437745b028 Add missing release snippet for option() deprecated kwarg 2021-10-10 16:18:08 -04:00
Xavier Claessens 928078982c Add --vsenv command line option and active VS only when needed 2021-10-10 23:15:18 +03:00
Daniel Jacobs 31bea202c9 improve wraptool search 2021-10-10 16:12:57 -04:00
Christian Clauss a5020857f3 Fix typos discovered by codespell 2021-10-10 16:12:25 -04:00
Xavier Claessens 32b7cbd4a7 clangformat: Only format files tracked by git by default 2021-10-10 14:13:35 -04:00
Eli Schwartz 0a3a9fa0c3
ar linker: generate thin archives for uninstalled static libraries
Since they will never be used outside of the build directory, they do
not need to literally contain the .o files, and references will be
sufficient.

This covers a major use of object libraries, which is that the static
library would potentially take up a lot of space by including another
copy of every .o file.

Fixes #9292
Fixes #8057
Fixes #2129
2021-10-10 13:32:22 -04:00
Eli Schwartz 4d9cc9ceab Add release notes for `subprojects packagefiles`. 2021-10-10 10:17:55 -04:00
Eli Schwartz 2a2c246df2
Zipapp docs (#9356)
* Revert "README: Don't recommend using as a standalone script"

This reverts commit 9763bf65c6.

zipapps work fine now that we have a single entry point. Time to
recommend them again.

* update zipapp documentation to recommend the current packaging script

Also update the website documentation to mention this at all.
2021-10-10 14:20:17 +03:00
Dylan Baker 6849baa476 modules/windows: allow CustomTargets with more than one output for compile_resources 2021-10-09 21:34:54 -07:00
Xavier Claessens 77ef437cc4 optinterpreter: Add deprecated kwarg
It can be either:
- boolean: the option is completely deprecated.
- list: some choices are deprecated.
- dict: some choices are deprecated and replaced by another.

Fixes: #7444
2021-10-09 18:13:34 -04:00
Daniel Mensinger 88db532bf9
docs: Update docs 2021-10-09 23:07:24 +02:00
Xavier Claessens 329d111709 python: Add platlibdir and purelibdir options 2021-10-08 17:47:35 -04:00
Eli Schwartz 108bd996ee
add install_emptydir function
This replaces the absolute hack of using

```
install_subdir('nonexisting', install_dir: 'share')
```

which requires you to make sure you don't accidentally or deliberately
have a completely different directory with the same name in your source
tree that is full of files you don't want installed. It also avoids
splitting the name in two and listing them in the wrong order.

You can also set the install mode of each directory component by listing
them one at a time in order, and in fact create nested structures at
all.

Fixes #1604
Properly fixes #2904
2021-10-08 14:35:00 -04:00
Ismayil Mirzali 54e17ad597 Add Mac installation instructions for Homebrew 2021-10-08 14:34:15 -04:00
Dylan Baker bcfbfbb343 modules/gnome: deprecate yelp variadic sources
Yelp currently can take sources two different ways, the first is via
variadic arguments, the second is by a keyword argument. If the keyword
is passed then the variadic arguments are silently ignored, which is
obviously not ideal. Fortunately the variadic form was never documented,
and is likely not in wide use.

This patch fixes it by deprecating the variadic form, and warning if
both are passed. It does not change behavior as someone may be relying
on it.
2021-10-07 09:26:35 -07:00
Daniel Mensinger a8189d0c70 docs: Temporarily disable modules and move RefMan --> Reference-manual 2021-10-04 23:11:48 +02:00
Daniel Mensinger 1da7a0e29a
docs: Document documenting Meson 2021-10-03 12:19:45 +02:00
Daniel Mensinger 2327cb5eb3
docs: Fix broken links 2021-10-03 12:19:45 +02:00
Daniel Mensinger 30435e5197
docs: Remove the old Reference manual 2021-10-03 12:19:41 +02:00
Daniel Mensinger c10e228371
docs: Fixes found during the YAML conversion process 2021-10-03 11:51:37 +02:00
Xavier Claessens 4deeb907b6 dependency: Allow searching for multiple names 2021-09-30 17:49:15 -04:00
Xavier Claessens d2fa6d5080 Make custom_target() name argument optional 2021-09-30 12:26:19 -04:00
Stone Tickle fbc2e9b0ef doc: document string.strip() optional argument [skip ci] 2021-09-30 00:27:48 +03:00
Jussi Pakkanen fa47d8dab0
Merge pull request #9014 from bonzini/mixed-language-link
Use appropriate compiler for the source file for "links" tests with file argument
2021-09-28 17:32:44 +03:00
Jussi Pakkanen f6ae82169c
Merge pull request #8773 from dcbaker/submit/rustc-enhancements-clippy
More enhancements for Rust + clippy support
2021-09-25 14:42:12 +03:00
Daniel Mensinger 6b00c7dc81 Remove helpers.check_stringlist() 2021-09-25 12:44:11 +02:00
Daniel Mensinger d93d01b6c5 interpreter: Introduce StringHolder
Another commit in my quest to rid InterpreterBase from all higher
level object processing logic.

Additionally, there is a a logic change here, since `str.join` now
uses varargs and can now accept more than one argument (and supports
list flattening).
2021-09-25 12:44:11 +02:00