diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2018-09-05 11:35:00 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2018-09-05 11:41:05 +0200 |
commit | da863cd132e6d6024707027459b371c2bff9ca71 (patch) | |
tree | 7500f30cb662fbe01ad8e4dde858e45ca141b948 /build2/cc/common.hxx | |
parent | 9c0dc1f4957420688cf2c1afe79fa2f53f2a6abf (diff) |
Adjust pkg-config logic to cover binless libraries
Diffstat (limited to 'build2/cc/common.hxx')
-rw-r--r-- | build2/cc/common.hxx | 37 |
1 files changed, 28 insertions, 9 deletions
diff --git a/build2/cc/common.hxx b/build2/cc/common.hxx index 952e383..2a1a2dd 100644 --- a/build2/cc/common.hxx +++ b/build2/cc/common.hxx @@ -287,15 +287,6 @@ namespace build2 dir_paths extract_library_dirs (const scope&) const; - bool - pkgconfig_load (action, const scope&, - bin::lib&, bin::liba*, bin::libs*, - const optional<project_name>&, - const string&, - const dir_path&, - const dir_paths&, - const dir_paths&) const; // pkgconfig.cxx - // Alternative search logic for VC (msvc.cxx). // bin::liba* @@ -310,6 +301,34 @@ namespace build2 const prerequisite_key&, bool existing) const; + // The pkg-config file searching and loading (pkgconfig.cxx) + // + using pkgconfig_callback = function<bool (dir_path&& d)>; + + bool + pkgconfig_search (const dir_path&, const pkgconfig_callback&) const; + + pair<path, path> + pkgconfig_search (const dir_path&, + const optional<project_name>&, + const string&) const; + + void + pkgconfig_load (action, const scope&, + bin::lib&, bin::liba*, bin::libs*, + const pair<path, path>&, + const dir_path&, + const dir_paths&, + const dir_paths&) const; + + bool + pkgconfig_load (action, const scope&, + bin::lib&, bin::liba*, bin::libs*, + const optional<project_name>&, + const string&, + const dir_path&, + const dir_paths&, + const dir_paths&) const; }; } } |