From 7824ff80dcaa457706a4f762e976383e6bd03daf Mon Sep 17 00:00:00 2001 From: Jussi Pakkanen <jpakkane@gmail.com> Date: Mon, 17 Jul 2023 00:39:44 +0300 Subject: [PATCH] Whoopsie, forgot to create the release notes. --- docs/markdown/Release-notes-for-1.2.0.md | 187 ++++++++++++++++++ .../snippets/add_metrowerks_compiler.md | 5 - .../snippets/add_str_splitlines_method.md | 3 - .../snippets/allow_generator_chaining.md | 8 - docs/markdown/snippets/dep_extra_files.md | 4 - docs/markdown/snippets/gen_vslite.md | 11 -- .../snippets/generate_gir_kwarg_env.md | 3 - docs/markdown/snippets/more_intro_data.md | 9 - docs/markdown/snippets/moremachinedata.md | 12 -- docs/markdown/snippets/option_dict.md | 5 - .../snippets/override-find-program-meson.md | 38 ---- docs/markdown/snippets/python-find-version.md | 6 - docs/markdown/snippets/python_bytecompile.md | 4 - .../snippets/rust_bindegen_extra_args.md | 3 - docs/markdown/snippets/rust_dependency_map.md | 18 -- .../rust_extra_clang_bindgen_arguments.md | 8 - docs/markdown/snippets/rust_test_link_with.md | 4 - docs/markdown/snippets/rustc-ndebug.md | 6 - docs/markdown/snippets/test_name_filters.md | 9 - .../visual_studio_project_generation.md | 4 - docs/sitemap.txt | 1 + 21 files changed, 188 insertions(+), 160 deletions(-) create mode 100644 docs/markdown/Release-notes-for-1.2.0.md delete mode 100644 docs/markdown/snippets/add_metrowerks_compiler.md delete mode 100644 docs/markdown/snippets/add_str_splitlines_method.md delete mode 100644 docs/markdown/snippets/allow_generator_chaining.md delete mode 100644 docs/markdown/snippets/dep_extra_files.md delete mode 100644 docs/markdown/snippets/gen_vslite.md delete mode 100644 docs/markdown/snippets/generate_gir_kwarg_env.md delete mode 100644 docs/markdown/snippets/more_intro_data.md delete mode 100644 docs/markdown/snippets/moremachinedata.md delete mode 100644 docs/markdown/snippets/option_dict.md delete mode 100644 docs/markdown/snippets/override-find-program-meson.md delete mode 100644 docs/markdown/snippets/python-find-version.md delete mode 100644 docs/markdown/snippets/python_bytecompile.md delete mode 100644 docs/markdown/snippets/rust_bindegen_extra_args.md delete mode 100644 docs/markdown/snippets/rust_dependency_map.md delete mode 100644 docs/markdown/snippets/rust_extra_clang_bindgen_arguments.md delete mode 100644 docs/markdown/snippets/rust_test_link_with.md delete mode 100644 docs/markdown/snippets/rustc-ndebug.md delete mode 100644 docs/markdown/snippets/test_name_filters.md delete mode 100644 docs/markdown/snippets/visual_studio_project_generation.md diff --git a/docs/markdown/Release-notes-for-1.2.0.md b/docs/markdown/Release-notes-for-1.2.0.md new file mode 100644 index 000000000..23312164e --- /dev/null +++ b/docs/markdown/Release-notes-for-1.2.0.md @@ -0,0 +1,187 @@ +--- +title: Release 1.2.0 +short-description: Release notes for 1.2.0 +... + +# New features + +Meson 1.2.0 was released on 17 July 2023 +## Added Metrowerks C/C++ toolchains + +Added support for the Metrowerks Embedded ARM and Metrowerks Embedded PowerPC toolchains (https://www.nxp.com/docs/en/reference-manual/CWMCUKINCMPREF.pdf). + +The implementation is somewhat experimental. It has been tested on a few projects and works fairly well, but may have issues. + +## Added str.splitlines method + +[[str.splitlines]] can now be used to split a string into an array of lines. + +## `generator.process(generator.process(...))` + +Added support for code like this: +```meson +gen1 = generator(...) +gen2 = generator(...) +gen2.process(gen1.process('input.txt')) +``` + +## Extra files keyword in `declare_dependency` + +`declare_dependency` have a new `extra_files` keyword, +to add extra files to a target. It is used mostly for IDE integration. + +## Added a new '--genvslite' option for use with 'meson setup ...' + +To facilitate a more usual visual studio work-flow of supporting and switching between +multiple build configurations (buildtypes) within the same solution, among other +[reasons](https://github.com/mesonbuild/meson/pull/11049), use of this new option +has the effect of setting up multiple ninja back-end-configured build directories, +named with their respective buildtype suffix. E.g. 'somebuilddir_debug', +'somebuilddir_release', etc. as well as a '_vs'-suffixed directory that contains the +generated multi-buildtype solution. Building/cleaning/rebuilding in the solution +now launches the meson build (compile) of the corresponding buildtype-suffixed build +directory, instead of using Visual Studio's native engine. + +## `gnome.generate_gir()` now supports `env` kwarg + +`gnome.generate_gir()` now accepts the `env` kwarg which lets you set environment variables. + +## More data in introspection files + +- Used compilers are listed in `intro-compilers.json` +- Informations about `host`, `build` and `target` machines + are lister in `intro-machines.json` +- `intro-dependencies.json` now includes internal dependencies, + and relations between dependencies. +- `intro-targets.json` now includes dependencies, `vs_module_defs`, + `win_subsystem`, and linker parameters. + +## Machine objects get `kernel` and `subsystem` properties + +Meson has traditionally provided a `system` property to detect the +system being run on. However this is not enough to reliably +differentiate between e.g. an iOS platform from a watchOS one. Two new +properties, namely `kernel` and `subsystem` have been added so these +setups can be reliably detected. + +These new properties are not necessary in cross files for now, but if +they are not defined and a build file tries to access them, Meson will +exit with a hard error. It is expected that at some point in the +future defining the new properties will become mandatory. + +## default_options and override_options may now be dictionaries + +Instead of passing them as `default_options : ['key=value']`, they can now be +passed as `default_options : {'key': 'value'}`, and the same for +`override_options`. + +## New override of `find_program('meson')` + +In some cases, it has been useful for build scripts to access the Meson command +used to invoke the build script. This has led to various ad-hoc solutions that +can be very brittle and project-specific. + +```meson +meson_prog = find_program('meson') +``` + +This call will supply the build script with an external program pointing at the +invoked Meson. + +Because Meson also uses `find_program` for program lookups internally, this +override will also be handled in cases similar to the following: + +```meson +custom_target( + # ... + command: [ + 'meson', + ], + # ... +) + +run_command( + 'meson', + # ... +) + +run_target( + 'tgt', + command: [ + 'meson', + # ... + ] +) +``` + +## Find more specific python version on Windows + +You can now use `python3.x`, where `x` is the minor version, +to find a more specific version of python on Windows, when +using the python module. On other platforms, it was already +working as `python3.x` is the executable name. + +## Python module can now compile bytecode + +A new builtin option is available: `-Dpython.bytecompile=2`. It can be used to +compile bytecode for all pure python files installed via the python module. + +## rust.bindgen allows passing extra arguments to rustc + +This may be necessary to pass extra `cfg`s or to change warning levels. + +## Support for defining crate names of Rust dependencies in Rust targets + +Rust supports defining a different crate name for a dependency than what the +actual crate name during compilation of that dependency was. + +This allows using multiple versions of the same crate at once, or simply using +a shorter name of the crate for convenience. + +```meson +a_dep = dependency('some-very-long-name') + +my_executable = executable('my-executable', 'src/main.rs', + rust_dependency_map : { + 'some_very_long_name' : 'a', + }, + dependencies : [a_dep], +) +``` + +## A machine file may be used to pass extra arguments to clang in a bindgen call + +Because of the way that bindgen proxies arguments to clang the only choice to +add extra arguments currently is to wrap bindgen in a script, since the +arguments must come after a `--`. This is inelegant, and not very portable. Now +a `bindgen_clang_arguments` field may be placed in the machine file for the host +machine, and these arguments will be added to every bindgen call for clang. This +is intended to be useful for things like injecting `--target` arguments. + +## Add a `link_with` keyword to `rust.test()` + +This can already be be worked around by creating `declare_dependency()` objects +to pass to the `dependencies` keyword, but this cuts out the middle man. + +## Rust now supports the b_ndebug option + +Which controls the `debug_assertions` cfg, which in turn controls +`debug_assert!()` macro. This macro is roughly equivalent to C's `assert()`, as +it can be toggled with command line options, unlike Rust's `assert!()`, which +cannot be turned off, and is not designed to be. + +## Wildcards in list of tests to run + +The `meson test` command now accepts wildcards in the list of test names. +For example `meson test basic*` will run all tests whose name begins +with "basic". + +meson will report an error if the given test name does not match any +existing test. meson will log a warning if two redundant test names +are given (for example if you give both "proj:basic" and "proj:"). + +## New for the generation of Visual Studio vcxproj projects + +When vcxproj is generated, another file vcxproj.filters is generated in parallel. +It enables to set a hierarchy of the files inside the solution following their place on filesystem. + diff --git a/docs/markdown/snippets/add_metrowerks_compiler.md b/docs/markdown/snippets/add_metrowerks_compiler.md deleted file mode 100644 index cebf74f97..000000000 --- a/docs/markdown/snippets/add_metrowerks_compiler.md +++ /dev/null @@ -1,5 +0,0 @@ -## Added Metrowerks C/C++ toolchains - -Added support for the Metrowerks Embedded ARM and Metrowerks Embedded PowerPC toolchains (https://www.nxp.com/docs/en/reference-manual/CWMCUKINCMPREF.pdf). - -The implementation is somewhat experimental. It has been tested on a few projects and works fairly well, but may have issues. diff --git a/docs/markdown/snippets/add_str_splitlines_method.md b/docs/markdown/snippets/add_str_splitlines_method.md deleted file mode 100644 index 6787f179b..000000000 --- a/docs/markdown/snippets/add_str_splitlines_method.md +++ /dev/null @@ -1,3 +0,0 @@ -## Added str.splitlines method - -[[str.splitlines]] can now be used to split a string into an array of lines. diff --git a/docs/markdown/snippets/allow_generator_chaining.md b/docs/markdown/snippets/allow_generator_chaining.md deleted file mode 100644 index 92e4c1b23..000000000 --- a/docs/markdown/snippets/allow_generator_chaining.md +++ /dev/null @@ -1,8 +0,0 @@ -## `generator.process(generator.process(...))` - -Added support for code like this: -```meson -gen1 = generator(...) -gen2 = generator(...) -gen2.process(gen1.process('input.txt')) -``` diff --git a/docs/markdown/snippets/dep_extra_files.md b/docs/markdown/snippets/dep_extra_files.md deleted file mode 100644 index 6366c1622..000000000 --- a/docs/markdown/snippets/dep_extra_files.md +++ /dev/null @@ -1,4 +0,0 @@ -## Extra files keyword in `declare_dependency` - -`declare_dependency` have a new `extra_files` keyword, -to add extra files to a target. It is used mostly for IDE integration. diff --git a/docs/markdown/snippets/gen_vslite.md b/docs/markdown/snippets/gen_vslite.md deleted file mode 100644 index e647b0429..000000000 --- a/docs/markdown/snippets/gen_vslite.md +++ /dev/null @@ -1,11 +0,0 @@ -## Added a new '--genvslite' option for use with 'meson setup ...' - -To facilitate a more usual visual studio work-flow of supporting and switching between -multiple build configurations (buildtypes) within the same solution, among other -[reasons](https://github.com/mesonbuild/meson/pull/11049), use of this new option -has the effect of setting up multiple ninja back-end-configured build directories, -named with their respective buildtype suffix. E.g. 'somebuilddir_debug', -'somebuilddir_release', etc. as well as a '_vs'-suffixed directory that contains the -generated multi-buildtype solution. Building/cleaning/rebuilding in the solution -now launches the meson build (compile) of the corresponding buildtype-suffixed build -directory, instead of using Visual Studio's native engine. \ No newline at end of file diff --git a/docs/markdown/snippets/generate_gir_kwarg_env.md b/docs/markdown/snippets/generate_gir_kwarg_env.md deleted file mode 100644 index c313b406a..000000000 --- a/docs/markdown/snippets/generate_gir_kwarg_env.md +++ /dev/null @@ -1,3 +0,0 @@ -## `gnome.generate_gir()` now supports `env` kwarg - -`gnome.generate_gir()` now accepts the `env` kwarg which lets you set environment variables. diff --git a/docs/markdown/snippets/more_intro_data.md b/docs/markdown/snippets/more_intro_data.md deleted file mode 100644 index 2ce65a378..000000000 --- a/docs/markdown/snippets/more_intro_data.md +++ /dev/null @@ -1,9 +0,0 @@ -## More data in introspection files - -- Used compilers are listed in `intro-compilers.json` -- Informations about `host`, `build` and `target` machines - are lister in `intro-machines.json` -- `intro-dependencies.json` now includes internal dependencies, - and relations between dependencies. -- `intro-targets.json` now includes dependencies, `vs_module_defs`, - `win_subsystem`, and linker parameters. diff --git a/docs/markdown/snippets/moremachinedata.md b/docs/markdown/snippets/moremachinedata.md deleted file mode 100644 index 978cb9c01..000000000 --- a/docs/markdown/snippets/moremachinedata.md +++ /dev/null @@ -1,12 +0,0 @@ -## Machine objects get `kernel` and `subsystem` properties - -Meson has traditionally provided a `system` property to detect the -system being run on. However this is not enough to reliably -differentiate between e.g. an iOS platform from a watchOS one. Two new -properties, namely `kernel` and `subsystem` have been added so these -setups can be reliably detected. - -These new properties are not necessary in cross files for now, but if -they are not defined and a build file tries to access them, Meson will -exit with a hard error. It is expected that at some point in the -future defining the new properties will become mandatory. diff --git a/docs/markdown/snippets/option_dict.md b/docs/markdown/snippets/option_dict.md deleted file mode 100644 index 79cca5f76..000000000 --- a/docs/markdown/snippets/option_dict.md +++ /dev/null @@ -1,5 +0,0 @@ -## default_options and override_options may now be dictionaries - -Instead of passing them as `default_options : ['key=value']`, they can now be -passed as `default_options : {'key': 'value'}`, and the same for -`override_options`. diff --git a/docs/markdown/snippets/override-find-program-meson.md b/docs/markdown/snippets/override-find-program-meson.md deleted file mode 100644 index 5d281cdb6..000000000 --- a/docs/markdown/snippets/override-find-program-meson.md +++ /dev/null @@ -1,38 +0,0 @@ -## New override of `find_program('meson')` - -In some cases, it has been useful for build scripts to access the Meson command -used to invoke the build script. This has led to various ad-hoc solutions that -can be very brittle and project-specific. - -```meson -meson_prog = find_program('meson') -``` - -This call will supply the build script with an external program pointing at the -invoked Meson. - -Because Meson also uses `find_program` for program lookups internally, this -override will also be handled in cases similar to the following: - -```meson -custom_target( - # ... - command: [ - 'meson', - ], - # ... -) - -run_command( - 'meson', - # ... -) - -run_target( - 'tgt', - command: [ - 'meson', - # ... - ] -) -``` diff --git a/docs/markdown/snippets/python-find-version.md b/docs/markdown/snippets/python-find-version.md deleted file mode 100644 index 0cd6672c2..000000000 --- a/docs/markdown/snippets/python-find-version.md +++ /dev/null @@ -1,6 +0,0 @@ -## Find more specific python version on Windows - -You can now use `python3.x`, where `x` is the minor version, -to find a more specific version of python on Windows, when -using the python module. On other platforms, it was already -working as `python3.x` is the executable name. diff --git a/docs/markdown/snippets/python_bytecompile.md b/docs/markdown/snippets/python_bytecompile.md deleted file mode 100644 index 0240c9d08..000000000 --- a/docs/markdown/snippets/python_bytecompile.md +++ /dev/null @@ -1,4 +0,0 @@ -## Python module can now compile bytecode - -A new builtin option is available: `-Dpython.bytecompile=2`. It can be used to -compile bytecode for all pure python files installed via the python module. diff --git a/docs/markdown/snippets/rust_bindegen_extra_args.md b/docs/markdown/snippets/rust_bindegen_extra_args.md deleted file mode 100644 index 209d0bcb0..000000000 --- a/docs/markdown/snippets/rust_bindegen_extra_args.md +++ /dev/null @@ -1,3 +0,0 @@ -## rust.bindgen allows passing extra arguments to rustc - -This may be necessary to pass extra `cfg`s or to change warning levels. diff --git a/docs/markdown/snippets/rust_dependency_map.md b/docs/markdown/snippets/rust_dependency_map.md deleted file mode 100644 index 62c9dae4d..000000000 --- a/docs/markdown/snippets/rust_dependency_map.md +++ /dev/null @@ -1,18 +0,0 @@ -## Support for defining crate names of Rust dependencies in Rust targets - -Rust supports defining a different crate name for a dependency than what the -actual crate name during compilation of that dependency was. - -This allows using multiple versions of the same crate at once, or simply using -a shorter name of the crate for convenience. - -```meson -a_dep = dependency('some-very-long-name') - -my_executable = executable('my-executable', 'src/main.rs', - rust_dependency_map : { - 'some_very_long_name' : 'a', - }, - dependencies : [a_dep], -) -``` diff --git a/docs/markdown/snippets/rust_extra_clang_bindgen_arguments.md b/docs/markdown/snippets/rust_extra_clang_bindgen_arguments.md deleted file mode 100644 index 71268d43a..000000000 --- a/docs/markdown/snippets/rust_extra_clang_bindgen_arguments.md +++ /dev/null @@ -1,8 +0,0 @@ -## A machine file may be used to pass extra arguments to clang in a bindgen call - -Because of the way that bindgen proxies arguments to clang the only choice to -add extra arguments currently is to wrap bindgen in a script, since the -arguments must come after a `--`. This is inelegant, and not very portable. Now -a `bindgen_clang_arguments` field may be placed in the machine file for the host -machine, and these arguments will be added to every bindgen call for clang. This -is intended to be useful for things like injecting `--target` arguments. diff --git a/docs/markdown/snippets/rust_test_link_with.md b/docs/markdown/snippets/rust_test_link_with.md deleted file mode 100644 index 9c2b7d6c9..000000000 --- a/docs/markdown/snippets/rust_test_link_with.md +++ /dev/null @@ -1,4 +0,0 @@ -## Add a `link_with` keyword to `rust.test()` - -This can already be be worked around by creating `declare_dependency()` objects -to pass to the `dependencies` keyword, but this cuts out the middle man. diff --git a/docs/markdown/snippets/rustc-ndebug.md b/docs/markdown/snippets/rustc-ndebug.md deleted file mode 100644 index e35386591..000000000 --- a/docs/markdown/snippets/rustc-ndebug.md +++ /dev/null @@ -1,6 +0,0 @@ -## Rust now supports the b_ndebug option - -Which controls the `debug_assertions` cfg, which in turn controls -`debug_assert!()` macro. This macro is roughly equivalent to C's `assert()`, as -it can be toggled with command line options, unlike Rust's `assert!()`, which -cannot be turned off, and is not designed to be. diff --git a/docs/markdown/snippets/test_name_filters.md b/docs/markdown/snippets/test_name_filters.md deleted file mode 100644 index 14e62a9d5..000000000 --- a/docs/markdown/snippets/test_name_filters.md +++ /dev/null @@ -1,9 +0,0 @@ -## Wildcards in list of tests to run - -The `meson test` command now accepts wildcards in the list of test names. -For example `meson test basic*` will run all tests whose name begins -with "basic". - -meson will report an error if the given test name does not match any -existing test. meson will log a warning if two redundant test names -are given (for example if you give both "proj:basic" and "proj:"). diff --git a/docs/markdown/snippets/visual_studio_project_generation.md b/docs/markdown/snippets/visual_studio_project_generation.md deleted file mode 100644 index 127733d7a..000000000 --- a/docs/markdown/snippets/visual_studio_project_generation.md +++ /dev/null @@ -1,4 +0,0 @@ -## New for the generation of Visual Studio vcxproj projects - -When vcxproj is generated, another file vcxproj.filters is generated in parallel. -It enables to set a hierarchy of the files inside the solution following their place on filesystem. \ No newline at end of file diff --git a/docs/sitemap.txt b/docs/sitemap.txt index 65c7f69da..b6d57a493 100644 --- a/docs/sitemap.txt +++ b/docs/sitemap.txt @@ -88,6 +88,7 @@ index.md Wrap-best-practices-and-tips.md Shipping-prebuilt-binaries-as-wraps.md Release-notes.md + Release-notes-for-1.2.0.md Release-notes-for-1.1.0.md Release-notes-for-1.0.0.md Release-notes-for-0.64.0.md