1 2APACHE_MODPATH_INIT(lua) 3 4dnl CHECK_LUA_PATH(PREFIX, INCLUDE-PATH, LIB-PATH, LIB-NAME) 5dnl 6dnl Checks for a specific version of the Lua libraries. Use CHECK_LUA instead, 7dnl which will call this macro. 8dnl 9dnl Sets LUA_CFLAGS and LUA_LIBS, and breaks from its containing loop, if the 10dnl check succeeds. 11AC_DEFUN([CHECK_LUA_PATH], [dnl 12 AC_MSG_CHECKING([for lua.h in $1/$2]) 13 if test -f $1/$2/lua.h; then 14 AC_MSG_RESULT([yes]) 15 save_CFLAGS=$CFLAGS 16 save_LDFLAGS=$LDFLAGS 17 CFLAGS="$CFLAGS" 18 LDFLAGS="-L$1/$3 $LDFLAGS $lib_m" 19 AC_CHECK_LIB($4, luaL_newstate, [ 20 LUA_LIBS="-L$1/$3 -l$4 $lib_m" 21 if test "x$ap_platform_runtime_link_flag" != "x"; then 22 APR_ADDTO(LUA_LIBS, [$ap_platform_runtime_link_flag$1/$3]) 23 fi 24 LUA_CFLAGS="-I$1/$2" 25 ]) 26 CFLAGS=$save_CFLAGS 27 LDFLAGS=$save_LDFLAGS 28 29 if test -n "${LUA_LIBS}"; then 30 break 31 fi 32 else 33 AC_MSG_RESULT([no]) 34 fi 35]) 36 37dnl Check for Lua Libraries 38dnl CHECK_LUA(ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]) 39dnl Sets: 40dnl LUA_CFLAGS 41dnl LUA_LIBS 42AC_DEFUN([CHECK_LUA], 43[dnl 44 45AC_ARG_WITH( 46 lua, 47 [AC_HELP_STRING([--with-lua=PATH],[Path to the Lua installation prefix])], 48 lua_path="$withval", 49 :) 50 51dnl # Determine lua lib directory 52if test -z "$lua_path"; then 53 test_paths=". /usr/local /usr" 54else 55 test_paths="${lua_path}" 56fi 57 58for pklua in lua lua5.4 lua5.3 lua5.2 lua5.1; do 59 if test -n "$PKGCONFIG" -a -z "$lua_path" \ 60 && $PKGCONFIG --atleast-version=5.1 $pklua; then 61 LUA_LIBS="`$PKGCONFIG --libs $pklua`" 62 LUA_CFLAGS="`$PKGCONFIG --cflags $pklua`" 63 LUA_VERSION="`$PKGCONFIG --modversion $pklua`" 64 AC_MSG_NOTICE([using Lua $LUA_VERSION configuration from pkg-config]) 65 break 66 fi 67done 68 69if test -z "$LUA_VERSION"; then 70 AC_CHECK_LIB(m, pow, lib_m="-lm") 71 AC_CHECK_LIB(m, sqrt, lib_m="-lm") 72 for x in $test_paths ; do 73 CHECK_LUA_PATH([${x}], [include/lua-5.4], [lib/lua-5.4], [lua-5.4]) 74 CHECK_LUA_PATH([${x}], [include/lua5.4], [lib], [lua5.4]) 75 CHECK_LUA_PATH([${x}], [include/lua54], [lib/lua54], [lua]) 76 77 CHECK_LUA_PATH([${x}], [include/lua-5.3], [lib/lua-5.3], [lua-5.3]) 78 CHECK_LUA_PATH([${x}], [include/lua5.3], [lib], [lua5.3]) 79 CHECK_LUA_PATH([${x}], [include/lua53], [lib/lua53], [lua]) 80 81 CHECK_LUA_PATH([${x}], [include], [lib], [lua]) 82 83 CHECK_LUA_PATH([${x}], [include/lua-5.2], [lib/lua-5.2], [lua-5.2]) 84 CHECK_LUA_PATH([${x}], [include/lua5.2], [lib], [lua5.2]) 85 CHECK_LUA_PATH([${x}], [include/lua52], [lib/lua52], [lua]) 86 87 CHECK_LUA_PATH([${x}], [include/lua-5.1], [lib/lua-5.1], [lua-5.1]) 88 CHECK_LUA_PATH([${x}], [include/lua5.1], [lib], [lua5.1]) 89 CHECK_LUA_PATH([${x}], [include/lua51], [lib/lua51], [lua]) 90 done 91fi 92 93AC_SUBST(LUA_LIBS) 94AC_SUBST(LUA_CFLAGS) 95 96if test -z "${LUA_LIBS}"; then 97 AC_MSG_WARN([*** Lua 5.4 5.3 5.2 or 5.1 library not found.]) 98 ifelse([$2], , 99 enable_lua="no" 100 if test -z "${lua_path}"; then 101 AC_MSG_WARN([Lua 5.4 5.3 5.2 or 5.1 library is required]) 102 else 103 AC_MSG_ERROR([Lua 5.4 5.3 5.2 or 5.1 library is required]) 104 fi, 105 $2) 106else 107 AC_MSG_NOTICE([using '${LUA_LIBS}' for Lua Library]) 108 AC_ARG_ENABLE(luajit,APACHE_HELP_STRING(--enable-luajit,Enable LuaJit Support), 109 [ 110 if test "$enableval" = "yes"; then 111 APR_ADDTO(MOD_CPPFLAGS, ["-DAP_ENABLE_LUAJIT"]) 112 fi 113 ]) 114 ifelse([$1], , , $1) 115fi 116]) 117 118lua_objects="lua_apr.lo lua_config.lo mod_lua.lo lua_request.lo lua_vmprep.lo lua_dbd.lo lua_passwd.lo" 119 120APACHE_MODULE(lua, Apache Lua Framework, $lua_objects, , , [ 121 CHECK_LUA() 122 if test "x$enable_lua" != "xno" ; then 123 APR_ADDTO(MOD_INCLUDES, [$LUA_CFLAGS]) 124 APR_ADDTO(MOD_LUA_LDADD, [$LUA_LIBS $CRYPT_LIBS]) 125 fi 126]) 127 128APR_ADDTO(INCLUDES, [-I\$(top_srcdir)/$modpath_current]) 129 130APACHE_MODPATH_FINISH 131