gilzoide / lualvm

Lua wrapper for the LLVM-C API

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

lualvm

Lua wrapper for the LLVM-C API. It uses inclua for generating bindings, and then making wrappings around that more Lua friendly.

Dependencies

  • lua >= 5.2
  • LLVM (tested with version 3.9, but should work with others)
  • inclua (for building)
  • CMake >= 2.8 (for building)

Building

With cmake:

$ mkdir build
$ cd build
$ cmake ..
$ make

Installing

Using LuaRocks:

# luarocks install lualvm

Using make directly (after building with cmake):

# make install

What's missing?

  • The following headers: Disassembler.h (function pointers or useless), LinkTimeOptimizer.h and lto.h (different API, maybe will be put in another module) and OrcBindings.h (unstable API)
  • Document Lua API
  • Make Kaleidoscope tutorial

Even though, lualvm is ready for use!

Documentation

Lua API will be documented using ldoc.

About

Lua wrapper for the LLVM-C API

License:GNU Lesser General Public License v3.0


Languages

Language:Lua 70.3%Language:CMake 28.2%Language:C++ 1.5%