diff options
Diffstat (limited to 'bpkg/database.hxx')
-rw-r--r-- | bpkg/database.hxx | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/bpkg/database.hxx b/bpkg/database.hxx index bf52ecb..32169bb 100644 --- a/bpkg/database.hxx +++ b/bpkg/database.hxx @@ -198,6 +198,13 @@ namespace bpkg // So for the above link chain only cfg2 configuration is included for a // build-time dependency foo and none for libbuild2-foo. // + // - While traversing through a private configuration of the host type + // consider the parent's explicitly linked configurations of the build2 + // type as also being explicitly linked to this private + // configuration. Note that build system module dependencies of packages + // in private host configurations are resolved from the parent's + // explicitly linked configurations of the build2 type. + // linked_databases dependency_configs (); @@ -215,6 +222,13 @@ namespace bpkg // configurations for dependents of a build-time dependency in host // configuration). // + // While traversing through a configuration of the build2 type consider + // private host configurations of its implicitly linked configurations as + // also being implicitly linked to this build2 configuration. Note that + // build system module dependencies of packages in private host + // configurations are resolved from the parent's explicitly linked + // configurations of the build2 type. + // linked_databases dependent_configs (bool sys_rep = false); @@ -243,6 +257,28 @@ namespace bpkg database& find_dependency_config (const uuid_type&); + // Return true if this configuration is private (i.e. its parent directory + // name is `.bpkg`). + // + bool + private_ () + { + return config.directory ().leaf () == bpkg_dir; + } + + // Return the implicitly linked configuration containing this + // configuration and issue diagnostics and fail if not found. Assume that + // this configuration is private. + // + database& + parent_config (bool sys_rep = false); + + // Return a private configuration of the specified type, if present, and + // NULL otherwise. + // + database* + private_config (const string& type); + // Return an empty string for the main database and the original // configuration directory path in the `[<dir>]` form otherwise. // |