From b39ce46b80ef5cccc592398e0a74ba8d02742ead Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Mon, 4 Nov 2019 13:34:52 +0200 Subject: Add $config.export() function This is similar to the config.export variable functionality except it can be called from within buildfiles. Note that this function can only be used during configure unless the config module creation was forced for other meta-operations with config.module=true in bootstrap.build. --- libbuild2/config/operation.hxx | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'libbuild2/config/operation.hxx') diff --git a/libbuild2/config/operation.hxx b/libbuild2/config/operation.hxx index 8b2a29d..9ec854a 100644 --- a/libbuild2/config/operation.hxx +++ b/libbuild2/config/operation.hxx @@ -5,6 +5,8 @@ #ifndef LIBBUILD2_CONFIG_OPERATION_HXX #define LIBBUILD2_CONFIG_OPERATION_HXX +#include + #include #include @@ -23,6 +25,20 @@ namespace build2 vector_view&, bool, const location&); + + // Configuration exporting. + // + using project_set = std::set; // Pointers for comparison. + + // If inherit is false, then don't rely on inheritance from outer scopes + // (used for config.export). In this case the already configured project + // set can be empty. + // + void + save_config (const scope& rs, + ostream&, const string& name, + bool inherit, + const project_set&); } } -- cgit v1.1