diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2021-05-13 15:38:53 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2021-05-13 15:38:53 +0200 |
commit | 23827edd998db30dd1f0d6a14f09399aa7d07b69 (patch) | |
tree | ad5d7669b167efde8e01894c72d091196f58bcdf /libbuild2/cc/compile-rule.cxx | |
parent | d92ea3a7cff0dae578005a914df799e1e11efc8e (diff) |
Add ${c,cxx}.find_system_{header,library}() functions
Diffstat (limited to 'libbuild2/cc/compile-rule.cxx')
-rw-r--r-- | libbuild2/cc/compile-rule.cxx | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/libbuild2/cc/compile-rule.cxx b/libbuild2/cc/compile-rule.cxx index f8529fb..90a6024 100644 --- a/libbuild2/cc/compile-rule.cxx +++ b/libbuild2/cc/compile-rule.cxx @@ -175,6 +175,21 @@ namespace build2 throw invalid_argument ("invalid preprocessed value '" + s + "'"); } + optional<path> compile_rule:: + find_system_header (const path& f) const + { + path p; // Reuse the buffer. + for (const dir_path& d: sys_inc_dirs) + { + if (file_exists ((p = d, p /= f), + true /* follow_symlinks */, + true /* ignore_errors */)) + return p; + } + + return nullopt; + } + struct compile_rule::match_data { explicit |