Blame build/find_lua.m4

Packit 284210
dnl Check for LUA Libraries
Packit 284210
dnl CHECK_LUA(ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND])
Packit 284210
dnl Sets:
Packit 284210
dnl  LUA_CFLAGS
Packit 284210
dnl  LUA_LIBS
Packit 284210
Packit 284210
AC_DEFUN([CHECK_LUA],
Packit 284210
[dnl
Packit 284210
Packit 284210
AC_REQUIRE([PKG_PROG_PKG_CONFIG])
Packit 284210
Packit 284210
LUA_CONFIG=""
Packit 284210
LUA_VERSION=""
Packit 284210
LUA_CFLAGS=""
Packit 284210
LUA_CPPFLAGS=""
Packit 284210
LUA_LDADD=""
Packit 284210
LUA_LDFLAGS=""
Packit 284210
LUA_CONFIG=${PKG_CONFIG}
Packit 284210
LUA_PKGNAMES="lua5.1 lua-5.1 lua_5.1 lua-51 lua_51 lua51 lua5 lua lua5.2 lua-5.2 lua_5.2 lua-52 lua_52 lua52 lua5.3 lua-5.3 lua_5.3 lua-53 lua_53 lua53 "
Packit 284210
LUA_SONAMES="so la sl dll dylib a"
Packit 284210
Packit 284210
AC_ARG_WITH(
Packit 284210
    lua,
Packit 284210
    [AC_HELP_STRING([--with-lua=PATH],[Path to lua prefix or config script])]
Packit 284210
    ,, with_lua=yes)
Packit 284210
Packit 284210
AS_CASE(["${with_lua}"],
Packit 284210
  [no], [test_paths=],
Packit 284210
  [yes], [test_paths="/usr/local/liblua /usr/local/lua /usr/local /opt/liblua /opt/lua /opt /usr"],
Packit 284210
  [test_paths="${with_lua}"])
Packit 284210
Packit 284210
AS_IF([test "x${test_paths}" != "x"], [
Packit 284210
AC_MSG_CHECKING([for liblua config script])
Packit 284210
Packit 284210
for x in ${test_paths}; do
Packit 284210
    dnl # Determine if the script was specified and use it directly
Packit 284210
    if test ! -d "$x" -a -e "$x"; then
Packit 284210
        LUA_CONFIG=$x
Packit 284210
        break
Packit 284210
    fi
Packit 284210
Packit 284210
    dnl # Try known config script names/locations
Packit 284210
    for y in $LUA_CONFIG; do
Packit 284210
        if test -e "${x}/bin/${y}"; then
Packit 284210
            LUA_CONFIG="${x}/bin/${y}"
Packit 284210
            lua_config="${LUA_CONFIG}"
Packit 284210
            break
Packit 284210
        elif test -e "${x}/${y}"; then
Packit 284210
            LUA_CONFIG="${x}/${y}"
Packit 284210
            lua_config="${LUA_CONFIG}"
Packit 284210
            break
Packit 284210
        fi
Packit 284210
    done
Packit 284210
    if test -n "${lua_config}"; then
Packit 284210
        break
Packit 284210
    fi
Packit 284210
done
Packit 284210
Packit 284210
dnl # Try known package names
Packit 284210
if test -n "${LUA_CONFIG}"; then
Packit 284210
    LUA_PKGNAME=""
Packit 284210
    for x in ${LUA_PKGNAMES}; do
Packit 284210
        if ${LUA_CONFIG} --exists ${x}; then
Packit 284210
            LUA_PKGNAME="$x"
Packit 284210
            break
Packit 284210
        fi
Packit 284210
    done
Packit 284210
fi
Packit 284210
Packit 284210
if test -n "${LUA_PKGNAME}"; then
Packit 284210
    AC_MSG_RESULT([${LUA_CONFIG}])
Packit 284210
    LUA_VERSION="`${LUA_CONFIG} ${LUA_PKGNAME} --modversion`"
Packit 284210
    if test "$verbose_output" -eq 1; then AC_MSG_NOTICE(lua VERSION: $LUA_VERSION); fi
Packit 284210
    LUA_CFLAGS="`${LUA_CONFIG} ${LUA_PKGNAME} --cflags`"
Packit 284210
    if test "$verbose_output" -eq 1; then AC_MSG_NOTICE(lua CFLAGS: $LUA_CFLAGS); fi
Packit 284210
    LUA_LDADD="`${LUA_CONFIG} ${LUA_PKGNAME} --libs-only-l`"
Packit 284210
    if test "$verbose_output" -eq 1; then AC_MSG_NOTICE(lua LDADD: $LUA_LDADD); fi
Packit 284210
    LUA_LDFLAGS="`${LUA_CONFIG} ${LUA_PKGNAME} --libs-only-L --libs-only-other`"
Packit 284210
    if test "$verbose_output" -eq 1; then AC_MSG_NOTICE(lua LDFLAGS: $LUA_LDFLAGS); fi
Packit 284210
else
Packit 284210
    AC_MSG_RESULT([no])
Packit 284210
Packit 284210
    dnl Hack to just try to find the lib and include
Packit 284210
    AC_MSG_CHECKING([for lua install])
Packit 284210
    for x in ${test_paths}; do
Packit 284210
        for y in ${LUA_SONAMES}; do
Packit 284210
            if test -e "${x}/liblua5.1.${y}"; then
Packit 284210
                lua_lib_path="${x}"
Packit 284210
                lua_lib_name="lua5.1"
Packit 284210
                break
Packit 284210
            elif test -e "${x}/lib/liblua5.1.${y}"; then
Packit 284210
                lua_lib_path="${x}/lib"
Packit 284210
                lua_lib_name="lua5.1"
Packit 284210
                break
Packit 284210
            elif test -e "${x}/lib64/liblua5.1.${y}"; then
Packit 284210
                lua_lib_path="${x}/lib64"
Packit 284210
                lua_lib_name="lua5.1"
Packit 284210
                break
Packit 284210
            elif test -e "${x}/lib32/liblua5.1.${y}"; then
Packit 284210
                lua_lib_path="${x}/lib32"
Packit 284210
                lua_lib_name="lua5.1"
Packit 284210
                break
Packit 284210
            elif test -e "${x}/liblua51.${y}"; then
Packit 284210
                lua_lib_path="${x}"
Packit 284210
                lua_lib_name="lua51"
Packit 284210
                break
Packit 284210
            elif test -e "${x}/lib/liblua51.${y}"; then
Packit 284210
                lua_lib_path="${x}/lib"
Packit 284210
                lua_lib_name="lua51"
Packit 284210
                break
Packit 284210
            elif test -e "${x}/lib64/liblua51.${y}"; then
Packit 284210
                lua_lib_path="${x}/lib64"
Packit 284210
                lua_lib_name="lua51"
Packit 284210
                break
Packit 284210
            elif test -e "${x}/lib32/liblua51.${y}"; then
Packit 284210
                lua_lib_path="${x}/lib32"
Packit 284210
                lua_lib_name="lua51"
Packit 284210
                break
Packit 284210
            elif test -e "${x}/liblua.${y}"; then
Packit 284210
                lua_lib_path="${x}"
Packit 284210
                lua_lib_name="lua"
Packit 284210
                break
Packit 284210
            elif test -e "${x}/lib/liblua.${y}"; then
Packit 284210
                lua_lib_path="${x}/lib"
Packit 284210
                lua_lib_name="lua"
Packit 284210
                break
Packit 284210
            elif test -e "${x}/lib64/liblua.${y}"; then
Packit 284210
                lua_lib_path="${x}/lib64"
Packit 284210
                lua_lib_name="lua"
Packit 284210
                break
Packit 284210
            elif test -e "${x}/lib32/liblua.${y}"; then
Packit 284210
                lua_lib_path="${x}/lib32"
Packit 284210
                lua_lib_name="lua"
Packit 284210
                break
Packit 284210
            else
Packit 284210
                lua_lib_path=""
Packit 284210
                lua_lib_name=""
Packit 284210
            fi
Packit 284210
        done
Packit 284210
        if test -n "$lua_lib_path"; then
Packit 284210
            break
Packit 284210
        fi
Packit 284210
    done
Packit 284210
    for x in ${test_paths}; do
Packit 284210
        if test -e "${x}/include/lua.h"; then
Packit 284210
            lua_inc_path="${x}/include"
Packit 284210
            break
Packit 284210
        elif test -e "${x}/lua.h"; then
Packit 284210
            lua_inc_path="${x}"
Packit 284210
            break
Packit 284210
        fi
Packit 284210
Packit 284210
        dnl # Check some sub-paths as well
Packit 284210
        for lua_pkg_name in ${lua_lib_name} ${LUA_PKGNAMES}; do
Packit 284210
            if test -e "${x}/include/${lua_pkg_name}/lua.h"; then
Packit 284210
                lua_inc_path="${x}/include"
Packit 284210
                break
Packit 284210
            elif test -e "${x}/${lua_pkg_name}/lua.h"; then
Packit 284210
                lua_inc_path="${x}"
Packit 284210
                break
Packit 284210
            else
Packit 284210
                lua_inc_path=""
Packit 284210
            fi
Packit 284210
        done
Packit 284210
        if test -n "$lua_inc_path"; then
Packit 284210
            break
Packit 284210
        fi
Packit 284210
    done
Packit 284210
    if test -n "${lua_lib_path}" -a -n "${lua_inc_path}"; then
Packit 284210
        LUA_CONFIG=""
Packit 284210
        AC_MSG_RESULT([${lua_lib_path} ${lua_inc_path}])
Packit 284210
        LUA_VERSION="5.1"
Packit 284210
        LUA_CFLAGS="-I${lua_inc_path}"
Packit 284210
        LUA_LDADD="-l${lua_lib_name}"
Packit 284210
        LUA_LDFLAGS="-L${lua_lib_path}"
Packit 284210
    else
Packit 284210
        LUA_VERSION=""
Packit 284210
        AC_MSG_RESULT([no])
Packit 284210
    fi
Packit 284210
fi
Packit 284210
Packit 284210
])
Packit 284210
Packit 284210
AC_SUBST(LUA_CFLAGS)
Packit 284210
AC_SUBST(LUA_LDADD)
Packit 284210
AC_SUBST(LUA_LDFLAGS)
Packit 284210
Packit 284210
    if test -z "${LUA_VERSION}"; then
Packit 284210
      ifelse([$2], , AC_MSG_NOTICE([optional lua library not found]), $2)
Packit 284210
    else
Packit 284210
      AC_MSG_NOTICE([using lua v${LUA_VERSION}])
Packit 284210
      LUA_CFLAGS="-DWITH_LUA ${LUA_CFLAGS}"
Packit 284210
      ifelse([$1], , , $1) 
Packit 284210
    fi 
Packit 284210
])