blob: d62af49228ad27af6c15be179eb8050691ff35f3 (
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
32
33
34
|
// file : libbuild2/prerequisite.ixx -*- C++ -*-
// copyright : Copyright (c) 2014-2019 Code Synthesis Ltd
// license : MIT; see accompanying LICENSE file
#include <libbuild2/export.hxx>
namespace build2
{
LIBBUILD2_SYMEXPORT include_type
include_impl (action,
const target&,
const string&,
const prerequisite&,
const target*);
LIBBUILD2_SYMEXPORT extern const variable* var_include; // context.cxx
inline include_type
include (action a, const target& t, const prerequisite& p, const target* m)
{
// Most of the time this variable will not be specified, so let's optimize
// for that.
//
if (p.vars.empty ())
return true;
const string* v (cast_null<string> (p.vars[var_include]));
if (v == nullptr)
return true;
return include_impl (a, t, *v, p, m);
}
}
|