diff options
Diffstat (limited to 'docs/markdown')
-rw-r--r-- | docs/markdown/Release-notes-for-0.43.0.md | 109 | ||||
-rw-r--r-- | docs/markdown/Release-notes-for-0.43.0/001-boost-platform-improvement.md | 10 | ||||
-rw-r--r-- | docs/markdown/Release-notes-for-0.43.0/001-generator-capture.md | 4 | ||||
-rw-r--r-- | docs/markdown/snippets/add_release_note_snippets_here | 0 | ||||
-rw-r--r-- | docs/markdown/snippets/cross_find.md | 15 | ||||
-rw-r--r-- | docs/markdown/snippets/custom-target-index.md | 21 | ||||
-rw-r--r-- | docs/markdown/snippets/get-supported-arguments.md | 23 | ||||
-rw-r--r-- | docs/markdown/snippets/prebuilt.md | 20 | ||||
-rw-r--r-- | docs/markdown/snippets/wrap-svn.md | 4 |
9 files changed, 102 insertions, 104 deletions
diff --git a/docs/markdown/Release-notes-for-0.43.0.md b/docs/markdown/Release-notes-for-0.43.0.md index 0cb8cc1..074ff38 100644 --- a/docs/markdown/Release-notes-for-0.43.0.md +++ b/docs/markdown/Release-notes-for-0.43.0.md @@ -3,14 +3,109 @@ title: Release 0.43 short-description: Release notes for 0.43 (preliminary) ... -# New features +# Portability improvements to Boost Dependency -This page is a placeholder for the eventual release notes. +The Boost dependency has been improved to better detect the various ways to +install boost on multiple platforms. At the same time the `modules` semantics +for the dependency has been changed. Previously it was allowed to specify +header directories as `modules` but it wasn't required. Now, modules are only +used to specify libraries that require linking. -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: +This is a breaking change and the fix is to remove all modules that aren't +found. - # Feature name +# Generator learned capture - A short description explaining the new feature and how it should be used. +Generators can now be configured to capture the standard output. See +`test cases/common/98 gen extra/meson.build` for an example. + +# Can index CustomTaget objects + +The `CustomTarget` object can now be indexed like an array. The resulting +object can be used as a source file for other Targets, this will create a +dependency on the original `CustomTarget`, but will only insert the generated +file corresponding to the index value of the `CustomTarget`'s `output` keyword. + + c = CustomTarget( + ... + output : ['out.h', 'out.c'], + ) + lib1 = static_library( + 'lib1', + [lib1_sources, c[0]], + ... + ) + exec = executable( + 'executable', + c[1], + link_with : lib1, + ) + +# Can override executables in the cross file + +The cross file can now be used for overriding the result of +`find_program`. As an example if you want to find the `objdump` +command and have the following definition in your cross file: + + [binaries] + ... + objdump = '/usr/bin/arm-linux-gnueabihf-objdump-6' + +Then issuing the command `find_program('objdump')` will return the +version specified in the cross file. If you need the build machine's +objdump, you can specify the `native` keyword like this: + + native_objdump = find_program('objdump', native : true) + +# Easier handling of supported compiler arguments + +A common pattern for handling multiple desired compiler arguments, was to +test their presence and add them to an array one-by-one, e.g.: + + warning_flags_maybe = [ + '-Wsomething', + '-Wanother-thing', + '-Wno-the-other-thing', + ] + warning_flags = [] + foreach flag : warning_flags_maybe + if cc.has_argument(flag) + warning_flags += flag + endif + endforeach + cc.add_project_argument(warning_flags) + +A helper has been added for the foreach/has_argument pattern, so you can +now simply do: + + warning_flags = [ ... ] + flags = cc.get_supported_flags(warning_flags) + +# Better support for shared libraries in non-system paths + +Meson has had support for prebuilt object files and static libraries. +This release adds feature parity to shared libraries that are either +in non-standard system paths or shipped as part of your project. On +systems that support rpath, Meson automatically adds rpath entries +to built targets using manually found external libraries. + +This means that e.g. supporting prebuilt libraries shipped with your +source or provided by subprojects or wrap definitions by writing a +build file like this: + + project('myprebuiltlibrary', 'c') + + cc = meson.get_compiler('c') + prebuilt = cc.find_library('mylib', dirs : meson.current_source_dir()) + mydep = declare_dependency(include_directories : include_directories('.'), + dependencies : prebuilt) + +Then you can use the dependency object in the same way as any other. + +# wrap-svn + +The [Wrap dependency system](Wrap-dependency-system-manual.md) now +supports [Subversion](https://subversion.apache.org/) (svn). This +support is rudimentary. The repository url has to point to a specific +(sub)directory containing the `meson.build` file (typically +`trunk/`). However, providing a `revision` is supported. diff --git a/docs/markdown/Release-notes-for-0.43.0/001-boost-platform-improvement.md b/docs/markdown/Release-notes-for-0.43.0/001-boost-platform-improvement.md deleted file mode 100644 index 2cd44ce..0000000 --- a/docs/markdown/Release-notes-for-0.43.0/001-boost-platform-improvement.md +++ /dev/null @@ -1,10 +0,0 @@ -## Portability improvements to Boost Dependency - -The Boost dependency has been improved to better detect the various ways to -install boost on multiple platforms. At the same time the `modules` semantics -for the dependency has been changed. Previously it was allowed to specify -header directories as `modules` but it wasn't required. Now, modules are only -used to specify libraries that require linking. - -This is a breaking change and the fix is to remove all modules that aren't -found. diff --git a/docs/markdown/Release-notes-for-0.43.0/001-generator-capture.md b/docs/markdown/Release-notes-for-0.43.0/001-generator-capture.md deleted file mode 100644 index 4eb7fc0..0000000 --- a/docs/markdown/Release-notes-for-0.43.0/001-generator-capture.md +++ /dev/null @@ -1,4 +0,0 @@ -## Generator learned capture - -Generators can now be configured to capture the standard output. See -`test cases/common/98 gen extra/meson.build` for an example. diff --git a/docs/markdown/snippets/add_release_note_snippets_here b/docs/markdown/snippets/add_release_note_snippets_here new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/docs/markdown/snippets/add_release_note_snippets_here diff --git a/docs/markdown/snippets/cross_find.md b/docs/markdown/snippets/cross_find.md deleted file mode 100644 index b16d64d..0000000 --- a/docs/markdown/snippets/cross_find.md +++ /dev/null @@ -1,15 +0,0 @@ -# Can override executables in the cross file - -The cross file can now be used for overriding the result of -`find_program`. As an example if you want to find the `objdump` -command and have the following definition in your cross file: - - [binaries] - ... - objdump = '/usr/bin/arm-linux-gnueabihf-objdump-6' - -Then issuing the command `find_program('objdump')` will return the -version specified in the cross file. If you need the build machine's -objdump, you can specify the `native` keyword like this: - - native_objdump = find_program('objdump', native : true) diff --git a/docs/markdown/snippets/custom-target-index.md b/docs/markdown/snippets/custom-target-index.md deleted file mode 100644 index 10d7cf1..0000000 --- a/docs/markdown/snippets/custom-target-index.md +++ /dev/null @@ -1,21 +0,0 @@ -# Can index CustomTaget objects - -The `CustomTarget` object can now be indexed like an array. The resulting -object can be used as a source file for other Targets, this will create a -dependency on the original `CustomTarget`, but will only insert the generated -file corresponding to the index value of the `CustomTarget`'s `output` keyword. - - c = CustomTarget( - ... - output : ['out.h', 'out.c'], - ) - lib1 = static_library( - 'lib1', - [lib1_sources, c[0]], - ... - ) - exec = executable( - 'executable', - c[1], - link_with : lib1, - ) diff --git a/docs/markdown/snippets/get-supported-arguments.md b/docs/markdown/snippets/get-supported-arguments.md deleted file mode 100644 index c0cc9bf..0000000 --- a/docs/markdown/snippets/get-supported-arguments.md +++ /dev/null @@ -1,23 +0,0 @@ -# Easier handling of supported compiler arguments - -A common pattern for handling multiple desired compiler arguments, was to -test their presence and add them to an array one-by-one, e.g.: - - warning_flags_maybe = [ - '-Wsomething', - '-Wanother-thing', - '-Wno-the-other-thing', - ] - warning_flags = [] - foreach flag : warning_flags_maybe - if cc.has_argument(flag) - warning_flags += flag - endif - endforeach - cc.add_project_argument(warning_flags) - -A helper has been added for the foreach/has_argument pattern, so you can -now simply do: - - warning_flags = [ ... ] - flags = cc.get_supported_flags(warning_flags) diff --git a/docs/markdown/snippets/prebuilt.md b/docs/markdown/snippets/prebuilt.md deleted file mode 100644 index 19741c4..0000000 --- a/docs/markdown/snippets/prebuilt.md +++ /dev/null @@ -1,20 +0,0 @@ -# Better support for shared libraries in non-system paths - -Meson has had support for prebuilt object files and static libraries. -This release adds feature parity to shared libraries that are either -in non-standard system paths or shipped as part of your project. On -systems that support rpath, Meson automatically adds rpath entries -to built targets using manually found external libraries. - -This means that e.g. supporting prebuilt libraries shipped with your -source or provided by subprojects or wrap definitions by writing a -build file like this: - - project('myprebuiltlibrary', 'c') - - cc = meson.get_compiler('c') - prebuilt = cc.find_library('mylib', dirs : meson.current_source_dir()) - mydep = declare_dependency(include_directories : include_directories('.'), - dependencies : prebuilt) - -Then you can use the dependency object in the same way as any other. diff --git a/docs/markdown/snippets/wrap-svn.md b/docs/markdown/snippets/wrap-svn.md deleted file mode 100644 index cdf155b..0000000 --- a/docs/markdown/snippets/wrap-svn.md +++ /dev/null @@ -1,4 +0,0 @@ -# wrap-svn - -The [Wrap dependency system](Wrap-dependency-system-manual.md) now supports [Subversion](https://subversion.apache.org/) (svn). -This support is rudimentary. The repository url has to point to a specific (sub)directory containing the `meson.build` file (typically `trunk/`). However, providing a `revision` is supported. |