ecl-iphone-builder
ecl-iphone-builder copied to clipboard
ECL Common Lisp for iOS devices (iPhone & iPad)
ECL Build Notes
Use git-clone, then open a shell in the ecl-iphone-builder directory.
Alternatively, download the release as a tar.gz archive:
curl -L -o ecl-iphone-builder.tar.gz http://github.com/kriyative/ecl-iphone-builder/tarball/master
tar xzf ecl-iphone-builder.tar.gz
cd *ecl-iphone-builder-*
Next, download ECL:
curl -O http://space.dl.sourceforge.net/project/ecls/ecls/11.1/ecl-11.1.1.tar.gz
tar xzf ecl-11.1.1.tar.gz
[1] Apply the ECL for iOS patches.
cd ecl-11.1.1
patch -p0 < ../ecl-ios-patches.txt
[2] Building ECL for host, simulator, device, and universal
ECL_IOS=/opt/ecl-ios
../build.sh -t all -d ${ECL_IOS} -v 4.3
[Note: if you use a different path for ${ECL_IOS}, then you must
change the ECL_IOS build var in the eclshell Xcode project]
Get yourself a cup of coffee, while this runs (on a 2.26 GHz Intel
Core 2 Duo Mac Book Pro with 4GB RAM and 160GB SSD, it takes about 13
minutes to build everything). When it's done, there should be an
${ECL_IOS} directory with the following contents:
host/bin/...
host/include/...
host/lib/...
armv6/bin/...
armv6/include/...
armv6/lib/...
armv7/bin/...
armv7/include/...
armv7/lib/...
simulator/bin/...
simulator/include/...
simulator/lib/...
universal/lib/libbytecmp.a
universal/lib/libecl.a
universal/lib/libeclgc.a
universal/lib/libeclgmp.a
universal/lib/libserve-event.a
universal/lib/libsockets.a
The universal/lib/lib* contain FAT binaries of the static libraries,
which makes it easy to configure the Xcode project.
eclshell Build Notes
Download and setup a SLIME source directory:
cd ../eclshell cvs -d :pserver:anonymous:[email protected]:/project/slime/cvsroot co -D'2010-01-29' slime
The swank-ecl-patches.txt has been submitted to the SLIME maintainers, and hopefully it will make it into the CVS builds one of these days, and this patch step will not be required:
cd slime patch -p0 < ../../swank-ecl-patches.txt cd ..
If you specified a different path or SDK version for the ECL build than the default, be sure to edit the sdk_ver and ecl_root settings in `eclshell/makefile'.
make # see makefile for configuring ecl path
That should generate a libeclffi.a fat library. Now fire up the project in Xcode:
open -a xcode eclshell.xcodeproj
If you specified a different path for the ECL build than the default (in step 2 above), be sure to change the ECL_IOS user defined build setting accordingly.
Run a Simulator or Device build. Hopefully it will just work, and there will be some noisy output as SLIME loads, ending eventually with:
;; Swank started at port: 4005.
From a local emacs, run M-x slime-connect, to 127.0.0.1 (if running a Simulator build, for device builds look at the IP address listed on the device), port 4005.
Happy hacking.