Julia ffi and C parser for generating it, and some various utilities.
This project contains:
- In development is a tool to autoFFI C libraries. The current FFIs are made with a Common Lisp parser, but when ready, the Julia parser will be used instead.
- FFI-ed C libraries, with extras to utilize Julia's features.
This project also contains a utility lib. Some of which may be better off from a standard lib/more standard way to do it.
Outputs of autoffi-er provided
Everything specifically autogenerated is under
autoffi/, not everything
works (or is complete there) there.(GL works pretty well)
Currently all the stuff in
autoffi/ is completely analogous to the C
interface. Some extra stuff is added outside of that directory.
To use, first compile some stuff within with
make(though not all of them
~/.juliarc.jl and add (NOTE: it used to be
Then things can be loaded with paths originating from that.(hopefully)
Currently you have to run it as
julia -L ~/.juliarc.jl
TODO is use the modules, and figure how to load things correctly..
Stuff reasonably usable:
Everything analogous to C works. I have yet to find any problem with
ffi_extra/gl_util.j adds some useful functions, and
overloaded version of the C functions
glcolor does not use
glcolorb for integers; it would be
It also adds stuff to make
@with work;(it needs the
@with primitive() begin ... end and
@with pushed_matrix() ... works.
make to be run from it's directory. Also the readme
in that directory lists the functions in there.
Note that this currently does not at all use the autoffi stuff, but you can catch most events.
autoffi/glu.j not at all tested yet,
autoffi/acpi.j lacks a function to
create the structs and look at its items. I want to add autogenerators for
those. Note that then those parts aren't analogous to the C interface, and
also maybe Julia will/has already increased support for FFIing those..
- Get the parser to autoFFI.
- Will want a standard way to deal with:
- analogous to C.
- automatically created extra stuff.
- manually created extra.
Are mentioned in the files. Some of it public domain, some is GPL,
parse/ is under the MIT license.
Jasper den Ouden