mascarenhas/alien
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
master
Could not load branches
Nothing to show
Could not load tags
Nothing to show
{{ refName }}
default
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code
-
Clone
Use Git or checkout with SVN using the web URL.
Work fast with our official CLI. Learn more.
- Open with GitHub Desktop
- Download ZIP
Sign In Required
Please sign in to use Codespaces.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching Xcode
If nothing happens, download Xcode and try again.
Launching Visual Studio Code
Your codespace will open once ready.
There was a problem preparing your codespace, please try again.
Latest commit
Git stats
Files
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
Alien - Pure Lua extensions =========================== For more information, see http://mascarenhas.github.com/alien. What is Alien? -------------- Alien is a Foreign Function Interface (FFI) for Lua. An FFI lets you call functions in dynamic libraries (.so, .dylib, .dll, etc.) from Lua code without having to write, compile and link a C binding from the library to Lua. In other words, it lets you write extensions that call native code using just Lua. Alien works on Unix-based systems and Windows. It has been tested on Linux/x86, Linux/x64, Linux/ARM, FreeBSD/x86, Windows/x86, OS X/x86, and OS X/PPC. The Windows binary uses MSVCR80.DLL for compatibility with LuaBinaries. Installing Alien ---------------- The best way to install Alien is through [LuaRocks](http://luarocks.org): just do `luarocks install alien`. Alien is based on libffi. On a GNU/Linux system you should be able to install it with your package manager; it is probably called something like `libffi-dev` (Debian, Ubuntu etc.) or `libffi-devel` (Fedora, CentOS etc.). If your system's package manager does not have libffi, or you don't have a package manager, you can get the source code from [the libffi project](http://sources.redhat.com/libffi/). Alien uses the GNU build system. For detailed instructions, see INSTALL. For a quick start: [If using git sources: ./bootstrap ] ./configure && make [&& make install] You may need to supply non-default paths (e.g. if you are using a system that supports more than one version of Lua): For example, on Debian or Ubuntu: LUA=lua5.1 CPPFLAGS='-I/usr/include/lua5.1' ./configure --libdir=/usr/local/lib/lua/5.1 --datadir=/usr/local/share/lua/5.1 To run some tests: make check Credits ------- Alien is designed and implemented by Fabio Mascarenhas. It uses the great [libffi](http://sourceware.org/libffi) library by Anthony Green (and others) to do the heavy lifting of calling to and from C. The name was stolen from Common Lisp FFIs. License ------- Alien uses the MIT license (the same as Lua).