aboutsummaryrefslogtreecommitdiff
path: root/build2/cc/utility.ixx
blob: b15791ad0a3c3f307cef282cc29c43d41b70f572 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
// file      : build2/cc/utility.ixx -*- C++ -*-
// copyright : Copyright (c) 2014-2017 Code Synthesis Ltd
// license   : MIT; see accompanying LICENSE file

namespace build2
{
  namespace cc
  {
    inline otype
    compile_type (const target& t, bool mod)
    {
      using namespace bin;

      return
        t.is_a (mod ? bmie::static_type : obje::static_type) ? otype::e :
        t.is_a (mod ? bmia::static_type : obja::static_type) ? otype::a :
        otype::s;
    }

    inline otype
    link_type (const target& t)
    {
      using namespace bin;

      return
        t.is_a<exe> ()  ? otype::e :
        t.is_a<liba> () ? otype::a :
        otype::s;
    }
  }
}