diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2021-10-01 11:05:49 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2021-10-01 11:05:49 +0200 |
commit | 248b79eba58d88766c6fe3fb87f8dfda5f86a615 (patch) | |
tree | 2acde6176840cd00b5019203bc729794ed745e9f /libbuild2/cc/common.ixx | |
parent | f63c0548281015ca1f7d71079c0880e3634063fb (diff) |
Add notion of internal scope, translate external -I to -isystem or equivalent
Diffstat (limited to 'libbuild2/cc/common.ixx')
-rw-r--r-- | libbuild2/cc/common.ixx | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/libbuild2/cc/common.ixx b/libbuild2/cc/common.ixx new file mode 100644 index 0000000..ce28890 --- /dev/null +++ b/libbuild2/cc/common.ixx @@ -0,0 +1,34 @@ +// file : libbuild2/cc/common.ixx -*- C++ -*- +// license : MIT; see accompanying LICENSE file + +namespace build2 +{ + namespace cc + { + inline const scope* data:: + effective_internal_scope (const scope& bs) const + { + if (internal_scope == nullptr) + return nullptr; + else + { + const string& s (*internal_scope); + + if (s == "current") + return internal_scope_current; + else if (s == "base") + return &bs; + else if (s == "root") + return bs.root_scope (); + else if (s == "bundle") + return bs.bundle_scope (); + else if (s == "strong") + return bs.strong_scope (); + else if (s == "weak") + return bs.weak_scope (); + else + return nullptr; + } + } + } +} |