... | ... |
@@ -18,7 +18,8 @@ Setting Name | Description |
18 | 18 |
`repositories` | Repositories to clone, specify the URLs |
19 | 19 |
`embedded_repositories` | Repositories to embed, specify the URLs |
20 | 20 |
`tarballs` | Tarballs to install (currently filesystem only) |
21 |
- |
|
21 |
+`version` | mulle-bootstrap version that was used for init |
|
22 |
+`dispense_style` | either "configuration-sdk", "configuration" or "none" |
|
22 | 23 |
|
23 | 24 |
> None of these settings are required, they are used to control the |
24 | 25 |
> **mulle_bootstrap** build processs |
... | ... |
@@ -47,6 +48,7 @@ Setting Name | Description | |
47 | 48 |
| relative to dependencies | `/usr/local` |
48 | 49 |
`dispense_other_product` | if the build should dispense other files | NO |
49 | 50 |
`sdks` | SDKs to build | config setting |
51 |
+`dispense_style` | either "configuration-sdk", "configuration" or "none" | "none" |
|
50 | 52 |
`xcode_proper_skip_install` | assume SKIP_INSTALL is set correctly in | |
51 | 53 |
| Xcode project | NO |
52 | 54 |
`xcode_public_headers` | Substitute for PUBLIC_HEADERS_FOLDER_PATH | |
1 | 9 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,48 @@ |
1 |
+<?xml version="1.0" encoding="UTF-8" standalone="no"?> |
|
2 |
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" |
|
3 |
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> |
|
4 |
+<!-- Generated by graphviz version 2.34.0 (20131231.1455) |
|
5 |
+ --> |
|
6 |
+<!-- Title: inherit Pages: 1 --> |
|
7 |
+<svg width="241pt" height="116pt" |
|
8 |
+ viewBox="0.00 0.00 241.00 116.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> |
|
9 |
+<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 112)"> |
|
10 |
+<title>inherit</title> |
|
11 |
+<polygon fill="white" stroke="white" points="-4,4 -4,-112 237,-112 237,4 -4,4"/> |
|
12 |
+<!-- dependencies --> |
|
13 |
+<g id="node1" class="node"><title>dependencies</title> |
|
14 |
+<polygon fill="none" stroke="black" points="146.555,-108 143.555,-112 122.555,-112 119.555,-108 55.4452,-108 55.4452,-72 146.555,-72 146.555,-108"/> |
|
15 |
+<text text-anchor="middle" x="101" y="-84.4" font-family="Times,serif" font-size="14.00">dependencies</text> |
|
16 |
+</g> |
|
17 |
+<!-- lib --> |
|
18 |
+<g id="node2" class="node"><title>lib</title> |
|
19 |
+<polygon fill="none" stroke="black" points="54,-36 51,-40 30,-40 27,-36 0,-36 0,-0 54,-0 54,-36"/> |
|
20 |
+<text text-anchor="middle" x="27" y="-12.4" font-family="Times,serif" font-size="14.00">lib</text> |
|
21 |
+</g> |
|
22 |
+<!-- dependencies->lib --> |
|
23 |
+<g id="edge1" class="edge"><title>dependencies->lib</title> |
|
24 |
+<path fill="none" stroke="black" d="M82.7079,-71.6966C73.5674,-63.0503 62.3599,-52.4486 52.4,-43.027"/> |
|
25 |
+<polygon fill="black" stroke="black" points="54.7516,-40.4337 45.0817,-36.1043 49.9412,-45.519 54.7516,-40.4337"/> |
|
26 |
+</g> |
|
27 |
+<!-- include --> |
|
28 |
+<g id="node3" class="node"><title>include</title> |
|
29 |
+<polygon fill="none" stroke="black" points="129.405,-36 126.405,-40 105.405,-40 102.405,-36 72.5954,-36 72.5954,-0 129.405,-0 129.405,-36"/> |
|
30 |
+<text text-anchor="middle" x="101" y="-12.4" font-family="Times,serif" font-size="14.00">include</text> |
|
31 |
+</g> |
|
32 |
+<!-- dependencies->include --> |
|
33 |
+<g id="edge2" class="edge"><title>dependencies->include</title> |
|
34 |
+<path fill="none" stroke="black" d="M101,-71.6966C101,-63.9827 101,-54.7125 101,-46.1124"/> |
|
35 |
+<polygon fill="black" stroke="black" points="104.5,-46.1043 101,-36.1043 97.5001,-46.1044 104.5,-46.1043"/> |
|
36 |
+</g> |
|
37 |
+<!-- Frameworks --> |
|
38 |
+<g id="node4" class="node"><title>Frameworks</title> |
|
39 |
+<polygon fill="none" stroke="black" points="233.49,-36 230.49,-40 209.49,-40 206.49,-36 148.51,-36 148.51,-0 233.49,-0 233.49,-36"/> |
|
40 |
+<text text-anchor="middle" x="191" y="-12.4" font-family="Times,serif" font-size="14.00">Frameworks</text> |
|
41 |
+</g> |
|
42 |
+<!-- dependencies->Frameworks --> |
|
43 |
+<g id="edge3" class="edge"><title>dependencies->Frameworks</title> |
|
44 |
+<path fill="none" stroke="black" d="M123.247,-71.6966C134.582,-62.8807 148.53,-52.0321 160.819,-42.4742"/> |
|
45 |
+<polygon fill="black" stroke="black" points="163.264,-45.0065 169.009,-36.1043 158.966,-39.481 163.264,-45.0065"/> |
|
46 |
+</g> |
|
47 |
+</g> |
|
48 |
+</svg> |
0 | 49 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,15 @@ |
1 |
+digraph inherit { |
|
2 |
+ node [shape="folder"] |
|
3 |
+ |
|
4 |
+ dependencies -> lib |
|
5 |
+ dependencies -> include |
|
6 |
+ dependencies -> Frameworks |
|
7 |
+ |
|
8 |
+ dependencies -> Debug -> lib2 |
|
9 |
+ Debug -> include2 |
|
10 |
+ Debug -> Frameworks2 |
|
11 |
+ |
|
12 |
+ lib2 [ label="lib"] |
|
13 |
+ include2 [ label="include"] |
|
14 |
+ Frameworks2 [ label="Frameworks"] |
|
15 |
+} |
|
0 | 16 |
\ No newline at end of file |
1 | 17 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,88 @@ |
1 |
+<?xml version="1.0" encoding="UTF-8" standalone="no"?> |
|
2 |
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" |
|
3 |
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> |
|
4 |
+<!-- Generated by graphviz version 2.34.0 (20131231.1455) |
|
5 |
+ --> |
|
6 |
+<!-- Title: inherit Pages: 1 --> |
|
7 |
+<svg width="419pt" height="188pt" |
|
8 |
+ viewBox="0.00 0.00 419.00 188.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> |
|
9 |
+<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 184)"> |
|
10 |
+<title>inherit</title> |
|
11 |
+<polygon fill="white" stroke="white" points="-4,4 -4,-184 415,-184 415,4 -4,4"/> |
|
12 |
+<!-- dependencies --> |
|
13 |
+<g id="node1" class="node"><title>dependencies</title> |
|
14 |
+<polygon fill="none" stroke="black" points="191.555,-180 188.555,-184 167.555,-184 164.555,-180 100.445,-180 100.445,-144 191.555,-144 191.555,-180"/> |
|
15 |
+<text text-anchor="middle" x="146" y="-156.4" font-family="Times,serif" font-size="14.00">dependencies</text> |
|
16 |
+</g> |
|
17 |
+<!-- lib --> |
|
18 |
+<g id="node2" class="node"><title>lib</title> |
|
19 |
+<polygon fill="none" stroke="black" points="54,-108 51,-112 30,-112 27,-108 0,-108 0,-72 54,-72 54,-108"/> |
|
20 |
+<text text-anchor="middle" x="27" y="-84.4" font-family="Times,serif" font-size="14.00">lib</text> |
|
21 |
+</g> |
|
22 |
+<!-- dependencies->lib --> |
|
23 |
+<g id="edge1" class="edge"><title>dependencies->lib</title> |
|
24 |
+<path fill="none" stroke="black" d="M116.889,-143.876C100.6,-134.294 80.157,-122.269 62.8837,-112.108"/> |
|
25 |
+<polygon fill="black" stroke="black" points="64.5726,-109.041 54.1786,-106.987 61.0234,-115.074 64.5726,-109.041"/> |
|
26 |
+</g> |
|
27 |
+<!-- include --> |
|
28 |
+<g id="node3" class="node"><title>include</title> |
|
29 |
+<polygon fill="none" stroke="black" points="129.405,-108 126.405,-112 105.405,-112 102.405,-108 72.5954,-108 72.5954,-72 129.405,-72 129.405,-108"/> |
|
30 |
+<text text-anchor="middle" x="101" y="-84.4" font-family="Times,serif" font-size="14.00">include</text> |
|
31 |
+</g> |
|
32 |
+<!-- dependencies->include --> |
|
33 |
+<g id="edge2" class="edge"><title>dependencies->include</title> |
|
34 |
+<path fill="none" stroke="black" d="M134.876,-143.697C129.645,-135.559 123.3,-125.689 117.522,-116.701"/> |
|
35 |
+<polygon fill="black" stroke="black" points="120.347,-114.623 111.996,-108.104 114.459,-118.409 120.347,-114.623"/> |
|
36 |
+</g> |
|
37 |
+<!-- Frameworks --> |
|
38 |
+<g id="node4" class="node"><title>Frameworks</title> |
|
39 |
+<polygon fill="none" stroke="black" points="233.49,-108 230.49,-112 209.49,-112 206.49,-108 148.51,-108 148.51,-72 233.49,-72 233.49,-108"/> |
|
40 |
+<text text-anchor="middle" x="191" y="-84.4" font-family="Times,serif" font-size="14.00">Frameworks</text> |
|
41 |
+</g> |
|
42 |
+<!-- dependencies->Frameworks --> |
|
43 |
+<g id="edge3" class="edge"><title>dependencies->Frameworks</title> |
|
44 |
+<path fill="none" stroke="black" d="M157.124,-143.697C162.355,-135.559 168.7,-125.689 174.478,-116.701"/> |
|
45 |
+<polygon fill="black" stroke="black" points="177.541,-118.409 180.004,-108.104 171.653,-114.623 177.541,-118.409"/> |
|
46 |
+</g> |
|
47 |
+<!-- Debug --> |
|
48 |
+<g id="node5" class="node"><title>Debug</title> |
|
49 |
+<polygon fill="none" stroke="black" points="306,-108 303,-112 282,-112 279,-108 252,-108 252,-72 306,-72 306,-108"/> |
|
50 |
+<text text-anchor="middle" x="279" y="-84.4" font-family="Times,serif" font-size="14.00">Debug</text> |
|
51 |
+</g> |
|
52 |
+<!-- dependencies->Debug --> |
|
53 |
+<g id="edge4" class="edge"><title>dependencies->Debug</title> |
|
54 |
+<path fill="none" stroke="black" d="M178.535,-143.876C198.009,-133.627 222.794,-120.582 242.873,-110.014"/> |
|
55 |
+<polygon fill="black" stroke="black" points="244.513,-113.106 251.732,-105.352 241.253,-106.912 244.513,-113.106"/> |
|
56 |
+</g> |
|
57 |
+<!-- lib2 --> |
|
58 |
+<g id="node6" class="node"><title>lib2</title> |
|
59 |
+<polygon fill="none" stroke="black" points="232,-36 229,-40 208,-40 205,-36 178,-36 178,-0 232,-0 232,-36"/> |
|
60 |
+<text text-anchor="middle" x="205" y="-12.4" font-family="Times,serif" font-size="14.00">lib</text> |
|
61 |
+</g> |
|
62 |
+<!-- Debug->lib2 --> |
|
63 |
+<g id="edge5" class="edge"><title>Debug->lib2</title> |
|
64 |
+<path fill="none" stroke="black" d="M260.708,-71.6966C251.567,-63.0503 240.36,-52.4486 230.4,-43.027"/> |
|
65 |
+<polygon fill="black" stroke="black" points="232.752,-40.4337 223.082,-36.1043 227.941,-45.519 232.752,-40.4337"/> |
|
66 |
+</g> |
|
67 |
+<!-- include2 --> |
|
68 |
+<g id="node7" class="node"><title>include2</title> |
|
69 |
+<polygon fill="none" stroke="black" points="307.405,-36 304.405,-40 283.405,-40 280.405,-36 250.595,-36 250.595,-0 307.405,-0 307.405,-36"/> |
|
70 |
+<text text-anchor="middle" x="279" y="-12.4" font-family="Times,serif" font-size="14.00">include</text> |
|
71 |
+</g> |
|
72 |
+<!-- Debug->include2 --> |
|
73 |
+<g id="edge6" class="edge"><title>Debug->include2</title> |
|
74 |
+<path fill="none" stroke="black" d="M279,-71.6966C279,-63.9827 279,-54.7125 279,-46.1124"/> |
|
75 |
+<polygon fill="black" stroke="black" points="282.5,-46.1043 279,-36.1043 275.5,-46.1044 282.5,-46.1043"/> |
|
76 |
+</g> |
|
77 |
+<!-- Frameworks2 --> |
|
78 |
+<g id="node8" class="node"><title>Frameworks2</title> |
|
79 |
+<polygon fill="none" stroke="black" points="411.49,-36 408.49,-40 387.49,-40 384.49,-36 326.51,-36 326.51,-0 411.49,-0 411.49,-36"/> |
|
80 |
+<text text-anchor="middle" x="369" y="-12.4" font-family="Times,serif" font-size="14.00">Frameworks</text> |
|
81 |
+</g> |
|
82 |
+<!-- Debug->Frameworks2 --> |
|
83 |
+<g id="edge7" class="edge"><title>Debug->Frameworks2</title> |
|
84 |
+<path fill="none" stroke="black" d="M301.247,-71.6966C312.582,-62.8807 326.53,-52.0321 338.819,-42.4742"/> |
|
85 |
+<polygon fill="black" stroke="black" points="341.264,-45.0065 347.009,-36.1043 336.966,-39.481 341.264,-45.0065"/> |
|
86 |
+</g> |
|
87 |
+</g> |
|
88 |
+</svg> |
0 | 89 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,32 @@ |
1 |
+digraph inherit { |
|
2 |
+ node [shape="folder"] |
|
3 |
+ |
|
4 |
+ dependencies -> lib |
|
5 |
+ dependencies -> include |
|
6 |
+ dependencies -> Frameworks |
|
7 |
+ |
|
8 |
+ dependencies -> "Debug" -> lib2 |
|
9 |
+ "Debug" -> include2 |
|
10 |
+ "Debug" -> Frameworks2 |
|
11 |
+ |
|
12 |
+ dependencies -> "Release-iphonesimulator" -> lib3 |
|
13 |
+ "Release-iphonesimulator" -> include3 |
|
14 |
+ "Release-iphonesimulator" -> Frameworks3 |
|
15 |
+ |
|
16 |
+ dependencies -> "Debug-iphonesimulator" -> lib4 |
|
17 |
+ "Debug-iphonesimulator" -> include4 |
|
18 |
+ "Debug-iphonesimulator" -> Frameworks4 |
|
19 |
+ |
|
20 |
+ |
|
21 |
+ lib2 [ label="lib"] |
|
22 |
+ include2 [ label="include"] |
|
23 |
+ Frameworks2 [ label="Frameworks"] |
|
24 |
+ |
|
25 |
+ lib3 [ label="lib"] |
|
26 |
+ include3 [ label="include"] |
|
27 |
+ Frameworks3 [ label="Frameworks"] |
|
28 |
+ |
|
29 |
+ lib4 [ label="lib"] |
|
30 |
+ include4 [ label="include"] |
|
31 |
+ Frameworks4 [ label="Frameworks"] |
|
32 |
+} |
|
0 | 33 |
\ No newline at end of file |
1 | 34 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,168 @@ |
1 |
+<?xml version="1.0" encoding="UTF-8" standalone="no"?> |
|
2 |
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" |
|
3 |
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> |
|
4 |
+<!-- Generated by graphviz version 2.34.0 (20131231.1455) |
|
5 |
+ --> |
|
6 |
+<!-- Title: inherit Pages: 1 --> |
|
7 |
+<svg width="833pt" height="188pt" |
|
8 |
+ viewBox="0.00 0.00 833.00 188.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> |
|
9 |
+<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 184)"> |
|
10 |
+<title>inherit</title> |
|
11 |
+<polygon fill="white" stroke="white" points="-4,4 -4,-184 829,-184 829,4 -4,4"/> |
|
12 |
+<!-- dependencies --> |
|
13 |
+<g id="node1" class="node"><title>dependencies</title> |
|
14 |
+<polygon fill="none" stroke="black" points="280.555,-180 277.555,-184 256.555,-184 253.555,-180 189.445,-180 189.445,-144 280.555,-144 280.555,-180"/> |
|
15 |
+<text text-anchor="middle" x="235" y="-156.4" font-family="Times,serif" font-size="14.00">dependencies</text> |
|
16 |
+</g> |
|
17 |
+<!-- lib --> |
|
18 |
+<g id="node2" class="node"><title>lib</title> |
|
19 |
+<polygon fill="none" stroke="black" points="54,-108 51,-112 30,-112 27,-108 0,-108 0,-72 54,-72 54,-108"/> |
|
20 |
+<text text-anchor="middle" x="27" y="-84.4" font-family="Times,serif" font-size="14.00">lib</text> |
|
21 |
+</g> |
|
22 |
+<!-- dependencies->lib --> |
|
23 |
+<g id="edge1" class="edge"><title>dependencies->lib</title> |
|
24 |
+<path fill="none" stroke="black" d="M189.493,-148.889C156.658,-139.722 111.211,-126.157 63.8387,-108.079"/> |
|
25 |
+<polygon fill="black" stroke="black" points="64.931,-104.749 54.3418,-104.403 62.4042,-111.277 64.931,-104.749"/> |
|
26 |
+</g> |
|
27 |
+<!-- include --> |
|
28 |
+<g id="node3" class="node"><title>include</title> |
|
29 |
+<polygon fill="none" stroke="black" points="129.405,-108 126.405,-112 105.405,-112 102.405,-108 72.5954,-108 72.5954,-72 129.405,-72 129.405,-108"/> |
|
30 |
+<text text-anchor="middle" x="101" y="-84.4" font-family="Times,serif" font-size="14.00">include</text> |
|
31 |
+</g> |
|
32 |
+<!-- dependencies->include --> |
|
33 |
+<g id="edge2" class="edge"><title>dependencies->include</title> |
|
34 |
+<path fill="none" stroke="black" d="M202.22,-143.876C182.869,-133.767 158.312,-120.939 138.232,-110.45"/> |
|
35 |
+<polygon fill="black" stroke="black" points="139.841,-107.341 129.357,-105.813 136.599,-113.546 139.841,-107.341"/> |
|
36 |
+</g> |
|
37 |
+<!-- Frameworks --> |
|
38 |
+<g id="node4" class="node"><title>Frameworks</title> |
|
39 |
+<polygon fill="none" stroke="black" points="233.49,-108 230.49,-112 209.49,-112 206.49,-108 148.51,-108 148.51,-72 233.49,-72 233.49,-108"/> |
|
40 |
+<text text-anchor="middle" x="191" y="-84.4" font-family="Times,serif" font-size="14.00">Frameworks</text> |
|
41 |
+</g> |
|
42 |
+<!-- dependencies->Frameworks --> |
|
43 |
+<g id="edge3" class="edge"><title>dependencies->Frameworks</title> |
|
44 |
+<path fill="none" stroke="black" d="M224.124,-143.697C219.008,-135.559 212.805,-125.689 207.155,-116.701"/> |
|
45 |
+<polygon fill="black" stroke="black" points="210.036,-114.708 201.751,-108.104 204.11,-118.433 210.036,-114.708"/> |
|
46 |
+</g> |
|
47 |
+<!-- Debug --> |
|
48 |
+<g id="node5" class="node"><title>Debug</title> |
|
49 |
+<polygon fill="none" stroke="black" points="306,-108 303,-112 282,-112 279,-108 252,-108 252,-72 306,-72 306,-108"/> |
|
50 |
+<text text-anchor="middle" x="279" y="-84.4" font-family="Times,serif" font-size="14.00">Debug</text> |
|
51 |
+</g> |
|
52 |
+<!-- dependencies->Debug --> |
|
53 |
+<g id="edge4" class="edge"><title>dependencies->Debug</title> |
|
54 |
+<path fill="none" stroke="black" d="M245.876,-143.697C250.992,-135.559 257.195,-125.689 262.845,-116.701"/> |
|
55 |
+<polygon fill="black" stroke="black" points="265.89,-118.433 268.249,-108.104 259.964,-114.708 265.89,-118.433"/> |
|
56 |
+</g> |
|
57 |
+<!-- Release-iphonesimulator --> |
|
58 |
+<g id="node9" class="node"><title>Release-iphonesimulator</title> |
|
59 |
+<polygon fill="none" stroke="black" points="499.385,-108 496.385,-112 475.385,-112 472.385,-108 344.615,-108 344.615,-72 499.385,-72 499.385,-108"/> |
|
60 |
+<text text-anchor="middle" x="422" y="-84.4" font-family="Times,serif" font-size="14.00">Release-iphonesimulator</text> |
|
61 |
+</g> |
|
62 |
+<!-- dependencies->Release-iphonesimulator --> |
|
63 |
+<g id="edge8" class="edge"><title>dependencies->Release-iphonesimulator</title> |
|
64 |
+<path fill="none" stroke="black" d="M280.745,-143.876C306.764,-134.137 339.526,-121.872 366.947,-111.608"/> |
|
65 |
+<polygon fill="black" stroke="black" points="368.265,-114.852 376.403,-108.068 365.811,-108.296 368.265,-114.852"/> |
|
66 |
+</g> |
|
67 |
+<!-- Debug-iphonesimulator --> |
|
68 |
+<g id="node13" class="node"><title>Debug-iphonesimulator</title> |
|
69 |
+<polygon fill="none" stroke="black" points="730.23,-108 727.23,-112 706.23,-112 703.23,-108 581.77,-108 581.77,-72 730.23,-72 730.23,-108"/> |
|
70 |
+<text text-anchor="middle" x="656" y="-84.4" font-family="Times,serif" font-size="14.00">Debug-iphonesimulator</text> |
|
71 |
+</g> |
|
72 |
+<!-- dependencies->Debug-iphonesimulator --> |
|
73 |
+<g id="edge12" class="edge"><title>dependencies->Debug-iphonesimulator</title> |
|
74 |
+<path fill="none" stroke="black" d="M280.454,-153.442C349.96,-141.885 483.803,-119.631 571.493,-105.051"/> |
|
75 |
+<polygon fill="black" stroke="black" points="572.129,-108.493 581.42,-103.401 570.981,-101.588 572.129,-108.493"/> |
|
76 |
+</g> |
|
77 |
+<!-- lib2 --> |
|
78 |
+<g id="node6" class="node"><title>lib2</title> |
|
79 |
+<polygon fill="none" stroke="black" points="142,-36 139,-40 118,-40 115,-36 88,-36 88,-0 142,-0 142,-36"/> |
|
80 |
+<text text-anchor="middle" x="115" y="-12.4" font-family="Times,serif" font-size="14.00">lib</text> |
|
81 |
+</g> |
|
82 |
+<!-- Debug->lib2 --> |
|
83 |
+<g id="edge5" class="edge"><title>Debug->lib2</title> |
|
84 |
+<path fill="none" stroke="black" d="M251.997,-76.3894C248.643,-74.8831 245.25,-73.3885 242,-72 204.658,-56.0489 192.509,-53.5784 151.296,-35.991"/> |
|
85 |
+<polygon fill="black" stroke="black" points="152.61,-32.7459 142.041,-31.9983 149.837,-39.1733 152.61,-32.7459"/> |
|
86 |
+</g> |
|
87 |
+<!-- include2 --> |
|
88 |
+<g id="node7" class="node"><title>include2</title> |
|
89 |
+<polygon fill="none" stroke="black" points="217.405,-36 214.405,-40 193.405,-40 190.405,-36 160.595,-36 160.595,-0 217.405,-0 217.405,-36"/> |
|
90 |
+<text text-anchor="middle" x="189" y="-12.4" font-family="Times,serif" font-size="14.00">include</text> |
|
91 |
+</g> |
|
92 |
+<!-- Debug->include2 --> |
|
93 |
+<g id="edge6" class="edge"><title>Debug->include2</title> |
|
94 |
+<path fill="none" stroke="black" d="M256.753,-71.6966C245.418,-62.8807 231.47,-52.0321 219.181,-42.4742"/> |
|
95 |
+<polygon fill="black" stroke="black" points="221.034,-39.481 210.991,-36.1043 216.736,-45.0065 221.034,-39.481"/> |
|
96 |
+</g> |
|
97 |
+<!-- Frameworks2 --> |
|
98 |
+<g id="node8" class="node"><title>Frameworks2</title> |
|
99 |
+<polygon fill="none" stroke="black" points="321.49,-36 318.49,-40 297.49,-40 294.49,-36 236.51,-36 236.51,-0 321.49,-0 321.49,-36"/> |
|
100 |
+<text text-anchor="middle" x="279" y="-12.4" font-family="Times,serif" font-size="14.00">Frameworks</text> |
|
101 |
+</g> |
|
102 |
+<!-- Debug->Frameworks2 --> |
|
103 |
+<g id="edge7" class="edge"><title>Debug->Frameworks2</title> |
|
104 |
+<path fill="none" stroke="black" d="M279,-71.6966C279,-63.9827 279,-54.7125 279,-46.1124"/> |
|
105 |
+<polygon fill="black" stroke="black" points="282.5,-46.1043 279,-36.1043 275.5,-46.1044 282.5,-46.1043"/> |
|
106 |
+</g> |
|
107 |
+<!-- lib3 --> |
|
108 |
+<g id="node10" class="node"><title>lib3</title> |
|
109 |
+<polygon fill="none" stroke="black" points="394,-36 391,-40 370,-40 367,-36 340,-36 340,-0 394,-0 394,-36"/> |
|
110 |
+<text text-anchor="middle" x="367" y="-12.4" font-family="Times,serif" font-size="14.00">lib</text> |
|
111 |
+</g> |
|
112 |
+<!-- Release-iphonesimulator->lib3 --> |
|
113 |
+<g id="edge9" class="edge"><title>Release-iphonesimulator->lib3</title> |
|
114 |
+<path fill="none" stroke="black" d="M408.404,-71.6966C401.877,-63.3893 393.932,-53.2771 386.753,-44.1407"/> |
|
115 |
+<polygon fill="black" stroke="black" points="389.369,-41.8051 380.439,-36.1043 383.865,-46.1299 389.369,-41.8051"/> |
|
116 |
+</g> |
|
117 |
+<!-- include3 --> |
|
118 |
+<g id="node11" class="node"><title>include3</title> |
|
119 |
+<polygon fill="none" stroke="black" points="469.405,-36 466.405,-40 445.405,-40 442.405,-36 412.595,-36 412.595,-0 469.405,-0 469.405,-36"/> |
|
120 |
+<text text-anchor="middle" x="441" y="-12.4" font-family="Times,serif" font-size="14.00">include</text> |
|
121 |
+</g> |
|
122 |
+<!-- Release-iphonesimulator->include3 --> |
|
123 |
+<g id="edge10" class="edge"><title>Release-iphonesimulator->include3</title> |
|
124 |
+<path fill="none" stroke="black" d="M426.697,-71.6966C428.813,-63.8979 431.362,-54.5085 433.718,-45.8292"/> |
|
125 |
+<polygon fill="black" stroke="black" points="437.116,-46.672 436.357,-36.1043 430.36,-44.8383 437.116,-46.672"/> |
|
126 |
+</g> |
|
127 |
+<!-- Frameworks3 --> |
|
128 |
+<g id="node12" class="node"><title>Frameworks3</title> |
|
129 |
+<polygon fill="none" stroke="black" points="573.49,-36 570.49,-40 549.49,-40 546.49,-36 488.51,-36 488.51,-0 573.49,-0 573.49,-36"/> |
|
130 |
+<text text-anchor="middle" x="531" y="-12.4" font-family="Times,serif" font-size="14.00">Frameworks</text> |
|
131 |
+</g> |
|
132 |
+<!-- Release-iphonesimulator->Frameworks3 --> |
|
133 |
+<g id="edge11" class="edge"><title>Release-iphonesimulator->Frameworks3</title> |
|
134 |
+<path fill="none" stroke="black" d="M448.664,-71.8761C462.784,-62.8083 480.311,-51.5523 495.561,-41.7592"/> |
|
135 |
+<polygon fill="black" stroke="black" points="497.71,-44.5385 504.233,-36.1898 493.927,-38.6485 497.71,-44.5385"/> |
|
136 |
+</g> |
|
137 |
+<!-- lib4 --> |
|
138 |
+<g id="node14" class="node"><title>lib4</title> |
|
139 |
+<polygon fill="none" stroke="black" points="646,-36 643,-40 622,-40 619,-36 592,-36 592,-0 646,-0 646,-36"/> |
|
140 |
+<text text-anchor="middle" x="619" y="-12.4" font-family="Times,serif" font-size="14.00">lib</text> |
|
141 |
+</g> |
|
142 |
+<!-- Debug-iphonesimulator->lib4 --> |
|
143 |
+<g id="edge13" class="edge"><title>Debug-iphonesimulator->lib4</title> |
|
144 |
+<path fill="none" stroke="black" d="M646.854,-71.6966C642.597,-63.6436 637.444,-53.8945 632.734,-44.9824"/> |
|
145 |
+<polygon fill="black" stroke="black" points="635.808,-43.3097 628.041,-36.1043 629.62,-46.5809 635.808,-43.3097"/> |
|
146 |
+</g> |
|
147 |
+<!-- include4 --> |
|
148 |
+<g id="node15" class="node"><title>include4</title> |
|
149 |
+<polygon fill="none" stroke="black" points="721.405,-36 718.405,-40 697.405,-40 694.405,-36 664.595,-36 664.595,-0 721.405,-0 721.405,-36"/> |
|
150 |
+<text text-anchor="middle" x="693" y="-12.4" font-family="Times,serif" font-size="14.00">include</text> |
|
151 |
+</g> |
|
152 |
+<!-- Debug-iphonesimulator->include4 --> |
|
153 |
+<g id="edge14" class="edge"><title>Debug-iphonesimulator->include4</title> |
|
154 |
+<path fill="none" stroke="black" d="M665.146,-71.6966C669.403,-63.6436 674.556,-53.8945 679.266,-44.9824"/> |
|
155 |
+<polygon fill="black" stroke="black" points="682.38,-46.5809 683.959,-36.1043 676.192,-43.3097 682.38,-46.5809"/> |
|
156 |
+</g> |
|
157 |
+<!-- Frameworks4 --> |
|
158 |
+<g id="node16" class="node"><title>Frameworks4</title> |
|
159 |
+<polygon fill="none" stroke="black" points="825.49,-36 822.49,-40 801.49,-40 798.49,-36 740.51,-36 740.51,-0 825.49,-0 825.49,-36"/> |
|
160 |
+<text text-anchor="middle" x="783" y="-12.4" font-family="Times,serif" font-size="14.00">Frameworks</text> |
|
161 |
+</g> |
|
162 |
+<!-- Debug-iphonesimulator->Frameworks4 --> |
|
163 |
+<g id="edge15" class="edge"><title>Debug-iphonesimulator->Frameworks4</title> |
|
164 |
+<path fill="none" stroke="black" d="M687.068,-71.8761C703.827,-62.6388 724.706,-51.1308 742.702,-41.2116"/> |
|
165 |
+<polygon fill="black" stroke="black" points="744.745,-44.0822 751.813,-36.1898 741.366,-37.9517 744.745,-44.0822"/> |
|
166 |
+</g> |
|
167 |
+</g> |
|
168 |
+</svg> |
0 | 169 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,66 @@ |
1 |
+# dispense_style |
|
2 |
+ |
|
3 |
+`mulle-bootstrap config "dipense_style" <style>` |
|
4 |
+ |
|
5 |
+The default is `none`. |
|
6 |
+ |
|
7 |
+### `none` |
|
8 |
+ |
|
9 |
+Everything is dispensed into the `dependencies` root, possibly overwriting previous results from other configurations and sdks: |
|
10 |
+ |
|
11 |
+ |
|
12 |
+ |
|
13 |
+ |
|
14 |
+### `auto` |
|
15 |
+ |
|
16 |
+Auto selects either `configuration` or `configuration-sdk` based on the following rules: |
|
17 |
+ |
|
18 |
+1. If there is more than one **sdk** choose `configuration-sdk` |
|
19 |
+2. Otherwise choose `configuration` |
|
20 |
+ |
|
21 |
+> It is suggested to use `auto`, if you don't need separate sdks and do not need |
|
22 |
+> parallel installations of debug and release binaries. |
|
23 |
+ |
|
24 |
+### `configuration` |
|
25 |
+ |
|
26 |
+"Release" configuration products are dispensed into the `dependencies` root. Every other configuration is placed into its own subdirectory of the same name. Multiple sdks will overwrite each other: |
|
27 |
+ |
|
28 |
+ |
|
29 |
+ |
|
30 |
+ |
|
31 |
+### `configuration-sdk` |
|
32 |
+ |
|
33 |
+If the sdk is "Default" and the configuration is "Release", then everything is placed into the root directory. If the sdk is "Default", the configuration is placed into its own subdirectory of the same name. Otherwise every configuration/sdk pair is dispensed into its own subdirectory: |
|
34 |
+ |
|
35 |
+ |
|
36 |
+ |
|
37 |
+ |
|
38 |
+### `configuration-strict` |
|
39 |
+ |
|
40 |
+ |
|
41 |
+Every configuration is placed into its own subdirectory of the same name. Multiple sdks will overwrite each other: |
|
42 |
+ |
|
43 |
+ |
|
44 |
+ |
|
45 |
+### `configuration-sdk-strict` |
|
46 |
+ |
|
47 |
+Every configuration/sdk pair is dispensed into its own subdirectory: |
|
48 |
+ |
|
49 |
+ |
|
50 |
+ |
|
51 |
+ |
|
52 |
+## Xcode tip for `auto` |
|
53 |
+ |
|
54 |
+ |
|
55 |
+Set LIBRARY_SEARCH_PATHS like this: |
|
56 |
+ |
|
57 |
+``` |
|
58 |
+LIBRARY_SEARCH_PATHS = $(DEPENDENCIES_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/lib $(DEPENDENCIES_DIR)/$(CONFIGURATION)/lib $(DEPENDENCIES_DIR)/lib $(inherited) |
|
59 |
+``` |
|
60 |
+ |
|
61 |
+ |
|
62 |
+Set FRAMEWORK_SEARCH_PATHS like this: |
|
63 |
+ |
|
64 |
+``` |
|
65 |
+FRAMEWORK_SEARCH_PATHS = $(DEPENDENCIES_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/Frameworks $(DEPENDENCIES_DIR)/$(CONFIGURATION)/Frameworks $(DEPENDENCIES_DIR)/Frameworks $(inherited) |
|
66 |
+``` |
... | ... |
@@ -30,8 +30,8 @@ |
30 | 30 |
# POSSIBILITY OF SUCH DAMAGE. |
31 | 31 |
# |
32 | 32 |
MULLE_EXECUTABLE_VERSION_MAJOR=3 |
33 |
-MULLE_EXECUTABLE_VERSION_MINOR=9 |
|
34 |
-MULLE_EXECUTABLE_VERSION_PATCH=3 |
|
33 |
+MULLE_EXECUTABLE_VERSION_MINOR=10 |
|
34 |
+MULLE_EXECUTABLE_VERSION_PATCH=0 |
|
35 | 35 |
|
36 | 36 |
MULLE_EXECUTABLE_VERSION="${MULLE_EXECUTABLE_VERSION_MAJOR}.${MULLE_EXECUTABLE_VERSION_MINOR}.${MULLE_EXECUTABLE_VERSION_PATCH}" |
37 | 37 |
|
... | ... |
@@ -681,6 +681,7 @@ bootstrap_main() |
681 | 681 |
# |
682 | 682 |
MULLE_EXECUTABLE="`basename -- "$0"`" |
683 | 683 |
MULLE_ARGUMENTS="$@" |
684 |
+MULLE_EXECUTABLE_ENV_PATH="$PATH" |
|
684 | 685 |
MULLE_EXECUTABLE_FAIL_PREFIX="${MULLE_EXECUTABLE}" |
685 | 686 |
MULLE_EXECUTABLE_PID="$$" |
686 | 687 |
export MULLE_EXECUTABLE_PID |
... | ... |
@@ -95,7 +95,6 @@ EOF |
95 | 95 |
} |
96 | 96 |
|
97 | 97 |
|
98 |
- |
|
99 | 98 |
find_cmake() |
100 | 99 |
{ |
101 | 100 |
local name="$1" |
... | ... |
@@ -248,18 +247,20 @@ dispense_files() |
248 | 247 |
local src="$1" |
249 | 248 |
local name="$2" |
250 | 249 |
local ftype="$3" |
251 |
- local dirpath="$4" |
|
250 |
+ local depend_subdir="$4" |
|
251 |
+ local dirpath="$5" |
|
252 | 252 |
|
253 | 253 |
local dst |
254 | 254 |
|
255 | 255 |
log_fluff "Consider copying ${ftype} from \"${src}\"" |
256 | 256 |
|
257 |
+ |
|
257 | 258 |
if [ -d "${src}" ] |
258 | 259 |
then |
259 | 260 |
if dir_has_files "${src}" |
260 | 261 |
then |
261 | 262 |
|
262 |
- dst="`add_component "${REFERENCE_DEPENDENCIES_DIR}" "${dirpath}"`" |
|
263 |
+ dst="`add_component "${REFERENCE_DEPENDENCIES_DIR}${depend_subdir}" "${dirpath}"`" |
|
263 | 264 |
mkdir_if_missing "${dst}" |
264 | 265 |
|
265 | 266 |
# this fails with more nested header set ups, need to fix! |
... | ... |
@@ -281,6 +282,7 @@ dispense_headers() |
281 | 282 |
{ |
282 | 283 |
local sources="$1" |
283 | 284 |
local name="$2" |
285 |
+ local depend_subdir="$3" |
|
284 | 286 |
|
285 | 287 |
local headerpath |
286 | 288 |
|
... | ... |
@@ -293,7 +295,7 @@ dispense_headers() |
293 | 295 |
do |
294 | 296 |
IFS="${DEFAULT_IFS}" |
295 | 297 |
|
296 |
- dispense_files "${src}" "${name}" "headers" "${headerpath}" |
|
298 |
+ dispense_files "${src}" "${name}" "headers" "${depend_subdir}" "${headerpath}" |
|
297 | 299 |
done |
298 | 300 |
IFS="${DEFAULT_IFS}" |
299 | 301 |
} |
... | ... |
@@ -303,10 +305,11 @@ dispense_resources() |
303 | 305 |
{ |
304 | 306 |
local sources="$1" |
305 | 307 |
local name="$2" |
308 |
+ local depend_subdir="$3" |
|
306 | 309 |
|
307 | 310 |
local resourcepath |
308 | 311 |
|
309 |
- resourcepath="`read_build_setting "$1" "dispense_resources_path" "${RESOURCE_DIR_NAME}"`" |
|
312 |
+ resourcepath="`read_build_setting "${name}" "dispense_resources_path" "${RESOURCE_DIR_NAME}"`" |
|
310 | 313 |
|
311 | 314 |
local src |
312 | 315 |
IFS=" |
... | ... |
@@ -315,7 +318,7 @@ dispense_resources() |
315 | 318 |
do |
316 | 319 |
IFS="${DEFAULT_IFS}" |
317 | 320 |
|
318 |
- dispense_files "${src}" "${name}" "resources" "${resourcepath}" |
|
321 |
+ dispense_files "${src}" "${name}" "resources" "${depend_subdir}" "${resourcepath}" |
|
319 | 322 |
done |
320 | 323 |
IFS="${DEFAULT_IFS}" |
321 | 324 |
} |
... | ... |
@@ -325,10 +328,11 @@ dispense_libexec() |
325 | 328 |
{ |
326 | 329 |
local sources="$1" |
327 | 330 |
local name="$2" |
331 |
+ local depend_subdir="$3" |
|
328 | 332 |
|
329 | 333 |
local libexecpath |
330 | 334 |
|
331 |
- libexecpath="`read_build_setting "$1" "dispense_resources_path" "/${LIBEXEC_DIR_NAME}"`" |
|
335 |
+ libexecpath="`read_build_setting "${name}" "dispense_resources_path" "/${LIBEXEC_DIR_NAME}"`" |
|
332 | 336 |
|
333 | 337 |
local src |
334 | 338 |
IFS=" |
... | ... |
@@ -337,7 +341,7 @@ dispense_libexec() |
337 | 341 |
do |
338 | 342 |
IFS="${DEFAULT_IFS}" |
339 | 343 |
|
340 |
- dispense_files "${src}" "${name}" "libexec" "${libexecpath}" |
|
344 |
+ dispense_files "${src}" "${name}" "libexec" "${depend_subdir}" "${libexecpath}" |
|
341 | 345 |
done |
342 | 346 |
IFS="${DEFAULT_IFS}" |
343 | 347 |
} |
... | ... |
@@ -401,18 +405,15 @@ dispense_binaries() |
401 | 405 |
} |
402 | 406 |
|
403 | 407 |
|
404 |
-collect_and_dispense_product() |
|
408 |
+_collect_and_dispense_product() |
|
405 | 409 |
{ |
406 |
- log_debug "collect_and_dispense_product" "$@" |
|
410 |
+ log_debug "_collect_and_dispense_product" "$@" |
|
407 | 411 |
|
408 | 412 |
local name="$1" |
409 | 413 |
local build_subdir="$2" |
410 | 414 |
local depend_subdir="$3" |
411 | 415 |
local wasxcode="$4" |
412 | 416 |
|
413 |
- local dst |
|
414 |
- local src |
|
415 |
- |
|
416 | 417 |
if read_yes_no_config_setting "skip_collect_and_dispense" "NO" |
417 | 418 |
then |
418 | 419 |
log_info "Skipped collection and dispensal on request" |
... | ... |
@@ -435,6 +436,15 @@ collect_and_dispense_product() |
435 | 436 |
[ -z "${RESOURCE_DIR_NAME}" ] && internal_fail "LIBRARY_DIR_NAME undefined" |
436 | 437 |
[ -z "${HEADER_DIR_NAME}" ] && internal_fail "LIBRARY_DIR_NAME undefined" |
437 | 438 |
|
439 |
+ # |
|
440 |
+ # ensure basic structure is there to squelch linker warnings |
|
441 |
+ # |
|
442 |
+ log_fluff "Create default lib/, include/, Frameworks/ in ${REFERENCE_DEPENDENCIES_DIR}${depend_subdir}" |
|
443 |
+ |
|
444 |
+ mkdir_if_missing "${REFERENCE_DEPENDENCIES_DIR}${depend_subdir}/${FRAMEWORK_DIR_NAME}" |
|
445 |
+ mkdir_if_missing "${REFERENCE_DEPENDENCIES_DIR}${depend_subdir}/${LIBRARY_DIR_NAME}" |
|
446 |
+ mkdir_if_missing "${REFERENCE_DEPENDENCIES_DIR}${depend_subdir}/${HEADER_DIR_NAME}" |
|
447 |
+ |
|
438 | 448 |
# |
439 | 449 |
# probably should use install_name_tool to hack all dylib paths that contain .ref |
440 | 450 |
# (will this work with signing stuff ?) |
... | ... |
@@ -461,7 +471,7 @@ ${BUILD_DEPENDENCIES_DIR}/usr/local/libexec |
461 | 471 |
${BUILD_DEPENDENCIES_DIR}/usr/libexec |
462 | 472 |
${BUILD_DEPENDENCIES_DIR}/libexec" |
463 | 473 |
|
464 |
- dispense_libexec "${sources}" "${name}" |
|
474 |
+ dispense_libexec "${sources}" "${name}" "${depend_subdir}" |
|
465 | 475 |
|
466 | 476 |
|
467 | 477 |
## |
... | ... |
@@ -472,7 +482,7 @@ ${BUILD_DEPENDENCIES_DIR}/usr/local/share |
472 | 482 |
${BUILD_DEPENDENCIES_DIR}/usr/share |
473 | 483 |
${BUILD_DEPENDENCIES_DIR}/share" |
474 | 484 |
|
475 |
- dispense_resources "${sources}" "${name}" |
|
485 |
+ dispense_resources "${sources}" "${name}" "${depend_subdir}" |
|
476 | 486 |
|
477 | 487 |
## |
478 | 488 |
## copy headers |
... | ... |
@@ -482,7 +492,7 @@ ${BUILD_DEPENDENCIES_DIR}/usr/local/include |
482 | 492 |
${BUILD_DEPENDENCIES_DIR}/usr/include |
483 | 493 |
${BUILD_DEPENDENCIES_DIR}/include" |
484 | 494 |
|
485 |
- dispense_headers "${sources}" "${name}" |
|
495 |
+ dispense_headers "${sources}" "${name}" "${depend_subdir}" |
|
486 | 496 |
|
487 | 497 |
|
488 | 498 |
## |
... | ... |
@@ -510,6 +520,9 @@ ${BUILD_DEPENDENCIES_DIR}/Frameworks" |
510 | 520 |
dispense_binaries "${sources}" "${name}" "d" "${depend_subdir}" "/${FRAMEWORK_DIR_NAME}" |
511 | 521 |
fi |
512 | 522 |
|
523 |
+ local dst |
|
524 |
+ local src |
|
525 |
+ |
|
513 | 526 |
# |
514 | 527 |
# Delete empty dirs if so |
515 | 528 |
# |
... | ... |
@@ -591,47 +604,95 @@ enforce_build_sanity() |
591 | 604 |
} |
592 | 605 |
|
593 | 606 |
|
594 |
-determine_suffix() |
|
607 |
+# |
|
608 |
+# if only one configuration is chosen, make it the default |
|
609 |
+# if there are multiple configurations, make Release the default |
|
610 |
+# if Release is not in multiple configurations, then there is no default |
|
611 |
+# |
|
612 |
+determine_build_subdir() |
|
595 | 613 |
{ |
614 |
+ log_debug "determine_build_subdir" "$*" |
|
615 |
+ |
|
596 | 616 |
local configuration="$1" |
597 | 617 |
local sdk="$2" |
598 | 618 |
|
599 |
- [ ! -z "$configuration" ] || fail "configuration must not be empty" |
|
600 |
- [ ! -z "$sdk" ] || fail "sdk must not be empty" |
|
619 |
+ [ -z "$configuration" ] && internal_fail "configuration must not be empty" |
|
620 |
+ [ -z "$sdk" ] && internal_fail "sdk must not be empty" |
|
601 | 621 |
|
602 |
- local suffix |
|
603 |
- local hackish |
|
622 |
+ sdk=`echo "${sdk}" | sed 's/^\([a-zA-Z]*\).*$/\1/g'` |
|
604 | 623 |
|
605 |
- suffix="${configuration}" |
|
606 |
- if [ "${sdk}" != "Default" ] |
|
624 |
+ if [ "${sdk}" = "Default" ] |
|
607 | 625 |
then |
608 |
- hackish=`echo "${sdk}" | sed 's/^\([a-zA-Z]*\).*$/\1/g'` |
|
609 |
- suffix="${suffix}-${hackish}" |
|
626 |
+ if [ "${configuration}" != "Release" ] |
|
627 |
+ then |
|
628 |
+ echo "/${configuration}" |
|
629 |
+ fi |
|
630 |
+ else |
|
631 |
+ echo "/${configuration}-${sdk}" |
|
610 | 632 |
fi |
611 |
- echo "${suffix}" |
|
612 | 633 |
} |
613 | 634 |
|
614 | 635 |
|
615 |
-# |
|
616 |
-# if only one configuration is chosen, make it the default |
|
617 |
-# if there are multiple configurations, make Release the default |
|
618 |
-# if Release is not in multiple configurations, then there is no default |
|
619 |
-# |
|
620 |
-determine_build_subdir() |
|
636 |
+determine_dependencies_subdir() |
|
621 | 637 |
{ |
622 |
- echo "/$1" |
|
623 |
-} |
|
638 |
+ log_debug "determine_dependencies_subdir" "$*" |
|
639 |
+ |
|
640 |
+ local configuration="$1" |
|
641 |
+ local sdk="$2" |
|
642 |
+ local style="$3" |
|
624 | 643 |
|
644 |
+ [ -z "$configuration" ] && internal_fail "configuration must not be empty" |
|
645 |
+ [ -z "$sdk" ] && internal_fail "sdk must not be empty" |
|
646 |
+ [ -z "$BUILD_SDKS" ] && internal_fail "BUILD_SDKS must not be empty" |
|
625 | 647 |
|
626 |
-determine_dependencies_subdir() |
|
627 |
-{ |
|
628 |
- if [ "${N_CONFIGURATIONS}" -gt 1 ] |
|
648 |
+ sdk=`echo "${sdk}" | sed 's/^\([a-zA-Z]*\).*$/\1/g'` |
|
649 |
+ |
|
650 |
+ if [ "${style}" = "auto" ] |
|
629 | 651 |
then |
630 |
- if [ "$1" != "Release" ] |
|
652 |
+ style="configuration" |
|
653 |
+ |
|
654 |
+ n_sdks="`echo "${BUILD_SDKS}" | wc -l | awk '{ print $1 }'`" |
|
655 |
+ if [ $n_sdks -gt 1 ] |
|
631 | 656 |
then |
632 |
- echo "/$1" |
|
657 |
+ style="configuration-sdk" |
|
633 | 658 |
fi |
634 | 659 |
fi |
660 |
+ |
|
661 |
+ case "${style}" in |
|
662 |
+ "none") |
|
663 |
+ ;; |
|
664 |
+ |
|
665 |
+ "configuration-strict") |
|
666 |
+ echo "/${configuration}" |
|
667 |
+ ;; |
|
668 |
+ |
|
669 |
+ "configuration-sdk-strict") |
|
670 |
+ echo "/${configuration}-${sdk}" |
|
671 |
+ ;; |
|
672 |
+ |
|
673 |
+ "configuration-sdk") |
|
674 |
+ if [ "${sdk}" = "Default" ] |
|
675 |
+ then |
|
676 |
+ if [ "${configuration}" != "Release" ] |
|
677 |
+ then |
|
678 |
+ echo "/${configuration}" |
|
679 |
+ fi |
|
680 |
+ else |
|
681 |
+ echo "/${configuration}-${sdk}" |
|
682 |
+ fi |
|
683 |
+ ;; |
|
684 |
+ |
|
685 |
+ "configuration") |
|
686 |
+ if [ "${configuration}" != "Release" ] |
|
687 |
+ then |
|
688 |
+ echo "/${configuration}" |
|
689 |
+ fi |
|
690 |
+ ;; |
|
691 |
+ |
|
692 |
+ *) |
|
693 |
+ fail "unknown value \"${BUILD_DISPENSE_STYLE}\" for dispense_style" |
|
694 |
+ ;; |
|
695 |
+ esac |
|
635 | 696 |
} |
636 | 697 |
|
637 | 698 |
|
... | ... |
@@ -702,19 +763,17 @@ _build_flags() |
702 | 763 |
local mapped="$6" |
703 | 764 |
|
704 | 765 |
local fallback |
705 |
- local suffix |
|
706 | 766 |
|
707 | 767 |
fallback="`echo "${OPTION_CONFIGURATIONS}" | tail -1`" |
708 | 768 |
fallback="`read_build_setting "${name}" "fallback-configuration" "${fallback}"`" |
709 |
- suffix="`determine_suffix "${configuration}" "${sdk}"`" |
|
710 | 769 |
|
711 | 770 |
local mappedsubdir |
712 | 771 |
local fallbacksubdir |
713 | 772 |
local suffixsubdir |
714 | 773 |
|
715 |
- mappedsubdir="`determine_dependencies_subdir "${mapped}"`" |
|
716 |
- suffixsubdir="`determine_dependencies_subdir "${suffix}"`" |
|
717 |
- fallbacksubdir="`determine_dependencies_subdir "${fallback}"`" |
|
774 |
+ suffixsubdir="`determine_dependencies_subdir "${configuration}" "${sdk}" "${OPTION_DISPENSE_STYLE}"`" || exit 1 |
|
775 |
+ mappedsubdir="`determine_dependencies_subdir "${mapped}" "${sdk}" "${OPTION_DISPENSE_STYLE}"`" || exit 1 |
|
776 |
+ fallbacksubdir="`determine_dependencies_subdir "${fallback}" "${sdk}" "${OPTION_DISPENSE_STYLE}"`" || exit 1 |
|
718 | 777 |
|
719 | 778 |
( |
720 | 779 |
local nativewd |
... | ... |
@@ -849,9 +908,11 @@ _build_flags() |
849 | 908 |
echo "${native_includelines}" |
850 | 909 |
echo "${native_librarylines}" |
851 | 910 |
echo "${native_frameworklines}" |
911 |
+ |
|
852 | 912 |
echo "${includelines}" |
853 | 913 |
echo "${librarylines}" |
854 | 914 |
echo "${frameworklines}" |
915 |
+ echo "${nativewd}/${REFERENCE_DEPENDENCIES_DIR}${suffixsubdir}" |
|
855 | 916 |
) |
856 | 917 |
} |
857 | 918 |
|
... | ... |
@@ -951,17 +1012,26 @@ ${C_MAGENTA}${C_BOLD}${sdk}${C_INFO} in \"${builddir}\" ..." |
951 | 1012 |
mapped="`read_build_setting "${name}" "cmake-${configuration}.map" "${configuration}"`" |
952 | 1013 |
flaglines="`build_cmake_flags "$@" "${mapped}"`" |
953 | 1014 |
|
1015 |
+ |
|
954 | 1016 |
local cppflags |
955 | 1017 |
local ldflags |
956 | 1018 |
local includelines |
957 | 1019 |
local librarylines |
958 | 1020 |
local frameworklines |
1021 |
+ local dependenciesdir |
|
1022 |
+ |
|
1023 |
+ cppflags="`echo "${flaglines}" | sed -n '1p'`" |
|
1024 |
+ ldflags="`echo "${flaglines}" | sed -n '2p'`" |
|
1025 |
+ includelines="`echo "${flaglines}" | sed -n '6p'`" |
|
1026 |
+ librarylines="`echo "${flaglines}" | sed -n '7p'`" |
|
1027 |
+ frameworklines="`echo "${flaglines}" | sed -n '8p'`" |
|
1028 |
+ dependenciesdir="`echo "${flaglines}" | sed -n '9p'`" |
|
1029 |
+ |
|
1030 |
+ local addictionsdir |
|
1031 |
+ local binpath |
|
959 | 1032 |
|
960 |
- cppflags="`echo "${flaglines}" | sed -n '1p'`" |
|
961 |
- ldflags="`echo "${flaglines}" | sed -n '2p'`" |
|
962 |
- includelines="`echo "${flaglines}" | sed -n '6p'`" |
|
963 |
- librarylines="`echo "${flaglines}" | sed -n '7p'`" |
|
964 |
- frameworklines="`echo "${flaglines}" | sed -n '8p'`" |
|
1033 |
+ addictionsdir="${PWD}/${REFERENCE_ADDICTIONS_DIR}" |
|
1034 |
+ binpath="${dependenciesdir}/bin" |
|
965 | 1035 |
|
966 | 1036 |
# CMAKE_CPP_FLAGS does not exist in cmake |
967 | 1037 |
# so merge into CFLAGS and CXXFLAGS |
... | ... |
@@ -1047,7 +1117,9 @@ ${C_MAGENTA}${C_BOLD}${sdk}${C_INFO} in \"${builddir}\" ..." |
1047 | 1117 |
[ -z "${BUILDPATH}" ] && internal_fail "BUILDPATH not set" |
1048 | 1118 |
|
1049 | 1119 |
oldpath="$PATH" |
1050 |
- PATH="${BUILDPATH}" |
|
1120 |
+ PATH="${binpath}:${BUILDPATH}" |
|
1121 |
+ |
|
1122 |
+ log_fluff "PATH temporarily set to $PATH" |
|
1051 | 1123 |
|
1052 | 1124 |
local prefixbuild |
1053 | 1125 |
|
... | ... |
@@ -1055,12 +1127,6 @@ ${C_MAGENTA}${C_BOLD}${sdk}${C_INFO} in \"${builddir}\" ..." |
1055 | 1127 |
|
1056 | 1128 |
local cmake_dirs |
1057 | 1129 |
|
1058 |
- local dependenciesdir |
|
1059 |
- local addictionsdir |
|
1060 |
- |
|
1061 |
- dependenciesdir="${nativewd}/${REFERENCE_DEPENDENCIES_DIR}" |
|
1062 |
- addictionsdir="${nativewd}/${REFERENCE_ADDICTIONS_DIR}" |
|
1063 |
- |
|
1064 | 1130 |
if [ ! -z "${dependenciesdir}" ] |
1065 | 1131 |
then |
1066 | 1132 |
cmake_dirs="-DDEPENDENCIES_DIR='${dependenciesdir}'" |
... | ... |
@@ -1128,11 +1194,6 @@ ${C_MAGENTA}${C_BOLD}${sdk}${C_INFO} in \"${builddir}\" ..." |
1128 | 1194 |
set +f |
1129 | 1195 |
|
1130 | 1196 |
) || exit 1 |
1131 |
- |
|
1132 |
- local depend_subdir |
|
1133 |
- |
|
1134 |
- depend_subdir="`determine_dependencies_subdir "${suffix}"`" |
|
1135 |
- collect_and_dispense_product "${name}" "${suffixsubdir}" "${depend_subdir}" || internal_fail "collect failed silently" |
|
1136 | 1197 |
} |
1137 | 1198 |
|
1138 | 1199 |
|
... | ... |
@@ -1146,17 +1207,11 @@ build_configure() |
1146 | 1207 |
{ |
1147 | 1208 |
log_debug "build_configure" "$*" |
1148 | 1209 |
|
1149 |
- local configuration |
|
1150 |
- local srcdir |
|
1151 |
- local builddir |
|
1152 |
- local name |
|
1153 |
- local sdk |
|
1154 |
- |
|
1155 |
- configuration="$1" |
|
1156 |
- srcdir="$2" |
|
1157 |
- builddir="$3" |
|
1158 |
- name="$4" |
|
1159 |
- sdk="$5" |
|
1210 |
+ local configuration="$1" |
|
1211 |
+ local srcdir="$2" |
|
1212 |
+ local builddir="$3" |
|
1213 |
+ local name="$4" |
|
1214 |
+ local sdk="$5" |
|
1160 | 1215 |
|
1161 | 1216 |
if [ -z "${MAKE}" ] |
1162 | 1217 |
then |
... | ... |
@@ -1208,9 +1263,17 @@ ${C_MAGENTA}${C_BOLD}${sdk}${C_INFO} in \"${builddir}\" ..." |
1208 | 1263 |
|
1209 | 1264 |
local cppflags |
1210 | 1265 |
local ldflags |
1266 |
+ local dependenciesdir |
|
1211 | 1267 |
|
1212 | 1268 |
cppflags="`echo "${flaglines}" | sed -n '1p'`" |
1213 | 1269 |
ldflags="`echo "${flaglines}" | sed -n '2p'`" |
1270 |
+ dependenciesdir="`echo "${flaglines}" | sed -n '9p'`" |
|
1271 |
+ |
|
1272 |
+ local addictionsdir |
|
1273 |
+ local binpath |
|
1274 |
+ |
|
1275 |
+ addictionsdir="${nativewd}/${REFERENCE_ADDICTIONS_DIR}" |
|
1276 |
+ binpath="${dependenciesdir}/bin" |
|
1214 | 1277 |
|
1215 | 1278 |
# CMAKE_CPP_FLAGS does not exist in cmake |
1216 | 1279 |
# so merge into CFLAGS and CXXFLAGS |
... | ... |
@@ -1288,12 +1351,6 @@ ${C_MAGENTA}${C_BOLD}${sdk}${C_INFO} in \"${builddir}\" ..." |
1288 | 1351 |
|
1289 | 1352 |
log_verbose "Build logs will be in \"${logfile1}\" and \"${logfile2}\"" |
1290 | 1353 |
|
1291 |
- local dependenciesdir |
|
1292 |
- local addictionsdir |
|
1293 |
- |
|
1294 |
- dependenciesdir="${nativewd}/${REFERENCE_DEPENDENCIES_DIR}" |
|
1295 |
- addictionsdir="${nativewd}/${REFERENCE_ADDICTIONS_DIR}" |
|
1296 |
- |
|
1297 | 1354 |
local prefixbuild |
1298 | 1355 |
|
1299 | 1356 |
prefixbuild="`add_component "${prefixbuild}" "${nativewd}/${BUILD_DEPENDENCIES_DIR}"`" |
... | ... |
@@ -1302,7 +1359,9 @@ ${C_MAGENTA}${C_BOLD}${sdk}${C_INFO} in \"${builddir}\" ..." |
1302 | 1359 |
local rval |
1303 | 1360 |
|
1304 | 1361 |
oldpath="$PATH" |
1305 |
- PATH="${BUILDPATH}" |
|
1362 |
+ PATH="${binpath}:${BUILDPATH}" |
|
1363 |
+ |
|
1364 |
+ log_fluff "PATH temporarily set to $PATH" |
|
1306 | 1365 |
|
1307 | 1366 |
# use absolute paths for configure, safer (and easier to read IMO) |
1308 | 1367 |
logging_redirect_eval_exekutor "${logfile1}" \ |
... | ... |
@@ -1328,15 +1387,9 @@ ${C_MAGENTA}${C_BOLD}${sdk}${C_INFO} in \"${builddir}\" ..." |
1328 | 1387 |
PATH="${oldpath}" |
1329 | 1388 |
[ $rval -ne 0 ] && build_fail "${logfile2}" "make" |
1330 | 1389 |
|
1331 |
- PATH="${oldpath}" |
|
1332 | 1390 |
set +f |
1333 | 1391 |
|
1334 | 1392 |
) || exit 1 |
1335 |
- |
|
1336 |
- local depend_subdir |
|
1337 |
- |
|
1338 |
- depend_subdir="`determine_dependencies_subdir "${suffix}"`" |
|
1339 |
- collect_and_dispense_product "${name}" "${suffixsubdir}" "${depend_subdir}" || exit 1 |
|
1340 | 1393 |
} |
1341 | 1394 |
|
1342 | 1395 |
|
... | ... |
@@ -1446,23 +1499,14 @@ build_xcodebuild() |
1446 | 1499 |
{ |
1447 | 1500 |
log_debug "build_xcodebuild" "$*" |
1448 | 1501 |
|
1449 |
- local configuration |
|
1450 |
- local srcdir |
|
1451 |
- local builddir |
|
1452 |
- local name |
|
1453 |
- local sdk |
|
1454 |
- local project |
|
1455 |
- local schemename |
|
1456 |
- local targetname |
|
1457 |
- |
|
1458 |
- configuration="$1" |
|
1459 |
- srcdir="$2" |
|
1460 |
- builddir="$3" |
|
1461 |
- name="$4" |
|
1462 |
- sdk="$5" |
|
1463 |
- project="$6" |
|
1464 |
- schemename="$7" |
|
1465 |
- targetname="$8" |
|
1502 |
+ local configuration="$1" |
|
1503 |
+ local srcdir="$2" |
|
1504 |
+ local builddir="$3" |
|
1505 |
+ local name="$4" |
|
1506 |
+ local sdk="$5" |
|
1507 |
+ local project="$6" |
|
1508 |
+ local schemename="$7" |
|
1509 |
+ local targetname="$8" |
|
1466 | 1510 |
|
1467 | 1511 |
[ ! -z "${configuration}" ] || internal_fail "configuration is empty" |
1468 | 1512 |
[ ! -z "${srcdir}" ] || internal_fail "srcdir is empty" |
... | ... |
@@ -1514,7 +1558,7 @@ ${C_MAGENTA}${C_BOLD}${sdk}${C_INFO}${info} in \ |
1514 | 1558 |
local targetname |
1515 | 1559 |
local suffix |
1516 | 1560 |
|
1517 |
- suffix="${configuration}" |
|
1561 |
+ suffix="${mapped}" |
|
1518 | 1562 |
if [ "${sdk}" != "Default" ] |
1519 | 1563 |
then |
1520 | 1564 |
hackish="`echo "${sdk}" | sed 's/^\([a-zA-Z]*\).*$/\1/g'`" |
... | ... |
@@ -1528,10 +1572,12 @@ ${C_MAGENTA}${C_BOLD}${sdk}${C_INFO}${info} in \ |
1528 | 1572 |
local mappedsubdir |
1529 | 1573 |
local fallbacksubdir |
1530 | 1574 |
local suffixsubdir |
1575 |
+ local binpath |
|
1531 | 1576 |
|
1532 |
- mappedsubdir="`determine_dependencies_subdir "${mapped}"`" |
|
1533 |
- suffixsubdir="`determine_dependencies_subdir "${suffix}"`" |
|
1534 |
- fallbacksubdir="`determine_dependencies_subdir "${fallback}"`" |
|
1577 |
+ suffixsubdir="`determine_dependencies_subdir "${configuration}" "${sdk}" "${OPTION_DISPENSE_STYLE}"`" || exit 1 |
|
1578 |
+ mappedsubdir="`determine_dependencies_subdir "${mapped}" "${sdk}" "${OPTION_DISPENSE_STYLE}"`" || exit 1 |
|
1579 |
+ fallbacksubdir="`determine_dependencies_subdir "${fallback}" "${sdk}" "${OPTION_DISPENSE_STYLE}"`" || exit 1 |
|
1580 |
+ binpath="${PWD}/${REFERENCE_DEPENDENCIES_DIR}${suffixsubdir}/bin" |
|
1535 | 1581 |
|
1536 | 1582 |
local xcode_proper_skip_install |
1537 | 1583 |
local skip_install |
... | ... |
@@ -1600,7 +1646,6 @@ ${C_MAGENTA}${C_BOLD}${sdk}${C_INFO}${info} in \ |
1600 | 1646 |
default="/include/${name}/private" |
1601 | 1647 |
private_headers="`fixup_header_path "PRIVATE_HEADERS_FOLDER_PATH" "xcode_private_headers" "${name}" "${default}" ${arguments}`" |
1602 | 1648 |
|
1603 |
- |
|
1604 | 1649 |
local logfile |
1605 | 1650 |
|
1606 | 1651 |
mkdir_if_missing "${BUILDLOGS_DIR}" |
... | ... |
@@ -1754,14 +1799,17 @@ ${C_MAGENTA}${C_BOLD}${sdk}${C_INFO}${info} in \ |
1754 | 1799 |
local rval |
1755 | 1800 |
|
1756 | 1801 |
oldpath="${PATH}" |
1757 |
- PATH="${BUILDPATH}" |
|
1802 |
+ PATH="${binpath}:${BUILDPATH}" |
|
1803 |
+ |
|
1804 |
+ log_fluff "PATH temporarily set to $PATH" |
|
1805 |
+ |
|
1758 | 1806 |
# if it doesn't install, probably SKIP_INSTALL is set |
1759 | 1807 |
cmdline="\"${XCODEBUILD}\" \"${command}\" ${arguments} \ |
1760 | 1808 |
ARCHS='${ARCHS:-\${ARCHS_STANDARD_32_64_BIT}}' \ |
1761 | 1809 |
DSTROOT='${owd}/${BUILD_DEPENDENCIES_DIR}' \ |
1762 | 1810 |
SYMROOT='${owd}/${builddir}/' \ |
1763 | 1811 |
OBJROOT='${owd}/${builddir}/obj' \ |
1764 |
-DEPENDENCIES_DIR='${owd}/${REFERENCE_DEPENDENCIES_DIR}' \ |
|
1812 |
+DEPENDENCIES_DIR='${owd}/${REFERENCE_DEPENDENCIES_DIR}${suffixsubdir}' \ |
|
1765 | 1813 |
ADDICTIONS_DIR='${owd}/${REFERENCE_ADDICTIONS_DIR}' \ |
1766 | 1814 |
ONLY_ACTIVE_ARCH=${ONLY_ACTIVE_ARCH:-NO} \ |
1767 | 1815 |
${skip_install} \ |
... | ... |
@@ -1781,11 +1829,6 @@ FRAMEWORK_SEARCH_PATHS='${dependencies_framework_search_path}'" |
1781 | 1829 |
set +f |
1782 | 1830 |
|
1783 | 1831 |
exekutor cd "${owd}" |
1784 |
- |
|
1785 |
- local depend_subdir |
|
1786 |
- |
|
1787 |
- depend_subdir="`determine_dependencies_subdir "${suffix}"`" |
|
1788 |
- collect_and_dispense_product "${name}" "${suffixsubdir}" "${depend_subdir}" "YES" || exit 1 |
|
1789 | 1832 |
} |
1790 | 1833 |
|
1791 | 1834 |
|
... | ... |
@@ -1793,13 +1836,9 @@ build_xcodebuild_schemes_or_target() |
1793 | 1836 |
{ |
1794 | 1837 |
log_debug "build_xcodebuild_schemes_or_target" "$*" |
1795 | 1838 |
|
1796 |
- local builddir |
|
1797 |
- local name |
|
1798 |
- local project |
|
1799 |
- |
|
1800 |
- builddir="$3" |
|
1801 |
- name="$4" |
|
1802 |
- project="$6" |
|
1839 |
+ local builddir="$3" |
|
1840 |
+ local name="$4" |
|
1841 |
+ local project="$6" |
|
1803 | 1842 |
|
1804 | 1843 |
local scheme |
1805 | 1844 |
local schemes |
... | ... |
@@ -1856,17 +1895,11 @@ build_script() |
1856 | 1895 |
script="$1" |
1857 | 1896 |
shift |
1858 | 1897 |
|
1859 |
- local configuration |
|
1860 |
- local srcdir |
|
1861 |
- local builddir |
|
1862 |
- local name |
|
1863 |
- local sdk |
|
1864 |
- |
|
1865 |
- configuration="$1" |
|
1866 |
- srcdir="$2" |
|
1867 |
- builddir="$3" |
|
1868 |
- name="$4" |
|
1869 |
- sdk="$5" |
|
1898 |
+ local configuration="$1" |
|
1899 |
+ local srcdir="$2" |
|
1900 |
+ local builddir="$3" |
|
1901 |
+ local name="$4" |
|
1902 |
+ local sdk="$5" |
|
1870 | 1903 |
|
1871 | 1904 |
enforce_build_sanity "${builddir}" |
1872 | 1905 |
|
... | ... |
@@ -1880,6 +1913,12 @@ build_script() |
1880 | 1913 |
logfile="${BUILDLOGS_DIR}/${name}-${configuration}-${sdk}.script.log" |
1881 | 1914 |
logfile="`absolutepath "${logfile}"`" |
1882 | 1915 |
|
1916 |
+ local suffixsubdir |
|
1917 |
+ local binpath |
|
1918 |
+ |
|
1919 |
+ suffixsubdir="`determine_dependencies_subdir "${configuration}" "${sdk}" "${OPTION_DISPENSE_STYLE}"`" || exit 1 |
|
1920 |
+ binpath="${PWD}/${REFERENCE_DEPENDENCIES_DIR}${suffixsubdir}/bin" |
|
1921 |
+ |
|
1883 | 1922 |
log_fluff "Build log will be in: ${C_RESET_BOLD}${logfile}${C_INFO}" |
1884 | 1923 |
|
1885 | 1924 |
mkdir_if_missing "${builddir}" |
... | ... |
@@ -1908,7 +1947,9 @@ ${C_MAGENTA}${C_BOLD}${sdk}${C_INFO}${info} in \ |
1908 | 1947 |
local rval |
1909 | 1948 |
|
1910 | 1949 |
oldpath="${PATH}" |
1911 |
- PATH="${BUILDPATH}" |
|
1950 |
+ PATH="${binpath}:${BUILDPATH}" |
|
1951 |
+ |
|
1952 |
+ log_fluff "PATH temporarily set to $PATH" |
|
1912 | 1953 |
|
1913 | 1954 |
run_log_build_script "${owd}/${script}" \ |
1914 | 1955 |
"${configuration}" \ |
... | ... |
@@ -1923,15 +1964,20 @@ ${C_MAGENTA}${C_BOLD}${sdk}${C_INFO}${info} in \ |
1923 | 1964 |
[ $rval -ne 0 ] && build_fail "${logfile}" "build.sh" |
1924 | 1965 |
|
1925 | 1966 |
exekutor cd "${owd}" |
1967 |
+} |
|
1968 |
+ |
|
1969 |
+ |
|
1970 |
+collect_and_dispense_product() |
|
1971 |
+{ |
|
1972 |
+ local name="$1" |
|
1973 |
+ local configuration="$2" |
|
1974 |
+ local sdk="$3" |
|
1975 |
+ local wasxcode="$4" |
|
1926 | 1976 |
|
1927 |
- local suffix |
|
1928 | 1977 |
local depend_subdir |
1929 |
- local suffixsubdir |
|
1930 | 1978 |
|
1931 |
- suffix="`determine_suffix "${configuration}" "${sdk}"`" |
|
1932 |
- suffixsubdir="`determine_build_subdir "${suffix}"`" |
|
1933 |
- depend_subdir="`determine_dependencies_subdir "${suffix}"`" |
|
1934 |
- collect_and_dispense_product "${name}" "${suffixsubdir}" "${depend_subdir}" || internal_fail "collect failed silently" |
|
1979 |
+ depend_subdir="`determine_dependencies_subdir "${configuration}" "${sdk}" "${OPTION_DISPENSE_STYLE}"`" || exit 1 |
|
1980 |
+ _collect_and_dispense_product "${name}" "${build_subdir}" "${depend_subdir}" "${wasxcode}" |
|
1935 | 1981 |
} |
1936 | 1982 |
|
1937 | 1983 |
|
... | ... |
@@ -1939,19 +1985,10 @@ build_with_configuration_sdk_preferences() |
1939 | 1985 |
{ |
1940 | 1986 |
log_debug "build_with_configuration_sdk_preferences" "$*" |
1941 | 1987 |
|
1942 |
- local name |
|
1943 |
- local configuration |
|
1944 |
- local sdk |
|
1945 |
- local preferences |
|
1946 |
- |
|
1947 |
- name="$1" |
|
1948 |
- [ $# -ne 0 ] && shift |
|
1949 |
- configuration="$1" |
|
1950 |
- [ $# -ne 0 ] && shift |
|
1951 |
- sdk="$1" |
|
1952 |
- [ $# -ne 0 ] && shift |
|
1953 |
- preferences="$1" |
|
1954 |
- [ $# -ne 0 ] && shift |
|
1988 |
+ local name="$1"; shift |
|
1989 |
+ local configuration="$1"; shift |
|
1990 |
+ local sdk="$1" ; shift |
|
1991 |
+ local preferences="$1" ; shift |
|
1955 | 1992 |
|
1956 | 1993 |
if [ "/${configuration}" = "/${LIBRARY_DIR_NAME}" -o "/${configuration}" = "${HEADER_DIR_NAME}" -o "/${configuration}" = "${FRAMEWORK_DIR_NAME}" ] |
1957 | 1994 |
then |
... | ... |
@@ -1963,9 +2000,12 @@ build_with_configuration_sdk_preferences() |
1963 | 2000 |
fail "You are just asking for major trouble naming your configuration \"${configuration}\"." |
1964 | 2001 |
fi |
1965 | 2002 |
|
2003 |
+ # always build into fully qualified |
|
2004 |
+ local build_subdir |
|
1966 | 2005 |
local builddir |
1967 | 2006 |
|
1968 |
- builddir="${CLONESBUILD_DIR}/${configuration}/${name}" |
|
2007 |
+ build_subdir="`determine_build_subdir "${configuration}" "${sdk}"`" || exit 1 |
|
2008 |
+ builddir="${CLONESBUILD_DIR}${build_subdir}/${name}" |
|
1969 | 2009 |
|
1970 | 2010 |
if [ -d "${builddir}" -a "${OPTION_CLEAN_BEFORE_BUILD}" = "YES" ] |
1971 | 2011 |
then |
... | ... |
@@ -1974,16 +2014,21 @@ build_with_configuration_sdk_preferences() |
1974 | 2014 |
fi |
1975 | 2015 |
|
1976 | 2016 |
local project |
2017 |
+ local rval |
|
2018 |
+ local wasxcode |
|
1977 | 2019 |
|
2020 |
+ rval=1 |
|
1978 | 2021 |
for preference in ${preferences} |
1979 | 2022 |
do |
2023 |
+ wasxcode="NO" |
|
1980 | 2024 |
case "${preference}" in |
1981 | 2025 |
script) |
1982 | 2026 |
script="`find_build_setting_file "${name}" "bin/build.sh"`" |
1983 | 2027 |
if [ -x "${script}" ] |
1984 | 2028 |
then |
1985 | 2029 |
build_script "${script}" "${configuration}" "${srcdir}" "${builddir}" "${name}" "${sdk}" || exit 1 |
1986 |
- return 0 |
|
2030 |
+ rval=$? |
|
2031 |
+ break |
|
1987 | 2032 |
else |
1988 | 2033 |
[ ! -e "${script}" ] || fail "script ${script} is not executable" |
1989 | 2034 |
log_fluff "There is no build script in \"`build_setting_path "${name}" "bin/build.sh"`\"" |
... | ... |
@@ -2006,7 +2051,9 @@ build_with_configuration_sdk_preferences() |
2006 | 2051 |
log_warning "Found a Xcode project, but ${C_RESET}${C_BOLD}xcodebuild${C_WARNING} is not installed" |
2007 | 2052 |
else |
2008 | 2053 |
build_xcodebuild_schemes_or_target "${configuration}" "${srcdir}" "${builddir}" "${name}" "${sdk}" "${project}" || exit 1 |
2009 |
- return 0 |
|
2054 |
+ rval=$? |
|
2055 |
+ wasxcode="YES" |
|
2056 |
+ break |
|
2010 | 2057 |
fi |
2011 | 2058 |
fi |
2012 | 2059 |
else |
... | ... |
@@ -2029,7 +2076,8 @@ build_with_configuration_sdk_preferences() |
2029 | 2076 |
log_warning "Found a ./configure, but ${C_RESET}${C_BOLD}make${C_WARNING} is not installed" |
2030 | 2077 |
else |
2031 | 2078 |
build_configure "${configuration}" "${srcdir}" "${builddir}" "${name}" "${sdk}" || exit 1 |
2032 |
- return 0 |
|
2079 |
+ rval=$? |
|
2080 |
+ break |
|
2033 | 2081 |
fi |
2034 | 2082 |
else |
2035 | 2083 |
log_fluff "There is no configure script in \"${srcdir}\"" |
... | ... |
@@ -2046,7 +2094,8 @@ build_with_configuration_sdk_preferences() |
2046 | 2094 |
log_warning "Found a CMakeLists.txt, but ${C_RESET}${C_BOLD}cmake${C_WARNING} is not installed" |
2047 | 2095 |
else |
2048 | 2096 |
build_cmake "${configuration}" "${srcdir}" "${builddir}" "${name}" "${sdk}" || exit 1 |
2049 |
- return 0 |
|
2097 |
+ rval=$? |
|
2098 |
+ break |
|
2050 | 2099 |
fi |
2051 | 2100 |
else |
2052 | 2101 |
log_fluff "There is no CMakeLists.txt file in \"${srcdir}\"" |
... | ... |
@@ -2063,7 +2112,13 @@ build_with_configuration_sdk_preferences() |
2063 | 2112 |
esac |
2064 | 2113 |
done |
2065 | 2114 |
|
2066 |
- return 1 |
|
2115 |
+ if [ $rval -eq 0 ] |
|
2116 |
+ then |
|
2117 |
+ collect_and_dispense_product "${name}" "${configuration}" "${sdk}" "${wasxcode}" || \ |
|
2118 |
+ internal_fail "collect failed silently" |
|
2119 |
+ fi |
|
2120 |
+ |
|
2121 |
+ return $rval |
|
2067 | 2122 |
} |
2068 | 2123 |
|
2069 | 2124 |
|
... | ... |
@@ -2118,19 +2173,31 @@ configure"`" |
2118 | 2173 |
local sdk |
2119 | 2174 |
|
2120 | 2175 |
# need uniform SDK for our builds |
2121 |
- sdks=`read_build_setting "${name}" "sdks" "Default"` |
|
2176 |
+ sdks=`read_build_setting "${name}" "sdks" "${OPTION_SDKS}"` |
|
2177 |
+ |
|
2122 | 2178 |
[ ! -z "${sdks}" ] || fail "setting \"sdks\" must at least contain \"Default\" to build anything" |
2123 | 2179 |
|
2124 | 2180 |
# settings can override the commandline default |
2125 | 2181 |
configurations="`read_build_setting "${name}" "configurations" "${OPTION_CONFIGURATIONS}"`" |
2126 | 2182 |
|
2183 |
+ # "export" some globals |
|
2184 |
+ local BUILD_CONFIGURATIONS |
|
2185 |
+ local BUILD_SDKS |
|
2186 |
+ |
|
2187 |
+ BUILD_CONFIGURATIONS="${configurations}" |
|
2188 |
+ BUILD_SDKS="${sdks}" |
|
2189 |
+ |
|
2127 | 2190 |
for sdk in ${sdks} |
2128 | 2191 |
do |
2129 |
- # remap macosx to Default, as EFFECTIVE_PLATFORM_NAME will not be appeneded by Xcode |
|
2130 |
- if [ "$sdk" = "macosx" ] |
|
2131 |
- then |
|
2132 |
- sdk="Default" |
|
2133 |
- fi |
|
2192 |
+ # remap macosx to Default, as EFFECTIVE_PLATFORM_NAME will not be appended by Xcode |
|
2193 |
+ case "${UNAME}" in |
|
2194 |
+ darwin) |
|
2195 |
+ if [ "$sdk" = "macosx" ] |
|
2196 |
+ then |
|
2197 |
+ sdk="Default" |
|
2198 |
+ fi |
|
2199 |
+ ;; |
|
2200 |
+ esac |
|
2134 | 2201 |
|
2135 | 2202 |
for configuration in ${configurations} |
2136 | 2203 |
do |
... | ... |
@@ -2441,10 +2508,12 @@ build_main() |
2441 | 2508 |
local OPTION_CLEAN_BEFORE_BUILD |
2442 | 2509 |
local OPTION_CHECK_USR_LOCAL_INCLUDE |
2443 | 2510 |
local OPTION_CONFIGURATIONS |
2511 |
+ local OPTION_SDKS |
|
2444 | 2512 |
local OPTION_ADD_USR_LOCAL |
2445 | 2513 |
local OPTION_USE_CC_CXX |
2446 | 2514 |
local OPTION_FROM |
2447 | 2515 |
local OPTION_TO |
2516 |
+ local OPTION_DISPENSE_STYLE # keep empty |
|
2448 | 2517 |
|
2449 | 2518 |
OPTION_CHECK_USR_LOCAL_INCLUDE="`read_config_setting "check_usr_local_include" "NO"`" |
2450 | 2519 |
OPTION_USE_CC_CXX="`read_config_setting "use_cc_cxx" "YES"`" |
... | ... |
@@ -2456,9 +2525,9 @@ build_main() |
2456 | 2525 |
while [ $# -ne 0 ] |
2457 | 2526 |
do |
2458 | 2527 |
case "$1" in |
2459 |
- -c|--configuration) |
|
2528 |
+ -c|--configuration|--configurations) |
|
2529 |
+ [ $# -eq 1 ] && fail "argument for $1 is missing" |
|
2460 | 2530 |
shift |
2461 |
- [ $# -ne 0 ] || fail "configuration names missing" |
|
2462 | 2531 |
|
2463 | 2532 |
OPTION_CONFIGURATIONS="`printf "%s" "$1" | tr ',' '\012'`" |
2464 | 2533 |
;; |
... | ... |
@@ -2470,11 +2539,13 @@ build_main() |
2470 | 2539 |
|
2471 | 2540 |
--debug) |
2472 | 2541 |
OPTION_CONFIGURATIONS="Debug" |
2542 |
+ OPTION_DISPENSE_STYLE="none" |
|
2473 | 2543 |
;; |
2474 | 2544 |
|
2475 | 2545 |
--from) |
2476 | 2546 |
[ $# -eq 1 ] && fail "argument for $1 is missing" |
2477 | 2547 |
shift |
2548 |
+ |
|
2478 | 2549 |
OPTION_FROM="$1" |
2479 | 2550 |
;; |
2480 | 2551 |
|
... | ... |
@@ -2500,8 +2571,8 @@ build_main() |
2500 | 2571 |
;; |
2501 | 2572 |
|
2502 | 2573 |
--prefix) |
2574 |
+ [ $# -eq 1 ] && fail "argument for $1 is missing" |
|
2503 | 2575 |
shift |
2504 |
- [ $# -ne 0 ] || fail "prefix missing" |
|
2505 | 2576 |
|
2506 | 2577 |
USR_LOCAL_INCLUDE="$1/include" |
2507 | 2578 |
USR_LOCAL_LIB="$1/lib" |
... | ... |
@@ -2509,8 +2580,17 @@ build_main() |
2509 | 2580 |
|
2510 | 2581 |
--release) |
2511 | 2582 |
OPTION_CONFIGURATIONS="Release" |
2583 |
+ OPTION_DISPENSE_STYLE="none" |
|
2512 | 2584 |
;; |
2513 | 2585 |
|
2586 |
+ -sdk|--sdks) |
|
2587 |
+ [ $# -eq 1 ] && fail "argument for $1 is missing" |
|
2588 |
+ shift |
|
2589 |
+ |
|
2590 |
+ OPTION_SDKS="`printf "%s" "$1" | tr ',' '\012'`" |
|
2591 |
+ ;; |
|
2592 |
+ |
|
2593 |
+ |
|
2514 | 2594 |
--to) |
2515 | 2595 |
[ $# -eq 1 ] && fail "argument for $1 is missing" |
2516 | 2596 |
shift |
... | ... |
@@ -2553,9 +2633,21 @@ build_main() |
2553 | 2633 |
|
2554 | 2634 |
build_complete_environment |
2555 | 2635 |
|
2556 |
- [ -z "${MULLE_BOOTSTRAP_COMMAND_SH}" ] && . mulle-bootstrap-command.sh |
|
2557 |
- [ -z "${MULLE_BOOTSTRAP_GCC_SH}" ] && . mulle-bootstrap-gcc.sh |
|
2558 |
- [ -z "${MULLE_BOOTSTRAP_SCRIPTS_SH}" ] && . mulle-bootstrap-scripts.sh |
|
2636 |
+ [ -z "${MULLE_BOOTSTRAP_COMMAND_SH}" ] && . mulle-bootstrap-command.sh |
|
2637 |
+ [ -z "${MULLE_BOOTSTRAP_GCC_SH}" ] && . mulle-bootstrap-gcc.sh |
|
2638 |
+ [ -z "${MULLE_BOOTSTRAP_SCRIPTS_SH}" ] && . mulle-bootstrap-scripts.sh |
|
2639 |
+ |
|
2640 |
+ case "${ADDICTIONS_DIR}" in |
|
2641 |
+ /*|~*) |
|
2642 |
+ internal_fail "ADDICTIONS_DIR must not be an absolute path" |
|
2643 |
+ ;; |
|
2644 |
+ esac |
|
2645 |
+ case "${DEPENDENCIES_DIR}" in |
|
2646 |
+ /*|~*) |
|
2647 |
+ internal_fail "DEPENDENCIES_DIR must not be an absolute path" |
|
2648 |
+ ;; |
|
2649 |
+ esac |
|
2650 |
+ |
|
2559 | 2651 |
|
2560 | 2652 |
# |
2561 | 2653 |
# |
... | ... |
@@ -49,6 +49,9 @@ Commands: |
49 | 49 |
${OUTPUT_CLEANABLE_FILES} |
50 | 50 |
${OUTPUT_CLEANABLE_SUBDIRS}" | sort| sed '/^$/d' | sed -e 's/^/ /'` |
51 | 51 |
|
52 |
+ config : useful if config changes are not picked up |
|
53 |
+`echo "${CONFIG_CLEANABLE_SUBDIRS}" | sort| sed '/^$/d' | sed -e 's/^/ /'` |
|
54 |
+ |
|
52 | 55 |
install : keep only addictions and dependencies |
53 | 56 |
`echo "${BUILD_CLEANABLE_SUBDIRS} |
54 | 57 |
${OUTPUT_CLEANABLE_FILES} |
... | ... |
@@ -177,6 +180,7 @@ setup_clean_environment() |
177 | 180 |
BUILD_CLEANABLE_SUBDIRS="`read_sane_config_path_setting "clean_folders" "${CLONESBUILD_DIR} |
178 |