| 1 |
Complete documentation for CL-GD can be found in the 'doc' |
|---|
| 2 |
directory. |
|---|
| 3 |
|
|---|
| 4 |
CL-GD also supports Nikodemus Siivola's HYPERDOC, see |
|---|
| 5 |
<http://common-lisp.net/project/hyperdoc/> and |
|---|
| 6 |
<http://www.cliki.net/hyperdoc>. |
|---|
| 7 |
|
|---|
| 8 |
1. Installation (see doc/index.html for Windows instructions) |
|---|
| 9 |
|
|---|
| 10 |
1.1. Download and install a recent version of asdf. |
|---|
| 11 |
|
|---|
| 12 |
1.2. Download and install UFFI. CL-GD needs at least version 1.3.4 of |
|---|
| 13 |
UFFI to work properly. However, as of August 2003, only |
|---|
| 14 |
AllegroCL, CMUCL, LispWorks, SBCL, and SCL are fully supported |
|---|
| 15 |
because CL-GD needs the new UFFI macros WITH-CAST-POINTER and |
|---|
| 16 |
DEF-FOREIGN-VAR which haven't yet been ported to all UFFI |
|---|
| 17 |
platforms. |
|---|
| 18 |
|
|---|
| 19 |
1.3. Download and install a recent version of GD and its supporting |
|---|
| 20 |
libraries libpng, zlib, libjpeg, libiconv, and libfreetype. CL-GD has |
|---|
| 21 |
been tested with GD 2.0.33, versions older than 2.0.28 won't |
|---|
| 22 |
work. Note that you won't be able to compile CL-GD unless you have |
|---|
| 23 |
installed all supporting libraries. This is different from using |
|---|
| 24 |
GD directly from C where you only have to install the libraries |
|---|
| 25 |
you intend to use. |
|---|
| 26 |
|
|---|
| 27 |
1.4. Unzip and untar the file cl-gd.tgz and put the resulting |
|---|
| 28 |
directory wherever you want, then cd into this directory. |
|---|
| 29 |
|
|---|
| 30 |
1.5. Compile cl-gd-glue.c into a shared library for your platform. On |
|---|
| 31 |
Linux this would be |
|---|
| 32 |
|
|---|
| 33 |
gcc -fPIC -c cl-gd-glue.c |
|---|
| 34 |
ld -lgd -lz -lpng -ljpeg -lfreetype -lm -liconv -shared cl-gd-glue.o -o cl-gd-glue.so |
|---|
| 35 |
rm cl-gd-glue.o |
|---|
| 36 |
|
|---|
| 37 |
For Mac OS X, use |
|---|
| 38 |
|
|---|
| 39 |
gcc -lgd -ljpeg -dynamiclib cl-gd-glue.c -o cl-gd-glue.dylib |
|---|
| 40 |
|
|---|
| 41 |
1.6. Make sure that cl-gd.asd can be seen from asdf (this is usually |
|---|
| 42 |
achieved by a symbolic link), start your favorite Lisp, and compile |
|---|
| 43 |
CL-GD: |
|---|
| 44 |
|
|---|
| 45 |
(asdf:oos 'asdf:compile-op :cl-gd) |
|---|
| 46 |
|
|---|
| 47 |
From now on you can simply load CL-GD into a running Lisp image |
|---|
| 48 |
with |
|---|
| 49 |
|
|---|
| 50 |
(asdf:oos 'asdf:load-op :cl-gd) |
|---|
| 51 |
|
|---|
| 52 |
2. Test |
|---|
| 53 |
|
|---|
| 54 |
CL-GD comes with a simple test suite that can be used to check if it's |
|---|
| 55 |
basically working. Note that this'll only test a subset of CL-GD. To |
|---|
| 56 |
run the tests load CL-GD and then |
|---|
| 57 |
|
|---|
| 58 |
(asdf:oos 'asdf:load-op :cl-gd-test) |
|---|
| 59 |
(cl-gd-test:test) |
|---|
| 60 |
|
|---|
| 61 |
If you have the georgiab.ttf TrueType font from Microsoft you can also |
|---|
| 62 |
check the FreeType support of CL-GD with |
|---|
| 63 |
|
|---|
| 64 |
(cl-gd-test:test #p"/usr/X11R6/lib/X11/fonts/truetype/georgiab.ttf") |
|---|
| 65 |
|
|---|
| 66 |
where you should obviously replace the path above with the full path |
|---|
| 67 |
to the font on your machine. |
|---|
| 68 |
|
|---|
| 69 |
(See the note about failed tests in the documentation.) |
|---|