aboutsummaryrefslogtreecommitdiff
path: root/libbuild2/cc/common.hxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2022-06-24 05:44:37 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2022-06-24 05:44:37 +0200
commit7c57f2a85aa520db784a36ced65ec5c832dbfbc8 (patch)
treedd99be01f18303868d9c5158feb2230fdc7c12bb /libbuild2/cc/common.hxx
parent52128dcc2d88a262238c07fe8acdbcfad684035c (diff)
Add ability to get common interface options via $x.lib_poptions()
Specifically, the output target type may now be omitted for utility libraries (libul{} and libu[eas]{}). In this case, only "common interface" options will be returned for lib{} dependencies. This is primarily useful for obtaining poptions to be passed to tools other than C/C++ compilers (for example, Qt moc).
Diffstat (limited to 'libbuild2/cc/common.hxx')
-rw-r--r--libbuild2/cc/common.hxx6
1 files changed, 5 insertions, 1 deletions
diff --git a/libbuild2/cc/common.hxx b/libbuild2/cc/common.hxx
index 1e74b22..a5a4859 100644
--- a/libbuild2/cc/common.hxx
+++ b/libbuild2/cc/common.hxx
@@ -300,6 +300,7 @@ namespace build2
string type; // name::type
string value; // name::value
reference_wrapper<const mtime_target> lib;
+ const target* group;
};
using library_cache = small_vector<library_cache_entry, 32>;
@@ -319,6 +320,7 @@ namespace build2
lflags, const string*, bool)>&,
const function<bool (const target&, const string&, bool, bool)>&,
bool = false,
+ bool = false,
library_cache* = nullptr) const;
void
@@ -327,6 +329,7 @@ namespace build2
const scope&,
optional<linfo>,
const dir_paths&,
+ const target*,
const mtime_target&,
bool,
lflags,
@@ -336,6 +339,7 @@ namespace build2
lflags, const string*, bool)>&,
const function<bool (const target&, const string&, bool, bool)>&,
bool,
+ bool,
library_cache*,
small_vector<const target*, 32>*,
small_vector<const target*, 32>*) const;
@@ -365,7 +369,7 @@ namespace build2
}
public:
- const mtime_target&
+ pair<const mtime_target&, const target*>
resolve_library (action,
const scope&,
const name&,