diff options
Diffstat (limited to 'docs/markdown')
24 files changed, 184 insertions, 184 deletions
diff --git a/docs/markdown/Continuous-Integration.md b/docs/markdown/Continuous-Integration.md index f24bdb0..ec0b4e0 100644 --- a/docs/markdown/Continuous-Integration.md +++ b/docs/markdown/Continuous-Integration.md @@ -207,7 +207,7 @@ GCC on Linux, Mac and Windows. The optional `on:` parameters only run this CI when the C code is changed--corresponding ci_python.yml might run only on "**.py" file changes. -```yml +```yaml name: ci_meson on: diff --git a/docs/markdown/Getting-meson.md b/docs/markdown/Getting-meson.md index ec6f1c6..c3c3cc8 100644 --- a/docs/markdown/Getting-meson.md +++ b/docs/markdown/Getting-meson.md @@ -1,6 +1,6 @@ # Getting Meson -Meson is implemented in Python 3, and requires 3.6 or newer. If your +Meson is implemented in Python 3, and requires 3.7 or newer. If your operating system provides a package manager, you should install it with that. For platforms that don't have a package manager, you need to download it from [Python's home page]. See below for @@ -14,7 +14,7 @@ itself without doing anything special. On Windows, if you did not install Python with the installer options that make Python scripts executable, you will have to run `python -/path/to/meson.py`, where `python` is Python 3.6 or newer. +/path/to/meson.py`, where `python` is Python 3.7 or newer. The newest development code can be obtained directly from [Git], and we strive to ensure that it will always be working and usable. All diff --git a/docs/markdown/Getting-meson_ptbr.md b/docs/markdown/Getting-meson_ptbr.md index b5af345..f4f3ac1 100644 --- a/docs/markdown/Getting-meson_ptbr.md +++ b/docs/markdown/Getting-meson_ptbr.md @@ -1,6 +1,6 @@ # Obtendo o Meson -Meson é implementado em Python 3, e requer a versão 3.6 ou mais nova. +Meson é implementado em Python 3, e requer a versão 3.7 ou mais nova. se o seu sistema operacional provê um gerenciador de pacotes, você deve instalar o Meson com ele. Para plataformas que não tem um gerenciador de pacotes, você precisa baixa-lo da [página inicial do Python]. Veja abaixo @@ -14,7 +14,7 @@ do git sem fazer nada de especial. No Windows, se você não instalar o Python com a opção do instalador que fazem os *scripts* Python executáveis, você vai ter que executar `python -/path/to/meson.py`, onde `python` é o Python 3.6 ou mais novo. +/path/to/meson.py`, onde `python` é o Python 3.7 ou mais novo. O código de desenvolvimento mais recente pode ser obtido diretamente do [Git], e nós lutamos para garatir que ele vai estar sempre funcionando e usável. Todos diff --git a/docs/markdown/Gnome-module.md b/docs/markdown/Gnome-module.md index 4f08c6d..616562a 100644 --- a/docs/markdown/Gnome-module.md +++ b/docs/markdown/Gnome-module.md @@ -133,8 +133,7 @@ argument is the basename of the output files. * `nostdinc`: if true, don't include the standard marshallers from glib * `prefix`: the prefix to use for symbols * `skip_source`: if true, skip source location comments -* `sources` []str *required*: List of string sources to consume -* `sources`: the list of sources to use as inputs +* `sources` [](str | File) *required*: the list of sources to use as inputs * `stdinc`: if true, include the standard marshallers from glib * `valist_marshallers`: if true, generate va_list marshallers @@ -321,8 +320,8 @@ VAPI or Vala binaries. languages: []string, symlink_media: bool = true): void ``` -Installs help documentation using Yelp. The first argument is the -project id. +Installs help documentation for Yelp using itstool and gettext. The first +argument is the project id. Additionally, sources can be passed as additional positional arguments. This was, however, undocumented and never officially supported. Due to a longstanding diff --git a/docs/markdown/RPM-module.md b/docs/markdown/RPM-module.md deleted file mode 100644 index cab6d96..0000000 --- a/docs/markdown/RPM-module.md +++ /dev/null @@ -1,16 +0,0 @@ -# RPM module - -The RPM module can be used to create a sample rpm spec file for a -Meson project. It autodetects installed files, dependencies and so -on. Using it is very simple. At the very end of your Meson project -(that is, the end of your top level `meson.build` file) add these two -lines. - -```meson -rpm = import('rpm') -rpm.generate_spec_template() -``` - -Run Meson once on your code and the template will be written in your -build directory. Then remove the two lines above and manually edit the -template to add missing information. After this it is ready for use. diff --git a/docs/markdown/Release-notes-for-0.61.0.md b/docs/markdown/Release-notes-for-0.61.0.md new file mode 100644 index 0000000..8798453 --- /dev/null +++ b/docs/markdown/Release-notes-for-0.61.0.md @@ -0,0 +1,138 @@ +--- +title: Release 0.61.0 +short-description: Release notes for 0.61.0 +... + +# New features + +## backend_startup_project + +`backend_startup_project` will no longer erase the last project in a VS +solution if it is not the specified project. + +## Windows.compile_resources CustomTarget + +Previously the Windows module only accepted CustomTargets with one output, it +now accepts them with more than one output, and creates a windows resource +target for each output. Additionally it now accepts indexes of CustomTargets + +```meson + +ct = custom_target( + 'multiple', + output : ['resource', 'another resource'], + ... +) + +ct2 = custom_target( + 'slice', + output : ['resource', 'not a resource'], + ... +) + +resources = windows.compile_resources(ct, ct2[0]) +``` + +## Add a man page backend to refman + +The refman docs (function and object reference) can now be generated as a man +page. + +## ``extract_objects()`` supports generated sources + +Custom targets or generated files (returned by ``generator.process()``) +can now be passed to ``extract_objects()``. + +## Python 3.6 support will be dropped in the next release + +The final [Python 3.6 release was 3.6.15 in September](https://www.python.org/dev/peps/pep-0494/#lifespan). +This release series is now End-of-Life (EOL). The only LTS distribution that +still ships Python 3.5 as the default Python is Ubuntu 18.04, which has Python +3.8 available as well. + +Python 3.7 has various features that we find useful such as future annotations, +the importlib.resources module, and dataclasses. + +As a result, we will begin requiring Python 3.7 or newer in Meson 0.62, which +is the next release. Starting with Meson 0.61, we now print a `NOTICE:` when +a `meson` command is run on Python 3.6 to inform users about this. + +## Warning if check kwarg of run_command is missing + +The `check` kwarg of `run_command` currently defaults to `false`. +Because we want to change that, running +```meson +run_command('cmd') +``` +now results in: +```text +WARNING: You should add the boolean check kwarg to the run_command call. + It currently defaults to false, + but it will default to true in future releases of meson. + See also: https://github.com/mesonbuild/meson/issues/9300 +``` + +## `meson rewrite` can modify `extra_files` + +The build script rewriter can now modify targets' `extra_files` lists, +or create them if absent. It it used in the same way as with rewriting +source lists: + +```bash +meson rewrite target <target name/id> {add_extra_files/rm_extra_files} [list of extra files] +``` + +The rewriter's script mode also supports these actions: + +```json +{ + "type": "target", + "target": "<target name>", + "operation": "extra_files_add / extra_files_rm", + "sources": ["list", "of", "extra", "files", "to", "add, remove"], +} +``` + +## `meson rewrite target <target> info` outputs *target*'s `extra_files` + +Targets' `extra_files` lists are now included in the rewriter's target info dump +as a list of file paths, in the same way `sources` are. This applies to both +`meson rewrite` CLI and script mode. + +## Visual Studio 2022 backend + +As Visual Studio 2022 is released recently, it's time to support the +new version in Meson. This mainly includes the new "v143" platform tools. + +The usage is similar to other backends. For example +```meson +meson setup builddir --backend=vs2022 +``` +will configure "builddir" for projects compatible with Visual Studio 2022. + +## Support for CMake <3.14 is now deprecated for CMake subprojects + +In CMake 3.14, the File API was introduced and the old CMake server API was +deprecated (and removed in CMake 3.20). Thus support for this API will also +be removed from Meson in future releases. + +This deprecation only affects CMake subprojects. + +## Added support for sccache + +Meson now supports [sccache](https://github.com/mozilla/sccache) just +like it has supported CCache. If both sccache and CCache are +available, the autodetection logic prefers sccache. + +## install_symlink function + +It is now possible to request for symbolic links to be installed during +installation. The `install_symlink` function takes a positional argument to +the link name, and installs a symbolic link pointing to `pointing_to` target. +The link will be created under `install_dir` directory and cannot contain path +separators. + +```meson +install_symlink('target', pointing_to: '../bin/target', install_dir: '/usr/sbin') +``` + diff --git a/docs/markdown/Running-Meson.md b/docs/markdown/Running-Meson.md index 2873cbc..2bc0b9b 100644 --- a/docs/markdown/Running-Meson.md +++ b/docs/markdown/Running-Meson.md @@ -31,7 +31,7 @@ meson setup builddir We invoke Meson with the `setup` command, giving it the location of the build directory. Meson uses [out of source -builds](http://voices.canonical.com/jussi.pakkanen/2013/04/16/why-you-should-consider-using-separate-build-directories/). +builds](http://web.archive.org/web/20190715081007/http://voices.canonical.com/jussi.pakkanen/2013/04/16/why-you-should-consider-using-separate-build-directories/). Hint: The syntax of Meson is `meson [command] [arguments] [options]`. The `setup` command takes a `builddir` and a `srcdir` argument. If no diff --git a/docs/markdown/Rust-module.md b/docs/markdown/Rust-module.md index 9f8b09b..54834b7 100644 --- a/docs/markdown/Rust-module.md +++ b/docs/markdown/Rust-module.md @@ -34,7 +34,7 @@ that automatically. Additional, test only dependencies may be passed via the dependencies argument. -### bindgen(*, input: string | BuildTarget | []string | []BuildTarget, output: string, include_directories: []include_directories, c_args: []string, args: []string) +### bindgen(*, input: string | BuildTarget | [](string | BuildTarget), output: string, include_directories: []include_directories, c_args: []string, args: []string) This function wraps bindgen to simplify creating rust bindings around C libraries. This has two advantages over hand-rolling ones own with a @@ -60,8 +60,8 @@ rust = import('unstable-rust') inc = include_directories('..'¸ '../../foo') generated = rust.bindgen( - 'myheader.h', - 'generated.rs', + input : 'myheader.h', + output : 'generated.rs', include_directories : [inc, include_directories('foo')], args : ['--no-rustfmt-bindings'], c_args : ['-DFOO=1'], @@ -77,7 +77,7 @@ h1 = custom_target(...) h2 = custom_target(...) r1 = rust.bindgen( - [h1, h2], # h1 includes h2, - 'out.rs', + input : [h1, h2], # h1 includes h2, + output : 'out.rs', ) ``` diff --git a/docs/markdown/Subprojects.md b/docs/markdown/Subprojects.md index 7cb04e0..fef9d11 100644 --- a/docs/markdown/Subprojects.md +++ b/docs/markdown/Subprojects.md @@ -153,7 +153,7 @@ Because this is such a common operation, Meson provides a shortcut for this use case. ```meson -dep = dependency('foo', fallback : [subproject_name, variable_name]) +dep = dependency('foo', fallback : ['subproject_name', 'variable_name']) ``` The `fallback` keyword argument takes two items, the name of the diff --git a/docs/markdown/Users.md b/docs/markdown/Users.md index bd146d7..8510d6e 100644 --- a/docs/markdown/Users.md +++ b/docs/markdown/Users.md @@ -94,7 +94,7 @@ format files - [Libvirt](https://libvirt.org), a toolkit to manage virtualization platforms - [Libzim](https://github.com/openzim/libzim), the reference implementation for the ZIM file format - [Marker](https://github.com/fabiocolacio/Marker), a GTK-3 markdown editor - - [Mesa](https://gitlab.freedesktop.org/mesa/mesa/), an open source graphics driver project + - [Mesa](https://mesa3d.org/), an open source graphics driver project - [MiracleCast](https://github.com/albfan/miraclecast), connect external monitors to your system via Wifi-Display specification aka Miracast - [mpv](https://github.com/mpv-player/mpv), a free, open source, and cross-platform media player - [mrsh](https://github.com/emersion/mrsh), a minimal POSIX shell diff --git a/docs/markdown/fallback-wraptool.md b/docs/markdown/fallback-wraptool.md deleted file mode 100644 index d4f5af2..0000000 --- a/docs/markdown/fallback-wraptool.md +++ /dev/null @@ -1,43 +0,0 @@ ---- -title: fallback wraptool -... - -# In case of emergency - -In case wraptool is down we have created a backup script that you can -use to download wraps directly from the GitHub repos. It is not as -slick and may have bugs but at least it will allow you to use wraps. - -## Using it - -To list all available wraps: - - ghwt.py list - -To install a wrap, go to your source root, make sure that the -`subprojects` directory exists and run this command: - - ghwt.py install <projectname> [<branchname>] - -This will stage the subproject ready to use. If you have multiple -subprojects you need to download them all manually. - -Specifying branch name is optional. If not specified, the list of -potential branches is sorted alphabetically and the last branch is -used. - -*Note* The tool was added in 0.32.0, for versions older than that you -need to delete the `foo.wrap` file to work around this issue. - -## How to upgrade an existing dir/fix broken state/any other problem - -Nuke the contents of `subprojects` and start again. - -## Known issues - -Some repositories show up in the list but are not installable. They -would not show up in the real WrapDB because they are works in -progress. - -GitHub web API limits the amount of queries you can do to 60/hour. If -you exceed that you need to wait for the timer to reset. diff --git a/docs/markdown/index.md b/docs/markdown/index.md index 14bdfbe..427cc05 100644 --- a/docs/markdown/index.md +++ b/docs/markdown/index.md @@ -31,14 +31,16 @@ read [this beginner guide](SimpleStart.md) to get started. ## Community -There are two main methods of connecting with other Meson -developers. The easiest way for most people is a web chat. The channel -to use is `#mesonbuild` either via Matrix ([web +The easiest way for most people to connect to other Meson developers is +a web chat. The channel to use is `#mesonbuild` either via Matrix ([web interface](https://app.element.io/#/room/#mesonbuild:matrix.org)) or [OFTC IRC](https://www.oftc.net/). -The second one is the mailing list, which is hosted at -[Google Groups](https://groups.google.com/forum/#!forum/mesonbuild). +Other methods of communication include the [mailing +list](https://groups.google.com/forum/#!forum/mesonbuild) (hosted by +Google Groups) and the +[Discussions](https://github.com/mesonbuild/meson/discussions) section +of the Meson GitHub repository. ### [Projects using Meson](Users.md) diff --git a/docs/markdown/snippets/about_minimum_python_version.md b/docs/markdown/snippets/about_minimum_python_version.md new file mode 100644 index 0000000..fa44a75 --- /dev/null +++ b/docs/markdown/snippets/about_minimum_python_version.md @@ -0,0 +1,7 @@ +## Minimum required Python version updated to 3.7 + +Meson now requires at least Python version 3.7 to run as Python 3.6 reached EOL +on December 2021. In practice this should only affect people developing on +Ubuntu Bionic, who will need to manually install python3.8 from the official +repositories. + diff --git a/docs/markdown/snippets/armclang-support.md b/docs/markdown/snippets/armclang-support.md new file mode 100644 index 0000000..80e7af2 --- /dev/null +++ b/docs/markdown/snippets/armclang-support.md @@ -0,0 +1,6 @@ +## Support for ARM Ltd. Clang toolchain + +Support for the `armltdclang` compiler has been added. This differs from the +existing `armclang` toolchain in that it is a fork of Clang by ARM Ltd. and +supports native compilation. The Keil `armclang` toolchain only supports +cross-compilation to embedded devices. diff --git a/docs/markdown/snippets/check_false_warning.md b/docs/markdown/snippets/check_false_warning.md deleted file mode 100644 index 50214b7..0000000 --- a/docs/markdown/snippets/check_false_warning.md +++ /dev/null @@ -1,14 +0,0 @@ -## Warning if check kwarg of run_command is missing - -The `check` kwarg of `run_command` currently defaults to `false`. -Because we want to change that, running -```meson -run_command('cmd') -``` -now results in: -```text -WARNING: You should add the boolean check kwarg to the run_command call. - It currently defaults to false, - but it will default to true in future releases of meson. - See also: https://github.com/mesonbuild/meson/issues/9300 -``` diff --git a/docs/markdown/snippets/cmake_deprecated.md b/docs/markdown/snippets/cmake_deprecated.md deleted file mode 100644 index 9e456e7..0000000 --- a/docs/markdown/snippets/cmake_deprecated.md +++ /dev/null @@ -1,7 +0,0 @@ -## Support for CMake <3.14 is now deprecated for CMake subprojects - -In CMake 3.14, the File API was introduced and the old CMake server API was -deprecated (and removed in CMake 3.20). Thus support for this API will also -be removed from Meson in future releases. - -This deprecation only affects CMake subprojects. diff --git a/docs/markdown/snippets/extract-more-objects.md b/docs/markdown/snippets/extract-more-objects.md deleted file mode 100644 index 73a4757..0000000 --- a/docs/markdown/snippets/extract-more-objects.md +++ /dev/null @@ -1,4 +0,0 @@ -## ``extract_objects()`` supports generated sources - -Custom targets or generated files (returned by ``generator.process()``) -can now be passed to ``extract_objects()``. diff --git a/docs/markdown/snippets/fix_backend_startup_project.md b/docs/markdown/snippets/fix_backend_startup_project.md deleted file mode 100644 index 8269ef6..0000000 --- a/docs/markdown/snippets/fix_backend_startup_project.md +++ /dev/null @@ -1,4 +0,0 @@ -## backend_startup_project - -`backend_startup_project` will no longer erase the last project in a VS -solution if it is not the specified project. diff --git a/docs/markdown/snippets/install_symlink.md b/docs/markdown/snippets/install_symlink.md deleted file mode 100644 index 752c422..0000000 --- a/docs/markdown/snippets/install_symlink.md +++ /dev/null @@ -1,11 +0,0 @@ -## install_symlink function - -It is now possible to request for symbolic links to be installed during -installation. The `install_symlink` function takes a positional argument to -the link name, and installs a symbolic link pointing to `pointing_to` target. -The link will be created under `install_dir` directory and cannot contain path -separators. - -```meson -install_symlink('target', pointing_to: '../bin/target', install_dir: '/usr/sbin') -``` diff --git a/docs/markdown/snippets/removing_rpm_module.md b/docs/markdown/snippets/removing_rpm_module.md new file mode 100644 index 0000000..c492d51 --- /dev/null +++ b/docs/markdown/snippets/removing_rpm_module.md @@ -0,0 +1,10 @@ +## Removal of the RPM module + +Due to lack of interest, lack of maintainership, and lack of a clear purpose, +the RPM module has been removed. + +Users interested in one-shot tools to generate an RPM spec file template for +distro packaging, are encouraged develop an external tool that reads the +introspection data. + +For more details, see https://github.com/mesonbuild/meson/issues/9764 diff --git a/docs/markdown/snippets/rewriter_extra_files.md b/docs/markdown/snippets/rewriter_extra_files.md deleted file mode 100644 index c46f076..0000000 --- a/docs/markdown/snippets/rewriter_extra_files.md +++ /dev/null @@ -1,26 +0,0 @@ -## `meson rewrite` can modify `extra_files` - -The build script rewriter can now modify targets' `extra_files` lists, -or create them if absent. It it used in the same way as with rewriting -source lists: - -```bash -meson rewrite target <target name/id> {add_extra_files/rm_extra_files} [list of extra files] -``` - -The rewriter's script mode also supports these actions: - -```json -{ - "type": "target", - "target": "<target name>", - "operation": "extra_files_add / extra_files_rm", - "sources": ["list", "of", "extra", "files", "to", "add, remove"], -} -``` - -## `meson rewrite target <target> info` outputs *target*'s `extra_files` - -Targets' `extra_files` lists are now included in the rewriter's target info dump -as a list of file paths, in the same way `sources` are. This applies to both -`meson rewrite` CLI and script mode. diff --git a/docs/markdown/snippets/sccache.md b/docs/markdown/snippets/sccache.md deleted file mode 100644 index 72bdf5f..0000000 --- a/docs/markdown/snippets/sccache.md +++ /dev/null @@ -1,5 +0,0 @@ -## Added support for sccache - -Meson now supports [sccache](https://github.com/mozilla/sccache) just -like it has supported CCache. If both sccache and CCache are -available, the autodetection logic prefers sccache. diff --git a/docs/markdown/snippets/vs_2022.md b/docs/markdown/snippets/vs_2022.md deleted file mode 100644 index 0c3ff02..0000000 --- a/docs/markdown/snippets/vs_2022.md +++ /dev/null @@ -1,10 +0,0 @@ -## Visual Studio 2022 backend - -As Visual Studio 2022 is released recently, it's time to support the -new version in Meson. This mainly includes the new "v143" platform tools. - -The usage is similar to other backends. For example -```meson -meson setup builddir --backend=vs2022 -``` -will configure "builddir" for projects compatible with Visual Studio 2022. diff --git a/docs/markdown/snippets/windows_custom_targets.md b/docs/markdown/snippets/windows_custom_targets.md deleted file mode 100644 index cbc2f9d..0000000 --- a/docs/markdown/snippets/windows_custom_targets.md +++ /dev/null @@ -1,22 +0,0 @@ -## Windows.compile_resources CustomTarget - -Previously the Windows module only accepted CustomTargets with one output, it -now accepts them with more than one output, and creates a windows resource -target for each output. Additionally it now accepts indexes of CustomTargets - -```meson - -ct = custom_target( - 'multiple', - output : ['resource', 'another resource'], - ... -) - -ct2 = custom_target( - 'slice', - output : ['resource', 'not a resource'], - ... -) - -resources = windows.compile_resources(ct, ct2[0]) -``` |