aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docs/markdown/Release-notes-for-0.52.0.md244
-rw-r--r--docs/markdown/snippets/add_arguments_cross.md16
-rw-r--r--docs/markdown/snippets/add_gdb_path.md9
-rw-r--r--docs/markdown/snippets/alias_target.md12
-rw-r--r--docs/markdown/snippets/b_lundef_on_apple.md5
-rw-r--r--docs/markdown/snippets/blocks.md3
-rw-r--r--docs/markdown/snippets/check-disabler.md5
-rw-r--r--docs/markdown/snippets/clangtidy.md8
-rw-r--r--docs/markdown/snippets/configure_file_enhancements.md6
-rw-r--r--docs/markdown/snippets/depth.md7
-rw-r--r--docs/markdown/snippets/dist-command.md10
-rw-r--r--docs/markdown/snippets/env_dict.md8
-rw-r--r--docs/markdown/snippets/find_program_version.md9
-rw-r--r--docs/markdown/snippets/force_system.md11
-rw-r--r--docs/markdown/snippets/gtkdoc.md11
-rw-r--r--docs/markdown/snippets/kconfig_enhancements.md3
-rw-r--r--docs/markdown/snippets/nogettext.md7
-rw-r--r--docs/markdown/snippets/pkg_config_enhancements.md5
-rw-r--r--docs/markdown/snippets/select_run_project_tests.md10
-rw-r--r--docs/markdown/snippets/shared_module_defs.md4
-rw-r--r--docs/markdown/snippets/solaris.md4
-rw-r--r--docs/markdown/snippets/source_set_enhancements.md4
-rw-r--r--docs/markdown/snippets/split-compiler-and-linker-representations.md6
-rw-r--r--docs/markdown/snippets/split-visibility-attributes.md14
-rw-r--r--docs/markdown/snippets/static_link.md34
-rw-r--r--docs/markdown/snippets/wasm.md5
-rw-r--r--man/meson.12
-rw-r--r--mesonbuild/coredata.py2
28 files changed, 245 insertions, 219 deletions
diff --git a/docs/markdown/Release-notes-for-0.52.0.md b/docs/markdown/Release-notes-for-0.52.0.md
index f5bbcc3..018fb35 100644
--- a/docs/markdown/Release-notes-for-0.52.0.md
+++ b/docs/markdown/Release-notes-for-0.52.0.md
@@ -3,4 +3,246 @@ title: Release 0.52.0
short-description: Release notes for 0.52.0
...
-# Notable changes in this version
+# New features
+
+## Gettext targets are ignored if `gettext` is not installed
+
+Previously the `i18n` module has errored out when `gettext` tools are
+not installed on the system. Starting with this version they will
+become no-ops instead. This makes it easier to build projects on
+minimal environments (such as when bootstrapping) that do not have
+translation tools installed.
+
+## Support taking environment values from a dictionary
+
+`environment()` now accepts a dictionary as first argument. If
+provided, each key/value pair is added into the `environment_object`
+as if `set()` method was called for each of them.
+
+On the various functions that take an `env:` keyword argument, you may
+now give a dictionary.
+
+## alias_target
+
+``` meson
+runtarget alias_target(target_name, dep1, ...)
+```
+
+This function creates a new top-level target. Like all top-level targets, this
+integrates with the selected backend. For instance, with Ninja you can
+run it as `ninja target_name`. This is a dummy target that does not execute any
+command, but ensures that all dependencies are built. Dependencies can be any
+build target (e.g. return value of executable(), custom_target(), etc)
+
+
+## Enhancements to the pkg_config_path argument
+
+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
+
+`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`):
+
+```console
+$ meson test --gdb --gdb-path /my/special/location/for/gdb testname
+$ meson test --gdb --gdb-path cgdb testname
+```
+
+## Better support for illumos and Solaris
+
+illumos (and hopefully Solaris) support has been dramatically improved, and one
+can reasonably expect projects to compile.
+
+## Splitting of Compiler.get_function_attribute('visibility')
+
+On macOS there is no `protected` visibility, which results in the visbility
+check always failing. 0.52.0 introduces two changes to improve this situation:
+
+1. the "visibility" check no longer includes "protected"
+2. a new set of "split" checks are introduced which check for a single
+ attribute instead of all attributes.
+
+These new attributes are:
+* visibility:default
+* visibility:hidden
+* visibility:internal
+* visibility:protected
+
+## Clang-tidy target
+
+If `clang-tidy` is installed and the project's source root contains a
+`.clang-tidy` (or `_clang-tidy`) file, Meson will automatically define
+a `clang-tidy` target that runs Clang-Tidy on all source files.
+
+If you have defined your own `clang-tidy` target, Meson will not
+generate its own target.
+
+## Add blocks dependency
+
+Add `dependency('blocks')` to use the Clang blocks extension.
+
+## Meson's builtin b_lundef is now supported on macOS
+
+This has always been possible, but there are some addtional restrictions on
+macOS (mainly do to Apple only features). With the linker internal
+re-architecture this has become possible
+
+## Compiler and dynamic linker representation split
+
+0.52.0 inclues a massive refactor of the representaitons of compilers to
+tease apart the representations of compilers and dynamic linkers (ld). This
+fixes a number of compiler/linker combinations. In particular this fixes
+use GCC and vanilla clang on macOS.
+
+## Add `depth` option to `wrap-git`
+
+To allow shallow cloning, an option `depth` has been added to `wrap-git`.
+This applies recursively to submodules when `clone-recursive` is set to `true`.
+
+Note that the git server may have to be configured to support shallow cloning
+not only for branches but also for tags.
+
+## Enhancements to the source_set module
+
+`SourceSet` objects now provide the `all_dependencies()` method, that
+complement the existing `all_sources()` method.
+
+## added `--only test(s)` option to run_project_tests.py
+
+Individual tests or a list of tests from run_project_tests.py can be selected like:
+```
+python run_project_tests.py --only fortran
+
+python run_project_tests.py --only fortran python3
+```
+
+This assists Meson development by only running the tests for the portion of Meson being worked on during local development.
+
+## Experimental Webassembly support via Emscripten
+
+Meson now supports compiling code to Webassembly using the Emscripten
+compiler. As with most things regarding Webassembly, this support is
+subject to change.
+
+## Version check in `find_program()`
+
+A new `version` keyword argument has been added to `find_program` to specify
+the required version. See [`dependency()`](#dependency) for argument format.
+The version of the program is determined by running `program_name --version`
+command. If stdout is empty it fallbacks to stderr. If the output contains more
+text than simply a version number, only the first occurence of numbers separated
+by dots is kept. If the output is more complicated than that, the version
+checking will have to be done manually using [`run_command()`](#run_command).
+
+## Added `vs_module_defs` to `shared_module()`
+
+Like `shared_library()`, `shared_module()` now accepts
+`vs_module_defs` argument for controlling symbol exports, etc.
+
+## Improved support for static libraries
+
+Static libraries had numerous shortcomings in the past, especially when using
+uninstalled static libraries. This release brings many internal changes in the
+way they are handled, including:
+
+- `link_whole:` of static libraries. In the example below, lib2 used to miss
+ symbols from lib1 and was unusable.
+```meson
+lib1 = static_library(sources)
+lib2 = static_library(other_sources, link_whole : lib1, install : true)
+```
+- `link_with:` of a static library with an uninstalled static library. In the
+example below, lib2 now implicitly promote `link_with:` to `link_whole:` because
+the installed lib2 would oterhwise be unusable.
+```meson
+lib1 = static_library(sources, install : false)
+lib2 = static_library(sources, link_with : lib1, install : true)
+```
+- pkg-config generator do not include uninstalled static libraries. In the example
+ below, the generated `.pc` file used to be unusable because it contained
+ `Libs.private: -llib1` and `lib1.a` is not installed. `lib1` is now ommitted
+ from the `.pc` file because the `link_with:` has been promoted to
+ `link_whole:` (see above) and thus lib1 is not needed to use lib2.
+```meson
+lib1 = static_library(sources, install : false)
+lib2 = both_libraries(sources, link_with : lib1, install : true)
+pkg.generate(lib2)
+```
+
+Many projects have been using `extract_all_objects()` to work around those issues,
+and hopefully those hacks could now be removed. Since this is a pretty large
+change, please double check if your static libraries behave correctly, and
+report any regression.
+
+## Enhancements to the kconfig module
+
+`kconfig.load()` may now accept a `configure_file()` as input file.
+
+## Added `include_type` kwarg to `dependency`
+
+The `dependency()` function now has a `include_type` kwarg. It can take the
+values `'preserve'`, `'system'` and `'non-system'`. If it is set to `'system'`,
+all include directories of the dependency are marked as system dependencies.
+
+The default value of `include_type` is `'preserve'`.
+
+Additionally, it is also possible to check and change the `include_type`
+state of an existing dependency object with the new `include_type()` and
+`as_system()` methods.
+
+## Enhancements to `configure_file()`
+
+`input:` now accepts multiple input file names for `command:`-configured file.
+
+`depfile:` keyword argument is now accepted. The dependency file can
+list all the additional files the configure target depends on.
+
+## Projects args can be set separately for build and host machines (potentially breaking change)
+
+Simplify `native` flag behavior in `add_global_arguments`,
+`add_global_link_arguments`, `add_project_arguments` and
+`add_project_link_arguments`. The rules are now very simple:
+
+ - `native: true` affects `native: true` targets
+
+ - `native: false` affects `native: false` targets
+
+ - No native flag is the same as `native: false`
+
+This further simplifies behavior to match the "build vs host" decision done in
+last release with `c_args` vs `build_c_args`. The underlying motivation in both
+cases is to execute the same commands whether the overall build is native or
+cross.
+
+## Allow checking if a variable is a disabler
+
+Added the function `is_disabler(var)`. Returns true if a variable is a disabler
+and false otherwise.
+
+
+## gtkdoc-check support
+
+`gnome.gtkdoc()` now has a `check` keyword argument. If `true` runs it will run
+`gtkdoc-check` when running unit tests. Note that this has the downside of
+rebuilding the doc for each build, which is often very slow. It usually should
+be enabled only in CI.
+
+## `gnome.gtkdoc()` returns target object
+
+`gnome.gtkdoc()` now returns a target object that can be passed as dependency to
+other targets using generated doc files (e.g. in `content_files` of another doc).
+
+## Dist is now a top level command
+
+Previously creating a source archive could only be done with `ninja
+dist`. Starting with this release Meson provides a top level `dist`
+that can be invoked directly. It also has a command line option to
+determine which kinds of archives to create:
+
+```meson
+meson dist --formats=xztar,zip
+```
+
diff --git a/docs/markdown/snippets/add_arguments_cross.md b/docs/markdown/snippets/add_arguments_cross.md
deleted file mode 100644
index 7c197b6..0000000
--- a/docs/markdown/snippets/add_arguments_cross.md
+++ /dev/null
@@ -1,16 +0,0 @@
-## Projects args can be set separately for build and host machines (potentially breaking change)
-
-Simplify `native` flag behavior in `add_global_arguments`,
-`add_global_link_arguments`, `add_project_arguments` and
-`add_project_link_arguments`. The rules are now very simple:
-
- - `native: true` affects `native: true` targets
-
- - `native: false` affects `native: false` targets
-
- - No native flag is the same as `native: false`
-
-This further simplifies behavior to match the "build vs host" decision done in
-last release with `c_args` vs `build_c_args`. The underlying motivation in both
-cases is to execute the same commands whether the overall build is native or
-cross.
diff --git a/docs/markdown/snippets/add_gdb_path.md b/docs/markdown/snippets/add_gdb_path.md
deleted file mode 100644
index 873c3fc..0000000
--- a/docs/markdown/snippets/add_gdb_path.md
+++ /dev/null
@@ -1,9 +0,0 @@
-## 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`):
-
-```console
-$ meson test --gdb --gdb-path /my/special/location/for/gdb testname
-$ meson test --gdb --gdb-path cgdb testname
-```
diff --git a/docs/markdown/snippets/alias_target.md b/docs/markdown/snippets/alias_target.md
deleted file mode 100644
index 129730d..0000000
--- a/docs/markdown/snippets/alias_target.md
+++ /dev/null
@@ -1,12 +0,0 @@
-## alias_target
-
-``` meson
-runtarget alias_target(target_name, dep1, ...)
-```
-
-This function creates a new top-level target. Like all top-level targets, this
-integrates with the selected backend. For instance, with Ninja you can
-run it as `ninja target_name`. This is a dummy target that does not execute any
-command, but ensures that all dependencies are built. Dependencies can be any
-build target (e.g. return value of executable(), custom_target(), etc)
-
diff --git a/docs/markdown/snippets/b_lundef_on_apple.md b/docs/markdown/snippets/b_lundef_on_apple.md
deleted file mode 100644
index 850a412..0000000
--- a/docs/markdown/snippets/b_lundef_on_apple.md
+++ /dev/null
@@ -1,5 +0,0 @@
-## Meson's builtin b_lundef is now supported on macOS
-
-This has always been possible, but there are some addtional restrictions on
-macOS (mainly do to Apple only features). With the linker internal
-re-architecture this has become possible \ No newline at end of file
diff --git a/docs/markdown/snippets/blocks.md b/docs/markdown/snippets/blocks.md
deleted file mode 100644
index 917ee54..0000000
--- a/docs/markdown/snippets/blocks.md
+++ /dev/null
@@ -1,3 +0,0 @@
-## Add blocks dependency
-
-Add `dependency('blocks')` to use the Clang blocks extension.
diff --git a/docs/markdown/snippets/check-disabler.md b/docs/markdown/snippets/check-disabler.md
deleted file mode 100644
index 9670792..0000000
--- a/docs/markdown/snippets/check-disabler.md
+++ /dev/null
@@ -1,5 +0,0 @@
-## Allow checking if a variable is a disabler
-
-Added the function `is_disabler(var)`. Returns true if a variable is a disabler
-and false otherwise.
-
diff --git a/docs/markdown/snippets/clangtidy.md b/docs/markdown/snippets/clangtidy.md
deleted file mode 100644
index 816d45f..0000000
--- a/docs/markdown/snippets/clangtidy.md
+++ /dev/null
@@ -1,8 +0,0 @@
-## Clang-tidy target
-
-If `clang-tidy` is installed and the project's source root contains a
-`.clang-tidy` (or `_clang-tidy`) file, Meson will automatically define
-a `clang-tidy` target that runs Clang-Tidy on all source files.
-
-If you have defined your own `clang-tidy` target, Meson will not
-generate its own target.
diff --git a/docs/markdown/snippets/configure_file_enhancements.md b/docs/markdown/snippets/configure_file_enhancements.md
deleted file mode 100644
index 7fee7b2..0000000
--- a/docs/markdown/snippets/configure_file_enhancements.md
+++ /dev/null
@@ -1,6 +0,0 @@
-## Enhancements to `configure_file()`
-
-`input:` now accepts multiple input file names for `command:`-configured file.
-
-`depfile:` keyword argument is now accepted. The dependency file can
-list all the additional files the configure target depends on.
diff --git a/docs/markdown/snippets/depth.md b/docs/markdown/snippets/depth.md
deleted file mode 100644
index bdb032c..0000000
--- a/docs/markdown/snippets/depth.md
+++ /dev/null
@@ -1,7 +0,0 @@
-## Add `depth` option to `wrap-git`
-
-To allow shallow cloning, an option `depth` has been added to `wrap-git`.
-This applies recursively to submodules when `clone-recursive` is set to `true`.
-
-Note that the git server may have to be configured to support shallow cloning
-not only for branches but also for tags.
diff --git a/docs/markdown/snippets/dist-command.md b/docs/markdown/snippets/dist-command.md
deleted file mode 100644
index 026b8cd..0000000
--- a/docs/markdown/snippets/dist-command.md
+++ /dev/null
@@ -1,10 +0,0 @@
-## Dist is now a top level command
-
-Previously creating a source archive could only be done with `ninja
-dist`. Starting with this release Meson provides a top level `dist`
-that can be invoked directly. It also has a command line option to
-determine which kinds of archives to create:
-
-```meson
-meson dist --formats=xztar,zip
-```
diff --git a/docs/markdown/snippets/env_dict.md b/docs/markdown/snippets/env_dict.md
deleted file mode 100644
index 5949806..0000000
--- a/docs/markdown/snippets/env_dict.md
+++ /dev/null
@@ -1,8 +0,0 @@
-## Support taking environment values from a dictionary
-
-`environment()` now accepts a dictionary as first argument. If
-provided, each key/value pair is added into the `environment_object`
-as if `set()` method was called for each of them.
-
-On the various functions that take an `env:` keyword argument, you may
-now give a dictionary.
diff --git a/docs/markdown/snippets/find_program_version.md b/docs/markdown/snippets/find_program_version.md
deleted file mode 100644
index 04424d7..0000000
--- a/docs/markdown/snippets/find_program_version.md
+++ /dev/null
@@ -1,9 +0,0 @@
-## Version check in `find_program()`
-
-A new `version` keyword argument has been added to `find_program` to specify
-the required version. See [`dependency()`](#dependency) for argument format.
-The version of the program is determined by running `program_name --version`
-command. If stdout is empty it fallbacks to stderr. If the output contains more
-text than simply a version number, only the first occurence of numbers separated
-by dots is kept. If the output is more complicated than that, the version
-checking will have to be done manually using [`run_command()`](#run_command).
diff --git a/docs/markdown/snippets/force_system.md b/docs/markdown/snippets/force_system.md
deleted file mode 100644
index fd983e0..0000000
--- a/docs/markdown/snippets/force_system.md
+++ /dev/null
@@ -1,11 +0,0 @@
-## Added `include_type` kwarg to `dependency`
-
-The `dependency()` function now has a `include_type` kwarg. It can take the
-values `'preserve'`, `'system'` and `'non-system'`. If it is set to `'system'`,
-all include directories of the dependency are marked as system dependencies.
-
-The default value of `include_type` is `'preserve'`.
-
-Additionally, it is also possible to check and change the `include_type`
-state of an existing dependency object with the new `include_type()` and
-`as_system()` methods.
diff --git a/docs/markdown/snippets/gtkdoc.md b/docs/markdown/snippets/gtkdoc.md
deleted file mode 100644
index f1f4ed4..0000000
--- a/docs/markdown/snippets/gtkdoc.md
+++ /dev/null
@@ -1,11 +0,0 @@
-## gtkdoc-check support
-
-`gnome.gtkdoc()` now has a `check` keyword argument. If `true` runs it will run
-`gtkdoc-check` when running unit tests. Note that this has the downside of
-rebuilding the doc for each build, which is often very slow. It usually should
-be enabled only in CI.
-
-## `gnome.gtkdoc()` returns target object
-
-`gnome.gtkdoc()` now returns a target object that can be passed as dependency to
-other targets using generated doc files (e.g. in `content_files` of another doc).
diff --git a/docs/markdown/snippets/kconfig_enhancements.md b/docs/markdown/snippets/kconfig_enhancements.md
deleted file mode 100644
index 94e3872..0000000
--- a/docs/markdown/snippets/kconfig_enhancements.md
+++ /dev/null
@@ -1,3 +0,0 @@
-## Enhancements to the kconfig module
-
-`kconfig.load()` may now accept a `configure_file()` as input file.
diff --git a/docs/markdown/snippets/nogettext.md b/docs/markdown/snippets/nogettext.md
deleted file mode 100644
index 5053226..0000000
--- a/docs/markdown/snippets/nogettext.md
+++ /dev/null
@@ -1,7 +0,0 @@
-## Gettext targets are ignored if `gettext` is not installed
-
-Previously the `i18n` module has errored out when `gettext` tools are
-not installed on the system. Starting with this version they will
-become no-ops instead. This makes it easier to build projects on
-minimal environments (such as when bootstrapping) that do not have
-translation tools installed.
diff --git a/docs/markdown/snippets/pkg_config_enhancements.md b/docs/markdown/snippets/pkg_config_enhancements.md
deleted file mode 100644
index 1d63c8f..0000000
--- a/docs/markdown/snippets/pkg_config_enhancements.md
+++ /dev/null
@@ -1,5 +0,0 @@
-## Enhancements to the pkg_config_path argument
-
-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. \ No newline at end of file
diff --git a/docs/markdown/snippets/select_run_project_tests.md b/docs/markdown/snippets/select_run_project_tests.md
deleted file mode 100644
index 8311c83..0000000
--- a/docs/markdown/snippets/select_run_project_tests.md
+++ /dev/null
@@ -1,10 +0,0 @@
-## added `--only test(s)` option to run_project_tests.py
-
-Individual tests or a list of tests from run_project_tests.py can be selected like:
-```
-python run_project_tests.py --only fortran
-
-python run_project_tests.py --only fortran python3
-```
-
-This assists Meson development by only running the tests for the portion of Meson being worked on during local development. \ No newline at end of file
diff --git a/docs/markdown/snippets/shared_module_defs.md b/docs/markdown/snippets/shared_module_defs.md
deleted file mode 100644
index 5bc1de7..0000000
--- a/docs/markdown/snippets/shared_module_defs.md
+++ /dev/null
@@ -1,4 +0,0 @@
-## Added `vs_module_defs` to `shared_module()`
-
-Like `shared_library()`, `shared_module()` now accepts
-`vs_module_defs` argument for controlling symbol exports, etc.
diff --git a/docs/markdown/snippets/solaris.md b/docs/markdown/snippets/solaris.md
deleted file mode 100644
index 78f5718..0000000
--- a/docs/markdown/snippets/solaris.md
+++ /dev/null
@@ -1,4 +0,0 @@
-## Better support for illumos and Solaris
-
-illumos (and hopefully Solaris) support has been dramatically improved, and one
-can reasonably expect projects to compile.
diff --git a/docs/markdown/snippets/source_set_enhancements.md b/docs/markdown/snippets/source_set_enhancements.md
deleted file mode 100644
index 08e0ae3..0000000
--- a/docs/markdown/snippets/source_set_enhancements.md
+++ /dev/null
@@ -1,4 +0,0 @@
-## Enhancements to the source_set module
-
-`SourceSet` objects now provide the `all_dependencies()` method, that
-complement the existing `all_sources()` method.
diff --git a/docs/markdown/snippets/split-compiler-and-linker-representations.md b/docs/markdown/snippets/split-compiler-and-linker-representations.md
deleted file mode 100644
index fd2e622..0000000
--- a/docs/markdown/snippets/split-compiler-and-linker-representations.md
+++ /dev/null
@@ -1,6 +0,0 @@
-## Compiler and dynamic linker representation split
-
-0.52.0 inclues a massive refactor of the representaitons of compilers to
-tease apart the representations of compilers and dynamic linkers (ld). This
-fixes a number of compiler/linker combinations. In particular this fixes
-use GCC and vanilla clang on macOS. \ No newline at end of file
diff --git a/docs/markdown/snippets/split-visibility-attributes.md b/docs/markdown/snippets/split-visibility-attributes.md
deleted file mode 100644
index e8cd152..0000000
--- a/docs/markdown/snippets/split-visibility-attributes.md
+++ /dev/null
@@ -1,14 +0,0 @@
-## Splitting of Compiler.get_function_attribute('visibility')
-
-On macOS there is no `protected` visibility, which results in the visbility
-check always failing. 0.52.0 introduces two changes to improve this situation:
-
-1. the "visibility" check no longer includes "protected"
-2. a new set of "split" checks are introduced which check for a single
- attribute instead of all attributes.
-
-These new attributes are:
-* visibility:default
-* visibility:hidden
-* visibility:internal
-* visibility:protected \ No newline at end of file
diff --git a/docs/markdown/snippets/static_link.md b/docs/markdown/snippets/static_link.md
deleted file mode 100644
index d619a8c..0000000
--- a/docs/markdown/snippets/static_link.md
+++ /dev/null
@@ -1,34 +0,0 @@
-## Improved support for static libraries
-
-Static libraries had numerous shortcomings in the past, especially when using
-uninstalled static libraries. This release brings many internal changes in the
-way they are handled, including:
-
-- `link_whole:` of static libraries. In the example below, lib2 used to miss
- symbols from lib1 and was unusable.
-```meson
-lib1 = static_library(sources)
-lib2 = static_library(other_sources, link_whole : lib1, install : true)
-```
-- `link_with:` of a static library with an uninstalled static library. In the
-example below, lib2 now implicitly promote `link_with:` to `link_whole:` because
-the installed lib2 would oterhwise be unusable.
-```meson
-lib1 = static_library(sources, install : false)
-lib2 = static_library(sources, link_with : lib1, install : true)
-```
-- pkg-config generator do not include uninstalled static libraries. In the example
- below, the generated `.pc` file used to be unusable because it contained
- `Libs.private: -llib1` and `lib1.a` is not installed. `lib1` is now ommitted
- from the `.pc` file because the `link_with:` has been promoted to
- `link_whole:` (see above) and thus lib1 is not needed to use lib2.
-```meson
-lib1 = static_library(sources, install : false)
-lib2 = both_libraries(sources, link_with : lib1, install : true)
-pkg.generate(lib2)
-```
-
-Many projects have been using `extract_all_objects()` to work around those issues,
-and hopefully those hacks could now be removed. Since this is a pretty large
-change, please double check if your static libraries behave correctly, and
-report any regression.
diff --git a/docs/markdown/snippets/wasm.md b/docs/markdown/snippets/wasm.md
deleted file mode 100644
index 04fbf49..0000000
--- a/docs/markdown/snippets/wasm.md
+++ /dev/null
@@ -1,5 +0,0 @@
-## Experimental Webassembly support via Emscripten
-
-Meson now supports compiling code to Webassembly using the Emscripten
-compiler. As with most things regarding Webassembly, this support is
-subject to change.
diff --git a/man/meson.1 b/man/meson.1
index 6abc533..b80568e 100644
--- a/man/meson.1
+++ b/man/meson.1
@@ -1,4 +1,4 @@
-.TH MESON "1" "June 2019" "meson 0.51.0" "User Commands"
+.TH MESON "1" "October 2019" "meson 0.52.0" "User Commands"
.SH NAME
meson - a high productivity build system
.SH DESCRIPTION
diff --git a/mesonbuild/coredata.py b/mesonbuild/coredata.py
index 3b9e3e9..9627bec 100644
--- a/mesonbuild/coredata.py
+++ b/mesonbuild/coredata.py
@@ -38,7 +38,7 @@ if typing.TYPE_CHECKING:
OptionDictType = typing.Dict[str, 'UserOption[Any]']
-version = '0.51.999'
+version = '0.52.0'
backendlist = ['ninja', 'vs', 'vs2010', 'vs2015', 'vs2017', 'vs2019', 'xcode']
default_yielding = False