Mercurial > vim
changeset 4295:5aa74a2f8f9d v7.3.897
updated for version 7.3.897
Problem: Configure doesn't always find the shared library.
Solution: Change the configure script. (Ken Takata)
author | Bram Moolenaar <bram@vim.org> |
---|---|
date | Mon, 15 Apr 2013 14:44:57 +0200 |
parents | 981b1749e8fc |
children | 0f8a46b62c70 |
files | src/auto/configure src/configure.in src/version.c |
diffstat | 3 files changed, 36 insertions(+), 16 deletions(-) [+] |
line wrap: on
line diff
--- a/src/auto/configure +++ b/src/auto/configure @@ -4737,15 +4737,24 @@ 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 - for LUA_SOVER in "${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}/lib/liblua${LUA_SOVER}.$i"; then - LUA_SONAME=".$i" - break - fi + multiarch=`dpkg-architecture -qDEB_HOST_MULTIARCH 2> /dev/null` + if test "X$multiarch" != "X"; then + lib_multiarch="lib/${multiarch}" + fi + 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 + sover2="$i" + break 3 + fi + done done - vi_cv_dll_name_lua="liblua${LUA_SOVER}$LUA_SONAME" done + vi_cv_dll_name_lua="liblua${sover}$sover2" fi $as_echo "#define DYNAMIC_LUA 1" >>confdefs.h
--- a/src/configure.in +++ b/src/configure.in @@ -494,17 +494,26 @@ if test "$enable_luainterp" = "yes" -o " 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 - dnl Determine the SONAME for the current version, but fallback to - dnl liblua${vi_cv_version_lua}.so if no SONAME-versioned file is found. - for LUA_SOVER in "${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}/lib/liblua${LUA_SOVER}.$i"; then - LUA_SONAME=".$i" - break - fi + multiarch=`dpkg-architecture -qDEB_HOST_MULTIARCH 2> /dev/null` + if test "X$multiarch" != "X"; then + lib_multiarch="lib/${multiarch}" + 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. + 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 + sover2="$i" + break 3 + fi + done done - vi_cv_dll_name_lua="liblua${LUA_SOVER}$LUA_SONAME" done + vi_cv_dll_name_lua="liblua${sover}$sover2" fi AC_DEFINE(DYNAMIC_LUA) LUA_LIBS=""