aboutsummaryrefslogtreecommitdiff
path: root/docs/markdown
diff options
context:
space:
mode:
Diffstat (limited to 'docs/markdown')
-rw-r--r--docs/markdown/Release-notes-for-1.5.0.md214
-rw-r--r--docs/markdown/snippets/bztar_support.md4
-rw-r--r--docs/markdown/snippets/cargo_dep_name.md19
-rw-r--r--docs/markdown/snippets/cargo_lock.md6
-rw-r--r--docs/markdown/snippets/cmake_build_type.md15
-rw-r--r--docs/markdown/snippets/compiler_run.md4
-rw-r--r--docs/markdown/snippets/find_library_name.md5
-rw-r--r--docs/markdown/snippets/find_program_version_argument.md12
-rw-r--r--docs/markdown/snippets/meson_configure_options_changes.md12
-rw-r--r--docs/markdown/snippets/meson_format_cmd.md4
-rw-r--r--docs/markdown/snippets/null_terminated_string_arg.md13
-rw-r--r--docs/markdown/snippets/objfw_dep.md24
-rw-r--r--docs/markdown/snippets/pln_bsn_support.md11
-rw-r--r--docs/markdown/snippets/requires_kwarg_on_more_compiler_methods.md21
-rw-r--r--docs/markdown/snippets/test_interactive.md6
-rw-r--r--docs/markdown/snippets/test_iteration.md5
-rw-r--r--docs/markdown/snippets/test_max_lines.md6
-rw-r--r--docs/markdown/snippets/ti_armclang.md3
-rw-r--r--docs/markdown/snippets/ti_c6000_compiler_support.md4
-rw-r--r--docs/markdown/snippets/wayland_stable_prot_version.md13
20 files changed, 214 insertions, 187 deletions
diff --git a/docs/markdown/Release-notes-for-1.5.0.md b/docs/markdown/Release-notes-for-1.5.0.md
new file mode 100644
index 0000000..7dfea9a
--- /dev/null
+++ b/docs/markdown/Release-notes-for-1.5.0.md
@@ -0,0 +1,214 @@
+---
+title: Release 1.5.0
+short-description: Release notes for 1.5.0
+...
+
+# New features
+
+Meson 1.5.0 was released on 10 July 2024
+## Support for `bztar` in `meson dist`
+
+The `bztar` format is now supported in `meson dist`. This format is also known
+as `bzip2`.
+
+## Cargo dependencies names now include the API version
+
+Cargo dependencies names are now in the format `<package_name>-<version>-rs`:
+- `package_name` is defined in `[package] name = ...` section of the `Cargo.toml`.
+- `version` is the API version deduced from `[package] version = ...` as follow:
+ * `x.y.z` -> 'x'
+ * `0.x.y` -> '0.x'
+ * `0.0.x` -> '0'
+ It allows to make different dependencies for uncompatible versions of the same
+ crate.
+- `-rs` suffix is added to distinguish from regular system dependencies, for
+ example `gstreamer-1.0` is a system pkg-config dependency and `gstreamer-0.22-rs`
+ is a Cargo dependency.
+
+That means the `.wrap` file should have `dependency_names = foo-1-rs` in their
+`[provide]` section when `Cargo.toml` has package name `foo` and version `1.2`.
+
+This is a breaking change (Cargo subprojects are still experimental), previous
+versions were using `<package_name>-rs` format.
+
+## Added support `Cargo.lock` file
+
+When a (sub)project has a `Cargo.lock` file at its root, it is loaded to provide
+an automatic fallback for dependencies it defines, fetching code from
+https://crates.io or git. This is identical as providing `subprojects/*.wrap`,
+see [cargo wraps](Wrap-dependency-system-manual.md#cargo-wraps) dependency naming convention.
+
+## Meson now propagates its build type to CMake
+
+When the CMake build type variable, `CMAKE_BUILD_TYPE`, is not set via the
+`add_cmake_defines` method of the [`cmake options` object](CMake-module.md#cmake-options-object),
+it is inferred from the [Meson build type](Builtin-options.md#details-for-buildtype).
+Build types of the two build systems do not match perfectly. The mapping from
+Meson build type to CMake build type is as follows:
+
+- `debug` -> `Debug`
+- `debugoptimized` -> `RelWithDebInfo`
+- `release` -> `Release`
+- `minsize` -> `MinSizeRel`
+
+No CMake build type is set for the `plain` Meson build type. The inferred CMake
+build type overrides any `CMAKE_BUILD_TYPE` environment variable.
+
+## compiler.run() method is now available for all languages
+
+It used to be only implemented for C-like and D languages, but it is now available
+for all languages.
+
+## dependencies created by compiler.find_library implement the `name()` method
+
+Previously, for a [[@dep]] that might be returned by either [[dependency]] or
+[[compiler.find_library]], the method might or might not exist with no way
+of telling.
+
+## New version_argument kwarg for find_program
+
+When finding an external program with `find_program`, the `version_argument`
+can be used to override the default `--version` argument when trying to parse
+the version of the program.
+
+For example, if the following is used:
+```meson
+foo = find_program('foo', version_argument: '-version')
+```
+
+meson will internally run `foo -version` when trying to find the version of `foo`.
+
+## Meson configure handles changes to options in more cases
+
+Meson configure now correctly handles updates to the options file without a full
+reconfigure. This allows making a change to the `meson.options` or
+`meson_options.txt` file without a reconfigure.
+
+For example, this now works:
+```sh
+meson setup builddir
+git pull
+meson configure builddir -Doption-added-by-pull=value
+```
+
+## New meson format command
+
+This command is similar to `muon fmt` and allows to format a `meson.build`
+document.
+
+## Added support for GCC's `null_terminated_string_arg` function attribute
+
+You can now check if a compiler support the `null_terminated_string_arg`
+function attribute via the `has_function_attribute()` method on the
+[[@compiler]] object.
+
+```meson
+cc = meson.get_compiler('c')
+
+if cc.has_function_attribute('null_terminated_string_arg')
+ # We have it...
+endif
+```
+
+## A new dependency for ObjFW is now supported
+
+For example, you can create a simple application written using ObjFW like this:
+
+```meson
+project('SimpleApp', 'objc')
+
+objfw_dep = dependency('objfw', version: '>= 1.0')
+
+executable('SimpleApp', 'SimpleApp.m',
+ dependencies: [objfw_dep])
+```
+
+Modules are also supported. A test case using ObjFWTest can be created like
+this:
+
+```meson
+project('Tests', 'objc')
+
+objfwtest_dep = dependency('objfw', version: '>= 1.1', modules: ['ObjFWTest'])
+
+executable('Tests', ['FooTest.m', 'BarTest.m'],
+ dependencies: [objfwtest_dep])
+```
+
+## Support of indexed `@PLAINNAME@` and `@BASENAME@`
+
+In `custom_target()` and `configure_file()` with multiple inputs,
+it is now possible to specify index for `@PLAINNAME@` and `@BASENAME@`
+macros in `output`:
+```
+custom_target('target_name',
+ output: '@PLAINNAME0@.dl',
+ input: [dep1, dep2],
+ command: cmd)
+```
+
+## Required kwarg on more `compiler` methods
+
+The following `compiler` methods now support the `required` keyword argument:
+
+- `compiler.compiles()`
+- `compiler.links()`
+- `compiler.runs()`
+
+```meson
+cc.compiles(valid, name: 'valid', required : true)
+cc.links(valid, name: 'valid', required : true)
+cc.run(valid, name: 'valid', required : true)
+
+assert(not cc.compiles(valid, name: 'valid', required : opt))
+assert(not cc.links(valid, name: 'valid', required : opt))
+res = cc.run(valid, name: 'valid', required : opt)
+assert(res.compiled())
+assert(res.returncode() == 0)
+assert(res.stdout() == '')
+assert(res.stderr() == '')
+```
+
+## The Meson test program supports a new "--interactive" argument
+
+`meson test --interactive` invokes tests with stdout, stdin and stderr
+connected directly to the calling terminal. This can be useful when running
+integration tests that run in containers or virtual machines which can spawn a
+debug shell if a test fails.
+
+## meson test now sets the `MESON_TEST_ITERATION` environment variable
+
+`meson test` will now set the `MESON_TEST_ITERATION` environment variable to the
+current iteration of the test. This will always be `1` unless `--repeat` is used
+to run the same test multiple times.
+
+## The Meson test program supports a new "--max-lines" argument
+
+By default `meson test` only shows the last 100 lines of test output from tests
+that produce large amounts of output. This default can now be changed with the
+new `--max-lines` option. For example, `--max-lines=1000` will increase the
+maximum number of log output lines from 100 to 1000.
+
+## Basic support for TI Arm Clang (tiarmclang)
+
+Support for TI's newer [Clang-based ARM toolchain](https://www.ti.com/tool/ARM-CGT).
+
+## Support for Texas Instruments C6000 C/C++ compiler
+
+Meson now supports the TI C6000 C/C++ compiler use for the C6000 cpu family.
+The example cross file is available in `cross/ti-c6000.txt`.
+
+## Wayland stable protocols can be versioned
+
+The wayland module now accepts a version number for stable protocols.
+
+```meson
+wl_mod = import('unstable-wayland')
+
+wl_mod.find_protocol(
+ 'linux-dmabuf',
+ state: 'stable'
+ version: 1
+)
+```
+
diff --git a/docs/markdown/snippets/bztar_support.md b/docs/markdown/snippets/bztar_support.md
deleted file mode 100644
index 3ee4a91..0000000
--- a/docs/markdown/snippets/bztar_support.md
+++ /dev/null
@@ -1,4 +0,0 @@
-## Support for `bztar` in `meson dist`
-
-The `bztar` format is now supported in `meson dist`. This format is also known
-as `bzip2`.
diff --git a/docs/markdown/snippets/cargo_dep_name.md b/docs/markdown/snippets/cargo_dep_name.md
deleted file mode 100644
index b769f2b..0000000
--- a/docs/markdown/snippets/cargo_dep_name.md
+++ /dev/null
@@ -1,19 +0,0 @@
-## Cargo dependencies names now include the API version
-
-Cargo dependencies names are now in the format `<package_name>-<version>-rs`:
-- `package_name` is defined in `[package] name = ...` section of the `Cargo.toml`.
-- `version` is the API version deduced from `[package] version = ...` as follow:
- * `x.y.z` -> 'x'
- * `0.x.y` -> '0.x'
- * `0.0.x` -> '0'
- It allows to make different dependencies for uncompatible versions of the same
- crate.
-- `-rs` suffix is added to distinguish from regular system dependencies, for
- example `gstreamer-1.0` is a system pkg-config dependency and `gstreamer-0.22-rs`
- is a Cargo dependency.
-
-That means the `.wrap` file should have `dependency_names = foo-1-rs` in their
-`[provide]` section when `Cargo.toml` has package name `foo` and version `1.2`.
-
-This is a breaking change (Cargo subprojects are still experimental), previous
-versions were using `<package_name>-rs` format.
diff --git a/docs/markdown/snippets/cargo_lock.md b/docs/markdown/snippets/cargo_lock.md
deleted file mode 100644
index e38c5ed..0000000
--- a/docs/markdown/snippets/cargo_lock.md
+++ /dev/null
@@ -1,6 +0,0 @@
-## Added support `Cargo.lock` file
-
-When a (sub)project has a `Cargo.lock` file at its root, it is loaded to provide
-an automatic fallback for dependencies it defines, fetching code from
-https://crates.io or git. This is identical as providing `subprojects/*.wrap`,
-see [cargo wraps](Wrap-dependency-system-manual.md#cargo-wraps) dependency naming convention.
diff --git a/docs/markdown/snippets/cmake_build_type.md b/docs/markdown/snippets/cmake_build_type.md
deleted file mode 100644
index af9e84d..0000000
--- a/docs/markdown/snippets/cmake_build_type.md
+++ /dev/null
@@ -1,15 +0,0 @@
-## Meson now propagates its build type to CMake
-
-When the CMake build type variable, `CMAKE_BUILD_TYPE`, is not set via the
-`add_cmake_defines` method of the [`cmake options` object](CMake-module.md#cmake-options-object),
-it is inferred from the [Meson build type](Builtin-options.md#details-for-buildtype).
-Build types of the two build systems do not match perfectly. The mapping from
-Meson build type to CMake build type is as follows:
-
-- `debug` -> `Debug`
-- `debugoptimized` -> `RelWithDebInfo`
-- `release` -> `Release`
-- `minsize` -> `MinSizeRel`
-
-No CMake build type is set for the `plain` Meson build type. The inferred CMake
-build type overrides any `CMAKE_BUILD_TYPE` environment variable.
diff --git a/docs/markdown/snippets/compiler_run.md b/docs/markdown/snippets/compiler_run.md
deleted file mode 100644
index f4b0847..0000000
--- a/docs/markdown/snippets/compiler_run.md
+++ /dev/null
@@ -1,4 +0,0 @@
-## compiler.run() method is now available for all languages
-
-It used to be only implemented for C-like and D languages, but it is now available
-for all languages.
diff --git a/docs/markdown/snippets/find_library_name.md b/docs/markdown/snippets/find_library_name.md
deleted file mode 100644
index e7b0e1a..0000000
--- a/docs/markdown/snippets/find_library_name.md
+++ /dev/null
@@ -1,5 +0,0 @@
-## dependencies created by compiler.find_library implement the `name()` method
-
-Previously, for a [[@dep]] that might be returned by either [[dependency]] or
-[[compiler.find_library]], the method might or might not exist with no way
-of telling.
diff --git a/docs/markdown/snippets/find_program_version_argument.md b/docs/markdown/snippets/find_program_version_argument.md
deleted file mode 100644
index 99fe621..0000000
--- a/docs/markdown/snippets/find_program_version_argument.md
+++ /dev/null
@@ -1,12 +0,0 @@
-## New version_argument kwarg for find_program
-
-When finding an external program with `find_program`, the `version_argument`
-can be used to override the default `--version` argument when trying to parse
-the version of the program.
-
-For example, if the following is used:
-```meson
-foo = find_program('foo', version_argument: '-version')
-```
-
-meson will internally run `foo -version` when trying to find the version of `foo`.
diff --git a/docs/markdown/snippets/meson_configure_options_changes.md b/docs/markdown/snippets/meson_configure_options_changes.md
deleted file mode 100644
index c86792c..0000000
--- a/docs/markdown/snippets/meson_configure_options_changes.md
+++ /dev/null
@@ -1,12 +0,0 @@
-## Meson configure handles changes to options in more cases
-
-Meson configure now correctly handles updates to the options file without a full
-reconfigure. This allows making a change to the `meson.options` or
-`meson_options.txt` file without a reconfigure.
-
-For example, this now works:
-```sh
-meson setup builddir
-git pull
-meson configure builddir -Doption-added-by-pull=value
-```
diff --git a/docs/markdown/snippets/meson_format_cmd.md b/docs/markdown/snippets/meson_format_cmd.md
deleted file mode 100644
index 390f15d..0000000
--- a/docs/markdown/snippets/meson_format_cmd.md
+++ /dev/null
@@ -1,4 +0,0 @@
-## New meson format command
-
-This command is similar to `muon fmt` and allows to format a `meson.build`
-document.
diff --git a/docs/markdown/snippets/null_terminated_string_arg.md b/docs/markdown/snippets/null_terminated_string_arg.md
deleted file mode 100644
index 2ba1755..0000000
--- a/docs/markdown/snippets/null_terminated_string_arg.md
+++ /dev/null
@@ -1,13 +0,0 @@
-## Added support for GCC's `null_terminated_string_arg` function attribute
-
-You can now check if a compiler support the `null_terminated_string_arg`
-function attribute via the `has_function_attribute()` method on the
-[[@compiler]] object.
-
-```meson
-cc = meson.get_compiler('c')
-
-if cc.has_function_attribute('null_terminated_string_arg')
- # We have it...
-endif
-```
diff --git a/docs/markdown/snippets/objfw_dep.md b/docs/markdown/snippets/objfw_dep.md
deleted file mode 100644
index e65da28..0000000
--- a/docs/markdown/snippets/objfw_dep.md
+++ /dev/null
@@ -1,24 +0,0 @@
-## A new dependency for ObjFW is now supported
-
-For example, you can create a simple application written using ObjFW like this:
-
-```meson
-project('SimpleApp', 'objc')
-
-objfw_dep = dependency('objfw', version: '>= 1.0')
-
-executable('SimpleApp', 'SimpleApp.m',
- dependencies: [objfw_dep])
-```
-
-Modules are also supported. A test case using ObjFWTest can be created like
-this:
-
-```meson
-project('Tests', 'objc')
-
-objfwtest_dep = dependency('objfw', version: '>= 1.1', modules: ['ObjFWTest'])
-
-executable('Tests', ['FooTest.m', 'BarTest.m'],
- dependencies: [objfwtest_dep])
-```
diff --git a/docs/markdown/snippets/pln_bsn_support.md b/docs/markdown/snippets/pln_bsn_support.md
deleted file mode 100644
index 394339f..0000000
--- a/docs/markdown/snippets/pln_bsn_support.md
+++ /dev/null
@@ -1,11 +0,0 @@
-## Support of indexed `@PLAINNAME@` and `@BASENAME@`
-
-In `custom_target()` and `configure_file()` with multiple inputs,
-it is now possible to specify index for `@PLAINNAME@` and `@BASENAME@`
-macros in `output`:
-```
-custom_target('target_name',
- output: '@PLAINNAME0@.dl',
- input: [dep1, dep2],
- command: cmd)
-```
diff --git a/docs/markdown/snippets/requires_kwarg_on_more_compiler_methods.md b/docs/markdown/snippets/requires_kwarg_on_more_compiler_methods.md
deleted file mode 100644
index 693313c..0000000
--- a/docs/markdown/snippets/requires_kwarg_on_more_compiler_methods.md
+++ /dev/null
@@ -1,21 +0,0 @@
-## Required kwarg on more `compiler` methods
-
-The following `compiler` methods now support the `required` keyword argument:
-
-- `compiler.compiles()`
-- `compiler.links()`
-- `compiler.runs()`
-
-```meson
-cc.compiles(valid, name: 'valid', required : true)
-cc.links(valid, name: 'valid', required : true)
-cc.run(valid, name: 'valid', required : true)
-
-assert(not cc.compiles(valid, name: 'valid', required : opt))
-assert(not cc.links(valid, name: 'valid', required : opt))
-res = cc.run(valid, name: 'valid', required : opt)
-assert(res.compiled())
-assert(res.returncode() == 0)
-assert(res.stdout() == '')
-assert(res.stderr() == '')
-```
diff --git a/docs/markdown/snippets/test_interactive.md b/docs/markdown/snippets/test_interactive.md
deleted file mode 100644
index 907147f..0000000
--- a/docs/markdown/snippets/test_interactive.md
+++ /dev/null
@@ -1,6 +0,0 @@
-## The Meson test program supports a new "--interactive" argument
-
-`meson test --interactive` invokes tests with stdout, stdin and stderr
-connected directly to the calling terminal. This can be useful when running
-integration tests that run in containers or virtual machines which can spawn a
-debug shell if a test fails.
diff --git a/docs/markdown/snippets/test_iteration.md b/docs/markdown/snippets/test_iteration.md
deleted file mode 100644
index 67daf27..0000000
--- a/docs/markdown/snippets/test_iteration.md
+++ /dev/null
@@ -1,5 +0,0 @@
-## meson test now sets the `MESON_TEST_ITERATION` environment variable
-
-`meson test` will now set the `MESON_TEST_ITERATION` environment variable to the
-current iteration of the test. This will always be `1` unless `--repeat` is used
-to run the same test multiple times.
diff --git a/docs/markdown/snippets/test_max_lines.md b/docs/markdown/snippets/test_max_lines.md
deleted file mode 100644
index ea10fbb..0000000
--- a/docs/markdown/snippets/test_max_lines.md
+++ /dev/null
@@ -1,6 +0,0 @@
-## The Meson test program supports a new "--max-lines" argument
-
-By default `meson test` only shows the last 100 lines of test output from tests
-that produce large amounts of output. This default can now be changed with the
-new `--max-lines` option. For example, `--max-lines=1000` will increase the
-maximum number of log output lines from 100 to 1000.
diff --git a/docs/markdown/snippets/ti_armclang.md b/docs/markdown/snippets/ti_armclang.md
deleted file mode 100644
index 7f0f912..0000000
--- a/docs/markdown/snippets/ti_armclang.md
+++ /dev/null
@@ -1,3 +0,0 @@
-## Basic support for TI Arm Clang (tiarmclang)
-
-Support for TI's newer [Clang-based ARM toolchain](https://www.ti.com/tool/ARM-CGT).
diff --git a/docs/markdown/snippets/ti_c6000_compiler_support.md b/docs/markdown/snippets/ti_c6000_compiler_support.md
deleted file mode 100644
index 03533e6..0000000
--- a/docs/markdown/snippets/ti_c6000_compiler_support.md
+++ /dev/null
@@ -1,4 +0,0 @@
-## Support for Texas Instruments C6000 C/C++ compiler
-
-Meson now supports the TI C6000 C/C++ compiler use for the C6000 cpu family.
-The example cross file is available in `cross/ti-c6000.txt`.
diff --git a/docs/markdown/snippets/wayland_stable_prot_version.md b/docs/markdown/snippets/wayland_stable_prot_version.md
deleted file mode 100644
index 78d0a50..0000000
--- a/docs/markdown/snippets/wayland_stable_prot_version.md
+++ /dev/null
@@ -1,13 +0,0 @@
-## Wayland stable protocols can be versioned
-
-The wayland module now accepts a version number for stable protocols.
-
-```meson
-wl_mod = import('unstable-wayland')
-
-wl_mod.find_protocol(
- 'linux-dmabuf',
- state: 'stable'
- version: 1
-)
-```