%general-entities; ]> $LastChangedBy$ $Date$ Lua-&lua-version; Lua Introduction to Lua Lua is a powerful light-weight programming language designed for extending applications. It is also frequently used as a general-purpose, stand-alone language. Lua combines simple procedural syntax with powerful data description constructs based on associative arrays and extensible semantics. It is dynamically typed, interpreted from bytecodes, and has automatic memory management with garbage collection, making it ideal for configuration, scripting, and rapid prototyping. A fundamental concept in the design of Lua is to provide meta-mechanisms for implementing features, instead of providing a host of features directly in the language. For example, although Lua is not a pure object-oriented language, it does provide meta-mechanisms for implementing classes and inheritance. Lua's meta-mechanisms bring an economy of concepts and keep the language small, while allowing the semantics to be extended in unconventional ways. Extensible semantics is a distinguishing feature of Lua. Lua is a language engine that you can embed into your application. This means that, besides syntax and semantics, it has an API that allows the application to exchange data with Lua programs and also to extend Lua with C functions. In this sense, it can be regarded as a language framework for building domain-specific languages. Lua is implemented as a small library of C functions, written in ANSI C, and compiles unmodified in all known platforms. The implementation goals are simplicity, efficiency, portability, and low embedding cost. The result is a fast language engine with small footprint, making it ideal in embedded systems too. &lfs73_checked; Package Information Download (HTTP): Download (FTP): Download MD5 sum: &lua-md5sum; Download size: &lua-size; Estimated disk space required: &lua-buildsize; Estimated build time: &lua-time; Additional Downloads Required patch: User Notes: Installation of Lua Install Lua by running the following commands: patch -Np1 -i ../lua-&lua-version;-shared_library-1.patch && make linux To test the results, issue: make test. Now, as the root user: make INSTALL_TOP=/usr TO_LIB="liblua.so liblua.so.5.2 liblua.so.5.2.1" \ INSTALL_DATA="cp -d" INSTALL_MAN=/usr/share/man/man1 install && mkdir -pv /usr/share/doc/lua-&lua-version; && cp -v doc/*.{html,css,gif,png} /usr/share/doc/lua-&lua-version; Some packages check for the pkg-config file for Lua. As the root user: cat > /usr/lib/pkgconfig/lua.pc << "EOF" V=5.2 R=&lua-version; prefix=/usr INSTALL_BIN=${prefix}/bin INSTALL_INC=${prefix}/include INSTALL_LIB=${prefix}/lib INSTALL_MAN=${prefix}/man/man1 INSTALL_LMOD=${prefix}/share/lua/${V} INSTALL_CMOD=${prefix}/lib/lua/${V} exec_prefix=${prefix} libdir=${exec_prefix}/lib includedir=${prefix}/include Name: Lua Description: An Extensible Extension Language Version: ${R} Requires: Libs: -L${libdir} -llua -lm Cflags: -I${includedir} EOF Contents Installed Programs Installed Library Installed Directories lua and luac liblua.so /usr/lib/lua, /usr/share/lua and /usr/share/doc/lua-&lua-version; Short Descriptions lua is the standalone Lua interpreter. lua luac is the Lua compiler. luac liblua.so contains the Lua API functions. liblua.so