From ad4120afce8c7bc4001fc0173a0ff7611ec0198d Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Sat, 12 Dec 2015 13:46:07 +0200 Subject: Implement installation of prerequisite shared libraries --- build/cxx/link | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'build/cxx/link') diff --git a/build/cxx/link b/build/cxx/link index 5d3d29e..5a5aafa 100644 --- a/build/cxx/link +++ b/build/cxx/link @@ -12,6 +12,8 @@ #include #include +#include + namespace build { namespace cxx @@ -30,6 +32,26 @@ namespace build static link instance; + public: + enum class type {e, a, so}; + enum class order {a, so, a_so, so_a}; + + static type + link_type (target& t) + { + return t.is_a () + ? type::e + : (t.is_a () ? type::a : type::so); + } + + static order + link_order (target&); + + // Determine the library member (liba or libso) to link. + // + static target& + link_member (bin::lib&, order); + private: friend class compile; -- cgit v1.1