Skip to content

Commit

Permalink
Update
Browse files Browse the repository at this point in the history
  • Loading branch information
github-actions committed Oct 24, 2024
1 parent 4219a1a commit a73fee6
Show file tree
Hide file tree
Showing 84 changed files with 85 additions and 93 deletions.
11 changes: 11 additions & 0 deletions Release-notes-for-1-7-0.html
Original file line number Diff line number Diff line change
Expand Up @@ -211,6 +211,17 @@
<div id="main">
<div id="page-description" data-hotdoc-role="main">
<h1 id="new-features-in-development">New features (in development)</h1>
<h2 id="cargo-features-are-resolved-globally">Cargo features are resolved globally</h2>
<p>When configuring a Cargo dependency, Meson will now resolve its complete
dependency tree and feature set before generating the subproject AST.
This solves many cases of Cargo subprojects being configured with missing
features that the main project had to enable by hand using e.g.
<code>default_options: ['foo-rs:feature-default=true']</code>.</p>
<p>Note that there could still be issues in the case there are multiple Cargo
entry points. That happens if the main Meson project makes multiple <code>dependency()</code>
calls for different Cargo crates that have common dependencies.</p>
<p>Breaks: This change removes per feature Meson options that were previously
possible to set as shown above or from command line <code>-Dfoo-rs:feature-foo=true</code>.</p>

</div>

Expand Down
19 changes: 0 additions & 19 deletions Wrap-dependency-system-manual.html
Original file line number Diff line number Diff line change
Expand Up @@ -546,25 +546,6 @@ <h3 id="cargo-wraps">Cargo wraps</h3>
[provide]
dependency_names = foo-bar-0.1-rs
</code></pre>
<p>Cargo features are exposed as Meson boolean options, with the <code>feature-</code> prefix.
For example the <code>default</code> feature is named <code>feature-default</code> and can be set from
the command line with <code>-Dfoo-1-rs:feature-default=false</code>. When a cargo subproject
depends on another cargo subproject, it will automatically enable features it
needs using the <code>dependency('foo-1-rs', default_options: ...)</code> mechanism. However,
unlike Cargo, the set of enabled features is not managed globally. Let's assume
the main project depends on <code>foo-1-rs</code> and <code>bar-1-rs</code>, and they both depend on
<code>common-1-rs</code>. The main project will first look up <code>foo-1-rs</code> which itself will
configure <code>common-rs</code> with a set of features. Later, when <code>bar-1-rs</code> does a lookup
for <code>common-1-rs</code> it has already been configured and the set of features cannot be
changed. If <code>bar-1-rs</code> wants extra features from <code>common-1-rs</code>, Meson will error out.
It is currently the responsibility of the main project to resolve those
issues by enabling extra features on each subproject:</p>
<pre><code class="language-meson">project(...,
default_options: {
'common-1-rs:feature-something': true,
},
)
</code></pre>
<p>In addition, if the file <code>meson/meson.build</code> exists, Meson will call <code>subdir('meson')</code>
where the project can add manual logic that would usually be part of <code>build.rs</code>.
Some naming conventions need to be respected:</p>
Expand Down
2 changes: 1 addition & 1 deletion assets/js/search/AST
Original file line number Diff line number Diff line change
@@ -1 +1 @@
urls_downloaded_cb({"token":"AST","urls":[{"url":"IDE-integration.html#ast-of-a-mesonbuild","node_type":"h1","page":"IDE integration","sections":["AST of a meson.build\n"],"context":{"gi-language":["default"]}},{"url":"Release-notes-for-0-55-0.html#introspection-api-changes","node_type":"ul","page":"Release 0.55.0","sections":["New features","Introspection API changes"],"context":{"gi-language":["default"]}}]});
urls_downloaded_cb({"token":"AST","urls":[{"url":"IDE-integration.html#ast-of-a-mesonbuild","node_type":"h1","page":"IDE integration","sections":["AST of a meson.build\n"],"context":{"gi-language":["default"]}},{"url":"Release-notes-for-0-55-0.html#introspection-api-changes","node_type":"ul","page":"Release 0.55.0","sections":["New features","Introspection API changes"],"context":{"gi-language":["default"]}},{"url":"Release-notes-for-1-7-0.html#cargo-features-are-resolved-globally","node_type":"p","page":"Release 1.7.0 (in development)","sections":["New features (in development)","Cargo features are resolved globally"],"context":{"gi-language":["default"]}}]});
1 change: 1 addition & 0 deletions assets/js/search/Breaks
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
urls_downloaded_cb({"token":"Breaks","urls":[{"url":"Release-notes-for-1-7-0.html#cargo-features-are-resolved-globally","node_type":"p","page":"Release 1.7.0 (in development)","sections":["New features (in development)","Cargo features are resolved globally"],"context":{"gi-language":["default"]}}]});
2 changes: 1 addition & 1 deletion assets/js/search/Cargo
Original file line number Diff line number Diff line change
@@ -1 +1 @@
urls_downloaded_cb({"token":"Cargo","urls":[{"url":"Release-notes-for-1-5-0.html#cargo-dependencies-names-now-include-the-api-version","node_type":"h2","page":"Release 1.5.0","sections":["New features","Cargo dependencies names now include the API version"],"context":{"gi-language":["default"]}},{"url":"Release-notes-for-1-6-0.html#cargo-subprojects-is-experimental","node_type":"h2","page":"Release 1.6.0","sections":["New features","Cargo subprojects is experimental"],"context":{"gi-language":["default"]}},{"url":"Wrap-dependency-system-manual.html#cargo-wraps","node_type":"h3","page":"Wrap dependency system manual","sections":["Wrap dependency system manual","\nprovide section","Cargo wraps"],"context":{"gi-language":["default"]}}]});
urls_downloaded_cb({"token":"Cargo","urls":[{"url":"Release-notes-for-1-5-0.html#cargo-dependencies-names-now-include-the-api-version","node_type":"h2","page":"Release 1.5.0","sections":["New features","Cargo dependencies names now include the API version"],"context":{"gi-language":["default"]}},{"url":"Release-notes-for-1-6-0.html#cargo-subprojects-is-experimental","node_type":"h2","page":"Release 1.6.0","sections":["New features","Cargo subprojects is experimental"],"context":{"gi-language":["default"]}},{"url":"Release-notes-for-1-7-0.html#cargo-features-are-resolved-globally","node_type":"h2","page":"Release 1.7.0 (in development)","sections":["New features (in development)","Cargo features are resolved globally"],"context":{"gi-language":["default"]}},{"url":"Wrap-dependency-system-manual.html#cargo-wraps","node_type":"h3","page":"Wrap dependency system manual","sections":["Wrap dependency system manual","\nprovide section","Cargo wraps"],"context":{"gi-language":["default"]}}]});
1 change: 0 additions & 1 deletion assets/js/search/Dfoo-1-rs

This file was deleted.

1 change: 1 addition & 0 deletions assets/js/search/Dfoo-rs
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
urls_downloaded_cb({"token":"Dfoo-rs","urls":[{"url":"Release-notes-for-1-7-0.html#cargo-features-are-resolved-globally","node_type":"p","page":"Release 1.7.0 (in development)","sections":["New features (in development)","Cargo features are resolved globally"],"context":{"gi-language":["default"]}}]});
2 changes: 1 addition & 1 deletion assets/js/search/Meson

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion assets/js/search/Note

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion assets/js/search/assume
Original file line number Diff line number Diff line change
@@ -1 +1 @@
urls_downloaded_cb({"token":"assume","urls":[{"url":"Creating-OSX-packages.html#creating-an-app-bundle","node_type":"p","page":"Creating OSX packages","sections":["Creating OSX packages","Creating an app bundle"],"context":{"gi-language":["default"]}},{"url":"Cross-compilation.html#cross-compilation","node_type":"p","page":"Cross compilation","sections":["Cross compilation"],"context":{"gi-language":["default"]}},{"url":"Custom-build-targets.html#details-on-command-invocation","node_type":"ul","page":"Custom build targets","sections":["Custom build targets","Details on command invocation"],"context":{"gi-language":["default"]}},{"url":"FAQ.html#i-have-proprietary-compiler-toolchain-x-that-does-not-work-with-meson-how-can-i-make-it-work","node_type":"p","page":"FAQ","sections":["Meson Frequently Asked Questions","I have proprietary compiler toolchain X that does not work with Meson, how can I make it work?"],"context":{"gi-language":["default"]}},{"url":"IDE-integration.html#ide-integration","node_type":"p","page":"IDE integration","sections":["IDE integration"],"context":{"gi-language":["default"]}},{"url":"Include-directories.html#include-directories","node_type":"p","page":"Include directories","sections":["Include directories"],"context":{"gi-language":["default"]}},{"url":"Java-module.html#generate_native_header","node_type":"ul","page":"Java Module","sections":["Java Module","Functions","generate_native_header()"],"context":{"gi-language":["default"]}},{"url":"Java-module.html#generate_native_headers","node_type":"ul","page":"Java Module","sections":["Java Module","Functions","generate_native_headers()"],"context":{"gi-language":["default"]}},{"url":"Java-module.html#native_headers","node_type":"ul","page":"Java Module","sections":["Java Module","Functions","native_headers()"],"context":{"gi-language":["default"]}},{"url":"Precompiled-headers.html#using-precompiled-headers-with-gcc-and-derivatives","node_type":"p","page":"Precompiled headers","sections":["Precompiled headers","Using precompiled headers with GCC and derivatives"],"context":{"gi-language":["default"]}},{"url":"Reference-manual_functions.html#arguments10","node_type":"table","page":"Functions","sections":["Functions","both_libraries()","Arguments"],"context":{"gi-language":["default"]}},{"url":"Reference-manual_functions.html#arguments11","node_type":"table","page":"Functions","sections":["Functions","build_target()","Arguments"],"context":{"gi-language":["default"]}},{"url":"Reference-manual_functions.html#arguments20","node_type":"table","page":"Functions","sections":["Functions","executable()","Arguments"],"context":{"gi-language":["default"]}},{"url":"Reference-manual_functions.html#arguments36","node_type":"table","page":"Functions","sections":["Functions","jar()","Arguments"],"context":{"gi-language":["default"]}},{"url":"Reference-manual_functions.html#arguments38","node_type":"table","page":"Functions","sections":["Functions","library()","Arguments"],"context":{"gi-language":["default"]}},{"url":"Reference-manual_functions.html#arguments45","node_type":"table","page":"Functions","sections":["Functions","shared_library()","Arguments"],"context":{"gi-language":["default"]}},{"url":"Reference-manual_functions.html#arguments46","node_type":"table","page":"Functions","sections":["Functions","shared_module()","Arguments"],"context":{"gi-language":["default"]}},{"url":"Reference-manual_functions.html#arguments47","node_type":"table","page":"Functions","sections":["Functions","static_library()","Arguments"],"context":{"gi-language":["default"]}},{"url":"Reference-manual_functions.html#both_libraries_link_with","node_type":"p","page":"Functions","sections":["Functions","both_libraries()","Arguments"],"context":{"gi-language":["default"]}},{"url":"Reference-manual_functions.html#build_target_link_with","node_type":"p","page":"Functions","sections":["Functions","build_target()","Arguments"],"context":{"gi-language":["default"]}},{"url":"Reference-manual_functions.html#executable_link_with","node_type":"p","page":"Functions","sections":["Functions","executable()","Arguments"],"context":{"gi-language":["default"]}},{"url":"Reference-manual_functions.html#jar_link_with","node_type":"p","page":"Functions","sections":["Functions","jar()","Arguments"],"context":{"gi-language":["default"]}},{"url":"Reference-manual_functions.html#library_link_with","node_type":"p","page":"Functions","sections":["Functions","library()","Arguments"],"context":{"gi-language":["default"]}},{"url":"Reference-manual_functions.html#shared_library_link_with","node_type":"p","page":"Functions","sections":["Functions","shared_library()","Arguments"],"context":{"gi-language":["default"]}},{"url":"Reference-manual_functions.html#shared_module_link_with","node_type":"p","page":"Functions","sections":["Functions","shared_module()","Arguments"],"context":{"gi-language":["default"]}},{"url":"Reference-manual_functions.html#static_library_link_with","node_type":"p","page":"Functions","sections":["Functions","static_library()","Arguments"],"context":{"gi-language":["default"]}},{"url":"Release-notes-for-0-54-0.html#native-build-machine-compilers-not-always-required","node_type":"p","page":"Release 0.54.0","sections":["New features","Native (build machine) compilers not always required"],"context":{"gi-language":["default"]}},{"url":"Release-notes-for-0-62-0.html#new-option-to-choose-python-installation-environment","node_type":"ul","page":"Release 0.62.0","sections":["New features","New option to choose python installation environment"],"context":{"gi-language":["default"]}},{"url":"Running-Meson.html#configuring-the-build-directory","node_type":"p","page":"Running Meson","sections":["Running Meson","Configuring the build directory"],"context":{"gi-language":["default"]}},{"url":"Using-wraptool.html#using-wraptool","node_type":"p","page":"Using wraptool","sections":["Using wraptool"],"context":{"gi-language":["default"]}},{"url":"Wrap-dependency-system-manual.html#cargo-wraps","node_type":"p","page":"Wrap dependency system manual","sections":["Wrap dependency system manual","\nprovide section","Cargo wraps"],"context":{"gi-language":["default"]}}]});
urls_downloaded_cb({"token":"assume","urls":[{"url":"Creating-OSX-packages.html#creating-an-app-bundle","node_type":"p","page":"Creating OSX packages","sections":["Creating OSX packages","Creating an app bundle"],"context":{"gi-language":["default"]}},{"url":"Cross-compilation.html#cross-compilation","node_type":"p","page":"Cross compilation","sections":["Cross compilation"],"context":{"gi-language":["default"]}},{"url":"Custom-build-targets.html#details-on-command-invocation","node_type":"ul","page":"Custom build targets","sections":["Custom build targets","Details on command invocation"],"context":{"gi-language":["default"]}},{"url":"FAQ.html#i-have-proprietary-compiler-toolchain-x-that-does-not-work-with-meson-how-can-i-make-it-work","node_type":"p","page":"FAQ","sections":["Meson Frequently Asked Questions","I have proprietary compiler toolchain X that does not work with Meson, how can I make it work?"],"context":{"gi-language":["default"]}},{"url":"IDE-integration.html#ide-integration","node_type":"p","page":"IDE integration","sections":["IDE integration"],"context":{"gi-language":["default"]}},{"url":"Include-directories.html#include-directories","node_type":"p","page":"Include directories","sections":["Include directories"],"context":{"gi-language":["default"]}},{"url":"Java-module.html#generate_native_header","node_type":"ul","page":"Java Module","sections":["Java Module","Functions","generate_native_header()"],"context":{"gi-language":["default"]}},{"url":"Java-module.html#generate_native_headers","node_type":"ul","page":"Java Module","sections":["Java Module","Functions","generate_native_headers()"],"context":{"gi-language":["default"]}},{"url":"Java-module.html#native_headers","node_type":"ul","page":"Java Module","sections":["Java Module","Functions","native_headers()"],"context":{"gi-language":["default"]}},{"url":"Precompiled-headers.html#using-precompiled-headers-with-gcc-and-derivatives","node_type":"p","page":"Precompiled headers","sections":["Precompiled headers","Using precompiled headers with GCC and derivatives"],"context":{"gi-language":["default"]}},{"url":"Reference-manual_functions.html#arguments10","node_type":"table","page":"Functions","sections":["Functions","both_libraries()","Arguments"],"context":{"gi-language":["default"]}},{"url":"Reference-manual_functions.html#arguments11","node_type":"table","page":"Functions","sections":["Functions","build_target()","Arguments"],"context":{"gi-language":["default"]}},{"url":"Reference-manual_functions.html#arguments20","node_type":"table","page":"Functions","sections":["Functions","executable()","Arguments"],"context":{"gi-language":["default"]}},{"url":"Reference-manual_functions.html#arguments36","node_type":"table","page":"Functions","sections":["Functions","jar()","Arguments"],"context":{"gi-language":["default"]}},{"url":"Reference-manual_functions.html#arguments38","node_type":"table","page":"Functions","sections":["Functions","library()","Arguments"],"context":{"gi-language":["default"]}},{"url":"Reference-manual_functions.html#arguments45","node_type":"table","page":"Functions","sections":["Functions","shared_library()","Arguments"],"context":{"gi-language":["default"]}},{"url":"Reference-manual_functions.html#arguments46","node_type":"table","page":"Functions","sections":["Functions","shared_module()","Arguments"],"context":{"gi-language":["default"]}},{"url":"Reference-manual_functions.html#arguments47","node_type":"table","page":"Functions","sections":["Functions","static_library()","Arguments"],"context":{"gi-language":["default"]}},{"url":"Reference-manual_functions.html#both_libraries_link_with","node_type":"p","page":"Functions","sections":["Functions","both_libraries()","Arguments"],"context":{"gi-language":["default"]}},{"url":"Reference-manual_functions.html#build_target_link_with","node_type":"p","page":"Functions","sections":["Functions","build_target()","Arguments"],"context":{"gi-language":["default"]}},{"url":"Reference-manual_functions.html#executable_link_with","node_type":"p","page":"Functions","sections":["Functions","executable()","Arguments"],"context":{"gi-language":["default"]}},{"url":"Reference-manual_functions.html#jar_link_with","node_type":"p","page":"Functions","sections":["Functions","jar()","Arguments"],"context":{"gi-language":["default"]}},{"url":"Reference-manual_functions.html#library_link_with","node_type":"p","page":"Functions","sections":["Functions","library()","Arguments"],"context":{"gi-language":["default"]}},{"url":"Reference-manual_functions.html#shared_library_link_with","node_type":"p","page":"Functions","sections":["Functions","shared_library()","Arguments"],"context":{"gi-language":["default"]}},{"url":"Reference-manual_functions.html#shared_module_link_with","node_type":"p","page":"Functions","sections":["Functions","shared_module()","Arguments"],"context":{"gi-language":["default"]}},{"url":"Reference-manual_functions.html#static_library_link_with","node_type":"p","page":"Functions","sections":["Functions","static_library()","Arguments"],"context":{"gi-language":["default"]}},{"url":"Release-notes-for-0-54-0.html#native-build-machine-compilers-not-always-required","node_type":"p","page":"Release 0.54.0","sections":["New features","Native (build machine) compilers not always required"],"context":{"gi-language":["default"]}},{"url":"Release-notes-for-0-62-0.html#new-option-to-choose-python-installation-environment","node_type":"ul","page":"Release 0.62.0","sections":["New features","New option to choose python installation environment"],"context":{"gi-language":["default"]}},{"url":"Running-Meson.html#configuring-the-build-directory","node_type":"p","page":"Running Meson","sections":["Running Meson","Configuring the build directory"],"context":{"gi-language":["default"]}},{"url":"Using-wraptool.html#using-wraptool","node_type":"p","page":"Using wraptool","sections":["Using wraptool"],"context":{"gi-language":["default"]}}]});
2 changes: 1 addition & 1 deletion assets/js/search/ast
Original file line number Diff line number Diff line change
@@ -1 +1 @@
urls_downloaded_cb({"token":"ast","urls":[{"url":"IDE-integration.html#ast-of-a-mesonbuild","node_type":"h1","page":"IDE integration","sections":["AST of a meson.build\n"],"context":{"gi-language":["default"]}},{"url":"Release-notes-for-0-55-0.html#introspection-api-changes","node_type":"ul","page":"Release 0.55.0","sections":["New features","Introspection API changes"],"context":{"gi-language":["default"]}}]});
urls_downloaded_cb({"token":"ast","urls":[{"url":"IDE-integration.html#ast-of-a-mesonbuild","node_type":"h1","page":"IDE integration","sections":["AST of a meson.build\n"],"context":{"gi-language":["default"]}},{"url":"Release-notes-for-0-55-0.html#introspection-api-changes","node_type":"ul","page":"Release 0.55.0","sections":["New features","Introspection API changes"],"context":{"gi-language":["default"]}},{"url":"Release-notes-for-1-7-0.html#cargo-features-are-resolved-globally","node_type":"p","page":"Release 1.7.0 (in development)","sections":["New features (in development)","Cargo features are resolved globally"],"context":{"gi-language":["default"]}}]});
1 change: 0 additions & 1 deletion assets/js/search/bar-1-rs

This file was deleted.

Loading

0 comments on commit a73fee6

Please sign in to comment.