C header parser, autoFFIing and FFI libraries from it.
Julia C Other
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
autoffi
doc
ffi_extra
parse
sdl_bad_utils
util
.gitignore
Makefile
readme.markdown

readme.markdown

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.

'Install'

To use, first compile some stuff within with make(though not all of them need it)

Then edit ~/.juliarc.jl and add (NOTE: it used to be /src/julia-src/)

push(LOAD_PATH, "$(path_julia_ffi)/")

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:

Opengl

Everything analogous to C works. I have yet to find any problem with autoffi/gl.j. ffi_extra/gl_util.j adds some useful functions, and overloaded version of the C functions (Note: glcolor does not use glcolorb for integers; it would be confusing)

It also adds stuff to make @with work;(it needs the no_longer_with method) so @with primitive() begin ... end and @with pushed_matrix() ... works.

SDL

bad_sdl_utils needs 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.

The rest.

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..

TODO

  • Get the parser to autoFFI.
  • Will want a standard way to deal with:
  • analogous to C.
  • automatically created extra stuff.
  • manually created extra.

Licenses

Are mentioned in the files. Some of it public domain, some is GPL, stuff under parse/ is under the MIT license.

Author

Jasper den Ouden