diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2016-08-26 16:37:16 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2016-08-26 16:37:16 +0200 |
commit | f0edc0e2b67fa43c4e2410c7d3d8f1841d576749 (patch) | |
tree | 25ca1dd8c20649a1a9a35355670a1f5c8b99695c /build2/cc/link | |
parent | e347540d400c552917ca7067c4571f1028f6e1af (diff) |
Add pkg-config support for import installed
Redesign library importing/exporting while at it.
Diffstat (limited to 'build2/cc/link')
-rw-r--r-- | build2/cc/link | 28 |
1 files changed, 25 insertions, 3 deletions
diff --git a/build2/cc/link b/build2/cc/link index aaf1cd7..474c299 100644 --- a/build2/cc/link +++ b/build2/cc/link @@ -40,6 +40,15 @@ namespace build2 friend class compile; void + process_libraries (file&, + bool, + bool, + const function<void (const path&)>&, + const function<void (file&, + const string&, + bool, + bool)>&) const; + void append_libraries (strings&, file&, bool) const; void @@ -62,6 +71,15 @@ namespace build2 dir_paths extract_library_paths (scope&) const; + bool + pkgconfig_extract (scope&, + file&, + const string*, + const string&, + const dir_path&, + optional<dir_paths>&, + lorder) const; + // Alternative search logic for VC (msvc.cxx). // bin::liba* @@ -75,10 +93,12 @@ namespace build2 const prerequisite_key&) const; target* - search_library (optional<dir_paths>& spc, prerequisite& p) const + search_library (optional<dir_paths>& spc, + prerequisite& p, + lorder lo) const { if (p.target == nullptr) // First check the cache. - p.target = search_library (spc, p.key ()); + p.target = search_library (spc, p.key (), lo); return p.target; } @@ -86,7 +106,9 @@ namespace build2 // Note that pk's scope should not be NULL (even if dir is absolute). // target* - search_library (optional<dir_paths>&, const prerequisite_key&) const; + search_library (optional<dir_paths>&, + const prerequisite_key&, + lorder) const; // Windows-specific (windows-manifest.cxx). // |