From f189e03a083df9538ef914943b2cf552ee663bbb Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Tue, 29 Oct 2019 09:35:46 +0200 Subject: Add support for specifying custom load prefix and version clean patterns --- libbuild2/bin/init.cxx | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) (limited to 'libbuild2/bin') diff --git a/libbuild2/bin/init.cxx b/libbuild2/bin/init.cxx index db9db0e..68b5fb4 100644 --- a/libbuild2/bin/init.cxx +++ b/libbuild2/bin/init.cxx @@ -59,6 +59,9 @@ namespace build2 // auto& vp (rs.ctx.var_pool.rw (rs)); + const auto vis_tgt (variable_visibility::target); + const auto vis_prj (variable_visibility::project); + vp.insert ("config.bin.target", true); vp.insert ("config.bin.pattern", true); @@ -117,18 +120,24 @@ namespace build2 // // If unspecified, defaults to false for liba{} and to true for libu*{}. // - vp.insert ("bin.whole", false, variable_visibility::target); + vp.insert ("bin.whole", false, vis_tgt); vp.insert ("bin.exe.prefix"); vp.insert ("bin.exe.suffix"); vp.insert ("bin.lib.prefix"); vp.insert ("bin.lib.suffix"); - vp.insert ("bin.lib.load_suffix", - variable_visibility::project); + // The optional custom clean patterns should be just the pattern stem, + // without the library prefix/name or extension. For example, `-[A-Z]` + // instead of `libfoo-[A-Z].so`. Note that the custom version pattern is + // only used for platform-independent versions (for platforms-specific + // versions we can always derive the pattern automatically). + // + vp.insert ("bin.lib.load_suffix", vis_prj); + vp.insert ("bin.lib.load_suffix_pattern", vis_prj); - vp.insert> ("bin.lib.version", - variable_visibility::project); + vp.insert> ("bin.lib.version", vis_prj); + vp.insert ("bin.lib.version_pattern", vis_prj); return true; } -- cgit v1.1