C++ C Objective-C++ Python Java GAP Other
Switch branches/tags
Clone or download
montegoulding Merge pull request #6592 from livecodeali/feature-per_module_library_…
…mapping

[[ Extensions ]] Map extension native code using module name
Latest commit 172f8e0 Jun 28, 2018
Permalink
Failed to load latest commit information.
Installer Added support for building with Xcode9.4 / iOS 11.4 SDK May 30, 2018
benchmarks [[ VarAccess ]] Add tests and benchmarks Mar 9, 2017
builder [[ tsNet ]] Update pointer Jun 12, 2018
config [[ API 26 ]] Fix config issues Jun 20, 2018
contrib Remove the Emacs mode for LCB editing. Aug 14, 2016
docs Merge pull request #6592 from livecodeali/feature-per_module_library_… Jun 28, 2018
engine Merge pull request #6592 from livecodeali/feature-per_module_library_… Jun 28, 2018
extensions Merge pull request #6590 from livecodeali/bugfix-extension_utils_revxml Jun 26, 2018
gyp [[ VS2015 ]] Silence MASM warnings which cause build failure Feb 1, 2017
ide @ 46cfa95 Auto-update submodule pointers Jun 21, 2018
ide-support Merge remote-tracking branch 'upstream/develop-9.0' into merge-develo… Jun 21, 2018
lcidlc [[ LCIDL ]] Use LIBRARY_SEARCH_PATHS from Xcode May 7, 2018
libbrowser Merge pull request #6457 from montegoulding/bugfix-21121 Mar 29, 2018
libcore [[ Android ]] Remove syslimits include Jun 20, 2018
libcpptest Auto-update submodule pointers Jun 21, 2018
libexternal Merge pull request #6347 from livecodeali/bugfix-20898 Feb 28, 2018
libexternalv1 Merge remote-tracking branch 'upstream/develop-8.1' into merge-develo… Jul 24, 2017
libfoundation Merge remote-tracking branch 'upstream/develop-9.0' into merge-develo… Jun 21, 2018
libgraphics Merge pull request #6549 from montegoulding/cliptopath Jun 6, 2018
libscript Merge remote-tracking branch 'upstream/develop-9.0' into merge-develo… Jun 21, 2018
prebuilt [[ API 26 ]] Fix config issues Jun 20, 2018
revbrowser [[ CEF ]] Automate prebuilts for CEF Dec 18, 2017
revdb Merge pull request #6510 from montegoulding/bugfix-21051 May 22, 2018
revmobile Merge remote-tracking branch 'upstream/develop-8.2' into merge-develo… Nov 27, 2017
revpdfprinter [[ Cleanup ]] Remove / reclassify #if'd blocks Sep 8, 2017
revspeech [[ Cleanup ]] Remove / reclassify #if'd blocks Sep 8, 2017
revtestexternal Merge remote-tracking branch 'upstream/develop-7.0' into develop Sep 9, 2015
revvideograbber [[ VS2015 ]] Remove dependence on QuickTime Feb 1, 2017
revxml [[ Bug 19901 ]] Statically link Linux server externals to libstc++. Aug 9, 2017
revzip [[ Bug 19901 ]] Statically link Linux server externals to libstc++. Aug 9, 2017
tests Merge remote-tracking branch 'upstream/develop-9.0' into merge-develo… Jun 21, 2018
thirdparty @ 9081b8b Auto-update submodule pointers Jun 21, 2018
toolchain Merge pull request #6310 from runrevmark/bugfix-20931 Jun 6, 2018
tools Added support for building with Xcode9.4 / iOS 11.4 SDK May 30, 2018
util Merge pull request #6309 from livecodeali/bugfix-extension_build_scripts Mar 5, 2018
.dir-locals.el Update Emacs dir locals for indentation with spaces Dec 16, 2016
.gitattributes [[ Win32Build ]] Fix compile errors due to trailing CRLF in prebuilt … Jun 16, 2016
.gitignore [[ Extensions ]] Ignore api.lcdoc files Oct 22, 2017
.gitmodules [[ .gitmodules ]] Update submodule branch info Jun 5, 2018
.mention-bot [[ Mention Bot ]] Restrict to livecode organisation May 3, 2017
.travis.yml Merge pull request #6327 from livecodeali/feature-timezone_library Mar 7, 2018
CONTRIBUTING.md docs: Refer to C++ coding style from CONTRIBUTING file Dec 16, 2016
LICENSE [[ RemoveRunRev ]] Occurrences of RunRev removed from the top folder,… Aug 25, 2015
Makefile Added support for building with Xcode9.4 / iOS 11.4 SDK May 30, 2018
Makefile.common [[ Benchmarks ]] Add benchmarks makefile Jul 8, 2016
README.md revvideograbber: Remove from Mac OS X builds Dec 16, 2016
buildbot.mk Revert "[[ LCFM ]] Remove `__MACOSX` folder from non-mac zip files" Dec 13, 2017
buildbot.py [[ Buildbot ]] Move platform triples to config.py Jun 4, 2018
common.gypi [[ Bug 20991 ]] Use win32 in code library path Feb 20, 2018
config.py Merge remote-tracking branch 'upstream/develop-9.0' into merge-develo… Jun 21, 2018
config.sh build: Replace config.sh script with Python script Feb 3, 2017
configure.bat [[ Win64 ]] Sort out arch vars, and ensure prebuilts are fetched Apr 25, 2017
fetch.py [[ Win64 ]] Fix missing import in fetch.py Apr 26, 2017
livecode.gyp [[ Extensions ]] Fix extensions build dependencies Oct 22, 2017
make.cmd [[ Win32 ]] Use MSVS 2017 to build windows Apr 11, 2017
prebuilts-buildbot.py [[ Buildbot ]] Move platform triples to config.py Jun 4, 2018
version [9.1.0 DP-1] Updated version Mar 19, 2018

README.md

LiveCode Community Edition

LiveCode Community Logo

Copyright © 2003-2016 LiveCode Ltd., Edinburgh, UK

Introduction

The LiveCode Community open source platform provides a way to build applications for mobile, desktop and server platforms.

The visual workflow allows the user to develop apps "live", using a powerful and uniquely-accessible language syntax.

LiveCode Ltd., based in Edinburgh, UK, coordinates development of LiveCode and has run the open source project since LiveCode Community was first released in April 2013.

You can download pre-compiled versions of the LiveCode Community development environment from the LiveCode download centre.

Overview

Subproject directories

This repository contains a number of subprojects, each of which has its own subdirectory. They can be divided into three main categories.

  1. Main system:
  • engine/ — The main LiveCode engine. This directory produces the IDE, "standalone", "installer" and "server" engines
  1. Non-third-party libraries:
  • libcore/ — A static library that provides various basic functions and types, and is used by many of the other subprojects

  • libexternal/ and libexternalv1 — Static libraries that support the LiveCode "external" interface, which allows the engine to load plugins

  1. Externals (libraries that can be dynamically loaded into the engine at runtime):
  • revdb/ — Database access external, and drivers for various backend database systems

  • revmobile/ — The iOS support external (which can only be built on Mac) and the Android support external (available on all desktop platforms)

  • revpdfprinter/ — Print-to-PDF functionality

  • revspeech/ — Text-to-speech support

  • revvideograbber/ — Video capture (Windows only)

  • revxml/ — XML parsing and generation

  • revzip/ - Zip archive management

Engine flavours

The engine — which loads, saves, manages and runs LiveCode stack files — can be built in several different specialized modes, which are adapted for various specific purposes. They are exposed as separate targets in the build system.

  1. IDE engine (development target)— Used to run the IDE. It contains extra support for things like syntax handling and building LiveCode "standalone" programs.

  2. Installer engine (installer target) — Used to create the LiveCode installer. It contains extra support for things like handling zip archives and comparing binary files.

  3. Server engine (server target) — This is the engine used in a server context, when no graphical user interface is needed. It contains server-specific functions such as CGI support. It also has a much fewer system library dependencies (and requires only non-desktop APIs where possible).

  4. Standalone engine (standalone target) — The engine that is embedded in "standalone apps" created with LiveCode.

Compiling LiveCode

LiveCode uses the gyp (Generate Your Projects) tool to generate platform-specific project files. It can generate xcodeproj files for Xcode on Mac, vcproj files for Microsoft Visual Studio, and makefiles for compiling on Linux.

Quick start

Note: You can only compile LiveCode from a clone of the LiveCode git repository on GitHub. See also the GitHub documentation on cloning a repository.

On Linux or Mac, you can quickly build LiveCode by installing basic development tools, and then running make all.

Detailed instructions

Please see the following table, which shows which target platforms are supported by which host platforms. The documentation for compiling for each target platform is linked.

Target platform Host platforms
mac, ios mac
win win, linux (Wine)
linux linux
android mac, linux
emscripten (html5) linux

Getting help

There are several ways to get help with installing and using LiveCode:

Contributing to LiveCode

For information on modifying LiveCode and submitting contributions to the LiveCode Community project, please see the CONTRIBUTING file.

License

LiveCode Community is freely distributable under the GNU Public License (GPL), with some special exceptions. For more information, please see the LICENSE file in this repository.

The LiveCode Community engine, libraries, and associated files are, unless otherwise noted:

Copyright © 2003-2015 LiveCode Ltd.