Skip to content

Commit ff1329f

Browse files
committed
Merge branch 'develop' into develop-js
2 parents 1374d7b + c417e00 commit ff1329f

File tree

96 files changed

+1771
-880
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

96 files changed

+1771
-880
lines changed

.travis.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ branches:
88
only:
99
- /^develop.*$/
1010
- /^release.*$/
11+
- coverity_scan
1112

1213
# Environment variables
1314
env:

buildbot.mk

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,15 @@ BUILDTOOL_STACK = builder/builder_tool.livecodescript
8585

8686
WKHTMLTOPDF ?= $(shell which wkhtmltopdf 2>/dev/null)
8787

88-
bin_dir = $(BUILD_PLATFORM)-bin
88+
# Those directories are given to the tool builder, and they might get passed
89+
# (like private-dir) to engine functions, to which a path relative to this file
90+
# becomes invalid).
91+
top_src_dir=${PWD}
92+
engine_dir=${top_src_dir}
93+
output_dir=${top_src_dir}
94+
work_dir=${top_src_dir}/_cache/builder_tool
95+
private_dir=${top_src_dir}/..
96+
bin_dir = ${top_src_dir}/$(BUILD_PLATFORM)-bin
8997

9098
ifeq ($(BUILD_PLATFORM),mac)
9199
LIVECODE = $(bin_dir)/LiveCode-Community.app/Contents/MacOS/LiveCode-Community
@@ -101,8 +109,8 @@ endif
101109
# FIXME add --warn-as-error
102110
buildtool_command = $(LIVECODE) -ui $(BUILDTOOL_STACK) \
103111
--build $(BUILD_STABILITY) \
104-
--engine-dir . --output-dir . --work-dir ./_cache/builder_tool \
105-
--private-dir ..
112+
--engine-dir ${engine_dir} --output-dir ${output_dir} --work-dir ${work_dir} \
113+
--private-dir ${private_dir}
106114

107115
# Settings for upload
108116
RSYNC ?= rsync
@@ -152,6 +160,7 @@ dist-upload-files.txt:
152160
-o -name 'LiveCode*Server-*-Linux*.zip' \
153161
-o -name 'LiveCode*Server-*-Mac.zip' \
154162
-o -name 'LiveCode*Server-*-Windows.zip' \
163+
-o -name '*-bin.tar.xz' \
155164
> $@
156165

157166
# Perform the upload. This is in two steps:

builder/builder_utilities.livecodescript

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -307,7 +307,7 @@ end builderArchiveBuilderStack
307307

308308
function builderModuleInterfaceFolder
309309
builderFetchEngine "", "macosx"
310-
return the result & slash & "modules"
310+
return the result & slash & "modules" & slash & "lci"
311311
end builderModuleInterfaceFolder
312312

313313
-- Returns the engine that should be used to build the installer

builder/docs_builder.livecodescript

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,8 @@ end errorShow
2424

2525
command docsBuilderRun pEdition, pVersion
2626
set the itemdelimiter to "."
27-
if item 1 of pVersion > 7 then
27+
if item 1 of pVersion > 7 then
28+
start using stack (builderRepoFolder() & slash & "ide-support/revdocsparser.livecodescript")
2829
docsBuilderGenerateDocsNew
2930
exit docsBuilderRun
3031
end if
@@ -1937,7 +1938,10 @@ command docsBuilderGenerateDistributedGuide
19371938
if it is not empty then
19381939
get textDecode(it, "utf-8")
19391940
replace "[toc]" with empty in it
1940-
put tab & "{" & CR & tab & escape("guide") & ":" & escape(tGuideName) & comma & CR & tab & escape("data") & ":" & escape(it, true) & CR & tab & "}," after tGuideData
1941+
put tab & "{" & CR after tGuideData
1942+
put tab & escape("name") & ":" & escape(revDocsModifyForURL(tGuideName)) & comma & CR after tGuideData
1943+
put tab & escape("display name") & ":" & escape(tGuideName) & comma & CR after tGuideData
1944+
put tab & escape("data") & ":" & escape(it, true) & CR & tab & "}," after tGuideData
19411945
end if
19421946
end repeat
19431947
delete the last char of tGuideData

builder/server_builder.livecodescript

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ command serverBuilderRun pPlatform, pEdition
2727

2828
-- Make sure that the output directory exists
2929
local tOutputDir
30-
put builderWorkspaceFolder() & slash & "deploy" into tOutputDir
30+
put builderOutputFolder() into tOutputDir
3131
builderEnsureFolder tOutputDir
3232

3333
local tOutputFile

builder/tools_builder.livecodescript

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -315,6 +315,9 @@ private command toolsBuilderMakeInstaller pVersion, pEdition, pPlatform, pIdeFol
315315
put pPackageFile into tParams["payload"]
316316
put tOutputFileStub & ".unsigned.exe" into tParams["output"]
317317

318+
// libURL is needed in the timestamp processing
319+
start using stack (builderRepoFolder() & slash & "ide-support" & slash & "revliburl.livecodescript")
320+
318321
if pEdition is "Commercial" then
319322
put builderCommercialResourceFolder() & "/installer.ico" into tParams["appicon"]
320323
end if
@@ -327,12 +330,13 @@ private command toolsBuilderMakeInstaller pVersion, pEdition, pPlatform, pIdeFol
327330
end if
328331

329332
-- Next we sign the installer using the certificate (if available)
330-
if there is a folder (builderSystemFolder() & slash & "certificates") then
333+
put builderPrivateRepoFolder() & slash & "certificates" into tCertificatesFolder
334+
if there is a folder (tCertificatesFolder) then
331335
put tParams["output"] into tSignParams["input"]
332336
put tOutputFileStub & ".exe" into tSignParams["output"]
333-
put builderSystemFolder() & slash & "certificates/runrev_bin.spc" into tSignParams["certificate"]
334-
put builderSystemFolder() & slash & "certificates/runrev.pvk" into tSignParams["privatekey"]
335-
put word 1 of url ("file:" & builderSystemFolder() & slash & "certificates/runrev_password.txt") into tSignParams["passphrase"]
337+
put tCertificatesFolder & "/runrev_bin.spc" into tSignParams["certificate"]
338+
put tCertificatesFolder & "/runrev.pvk" into tSignParams["privatekey"]
339+
put word 1 of url ("file:" & tCertificatesFolder & "/runrev_password.txt") into tSignParams["passphrase"]
336340
put "http://timestamp.verisign.com/scripts/timstamp.dll" into tSignParams["timestamper"]
337341
put "http://www.runrev.com" into tSignParams["url"]
338342
if pEdition is "Community" then

config/ios.gypi

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
'SDKROOT': '<(target_sdk)',
1818
'SUPPORTED_PLATFORMS': 'iphoneos iphonesimulator',
1919

20-
'SOLUTION_DIR': '<(DEPTH)',
20+
'SOLUTION_DIR': '$(SOURCE_ROOT)/<(DEPTH)',
2121
'SYMROOT': '$(SOLUTION_DIR)/_build/ios/$(SDK_NAME)',
2222
'OBJROOT': '$(SOLUTION_DIR)/_cache/ios/$(SDK_NAME)',
2323
'CONFIGURATION_BUILD_DIR': '$(SYMROOT)/$(CONFIGURATION)',

docs/notes/bugfix-15509.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# Condition "<expr> in <expr>" does not throw parse error for 'case' or 'repeat until/while'

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

0 commit comments

Comments
 (0)