• This repository has been archived on 14/Mar/2021
  • Stars
    star
    110
  • Rank 315,598 (Top 7 %)
  • Language
    Common Lisp
  • Created about 15 years ago
  • Updated almost 13 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

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.