diff --git a/Makefile.am b/Makefile.am new file mode 100644 index 0000000..8d968c4 --- /dev/null +++ b/Makefile.am @@ -0,0 +1,3 @@ +SUBDIRS = src doc + +EXTRA_DIST = README diff --git a/configure.ac b/configure.ac new file mode 100644 index 0000000..3af6625 --- /dev/null +++ b/configure.ac @@ -0,0 +1,69 @@ +AC_PREREQ(2.59) +AC_INIT([lua], [5.2.3], [https://bugzilla.redhat.com/], [lua-at], [http://www.lua.org]) +AC_SUBST([MAJOR_VERSION], [5.2]) + +AC_CONFIG_HEADERS([config.h]) +AC_CONFIG_SRCDIR([src/lapi.c]) + +AM_INIT_AUTOMAKE([1.9 foreign]) + +AC_PROG_CC +AC_PROG_LIBTOOL + +AC_ARG_WITH( + [readline], + [AC_HELP_STRING([--with-readline], [Use readline for interpreter input [default=yes]])], + [use_readline=$withval], + [use_readline=yes] +) + +LUA_LIBS="-lm" + +# Check for readline +READLINE_DEFS="#undef LUA_USE_READLINE" +if test "x$use_readline" == "xyes"; then + AC_CHECK_LIB([readline], [readline], [:], [use_readline=no], [-lncurses]) + AC_CHECK_HEADERS([readline/readline.h readline/history.h], [], [use_readline=no]) + if test "x$use_readline" == "xno"; then + AC_MSG_WARN([readline headers could not be found, disabling readline support]) + else + READLINE_DEFS="#define LUA_USE_READLINE" + READLINE_LIBS="-lreadline -lncurses" + fi +fi +AC_SUBST(READLINE_DEFS) +AC_SUBST(READLINE_LIBS) + +case "$host" in + *-mingw*) use_os=win32 ;; + *-darwin*) use_os=macosx ;; + *) use_os=posix ;; +esac + +POSIX_DEFS="#undef LUA_USE_POSIX" +LUA_DL_DEFS="#undef LUA_USE_DLOPEN" +LUA_BUILD_AS_DLL_DEFS="#undef LUA_BUILD_AS_DLL" + +if test "x$use_os" == "xwin32"; then + LUA_BUILD_AS_DLL_DEFS="#define LUA_BUILD_AS_DLL" +elif test "x$use_os" == "xmacosx"; then + POSIX_DEFS="#define LUA_USE_POSIX" + LUA_DL_DEFS="#define LUA_DL_DYLD" +elif test "x$use_os" == "xposix"; then + POSIX_DEFS="#define LUA_USE_POSIX" + LUA_DL_DEFS="#define LUA_DL_DLOPEN" + LUA_LIBS="$LUA_LIBS -ldl" +fi +AC_SUBST(POSIX_DEFS) +AC_SUBST(LUA_DL_DEFS) +AC_SUBST(LUA_BUILD_AS_DLL_DEFS) + +AC_SUBST(LUA_LIBS) + +AC_CONFIG_FILES([Makefile + src/Makefile + src/lua.pc + src/luaconf.h.template + doc/Makefile +]) +AC_OUTPUT diff --git a/doc/Makefile.am b/doc/Makefile.am new file mode 100644 index 0000000..3705696 --- /dev/null +++ b/doc/Makefile.am @@ -0,0 +1,4 @@ +man1_MANS = lua.1 luac.1 + +EXTRA_DIST = \ + contents.html logo.gif lua.1 luac.1 lua.css manual.css manual.html osi-certified-72x60.png readme.html diff --git a/src/.gitignore b/src/.gitignore new file mode 100644 index 0000000..0abd9dd --- /dev/null +++ b/src/.gitignore @@ -0,0 +1,5 @@ +lua +lua.pc +luac +luaconf.h +luaconf.h.template diff --git a/src/Makefile.am b/src/Makefile.am new file mode 100644 index 0000000..6c7c79f --- /dev/null +++ b/src/Makefile.am @@ -0,0 +1,46 @@ +AM_CFLAGS = -Wall + +include_HEADERS = lua.h lualib.h lauxlib.h lua.hpp + +nodist_include_HEADERS = luaconf.h + +lib_LTLIBRARIES = liblua.la +liblua_la_LDFLAGS = -release @MAJOR_VERSION@ +liblua_la_SOURCES = \ + lapi.c lauxlib.c lbaselib.c lbitlib.c lcode.c lcorolib.c lctype.c ldblib.c \ + ldebug.c ldo.c ldump.c lfunc.c lgc.c linit.c liolib.c llex.c lmathlib.c lmem.c \ + loadlib.c lobject.c lopcodes.c loslib.c lparser.c lstate.c lstring.c lstrlib.c \ + ltable.c ltablib.c ltm.c lundump.c lvm.c lzio.c \ + lapi.h lcode.h lctype.h ldebug.h ldo.h lfunc.h lgc.h llex.h llimits.h \ + lmem.h lobject.h lopcodes.h lparser.h lstate.h lstring.h ltable.h ltm.h \ + lundump.h lvm.h lzio.h + +pkgconfigdir = $(libdir)/pkgconfig +pkgconfig_DATA = lua.pc + +bin_PROGRAMS = lua luac + +lua_SOURCES = lua.c +lua_LDADD = liblua.la @LUA_LIBS@ @READLINE_LIBS@ +lua_DEPENDENCIES = liblua.la + +luac_SOURCES = luac.c +# Statically link liblua against luac since luac uses symbols not exported in liblua +luac_LDADD = .libs/liblua.a @LUA_LIBS@ +luac_DEPENDENCIES = liblua.la + +EXTRA_DIST = luaconf.h.template +BUILT_SOURCES = luaconf.h +CLEANFILES = luaconf.h luaconf.h.template + +readline_defs = @READLINE_DEFS@ + +edit = sed \ + -e 's,%prefix%,$(prefix),g' \ + -e 's,%lua_datadir%,$(datadir),g' \ + -e 's,%lua_libdir%,$(libdir),g' + +luaconf.h : luaconf.h.template + rm -f $@ $@.tmp + $(edit) $< >$@.tmp + mv $@.tmp $@ diff --git a/src/lua.pc.in b/src/lua.pc.in new file mode 100644 index 0000000..25faa8d --- /dev/null +++ b/src/lua.pc.in @@ -0,0 +1,13 @@ +V= @MAJOR_VERSION@ +R= @VERSION@ +prefix= @prefix@ +exec_prefix=${prefix} +libdir= @libdir@ +includedir=${prefix}/include + +Name: Lua +Description: An Extensible Extension Language +Version: ${R} +Requires: +Libs: -llua @LUA_LIBS@ +Cflags: -I${includedir} diff --git a/src/luaconf.h b/src/luaconf.h.template.in --- a/src/luaconf.h.template.in +++ b/src/luaconf.h.template.in @@ -11,6 +11,11 @@ #include #include +@POSIX_DEFS@ +@LUA_DL_DEFS@ +@LUA_BUILD_AS_DLL_DEFS@ +@READLINE_DEFS@ + /* ** ================================================================== @@ -100,9 +105,9 @@ #else /* }{ */ #define LUA_VDIR LUA_VERSION_MAJOR "." LUA_VERSION_MINOR "/" -#define LUA_ROOT "/usr/local/" -#define LUA_LDIR LUA_ROOT "share/lua/" LUA_VDIR -#define LUA_CDIR LUA_ROOT "lib/lua/" LUA_VDIR +#define LUA_ROOT "@prefix@/" +#define LUA_LDIR "@pkgdatadir@/lua/" LUA_VDIR +#define LUA_CDIR "@libdir@/lua/" LUA_VDIR #define LUA_PATH_DEFAULT \ LUA_LDIR"?.lua;" LUA_LDIR"?/init.lua;" \ LUA_CDIR"?.lua;" LUA_CDIR"?/init.lua;" "./?.lua"