-
-
Notifications
You must be signed in to change notification settings - Fork 2
/
README
33 lines (21 loc) · 1.05 KB
/
README
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
mork
----
(c) Reuben Thomas 2011 <[email protected]>
https://github.com/rrthomas/mork
Mork provides automatic C bindings for Lua using ctypesgen-json and
alien. (Mork is a friendly alien. However, it cannot drink through its
fingers. Indeed, it does not have fingers. It is a shallow analogy.)
Mork is distributed under the MIT License, like Lua itself.
alien is a libffi binding for Lua: http://mascarenhas.github.com/alien/
ctypesgen-json turns C headers into JSON for use with libffi:
http://code.google.com/p/ctypesgen/
It might be better to use cparser: http://sourceforge.net/projects/cparser/
Usage
-----
First, turn a header file into JSON using ctypesgen-json:
$ ctypesgen.py --all-headers --builtin-symbols --output-language=json /usr/include/foo.h -o foo.json
Then in Lua, Mork slurps up the JSON and generates alien bindings on
the fly, returning a module:
require "mork"
require "json"
module = mork.bind (json.decode (io.open ("foo.json"):read ("*a")))