aboutsummaryrefslogtreecommitdiff
path: root/build2/cc/common.hxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2018-09-05 11:35:00 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2018-09-05 11:41:05 +0200
commitda863cd132e6d6024707027459b371c2bff9ca71 (patch)
tree7500f30cb662fbe01ad8e4dde858e45ca141b948 /build2/cc/common.hxx
parent9c0dc1f4957420688cf2c1afe79fa2f53f2a6abf (diff)
Adjust pkg-config logic to cover binless libraries
Diffstat (limited to 'build2/cc/common.hxx')
-rw-r--r--build2/cc/common.hxx37
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;
};
}
}