1e073567f0497b23454f5a7683d24f7c0dc1c866
[clnl] / bin / buildosxexec.sh
1 #!/bin/bash
2
3 # This sciprt builds a version of sbcl pre loaded with libraries that can run on osx.
4 # You can use ./osxsbcl --script bin/run.lisp to run it
5
6 mkdir -p tmp/sbcl
7 mkdir -p tmp/sbcl-binary
8
9 cwd=$PWD
10 ( cd tmp &&
11   tar jxf ../deps/tarpit/sbcl-1.2.11-x86-64-darwin-binary.tar.bz2 &&
12   tar jxf ../deps/tarpit/sbcl-1.2.13-source.tar.bz2 &&
13   cd sbcl-1.2.11-x86-64-darwin/ &&
14   SBCL_HOME="" INSTALL_ROOT=$cwd/tmp/sbcl-binary/ bash install.sh &&
15   cd ../sbcl-1.2.13/ &&
16   PATH="$cwd/tmp/sbcl-binary/bin/:$PATH" SBCL_HOME="$cwd/tmp/sbcl-binary/lib/sbcl/" bash make.sh --with-sb-thread &&
17   SBCL_HOME="" INSTALL_ROOT=$cwd/tmp/sbcl/ bash install.sh )
18
19 mkdir -p tmp/deps/
20
21 ( cd tmp/deps &&
22   tar zxf ../../deps/tarpit/3b-cl-opengl-993d627.tar.gz &&
23   tar zxf ../../deps/tarpit/alexandria-b1c6ee0.tar.gz &&
24   tar zxf ../../deps/tarpit/babel_0.5.0.tar.gz &&
25   tar zxf ../../deps/tarpit/cffi_0.15.0.tar.gz &&
26   tar zxf ../../deps/tarpit/cl-ppcre.tar.gz &&
27   tar zxf ../../deps/tarpit/ironclad.tar.gz &&
28   tar zxf ../../deps/tarpit/mt19937-latest.tar.gz &&
29   tar zxf ../../deps/tarpit/nibbles-v0.12.tar.gz &&
30   tar zxf ../../deps/tarpit/trivial-features_0.8.tar.gz &&
31   tar zxf ../../deps/tarpit/cl-charms-9bb94ef.tar.gz # &&
32   ln -s 3b-cl-opengl-993d627/cl-glut.asd . &&
33   ln -s 3b-cl-opengl-993d627/cl-opengl.asd . &&
34   ln -s alexandria-b1c6ee0/alexandria.asd . &&
35   ln -s babel_0.5.0/babel-streams.asd . &&
36   ln -s babel_0.5.0/babel.asd . &&
37   ln -s cffi_0.15.0/cffi-examples.asd . &&
38   ln -s cffi_0.15.0/cffi-grovel.asd . &&
39   ln -s cffi_0.15.0/cffi-libffi.asd . &&
40   ln -s cffi_0.15.0/cffi-uffi-compat.asd . &&
41   ln -s cffi_0.15.0/cffi.asd . &&
42   ln -s cl-charms/cl-charms.asd . &&
43   ln -s cl-ppcre-2.0.10/cl-ppcre.asd . &&
44   ln -s mt19937-1.1.1/mt19937.asd . &&
45   ln -s nibbles-0.12/nibbles.asd . &&
46   ln -s trivial-features_0.8/trivial-features.asd . &&
47   ln -s ../../src/main/clnl.asd .
48 )
49
50 SBCL_HOME="" tmp/sbcl/bin/sbcl --core tmp/sbcl/lib/sbcl/sbcl.core --no-sysinit --no-userinit \
51   --eval "(require 'asdf)" \
52   --eval '(setf asdf:*central-registry* (list #p"tmp/deps/"))' \
53   --eval "(asdf:load-system :clnl)" \
54   --eval "(asdf:clear-output-translations)" \
55   --eval '(sb-ext:save-lisp-and-die "osxsbcl" :executable t :toplevel (function clnl:run))' \
56
57 chmod +x osxsbcl
58
59 rm -rf tmp