Skip to content

Commit e256359

Browse files
Fraser J. Gordonlivecodeian
authored andcommitted
Use a host build of the server engine when cross-compiling
This is needed as we use the server engine to generate some of the components of the build but, when cross-compiling, we can't run the server engine for the target.
1 parent 677fd77 commit e256359

File tree

16 files changed

+274
-136
lines changed

16 files changed

+274
-136
lines changed

engine/engine-common.gyp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@
1010
{
1111
'target_name': 'encode_version',
1212
'type': 'none',
13+
14+
'toolsets': ['host', 'target'],
1315

1416
'actions':
1517
[
@@ -50,6 +52,8 @@
5052
'target_name': 'quicktime_stubs',
5153
'type': 'none',
5254

55+
'toolsets': ['host', 'target'],
56+
5357
'actions':
5458
[
5559
{

engine/engine.gyp

Lines changed: 53 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -20,35 +20,53 @@
2020
},
2121

2222
'targets':
23-
[
23+
[
2424
{
25-
'target_name': 'descriptify_environment_stack',
25+
'target_name': 'host-server',
2626
'type': 'none',
27-
28-
'variables':
29-
{
30-
'conditions':
27+
28+
'toolsets': ['host', 'target'],
29+
30+
'conditions':
31+
[
3132
[
32-
[
33-
'host_os == "linux"',
34-
{
35-
'engine': '<(PRODUCT_DIR)/server-community',
36-
},
37-
],
38-
[
39-
'host_os == "mac"',
33+
'cross_compile != 0',
34+
{
35+
'dependencies':
36+
[
37+
'server#host',
38+
],
39+
40+
'direct_dependent_settings':
4041
{
41-
'engine': '<(PRODUCT_DIR)/server-community',
42+
'variables':
43+
{
44+
'engine': '<(PRODUCT_DIR)/server-community-host>(exe_suffix)'
45+
},
4246
},
43-
],
44-
[
45-
'host_os == "win"',
47+
},
48+
{
49+
'dependencies':
50+
[
51+
'server#target',
52+
],
53+
54+
'direct_dependent_settings':
4655
{
47-
'engine': '<(PRODUCT_DIR)/server-community.exe',
56+
'variables':
57+
{
58+
'engine': '<(PRODUCT_DIR)/server-community>(exe_suffix)',
59+
},
4860
},
49-
],
61+
},
5062
],
51-
},
63+
],
64+
},
65+
66+
67+
{
68+
'target_name': 'descriptify_environment_stack',
69+
'type': 'none',
5270

5371
'sources':
5472
[
@@ -72,7 +90,7 @@
7290
'dependencies':
7391
[
7492
# Requires a working LiveCode engine
75-
'server',
93+
'host-server',
7694
],
7795

7896
'actions':
@@ -94,7 +112,7 @@
94112

95113
'action':
96114
[
97-
'<(engine)',
115+
'>(engine)',
98116
'../util/descriptify_stack.livecodescript',
99117
'<(SHARED_INTERMEDIATE_DIR)/src/environment_descriptified.livecode',
100118
'<@(_sources)',
@@ -145,6 +163,8 @@
145163
'type': 'executable',
146164
'product_name': 'server-community',
147165

166+
'toolsets': ['host', 'target'],
167+
148168
'dependencies':
149169
[
150170
'kernel-server.gyp:kernel-server',
@@ -177,6 +197,16 @@
177197
},
178198
],
179199
],
200+
201+
'target_conditions':
202+
[
203+
[
204+
'_toolset == "host"',
205+
{
206+
'product_name': 'server-community-host',
207+
},
208+
],
209+
],
180210

181211
'msvs_settings':
182212
{

engine/host-server.gyp

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
{
2+
'include':
3+
[
4+
'../common.gypi',
5+
],
6+
7+
'targets':
8+
[
9+
{
10+
'target_name': 'host-server',
11+
'type': 'none',
12+
13+
'toolsets': ['host', 'target'],
14+
15+
'conditions':
16+
[
17+
[
18+
'cross_compile != 0',
19+
{
20+
'dependencies':
21+
[
22+
'engine.gyp:server#host',
23+
],
24+
25+
'direct_dependent_settings':
26+
{
27+
'variables':
28+
{
29+
'engine': '<(PRODUCT_DIR)/server-community-host>(exe_suffix)'
30+
},
31+
},
32+
},
33+
{
34+
'dependencies':
35+
[
36+
'engine.gyp:server#target',
37+
],
38+
39+
'direct_dependent_settings':
40+
{
41+
'variables':
42+
{
43+
'engine': '<(PRODUCT_DIR)/server-community>(exe_suffix)',
44+
},
45+
},
46+
},
47+
],
48+
],
49+
},
50+
],
51+
}

engine/kernel-server.gyp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,8 @@
3434
'target_name': 'kernel-server',
3535
'type': 'static_library',
3636

37+
'toolsets': ['host', 'target'],
38+
3739
'includes':
3840
[
3941
'kernel-mode-template.gypi',

engine/lcb-modules.gyp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@
1212
'target_name': 'engine_lcb_modules',
1313
'type': 'none',
1414

15+
'toolsets': ['host', 'target'],
16+
1517
'dependencies':
1618
[
1719
'../toolchain/lc-compile/lc-compile.gyp:lc-compile#host',

0 commit comments

Comments
 (0)