aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docs/markdown/Release-notes-for-0.45.0.md184
-rw-r--r--docs/markdown/Release-notes-for-0.46.0.md16
-rw-r--r--docs/markdown/snippets/config-tool-cross.md13
-rw-r--r--docs/markdown/snippets/csc.md4
-rw-r--r--docs/markdown/snippets/deprecations.md14
-rw-r--r--docs/markdown/snippets/fpga.md12
-rw-r--r--docs/markdown/snippets/gen-subdirs.md21
-rw-r--r--docs/markdown/snippets/hexnumbers.md5
-rw-r--r--docs/markdown/snippets/if-release.md7
-rw-r--r--docs/markdown/snippets/install_subdir-strip_directory.md4
-rw-r--r--docs/markdown/snippets/installdir.md5
-rw-r--r--docs/markdown/snippets/intopt.md6
-rw-r--r--docs/markdown/snippets/project-license.md4
-rw-r--r--docs/markdown/snippets/rust-cross.md16
-rw-r--r--docs/markdown/snippets/rust-private-disambiguation.md6
-rw-r--r--docs/markdown/snippets/templates.md8
-rw-r--r--docs/markdown/snippets/test-setups.md16
-rw-r--r--docs/markdown/snippets/windows-resources-custom-targets.md3
-rw-r--r--docs/markdown/snippets/wrap_promote.md11
-rw-r--r--docs/markdown/snippets/yield.md8
-rw-r--r--docs/sitemap.txt1
-rw-r--r--man/meson.12
-rw-r--r--man/mesonconf.12
-rw-r--r--man/mesonintrospect.12
-rw-r--r--man/mesontest.12
-rw-r--r--man/wraptool.12
-rw-r--r--mesonbuild/coredata.py2
27 files changed, 200 insertions, 176 deletions
diff --git a/docs/markdown/Release-notes-for-0.45.0.md b/docs/markdown/Release-notes-for-0.45.0.md
index b3df71c..1f02117 100644
--- a/docs/markdown/Release-notes-for-0.45.0.md
+++ b/docs/markdown/Release-notes-for-0.45.0.md
@@ -1,16 +1,186 @@
---
title: Release 0.45
-short-description: Release notes for 0.45 (preliminary)
+short-description: Release notes for 0.45
...
# New features
-This page is a placeholder for the eventual release notes.
+## Config-Tool based dependencies can be specified in a cross file
-Notable new features should come with release note updates. This is
-done by creating a file snippet called `snippets/featurename.md` and
-whose contents should look like this:
+Tools like LLVM and pcap use a config tool for dependencies, this is a script
+or binary that is run to get configuration information (cflags, ldflags, etc)
+from.
- ## Feature name
+These binaries may now be specified in the `binaries` section of a cross file.
- A short description explaining the new feature and how it should be used.
+```dosini
+[binaries]
+cc = ...
+llvm-config = '/usr/bin/llvm-config32'
+```
+
+## Visual Studio C# compiler support
+
+In addition to the Mono C# compiler we also support Visual Studio's C#
+compiler. Currently this is only supported on the Ninja backend.
+
+## Removed two deprecated features
+
+The standalone `find_library` function has been a no-op for a long
+time. Starting with this version it becomes a hard error.
+
+There used to be a keywordless version of `run_target` which looked
+like this:
+
+ run_target('targetname', 'command', 'arg1', 'arg2')
+
+This is now an error. The correct format for this is now:
+
+ run_target('targetname',
+ command : ['command', 'arg1', 'arg2'])
+
+## Experimental FPGA support
+
+This version adds support for generating, analysing and uploading FPGA
+programs using the [IceStorm
+toolchain](http://www.clifford.at/icestorm/). This support is
+experimental and is currently limited to the `iCE 40` series of FPGA
+chips.
+
+FPGA generation integrates with other parts of Meson seamlessly. As an
+example, [here](https://github.com/jpakkane/lm32) is an example
+project that compiles a simple firmware into Verilog and combines that
+with an lm32 softcore processor.
+
+## Generator outputs can preserve directory structure
+
+Normally when generating files with a generator, Meson flattens the
+input files so they all go in the same directory. Some code
+generators, such as Protocol Buffers, require that the generated files
+have the same directory layout as the input files used to generate
+them. This can now be achieved like this:
+
+```meson
+g = generator(...) # Compiles protobuf sources
+generated = gen.process('com/mesonbuild/one.proto',
+ 'com/mesonbuild/two.proto',
+ preserve_path_from : meson.current_source_dir())
+
+This would cause the following files to be generated inside the target
+private directory:
+
+ com/mesonbuild/one.pb.h
+ com/mesonbuild/one.pb.cc
+ com/mesonbuild/two.pb.h
+ com/mesonbuild/two.pb.cc
+
+## Hexadecimal string literals
+
+Hexadecimal integer literals can now be used in build and option files.
+
+ int_255 = 0xFF
+
+## b_ndebug : if-release
+
+The value `if-release` can be given for the `b_ndebug` project option.
+
+This will make the `NDEBUG` pre-compiler macro to be defined for release
+type builds as if the `b_ndebug` project option had had the value `true`
+defined for it.
+
+## `install_data()` defaults to `{datadir}/{projectname}`
+
+If `install_data()` is not given an `install_dir` keyword argument, the
+target directory defaults to `{datadir}/{projectname}` (e.g.
+`/usr/share/myproj`).
+
+## install_subdir() supports strip_directory
+
+If strip_directory=true install_subdir() installs directory contents
+instead of directory itself, stripping basename of the source directory.
+
+## Integer options
+
+There is a new integer option type with optional minimum and maximum
+values. It can be specified like this in the `meson_options.txt` file:
+
+ option('integer_option', type : 'integer', min : 0, max : 5, value : 3)
+
+## New method meson.project_license()
+
+The `meson` builtin object now has a `project_license()` method that returns a
+list of all licenses for the project.
+
+## Rust cross-compilation
+
+Cross-compilation is now supported for Rust targets. Like other
+cross-compilers, the Rust binary must be specified in your cross
+file. It should specify a `--target` (as installed by `rustup target`)
+and a custom linker pointing to your C cross-compiler. For example:
+
+```
+[binaries]
+c = '/usr/bin/arm-linux-gnueabihf-gcc-7'
+rust = [
+ 'rustc',
+ '--target', 'arm-unknown-linux-gnueabihf',
+ '-C', 'linker=/usr/bin/arm-linux-gnueabihf-gcc-7',
+]
+```
+
+## Rust compiler-private library disambiguation
+
+When building a Rust target with Rust library dependencies, an
+`--extern` argument is now specified to avoid ambiguity between the
+dependency library, and any crates of the same name in `rustc`'s
+private sysroot.
+
+## Project templates
+
+Meson ships with predefined project templates. To start a new project from
+scratch, simply go to an empty directory and type:
+
+```meson
+meson init --name=myproject --type=executable --language=c
+```
+
+## Improve test setup selection
+
+Test setups are now identified (also) by the project they belong to and it
+is possible to select the used test setup from a specific project. E.g.
+to use a test setup `some_setup` from project `some_project` for all
+executed tests one can use
+
+ meson test --setup some_project:some_setup
+
+Should one rather want test setups to be used from the same project as
+where the current test itself has been defined, one can use just
+
+ meson test --setup some_setup
+
+In the latter case every (sub)project must have a test setup `some_setup`
+defined in it.
+
+## Can use custom targets as Windows resource files
+
+The `compile_resources()` function of the `windows` module can now be used on custom targets as well as regular files.
+# Can promote dependencies with wrap command
+
+The `promote` command makes it easy to copy nested dependencies to the top level.
+
+ meson wrap promote scommon
+
+This will search the project tree for a subproject called `scommon` and copy it to the top level.
+
+If there are many embedded subprojects with the same name, you have to specify which one to promote manually like this:
+
+ meson wrap promote subprojects/s1/subprojects/scommon
+
+## Yielding subproject option to superproject
+
+Normally project options are specific to the current project. However
+sometimes you want to have an option whose value is the same over all
+projects. This can be achieved with the new `yield` keyword for
+options. When set to `true`, getting the value of this option in
+`meson.build` files gets the value from the option with the same name
+in the master project (if such an option exists).
diff --git a/docs/markdown/Release-notes-for-0.46.0.md b/docs/markdown/Release-notes-for-0.46.0.md
new file mode 100644
index 0000000..395a94d
--- /dev/null
+++ b/docs/markdown/Release-notes-for-0.46.0.md
@@ -0,0 +1,16 @@
+---
+title: Release 0.46
+short-description: Release notes for 0.46 (preliminary)
+...
+
+# New features
+
+This page is a placeholder for the eventual release notes.
+
+Notable new features should come with release note updates. This is
+done by creating a file snippet called `snippets/featurename.md` and
+whose contents should look like this:
+
+ ## Feature name
+
+ A short description explaining the new feature and how it should be used.
diff --git a/docs/markdown/snippets/config-tool-cross.md b/docs/markdown/snippets/config-tool-cross.md
deleted file mode 100644
index 1102481..0000000
--- a/docs/markdown/snippets/config-tool-cross.md
+++ /dev/null
@@ -1,13 +0,0 @@
-# Config-Tool based dependencies can be specified in a cross file
-
-Tools like LLVM and pcap use a config tool for dependencies, this is a script
-or binary that is run to get configuration information (cflags, ldflags, etc)
-from.
-
-These binaries may now be specified in the `binaries` section of a cross file.
-
-```dosini
-[binaries]
-cc = ...
-llvm-config = '/usr/bin/llvm-config32'
-```
diff --git a/docs/markdown/snippets/csc.md b/docs/markdown/snippets/csc.md
deleted file mode 100644
index 90a6f7f..0000000
--- a/docs/markdown/snippets/csc.md
+++ /dev/null
@@ -1,4 +0,0 @@
-## Visual Studio C# compiler support
-
-In addition to the Mono C# compiler we also support Visual Studio's C#
-compiler. Currently this is only supported on the Ninja backend.
diff --git a/docs/markdown/snippets/deprecations.md b/docs/markdown/snippets/deprecations.md
deleted file mode 100644
index adab2e6..0000000
--- a/docs/markdown/snippets/deprecations.md
+++ /dev/null
@@ -1,14 +0,0 @@
-## Removed two deprecated features
-
-The standalone `find_library` function has been a no-op for a long
-time. Starting with this version it becomes a hard error.
-
-There used to be a keywordless version of `run_target` which looked
-like this:
-
- run_target('targetname', 'command', 'arg1', 'arg2')
-
-This is now an error. The correct format for this is now:
-
- run_target('targetname',
- command : ['command', 'arg1', 'arg2'])
diff --git a/docs/markdown/snippets/fpga.md b/docs/markdown/snippets/fpga.md
deleted file mode 100644
index b5e4938..0000000
--- a/docs/markdown/snippets/fpga.md
+++ /dev/null
@@ -1,12 +0,0 @@
-## Experimental FPGA support
-
-This version adds support for generating, analysing and uploading FPGA
-programs using the [IceStorm
-toolchain](http://www.clifford.at/icestorm/). This support is
-experimental and is currently limited to the `iCE 40` series of FPGA
-chips.
-
-FPGA generation integrates with other parts of Meson seamlessly. As an
-example, [here](https://github.com/jpakkane/lm32) is an example
-project that compiles a simple firmware into Verilog and combines that
-with an lm32 softcore processor.
diff --git a/docs/markdown/snippets/gen-subdirs.md b/docs/markdown/snippets/gen-subdirs.md
deleted file mode 100644
index fdb5945..0000000
--- a/docs/markdown/snippets/gen-subdirs.md
+++ /dev/null
@@ -1,21 +0,0 @@
-## Generator outputs can preserve directory structure
-
-Normally when generating files with a generator, Meson flattens the
-input files so they all go in the same directory. Some code
-generators, such as Protocol Buffers, require that the generated files
-have the same directory layout as the input files used to generate
-them. This can now be achieved like this:
-
-```meson
-g = generator(...) # Compiles protobuf sources
-generated = gen.process('com/mesonbuild/one.proto',
- 'com/mesonbuild/two.proto',
- preserve_path_from : meson.current_source_dir())
-
-This would cause the following files to be generated inside the target
-private directory:
-
- com/mesonbuild/one.pb.h
- com/mesonbuild/one.pb.cc
- com/mesonbuild/two.pb.h
- com/mesonbuild/two.pb.cc
diff --git a/docs/markdown/snippets/hexnumbers.md b/docs/markdown/snippets/hexnumbers.md
deleted file mode 100644
index 840c0cb..0000000
--- a/docs/markdown/snippets/hexnumbers.md
+++ /dev/null
@@ -1,5 +0,0 @@
-## Hexadecimal string literals
-
-Hexadecimal integer literals can now be used in build and option files.
-
- int_255 = 0xFF
diff --git a/docs/markdown/snippets/if-release.md b/docs/markdown/snippets/if-release.md
deleted file mode 100644
index 96e12ef..0000000
--- a/docs/markdown/snippets/if-release.md
+++ /dev/null
@@ -1,7 +0,0 @@
-## b_ndebug : if-release
-
-The value `if-release` can be given for the `b_ndebug` project option.
-
-This will make the `NDEBUG` pre-compiler macro to be defined for release
-type builds as if the `b_ndebug` project option had had the value `true`
-defined for it.
diff --git a/docs/markdown/snippets/install_subdir-strip_directory.md b/docs/markdown/snippets/install_subdir-strip_directory.md
deleted file mode 100644
index 9ddb4a4..0000000
--- a/docs/markdown/snippets/install_subdir-strip_directory.md
+++ /dev/null
@@ -1,4 +0,0 @@
-## install_subdir() supports strip_directory
-
-If strip_directory=true install_subdir() installs directory contents
-instead of directory itself, stripping basename of the source directory.
diff --git a/docs/markdown/snippets/installdir.md b/docs/markdown/snippets/installdir.md
deleted file mode 100644
index c709ffe..0000000
--- a/docs/markdown/snippets/installdir.md
+++ /dev/null
@@ -1,5 +0,0 @@
-## `install_data()` defaults to `{datadir}/{projectname}`
-
-If `install_data()` is not given an `install_dir` keyword argument, the
-target directory defaults to `{datadir}/{projectname}` (e.g.
-`/usr/share/myproj`).
diff --git a/docs/markdown/snippets/intopt.md b/docs/markdown/snippets/intopt.md
deleted file mode 100644
index daf660b..0000000
--- a/docs/markdown/snippets/intopt.md
+++ /dev/null
@@ -1,6 +0,0 @@
-## Integer options
-
-There is a new integer option type with optional minimum and maximum
-values. It can be specified like this in the `meson_options.txt` file:
-
- option('integer_option', type : 'integer', min : 0, max : 5, value : 3)
diff --git a/docs/markdown/snippets/project-license.md b/docs/markdown/snippets/project-license.md
deleted file mode 100644
index 5da2c6a..0000000
--- a/docs/markdown/snippets/project-license.md
+++ /dev/null
@@ -1,4 +0,0 @@
-## New method meson.project_license()
-
-The `meson` builtin object now has a `project_license()` method that returns a
-list of all licenses for the project.
diff --git a/docs/markdown/snippets/rust-cross.md b/docs/markdown/snippets/rust-cross.md
deleted file mode 100644
index 7f18c44..0000000
--- a/docs/markdown/snippets/rust-cross.md
+++ /dev/null
@@ -1,16 +0,0 @@
-## Rust cross-compilation
-
-Cross-compilation is now supported for Rust targets. Like other
-cross-compilers, the Rust binary must be specified in your cross
-file. It should specify a `--target` (as installed by `rustup target`)
-and a custom linker pointing to your C cross-compiler. For example:
-
-```
-[binaries]
-c = '/usr/bin/arm-linux-gnueabihf-gcc-7'
-rust = [
- 'rustc',
- '--target', 'arm-unknown-linux-gnueabihf',
- '-C', 'linker=/usr/bin/arm-linux-gnueabihf-gcc-7',
-]
-```
diff --git a/docs/markdown/snippets/rust-private-disambiguation.md b/docs/markdown/snippets/rust-private-disambiguation.md
deleted file mode 100644
index 6988a7a..0000000
--- a/docs/markdown/snippets/rust-private-disambiguation.md
+++ /dev/null
@@ -1,6 +0,0 @@
-## Rust compiler-private library disambiguation
-
-When building a Rust target with Rust library dependencies, an
-`--extern` argument is now specified to avoid ambiguity between the
-dependency library, and any crates of the same name in `rustc`'s
-private sysroot.
diff --git a/docs/markdown/snippets/templates.md b/docs/markdown/snippets/templates.md
deleted file mode 100644
index 6f0474d..0000000
--- a/docs/markdown/snippets/templates.md
+++ /dev/null
@@ -1,8 +0,0 @@
-## Project templates
-
-Meson ships with predefined project templates. To start a new project from
-scratch, simply go to an empty directory and type:
-
-```meson
-meson init --name=myproject --type=executable --language=c
-```
diff --git a/docs/markdown/snippets/test-setups.md b/docs/markdown/snippets/test-setups.md
deleted file mode 100644
index 4598e73..0000000
--- a/docs/markdown/snippets/test-setups.md
+++ /dev/null
@@ -1,16 +0,0 @@
-## Improve test setup selection
-
-Test setups are now identified (also) by the project they belong to and it
-is possible to select the used test setup from a specific project. E.g.
-to use a test setup `some_setup` from project `some_project` for all
-executed tests one can use
-
- meson test --setup some_project:some_setup
-
-Should one rather want test setups to be used from the same project as
-where the current test itself has been defined, one can use just
-
- meson test --setup some_setup
-
-In the latter case every (sub)project must have a test setup `some_setup`
-defined in it.
diff --git a/docs/markdown/snippets/windows-resources-custom-targets.md b/docs/markdown/snippets/windows-resources-custom-targets.md
deleted file mode 100644
index a2dce3a..0000000
--- a/docs/markdown/snippets/windows-resources-custom-targets.md
+++ /dev/null
@@ -1,3 +0,0 @@
-## Can use custom targets as Windows resource files
-
-The `compile_resources()` function of the `windows` module can now be used on custom targets as well as regular files.
diff --git a/docs/markdown/snippets/wrap_promote.md b/docs/markdown/snippets/wrap_promote.md
deleted file mode 100644
index 20fee47..0000000
--- a/docs/markdown/snippets/wrap_promote.md
+++ /dev/null
@@ -1,11 +0,0 @@
-# Can promote dependencies with wrap command
-
-The `promote` command makes it easy to copy nested dependencies to the top level.
-
- meson wrap promote scommon
-
-This will search the project tree for a subproject called `scommon` and copy it to the top level.
-
-If there are many embedded subprojects with the same name, you have to specify which one to promote manually like this:
-
- meson wrap promote subprojects/s1/subprojects/scommon
diff --git a/docs/markdown/snippets/yield.md b/docs/markdown/snippets/yield.md
deleted file mode 100644
index 3880e67..0000000
--- a/docs/markdown/snippets/yield.md
+++ /dev/null
@@ -1,8 +0,0 @@
-## Yielding subproject option to superproject
-
-Normally project options are specific to the current project. However
-sometimes you want to have an option whose value is the same over all
-projects. This can be achieved with the new `yield` keyword for
-options. When set to `true`, getting the value of this option in
-`meson.build` files gets the value from the option with the same name
-in the master project (if such an option exists).
diff --git a/docs/sitemap.txt b/docs/sitemap.txt
index 144ca4a..844b600 100644
--- a/docs/sitemap.txt
+++ b/docs/sitemap.txt
@@ -65,6 +65,7 @@ index.md
Shipping-prebuilt-binaries-as-wraps.md
fallback-wraptool.md
Release-notes.md
+ Release-notes-for-0.46.0.md
Release-notes-for-0.45.0.md
Release-notes-for-0.44.0.md
Release-notes-for-0.43.0.md
diff --git a/man/meson.1 b/man/meson.1
index 4429fa2..19ad737 100644
--- a/man/meson.1
+++ b/man/meson.1
@@ -1,4 +1,4 @@
-.TH MESON "1" "December 2017" "meson 0.44.0" "User Commands"
+.TH MESON "1" "March 2018" "meson 0.45.0" "User Commands"
.SH NAME
meson - a high productivity build system
.SH DESCRIPTION
diff --git a/man/mesonconf.1 b/man/mesonconf.1
index 3a83473..b189663 100644
--- a/man/mesonconf.1
+++ b/man/mesonconf.1
@@ -1,4 +1,4 @@
-.TH MESONCONF "1" "December 2017" "mesonconf 0.44.0" "User Commands"
+.TH MESONCONF "1" "March 2018" "mesonconf 0.45.0" "User Commands"
.SH NAME
mesonconf - a tool to configure Meson builds
.SH DESCRIPTION
diff --git a/man/mesonintrospect.1 b/man/mesonintrospect.1
index 27f39c0..61aa381 100644
--- a/man/mesonintrospect.1
+++ b/man/mesonintrospect.1
@@ -1,4 +1,4 @@
-.TH MESONINTROSPECT "1" "December 2017" "mesonintrospect 0.44.0" "User Commands"
+.TH MESONINTROSPECT "1" "March 2017" "mesonintrospect 0.45.0" "User Commands"
.SH NAME
mesonintrospect - a tool to extract information about a Meson build
.SH DESCRIPTION
diff --git a/man/mesontest.1 b/man/mesontest.1
index d2b2743..9a9f743 100644
--- a/man/mesontest.1
+++ b/man/mesontest.1
@@ -1,4 +1,4 @@
-.TH MESON "1" "December 2017" "meson 0.44.0" "User Commands"
+.TH MESON "1" "March 2018" "meson 0.45.0" "User Commands"
.SH NAME
mesontest - test tool for the Meson build system
.SH DESCRIPTION
diff --git a/man/wraptool.1 b/man/wraptool.1
index 113b33c..93ec457 100644
--- a/man/wraptool.1
+++ b/man/wraptool.1
@@ -1,4 +1,4 @@
-.TH WRAPTOOL "1" "December 2017" "meson 0.44.0" "User Commands"
+.TH WRAPTOOL "1" "March 2018" "meson 0.45.0" "User Commands"
.SH NAME
wraptool - source dependency downloader
.SH DESCRIPTION
diff --git a/mesonbuild/coredata.py b/mesonbuild/coredata.py
index f22f9cd..4fa4f4c 100644
--- a/mesonbuild/coredata.py
+++ b/mesonbuild/coredata.py
@@ -21,7 +21,7 @@ from .mesonlib import MesonException
from .mesonlib import default_libdir, default_libexecdir, default_prefix
import ast
-version = '0.45.0.dev1'
+version = '0.45.0'
backendlist = ['ninja', 'vs', 'vs2010', 'vs2015', 'vs2017', 'xcode']
default_yielding = False