diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2021-01-31 18:00:24 +0200 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2021-01-31 19:49:20 +0000 |
commit | 474f4813c477c30bed842baa706170e5e902838c (patch) | |
tree | b32990d77af51d03e98c01a3a1af78def756b26f /docs | |
parent | 4bde7f31ae5fa162a514f3d876d38943fcdff406 (diff) | |
download | meson-474f4813c477c30bed842baa706170e5e902838c.zip meson-474f4813c477c30bed842baa706170e5e902838c.tar.gz meson-474f4813c477c30bed842baa706170e5e902838c.tar.bz2 |
Capitalize "Meson" consistently as it is a proper name. [skip ci]
Diffstat (limited to 'docs')
51 files changed, 174 insertions, 174 deletions
diff --git a/docs/markdown/Builtin-options.md b/docs/markdown/Builtin-options.md index 189204f..ef327e3 100644 --- a/docs/markdown/Builtin-options.md +++ b/docs/markdown/Builtin-options.md @@ -54,7 +54,7 @@ should always override this value. `libdir` is automatically detected based on your platform, it should be correct when doing "native" (build machine == host machine) -compilation. For cross compiles meson will try to guess the correct +compilation. For cross compiles Meson will try to guess the correct libdir, but it may not be accurate, especially on Linux where different distributions have different defaults. Using a [cross file](Cross-compilation.md#defining-the-environment), particularly the diff --git a/docs/markdown/CMake-module.md b/docs/markdown/CMake-module.md index 7e981c6..b82227d 100644 --- a/docs/markdown/CMake-module.md +++ b/docs/markdown/CMake-module.md @@ -5,7 +5,7 @@ This module provides helper tools for generating cmake package files. It also supports the usage of CMake based subprojects, similar to -the normal [meson subprojects](Subprojects.md). +the normal [Meson subprojects](Subprojects.md). ## Usage @@ -22,7 +22,7 @@ lead to unexpected issues in rare cases. ## CMake subprojects -Using CMake subprojects is similar to using the "normal" meson +Using CMake subprojects is similar to using the "normal" Meson subprojects. They also have to be located in the `subprojects` directory. @@ -44,9 +44,9 @@ cm_lib = sub_proj.dependency('cm_lib') executable(exe1, ['sources'], dependencies: [cm_lib]) ``` -The `subproject` method is almost identical to the normal meson +The `subproject` method is almost identical to the normal Meson `subproject` function. The only difference is that a CMake project -instead of a meson project is configured. +instead of a Meson project is configured. The returned `sub_proj` supports the same options as a "normal" subproject. Meson automatically detects CMake build targets, which can @@ -54,7 +54,7 @@ be accessed with the methods listed [below](#subproject-object). It is usually enough to just use the dependency object returned by the `dependency()` method in the build targets. This is almost identical -to using `declare_dependency()` object from a normal meson subproject. +to using `declare_dependency()` object from a normal Meson subproject. It is also possible to use executables defined in the CMake project as code generators with the `target()` method: @@ -125,7 +125,7 @@ configured and must be passed to the `subproject` method via the `options` key. Altering the configuration object won't have any effect on previous `cmake.subproject` calls. -In earlier meson versions CMake command-line parameters could be set +In earlier Meson versions CMake command-line parameters could be set with the `cmake_options` kwarg. However, this feature is deprecated since 0.55.0 and only kept for compatibility. It will not work together with the `options` kwarg. @@ -139,7 +139,7 @@ and supports the following methods: `include_type` kwarg *(new in 0.56.0)* controls the include type of the returned dependency object similar to the same kwarg in the [`dependency()`](Reference-manual.md#dependency) function. - - `include_directories(target)` returns a meson `include_directories()` + - `include_directories(target)` returns a Meson `include_directories()` object for the specified target. Using this function is not necessary if the dependency object is used. - `target(target)` returns the raw build target. @@ -149,7 +149,7 @@ and supports the following methods: the subproject. Usually `dependency()` or `target()` should be preferred to extract build targets. - `found` returns true if the subproject is available, otherwise false - *new in meson 0.53.2* + *new in Meson 0.53.2* ### `cmake options` object diff --git a/docs/markdown/Commands.md b/docs/markdown/Commands.md index 96f1142..8989165 100644 --- a/docs/markdown/Commands.md +++ b/docs/markdown/Commands.md @@ -48,7 +48,7 @@ meson configure builddir -Doption=new_value {{ compile_usage.inc }} -Builds a default or a specified target of a configured meson project. +Builds a default or a specified target of a configured Meson project. {{ compile_arguments.inc }} @@ -154,7 +154,7 @@ meson init -C sourcedir {{ introspect_usage.inc }} -Displays information about a configured meson project. +Displays information about a configured Meson project. {{ introspect_arguments.inc }} @@ -196,23 +196,23 @@ DESTDIR=/path/to/staging/area meson install -C builddir {{ rewrite_usage.inc }} -Modifies the meson project. +Modifies the Meson project. {{ rewrite_arguments.inc }} -See [the meson file rewriter documentation](Rewriter.md) for more info. +See [the Meson file rewriter documentation](Rewriter.md) for more info. ### setup {{ setup_usage.inc }} -Configures a build directory for the meson project. +Configures a build directory for the Meson project. -This is the default meson command (invoked if there was no COMMAND supplied). +This is the default Meson command (invoked if there was no COMMAND supplied). {{ setup_arguments.inc }} -See [meson introduction +See [Meson introduction page](Running-Meson.md#configuring-the-build-directory) for more info. #### Examples: @@ -228,7 +228,7 @@ meson setup builddir {{ subprojects_usage.inc }} -Manages subprojects of the meson project. +Manages subprojects of the Meson project. {{ subprojects_arguments.inc }} @@ -236,7 +236,7 @@ Manages subprojects of the meson project. {{ test_usage.inc }} -Run tests for the configure meson project. +Run tests for the configure Meson project. {{ test_arguments.inc }} diff --git a/docs/markdown/Compiler-properties.md b/docs/markdown/Compiler-properties.md index d3382b3..e231e16 100644 --- a/docs/markdown/Compiler-properties.md +++ b/docs/markdown/Compiler-properties.md @@ -161,7 +161,7 @@ specified its contents is put at the top of the source file. This argument is typically used for setting `#include` directives in configuration files. -In older versions (<= 0.30) meson would error out if the size could +In older versions (<= 0.30) Meson would error out if the size could not be determined. Since version 0.31 it returns -1 if the size could not be determined. diff --git a/docs/markdown/Configuration.md b/docs/markdown/Configuration.md index a2fc639..55f0170 100644 --- a/docs/markdown/Configuration.md +++ b/docs/markdown/Configuration.md @@ -115,7 +115,7 @@ Will produce: ## Dealing with file encodings -The default meson file encoding to configure files is utf-8. If you +The default Meson file encoding to configure files is utf-8. If you need to configure a file that is not utf-8 encoded the encoding keyword will allow you to specify which file encoding to use. It is however strongly advised to convert your non utf-8 file to utf-8 diff --git a/docs/markdown/Configuring-a-build-directory.md b/docs/markdown/Configuring-a-build-directory.md index 0b6053c..c552676 100644 --- a/docs/markdown/Configuring-a-build-directory.md +++ b/docs/markdown/Configuring-a-build-directory.md @@ -116,5 +116,5 @@ all the work required to bring your build tree up to date. Since 0.50.0, it is also possible to get a list of all build options by invoking [`meson configure`](Commands.md#configure) with the project source directory or the path to the root `meson.build`. In -this case, meson will print the default values of all options similar +this case, Meson will print the default values of all options similar to the example output from above. diff --git a/docs/markdown/Continuous-Integration.md b/docs/markdown/Continuous-Integration.md index d2b64f2..46e7c29 100644 --- a/docs/markdown/Continuous-Integration.md +++ b/docs/markdown/Continuous-Integration.md @@ -164,7 +164,7 @@ the AppVeyor docs for more details. ### Boost -The following statement is sufficient for meson to find Boost: +The following statement is sufficient for Meson to find Boost: ```yaml - cmd: set BOOST_ROOT=C:\Libraries\boost_1_67_0 diff --git a/docs/markdown/Contributing.md b/docs/markdown/Contributing.md index fe5bd0d..647d0fd 100644 --- a/docs/markdown/Contributing.md +++ b/docs/markdown/Contributing.md @@ -39,7 +39,7 @@ Every new feature requires some extra steps, namely: - Must be registered with the [FeatureChecks framework](Release-notes-for-0.47.0.md#feature-detection-based-on-meson_version-in-project) that will warn the user if they try to use a new feature while - targeting an older meson version. + targeting an older Meson version. - Needs a release note snippet inside `docs/markdown/snippets/` with a heading and a brief paragraph explaining what the feature does with an example. @@ -171,7 +171,7 @@ Additionally: * `crossfile.ini` and `nativefile.ini` are passed to the configure step with `--cross-file` and `--native-file` options, respectively. -* `mlog.cmd_ci_include()` can be called from anywhere inside meson to +* `mlog.cmd_ci_include()` can be called from anywhere inside Meson to capture the contents of an additional file into the CI log on failure. Projects needed by unit tests are in the `test cases/unit` @@ -301,10 +301,10 @@ considered if the platform matches. The following values for #### matrix The `matrix` section can be used to define a test matrix to run -project tests with different meson options. +project tests with different Meson options. In the `options` dict, all possible options and their values are -specified. Each key in the `options` dict is a meson option. It stores +specified. Each key in the `options` dict is a Meson option. It stores a list of all potential values in a dict format, which allows to skip specific values based on the current environment. diff --git a/docs/markdown/Creating-Linux-binaries.md b/docs/markdown/Creating-Linux-binaries.md index f5aa6a4..71c96e4 100644 --- a/docs/markdown/Creating-Linux-binaries.md +++ b/docs/markdown/Creating-Linux-binaries.md @@ -84,7 +84,7 @@ things to note. First, you must tell GCC to link the C++ standard library statically. If you don't then your app is guaranteed to break as different distros have binary-incompatible C++ libraries. The second thing is that you need to point your install prefix to some -empty staging area. Here's the meson command to do that: +empty staging area. Here's the Meson command to do that: ```console $ LDFLAGS=-static-libstdc++ meson --prefix=/tmp/myapp <other args> diff --git a/docs/markdown/Creating-releases.md b/docs/markdown/Creating-releases.md index 1e039ea..b824459 100644 --- a/docs/markdown/Creating-releases.md +++ b/docs/markdown/Creating-releases.md @@ -17,7 +17,7 @@ single command *(available since 0.52.0)*: meson dist ``` -or alternatively (on older meson versions with `ninja` backend): +or alternatively (on older Meson versions with `ninja` backend): ```sh ninja dist diff --git a/docs/markdown/Cross-compilation.md b/docs/markdown/Cross-compilation.md index b25504a..d4fb074 100644 --- a/docs/markdown/Cross-compilation.md +++ b/docs/markdown/Cross-compilation.md @@ -201,7 +201,7 @@ matter of calling `host_machine.system()`. There are two different values for the CPU. The first one is `cpu_family`. It is a general type of the CPU. This should have a value from [the CPU Family table](Reference-tables.md#cpu-families). -*Note* that meson does not add `el` to end cpu_family value for little +*Note* that Meson does not add `el` to end cpu_family value for little endian systems. Big endian and little endian mips are both just `mips`, with the `endian` field set approriately. @@ -321,7 +321,7 @@ myvar = meson.get_cross_property('somekey') ## Cross file locations -As of version 0.44.0 meson supports loading cross files from system +As of version 0.44.0 Meson supports loading cross files from system locations (except on Windows). This will be $XDG_DATA_DIRS/meson/cross, or if XDG_DATA_DIRS is undefined, then /usr/local/share/meson/cross and /usr/share/meson/cross will be tried diff --git a/docs/markdown/Dependencies.md b/docs/markdown/Dependencies.md index d357ec1..2ac775b 100644 --- a/docs/markdown/Dependencies.md +++ b/docs/markdown/Dependencies.md @@ -138,7 +138,7 @@ of all the work behind the scenes to make this work. # Dependency method -You can use the keyword `method` to let meson know what method to use +You can use the keyword `method` to let Meson know what method to use when searching for the dependency. The default value is `auto`. Additional dependencies methods are `pkg-config`, `config-tool`, `cmake`, `system`, `sysconfig`, `qmake`, `extraframework` and `dub`. @@ -163,11 +163,11 @@ imported targets. It is possible to manually specify a list of CMake targets that should be used with the `modules` property. However, this step is optional -since meson tries to automatically guess the correct target based on +since Meson tries to automatically guess the correct target based on the name of the dependency. Depending on the dependency it may be necessary to explicitly specify -a CMake target with the `modules` property if meson is unable to guess +a CMake target with the `modules` property if Meson is unable to guess it automatically. ```meson @@ -196,7 +196,7 @@ property. ## Dub -Please understand that meson is only able to find dependencies that +Please understand that Meson is only able to find dependencies that exist in the local Dub repository. You need to manually fetch and build the target dependencies. @@ -206,10 +206,10 @@ dub fetch urld dub build urld ``` -Other thing you need to keep in mind is that both meson and Dub need +Other thing you need to keep in mind is that both Meson and Dub need to be using the same compiler. This can be achieved using Dub's `-compiler` argument and/or manually setting the `DC` environment -variable when running meson. +variable when running Meson. ``` dub build urld --compiler=dmd DC="dmd" meson builddir @@ -225,7 +225,7 @@ recommended style is to write them in all lower-case. In some cases, more than one detection method exists, and the `method` keyword may be used to select a detection method to use. The `auto` -method uses any checking mechanisms in whatever order meson thinks is +method uses any checking mechanisms in whatever order Meson thinks is best. e.g. libwmf and CUPS provide both pkg-config and config-tool support. @@ -404,7 +404,7 @@ versions would statically link, due to a quirk in `llvm-config`. ### Modules, a.k.a. Components Meson wraps LLVM's concept of components in it's own modules concept. -When you need specific components you add them as modules as meson +When you need specific components you add them as modules as Meson will do the right thing: ```meson @@ -501,9 +501,9 @@ The `language` keyword may used. ## Python3 -Python3 is handled specially by meson: +Python3 is handled specially by Meson: 1. Meson tries to use `pkg-config`. -2. If `pkg-config` fails meson uses a fallback: +2. If `pkg-config` fails Meson uses a fallback: - On Windows the fallback is the current `python3` interpreter. - On OSX the fallback is a framework dependency from `/Library/Frameworks`. diff --git a/docs/markdown/Dlang-module.md b/docs/markdown/Dlang-module.md index 7221698..915f3a7 100644 --- a/docs/markdown/Dlang-module.md +++ b/docs/markdown/Dlang-module.md @@ -35,7 +35,7 @@ dlang.generate_dub_file(meson.project_name().to_lower(), meson.source_root(), ) ``` -You can manually edit a meson generated `dub.json` file or provide a +You can manually edit a Meson generated `dub.json` file or provide a initial one. The module will only update the values specified in `generate_dub_file()`. diff --git a/docs/markdown/External-Project-module.md b/docs/markdown/External-Project-module.md index c13f81b..866564e 100644 --- a/docs/markdown/External-Project-module.md +++ b/docs/markdown/External-Project-module.md @@ -42,7 +42,7 @@ Known limitations: yet supported. - When cross compiling, if `PKG_CONFIG_SYSROOT_DIR` is set in environment or `sys_root` in the cross file properties, the external subproject will not be - able to find dependencies built by meson using pkg-config. The reason is + able to find dependencies built by Meson using pkg-config. The reason is pkg-config and pkgconf both prepend the sysroot path to `-I` and `-L` arguments from `-uninstalled.pc` files. This is arguably a bug that could be fixed in future version of pkg-config/pkgconf. diff --git a/docs/markdown/FAQ.md b/docs/markdown/FAQ.md index bd2316f..a0a0544 100644 --- a/docs/markdown/FAQ.md +++ b/docs/markdown/FAQ.md @@ -290,7 +290,7 @@ downloads altogether with `--wrap-mode=nodownload`. You can also disable dependency fallbacks altogether with `--wrap-mode=nofallback`, which also implies the `nodownload` option. -If on the other hand, you want meson to always use the fallback +If on the other hand, you want Meson to always use the fallback for dependencies, even when an external dependency exists and could satisfy the version requirements, for example in order to make sure your project builds when fallbacks are used, you can use diff --git a/docs/markdown/Generating-sources.md b/docs/markdown/Generating-sources.md index 44e36b7..c09819f 100644 --- a/docs/markdown/Generating-sources.md +++ b/docs/markdown/Generating-sources.md @@ -76,14 +76,14 @@ executable('myexe', ['main.c', foo_h], link_with : libfoo) Each target that depends on a generated header should add that header to it's sources, as seen above with `libfoo` and `myexe`. This is -because there is no way for meson or the backend to know that `myexe` +because there is no way for Meson or the backend to know that `myexe` depends on `foo.h` just because `libfoo` does, it could be a private header. ### Generating multiple files at a time Sometimes it makes sense for a single generator to create two or more -files at a time, (perhaps a header and source file), meson has this +files at a time, (perhaps a header and source file), Meson has this case covered as well. `custom_target`s can be indexed like a list to get each output file separately. The order is the same as the order of the output argument to `custom_target` diff --git a/docs/markdown/Getting-meson.md b/docs/markdown/Getting-meson.md index fe145ad..35117ca 100644 --- a/docs/markdown/Getting-meson.md +++ b/docs/markdown/Getting-meson.md @@ -27,7 +27,7 @@ Meson is available in the [Python Package Index] and can be installed with `sudo pip3 install meson` which requires root and will install it system-wide. -If you have downloaded a copy of the meson sources already, you can +If you have downloaded a copy of the Meson sources already, you can install it with `sudo pip3 install path/to/source/root/`. Alternatively, you can use `pip3 install --user meson` which will @@ -35,7 +35,7 @@ install it for your user and does not require any special privileges. This will install the package in `~/.local/`, so you will have to add `~/.local/bin` to your `PATH`, and `sudo meson install` will be completely broken since the program will not be available to -root. Only use a user copy of meson if you do not care about +root. Only use a user copy of Meson if you do not care about installing projects as root. ## Installing Meson and Ninja with the MSI installer diff --git a/docs/markdown/IDE-integration.md b/docs/markdown/IDE-integration.md index 9b550ca..6f0b629 100644 --- a/docs/markdown/IDE-integration.md +++ b/docs/markdown/IDE-integration.md @@ -22,10 +22,10 @@ following command in the source directory. meson builddir -With this command meson will configure the project and also generate +With this command Meson will configure the project and also generate introspection information that is stored in `intro-*.json` files in the `meson-info` directory. The introspection dump will be -automatically updated when meson is (re)configured, or the build +automatically updated when Meson is (re)configured, or the build options change. Thus, an IDE can watch for changes in this directory to know when something changed. Note that `meson-info.json` guaranteed to be the last file written. @@ -35,8 +35,8 @@ The `meson-info` directory should contain the following files: | File | Description | | ------------------------------ | ------------------------------------------------------------------- | | `intro-benchmarks.json` | Lists all benchmarks | -| `intro-buildoptions.json` | Contains a full list of meson configuration options for the project | -| `intro-buildsystem_files.json` | Full list of all meson build files | +| `intro-buildoptions.json` | Contains a full list of Meson configuration options for the project | +| `intro-buildsystem_files.json` | Full list of all Meson build files | | `intro-dependencies.json` | Lists all dependencies used in the project | | `intro-installed.json` | Contains mapping of files to their installed location | | `intro-projectinfo.json` | Stores basic information about the project (name, version, etc.) | @@ -140,7 +140,7 @@ There is no guarantee that the sources list in `target_sources` is correct. There might be differences, due to internal limitations. It is also not guaranteed that all targets will be listed in the output. It might even be possible that targets are listed, which won't exist -when meson is run normally. This can happen if a target is defined +when Meson is run normally. This can happen if a target is defined inside an if statement. Use this feature with care. ## Build Options @@ -199,7 +199,7 @@ output as running it with a freshly configured build directory. However, this behavior is not guaranteed if subprojects are present. Due to internal limitations all subprojects are processed even if they -are never used in a real meson run. Because of this options for the +are never used in a real Meson run. Because of this options for the subprojects can differ. ## The dependencies section @@ -231,7 +231,7 @@ The output format is as follows: The `required` keyword specifies whether the dependency is marked as required in the `meson.build` (all dependencies are required by default). The `conditional` key indicates whether the `dependency()` -function was called inside a conditional block. In a real meson run +function was called inside a conditional block. In a real Meson run these dependencies might not be used, thus they _may_ not be required, even if the `required` key is set. The `has_fallback` key just indicates whether a fallback was directly set in the `dependency()` @@ -302,7 +302,7 @@ This API can also work without a build directory for the # AST of a `meson.build` -Since meson *0.55.0* it is possible to dump the AST of a `meson.build` +Since Meson *0.55.0* it is possible to dump the AST of a `meson.build` as a JSON object. The interface for this is `meson introspect --ast /path/to/meson.build`. diff --git a/docs/markdown/Installing.md b/docs/markdown/Installing.md index 93f6d19..0e5cb12 100644 --- a/docs/markdown/Installing.md +++ b/docs/markdown/Installing.md @@ -11,7 +11,7 @@ since 0.47.0)*: meson install ``` -or alternatively (on older meson versions with `ninja` backend): +or alternatively (on older Meson versions with `ninja` backend): ```sh ninja install diff --git a/docs/markdown/Keyval-module.md b/docs/markdown/Keyval-module.md index 3735888..96d9c15 100644 --- a/docs/markdown/Keyval-module.md +++ b/docs/markdown/Keyval-module.md @@ -9,7 +9,7 @@ authors: # keyval module This module parses files consisting of a series of `key=value` lines. -One use of this module is to load kconfig configurations in meson +One use of this module is to load kconfig configurations in Meson projects. **Note**: this does not provide kconfig frontend tooling to generate a diff --git a/docs/markdown/Localisation.md b/docs/markdown/Localisation.md index 8a09feb..a826f8d 100644 --- a/docs/markdown/Localisation.md +++ b/docs/markdown/Localisation.md @@ -17,7 +17,7 @@ In your main meson.build file include the `po` subdirectory in the build process In this `po` subdirectory we need: - `LINGUAS`: Space separated list of languages - `POTFILES`: List of source files to scan for translatable strings. -- `meson.build`: Localization specific meson file +- `meson.build`: Localization specific Meson file ### LINGUAS @@ -39,7 +39,7 @@ root. A sample POTFILES might look like this. ### meson.build -Localization specific meson file. It imports and uses the `i18n` +Localization specific Meson file. It imports and uses the `i18n` module. If not defined before it needs to define the `GETTEXT_PACKAGE` global. diff --git a/docs/markdown/Machine-files.md b/docs/markdown/Machine-files.md index fd99937..39e02a6 100644 --- a/docs/markdown/Machine-files.md +++ b/docs/markdown/Machine-files.md @@ -131,7 +131,7 @@ a = 'Hello' ### Binaries The binaries section contains a list of binaries. These can be used -internally by meson, or by the `find_program` function. +internally by Meson, or by the `find_program` function. These values must be either strings or an array of strings @@ -140,7 +140,7 @@ Compilers and linkers are defined here using `<lang>` and `<lang>_ld`. like gcc and clang which are used to invoke the linker this is a value to pass to their "choose the linker" argument (-fuse-ld= in this case). For compilers like MSVC and Clang-Cl, this is the path to a -linker for meson to invoke, such as `link.exe` or `lld-link.exe`. +linker for Meson to invoke, such as `link.exe` or `lld-link.exe`. Support for `ld` is *new in 0.53.0* *changed in 0.53.1* the `ld` variable was replaced by `<lang>_ld`, @@ -221,13 +221,13 @@ section. - `cmake_toolchain_file` specifies an absolute path to an already existing CMake toolchain file that will be loaded with `include()` as the last - instruction of the automatically generated CMake toolchain file from meson. + instruction of the automatically generated CMake toolchain file from Meson. (*new in 0.56.0*) -- `cmake_defaults` is a boolean that specifies whether meson should automatically +- `cmake_defaults` is a boolean that specifies whether Meson should automatically generate default toolchain variables from other sections (`binaries`, `host_machine`, etc.) in the machine file. Defaults are always overwritten by variables set in the `[cmake]` section. The default is `true`. (*new in 0.56.0*) -- `cmake_skip_compiler_test` is an enum that specifies when meson should +- `cmake_skip_compiler_test` is an enum that specifies when Meson should automatically generate toolchain variables to skip the CMake compiler sanity checks. This only has an effect if `cmake_defaults` is `true`. Supported values are `always`, `never`, `dep_only`. The default is `dep_only`. @@ -303,7 +303,7 @@ Meson built-in options can be set the same way: c_std = 'c99' ``` -You can set some meson built-in options on a per-subproject basis, +You can set some Meson built-in options on a per-subproject basis, such as `default_library` and `werror`. The order of precedence is: 1) Command line @@ -318,7 +318,7 @@ werror = false Options set on a per-subproject basis will inherit the option from the parent if the parent has a setting but the subproject doesn't, even -when there is a default set meson language. +when there is a default set Meson language. ```ini [built-in options] @@ -338,7 +338,7 @@ An incomplete list of options is: ## Loading multiple machine files -Native files allow layering (cross files can be layered since meson +Native files allow layering (cross files can be layered since Meson 0.52.0). More than one file can be loaded, with values from a previous file being overridden by the next. The intention of this is not overriding, but to allow composing files. This composition is done by diff --git a/docs/markdown/MesonCI.md b/docs/markdown/MesonCI.md index b365656..65175af 100644 --- a/docs/markdown/MesonCI.md +++ b/docs/markdown/MesonCI.md @@ -40,4 +40,4 @@ image can be tested with `build.py -t test <image>`. ### Common image setup Each docker image has a `/ci` directory with an `env_vars.sh` script. -This script has to be sourced before running the meson test suite. +This script has to be sourced before running the Meson test suite. diff --git a/docs/markdown/Pkgconfig-module.md b/docs/markdown/Pkgconfig-module.md index 1f9ecb0..35396d6 100644 --- a/docs/markdown/Pkgconfig-module.md +++ b/docs/markdown/Pkgconfig-module.md @@ -71,11 +71,11 @@ value will be provided for all required fields of the pc file: Since 0.54.0 uninstalled pkg-config files are generated as well. They are located in `<build dir>/meson-uninstalled/`. It is sometimes -useful to build projects against libraries built by meson without +useful to build projects against libraries built by Meson without having to install them into a prefix. In order to do so, just set `PKG_CONFIG_PATH=<builddir>/meson-uninstalled` before building your application. That will cause pkg-config to prefer those -`-uninstalled.pc` files and find libraries and headers from the meson +`-uninstalled.pc` files and find libraries and headers from the Meson builddir. This is an experimental feature provided on a best-effort basis, it might not work in all use-cases. diff --git a/docs/markdown/Porting-from-autotools.md b/docs/markdown/Porting-from-autotools.md index 05af79a..34e1bbd 100644 --- a/docs/markdown/Porting-from-autotools.md +++ b/docs/markdown/Porting-from-autotools.md @@ -158,7 +158,7 @@ option('enable-dep11', type : 'boolean', value : true, description : 'enable DEP ## Makefile.am -Next step is `Makefile.am`. In meson you don't need to have other +Next step is `Makefile.am`. In Meson you don't need to have other file, you still use `meson.build`. ### Sub directories @@ -204,7 +204,7 @@ EXTRA_DIST = \ config.h ``` -In Meson you don't need have `*CLEANFILES`, because in meson you are +In Meson you don't need have `*CLEANFILES`, because in Meson you are building in temporary directory (usually called `build`), you manually removing it. You also not need to use `EXTRA_DIST`, because you will make tarballs via `git archive` or something like this. diff --git a/docs/markdown/Precompiled-headers.md b/docs/markdown/Precompiled-headers.md index 8b7f58e..e78dfe0 100644 --- a/docs/markdown/Precompiled-headers.md +++ b/docs/markdown/Precompiled-headers.md @@ -62,7 +62,7 @@ Let's say the source files of the binary use the system headers #include <string.h> ``` -And add this to meson: +And add this to Meson: ```meson executable('myexe', sources : sourcelist, c_pch : 'pch/myexe_pch.h') diff --git a/docs/markdown/Python-module.md b/docs/markdown/Python-module.md index 4aff4c9..3b7b4f5 100644 --- a/docs/markdown/Python-module.md +++ b/docs/markdown/Python-module.md @@ -25,11 +25,11 @@ pymod.find_installation(name_or_path, ...) Find a python installation matching `name_or_path`. That argument is optional, if not provided then the returned python -installation will be the one used to run meson. +installation will be the one used to run Meson. If provided, it can be: -- A simple name, eg `python-2.7`, meson will look for an external program +- A simple name, eg `python-2.7`, Meson will look for an external program named that way, using [find_program] - A path, eg `/usr/local/bin/python3.4m` @@ -87,7 +87,7 @@ All positional and keyword arguments are the same as for [shared_module], excluding `name_suffix` and `name_prefix`, and with the addition of the following: -- `subdir`: By default, meson will install the extension module in +- `subdir`: By default, Meson will install the extension module in the relevant top-level location for the python installation, eg `/usr/lib/site-packages`. When subdir is passed to this method, it will be appended to that location. This keyword argument is @@ -109,7 +109,7 @@ This method accepts no positional arguments, and the same keyword arguments as the standard [dependency] function. It also supports the following keyword argument: -- `embed`: *(since 0.53.0)* If true, meson will try to find a python +- `embed`: *(since 0.53.0)* If true, Meson will try to find a python dependency that can be used for embedding python into an application. diff --git a/docs/markdown/Reference-manual.md b/docs/markdown/Reference-manual.md index fa6321a..f7b35ff 100644 --- a/docs/markdown/Reference-manual.md +++ b/docs/markdown/Reference-manual.md @@ -83,7 +83,7 @@ If `native` is omitted, the languages may be used for either build or host machine, but are never required for the build machine. (i.e. it is equivalent to `add_languages(*langs*, native: false, required: *required*) and add_languages(*langs*, native: true, required: false)`. This default behaviour -may change to `native: false` in a future meson version. +may change to `native: false` in a future Meson version. ### add_project_arguments() @@ -647,9 +647,9 @@ be passed to [shared and static libraries](#library). when this file changes. - `link_language` *(since 0.51.0)* *(broken until 0.55.0)*: makes the linker for this target be for the specified language. It is generally unnecessary to set - this, as meson will detect the right linker to use in most cases. There are + this, as Meson will detect the right linker to use in most cases. There are only two cases where this is needed. One, your main function in an - executable is not in the language meson picked, or second you want to force + executable is not in the language Meson picked, or second you want to force a library to use only one ABI. - `link_whole` *(since 0.40.0)*: links all contents of the given static libraries whether they are used by not, equivalent to the `-Wl,--whole-archive` argument flag of GCC. @@ -1629,14 +1629,14 @@ This function has one keyword argument. subdir_done() ``` -Stops further interpretation of the meson script file from the point +Stops further interpretation of the Meson script file from the point of the invocation. All steps executed up to this point are valid and -will be executed by meson. This means that all targets defined before +will be executed by Meson. This means that all targets defined before the call of `subdir_done` will be build. If the current script was called by `subdir` the execution returns to the calling directory and continues as if the script had reached the -end. If the current script is the top level script meson configures +end. If the current script is the top level script Meson configures the project as defined up to this point. Example: diff --git a/docs/markdown/Reference-tables.md b/docs/markdown/Reference-tables.md index 9f6b704..806ba76 100644 --- a/docs/markdown/Reference-tables.md +++ b/docs/markdown/Reference-tables.md @@ -114,9 +114,9 @@ set in the cross file. Any cpu family not listed in the above list is not guaranteed to remain stable in future releases. -Those porting from autotools should note that meson does not add +Those porting from autotools should note that Meson does not add endianness to the name of the cpu_family. For example, autotools -will call little endian PPC64 "ppc64le", meson will not, you must +will call little endian PPC64 "ppc64le", Meson will not, you must also check the `.endian()` value of the machine for this information. ## Operating system names @@ -300,7 +300,7 @@ machine](#Environment-variables-per-machine) section for details. | C# | CSC | CSC | The linker is the compiler | *The old environment variales are still supported, but are deprecated -and will be removed in a future version of meson.* +and will be removed in a future version of Meson.* ## Environment variables per machine @@ -317,7 +317,7 @@ configuration. For example: - `PKG_CONFIG_PATH` controls the paths pkg-config will search for just `native: false` dependencies (host machine). -This mirrors the `build.` prefix used for (built-in) meson options, +This mirrors the `build.` prefix used for (built-in) Meson options, which has the same meaning. This is useful for cross builds. In the native builds, build = host, diff --git a/docs/markdown/Release-notes-for-0.40.0.md b/docs/markdown/Release-notes-for-0.40.0.md index 9ba4839..53bc9ba 100644 --- a/docs/markdown/Release-notes-for-0.40.0.md +++ b/docs/markdown/Release-notes-for-0.40.0.md @@ -29,7 +29,7 @@ active VS version. ## Automatic initialization of subprojects that are git submodules If you have a directory inside your subprojects directory (usually -`subprojects/`) that is a git submodule, meson will automatically +`subprojects/`) that is a git submodule, Meson will automatically initialize it if your build files refer to it. This will be done without needing a wrap file since git contains all the information needed. @@ -144,9 +144,9 @@ which changes a lot. This is enabled by setting the `unity` option to Meson now sets the `MESONINTROSPECT` environment variable in addition to `MESON_SOURCE_ROOT` and other variables when running scripts. It is guaranteed to point to the correct `mesonintrospect` script, which is -important when running meson uninstalled from git or when your `PATH`s +important when running Meson uninstalled from git or when your `PATH`s may not be set up correctly. -Specifically, the following meson functions will set it: +Specifically, the following Meson functions will set it: `meson.add_install_script()`, `meson.add_postconf_script()`, `run_command()`, `run_target()`. diff --git a/docs/markdown/Release-notes-for-0.44.0.md b/docs/markdown/Release-notes-for-0.44.0.md index 4948893..8e5c098 100644 --- a/docs/markdown/Release-notes-for-0.44.0.md +++ b/docs/markdown/Release-notes-for-0.44.0.md @@ -39,7 +39,7 @@ If prefix is `/usr/local` (the default), default localstatedir to Previously to have an option that took more than one value a string value would have to be created and split, but validating this was -difficult. A new array type has been added to the meson_options.txt +difficult. A new array type has been added to the `meson_options.txt` for this case. It works like a 'combo', but allows more than one option to be passed. The values can optionally be validated against a list of valid values. When used on the command line (with -D), values diff --git a/docs/markdown/Release-notes-for-0.46.0.md b/docs/markdown/Release-notes-for-0.46.0.md index fd63fd0..64e237d 100644 --- a/docs/markdown/Release-notes-for-0.46.0.md +++ b/docs/markdown/Release-notes-for-0.46.0.md @@ -73,7 +73,7 @@ main `meson` binary. ## Meson and meson configure now accept the same arguments -Previously meson required that builtin arguments (like prefix) be +Previously Meson required that builtin arguments (like prefix) be passed as `--prefix` to `meson` and `-Dprefix` to `meson configure`. `meson` now accepts -D form like `meson configure` has. `meson configure` also accepts the `--prefix` form, like `meson` has. @@ -205,11 +205,11 @@ Major differences as of version 1.21.22: * some backend messages are produced in ru_RU.KOI8-R even if LANG=C; * its preprocessor treats some characters differently. -So every noted difference is properly handled now in meson. +So every noted difference is properly handled now in Meson. ## String escape character sequence update -Single-quoted strings in meson have been taught the same set of escape +Single-quoted strings in Meson have been taught the same set of escape sequences as in Python. It is therefore now possible to use arbitrary bytes in strings, like for example `NUL` (`\0`) and other ASCII control characters. See the chapter about [*Strings* in diff --git a/docs/markdown/Release-notes-for-0.47.0.md b/docs/markdown/Release-notes-for-0.47.0.md index df230dd..175126e 100644 --- a/docs/markdown/Release-notes-for-0.47.0.md +++ b/docs/markdown/Release-notes-for-0.47.0.md @@ -166,7 +166,7 @@ the same as `-Dopt=[]`, an empty list. ## Feature detection based on `meson_version:` in `project()` Meson will now print a `WARNING:` message during configuration if you -use a function or a keyword argument that was added in a meson version +use a function or a keyword argument that was added in a Meson version that's newer than the version specified inside `project()`. For example: @@ -257,7 +257,7 @@ directories created in the install tree. Files will preserve their executable mode, but the exact permissions will obey the `install_umask`. -The `install_umask` can be overridden in the meson command-line: +The `install_umask` can be overridden in the Meson command-line: ```console $ meson --install-umask=027 builddir/ diff --git a/docs/markdown/Release-notes-for-0.50.0.md b/docs/markdown/Release-notes-for-0.50.0.md index 480a612..0f7dbb8 100644 --- a/docs/markdown/Release-notes-for-0.50.0.md +++ b/docs/markdown/Release-notes-for-0.50.0.md @@ -81,7 +81,7 @@ output as running it with a freshly configured build directory. However, this behavior is not guaranteed if subprojects are present. Due to internal limitations all subprojects are processed -even if they are never used in a real meson run. Because of this +even if they are never used in a real Meson run. Because of this options for the subprojects can differ. ## `include_directories` accepts a string @@ -219,7 +219,7 @@ what to extract. Previously, file paths could only be passed as strings. ## Changed the JSON format of the introspection -All paths used in the meson introspection JSON format are now +All paths used in the Meson introspection JSON format are now absolute. This affects the `filename` key in the targets introspection and the output of `--buildsystem-files`. @@ -270,7 +270,7 @@ The output format is as follows: The `required` keyword specifies whether the dependency is marked as required in the `meson.build` (all dependencies are required by default). The `conditional` key indicates whether the `dependency()` -function was called inside a conditional block. In a real meson run +function was called inside a conditional block. In a real Meson run these dependencies might not be used, thus they _may_ not be required, even if the `required` key is set. The `has_fallback` key just indicates whether a fallback was directly set in the `dependency()` @@ -295,7 +295,7 @@ There is no guarantee that the sources list in `target_sources` is correct. There might be differences, due to internal limitations. It is also not guaranteed that all targets will be listed in the output. It might even be possible that targets are listed, which won't exist -when meson is run normally. This can happen if a target is defined +when Meson is run normally. This can happen if a target is defined inside an if statement. Use this feature with care. ## Added option to introspect multiple parameters at once @@ -320,7 +320,7 @@ configuration of the build directory. Additionlly the format of `meson introspect target` was changed: - New: the `sources` key. It stores the source files of a target and their compiler parameters. - - New: the `defined_in` key. It stores the meson file where a target is defined + - New: the `defined_in` key. It stores the Meson file where a target is defined - New: the `subproject` key. It stores the name of the subproject where a target is defined. - Added new target types (`jar`, `shared module`). @@ -328,7 +328,7 @@ Additionlly the format of `meson introspect target` was changed: With this release, it is also possible to get a list of all build options by invoking `meson configure` with the project source -directory or the path to the root `meson.build`. In this case, meson +directory or the path to the root `meson.build`. In this case, Meson will print the default values of all options. ## HDF5 @@ -338,7 +338,7 @@ HDF5 support is added via pkg-config. ## Added the `meson-info.json` introspection file Meson now generates a `meson-info.json` file in the `meson-info` -directory to provide introspection information about the latest meson +directory to provide introspection information about the latest Meson run. This file is updated when the build configuration is changed and the build files are (re)generated. diff --git a/docs/markdown/Release-notes-for-0.51.0.md b/docs/markdown/Release-notes-for-0.51.0.md index 3b57ca0..cd94f6a 100644 --- a/docs/markdown/Release-notes-for-0.51.0.md +++ b/docs/markdown/Release-notes-for-0.51.0.md @@ -24,7 +24,7 @@ listed. Sanity checks previously only used user-specified flags for cross compilers, but now do in all cases. -All compilers meson might decide to use for the build are "sanity +All compilers Meson might decide to use for the build are "sanity checked" before other tests are run. This usually involves building simple executable and trying to run it. Previously user flags (compilation and/or linking flags) were used for sanity checking cross @@ -98,7 +98,7 @@ endif ## Added basic support for the Xtensa CPU toolchain You can now use `xt-xcc`, `xt-xc++`, `xt-nm`, etc... on your cross -compilation file and meson won't complain about an unknown toolchain. +compilation file and Meson won't complain about an unknown toolchain. ## Dependency objects now have a get_variable method @@ -136,7 +136,7 @@ If you have installed something to `/tmp/dep`, which has a layout like: /tmp/dep/bin ``` -then invoke meson as `meson builddir/ -Dcmake_prefix_path=/tmp/dep` +then invoke Meson as `meson builddir/ -Dcmake_prefix_path=/tmp/dep` ## Tests that should fail but did not are now errors @@ -306,7 +306,7 @@ only interface to Fortran by `include biglib.h` or similar. Meson can now directly consume CMake based subprojects with the CMake module. -Using CMake subprojects is similar to using the "normal" meson +Using CMake subprojects is similar to using the "normal" Meson subprojects. They also have to be located in the `subprojects` directory. diff --git a/docs/markdown/Release-notes-for-0.52.0.md b/docs/markdown/Release-notes-for-0.52.0.md index 79f1cef..05e2dc2 100644 --- a/docs/markdown/Release-notes-for-0.52.0.md +++ b/docs/markdown/Release-notes-for-0.52.0.md @@ -42,7 +42,7 @@ Setting sys_root in the [properties] section of your cross file will now set PKG_CONFIG_SYSROOT_DIR automatically for host system dependencies when cross compiling. -## The meson test program now accepts an additional "--gdb-path" argument to specify the GDB binary +## The Meson test program now accepts an additional "--gdb-path" argument to specify the GDB binary `meson test --gdb testname` invokes GDB with the specific test case. However, sometimes GDB is not in the path or a GDB replacement is wanted. Therefore, a `--gdb-path` argument was added to specify which binary is executed (per default `gdb`): diff --git a/docs/markdown/Release-notes-for-0.53.0.md b/docs/markdown/Release-notes-for-0.53.0.md index ec2924f..73a71db 100644 --- a/docs/markdown/Release-notes-for-0.53.0.md +++ b/docs/markdown/Release-notes-for-0.53.0.md @@ -71,16 +71,16 @@ My Project 1.0 ## Generic Overrider for Dynamic Linker selection -Previous to meson 0.52.0 you set the dynamic linker using compiler +Previous to Meson 0.52.0 you set the dynamic linker using compiler specific flags passed via language flags and hoped things worked out. -In meson 0.52.0 meson started detecting the linker and making +In version 0.52.0 Meson started detecting the linker and making intelligent decisions about using it. Unfortunately this broke choosing a non-default linker. Now there is a generic mechanism for doing this. In 0.53.0, you can use the `LD` environment variable. **In 0.53.1** this was changed to `<compiler_variable>_LD`, such as `CC_LD`, `CXX_LD`, `D_LD`, etc due -to regressions. The usual meson [environment variable +to regressions. The usual Meson [environment variable rules](https://mesonbuild.com/Running-Meson.html#environment-variables) apply. Alternatively, you can add the following to a cross or native file: @@ -106,7 +106,7 @@ c = 'clang' c_ld = 'lld' ``` -And meson will select the linker if possible. +And Meson will select the linker if possible. ## `fortran_std` option diff --git a/docs/markdown/Release-notes-for-0.54.0.md b/docs/markdown/Release-notes-for-0.54.0.md index 103d103..7e9fbf2 100644 --- a/docs/markdown/Release-notes-for-0.54.0.md +++ b/docs/markdown/Release-notes-for-0.54.0.md @@ -8,7 +8,7 @@ short-description: Release notes for 0.54.0 ## Emscripten (emcc) now supports threads In addition to properly setting the compile and linker arguments, a -new meson builtin has been added to control the PTHREAD_POOL_SIZE +new Meson builtin has been added to control the PTHREAD_POOL_SIZE option, `-D<lang>_thread_count`, which may be set to any integer value greater than 0. If it set to 0 then the PTHREAD_POOL_SIZE option will not be passed. @@ -146,7 +146,7 @@ compiler is available after `add_languages()`, if the `native:` keyword is absent the languages may be used for either the build or host machine, but are never required for the build machine. -This changes the behaviour of the following meson fragment (when +This changes the behaviour of the following Meson fragment (when cross-compiling but a native compiler is not available) from reporting an error at `add_language` to reporting an error at `executable`. @@ -182,7 +182,7 @@ have a name() method. ## New option `--quiet` to `meson install` -Now you can run `meson install --quiet` and meson will not verbosely +Now you can run `meson install --quiet` and Meson will not verbosely print every file as it is being installed. As before, the full log is always available inside the builddir in `meson-logs/install-log.txt`. @@ -196,7 +196,7 @@ your workload. ## Property support emscripten's wasm-ld Before 0.54.0 we treated emscripten as both compiler and linker, which -isn't really true. It does have a linker, called wasm-ld (meson's name +isn't really true. It does have a linker, called wasm-ld (Meson's name is ld.wasm). This is a special version of clang's lld. This will now be detected properly. @@ -285,7 +285,7 @@ cross builds. This old behavior is inconsistent with the way Autotools works, which undermines the purpose of distro-integration that is the only reason environment variables are supported at all in Meson. The new behavior -is not quite the same, but doesn't conflict: meson doesn't always +is not quite the same, but doesn't conflict: Meson doesn't always repond to an environment when Autoconf would, but when it does it interprets it as Autotools would. @@ -316,7 +316,7 @@ https://github.com/ninja-build/ninja/releases ## Added `-C` argument to `meson init` command -The meson init assumes that it is run inside the project root +The Meson init assumes that it is run inside the project root directory. If this isn't the case, you can now use `-C` to specify the actual project source directory. @@ -352,7 +352,7 @@ repository. The `pkgconfig` module now generates uninstalled pc files as well. For any generated `foo.pc` file, an extra `foo-uninstalled.pc` file is placed into `<builddir>/meson-uninstalled`. They can be used to build -applications against libraries built by meson without installing them, +applications against libraries built by Meson without installing them, by pointing `PKG_CONFIG_PATH` to that directory. This is an experimental feature provided on a best-effort basis, it might not work in all use-cases. diff --git a/docs/markdown/Release-notes-for-0.55.0.md b/docs/markdown/Release-notes-for-0.55.0.md index 3e4fcc9..110dd1d 100644 --- a/docs/markdown/Release-notes-for-0.55.0.md +++ b/docs/markdown/Release-notes-for-0.55.0.md @@ -7,7 +7,7 @@ short-description: Release notes for 0.55.0 ## rpath removal now more careful -On Linux-like systems, meson adds rpath entries to allow running apps +On Linux-like systems, Meson adds rpath entries to allow running apps in the build tree, and then removes those build-time-only rpath entries when installing. Rpath entries may also come in via LDFLAGS and via .pc files. Meson used to remove those latter rpath entries by @@ -37,8 +37,8 @@ can be invoked with `meson compile foo:shared_library foo:static_library bar`. ## Test protocol for gtest Due to the popularity of Gtest (google test) among C and C++ -developers meson now supports a special protocol for gtest. With this -protocol meson injects arguments to gtests to output JUnit, reads that +developers Meson now supports a special protocol for gtest. With this +protocol Meson injects arguments to gtests to output JUnit, reads that JUnit, and adds the output to the JUnit it generates. ## meson.add_*_script methods accept new types @@ -87,7 +87,7 @@ cpp_args = c_args + ['-DSOMETHING_ELSE'] c = toolchain + '/gcc' ``` -## Configure CMake subprojects with meson.subproject_options +## Configure CMake subprojects with Meson.subproject_options Meson now supports passing configuration options to CMake and overriding certain build details extracted from the CMake subproject. @@ -117,10 +117,10 @@ exe = executable('foo', ...) meson.override_find_program('foo', exe) # In main project: -# The version check was crashing meson. +# The version check was crashing Meson. prog = find_program('foo', version : '>=1.0') -# This was crashing meson. +# This was crashing Meson. message(prog.path()) # New method to be consistent with built objects. @@ -156,8 +156,8 @@ the compiler) when the b_ndebug flag is set. ## Meson test now produces JUnit xml from results Meson will now generate a JUnit compatible XML file from test results. -it will be in the meson-logs directory and is called -testlog.junit.xml. +it will be in the `meson-logs` directory and is called +`testlog.junit.xml`. ## Config tool based dependencies no longer search PATH for cross compiling @@ -176,7 +176,7 @@ changed), but is now deprecated. ## String concatenation in meson_options.txt It is now possible to use string concatenation (with the `+` -opperator) in the meson_options.txt file. This allows splitting long +opperator) in the `meson_options.txt` file. This allows splitting long option descriptions. ```meson diff --git a/docs/markdown/Release-notes-for-0.56.0.md b/docs/markdown/Release-notes-for-0.56.0.md index 05f30bd..c196fde 100644 --- a/docs/markdown/Release-notes-for-0.56.0.md +++ b/docs/markdown/Release-notes-for-0.56.0.md @@ -69,7 +69,7 @@ advanced features (eg. link\_whole) are not supported yet. ## Wraps from subprojects are automatically promoted It is not required to promote wrap files for subprojects into the main -project any more. When configuring a subproject, meson will look for +project any more. When configuring a subproject, Meson will look for any wrap file or directory in the subproject's `subprojects/` directory and add them into the global list of available subprojects, to be used by any future `subproject()` call or `dependency()` @@ -173,7 +173,7 @@ Subproject options are assigned like this: foo = 'some val' ``` -Additionally meson level options can be set in the same way, using the +Additionally Meson level options can be set in the same way, using the `[built-in options]` section. ```ini @@ -333,7 +333,7 @@ The `update` subcommand has been reworked: - In the case the URL of `origin` is different as the `url` set in wrap file, the subproject will not be updated unless `--reset` is specified (see below). - In the case a subproject directory exists and is not a git repository but has - a `[wrap-git]`, meson used to run git commands that would wrongly apply to the + a `[wrap-git]`, Meson used to run git commands that would wrongly apply to the main project. It now skip the subproject unless `--reset` is specified (see below). - The `--rebase` behaviour is now the default for consistency: it was already rebasing when current branch and revision are the same, it is diff --git a/docs/markdown/Rewriter.md b/docs/markdown/Rewriter.md index cd52a11..018434f 100644 --- a/docs/markdown/Rewriter.md +++ b/docs/markdown/Rewriter.md @@ -4,7 +4,7 @@ short-description: Automatic modification of the build system files # Meson file rewriter -Since version 0.50.0, meson has the functionality to perform some +Since version 0.50.0, Meson has the functionality to perform some basic modification on the `meson.build` files from the command line. The currently supported operations are: @@ -32,7 +32,7 @@ We are also open to suggestions for API improvements. ## Using the rewriter -All rewriter functions are accessed via `meson rewrite`. The meson +All rewriter functions are accessed via `meson rewrite`. The Meson rewriter assumes that it is run inside the project root directory. If this isn't the case, use `--sourcedir` to specify the actual project source directory. @@ -70,8 +70,8 @@ exe1 = executable('testExe', src) In this case, `exe1` could also have been used for the target name. This is possible because the rewriter also searches for assignments -and unique meson IDs, which can be acquired with introspection. If -there are multiple targets with the same name, meson will do nothing +and unique Meson IDs, which can be acquired with introspection. If +there are multiple targets with the same name, Meson will do nothing and print an error message. For more information see the help output of the rewriter target @@ -115,7 +115,7 @@ meson rewrite default-options {set/delete} <opt1> <value1> <opt2> <value2> ... ## Limitations -Rewriting a meson file is not guaranteed to keep the indentation of +Rewriting a Meson file is not guaranteed to keep the indentation of the modified functions. Additionally, comments inside a modified statement will be removed. Furthermore, all source files will be sorted alphabetically. @@ -240,7 +240,7 @@ For operation `delete`, the values of the `options` can be anything ## Extracting information The rewriter also offers operation `info` for the types `target` and -`kwargs`. When this operation is used, meson will print a JSON dump to +`kwargs`. When this operation is used, Meson will print a JSON dump to stderr, containing all available information to the rewriter about the build target / function kwargs in question. diff --git a/docs/markdown/Running-Meson.md b/docs/markdown/Running-Meson.md index 84dc6a3..1f2a47c 100644 --- a/docs/markdown/Running-Meson.md +++ b/docs/markdown/Running-Meson.md @@ -15,7 +15,7 @@ available. This means that Meson must be invoked using the terminal. If you wish to use the MSVC compiler, you need to run Meson under "Visual Studio command prompt". -All available meson commands are listed on the [commands reference +All available Meson commands are listed on the [commands reference page](Commands.md). ## Configuring the build directory @@ -33,7 +33,7 @@ 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/). -Hint: The syntax of meson is `meson [command] [arguments] [options]`. +Hint: The syntax of Meson is `meson [command] [arguments] [options]`. The `setup` command takes a `builddir` and a `srcdir` argument. If no `srcdir` is given Meson will deduce the `srcdir` based on `pwd` and the location of `meson.build`. @@ -43,7 +43,7 @@ corresponding build backend in the build directory. By default Meson generates a *debug build*, which turns on basic warnings and debug information and disables compiler optimizations. -Additionally, the invocation can pass options to meson. The list of +Additionally, the invocation can pass options to Meson. The list of options is documented [here](Builtin-options.md). You can specify a different type of build with the `--buildtype` command line @@ -100,7 +100,7 @@ compile it in the usual way. A list of backends can be obtained with ## Environment variables Sometimes you want to add extra compiler flags, this can be done by -passing them in environment variables when calling meson. See [the +passing them in environment variables when calling Meson. See [the reference tables](Reference-tables.md#compiler-and-linker-flag-environment-variables) for a list of all the environment variables. Be aware however these @@ -108,7 +108,7 @@ environment variables are only used for the native compiler and will not affect the compiler used for cross-compiling, where the flags specified in the cross file will be used. -Furthermore it is possible to stop meson from adding flags itself by +Furthermore it is possible to stop Meson from adding flags itself by using the `--buildtype=plain` option, in this case you must provide the full compiler and linker arguments needed. diff --git a/docs/markdown/Rust-module.md b/docs/markdown/Rust-module.md index dbe24ff..9f217ea 100644 --- a/docs/markdown/Rust-module.md +++ b/docs/markdown/Rust-module.md @@ -12,10 +12,10 @@ authors: **Note** Unstable modules make no backwards compatible API guarantees. -The rust module provides helper to integrate rust code into meson. The -goal is to make using rust in meson more pleasant, while still -remaining mesonic, this means that it attempts to make rust work more -like meson, rather than meson work more like rust. +The rust module provides helper to integrate rust code into Meson. The +goal is to make using rust in Meson more pleasant, while still +remaining mesonic, this means that it attempts to make Rust work more +like Meson, rather than Meson work more like rust. ## Functions diff --git a/docs/markdown/SourceSet-module.md b/docs/markdown/SourceSet-module.md index af31570..26c1995 100644 --- a/docs/markdown/SourceSet-module.md +++ b/docs/markdown/SourceSet-module.md @@ -13,13 +13,13 @@ single set of files; the choice of which files to include in each target depends on the contents of a dictionary or a `configuration_data` object. The module can be loaded with: -``` meson +```meson ssmod = import('sourceset') ``` A simple example of using the module looks like this: -``` meson +```meson ss = ssmod.source_set() # Include main.c unconditionally ss.add(files('main.c')) @@ -36,7 +36,7 @@ executable('exe', sources: ssconfig.sources(), and it would be equivalent to -``` meson +```meson sources = files('main.c') dependencies = [] if config['FEATURE1'] then @@ -61,7 +61,7 @@ different configurations. ### `source_set()` -``` meson +```meson ssmod.source_set() ``` @@ -79,7 +79,7 @@ and to query it. The source set becomes immutable after any method but #### `add()` -``` meson +```meson source_set.add([when: varnames_and_deps], [if_true: sources_and_deps], [if_false: list_of_alt_sources]) @@ -114,7 +114,7 @@ account anymore. #### `add_all()` -``` meson +```meson source_set.add_all(when: varnames_and_deps, if_true: [source_set1, source_set2, ...]) source_set.add_all(source_set1, source_set2, ...) @@ -126,7 +126,7 @@ For each source set listed in the arguments, `apply()` will consider their rules only if the conditions in `varnames_and_deps` are evaluated positively. For example, the following: -``` meson +```meson sources_b = ssmod.source_set() sources_b.add(when: 'HAVE_A', if_true: 'file.c') sources = ssmod.source_set() @@ -135,14 +135,14 @@ sources.add_all(when: 'HAVE_B', if_true: sources_b) is equivalent to: -``` meson +```meson sources = ssmod.source_set() sources.add(when: ['HAVE_A', 'HAVE_B'], if_true: 'file.c') ``` #### `all_sources()` -``` meson +```meson list source_set.all_sources(...) ``` @@ -155,7 +155,7 @@ sources are included (if any). #### `all_dependencies()` *(since 0.52.0)* -``` meson +```meson list source_set.all_dependencies(...) ``` @@ -166,7 +166,7 @@ using `add` (including nested source sets) and that were found. #### `apply()` -``` meson +```meson source_files source_set.apply(conf_data[, strict: false]) ``` @@ -193,7 +193,7 @@ The `source_configuration` object provides methods to query the result of an #### `sources()` -``` meson +```meson source_config.sources() ``` @@ -203,7 +203,7 @@ Return the source files corresponding to the applied configuration. #### `dependencies()` -``` meson +```meson source_config.dependencies() ``` diff --git a/docs/markdown/Subprojects.md b/docs/markdown/Subprojects.md index 98c9b1f..3fbfd5b 100644 --- a/docs/markdown/Subprojects.md +++ b/docs/markdown/Subprojects.md @@ -1,5 +1,5 @@ --- -short-description: Using meson projects as subprojects within other meson projects +short-description: Using Meson projects as subprojects within other Meson projects ... # Subprojects @@ -19,7 +19,7 @@ becomes a transparent part of the project. It should be noted that this is only guaranteed to work for subprojects that are built with Meson. The reason is the simple fact that there is no possible way to do this reliably with mixed build systems. Because of -this, only meson subprojects are described here. +this, only Meson subprojects are described here. [CMake based subprojects](CMake-module.md#cmake-subprojects) are also supported but not guaranteed to work. @@ -293,7 +293,7 @@ is returned at the end instead of retuning success. Meson will automatically download needed subprojects during configure, unless **--wrap-mode=nodownload** option is passed. It is sometimes -preferable to download all subprojects in advance, so the meson +preferable to download all subprojects in advance, so the Meson configure can be performed offline. The command-line `meson subprojects download` can be used for that, it will download all missing subprojects, but will not update already fetched subprojects. diff --git a/docs/markdown/Unit-tests.md b/docs/markdown/Unit-tests.md index 92014bb..5233a4f 100644 --- a/docs/markdown/Unit-tests.md +++ b/docs/markdown/Unit-tests.md @@ -88,7 +88,7 @@ $ MESON_TESTTHREADS=5 meson test Tests can be assigned a priority that determines when a test is *started*. Tests with higher priority are started first, tests with -lower priority started later. The default priority is 0, meson makes +lower priority started later. The default priority is 0, Meson makes no guarantee on the ordering of tests with identical priority. ```meson @@ -123,7 +123,7 @@ detect this and report these tests as `ERROR`, ignoring the setting of ## Testing tool -The goal of the meson test tool is to provide a simple way to run +The goal of the Meson test tool is to provide a simple way to run tests in a variety of different ways. The tool is designed to be run in the build directory. @@ -263,8 +263,8 @@ streamed out, and is written only once all tests complete running. When tests use the `tap` protocol each test will be recorded as a testsuite container, with each case named by the number of the result. -When tests use the `gtest` protocol meson will inject arguments to the -test to generate it's own JUnit XML, which meson will include as part +When tests use the `gtest` protocol Meson will inject arguments to the +test to generate it's own JUnit XML, which Meson will include as part of this XML file. *New in 0.55.0* diff --git a/docs/markdown/Users.md b/docs/markdown/Users.md index 6c3dc61..27d18a2 100644 --- a/docs/markdown/Users.md +++ b/docs/markdown/Users.md @@ -105,7 +105,7 @@ format files - [OpenTitan](https://github.com/lowRISC/opentitan), an open source silicon Root of Trust (RoT) project. - [Orc](https://gitlab.freedesktop.org/gstreamer/orc), the Optimized Inner Loop Runtime Compiler - [OTS](https://github.com/khaledhosny/ots), the OpenType Sanitizer, parses and serializes OpenType files (OTF, TTF) and WOFF and WOFF2 font files, validating and sanitizing them as it goes. Used by Chromium and Firefox - - [Outlier](https://github.com/kerolasa/outlier), a small Hello World style meson example project + - [Outlier](https://github.com/kerolasa/outlier), a small Hello World style Meson example project - [p11-kit](https://github.com/p11-glue/p11-kit), PKCS#11 module aggregator - [Pacman](https://git.archlinux.org/pacman.git/tree/), a package manager for Arch Linux - [Pango](https://git.gnome.org/browse/pango/), an Internationalized text layout and rendering library diff --git a/docs/markdown/Using-with-Visual-Studio.md b/docs/markdown/Using-with-Visual-Studio.md index 3c97ee5..2680e8b 100644 --- a/docs/markdown/Using-with-Visual-Studio.md +++ b/docs/markdown/Using-with-Visual-Studio.md @@ -1,5 +1,5 @@ --- -short-description: How to use meson in Visual Studio +short-description: How to use Meson in Visual Studio ... # Using with Visual Studio @@ -32,16 +32,16 @@ are available from a number of sources, including the llvm website. Then you will need the [llvm toolset extension for visual studio](https://marketplace.visualstudio.com/items?itemName=LLVMExtensions.llvm-toolchain). You then need to either use a [native file](Native-environments.md#binaries) -or `set CC=clang-cl`, and `set CXX=clang-cl` to use those compilers, meson +or `set CC=clang-cl`, and `set CXX=clang-cl` to use those compilers, Meson will do the rest. This only works with visual studio 2017 and 2019. -There is currently no support in meson for clang/c2. +There is currently no support in Meson for clang/c2. # Using Intel-CL (ICL) with Visual Studio *(new in 0.52.0)* To use ICL you need only have ICL installed and launch an ICL development -shell like you would for the ninja backend and meson will take care of it. +shell like you would for the ninja backend and Meson will take care of it. diff --git a/docs/markdown/Wrap-dependency-system-manual.md b/docs/markdown/Wrap-dependency-system-manual.md index 3bf22ee..ff092e8 100644 --- a/docs/markdown/Wrap-dependency-system-manual.md +++ b/docs/markdown/Wrap-dependency-system-manual.md @@ -131,7 +131,7 @@ Meson. Because of this Meson allows you to specify a patch URL. For historic reasons this is called a "patch", however, it serves as an overlay to add or replace files rather than modifying them. The file must be an archive; it is downloaded and automatically extracted into -the subproject. The extracted files will include a meson build +the subproject. The extracted files will include a Meson build definition for the given subproject. This approach makes it extremely simple to embed dependencies that diff --git a/docs/markdown/howtox.md b/docs/markdown/howtox.md index fa99864..f05f3e8 100644 --- a/docs/markdown/howtox.md +++ b/docs/markdown/howtox.md @@ -43,7 +43,7 @@ pass to the compiler's special argument (such as `-fuse-ld` with clang and gcc), with the latter it should be an executable, such as `lld-link.exe`. -*NOTE* In meson 0.53.0 the `ld` entry in the cross/native file and the +*NOTE* In Meson 0.53.0 the `ld` entry in the cross/native file and the `LD` environment variable were used, this resulted in a large number of regressions and was changed in 0.53.1 to `<lang>_ld` and `<comp variable>_LD`. diff --git a/docs/markdown/snippets/unstable-rust-module.md b/docs/markdown/snippets/unstable-rust-module.md index 9870298..47790e3 100644 --- a/docs/markdown/snippets/unstable-rust-module.md +++ b/docs/markdown/snippets/unstable-rust-module.md @@ -1,4 +1,4 @@ ## Untable Rust module -A new unstable module has been added to make using Rust with meson easier. +A new unstable module has been added to make using Rust with Meson easier. Currently it adds a single function to ease defining Rust tests. |