Skip to content
This repository was archived by the owner on Aug 31, 2021. It is now read-only.

Commit 69bb785

Browse files
Add the infrastructure for lc-compile staging
1 parent 67420bb commit 69bb785

5 files changed

Lines changed: 158 additions & 1 deletion

File tree

livecode.gyp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,9 @@
1515
# Engines
1616
'engine/engine.gyp:standalone',
1717

18+
# LCB toolchain
19+
'toolchain/toolchain.gyp:toolchain-all',
20+
1821
# The revsecurity library is an output and not an intermediate product
1922
'thirdparty/libopenssl/libopenssl.gyp:revsecurity',
2023

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
{
2+
'includes':
3+
[
4+
'../../common.gypi',
5+
],
6+
7+
8+
'targets':
9+
[
10+
{
11+
'target_name': 'lc-compile',
12+
'type': 'none',
13+
14+
'toolsets': ['host','target'],
15+
16+
'conditions':
17+
[
18+
[
19+
'cross_compile == 0',
20+
{
21+
'dependencies':
22+
[
23+
'src/lc-compile-bootstrap.gyp:lc-compile-stage3#target',
24+
],
25+
26+
'direct_dependent_settings':
27+
{
28+
'variables':
29+
{
30+
'lc-compile_target': '<(PRODUCT_DIR)/lc-compile<(EXECUTABLE_SUFFIX)',
31+
'lc-compile_host': '<(PRODUCT_DIR)/lc-compile<(EXECUTABLE_SUFFIX)',
32+
},
33+
},
34+
},
35+
{
36+
'dependencies':
37+
[
38+
'src/lc-compile-bootstrap.gyp:lc-compile-stage3#host',
39+
'src/lc-compile-bootstrap.gyp:lc-compile-stage4#target',
40+
],
41+
42+
'direct_dependent_settings':
43+
{
44+
'variables':
45+
{
46+
'lc-compile_target': '<(PRODUCT_DIR)/lc-compile<(EXECUTABLE_SUFFIX)',
47+
'lc-compile_host': '<(PRODUCT_DIR)/lc-compile-stage3-host<(EXECUTABLE_SUFFIX)',
48+
},
49+
},
50+
},
51+
],
52+
],
53+
54+
'direct_dependent_settings':
55+
{
56+
'variables':
57+
{
58+
'dist_files':
59+
[
60+
'<(lc-compile_target)',
61+
],
62+
},
63+
},
64+
},
65+
],
66+
}

toolchain/lc-compile/src/lc-compile-bootstrap-common.gypi

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
{
44
'variables':
55
{
6-
'current_lc-compile': '<(PRODUCT_DIR)/>(_product_name)',
6+
'current_lc-compile': '<(PRODUCT_DIR)/<(_product_name)',
77
},
88
},
99

toolchain/lc-compile/src/lc-compile-bootstrap.gyp

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -253,5 +253,74 @@
253253
'lc-compile-bootstrap-common.gypi',
254254
],
255255
},
256+
{
257+
'target_name': 'lc-compile-stage3',
258+
'type': 'executable',
259+
260+
'toolsets': ['host','target'],
261+
262+
'conditions':
263+
[
264+
[
265+
'cross_compile == 0 and _toolset == "target"',
266+
{
267+
'product_name': 'lc-compile',
268+
},
269+
{
270+
'product_name': 'lc-compile-stage3-<(_toolset)',
271+
},
272+
],
273+
],
274+
275+
'variables':
276+
{
277+
'stage': 'stage3',
278+
},
279+
280+
'dependencies':
281+
[
282+
'lc-compile-stage2',
283+
],
284+
285+
'includes':
286+
[
287+
'lc-compile-bootstrap-common.gypi',
288+
],
289+
},
290+
],
291+
292+
'conditions':
293+
[
294+
[
295+
'cross_compile != 0',
296+
{
297+
'targets':
298+
[
299+
{
300+
'target_name': 'lc-compile-stage4',
301+
'type': 'executable',
302+
303+
'toolsets': ['target'],
304+
305+
'product_name': 'lc-compile',
306+
307+
'variables':
308+
{
309+
'stage': 'stage4',
310+
},
311+
312+
'dependencies':
313+
[
314+
'lc-compile-stage3#host',
315+
],
316+
317+
'includes':
318+
[
319+
'lc-compile-bootstrap-common.gypi',
320+
],
321+
},
322+
],
323+
},
324+
],
256325
],
257326
}

toolchain/toolchain.gyp

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
{
2+
'include':
3+
[
4+
'../common.gypi',
5+
],
6+
7+
'targets':
8+
[
9+
{
10+
'target_name': 'toolchain-all',
11+
'type': 'none',
12+
13+
'dependencies':
14+
[
15+
'lc-compile/lc-compile.gyp:lc-compile',
16+
],
17+
},
18+
],
19+
}

0 commit comments

Comments
 (0)