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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
|
// file : libbuild2/cc/target.cxx -*- C++ -*-
// copyright : Copyright (c) 2014-2019 Code Synthesis Ltd
// license : MIT; see accompanying LICENSE file
#include <libbuild2/cc/target.hxx>
#include <libbuild2/context.hxx>
using namespace std;
namespace build2
{
namespace cc
{
const target_type cc::static_type
{
"cc",
&file::static_type,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
&target_search,
false
};
extern const char h_ext_def[] = "h";
const target_type h::static_type
{
"h",
&cc::static_type,
&target_factory<h>,
nullptr, /* fixed_extension */
&target_extension_var<h_ext_def>,
&target_pattern_var<h_ext_def>,
nullptr,
&file_search,
false
};
extern const char c_ext_def[] = "c";
const target_type c::static_type
{
"c",
&cc::static_type,
&target_factory<c>,
nullptr, /* fixed_extension */
&target_extension_var<c_ext_def>,
&target_pattern_var<c_ext_def>,
nullptr,
&file_search,
false
};
const target_type pc::static_type
{
"pc",
&file::static_type,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
&target_search,
false
};
extern const char pca_ext[] = "static.pc"; // VC14 rejects constexpr.
const target_type pca::static_type
{
"pca",
&pc::static_type,
&target_factory<pca>,
&target_extension_fix<pca_ext>,
nullptr, /* default_extension */
&target_pattern_fix<pca_ext>,
&target_print_0_ext_verb, // Fixed extension, no use printing.
&file_search,
false
};
extern const char pcs_ext[] = "shared.pc"; // VC14 rejects constexpr.
const target_type pcs::static_type
{
"pcs",
&pc::static_type,
&target_factory<pcs>,
&target_extension_fix<pcs_ext>,
nullptr, /* default_extension */
&target_pattern_fix<pcs_ext>,
&target_print_0_ext_verb, // Fixed extension, no use printing.
&file_search,
false
};
}
}
|