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

Commit 2e75fa1

Browse files
committed
Merge branch 'develop' into fix-vs2015
2 parents 2f8e5cc + 04719fd commit 2e75fa1

File tree

284 files changed

+16255
-5400
lines changed

Some content is hidden

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

284 files changed

+16255
-5400
lines changed

.travis.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,9 @@ env:
3434
- secure: "R/JfoBMrkhCGWhfWM1m3gPHuLtMBlp2SIK1R9BaPbRsbGBUJmAg9V0g0YXSaw8SVxoyuiL/jsLtHPfDeub9oTxrYydew+6/4KaoQdG7EGXQJfBhH2f0ag/hTKJfXnmZX9jMMnTxPf5Axjq+w4E6sKkU2+d1oAJRhrqzYNwDhVlc="
3535
- CXX_STD: "c++11"
3636

37+
jdk:
38+
- openjdk6
39+
3740
# Install any required tools
3841
before_install:
3942
- |
@@ -55,6 +58,7 @@ script: |
5558
BUILD_PLATFORM=linux
5659
CHECK_COMMAND=xvfb-run
5760
LICENSE_DIR="${HOME}/.runrev/licenses"
61+
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:"${JAVA_HOME}/jre/lib/amd64/server"
5862
;;
5963
osx)
6064
BUILD_PLATFORM=mac
@@ -63,6 +67,7 @@ script: |
6367
export XCODE_TARGET_SDK=macosx10.11
6468
export XCODEBUILD="set -o pipefail && xcodebuild"
6569
export XCODEBUILD_FILTER="| xcpretty"
70+
export JAVA_HOME=$(/usr/libexec/java_home)
6671
;;
6772
esac
6873

Installer/package.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -421,18 +421,21 @@ component Toolchain.MacOSX
421421
into [[ToolsFolder]]/Toolchain place
422422
executable macosx:lc-compile as lc-compile
423423
executable macosx:lc-run as lc-run
424+
executable macosx:lc-compile-ffi-java as lc-compile-ffi-java
424425
rfolder macosx:modules
425426

426427
component Toolchain.Windows
427428
into [[ToolsFolder]]/Toolchain place
428429
executable windows:lc-compile.exe as lc-compile.exe
429430
executable windows:lc-run.exe as lc-run.exe
431+
executable windows:lc-compile-ffi-java.exe as lc-compile-ffi-java.exe
430432
rfolder windows:modules
431433

432434
component Toolchain.Linux
433435
into [[ToolsFolder]]/Toolchain place
434436
executable linux-[[TargetArchitecture]]:lc-compile as lc-compile
435437
executable linux-[[TargetArchitecture]]:lc-run as lc-run
438+
executable linux-[[TargetArchitecture]]:lc-compile-ffi-java as lc-compile-ffi-java
436439
rfolder linux-[[TargetArchitecture]]:modules
437440

438441
////////////////////////////////////////////////////////////////////////////////
@@ -539,6 +542,7 @@ component Runtime.Android
539542
file android:Manifest.xml
540543
file android:livecode_inputcontrol.xml
541544
file android:notify_icon.png
545+
file android:nfc_tech_filter.xml
542546
executable android:Standalone[[BaseEditionTagUpper]] as Standalone
543547
executable android:RevZip
544548
executable android:RevXml

bugfix-13570.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# Dictionary - Export Snapshot added missing platform and OS elements.

buildbot.mk

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -200,6 +200,7 @@ dist-upload-files.txt sha1sum.txt:
200200
-o -name 'LiveCode*Server-*-Windows.zip' \
201201
-o -name 'LiveCode*Docs-*.zip' \
202202
-o -name '*-bin.tar.xz' \
203+
-o -name '*-bin.tar.bz2' \
203204
> dist-upload-files.txt; \
204205
if test "${UPLOAD_RELEASE_NOTES}" = "yes"; then \
205206
find . -maxdepth 1 -name 'LiveCodeNotes*.pdf' >> dist-upload-files.txt; \

builder/tools_builder.livecodescript

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -408,15 +408,7 @@ private command toolsBuilderMakeInstaller pVersion, pEdition, pPlatform, pIdeFol
408408
put builderRepoFolder() & slash & "ide-support" & slash & "revliburl.livecodescript" into tAuxStackfiles
409409
end if
410410
put return & builderSystemFolder() & slash & "installer_utilities.livecodescript" after tAuxStackfiles
411-
412-
start using stack (builderRepoFolder() & slash & "ide-support" & slash & "revsblibrary.livecodescript")
413-
repeat for each line tStackFile in tAuxStackfiles
414-
local tTempStackFile
415-
put builderMakeTemporaryFile(tTempFolder, "stack") into tTempStackFile
416-
revSBResaveScriptOnlyStackAsProperStackFile the short name of stack tStackFile, tStackFile, tTempStackFile
417-
put tTempStackFile & return after tParams["auxiliary_stackfiles"]
418-
end repeat
419-
delete the last char of tParams["auxiliary_stackfiles"]
411+
put tAuxStackfiles into tParams["auxiliary_stackfiles"]
420412

421413
// revLibURL needs to initialise its custom props, and revLoadLibrary must therefore be called.
422414
put merge("send [[quote]]revLoadLibrary[[quote]] to stack [[quote]]revLibUrl[[quote]]") into tParams["startup_script"]

config.py

Lines changed: 30 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import platform
2020
import re
2121
import os
22+
import subprocess
2223

2324
KNOWN_PLATFORMS = (
2425
'linux-x86', 'linux-x86_64', 'android-armv6',
@@ -267,19 +268,34 @@ def validate_gyp_settings(opts):
267268
if opts['BUILD_EDITION'] is None:
268269
opts['BUILD_EDITION'] = 'community'
269270

270-
def guess_java_home(os):
271+
def guess_java_home(platform):
272+
if platform.startswith('linux'):
273+
try:
274+
javac_str = '/bin/javac'
275+
javac_path = subprocess.check_output(['/usr/bin/env',
276+
'readlink', '-f', '/usr' + javac_str]).strip()
277+
if (os.path.isfile(javac_path) and
278+
javac_path.endswith(javac_str)):
279+
return javac_path[:-len(javac_str)]
280+
except subprocess.CalledProcessError as e:
281+
print(e)
282+
pass # Fall through to other ways of guessing
283+
284+
# More guesses
271285
try:
272-
return subprocess.check_output('/usr/libexec/java_home')
273-
except CalledProcessError as e:
286+
if os.path.isfile('/usr/libexec/java_home'):
287+
return subprocess.check_output('/usr/libexec/java_home').strip()
288+
except subprocess.CalledProcessError as e:
289+
print(e)
274290
pass
275291
for d in ('/usr/lib/jvm/default', '/usr/lib/jvm/default-java'):
276292
if os.path.isdir(d):
277293
return d
278294

279295
def validate_java_tools(opts):
280296
if opts['JAVA_SDK'] is None:
281-
validate_os(opts)
282-
sdk = guess_java_home(os)
297+
validate_platform(opts)
298+
sdk = guess_java_home(opts['PLATFORM'])
283299
if sdk is None:
284300
error('Java SDK not found; set $JAVA_SDK')
285301
opts['JAVA_SDK'] = sdk
@@ -370,7 +386,7 @@ def guess_android_tooldir(name):
370386
# in the SDK's build-tools subdirectory. This is pretty fragile if someone
371387
# has (potentially?) multiple sets of build tools installed.
372388
def guess_android_build_tools(sdkdir):
373-
dirs = listdir(os.path.join(sdkdir, 'build-tools'))
389+
dirs = os.listdir(os.path.join(sdkdir, 'build-tools'))
374390
if len(dirs) == 1:
375391
return dirs[0]
376392
return None
@@ -473,7 +489,9 @@ def gyp_define_args(opts, names):
473489

474490
def configure_linux(opts):
475491
validate_target_arch(opts)
476-
args = core_gyp_args(opts) + ['-Dtarget_arch=' + opts['TARGET_ARCH']]
492+
validate_java_tools(opts)
493+
args = core_gyp_args(opts) + ['-Dtarget_arch=' + opts['TARGET_ARCH'],
494+
'-Djavahome=' + opts['JAVA_SDK']]
477495
exec_gyp(args + opts['GYP_OPTIONS'])
478496

479497
def configure_emscripten(opts):
@@ -495,7 +513,8 @@ def configure_android(opts):
495513
'OBJDUMP', 'STRIP'))
496514
args = core_gyp_args(opts) + ['-Dtarget_arch=' + opts['TARGET_ARCH'],
497515
'-Dcross_compile=1',
498-
'-Gandroid_ndk_version=' + opts['ANDROID_NDK_VERSION']]
516+
'-Gandroid_ndk_version=' + opts['ANDROID_NDK_VERSION'],
517+
'-Djavahome=' + opts['JAVA_SDK']]
499518
exec_gyp(args + opts['GYP_OPTIONS'])
500519

501520
def configure_win(opts):
@@ -515,10 +534,12 @@ def configure_win(opts):
515534
def configure_mac(opts):
516535
validate_target_arch(opts)
517536
validate_xcode_sdks(opts)
537+
validate_java_tools(opts)
518538

519539
args = core_gyp_args(opts) + ['-Dtarget_sdk=' + opts['XCODE_TARGET_SDK'],
520540
'-Dhost_sdk=' + opts['XCODE_HOST_SDK'],
521-
'-Dtarget_arch=' + opts['TARGET_ARCH']]
541+
'-Dtarget_arch=' + opts['TARGET_ARCH'],
542+
'-Djavahome=' + opts['JAVA_SDK']]
522543
exec_gyp(args + opts['GYP_OPTIONS'])
523544

524545
def configure_ios(opts):

docs/development/build-emscripten.md

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,10 @@ an Emscripten engine.
2222

2323
/opt/emsdk_portable/emsdk list
2424

25-
3. Install and activate the "incoming" SDK by running:
25+
3. Install and activate SDK 1.35.23 by running:
2626

27-
/opt/emsdk_portable/emsdk install sdk-incoming-64bit
28-
/opt/emsdk_portable/emsdk activate sdk-incoming-64bit
27+
/opt/emsdk_portable/emsdk install sdk-1.35.23-32bit
28+
/opt/emsdk_portable/emsdk activate sdk-1.35.23-32bit
2929

3030
This will take a really long time and use an insane amount of RAM.
3131

@@ -65,4 +65,3 @@ Some web browsers (including Google Chrome) have JavaScript security policies th
6565
python -m SimpleHTTPServer 8080
6666

6767
You can then load http://localhost:8080/ in a web browser to view your standalone HTML5 engine.
68-

docs/dictionary/command/export-snapshot.lcdoc

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,19 @@ Name: export snapshot
22

33
Type: command
44

5-
Syntax: export snapshot {[from rect[angle] <rectangle>] [of <object(glossary)>] | from <object> } [{with | without} effects] [at size <size>] [{with|and} metadata <metadata>] to {file <filePath> | <container>} [as <format>] [with mask <maskFile>]
5+
Syntax: export snapshot {[from rect[angle] <rectangle>] [of <object(glossary)>] | from <object> [{with | without} effects]} [at size <size>] [{with|and} metadata <metadata>] to {file <filePath> | <container>} [as <format>] [with mask <maskFile>]
66

77
Summary:
88
Creates a picture file from a portion of the screen.
99

1010
Introduced: 2.1
1111

12+
OS: mac, windows, linux, ios, android
13+
14+
Platforms: desktop, mobile
15+
16+
Security: privacy
17+
1218
Example:
1319
export snapshot to file "Test.ppm"
1420

@@ -36,6 +42,7 @@ given in relative (window) coordinates; otherwise, it is given in
3642
absolute coordinates.
3743

3844
object:
45+
Any valid <object reference>.
3946

4047
size:
4148
The width,height of the snapshot in pixels.
@@ -133,11 +140,14 @@ To export a snapshot of the screen in iOS use the form:
133140
>*Important:* The 'at size' variant of the export snapshot command is
134141
> currently only when creating snapshots of objects.
135142

143+
Changes: The `at size` variant, which allows resizing of the exported
144+
snapshot to specified dimensions, was added in version 6.0.
145+
136146
References: export (command), import snapshot (command), select (command),
137147
screenRect (function), PPM (glossary), command (glossary),
138148
container (glossary), PBM (glossary), alpha channel (glossary),
139149
file (keyword), image (keyword), cursor (property), rectangle (property),
140-
windowID (property)
150+
windowID (property), object reference (glossary)
141151

142-
Tags: file system
152+
Tags: file system, multimedia
143153

0 commit comments

Comments
 (0)