]>
Commit | Line | Data |
---|---|---|
f67539c2 | 1 | # Copyright 2018-2020 Peter Dimov |
92f5a8d4 TL |
2 | # Distributed under the Boost Software License, Version 1.0. |
3 | # (See accompanying file LICENSE_1_0.txt or copy at http://boost.org/LICENSE_1_0.txt) | |
4 | ||
5 | import modules ; | |
6 | import boostcpp ; | |
7 | import package ; | |
f67539c2 | 8 | import path ; |
92f5a8d4 TL |
9 | |
10 | # includedir | |
11 | ||
12 | rule includedir | |
13 | { | |
14 | if ! $(.includedir) | |
15 | { | |
16 | local paths = [ package.paths Boost ] ; | |
17 | .includedir = [ $(paths).includedir ] ; | |
18 | } | |
19 | ||
20 | return $(.includedir) ; | |
21 | } | |
22 | ||
23 | # bindir | |
24 | ||
25 | rule bindir | |
26 | { | |
27 | if ! $(.bindir) | |
28 | { | |
29 | local paths = [ package.paths Boost ] ; | |
30 | .bindir = [ $(paths).bindir ] ; | |
31 | } | |
32 | ||
33 | return $(.bindir) ; | |
34 | } | |
35 | ||
36 | # libdir | |
37 | ||
38 | rule libdir | |
39 | { | |
40 | if ! $(.libdir) | |
41 | { | |
42 | local paths = [ package.paths Boost ] ; | |
43 | .libdir = [ $(paths).libdir ] ; | |
44 | } | |
45 | ||
46 | return $(.libdir) ; | |
47 | } | |
48 | ||
49 | # cmakedir | |
50 | ||
51 | rule cmakedir | |
52 | { | |
53 | if ! $(.cmakedir) | |
54 | { | |
55 | package.add-path-option cmakedir : cmake : libdir ; | |
56 | ||
57 | local paths = [ package.paths Boost ] ; | |
58 | .cmakedir = [ $(paths).get cmakedir ] ; | |
59 | } | |
60 | ||
61 | return $(.cmakedir) ; | |
62 | } | |
63 | ||
64 | # header-subdir | |
65 | ||
66 | rule header-subdir | |
67 | { | |
68 | local r ; | |
69 | ||
70 | local layout = [ modules.peek boostcpp : layout ] ; | |
71 | ||
72 | if $(layout) = versioned | |
73 | { | |
74 | local BOOST_VERSION_TAG = [ modules.peek boostcpp : BOOST_VERSION_TAG ] ; | |
75 | r = "boost-$(BOOST_VERSION_TAG)" ; | |
76 | } | |
77 | ||
78 | return $(r) ; | |
79 | } | |
f67539c2 TL |
80 | |
81 | # stagedir | |
82 | ||
83 | rule stagedir | |
84 | { | |
85 | return [ path.make [ modules.peek boostcpp : BOOST_STAGE_LOCATE ] ] ; | |
86 | } | |
87 | ||
88 | # stage-libdir | |
89 | ||
90 | rule stage-libdir | |
91 | { | |
92 | local ld = [ MATCH --stage-libdir=(.*) : [ modules.peek : ARGV ] ] ; | |
93 | ||
94 | if $(ld) | |
95 | { | |
96 | ld = [ path.root [ path.make $(ld) ] [ path.pwd ] ] ; | |
97 | return $(ld) ; | |
98 | } | |
99 | else | |
100 | { | |
101 | local stagedir = [ stagedir ] ; | |
102 | return $(stagedir)/lib ; | |
103 | } | |
104 | } |