Skip to content

Commit 5583ea6

Browse files
committed
Merge branch 'develop-8.1' into develop
Conflict in `.gitmodules` file due to updating submodule repository URLs.
2 parents 03ad472 + 726b67f commit 5583ea6

28 files changed

+212
-145
lines changed

.gitmodules

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
[submodule "ide"]
22
path = ide
3-
url = https://github.com/runrev/livecode-ide
3+
url = https://github.com/livecode/livecode-ide
44
branch = develop
55
[submodule "thirdparty"]
66
path = thirdparty
7-
url = https://github.com/runrev/livecode-thirdparty
7+
url = https://github.com/livecode/livecode-thirdparty
88
branch = develop
99
[submodule "libcpptest/googletest"]
1010
path = libcpptest/googletest

INSTALL-android.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ Otherwise, you'll need to build a target in the gyp-generated makefiles:
112112

113113
**Note:** The following information is provided for reference purposes. It should be possible to build LiveCode for Android on any modern Linux desktop distribution or recent version of Mac OS.
114114

115-
The Linux build environment used for compiling LiveCode for Android is based on Debian Squeeze x86-64, with the following additional packages installed:
115+
The Linux build environment used for compiling LiveCode for Android is based on Debian Wheezy x86-64, with the following additional packages installed:
116116

117117
* git
118118
* bzip2

INSTALL-linux.md

Lines changed: 2 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -47,9 +47,8 @@ However, if you wish to compile something more specific than "everything", you'l
4747

4848
**Note:** The following information is provided for reference purposes. It should be possible to build and run LiveCode on any modern Linux desktop distribution.
4949

50-
### Linux x86-64
51-
52-
The x86-64 Linux build environment used for compiling LiveCode is based on Debian Wheezy.
50+
The x86-64 and x86 Linux build environments used for compiling
51+
LiveCode are based on Debian Wheezy.
5352

5453
The following additional packages are installed:
5554

@@ -74,45 +73,3 @@ The following additional packages are installed:
7473
* pkg-config
7574
* libgtk2.0-dev
7675
* zip
77-
78-
### Linux x86
79-
80-
The x86 Linux build environment used for compiling LiveCode is based on Debian Squeeze.
81-
82-
The following additional packages are installed:
83-
84-
* build-essential
85-
* automake
86-
* libtool
87-
* zlib1g-dev
88-
* gettext
89-
* pkg-config
90-
* libtiff-dev
91-
* libpng-dev
92-
* libatk1.0-dev
93-
* libpango1.0-dev
94-
* libcairo2-dev
95-
* libxext-dev
96-
* libffi-dev
97-
* curl
98-
* flex
99-
* bison
100-
* libx11-dev
101-
* libxext-dev
102-
* libxrender-dev
103-
* libxft-dev
104-
* libxinerama-dev
105-
* libxv-dev
106-
* libxcursor-dev
107-
* libfreetype6-dev
108-
* libpopt-dev
109-
* libesd0-dev
110-
* liblcms-dev
111-
* pkgconfig
112-
* zip
113-
114-
In addition, LiveCode requires a more modern version of GTK+ than is available in the Debian Squeeze repositories. The following packages are compiled and installed from source:
115-
116-
* [GLib 2.34.3](http://ftp.gnome.org/pub/gnome/sources/glib/2.34/glib-2.34.3.tar.xz)
117-
* [GDK-PixBuf 2.26.5](http://ftp.gnome.org/pub/gnome/sources/gdk-pixbuf/2.26/gdk-pixbuf-2.26.5.tar.xz)
118-
* [GTK+ 2.24.23](http://ftp.gnome.org/pub/gnome/sources/gtk+/2.24/gtk+-2.24.23.tar.xz)

INSTALL-mac.md

Lines changed: 21 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,19 +2,19 @@
22

33
![LiveCode Community Logo](http://livecode.com/wp-content/uploads/2015/02/livecode-logo.png)
44

5-
Copyright © 2015 LiveCode Ltd., Edinburgh, UK
5+
Copyright © 2015-2016 LiveCode Ltd., Edinburgh, UK
66

77
## Dependencies
88

99
### Required dependencies
1010

1111
You must install Xcode. This will allow you to build LiveCode for:
1212

13-
* OS X desktop systems
1413
* iPhone OS
1514
* iPhoneSimulator
1615

17-
You will not be able to compile the "revvideograbber" extension.
16+
You will not be able to compile the OS X desktop version of LiveCode
17+
unless you install some older OS X SDKs; see the next section for details.
1818

1919
### Optional dependencies
2020

@@ -24,26 +24,36 @@ Create a directory on your hard disk (say, `/Applications/Xcode-Dev/`).
2424

2525
Download and install each of the following versions of Xcode, placing their app bundles into the specified paths:
2626

27-
| Xcode version | App path |
28-
| ------------- | -------- |
29-
| 6.3.1 | /Applications/Xcode-Dev/Xcode_6_3_1.app |
30-
| 6.3 | /Applications/Xcode-Dev/Xcode_6_3.app |
31-
| 6.2 | /Applications/Xcode-Dev/Xcode_6_2.app |
32-
| 5.1.1 | /Applications/Xcode-Dev/Xcode_5_1_1.app |
33-
| 4.3.3 | /Applications/Xcode-Dev/Xcode_4_3_3.app |
27+
| Xcode version | App path |
28+
| ------------- | --------------------------------------- |
29+
| 8.0 | /Applications/Xcode-Dev/Xcode_8_0.app |
30+
| 7.2.1 | /Applications/Xcode-Dev/Xcode_7_2_1.app |
31+
| 6.2 | /Applications/Xcode-Dev/Xcode_6_2.app |
32+
| 5.1.1 [1] | /Applications/Xcode-Dev/Xcode_5_1_1.app |
33+
| 4.3.3 [2] | /Applications/Xcode-Dev/Xcode_4_3_3.app |
34+
35+
Notes:
36+
1. Required for OS X build excluding "revvideograbber" extension
37+
2. Required for "revvideograbber" extension
3438

3539
Make sure you run and verify each of the versions of Xcode. Download and install any extra SDKs you need using the "Xcode → Preferences → Downloads" window.
3640

3741
Make `/Applications/Xcode-Dev/Xcode.app` a symlink to the latest version of Xcode available. For example, run:
3842

3943
cd /Applications/Xcode-Dev
40-
ln -s Xcode_6_3_1.app Xcode.app
44+
ln -s Xcode_8_0_0.app Xcode.app
4145

4246
After checking out the LiveCode git repository, you need to run a tool to finalize the Xcode setup and to make sure all of the necessary SDKs are installed. If LiveCode is checked out to `~/git/livecode`, run:
4347

4448
cd /Applications/Xcode-Dev/
4549
sh ~/git/livecode/tools/setup_xcode_sdks.sh
4650

51+
If you want the setup tool to copy the required SDKs out of the Xcode
52+
app bundles (so that you can safely delete all but the latest Xcode to
53+
save disk space), you can run:
54+
55+
sh ~/git/livecode/tools/setup_xcode_sdks.sh --cache
56+
4757
## Configuring LiveCode
4858

4959
### Build environment

Installer/package.txt

Lines changed: 16 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -624,35 +624,15 @@ component Runtime.iOS
624624
file ios:iphonesimulator10.0/mobile-disable-ats-template.plist as "DisableATS.plist"
625625
file ios:iphonesimulator10.0/[email protected] as "Default4InchSplash.png" base ios:[email protected]
626626
file ios:iphonesimulator10.0/fontmap as "fontmap"
627-
into "[[ToolsFolder]]/Runtime/iOS/Device-8_2" place
628-
executable ios:iphoneos8.2/standalone-mobile[[BaseEditionTagLower]].ios-engine as Standalone
629-
executable ios:iphoneos8.2/revsecurity.ios-extension as RevSecurity
630-
executable ios:iphoneos8.2/revpdfprinter.ios-extension as RevPdfPrinter
631-
executable ios:iphoneos8.2/revzip.ios-extension as RevZip
632-
executable ios:iphoneos8.2/revxml.ios-extension as RevXml
633-
executable ios:iphoneos8.2/revdb.ios-extension as RevDb
634-
executable ios:iphoneos8.2/dbsqlite.ios-extension as DbSqlite
635-
executable ios:iphoneos8.2/dbmysql.ios-extension as DbMysql
636-
file ios:iphoneos8.2/mobile-device-template.plist as "Settings.plist"
637-
file ios:iphoneos8.2/mobile-remote-notification-template.plist as "RemoteNotificationSettings.plist"
638-
file ios:iphoneos8.2/mobile-url-scheme-template.plist as "URLSchemeSettings.plist"
639-
file ios:iphoneos8.2/mobile-splashscreen-template.plist as "SplashscreenSettings.plist"
640-
file ios:iphoneos8.2/template-entitlements.xcent as "Entitlements.xcent"
641-
file ios:iphoneos8.2/template-beta-report-entitlement.xcent as "BetaReportEntitlement.xcent"
642-
file ios:iphoneos8.2/template-remote-notification-entitlements.xcent as "RemoteNotificationEntitlements.xcent"
643-
file ios:iphoneos8.2/template-remote-notification-store-entitlements.xcent as "RemoteNotificationStoreEntitlements.xcent"
644-
file ios:iphoneos8.2/mobile-disable-ats-template.plist as "DisableATS.plist"
645-
file ios:iphoneos8.2/[email protected] as "Default4InchSplash.png" base ios:[email protected]
646-
file ios:iphoneos8.2/fontmap as "fontmap"
647627
into "[[ToolsFolder]]/Runtime/iOS/Device-9_2" place
648-
executable ios:iphoneos9.2/standalone-mobile[[BaseEditionTagLower]].ios-engine as Standalone base ios:iphoneos8.2/standalone-mobile[[BaseEditionTagLower]].lcext
649-
executable ios:iphoneos9.2/revsecurity.ios-extension as RevSecurity base ios:iphoneos8.2/revsecurity.lcext
650-
executable ios:iphoneos9.2/revpdfprinter.ios-extension as RevPdfPrinter base ios:iphoneos8.2/revpdfprinter.lcext
651-
executable ios:iphoneos9.2/revzip.ios-extension as RevZip base ios:iphoneos8.2/revzip.lcext
652-
executable ios:iphoneos9.2/revxml.ios-extension as RevXml base ios:iphoneos8.2/revxml.lcext
653-
executable ios:iphoneos9.2/revdb.ios-extension as RevDb base ios:iphoneos8.2/revdb.lcext
654-
executable ios:iphoneos9.2/dbsqlite.ios-extension as DbSqlite base ios:iphoneos8.2/dbsqlite.lcext
655-
executable ios:iphoneos9.2/dbmysql.ios-extension as DbMysql base ios:iphoneos8.2/dbmysql.lcext
628+
executable ios:iphoneos9.2/standalone-mobile[[BaseEditionTagLower]].ios-engine as Standalone
629+
executable ios:iphoneos9.2/revsecurity.ios-extension as RevSecurity
630+
executable ios:iphoneos9.2/revpdfprinter.ios-extension as RevPdfPrinter
631+
executable ios:iphoneos9.2/revzip.ios-extension as RevZip
632+
executable ios:iphoneos9.2/revxml.ios-extension as RevXml
633+
executable ios:iphoneos9.2/revdb.ios-extension as RevDb
634+
executable ios:iphoneos9.2/dbsqlite.ios-extension as DbSqlite
635+
executable ios:iphoneos9.2/dbmysql.ios-extension as DbMysql
656636
file ios:iphoneos9.2/mobile-device-template.plist as "Settings.plist"
657637
file ios:iphoneos9.2/mobile-remote-notification-template.plist as "RemoteNotificationSettings.plist"
658638
file ios:iphoneos9.2/mobile-url-scheme-template.plist as "URLSchemeSettings.plist"
@@ -665,14 +645,14 @@ component Runtime.iOS
665645
file ios:iphoneos9.2/[email protected] as "Default4InchSplash.png" base ios:[email protected]
666646
file ios:iphoneos9.2/fontmap as "fontmap"
667647
into "[[ToolsFolder]]/Runtime/iOS/Device-10_0" place
668-
executable ios:iphoneos10.0/standalone-mobile[[BaseEditionTagLower]].ios-engine as Standalone base ios:iphoneos8.2/standalone-mobile[[BaseEditionTagLower]].lcext
669-
executable ios:iphoneos10.0/revsecurity.ios-extension as RevSecurity base ios:iphoneos8.2/revsecurity.lcext
670-
executable ios:iphoneos10.0/revpdfprinter.ios-extension as RevPdfPrinter base ios:iphoneos8.2/revpdfprinter.lcext
671-
executable ios:iphoneos10.0/revzip.ios-extension as RevZip base ios:iphoneos8.2/revzip.lcext
672-
executable ios:iphoneos10.0/revxml.ios-extension as RevXml base ios:iphoneos8.2/revxml.lcext
673-
executable ios:iphoneos10.0/revdb.ios-extension as RevDb base ios:iphoneos8.2/revdb.lcext
674-
executable ios:iphoneos10.0/dbsqlite.ios-extension as DbSqlite base ios:iphoneos8.2/dbsqlite.lcext
675-
executable ios:iphoneos10.0/dbmysql.ios-extension as DbMysql base ios:iphoneos8.2/dbmysql.lcext
648+
executable ios:iphoneos10.0/standalone-mobile[[BaseEditionTagLower]].ios-engine as Standalone base ios:iphoneos9.2/standalone-mobile[[BaseEditionTagLower]].lcext
649+
executable ios:iphoneos10.0/revsecurity.ios-extension as RevSecurity base ios:iphoneos9.2/revsecurity.lcext
650+
executable ios:iphoneos10.0/revpdfprinter.ios-extension as RevPdfPrinter base ios:iphoneos9.2/revpdfprinter.lcext
651+
executable ios:iphoneos10.0/revzip.ios-extension as RevZip base ios:iphoneos9.2/revzip.lcext
652+
executable ios:iphoneos10.0/revxml.ios-extension as RevXml base ios:iphoneos9.2/revxml.lcext
653+
executable ios:iphoneos10.0/revdb.ios-extension as RevDb base ios:iphoneos9.2/revdb.lcext
654+
executable ios:iphoneos10.0/dbsqlite.ios-extension as DbSqlite base ios:iphoneos9.2/dbsqlite.lcext
655+
executable ios:iphoneos10.0/dbmysql.ios-extension as DbMysql base ios:iphoneos9.2/dbmysql.lcext
676656
file ios:iphoneos10.0/mobile-device-template.plist as "Settings.plist"
677657
file ios:iphoneos10.0/mobile-remote-notification-template.plist as "RemoteNotificationSettings.plist"
678658
file ios:iphoneos10.0/mobile-url-scheme-template.plist as "URLSchemeSettings.plist"

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ EMMAKE ?= emmake
2525

2626
# Some magic to control which versions of iOS we try to build. N.b. you may
2727
# also need to modify the buildbot configuration
28-
IPHONEOS_VERSIONS ?= 8.2 9.2 10.0
28+
IPHONEOS_VERSIONS ?= 9.2 10.0
2929
IPHONESIMULATOR_VERSIONS ?= 6.1 7.1 8.2 9.2 10.0
3030

3131
IOS_SDKS ?= \

builder/builder_utilities.livecodescript

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
script "BuilderUtilities"
22

3-
constant kMergExtVersion = "2016-9-15"
3+
constant kMergExtVersion = "2016-9-19"
44
constant kTSNetVersion = "1.2.3"
55

66
local sEngineDir
@@ -648,4 +648,4 @@ command builderExtUnpack pEdition
648648
-- Ensure that the TSNet bundle is downloaded and unpacked
649649
builderTSNetUnpack builderTSNetVersion(), tEdition
650650
end if
651-
end builderExtUnpack
651+
end builderExtUnpack

builder/package_compiler.livecodescript

Lines changed: 13 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1326,32 +1326,24 @@ private function compilerProcessSlim @self, pInputFile, pTargetArchs
13261326
return tDerivedFile
13271327
end compilerProcessSlim
13281328

1329-
private function compilerProcessSign @self, pFile
1330-
local tSignParams
1331-
put abstractPinFile(pFile) into tSignParams["input"]
1332-
put compilerMakeTemporaryFile(self, "sign") into tSignParams["output"]
1333-
put self["options"]["sign.certificate"] into tSignParams["certificate"]
1334-
put self["options"]["sign.privatekey"] into tSignParams["privatekey"]
1335-
put self["options"]["sign.password"] into tSignParams["passphrase"]
1336-
put self["options"]["sign.timestamper"] into tSignParams["timestamper"]
1337-
put self["options"]["sign.url"] into tSignParams["url"]
1338-
1339-
set the itemDelimiter to slash
1340-
put self["options"]["sign.description"] & ":" && the last item of pFile into tSignParams["description"]
1341-
set the itemDelimiter to comma
1342-
1343-
compilerProgress self, "Signing '" & tSignParams["input"] & "'"
1344-
_internal sign windows tSignParams
1345-
if the result is not empty then
1346-
compilerBuildWarning self, "signing of '" & pFile & "' failed - " & the result
1329+
private function compilerProcessCodesign @self, pFile
1330+
local tFile
1331+
put abstractPinFile(pFile) into tFile
1332+
-- Find the signing identity and sign the app bundle
1333+
get builderFindSigningIdentity()
1334+
if it is empty then
1335+
compilerBuildWarning self, "Signing identity not found"
1336+
return empty
13471337
end if
13481338

1349-
if there is no file tSignParams["output"] then
1339+
get shell("/usr/bin/codesign --sign" && word 2 of it && "--verbose=2" && quote & tFile & quote)
1340+
if the result is not zero then
1341+
compilerBuildWarning self, "Signing of executable '" & pFile & "' failed -" && the result
13501342
return empty
13511343
end if
13521344

1353-
return tSignParams["output"]
1354-
end compilerProcessSign
1345+
return tFile
1346+
end compilerProcessCodesign
13551347

13561348
private function compilerMakeTemporaryFile @self, pTag
13571349
local tFolder

builder/tools_builder.livecodescript

Lines changed: 35 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -640,12 +640,45 @@ command toolsBuilderMakeAppBundle pVersion, pEdition, pPlatform
640640
throw "failure"
641641
end if
642642

643-
-- Find the signing identity and sign the app bundle
643+
-- Find the signing identity
644+
local tSigningId
644645
get findSigningIdentity()
646+
put it into tSigningId
645647
if it is not empty then
648+
-- Sign the iOS simulator dylibs
649+
local tIosRuntimes
650+
put folders(tAppBundle & "/Contents/Tools/Runtime/iOS") into tIosRuntimes
651+
repeat for each line tLine in tIosRuntimes
652+
-- Ignore device builds
653+
if not (tLine begins with "Simulator-") then next repeat
654+
655+
-- Get the list of all iOS externals in this folder
656+
local tRuntimeFolder
657+
local tRuntimeContents
658+
put tAppBundle & "/Contents/Tools/Runtime/iOS/" & tLine into tRuntimeFolder
659+
put files(tRuntimeFolder) into tRuntimeContents
660+
repeat for each line tFile in tRuntimeContents
661+
-- Ignore files that aren't dylibs
662+
local tFullPath
663+
put tRuntimeFolder & "/" & tFile into tFullPath
664+
get shell("file" && escapeArg(tFullPath))
665+
if tFile is "Standalone" or "Mach-O" is not among the words of it then next repeat
666+
667+
-- Sign the extension
668+
-- The "--force" parameter strips the existing signature (which was
669+
-- made using a not-valid-for-distribution profile)
670+
builderLog "message", "Signing iOS extension" && "'" & tFullPath & "'"
671+
get shell("/usr/bin/codesign --sign" && word 2 of tSigningId && "--force --verbose=2" && escapeArg(tFullPath))
672+
if the result is not zero then
673+
builderLog "error", "Could not sign iOS extension:" && it
674+
throw "failure"
675+
end if
676+
end repeat
677+
end repeat
678+
646679
builderLog "message", "Signing macosx app bundle" && "'" & tAppBundle & "'"
647680
wait 1 second
648-
get shell("/usr/bin/codesign --sign" && word 2 of it && "--deep --verbose=2" && escapeArg(tAppBundle))
681+
get shell("/usr/bin/codesign --sign" && word 2 of tSigningId && "--deep --verbose=2" && escapeArg(tAppBundle))
649682
if the result is not zero then
650683
builderLog "error", "Could not sign macosx app bundle:" && it
651684
throw "failure"

docs/notes/bugfix-18333.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,5 @@
11
# Added support for Xcode 8 and iOS 10
2+
3+
It is now possible to use LiveCode with Xcode 8 to deploy iOS standalones for iOS 10 simulator and devices.
4+
5+
Standalone deployment to iOS 8.2 using Xcode 6.2 is no longer supported.

0 commit comments

Comments
 (0)