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