[vlc-devel] [PATCH 2/5] configure.ac: refactor lua detection

Alexandre Janniaux ajanni at videolabs.io
Sat Apr 11 12:27:53 CEST 2020


Hi,

It seems this is wrong on most platforms, I'll build
a debian environment to test this correctly then.

Regards,
--
Alexandre Janniaux
Videolabs

On Mon, Apr 06, 2020 at 03:56:01PM +0200, Alexandre Janniaux wrote:
> All checks were nested which was really hard to read and modify
> correctly. Instead use a state variable to track the detection status
> and chain AS_IF condition for each test.
> ---
>  configure.ac | 64 ++++++++++++++++++++++++++++------------------------
>  1 file changed, 35 insertions(+), 29 deletions(-)
>
> diff --git a/configure.ac b/configure.ac
> index 9aba863449..049f590ca6 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -1854,37 +1854,43 @@ AC_ARG_ENABLE([lua],
>      [disable LUA scripting support (default enabled)]))
>  if test "${enable_lua}" != "no"
>  then
> -  PKG_CHECK_MODULES(LUA, lua5.2,
> -    [ have_lua=yes ],
> -    [
> +  PKG_CHECK_MODULES(LUA, lua5.2, [ have_lua=yes ], [])
> +
> +  AS_IF([test "${have_lua}" != "yes"], [
>      AC_MSG_WARN([${LUA_PKG_ERRORS}, trying lua 5.1 instead])
> +    PKG_CHECK_MODULES(LUA, lua5.1, [ have_lua=yes ], []) ])
> +
> +  AS_IF([test "${have_lua}" != "yes"], [
> +    AC_MSG_WARN([${LUA_PKG_ERRORS}, trying lua >= 5.1 instead])
> +    PKG_CHECK_MODULES(LUA, lua >= 5.1, [ have_lua=yes ], []) ])
> +
> +  AS_IF([test "${have_lua}" != "yes"], [
> +     AC_MSG_WARN([${LUA_PKG_ERRORS}, trying manual detection instead])
> +     have_lua_lib=no
> +     AC_CHECK_LIB( lua5.2 , luaL_newstate, [
> +       LUA_LIBS="-llua5.2"
> +       have_lua_lib=yes], [])
> +
> +     AS_IF([test "${have_lua_lib}" != "yes"], [
> +       AC_CHECK_LIB( lua5.1 , luaL_newstate, [
> +         LUA_LIBS="-llua5.1"
> +         have_lua_lib=yes], [] ) ])
> +
> +     AS_IF([test "${have_lua_lib}" != "yes"], [
> +       AC_CHECK_LIB( lua51 , luaL_newstate, [
> +         LUA_LIBS="-llua51"
> +         have_lua_lib=yes], [] ) ])
> +
> +     AS_IF([test "${have_lua_lib}" != "yes"], [
> +       AC_CHECK_LIB( lua , luaL_newstate,
> +         [LUA_LIBS="-llua"],
> +         [ have_lua=no ], [-lm] ) ])
> +
> +     dnl If we found any lib, check that we have the headers too
> +     AS_IF([test "${have_lua_lib}" = "yes"], [
> +       AC_CHECK_HEADERS([lua.h lauxlib.h lualib.h], [ have_lua=yes ], []) ])
> +  ])
>
> -    PKG_CHECK_MODULES(LUA, lua5.1,
> -      [ have_lua=yes ],
> -      [
> -      AC_MSG_WARN([${LUA_PKG_ERRORS}, trying lua >= 5.1 instead])
> -      PKG_CHECK_MODULES(LUA, lua >= 5.1,
> -        [ have_lua=yes ],
> -        [
> -          AC_MSG_WARN([${LUA_PKG_ERRORS}, trying manual detection instead])
> -          have_lua=yes
> -          AC_CHECK_HEADERS([lua.h lauxlib.h lualib.h],
> -            [],
> -            [ have_lua=no ] )
> -          AC_CHECK_LIB(  lua5.2 , luaL_newstate,
> -            [LUA_LIBS="-llua5.2"],
> -          AC_CHECK_LIB( lua5.1 , luaL_newstate,
> -            [LUA_LIBS="-llua5.1"],
> -            AC_CHECK_LIB( lua51 , luaL_newstate,
> -              [LUA_LIBS="-llua51"],
> -              AC_CHECK_LIB( lua , luaL_newstate,
> -                [LUA_LIBS="-llua"],
> -                [ have_lua=no
> -                ], [-lm])
> -            )))
> -        ])
> -      ])
> -    ])
>    if test "x${have_lua}" != "xyes" ;  then
>        AC_MSG_ERROR([Could not find lua. Lua is needed for some interfaces (rc, telnet, http) as well as many other custom scripts. Use --disable-lua to ignore this error.])
>    fi
> --
> 2.26.0
>


More information about the vlc-devel mailing list