Update README.
[guile-sdl2.git] / README
1 -*- mode: org -*-
2
3 Guile-SDL2 provides Guile Scheme bindings for the SDL2 C shared
4 library. The bindings are written in pure Scheme by using Guile's
5 foreign function interface.
6
7 * Requirements
8
9 Guile-SDL2 currently depends on the following packages:
10
11 - GNU Guile >= 2.0.9
12 - SDL2 >= 2.0.0
13 - SDL2_image >= 2.0.0
14 - SDL2_mixer >= 2.0.0
15 - SDL2_ttf >= 2.0.0
16 - GNU Make
17 - GNU pkg-config
18
19 When building from a Git checkout, the following additional packages
20 are required:
21
22 - GNU Autoconf
23 - GNU Automake
24
25 * Installing
26
27 Guile-sdl2 uses the standard GNU build system, so installation
28 requires the usual incantations:
29
30 # ./configure
31 # make
32 # make install
33
34 When building from a Git checkout, the following spell is necessary
35 before running the above commands:
36
37 # ./bootstrap
38
39 GNU Guix users may install the current development snapshot
40 described in =guix.scm= with the following command:
41
42 # guix package -f guix.scm
43
44 * Usage
45
46 Guile-SDL2 provides modules in the '(sdl2 ...)' namespace, roughly
47 organized how the SDL2 C header files are organized. See the
48 =examples= directory for practical examples.
49
50 Low-level bindings are available in the '(sdl2 bindings ...)'
51 namespace, but these are not recommended for normal usage.
52
53 Additionally, SDL2 extension library bindings are available in the
54 following modules:
55
56 - SDL2_image: (sdl2 image)
57 - SDL2_mixer: (sdl2 mixer)
58 - SDL2_ttf: (sdl2 ttf)
59
60 * Developing
61
62 To build the source code from a Git checkout, run the following:
63
64 # ./bootstrap
65 # ./configure
66 # make
67
68 To start a Guile REPL with a pre-configured load path for using
69 guile-sdl2, use the =pre-inst-env= script:
70
71 # ./pre-inst-env guile
72
73 GNU Guix users may create a development environment with all of the
74 necessary dependencies by running the following command:
75
76 # guix environment -l guix.scm
77
78 * Contact
79
80 Bug reports and patches may be sent to <davet@gnu.org>.
81
82 The maintainer of this library hangs out in the #guile channel on
83 irc.freenode.net, so help and general discussion may also be found
84 there.