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

Commit 2a90c5a

Browse files
Merge branch 'develop-6.7' of https://github.com/runrev/livecode into develop-7.0
Conflicts: engine/engine-sources.gypi ide libgraphics/libgraphics.gyp prebuilt thirdparty
2 parents a61c7e2 + 7a7d555 commit 2a90c5a

File tree

11 files changed

+89
-41
lines changed

11 files changed

+89
-41
lines changed

config/ios.gypi

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
{
1515
'SDKROOT': '<(target_sdk)',
1616

17-
'SOLUTION_DIR': '<(DEPTH)',
17+
'SOLUTION_DIR': '$(SOURCE_ROOT)/<(DEPTH)',
1818
'SYMROOT': '$(SOLUTION_DIR)/_build/ios/$(SDK_NAME)',
1919
'OBJROOT': '$(SOLUTION_DIR)/_cache/ios/$(SDK_NAME)',
2020
'CONFIGURATION_BUILD_DIR': '$(SYMROOT)/$(CONFIGURATION)',

engine/app-bundle-template.gypi

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
'target_conditions':
1010
[
1111
[
12-
'_type != "none"',
12+
'_type == "executable"',
1313
{
1414
'mac_bundle': 1,
1515
},

engine/bind-ios-standalone.sh

Lines changed: 25 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -4,21 +4,21 @@ set -e
44

55
case "$1" in
66
*-community.lcext)
7-
SECTIONS="${SRCROOT}/standalone.ios"
7+
DEPS_FILE="${SRCROOT}/standalone.ios"
88
;;
99
*-commercial.lcext)
10-
SECTIONS="${SRCROOT}/../livecode/engine/standalone.ios"
10+
DEPS_FILE="${SRCROOT}/../livecode/engine/standalone.ios"
1111
;;
1212
esac
1313

1414
case "${SDKROOT}" in
15-
iphonesimulator*)
15+
*iPhoneOS*)
1616
case "$1" in
1717
*-community.lcext)
18-
ln -sf standalone-mobile-community.app/standalone-mobile-community "$BUILT_PRODUCTS_DIR/standalone-mobile-community.ios-engine"
18+
ln -sf standalone-mobile-lib-community.lcext "$BUILT_PRODUCTS_DIR/standalone-mobile-community.ios-engine"
1919
;;
2020
*-commercial.lcext)
21-
ln -sf standalone-mobile-commercial.app/standalone-mobile-commercial "$BUILT_PRODUCTS_DIR/standalone-mobile-commercial.ios-engine"
21+
ln -sf standalone-mobile-lib-commercial.lcext "$BUILT_PRODUCTS_DIR/standalone-mobile-commercial.ios-engine"
2222
;;
2323
*)
2424
echo "Unexpected filename $1" >&2
@@ -36,23 +36,27 @@ else
3636
fi
3737

3838
if [ "${CONFIGURATION}" = "Debug" ] ; then
39-
STRIP_FLAG="-Wl,-x"
40-
else
4139
STRIP_FLAG=""
40+
else
41+
STRIP_FLAG="-Wl,-x"
4242
fi
4343

44-
"${BIN_DIR}/g++" -nodefaultlibs -Wl,-r ${STRIP_FLAG} -arch ${ARCHS//\ /\ -arch\ } -isysroot "${SDKROOT}" -o $@ -Wl,-sectcreate -Wl,-__MISC -Wl,__deps -Wl,"${SECTIONS}" -Wl,-exported_symbol -Wl,_main -Wl,-exported_symbol -Wl,_load_module -Wl,-exported_symbol -Wl,_resolve_symbol
45-
46-
case "$1" in
47-
*-community.lcext)
48-
ln -sf "$1" "$BUILT_PRODUCTS_DIR/standalone-mobile-community.ios-engine"
49-
;;
50-
*-commercial.lcext)
51-
ln -sf "$1" "$BUILT_PRODUCTS_DIR/standalone-mobile-commercial.ios-engine"
52-
;;
53-
*)
54-
echo "Unexpected filename $1" >&2
55-
exit 1
56-
;;
57-
esac
44+
# Process the list of imports into a linker command line
45+
while read dep; do
46+
read type name <<< "${dep}"
47+
case "${type}" in
48+
library)
49+
libs+=\ -l"${name}"
50+
;;
51+
framework)
52+
libs+=\ -framework\ "${name}"
53+
;;
54+
*)
55+
echo "Unknown dependency type ${type}" >&2
56+
exit 1
57+
;;
58+
esac
59+
done <"${DEPS_FILE}"
60+
61+
"${BIN_DIR}/g++" -ObjC ${libs} ${STRIP_FLAG} -arch ${ARCHS//\ /\ -arch\ } --sysroot "${SDKROOT}" -o $2 $1 -mios-simulator-version-min=${IPHONEOS_DEPLOYMENT_TARGET}
5862

engine/engine-sources.gypi

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -857,6 +857,8 @@
857857
'sources!':
858858
[
859859
'src/dskmac.cpp',
860+
'src/coretextlayout.mm',
861+
'src/srvmac.cpp',
860862
],
861863
},
862864
],
@@ -973,6 +975,7 @@
973975
[
974976
'src/stacke.cpp',
975977
'src/sysunxdate.cpp',
978+
'src/sysunxrandom.cpp',
976979

977980
'src/mbliphoneembedded.mm',
978981
'src/mbliphoneembeddedtest.mm',

engine/engine.gyp

Lines changed: 39 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -149,12 +149,6 @@
149149

150150
'conditions':
151151
[
152-
[
153-
'OS == "mac"',
154-
{
155-
'product_name': 'Server-Community',
156-
},
157-
],
158152
[
159153
'mobile != 0',
160154
{
@@ -218,8 +212,34 @@
218212
[
219213
'OS == "ios"',
220214
{
221-
'product_name': 'standalone-mobile-community',
215+
'product_name': 'standalone-mobile-lib-community',
216+
'product_prefix': '',
217+
'product_extension': 'lcext',
222218
'app_plist': 'rsrc/standalone-mobile-Info.plist',
219+
220+
# Forces all dependencies to be linked properly
221+
'type': 'shared_library',
222+
223+
'variables':
224+
{
225+
'deps_file': '${SRCROOT}/standalone.ios',
226+
},
227+
228+
'xcode_settings':
229+
{
230+
'DEAD_CODE_STRIPPING': 'NO',
231+
'DYLIB_COMPATIBILITY_VERSION': '',
232+
'DYLIB_CURRENT_VERSION': '',
233+
'MACH_O_TYPE': 'mh_object',
234+
'OTHER_LDFLAGS':
235+
[
236+
'-Wl,-sectcreate,__MISC,__deps,<(deps_file)',
237+
'-Wl,-exported_symbol,_main',
238+
'-Wl,-exported_symbol,_load_module',
239+
'-Wl,-exported_symbol,_resolve_symbol',
240+
#'-all_load', # Dead stripping later will remove un-needed symbols
241+
],
242+
},
223243
},
224244
],
225245
[
@@ -383,7 +403,13 @@
383403
},
384404
],
385405
[
386-
'OS != "android"',
406+
'OS == "ios"',
407+
{
408+
'dist_files': [ '<(PRODUCT_DIR)/standalone-mobile-community.ios-engine' ],
409+
},
410+
],
411+
[
412+
'OS != "android" and OS != "ios"',
387413
{
388414
'dist_files': [ '<(PRODUCT_DIR)/<(_product_name)>(app_bundle_suffix)' ],
389415
}
@@ -571,12 +597,12 @@
571597
},
572598

573599
{
574-
'target_name': 'standalone-mobile-lib-community',
600+
'target_name': 'ios-standalone-executable',
575601
'type': 'none',
576602

577603
'dependencies':
578604
[
579-
'kernel-standalone',
605+
'standalone',
580606
],
581607

582608
'conditions':
@@ -592,20 +618,19 @@
592618

593619
'inputs':
594620
[
595-
'<(PRODUCT_DIR)/libkernel.a',
596-
'<(PRODUCT_DIR)/libkernel-standalone.a',
621+
'<(PRODUCT_DIR)/standalone-mobile-lib-community.lcext',
597622
],
598623

599624
'outputs':
600625
[
601-
'<(PRODUCT_DIR)/standalone-mobile-lib-community.lcext',
626+
'<(PRODUCT_DIR)/standalone-mobile-community.ios-engine',
602627
],
603628

604629
'action':
605630
[
606631
'./bind-ios-standalone.sh',
607-
'<@(_outputs)',
608632
'<@(_inputs)',
633+
'<@(_outputs)',
609634
],
610635
},
611636
],

ide

Submodule ide updated from 56fd1f7 to ff4dae6

ide-support/revsaveasiosstandalone.livecodescript

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1505,7 +1505,8 @@ function revMobileRuntimeFolder pTarget, pVersion
15051505
// SN-2015-05-01: [[ Refactor iOS SDK version ]] Build the simulator location
15061506
// stub on the fly.
15071507
replace "." with "_" in pTarget
1508-
put "Simulator-" & pTarget into tStub
1508+
replace space with "-" in pTarget
1509+
put pTarget into tStub
15091510
end if
15101511

15111512
local tUserPath, tOverridePath

libgraphics/libgraphics.gyp

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,15 @@
7171
],
7272
},
7373
],
74+
[
75+
'OS == "ios"',
76+
{
77+
'sources!':
78+
[
79+
'src/coretext.cpp',
80+
],
81+
},
82+
],
7483
],
7584

7685
'direct_dependent_settings':

livecode.gyp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@
8383
{
8484
'dependencies':
8585
[
86-
'engine/engine.gyp:standalone-mobile-lib-community',
86+
'engine/engine.gyp:ios-standalone-executable',
8787
],
8888
},
8989
],

revspeech/src/revspeech.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ along with LiveCode. If not see <http://www.gnu.org/licenses/>. */
1919
#include <stdio.h>
2020

2121
#include <revolution/external.h>
22+
#include <revolution/support.h>
2223

2324
#include "revspeech.h"
2425

@@ -75,9 +76,14 @@ static bool NarratorUnload(void)
7576

7677
///////////////////////////////////////////////////////////////////////////////
7778

79+
extern "C" void getXtable();
80+
7881
void revSpeechLoad(char *args[], int nargs, char **retstring,
7982
Bool *pass, Bool *error)
8083
{
84+
// Force a reference to the getXtable function
85+
getXtable();
86+
8187
*pass = False;
8288
*error = False;
8389
char *result = NULL;

0 commit comments

Comments
 (0)