diff options
| author | Hisham <hisham@gobolinux.org> | 2016-10-26 15:18:58 -0200 |
|---|---|---|
| committer | Hisham <hisham@gobolinux.org> | 2016-10-26 15:18:58 -0200 |
| commit | 48e5329617f20e97262ca5510264fdb5d645ae6f (patch) | |
| tree | 4979d09d913f7fa22d88010eed6808282db5c78c | |
| parent | 9ab9a8be410201c821fb72851067270e862fca12 (diff) | |
| download | luarocks-48e5329617f20e97262ca5510264fdb5d645ae6f.tar.gz luarocks-48e5329617f20e97262ca5510264fdb5d645ae6f.tar.bz2 luarocks-48e5329617f20e97262ca5510264fdb5d645ae6f.zip | |
Improve check of Lua interpreter
(e.g. allow it to find `lua5.1` when lua is 5.3 and only `--lua-version=5.1`
is given).
| -rwxr-xr-x | configure | 77 |
1 files changed, 39 insertions, 38 deletions
| @@ -229,15 +229,17 @@ detect_lua_version() { | |||
| 229 | detected_lua=`$1 -e 'print(_VERSION:match(" (5%.[123])$"))' 2> /dev/null` | 229 | detected_lua=`$1 -e 'print(_VERSION:match(" (5%.[123])$"))' 2> /dev/null` |
| 230 | if [ "$detected_lua" != "nil" ] | 230 | if [ "$detected_lua" != "nil" ] |
| 231 | then | 231 | then |
| 232 | echo "Lua version detected: $detected_lua" | ||
| 233 | if [ "$LUA_VERSION_SET" != "yes" ] | 232 | if [ "$LUA_VERSION_SET" != "yes" ] |
| 234 | then | 233 | then |
| 234 | echo "Lua version detected: $detected_lua" | ||
| 235 | LUA_VERSION=$detected_lua | 235 | LUA_VERSION=$detected_lua |
| 236 | elif [ "$LUA_VERSION" != "$detected_lua" ] | 236 | return 0 |
| 237 | elif [ "$LUA_VERSION" = "$detected_lua" ] | ||
| 237 | then | 238 | then |
| 238 | die "This clashes with the value of --lua-version. Please check your configuration." | 239 | return 0 |
| 239 | fi | 240 | fi |
| 240 | fi | 241 | fi |
| 242 | return 1 | ||
| 241 | } | 243 | } |
| 242 | 244 | ||
| 243 | search_interpreter() { | 245 | search_interpreter() { |
| @@ -247,23 +249,35 @@ search_interpreter() { | |||
| 247 | find_lua="$LUA_BINDIR" | 249 | find_lua="$LUA_BINDIR" |
| 248 | elif [ "$LUA_DIR_SET" = "yes" ] | 250 | elif [ "$LUA_DIR_SET" = "yes" ] |
| 249 | then | 251 | then |
| 250 | if [ -f "$LUA_DIR/bin/lua$suffix" ] | 252 | LUA_BINDIR="$LUA_DIR/bin" |
| 253 | if [ -f "$LUA_BINDIR/lua$suffix" ] | ||
| 251 | then | 254 | then |
| 252 | find_lua="$LUA_DIR/bin" | 255 | find_lua="$LUA_BINDIR" |
| 253 | fi | 256 | fi |
| 254 | else | 257 | else |
| 255 | find_lua=`find_program lua$suffix` | 258 | find_lua=`find_program lua$suffix` |
| 256 | fi | 259 | fi |
| 257 | if [ -n "$find_lua" -a -x "$find_lua/lua$suffix" ] | 260 | if [ -n "$find_lua" -a -x "$find_lua/lua$suffix" ] |
| 258 | then | 261 | then |
| 259 | echo "Lua interpreter found: $find_lua/lua$suffix..." | 262 | if detect_lua_version "$find_lua/lua$suffix" |
| 260 | LUA_SUFFIX=$suffix | 263 | then |
| 261 | detect_lua_version "$find_lua/lua$LUA_SUFFIX" | 264 | echo "Lua interpreter found: $find_lua/lua$suffix..." |
| 262 | return 0 | 265 | if [ "$LUA_BINDIR_SET" != "yes" ] |
| 266 | then | ||
| 267 | LUA_BINDIR="$find_lua" | ||
| 268 | fi | ||
| 269 | if [ "$LUA_DIR_SET" != "yes" ] | ||
| 270 | then | ||
| 271 | LUA_DIR=`dirname "$find_lua"` | ||
| 272 | fi | ||
| 273 | LUA_SUFFIX="$suffix" | ||
| 274 | return 0 | ||
| 275 | fi | ||
| 263 | fi | 276 | fi |
| 264 | return 1 | 277 | return 1 |
| 265 | } | 278 | } |
| 266 | 279 | ||
| 280 | lua_interp_found=no | ||
| 267 | if [ "$LUA_SUFFIX_SET" != "yes" ] | 281 | if [ "$LUA_SUFFIX_SET" != "yes" ] |
| 268 | then | 282 | then |
| 269 | if [ "$LUA_VERSION_SET" = "yes" -a "$LUA_VERSION" = "5.1" ] | 283 | if [ "$LUA_VERSION_SET" = "yes" -a "$LUA_VERSION" = "5.1" ] |
| @@ -278,7 +292,6 @@ then | |||
| 278 | else | 292 | else |
| 279 | suffixes="5.3 53 -5.3 -53 5.2 52 -5.2 -52 5.1 51 -5.1 -51" | 293 | suffixes="5.3 53 -5.3 -53 5.2 52 -5.2 -52 5.1 51 -5.1 -51" |
| 280 | fi | 294 | fi |
| 281 | lua_interp_found=no | ||
| 282 | for suffix in "" `echo $suffixes` | 295 | for suffix in "" `echo $suffixes` |
| 283 | do | 296 | do |
| 284 | search_interpreter "$suffix" && { | 297 | search_interpreter "$suffix" && { |
| @@ -286,23 +299,28 @@ then | |||
| 286 | break | 299 | break |
| 287 | } | 300 | } |
| 288 | done | 301 | done |
| 302 | else | ||
| 303 | search_interpreter "$LUA_SUFFIX" && { | ||
| 304 | lua_interp_found=yes | ||
| 305 | } | ||
| 289 | fi | 306 | fi |
| 290 | 307 | ||
| 291 | if [ "$LUA_DIR_SET" != "yes" ] | 308 | if [ "$lua_interp_found" != "yes" ] |
| 292 | then | 309 | then |
| 293 | if [ -z "$find_lua" ] | 310 | [ "$LUA_VERSION_SET" ] && { interp="Lua $LUA_VERSION" ;} || { interp="Lua" ;} |
| 294 | then | 311 | [ "$LUA_DIR_SET" -o "$LUA_BINDIR_SET" ] && { where="$LUA_BINDIR" ;} || { interp="\$PATH" ;} |
| 295 | echo_n "Looking for Lua... " | 312 | echo "$interp interpreter not found in $where" |
| 296 | find_lua=`find_program lua$LUA_SUFFIX` | 313 | die "You may want to use the flags --with-lua, --with-lua-bin and/or --lua-suffix. See --help." |
| 297 | fi | 314 | fi |
| 298 | 315 | ||
| 299 | if [ -n "$find_lua" ] | 316 | if [ "$LUA_VERSION_SET" = "yes" ] |
| 317 | then | ||
| 318 | echo_n "Checking if $LUA_BINDIR/lua$LUA_SUFFIX is Lua version $LUA_VERSION... " | ||
| 319 | if detect_lua_version "$LUA_BINDIR/lua$LUA_SUFFIX" | ||
| 300 | then | 320 | then |
| 301 | LUA_DIR=`dirname $find_lua` | 321 | echo "yes" |
| 302 | LUA_BINDIR="$find_lua" | ||
| 303 | echo "lua$LUA_SUFFIX found in \$PATH: $find_lua" | ||
| 304 | else | 322 | else |
| 305 | echo "lua$LUA_SUFFIX not found in \$PATH." | 323 | echo "no" |
| 306 | die "You may want to use the flags --with-lua, --with-lua-bin and/or --lua-suffix. See --help." | 324 | die "You may want to use the flags --with-lua, --with-lua-bin and/or --lua-suffix. See --help." |
| 307 | fi | 325 | fi |
| 308 | fi | 326 | fi |
| @@ -317,23 +335,6 @@ then | |||
| 317 | LUA_LIBDIR="$LUA_DIR/lib" | 335 | LUA_LIBDIR="$LUA_DIR/lib" |
| 318 | fi | 336 | fi |
| 319 | 337 | ||
| 320 | if [ "$LUA_DIR_SET" = "yes" -a "$LUA_BINDIR_SET" != "yes" ] | ||
| 321 | then | ||
| 322 | LUA_BINDIR="$LUA_DIR/bin" | ||
| 323 | fi | ||
| 324 | |||
| 325 | if [ "$lua_interp_found" != "yes" ] | ||
| 326 | then | ||
| 327 | echo_n "Checking Lua interpreter... " | ||
| 328 | if [ -x "$LUA_BINDIR/lua$LUA_SUFFIX" ] | ||
| 329 | then | ||
| 330 | echo "lua$LUA_SUFFIX found in $LUA_BINDIR" | ||
| 331 | else | ||
| 332 | echo "lua$LUA_SUFFIX not found (looked in $LUA_BINDIR)" | ||
| 333 | die "You may want to use the flag --with-lua or --with-lua-bin. See --help." | ||
| 334 | fi | ||
| 335 | fi | ||
| 336 | |||
| 337 | echo_n "Checking Lua includes... " | 338 | echo_n "Checking Lua includes... " |
| 338 | lua_h="$LUA_INCDIR/lua.h" | 339 | lua_h="$LUA_INCDIR/lua.h" |
| 339 | if [ -f "$lua_h" ] | 340 | if [ -f "$lua_h" ] |
