vlc | branch: master | Alexandre Janniaux <aja...@videolabs.io> | Mon Apr 6 15:56:01 2020 +0200| [2af2780fbb7f605bf43528accf508835a1472c7f] | committer: Alexandre Janniaux
configure.ac: refactor lua detection 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. > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=2af2780fbb7f605bf43528accf508835a1472c7f --- configure.ac | 64 +++++++++++++++++++++++++++++++++--------------------------- 1 file changed, 35 insertions(+), 29 deletions(-) diff --git a/configure.ac b/configure.ac index 2b4e5741ef..96e47b1969 100644 --- a/configure.ac +++ b/configure.ac @@ -1903,37 +1903,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 _______________________________________________ vlc-commits mailing list vlc-commits@videolan.org https://mailman.videolan.org/listinfo/vlc-commits