mirror of
https://github.com/vim/vim.git
synced 2025-10-06 05:44:14 -04:00
updated for version 7.4a.045
Problem: Configure does not always find the right library for Lua. Missing support for LuaJit. Solution: Improve the configure detection of Lua. (Hiroshi Shirosaki)
This commit is contained in:
@@ -381,8 +381,12 @@ CClink = $(CC)
|
||||
# LUA
|
||||
# Uncomment one of these when you want to include the Lua interface.
|
||||
# First one is for static linking, second one for dynamic loading.
|
||||
# Use --with-luajit if you want to use LuaJIT instead of Lua.
|
||||
# Set PATH environment variable to find lua or luajit executable.
|
||||
#CONF_OPT_LUA = --enable-luainterp
|
||||
#CONF_OPT_LUA = --enable-luainterp=dynamic
|
||||
#CONF_OPT_LUA = --enable-luainterp --with-luajit
|
||||
#CONF_OPT_LUA = --enable-luainterp=dynamic --with-luajit
|
||||
# Lua installation dir (when not set uses $LUA_PREFIX or defaults to /usr)
|
||||
#CONF_OPT_LUA_PREFIX = --with-lua-prefix=/usr/local
|
||||
|
||||
|
267
src/auto/configure
vendored
267
src/auto/configure
vendored
@@ -674,6 +674,8 @@ LUA_LIBS
|
||||
LUA_PRO
|
||||
LUA_OBJ
|
||||
LUA_SRC
|
||||
vi_cv_path_plain_lua
|
||||
vi_cv_path_luajit
|
||||
vi_cv_path_lua
|
||||
compiledby
|
||||
dogvimdiff
|
||||
@@ -758,6 +760,7 @@ enable_xsmp
|
||||
enable_xsmp_interact
|
||||
enable_luainterp
|
||||
with_lua_prefix
|
||||
with_luajit
|
||||
enable_mzschemeinterp
|
||||
with_plthome
|
||||
enable_perlinterp
|
||||
@@ -1469,6 +1472,7 @@ Optional Packages:
|
||||
--with-features=TYPE tiny, small, normal, big or huge (default: normal)
|
||||
--with-compiledby=NAME name to show in :version message
|
||||
--with-lua-prefix=PFX Prefix where Lua is installed.
|
||||
--with-luajit Link with LuaJIT instead of Lua.
|
||||
--with-plthome=PLTHOME Use PLTHOME.
|
||||
--with-python-config-dir=PATH Python's config directory
|
||||
--with-python3-config-dir=PATH Python's config directory
|
||||
@@ -4646,18 +4650,32 @@ $as_echo "not set, default to /usr" >&6; }
|
||||
fi
|
||||
fi
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking --with-luajit" >&5
|
||||
$as_echo_n "checking --with-luajit... " >&6; }
|
||||
|
||||
# Check whether --with-luajit was given.
|
||||
if test "${with_luajit+set}" = set; then :
|
||||
withval=$with_luajit; vi_cv_with_luajit="$withval"
|
||||
else
|
||||
vi_cv_with_luajit="no"
|
||||
fi
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $vi_cv_with_luajit" >&5
|
||||
$as_echo "$vi_cv_with_luajit" >&6; }
|
||||
|
||||
LUA_INC=
|
||||
if test "X$vi_cv_path_lua_pfx" != "X"; then
|
||||
# Extract the first word of "lua", so it can be a program name with args.
|
||||
set dummy lua; ac_word=$2
|
||||
if test "x$vi_cv_with_luajit" != "xno"; then
|
||||
# Extract the first word of "luajit", so it can be a program name with args.
|
||||
set dummy luajit; ac_word=$2
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
|
||||
$as_echo_n "checking for $ac_word... " >&6; }
|
||||
if test "${ac_cv_path_vi_cv_path_lua+set}" = set; then :
|
||||
if test "${ac_cv_path_vi_cv_path_luajit+set}" = set; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
case $vi_cv_path_lua in
|
||||
case $vi_cv_path_luajit in
|
||||
[\\/]* | ?:[\\/]*)
|
||||
ac_cv_path_vi_cv_path_lua="$vi_cv_path_lua" # Let the user override the test with a path.
|
||||
ac_cv_path_vi_cv_path_luajit="$vi_cv_path_luajit" # Let the user override the test with a path.
|
||||
;;
|
||||
*)
|
||||
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
|
||||
@@ -4667,7 +4685,7 @@ do
|
||||
test -z "$as_dir" && as_dir=.
|
||||
for ac_exec_ext in '' $ac_executable_extensions; do
|
||||
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
|
||||
ac_cv_path_vi_cv_path_lua="$as_dir/$ac_word$ac_exec_ext"
|
||||
ac_cv_path_vi_cv_path_luajit="$as_dir/$ac_word$ac_exec_ext"
|
||||
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
|
||||
break 2
|
||||
fi
|
||||
@@ -4678,91 +4696,242 @@ IFS=$as_save_IFS
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
vi_cv_path_lua=$ac_cv_path_vi_cv_path_lua
|
||||
if test -n "$vi_cv_path_lua"; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $vi_cv_path_lua" >&5
|
||||
$as_echo "$vi_cv_path_lua" >&6; }
|
||||
vi_cv_path_luajit=$ac_cv_path_vi_cv_path_luajit
|
||||
if test -n "$vi_cv_path_luajit"; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $vi_cv_path_luajit" >&5
|
||||
$as_echo "$vi_cv_path_luajit" >&6; }
|
||||
else
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||
$as_echo "no" >&6; }
|
||||
fi
|
||||
|
||||
|
||||
if test "X$vi_cv_path_lua" != "X"; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking Lua version" >&5
|
||||
$as_echo_n "checking Lua version... " >&6; }
|
||||
if test "${vi_cv_version_lua+set}" = set; then :
|
||||
if test "X$vi_cv_path_luajit" != "X"; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking LuaJIT version" >&5
|
||||
$as_echo_n "checking LuaJIT version... " >&6; }
|
||||
if test "${vi_cv_version_luajit+set}" = set; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
vi_cv_version_lua=`${vi_cv_path_lua} -e "print(_VERSION)" | sed 's/.* //'`
|
||||
vi_cv_version_luajit=`${vi_cv_path_luajit} -v | sed 's/LuaJIT \([0-9.]*\)\.[0-9] .*/\1/'`
|
||||
fi
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $vi_cv_version_lua" >&5
|
||||
$as_echo "$vi_cv_version_lua" >&6; }
|
||||
fi
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if lua.h can be found in $vi_cv_path_lua_pfx/include" >&5
|
||||
$as_echo_n "checking if lua.h can be found in $vi_cv_path_lua_pfx/include... " >&6; }
|
||||
if test -f $vi_cv_path_lua_pfx/include/lua.h; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
||||
$as_echo "yes" >&6; }
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $vi_cv_version_luajit" >&5
|
||||
$as_echo "$vi_cv_version_luajit" >&6; }
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking Lua version of LuaJIT" >&5
|
||||
$as_echo_n "checking Lua version of LuaJIT... " >&6; }
|
||||
if test "${vi_cv_version_lua_luajit+set}" = set; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
vi_cv_version_lua_luajit=`${vi_cv_path_luajit} -e "print(_VERSION)" | sed 's/.* //'`
|
||||
fi
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $vi_cv_version_lua_luajit" >&5
|
||||
$as_echo "$vi_cv_version_lua_luajit" >&6; }
|
||||
vi_cv_path_lua="$vi_cv_path_luajit"
|
||||
vi_cv_version_lua="$vi_cv_version_lua_luajit"
|
||||
fi
|
||||
else
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||
# Extract the first word of "lua", so it can be a program name with args.
|
||||
set dummy lua; ac_word=$2
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
|
||||
$as_echo_n "checking for $ac_word... " >&6; }
|
||||
if test "${ac_cv_path_vi_cv_path_plain_lua+set}" = set; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
case $vi_cv_path_plain_lua in
|
||||
[\\/]* | ?:[\\/]*)
|
||||
ac_cv_path_vi_cv_path_plain_lua="$vi_cv_path_plain_lua" # Let the user override the test with a path.
|
||||
;;
|
||||
*)
|
||||
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
|
||||
for as_dir in $PATH
|
||||
do
|
||||
IFS=$as_save_IFS
|
||||
test -z "$as_dir" && as_dir=.
|
||||
for ac_exec_ext in '' $ac_executable_extensions; do
|
||||
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
|
||||
ac_cv_path_vi_cv_path_plain_lua="$as_dir/$ac_word$ac_exec_ext"
|
||||
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
|
||||
break 2
|
||||
fi
|
||||
done
|
||||
done
|
||||
IFS=$as_save_IFS
|
||||
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
vi_cv_path_plain_lua=$ac_cv_path_vi_cv_path_plain_lua
|
||||
if test -n "$vi_cv_path_plain_lua"; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $vi_cv_path_plain_lua" >&5
|
||||
$as_echo "$vi_cv_path_plain_lua" >&6; }
|
||||
else
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||
$as_echo "no" >&6; }
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if lua.h can be found in $vi_cv_path_lua_pfx/include/lua$vi_cv_version_lua" >&5
|
||||
$as_echo_n "checking if lua.h can be found in $vi_cv_path_lua_pfx/include/lua$vi_cv_version_lua... " >&6; }
|
||||
if test -f $vi_cv_path_lua_pfx/include/lua$vi_cv_version_lua/lua.h; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
||||
fi
|
||||
|
||||
|
||||
if test "X$vi_cv_path_plain_lua" != "X"; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking Lua version" >&5
|
||||
$as_echo_n "checking Lua version... " >&6; }
|
||||
if test "${vi_cv_version_plain_lua+set}" = set; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
vi_cv_version_plain_lua=`${vi_cv_path_plain_lua} -e "print(_VERSION)" | sed 's/.* //'`
|
||||
fi
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $vi_cv_version_plain_lua" >&5
|
||||
$as_echo "$vi_cv_version_plain_lua" >&6; }
|
||||
fi
|
||||
vi_cv_path_lua="$vi_cv_path_plain_lua"
|
||||
vi_cv_version_lua="$vi_cv_version_plain_lua"
|
||||
fi
|
||||
if test "x$vi_cv_with_luajit" != "xno" && test "X$vi_cv_version_luajit" != "X"; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if lua.h can be found in $vi_cv_path_lua_pfx/include/luajit-$vi_cv_version_luajit" >&5
|
||||
$as_echo_n "checking if lua.h can be found in $vi_cv_path_lua_pfx/include/luajit-$vi_cv_version_luajit... " >&6; }
|
||||
if test -f $vi_cv_path_lua_pfx/include/luajit-$vi_cv_version_luajit/lua.h; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
||||
$as_echo "yes" >&6; }
|
||||
LUA_INC=/luajit-$vi_cv_version_luajit
|
||||
fi
|
||||
fi
|
||||
if test "X$LUA_INC" = "X"; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if lua.h can be found in $vi_cv_path_lua_pfx/include" >&5
|
||||
$as_echo_n "checking if lua.h can be found in $vi_cv_path_lua_pfx/include... " >&6; }
|
||||
if test -f $vi_cv_path_lua_pfx/include/lua.h; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
||||
$as_echo "yes" >&6; }
|
||||
LUA_INC=/lua$vi_cv_version_lua
|
||||
else
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||
$as_echo "no" >&6; }
|
||||
vi_cv_path_lua_pfx=
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if lua.h can be found in $vi_cv_path_lua_pfx/include/lua$vi_cv_version_lua" >&5
|
||||
$as_echo_n "checking if lua.h can be found in $vi_cv_path_lua_pfx/include/lua$vi_cv_version_lua... " >&6; }
|
||||
if test -f $vi_cv_path_lua_pfx/include/lua$vi_cv_version_lua/lua.h; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
||||
$as_echo "yes" >&6; }
|
||||
LUA_INC=/lua$vi_cv_version_lua
|
||||
else
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||
$as_echo "no" >&6; }
|
||||
vi_cv_path_lua_pfx=
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
if test "X$vi_cv_path_lua_pfx" != "X"; then
|
||||
if test "X$LUA_INC" != "X"; then
|
||||
LUA_LIBS="-L${vi_cv_path_lua_pfx}/lib -llua$vi_cv_version_lua"
|
||||
if test "x$vi_cv_with_luajit" != "xno"; then
|
||||
multiarch=`dpkg-architecture -qDEB_HOST_MULTIARCH 2> /dev/null`
|
||||
if test "X$multiarch" != "X"; then
|
||||
lib_multiarch="lib/${multiarch}"
|
||||
else
|
||||
lib_multiarch="lib"
|
||||
fi
|
||||
if test "X$vi_cv_version_lua" = "X"; then
|
||||
LUA_LIBS="-L${vi_cv_path_lua_pfx}/${lib_multiarch} -lluajit"
|
||||
else
|
||||
LUA_LIBS="-L${vi_cv_path_lua_pfx}/${lib_multiarch} -lluajit-$vi_cv_version_lua"
|
||||
fi
|
||||
else
|
||||
LUA_LIBS="-L${vi_cv_path_lua_pfx}/lib -llua"
|
||||
if test "X$LUA_INC" != "X"; then
|
||||
LUA_LIBS="-L${vi_cv_path_lua_pfx}/lib -llua$vi_cv_version_lua"
|
||||
else
|
||||
LUA_LIBS="-L${vi_cv_path_lua_pfx}/lib -llua"
|
||||
fi
|
||||
fi
|
||||
LUA_CFLAGS="-I${vi_cv_path_lua_pfx}/include${LUA_INC}"
|
||||
LUA_SRC="if_lua.c"
|
||||
LUA_OBJ="objects/if_lua.o"
|
||||
LUA_PRO="if_lua.pro"
|
||||
$as_echo "#define FEAT_LUA 1" >>confdefs.h
|
||||
|
||||
if test "$enable_luainterp" = "dynamic"; then
|
||||
lua_ok="yes"
|
||||
else
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if link with ${LUA_LIBS} is sane" >&5
|
||||
$as_echo_n "checking if link with ${LUA_LIBS} is sane... " >&6; }
|
||||
libs_save=$LIBS
|
||||
LIBS="$LIBS $LUA_LIBS"
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
|
||||
int
|
||||
main ()
|
||||
{
|
||||
|
||||
;
|
||||
return 0;
|
||||
}
|
||||
_ACEOF
|
||||
if ac_fn_c_try_link "$LINENO"; then :
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
||||
$as_echo "yes" >&6; }; lua_ok="yes"
|
||||
else
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||
$as_echo "no" >&6; }; lua_ok="no"; LUA_LIBS=""
|
||||
fi
|
||||
rm -f core conftest.err conftest.$ac_objext \
|
||||
conftest$ac_exeext conftest.$ac_ext
|
||||
LIBS=$libs_save
|
||||
fi
|
||||
if test "x$lua_ok" = "xyes"; then
|
||||
LUA_CFLAGS="-I${vi_cv_path_lua_pfx}/include${LUA_INC}"
|
||||
LUA_SRC="if_lua.c"
|
||||
LUA_OBJ="objects/if_lua.o"
|
||||
LUA_PRO="if_lua.pro"
|
||||
$as_echo "#define FEAT_LUA 1" >>confdefs.h
|
||||
|
||||
fi
|
||||
if test "$enable_luainterp" = "dynamic"; then
|
||||
if test "x$vi_cv_with_luajit" != "xno"; then
|
||||
luajit="jit"
|
||||
fi
|
||||
if test -f "${vi_cv_path_lua_pfx}/bin/cyglua-${vi_cv_version_lua}.dll"; then
|
||||
vi_cv_dll_name_lua="cyglua-${vi_cv_version_lua}.dll"
|
||||
else
|
||||
multiarch=`dpkg-architecture -qDEB_HOST_MULTIARCH 2> /dev/null`
|
||||
if test "X$multiarch" != "X"; then
|
||||
lib_multiarch="lib/${multiarch}"
|
||||
if test "x$MACOSX" = "xyes"; then
|
||||
ext="dylib"
|
||||
indexes=""
|
||||
else
|
||||
ext="so"
|
||||
indexes=".0 .1 .2 .3 .4 .5 .6 .7 .8 .9"
|
||||
multiarch=`dpkg-architecture -qDEB_HOST_MULTIARCH 2> /dev/null`
|
||||
if test "X$multiarch" != "X"; then
|
||||
lib_multiarch="lib/${multiarch}"
|
||||
fi
|
||||
fi
|
||||
for subdir in "${lib_multiarch}" lib64 lib; do
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if liblua${luajit}*.${ext}* can be found in $vi_cv_path_lua_pfx" >&5
|
||||
$as_echo_n "checking if liblua${luajit}*.${ext}* can be found in $vi_cv_path_lua_pfx... " >&6; }
|
||||
for subdir in "${lib_multiarch}" lib64 lib; do
|
||||
if test -z "$subdir"; then
|
||||
continue
|
||||
fi
|
||||
for sover in "${vi_cv_version_lua}.so" "-${vi_cv_version_lua}.so" ".so.${vi_cv_version_lua}"; do
|
||||
for i in .0 .1 .2 .3 .4 .5 .6 .7 .8 .9 ""; do
|
||||
if test -f "${vi_cv_path_lua_pfx}/${subdir}/liblua${sover}$i"; then
|
||||
for sover in "${vi_cv_version_lua}.${ext}" "-${vi_cv_version_lua}.${ext}" \
|
||||
".${vi_cv_version_lua}.${ext}" ".${ext}.${vi_cv_version_lua}"; do
|
||||
for i in $indexes ""; do
|
||||
if test -f "${vi_cv_path_lua_pfx}/${subdir}/liblua${luajit}${sover}$i"; then
|
||||
sover2="$i"
|
||||
break 3
|
||||
fi
|
||||
done
|
||||
done
|
||||
sover=""
|
||||
done
|
||||
vi_cv_dll_name_lua="liblua${sover}$sover2"
|
||||
if test "X$sover" = "X"; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||
$as_echo "no" >&6; }
|
||||
lua_ok="no"
|
||||
vi_cv_dll_name_lua="liblua${luajit}.${ext}"
|
||||
else
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
||||
$as_echo "yes" >&6; }
|
||||
lua_ok="yes"
|
||||
vi_cv_dll_name_lua="liblua${luajit}${sover}$sover2"
|
||||
fi
|
||||
fi
|
||||
$as_echo "#define DYNAMIC_LUA 1" >>confdefs.h
|
||||
|
||||
LUA_LIBS=""
|
||||
LUA_CFLAGS="-DDYNAMIC_LUA_DLL=\\\"${vi_cv_dll_name_lua}\\\" $LUA_CFLAGS"
|
||||
fi
|
||||
if test "X$LUA_CFLAGS$LUA_LIBS" != "X" && \
|
||||
test "x$MACOSX" = "xyes" && test "x$vi_cv_with_luajit" != "xno" && \
|
||||
test "`(uname -m) 2>/dev/null`" = "x86_64"; then
|
||||
LUA_LIBS="-pagezero_size 10000 -image_base 100000000 $LUA_LIBS"
|
||||
fi
|
||||
fi
|
||||
if test "$fail_if_missing" = "yes" -a -z "$LUA_SRC"; then
|
||||
if test "$fail_if_missing" = "yes" -a "$lua_ok" != "yes"; then
|
||||
as_fn_error "could not configure lua" "$LINENO" 5
|
||||
fi
|
||||
|
||||
|
154
src/configure.in
154
src/configure.in
@@ -453,74 +453,160 @@ if test "$enable_luainterp" = "yes" -o "$enable_luainterp" = "dynamic"; then
|
||||
fi
|
||||
fi
|
||||
|
||||
AC_MSG_CHECKING(--with-luajit)
|
||||
AC_ARG_WITH(luajit,
|
||||
[ --with-luajit Link with LuaJIT instead of Lua.],
|
||||
[vi_cv_with_luajit="$withval"],
|
||||
[vi_cv_with_luajit="no"])
|
||||
AC_MSG_RESULT($vi_cv_with_luajit)
|
||||
|
||||
LUA_INC=
|
||||
if test "X$vi_cv_path_lua_pfx" != "X"; then
|
||||
dnl -- try to find Lua executable
|
||||
AC_PATH_PROG(vi_cv_path_lua, lua)
|
||||
if test "X$vi_cv_path_lua" != "X"; then
|
||||
dnl -- find Lua version
|
||||
AC_CACHE_CHECK(Lua version, vi_cv_version_lua,
|
||||
[ vi_cv_version_lua=`${vi_cv_path_lua} -e "print(_VERSION)" | sed 's/.* //'` ])
|
||||
fi
|
||||
AC_MSG_CHECKING(if lua.h can be found in $vi_cv_path_lua_pfx/include)
|
||||
if test -f $vi_cv_path_lua_pfx/include/lua.h; then
|
||||
AC_MSG_RESULT(yes)
|
||||
if test "x$vi_cv_with_luajit" != "xno"; then
|
||||
dnl -- try to find LuaJIT executable
|
||||
AC_PATH_PROG(vi_cv_path_luajit, luajit)
|
||||
if test "X$vi_cv_path_luajit" != "X"; then
|
||||
dnl -- find LuaJIT version
|
||||
AC_CACHE_CHECK(LuaJIT version, vi_cv_version_luajit,
|
||||
[ vi_cv_version_luajit=`${vi_cv_path_luajit} -v | sed 's/LuaJIT \([[0-9.]]*\)\.[[0-9]] .*/\1/'` ])
|
||||
AC_CACHE_CHECK(Lua version of LuaJIT, vi_cv_version_lua_luajit,
|
||||
[ vi_cv_version_lua_luajit=`${vi_cv_path_luajit} -e "print(_VERSION)" | sed 's/.* //'` ])
|
||||
vi_cv_path_lua="$vi_cv_path_luajit"
|
||||
vi_cv_version_lua="$vi_cv_version_lua_luajit"
|
||||
fi
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
AC_MSG_CHECKING(if lua.h can be found in $vi_cv_path_lua_pfx/include/lua$vi_cv_version_lua)
|
||||
if test -f $vi_cv_path_lua_pfx/include/lua$vi_cv_version_lua/lua.h; then
|
||||
AC_MSG_RESULT(yes)
|
||||
LUA_INC=/lua$vi_cv_version_lua
|
||||
dnl -- try to find Lua executable
|
||||
AC_PATH_PROG(vi_cv_path_plain_lua, lua)
|
||||
if test "X$vi_cv_path_plain_lua" != "X"; then
|
||||
dnl -- find Lua version
|
||||
AC_CACHE_CHECK(Lua version, vi_cv_version_plain_lua,
|
||||
[ vi_cv_version_plain_lua=`${vi_cv_path_plain_lua} -e "print(_VERSION)" | sed 's/.* //'` ])
|
||||
fi
|
||||
vi_cv_path_lua="$vi_cv_path_plain_lua"
|
||||
vi_cv_version_lua="$vi_cv_version_plain_lua"
|
||||
fi
|
||||
if test "x$vi_cv_with_luajit" != "xno" && test "X$vi_cv_version_luajit" != "X"; then
|
||||
AC_MSG_CHECKING(if lua.h can be found in $vi_cv_path_lua_pfx/include/luajit-$vi_cv_version_luajit)
|
||||
if test -f $vi_cv_path_lua_pfx/include/luajit-$vi_cv_version_luajit/lua.h; then
|
||||
AC_MSG_RESULT(yes)
|
||||
LUA_INC=/luajit-$vi_cv_version_luajit
|
||||
fi
|
||||
fi
|
||||
if test "X$LUA_INC" = "X"; then
|
||||
AC_MSG_CHECKING(if lua.h can be found in $vi_cv_path_lua_pfx/include)
|
||||
if test -f $vi_cv_path_lua_pfx/include/lua.h; then
|
||||
AC_MSG_RESULT(yes)
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
vi_cv_path_lua_pfx=
|
||||
AC_MSG_RESULT(no)
|
||||
AC_MSG_CHECKING(if lua.h can be found in $vi_cv_path_lua_pfx/include/lua$vi_cv_version_lua)
|
||||
if test -f $vi_cv_path_lua_pfx/include/lua$vi_cv_version_lua/lua.h; then
|
||||
AC_MSG_RESULT(yes)
|
||||
LUA_INC=/lua$vi_cv_version_lua
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
vi_cv_path_lua_pfx=
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
if test "X$vi_cv_path_lua_pfx" != "X"; then
|
||||
if test "X$LUA_INC" != "X"; then
|
||||
dnl Test alternate location using version
|
||||
LUA_LIBS="-L${vi_cv_path_lua_pfx}/lib -llua$vi_cv_version_lua"
|
||||
if test "x$vi_cv_with_luajit" != "xno"; then
|
||||
multiarch=`dpkg-architecture -qDEB_HOST_MULTIARCH 2> /dev/null`
|
||||
if test "X$multiarch" != "X"; then
|
||||
lib_multiarch="lib/${multiarch}"
|
||||
else
|
||||
lib_multiarch="lib"
|
||||
fi
|
||||
if test "X$vi_cv_version_lua" = "X"; then
|
||||
LUA_LIBS="-L${vi_cv_path_lua_pfx}/${lib_multiarch} -lluajit"
|
||||
else
|
||||
LUA_LIBS="-L${vi_cv_path_lua_pfx}/${lib_multiarch} -lluajit-$vi_cv_version_lua"
|
||||
fi
|
||||
else
|
||||
LUA_LIBS="-L${vi_cv_path_lua_pfx}/lib -llua"
|
||||
if test "X$LUA_INC" != "X"; then
|
||||
dnl Test alternate location using version
|
||||
LUA_LIBS="-L${vi_cv_path_lua_pfx}/lib -llua$vi_cv_version_lua"
|
||||
else
|
||||
LUA_LIBS="-L${vi_cv_path_lua_pfx}/lib -llua"
|
||||
fi
|
||||
fi
|
||||
LUA_CFLAGS="-I${vi_cv_path_lua_pfx}/include${LUA_INC}"
|
||||
LUA_SRC="if_lua.c"
|
||||
LUA_OBJ="objects/if_lua.o"
|
||||
LUA_PRO="if_lua.pro"
|
||||
AC_DEFINE(FEAT_LUA)
|
||||
if test "$enable_luainterp" = "dynamic"; then
|
||||
lua_ok="yes"
|
||||
else
|
||||
AC_MSG_CHECKING([if link with ${LUA_LIBS} is sane])
|
||||
libs_save=$LIBS
|
||||
LIBS="$LIBS $LUA_LIBS"
|
||||
AC_TRY_LINK(,[ ],
|
||||
AC_MSG_RESULT(yes); lua_ok="yes",
|
||||
AC_MSG_RESULT(no); lua_ok="no"; LUA_LIBS="")
|
||||
LIBS=$libs_save
|
||||
fi
|
||||
if test "x$lua_ok" = "xyes"; then
|
||||
LUA_CFLAGS="-I${vi_cv_path_lua_pfx}/include${LUA_INC}"
|
||||
LUA_SRC="if_lua.c"
|
||||
LUA_OBJ="objects/if_lua.o"
|
||||
LUA_PRO="if_lua.pro"
|
||||
AC_DEFINE(FEAT_LUA)
|
||||
fi
|
||||
if test "$enable_luainterp" = "dynamic"; then
|
||||
if test "x$vi_cv_with_luajit" != "xno"; then
|
||||
luajit="jit"
|
||||
fi
|
||||
if test -f "${vi_cv_path_lua_pfx}/bin/cyglua-${vi_cv_version_lua}.dll"; then
|
||||
vi_cv_dll_name_lua="cyglua-${vi_cv_version_lua}.dll"
|
||||
else
|
||||
multiarch=`dpkg-architecture -qDEB_HOST_MULTIARCH 2> /dev/null`
|
||||
if test "X$multiarch" != "X"; then
|
||||
lib_multiarch="lib/${multiarch}"
|
||||
if test "x$MACOSX" = "xyes"; then
|
||||
ext="dylib"
|
||||
indexes=""
|
||||
else
|
||||
ext="so"
|
||||
indexes=".0 .1 .2 .3 .4 .5 .6 .7 .8 .9"
|
||||
multiarch=`dpkg-architecture -qDEB_HOST_MULTIARCH 2> /dev/null`
|
||||
if test "X$multiarch" != "X"; then
|
||||
lib_multiarch="lib/${multiarch}"
|
||||
fi
|
||||
fi
|
||||
dnl Determine the sover for the current version, but fallback to
|
||||
dnl liblua${vi_cv_version_lua}.so if no sover-versioned file is found.
|
||||
AC_MSG_CHECKING(if liblua${luajit}*.${ext}* can be found in $vi_cv_path_lua_pfx)
|
||||
for subdir in "${lib_multiarch}" lib64 lib; do
|
||||
if test -z "$subdir"; then
|
||||
continue
|
||||
fi
|
||||
for sover in "${vi_cv_version_lua}.so" "-${vi_cv_version_lua}.so" ".so.${vi_cv_version_lua}"; do
|
||||
for i in .0 .1 .2 .3 .4 .5 .6 .7 .8 .9 ""; do
|
||||
if test -f "${vi_cv_path_lua_pfx}/${subdir}/liblua${sover}$i"; then
|
||||
for sover in "${vi_cv_version_lua}.${ext}" "-${vi_cv_version_lua}.${ext}" \
|
||||
".${vi_cv_version_lua}.${ext}" ".${ext}.${vi_cv_version_lua}"; do
|
||||
for i in $indexes ""; do
|
||||
if test -f "${vi_cv_path_lua_pfx}/${subdir}/liblua${luajit}${sover}$i"; then
|
||||
sover2="$i"
|
||||
break 3
|
||||
fi
|
||||
done
|
||||
done
|
||||
sover=""
|
||||
done
|
||||
vi_cv_dll_name_lua="liblua${sover}$sover2"
|
||||
if test "X$sover" = "X"; then
|
||||
AC_MSG_RESULT(no)
|
||||
lua_ok="no"
|
||||
vi_cv_dll_name_lua="liblua${luajit}.${ext}"
|
||||
else
|
||||
AC_MSG_RESULT(yes)
|
||||
lua_ok="yes"
|
||||
vi_cv_dll_name_lua="liblua${luajit}${sover}$sover2"
|
||||
fi
|
||||
fi
|
||||
AC_DEFINE(DYNAMIC_LUA)
|
||||
LUA_LIBS=""
|
||||
LUA_CFLAGS="-DDYNAMIC_LUA_DLL=\\\"${vi_cv_dll_name_lua}\\\" $LUA_CFLAGS"
|
||||
fi
|
||||
if test "X$LUA_CFLAGS$LUA_LIBS" != "X" && \
|
||||
test "x$MACOSX" = "xyes" && test "x$vi_cv_with_luajit" != "xno" && \
|
||||
test "`(uname -m) 2>/dev/null`" = "x86_64"; then
|
||||
dnl OSX/x64 requires these flags. See http://luajit.org/install.html
|
||||
LUA_LIBS="-pagezero_size 10000 -image_base 100000000 $LUA_LIBS"
|
||||
fi
|
||||
fi
|
||||
if test "$fail_if_missing" = "yes" -a -z "$LUA_SRC"; then
|
||||
if test "$fail_if_missing" = "yes" -a "$lua_ok" != "yes"; then
|
||||
AC_MSG_ERROR([could not configure lua])
|
||||
fi
|
||||
AC_SUBST(LUA_SRC)
|
||||
|
@@ -727,6 +727,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
45,
|
||||
/**/
|
||||
44,
|
||||
/**/
|
||||
|
Reference in New Issue
Block a user