diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2016-06-26 16:06:54 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2016-06-26 16:06:54 +0200 |
commit | 4d1c02b736f4c1e827b11085cdc83ce4b46c03d1 (patch) | |
tree | 8d6a8318c23b1e9085d73c36843c90e875a52095 /build2/target.txx | |
parent | 70d00b9f7f3266c1962f6d5a6fc8de1866c67949 (diff) |
Add notion of ad hoc group, use to handle DLL/import library
Diffstat (limited to 'build2/target.txx')
-rw-r--r-- | build2/target.txx | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/build2/target.txx b/build2/target.txx index fe21016..dc627a6 100644 --- a/build2/target.txx +++ b/build2/target.txx @@ -9,6 +9,30 @@ namespace build2 { + // prerequisite_members_range + // + template <typename T> + void prerequisite_members_range<T>::iterator:: + switch_mode () + { + // A group could be empty, so we may have to iterate. + // + do + { + g_ = resolve_group_members (r_->a_, search (*i_)); + assert (g_.members == nullptr); // Group could not be resolved. + + if (g_.count != 0) // Skip empty see through groups. + { + j_ = 1; // Start from the first group member. + break; + } + } + while (++i_ != r_->e_ && i_->get ().type.see_through); + } + + // + // template <const char* ext> const string* target_extension_fix (const target_key&, scope&) |