From 4bdf53837e010073de802070d4e6087410662d3e Mon Sep 17 00:00:00 2001 From: Karen Arutyunov Date: Sat, 24 Aug 2019 17:41:30 +0300 Subject: Move cc build system module to separate library --- build2/cc/utility.ixx | 73 --------------------------------------------------- 1 file changed, 73 deletions(-) delete mode 100644 build2/cc/utility.ixx (limited to 'build2/cc/utility.ixx') diff --git a/build2/cc/utility.ixx b/build2/cc/utility.ixx deleted file mode 100644 index 609f8de..0000000 --- a/build2/cc/utility.ixx +++ /dev/null @@ -1,73 +0,0 @@ -// file : build2/cc/utility.ixx -*- C++ -*- -// copyright : Copyright (c) 2014-2019 Code Synthesis Ltd -// license : MIT; see accompanying LICENSE file - -namespace build2 -{ - namespace cc - { - inline otype - compile_type (const target& t, unit_type u) - { - using namespace bin; - - auto test = [&t, u] (const auto& h, const auto& i, const auto& o) - { - return t.is_a (u == unit_type::module_header ? h : - u == unit_type::module_iface ? i : - o); - }; - - return - test (hbmie::static_type, bmie::static_type, obje::static_type) ? otype::e : - test (hbmia::static_type, bmia::static_type, obja::static_type) ? otype::a : - otype::s; - } - - inline ltype - link_type (const target& t) - { - using namespace bin; - - bool u (false); - otype o ( - t.is_a () || (u = t.is_a ()) ? otype::e : - t.is_a () || (u = t.is_a ()) ? otype::a : - t.is_a () || (u = t.is_a ()) ? otype::s : - static_cast (0xFF)); - - return ltype {o, u}; - } - - inline compile_target_types - compile_types (otype t) - { - using namespace bin; - - const target_type* o (nullptr); - const target_type* i (nullptr); - const target_type* h (nullptr); - - switch (t) - { - case otype::e: - o = &obje::static_type; - i = &bmie::static_type; - h = &hbmie::static_type; - break; - case otype::a: - o = &obja::static_type; - i = &bmia::static_type; - h = &hbmia::static_type; - break; - case otype::s: - o = &objs::static_type; - i = &bmis::static_type; - h = &hbmis::static_type; - break; - } - - return compile_target_types {*o, *i, *h}; - } - } -} -- cgit v1.1