aboutsummaryrefslogtreecommitdiff
path: root/libbuild2/target.hxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2019-09-04 13:32:07 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2019-09-04 15:36:56 +0200
commit1dc3b7357db363c51e449adf0a3779924fb13e01 (patch)
tree88d53506c672aa5a1d3c5417a02038a6b52c33dc /libbuild2/target.hxx
parentddb7dbbb37475d77e53e813472f9e28d05195714 (diff)
Add support for native shared library versioning on Linux
Now we can do: lib{foo}: bin.lib.version = linux@1.2 And end up with libfoo.so.1.2 libfoo.so.1 -> libfoo.so.1.2
Diffstat (limited to 'libbuild2/target.hxx')
-rw-r--r--libbuild2/target.hxx10
1 files changed, 7 insertions, 3 deletions
diff --git a/libbuild2/target.hxx b/libbuild2/target.hxx
index d543da8..5870be4 100644
--- a/libbuild2/target.hxx
+++ b/libbuild2/target.hxx
@@ -1548,7 +1548,8 @@ namespace build2
//
// If name_prefix is not NULL, add it before the name part and after the
// directory. Similarly, if name_suffix is not NULL, add it after the name
- // part and before the extension.
+ // part and before the extension. And if extra_ext is not NULL, then add
+ // it as an extra extension (think libfoo.so.1.2.3).
//
// Finally, if the path was already assigned to this target, then this
// function verifies that the two are the same.
@@ -1556,13 +1557,16 @@ namespace build2
const path_type&
derive_path (const char* default_ext = nullptr,
const char* name_prefix = nullptr,
- const char* name_suffix = nullptr);
+ const char* name_suffix = nullptr,
+ const char* extra_ext = nullptr);
// This version can be used to derive the path from another target's path
// by adding another extension.
//
const path_type&
- derive_path (path_type base, const char* default_ext = nullptr);
+ derive_path (path_type base,
+ const char* default_ext = nullptr,
+ const char* extra_ext = nullptr);
// As above but only derives (and returns) the extension (empty means no
// extension used).