aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2021-07-18 12:59:40 +0300
committerJussi Pakkanen <jpakkane@gmail.com>2021-07-18 13:39:53 +0300
commit116e4d4850a61a740d2a8642866452740e359750 (patch)
tree2de27f2a299f9cd9482ad982dabe0ba408f446af
parent7b8fecf5734503f818ac978c279629d3564ac970 (diff)
downloadmeson-0.59.0.zip
meson-0.59.0.tar.gz
meson-0.59.0.tar.bz2
Set up the 0.59.0 release.0.59.0
-rw-r--r--docs/markdown/Release-notes-for-0.59.0.md235
-rw-r--r--docs/markdown/snippets/build-target-found.md16
-rw-r--r--docs/markdown/snippets/compiler_argument_checking.md6
-rw-r--r--docs/markdown/snippets/custom-target-feed.md4
-rw-r--r--docs/markdown/snippets/first-class-cython.md18
-rw-r--r--docs/markdown/snippets/fs-module-accepts-files.md6
-rw-r--r--docs/markdown/snippets/gnome.md13
-rw-r--r--docs/markdown/snippets/intl-dependency.md35
-rw-r--r--docs/markdown/snippets/newvsbackends.md15
-rw-r--r--docs/markdown/snippets/objcversion.md6
-rw-r--r--docs/markdown/snippets/pkgconfig_var_escaping.md23
-rw-r--r--docs/markdown/snippets/qt_preprocess_separate.md5
-rw-r--r--docs/markdown/snippets/qt_preprocessed_varargs_deprecated.md33
-rw-r--r--docs/markdown/snippets/required_and_disabled_import.md5
-rw-r--r--docs/markdown/snippets/subprojects_command_parallel.md7
-rw-r--r--docs/markdown/snippets/vala-no-longer-requires-c.md4
-rw-r--r--docs/markdown/snippets/vsenv.md8
-rw-r--r--docs/markdown/snippets/wrc.md7
-rw-r--r--docs/sitemap.txt1
-rw-r--r--mesonbuild/coredata.py2
20 files changed, 237 insertions, 212 deletions
diff --git a/docs/markdown/Release-notes-for-0.59.0.md b/docs/markdown/Release-notes-for-0.59.0.md
new file mode 100644
index 0000000..b6ce654
--- /dev/null
+++ b/docs/markdown/Release-notes-for-0.59.0.md
@@ -0,0 +1,235 @@
+---
+title: Release 0.59.0
+short-description: Release notes for 0.59.0
+...
+
+# New features
+
+## Unescaped variables in pkgconfig files
+
+Spaces in variable values are escaped with `\`, this is required in the case the
+value is a path that and is used in `cflags` or `libs` arguments. This was an
+undocumented behaviour that caused issues in the case the variable is a space
+separated list of items.
+
+For backward compatibility reasons this behaviour could not be changed, new
+keyword arguments have thus been added: `unescaped_variables` and
+`unescaped_uninstalled_variables`.
+
+```meson
+pkg = import('pkgconfig')
+...
+pkg.generate(lib,
+ variables: {
+ 'mypath': '/path/with spaces/are/escaped',
+ },
+ unescaped_variables: {
+ 'mylist': 'Hello World Is Not Escaped',
+ },
+)
+```
+
+## The custom_target() function now accepts a feed argument
+
+It is now possible to provide a `feed: true` argument to `custom_target()` to
+pipe the target's input file to the program's standard input.
+
+## Separate functions for qt preprocess
+
+`qt.preprocess` is a large, complicated function that does a lot of things,
+a new set of `compile_*` functions have been provided as well. These are
+conceptually simpler, as they do a single thing.
+
+## Cython as as first class language
+
+Meson now supports Cython as a first class language. This means you can write:
+
+```meson
+project('my project', 'cython')
+
+py = import('python').find_installation()
+dep_py = py.dependency()
+
+py.extension_module(
+ 'foo',
+ 'foo.pyx',
+ dependencies : dep_py,
+)
+```
+
+And avoid the step through a generator that was previously required.
+
+## Support for the Wine Resource Compiler
+
+Users can now choose `wrc` as the `windres` binary in their cross files and
+`windows.compile_resources` will handle it correctly. Together with `winegcc`
+patches in Wine 6.12 this enables basic support for compiling projects as a
+winelib by specifying `winegcc`/`wineg++` as the compiler and `wrc` as the
+resource compiler in a cross file.
+
+## New `vs2012` and `vs2013` backend options
+
+Adds the ability to generate Visual Studio 2012 and 2013 projects. This is an
+extension to the existing Visual Studio 2010 projects so that it is no longer
+required to manually upgrade the generated Visual Studio 2010 projects.
+
+Generating Visual Studio 2010 projects has also been fixed since its developer
+command prompt does not provide a `%VisualStudioVersion%` envvar.
+
+## Developer environment
+
+Expand the support for the `link_whole:` project option for pre-Visual Studio 2015
+Update 2, where previously Visual Studio 2015 Update 2 or later was required for
+this, for the Ninja backend as well as the vs2010 (as well as the newly-added
+vs2012 and vs2013 backends).
+
+## Fs Module now accepts files objects
+
+It is now possible to define a `files()` object and run most Fs module
+functions on the file, rather than passing a string and hoping it is in the
+same directory.
+
+
+## Compiler argument checking for `get_supported_arguments`
+
+The compiler method `get_supported_arguments` now supports
+a new keyword argument named `checked` that can be set to
+one of `warn`, `require` or `off` (defaults to `off`) to
+enforce argument checks.
+
+## New custom dependency for libintl
+
+Meson can now find the library needed for translating messages via gettext.
+This works both on systems where libc provides gettext, such as GNU or musl,
+and on systems where the gettext project's standalone intl support library is
+required, such as macOS.
+
+Rather than doing something such as:
+
+```
+intl_dep = dependency('', required: false)
+
+if cc.has_function('ngettext')
+ intl_found = true
+else
+ intl_dep = cc.find_library('intl', required: false)
+ intl_found = intl_dep.found()
+endif
+
+if intl_found
+ # build options that need gettext
+ conf.set('ENABLE_NLS', 1)
+endif
+```
+
+one may simply use:
+
+```
+intl_dep = dependency('intl')
+
+if intl_dep.found()
+ # build options that need gettext
+ conf.set('ENABLE_NLS', 1)
+endif
+```
+
+## Parallelized `meson subprojects` commands
+
+All `meson subprojects` commands are now run on each subproject in parallel by
+default. The number of processes can be controlled with `--num-processes`
+argument.
+
+This speeds up considerably IO-bound operations such as downloads and git fetch.
+
+## Using Vala no longer requires C in the project languages
+
+Meson will now add C automatically. Since the use of C is an implementation
+detail of Vala, Meson shouldn't require users to add it.
+
+## The `import()` function gains `required` and `disabler` arguments
+
+In addition, modules now have a `found()` method, like programs and
+dependencies. This allows them to be conditionally required, and used in most
+places that an object with a `found()` method can be.
+
+## Objective C/C++ standard versions
+
+Objective C and C++ compilations will from now on use the language
+versions set in `c_std` and `cpp_std`, respectively. It is not
+possible to set the language version separately for Objective C and
+plain C.
+
+## Qt.preprocess source arguments deprecated
+
+The `qt.preprocess` method currently has this signature:
+`qt.preprocess(name: str | None, *srcs: str)`, this is not a nice signature
+because it's confusing, and there's a `sources` keyword argument as well.
+Both of these pass sources through unmodified, this is a bit of a historical
+accident, and not the way that any other module works. These have been
+deprecated, so instead of:
+```meson
+sources = qt.preprocess(
+ name,
+ list, of, sources,
+ sources : [more, sources],
+ ... # things to process,
+)
+
+executable(
+ 'foo',
+ sources,
+)
+```
+use
+```meson
+processed = qt.preprocess(
+ name,
+ ... # thins to process
+)
+
+executable(
+ 'foo',
+ 'list', 'of', 'sources', 'more', 'sources', processed,
+)
+```
+
+## New `build target` methods
+
+The [`build target` object](Reference-manual.md#build-target-object) now supports
+the following two functions, to ensure feature compatebility with
+[`external program` objects](Reference-manual.html#external-program-object):
+
+- `found()`: Always returns `true`. This function is meant
+ to make executables objects feature compatible with
+ `external program` objects. This simplifies
+ use-cases where an executable is used instead of an external program.
+
+- `path()`: **(deprecated)** does the exact same as `full_path()`.
+ **NOTE:** This function is solely kept for compatebility
+ with `external program` objects. It will be
+ removed once the, also deprecated, corresponding `path()` function in the
+ `external program` object is removed.
+
+## Automatically set up Visual Studio environment
+
+When Meson is run on Windows it will automatically set up the
+environment to use Visual Studio if no other compiler toolchain
+can be detected. This means that you can run Meson commands from
+any command prompt or directly from any IDE. This sets up the
+64 bit native environment. If you need any other, then you
+need to set it up manually as before.
+
+## `gnome.compile_schemas()` sets `GSETTINGS_SCHEMA_DIR` into devenv
+
+When using `gnome.compile_schemas()` the location of the compiled schema is
+added to `GSETTINGS_SCHEMA_DIR` environment variable when using
+[`meson devenv`](Commands.md#devenv) command.
+
+## `update_desktop_database` added to `gnome.post_install()`
+
+Applications that install a `.desktop` file containing a `MimeType` need to update
+the cache upon installation. Most applications do that using a custom script,
+but it can now be done by Meson directly.
+
+See [`gnome.post_install()`](Gnome-module.md#gnomepost_install).
+
diff --git a/docs/markdown/snippets/build-target-found.md b/docs/markdown/snippets/build-target-found.md
deleted file mode 100644
index 60c5083..0000000
--- a/docs/markdown/snippets/build-target-found.md
+++ /dev/null
@@ -1,16 +0,0 @@
-## New `build target` methods
-
-The [`build target` object](Reference-manual.md#build-target-object) now supports
-the following two functions, to ensure feature compatebility with
-[`external program` objects](Reference-manual.html#external-program-object):
-
-- `found()`: Always returns `true`. This function is meant
- to make executables objects feature compatible with
- `external program` objects. This simplifies
- use-cases where an executable is used instead of an external program.
-
-- `path()`: **(deprecated)** does the exact same as `full_path()`.
- **NOTE:** This function is solely kept for compatebility
- with `external program` objects. It will be
- removed once the, also deprecated, corresponding `path()` function in the
- `external program` object is removed.
diff --git a/docs/markdown/snippets/compiler_argument_checking.md b/docs/markdown/snippets/compiler_argument_checking.md
deleted file mode 100644
index 0e038ec..0000000
--- a/docs/markdown/snippets/compiler_argument_checking.md
+++ /dev/null
@@ -1,6 +0,0 @@
-## Compiler argument checking for `get_supported_arguments`
-
-The compiler method `get_supported_arguments` now supports
-a new keyword argument named `checked` that can be set to
-one of `warn`, `require` or `off` (defaults to `off`) to
-enforce argument checks.
diff --git a/docs/markdown/snippets/custom-target-feed.md b/docs/markdown/snippets/custom-target-feed.md
deleted file mode 100644
index f965152..0000000
--- a/docs/markdown/snippets/custom-target-feed.md
+++ /dev/null
@@ -1,4 +0,0 @@
-## The custom_target() function now accepts a feed argument
-
-It is now possible to provide a `feed: true` argument to `custom_target()` to
-pipe the target's input file to the program's standard input.
diff --git a/docs/markdown/snippets/first-class-cython.md b/docs/markdown/snippets/first-class-cython.md
deleted file mode 100644
index 54f9367..0000000
--- a/docs/markdown/snippets/first-class-cython.md
+++ /dev/null
@@ -1,18 +0,0 @@
-## Cython as as first class language
-
-Meson now supports Cython as a first class language. This means you can write:
-
-```meson
-project('my project', 'cython')
-
-py = import('python').find_installation()
-dep_py = py.dependency()
-
-py.extension_module(
- 'foo',
- 'foo.pyx',
- dependencies : dep_py,
-)
-```
-
-And avoid the step through a generator that was previously required.
diff --git a/docs/markdown/snippets/fs-module-accepts-files.md b/docs/markdown/snippets/fs-module-accepts-files.md
deleted file mode 100644
index 8c602fd..0000000
--- a/docs/markdown/snippets/fs-module-accepts-files.md
+++ /dev/null
@@ -1,6 +0,0 @@
-## Fs Module now accepts files objects
-
-It is now possible to define a `files()` object and run most Fs module
-functions on the file, rather than passing a string and hoping it is in the
-same directory.
-
diff --git a/docs/markdown/snippets/gnome.md b/docs/markdown/snippets/gnome.md
deleted file mode 100644
index d185da2..0000000
--- a/docs/markdown/snippets/gnome.md
+++ /dev/null
@@ -1,13 +0,0 @@
-## `gnome.compile_schemas()` sets `GSETTINGS_SCHEMA_DIR` into devenv
-
-When using `gnome.compile_schemas()` the location of the compiled schema is
-added to `GSETTINGS_SCHEMA_DIR` environment variable when using
-[`meson devenv`](Commands.md#devenv) command.
-
-## `update_desktop_database` added to `gnome.post_install()`
-
-Applications that install a `.desktop` file containing a `MimeType` need to update
-the cache upon installation. Most applications do that using a custom script,
-but it can now be done by Meson directly.
-
-See [`gnome.post_install()`](Gnome-module.md#gnomepost_install).
diff --git a/docs/markdown/snippets/intl-dependency.md b/docs/markdown/snippets/intl-dependency.md
deleted file mode 100644
index 8e0cd40..0000000
--- a/docs/markdown/snippets/intl-dependency.md
+++ /dev/null
@@ -1,35 +0,0 @@
-## New custom dependency for libintl
-
-Meson can now find the library needed for translating messages via gettext.
-This works both on systems where libc provides gettext, such as GNU or musl,
-and on systems where the gettext project's standalone intl support library is
-required, such as macOS.
-
-Rather than doing something such as:
-
-```
-intl_dep = dependency('', required: false)
-
-if cc.has_function('ngettext')
- intl_found = true
-else
- intl_dep = cc.find_library('intl', required: false)
- intl_found = intl_dep.found()
-endif
-
-if intl_found
- # build options that need gettext
- conf.set('ENABLE_NLS', 1)
-endif
-```
-
-one may simply use:
-
-```
-intl_dep = dependency('intl')
-
-if intl_dep.found()
- # build options that need gettext
- conf.set('ENABLE_NLS', 1)
-endif
-```
diff --git a/docs/markdown/snippets/newvsbackends.md b/docs/markdown/snippets/newvsbackends.md
deleted file mode 100644
index cb7437a..0000000
--- a/docs/markdown/snippets/newvsbackends.md
+++ /dev/null
@@ -1,15 +0,0 @@
-## New `vs2012` and `vs2013` backend options
-
-Adds the ability to generate Visual Studio 2012 and 2013 projects. This is an
-extension to the existing Visual Studio 2010 projects so that it is no longer
-required to manually upgrade the generated Visual Studio 2010 projects.
-
-Generating Visual Studio 2010 projects has also been fixed since its developer
-command prompt does not provide a `%VisualStudioVersion%` envvar.
-
-## Developer environment
-
-Expand the support for the `link_whole:` project option for pre-Visual Studio 2015
-Update 2, where previously Visual Studio 2015 Update 2 or later was required for
-this, for the Ninja backend as well as the vs2010 (as well as the newly-added
-vs2012 and vs2013 backends).
diff --git a/docs/markdown/snippets/objcversion.md b/docs/markdown/snippets/objcversion.md
deleted file mode 100644
index 9825c80..0000000
--- a/docs/markdown/snippets/objcversion.md
+++ /dev/null
@@ -1,6 +0,0 @@
-## Objective C/C++ standard versions
-
-Objective C and C++ compilations will from now on use the language
-versions set in `c_std` and `cpp_std`, respectively. It is not
-possible to set the language version separately for Objective C and
-plain C.
diff --git a/docs/markdown/snippets/pkgconfig_var_escaping.md b/docs/markdown/snippets/pkgconfig_var_escaping.md
deleted file mode 100644
index de0ee96..0000000
--- a/docs/markdown/snippets/pkgconfig_var_escaping.md
+++ /dev/null
@@ -1,23 +0,0 @@
-## Unescaped variables in pkgconfig files
-
-Spaces in variable values are escaped with `\`, this is required in the case the
-value is a path that and is used in `cflags` or `libs` arguments. This was an
-undocumented behaviour that caused issues in the case the variable is a space
-separated list of items.
-
-For backward compatibility reasons this behaviour could not be changed, new
-keyword arguments have thus been added: `unescaped_variables` and
-`unescaped_uninstalled_variables`.
-
-```meson
-pkg = import('pkgconfig')
-...
-pkg.generate(lib,
- variables: {
- 'mypath': '/path/with spaces/are/escaped',
- },
- unescaped_variables: {
- 'mylist': 'Hello World Is Not Escaped',
- },
-)
-```
diff --git a/docs/markdown/snippets/qt_preprocess_separate.md b/docs/markdown/snippets/qt_preprocess_separate.md
deleted file mode 100644
index 1035f9a..0000000
--- a/docs/markdown/snippets/qt_preprocess_separate.md
+++ /dev/null
@@ -1,5 +0,0 @@
-## Separate functions for qt preprocess
-
-`qt.preprocess` is a large, complicated function that does a lot of things,
-a new set of `compile_*` functions have been provided as well. These are
-conceptually simpler, as they do a single thing.
diff --git a/docs/markdown/snippets/qt_preprocessed_varargs_deprecated.md b/docs/markdown/snippets/qt_preprocessed_varargs_deprecated.md
deleted file mode 100644
index 5418eb3..0000000
--- a/docs/markdown/snippets/qt_preprocessed_varargs_deprecated.md
+++ /dev/null
@@ -1,33 +0,0 @@
-## Qt.preprocess source arguments deprecated
-
-The `qt.preprocess` method currently has this signature:
-`qt.preprocess(name: str | None, *srcs: str)`, this is not a nice signature
-because it's confusing, and there's a `sources` keyword argument as well.
-Both of these pass sources through unmodified, this is a bit of a historical
-accident, and not the way that any other module works. These have been
-deprecated, so instead of:
-```meson
-sources = qt.preprocess(
- name,
- list, of, sources,
- sources : [more, sources],
- ... # things to process,
-)
-
-executable(
- 'foo',
- sources,
-)
-```
-use
-```meson
-processed = qt.preprocess(
- name,
- ... # thins to process
-)
-
-executable(
- 'foo',
- 'list', 'of', 'sources', 'more', 'sources', processed,
-)
-```
diff --git a/docs/markdown/snippets/required_and_disabled_import.md b/docs/markdown/snippets/required_and_disabled_import.md
deleted file mode 100644
index 39ca307..0000000
--- a/docs/markdown/snippets/required_and_disabled_import.md
+++ /dev/null
@@ -1,5 +0,0 @@
-## The `import()` function gains `required` and `disabler` arguments
-
-In addition, modules now have a `found()` method, like programs and
-dependencies. This allows them to be conditionally required, and used in most
-places that an object with a `found()` method can be.
diff --git a/docs/markdown/snippets/subprojects_command_parallel.md b/docs/markdown/snippets/subprojects_command_parallel.md
deleted file mode 100644
index 4d992e7..0000000
--- a/docs/markdown/snippets/subprojects_command_parallel.md
+++ /dev/null
@@ -1,7 +0,0 @@
-## Parallelized `meson subprojects` commands
-
-All `meson subprojects` commands are now run on each subproject in parallel by
-default. The number of processes can be controlled with `--num-processes`
-argument.
-
-This speeds up considerably IO-bound operations such as downloads and git fetch.
diff --git a/docs/markdown/snippets/vala-no-longer-requires-c.md b/docs/markdown/snippets/vala-no-longer-requires-c.md
deleted file mode 100644
index 5744877..0000000
--- a/docs/markdown/snippets/vala-no-longer-requires-c.md
+++ /dev/null
@@ -1,4 +0,0 @@
-## Using Vala no longer requires C in the project languages
-
-Meson will now add C automatically. Since the use of C is an implementation
-detail of Vala, Meson shouldn't require users to add it.
diff --git a/docs/markdown/snippets/vsenv.md b/docs/markdown/snippets/vsenv.md
deleted file mode 100644
index 96d3979..0000000
--- a/docs/markdown/snippets/vsenv.md
+++ /dev/null
@@ -1,8 +0,0 @@
-## Automatically set up Visual Studio environment
-
-When Meson is run on Windows it will automatically set up the
-environment to use Visual Studio if no other compiler toolchain
-can be detected. This means that you can run Meson commands from
-any command prompt or directly from any IDE. This sets up the
-64 bit native environment. If you need any other, then you
-need to set it up manually as before.
diff --git a/docs/markdown/snippets/wrc.md b/docs/markdown/snippets/wrc.md
deleted file mode 100644
index 0d60f4f..0000000
--- a/docs/markdown/snippets/wrc.md
+++ /dev/null
@@ -1,7 +0,0 @@
-## Support for the Wine Resource Compiler
-
-Users can now choose `wrc` as the `windres` binary in their cross files and
-`windows.compile_resources` will handle it correctly. Together with `winegcc`
-patches in Wine 6.12 this enables basic support for compiling projects as a
-winelib by specifying `winegcc`/`wineg++` as the compiler and `wrc` as the
-resource compiler in a cross file.
diff --git a/docs/sitemap.txt b/docs/sitemap.txt
index e1efe65..d96d865 100644
--- a/docs/sitemap.txt
+++ b/docs/sitemap.txt
@@ -87,6 +87,7 @@ index.md
Shipping-prebuilt-binaries-as-wraps.md
fallback-wraptool.md
Release-notes.md
+ Release-notes-for-0.59.0.md
Release-notes-for-0.58.0.md
Release-notes-for-0.57.0.md
Release-notes-for-0.56.0.md
diff --git a/mesonbuild/coredata.py b/mesonbuild/coredata.py
index d634ab7..8466d3e 100644
--- a/mesonbuild/coredata.py
+++ b/mesonbuild/coredata.py
@@ -43,7 +43,7 @@ if T.TYPE_CHECKING:
KeyedOptionDictType = T.Union[T.Dict['OptionKey', 'UserOption[T.Any]'], OptionOverrideProxy]
CompilerCheckCacheKey = T.Tuple[T.Tuple[str, ...], str, str, T.Tuple[str, ...], str]
-version = '0.59.0.rc2'
+version = '0.59.0'
backendlist = ['ninja', 'vs', 'vs2010', 'vs2012', 'vs2013', 'vs2015', 'vs2017', 'vs2019', 'xcode']
default_yielding = False