From 3095231393800b6d0e7a52aa6374400e920784ec Mon Sep 17 00:00:00 2001 From: "Azamat H. Hackimov" Date: Sun, 16 Dec 2018 03:30:17 +0300 Subject: [PATCH] Autotoolize --- .gitignore | 11 ++++ Makefile.am | 3 + configure.ac | 83 ++++++++++++++++++++++++ doc/Makefile.am | 4 ++ src/Makefile.am | 51 +++++++++++++++ src/lua5.3.pc.in | 13 ++++ src/{luaconf.h => luaconf.h.template.in} | 12 +++- 7 files changed, 174 insertions(+), 3 deletions(-) create mode 100644 .gitignore create mode 100644 Makefile.am create mode 100644 configure.ac create mode 100644 doc/Makefile.am create mode 100644 src/Makefile.am create mode 100644 src/lua5.3.pc.in rename src/{luaconf.h => luaconf.h.template.in} (99%) diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..151ec4a --- /dev/null +++ b/.gitignore @@ -0,0 +1,11 @@ +lua +lua.pc +luac +luaconf.h +luaconf.h.template +*.o +*.lo +Makefile +Makefile.in +.deps +.libs 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..6e2ba6a --- /dev/null +++ b/configure.ac @@ -0,0 +1,83 @@ +AC_PREREQ(2.59) +AC_INIT([lua], [5.3.0], [https://bugzilla.redhat.com/], [lua-at], [http://www.lua.org]) +AC_SUBST([MAJOR_VERSION], [5.3]) + +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( + [compat-module], + [AC_HELP_STRING([--with-compat-module], [Enable LUA_COMPAT_MODULE functions [default=no]])], + [use_compat_module=$withval], + [use_compat_module=no] +) + +COMPAT_DEFS="#undef LUA_COMPAT_ALL" +if test "x$use_compat_module" == "xyes"; then + COMPAT_DEFS="#define LUA_COMPAT_5_1 +#define LUA_COMPAT_5_2" +fi +AC_SUBST(COMPAT_DEFS) + +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$MAJOR_VERSION.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/Makefile.am b/src/Makefile.am new file mode 100644 index 0000000..fa23a2f --- /dev/null +++ b/src/Makefile.am @@ -0,0 +1,51 @@ +AM_CFLAGS = -Wall + +include_HEADERS = lua.h lualib.h lauxlib.h lua.hpp + +nodist_include_HEADERS = luaconf.h + +pkglib_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 lutf8lib.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 + +# Static library for intrenal linking with luac +noinst_LTLIBRARIES = libluac.la +libluac_la_SOURCES = ${liblua_la_SOURCES} + +pkglibdir = $(libdir)/lua/@MAJOR_VERSION@ + +pkgconfigdir = $(libdir)/pkgconfig +pkgconfig_DATA = lua@MAJOR_VERSION@.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 +luac_LDADD = .libs/libluac.a @LUA_LIBS@ +luac_DEPENDENCIES = libluac.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/lua5.3.pc.in b/src/lua5.3.pc.in new file mode 100644 index 0000000..da687ad --- /dev/null +++ b/src/lua5.3.pc.in @@ -0,0 +1,13 @@ +V= @MAJOR_VERSION@ +R= @VERSION@ +prefix= @prefix@ +exec_prefix=${prefix} +libdir= @libdir@/lua/@MAJOR_VERSION@ +includedir=@includedir@ + +Name: Lua +Description: An Extensible Extension Language +Version: ${R} +Requires: +Libs: -L${libdir} -llua @LUA_LIBS@ +Cflags: -I${includedir} diff --git a/src/luaconf.h b/src/luaconf.h.template.in similarity index 99% rename from src/luaconf.h rename to src/luaconf.h.template.in index 9eeeea6..1a4f1bc 100644 --- a/src/luaconf.h +++ b/src/luaconf.h.template.in @@ -11,6 +11,12 @@ #include #include +@POSIX_DEFS@ +@LUA_DL_DEFS@ +@LUA_BUILD_AS_DLL_DEFS@ +@READLINE_DEFS@ +@COMPAT_DEFS@ + /* ** =================================================================== @@ -200,9 +206,9 @@ #else /* }{ */ -#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 "@datadir@/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;" \ -- 2.19.2