Overview ======== This is a re-packaging of the standard Lua 5.2.4 distribution using the GNU autotools. nnnn * See the `INSTALL.autotool` file for generic information on using `configure`. * See below for specific instructions for this package. Running `./configure --help` will list all of the available options. Lua Configuration Options ====================================== Lua's configuration is done via C preprocessor macros in `src/luaconf.h`. Some of that has been automated, other bits have been exposed via `configure` options Automated Configuration ----------------------- The following configuration options are determined automatically * `LUA_USE_STRTODHEX` * `LUA_USE_AFORMAT` * `LUA_USE_DLOPEN` * `LUA_USE_ULONGJMP` `LUA_USE_POSIX` ------------- `LUA_USE_POSIX` is an umbrella configuration option which enables a number of POSIX features. The _--enable-posix_ and _--disable-posix_ options are available to enable or disable these features. * if _--enable-posix_ is specified without an argument, POSIX features are unconditionally enabled. * if _--enable-posix = no_ or _--disable-posix_ is specified, POSIX features are unconditionally enabled. * if _--enable-posix = auto_ (the default), `LUA_USE_POSIX` is enabled if the host runs * GNU/Linux * Mac OS X * FreeBSD * OpenBSD `LUA_32BITS` ------------ This configuration option is exposed via _--enable-32bits_ and _--disable-32bits_. `LUA_C89_NUMBERS` ----------------- This configuration option is exposed via _--enable-c89-numbers_ and _--disable-c89-numbers_. `LUA_USE_C89` ------------- By default Lua will use non-C89 features. To disable this, specify _--disable-non-C89_. `LUA_COMPAT_5_2` ---------------- This configuration option is exposed via _--enable-compat-5_2_ and _--disable-compat-5_2_. `LUA_COMPAT_5_1` ---------------- This configuration option is exposed via _--enable-compat-5_1_ and _--disable-compat-5_1_. Additional Configuration ======================== Enabling `readline` in the standalone lua executable ---------------------------------------------------- By default if the `readline` library (or an API compatible library, such as `edit` or `editline` ) is available, it is used in the `lua` standalone interpreter. To prevent this, specify _--disable-readline_. Multiple concurrent installations --------------------------------- The default directory layout doesn't lend itself well to multiple concurrent versions of Lua. If configure is passed the _--enable-versioned-install_ option it provides a layout which allows easy cohabitance of multiple versions. The difference between the two layouts is shown below; default on the left, versioned on the right. {prefix} {prefix} |-- bin |-- bin | |-- lua | |-- lua -> lua5.3 | `-- luac | |-- lua5.3 | | |-- luac -> luac5.3 | | `-- luac5.3 |-- include |-- include | | | `-- lua5.3 | |-- lauxlib.h | |-- lauxlib.h | |-- luaconf.h | |-- luaconf.h | |-- lua.h | |-- lua.h | |-- lua.hpp | |-- lua.hpp | `-- lualib.h | `-- lualib.h |-- lib |-- lib | |-- liblua-5.3.so | |-- liblua5.3.a | |-- liblua.a | |-- liblua5.3.la | |-- liblua.la | |-- liblua5.3.so -> liblua5.3.so.0.0.0 | |-- liblua.so -> liblua-5.3.so | |-- liblua5.3.so.0 -> liblua5.3.so.0.0.0 | | | |-- liblua5.3.so.0.0.0 | `-- pkgconfig | `-- pkgconfig | `-- lua.pc | `-- lua5.3.pc `-- share `-- share |-- doc |-- doc | `-- lua | `-- lua5.3 | |-- ... | |-- ... `-- man `-- man `-- man1 `-- man1 |-- lua.1 |-- lua.1 `-- luac.1 `-- luac.1 _--enable-versioned-install_ takes an optional value, which will be appended to the version string. For example, compare _--enable-versioned-install_ (on the left) to _--enable-versioned-install=-compat_ (on the right) {prefix} {prefix} |-- bin |-- bin | |-- lua -> lua5.3 | |-- lua -> lua5.3-compat | |-- lua5.3 | |-- lua5.3-compat | |-- luac -> luac5.3 | |-- luac -> luac5.3-compat | `-- luac5.3 | `-- luac5.3-compat |-- include |-- include | `-- lua5.3 | `-- lua5.3-compat | |-- lauxlib.h | |-- lauxlib.h | |-- luaconf.h | |-- luaconf.h | |-- lua.h | |-- lua.h | |-- lua.hpp | |-- lua.hpp | `-- lualib.h | `-- lualib.h |-- lib |-- lib | |-- liblua5.3.a | |-- liblua5.3-compat.a | |-- liblua5.3.la | |-- liblua5.3-compat.la | |-- liblua5.3.so -> liblua5.3.so.0.0.0 | |-- liblua5.3-compat.so -> liblua5.3-compat.so.0.0.0 | |-- liblua5.3.so.0 -> liblua5.3.so.0.0.0 | |-- liblua5.3-compat.so.0 -> liblua5.3-compat.so.0.0.0 | |-- liblua5.3.so.0.0.0 | |-- liblua5.3-compat.so.0.0.0 | `-- pkgconfig | `-- pkgconfig | `-- lua5.3.pc | `-- lua5.3-compat.pc `-- share `-- share |-- doc |-- doc | `-- lua5.3 | `-- lua5.3 | |-- ... | |-- ... `-- man `-- man `-- man1 `-- man1 |-- lua.1 |-- lua.1 `-- luac.1 `-- luac.1