diff options
| author | Thijs Schreijer <thijs@thijsschreijer.nl> | 2013-10-09 00:13:33 -0700 |
|---|---|---|
| committer | Thijs Schreijer <thijs@thijsschreijer.nl> | 2013-10-09 00:13:33 -0700 |
| commit | ff7c4d70fb15c7ed569aee0e980661638d41637f (patch) | |
| tree | 2034e073700e5a0e4e61362dd09b46fcb5847ef0 | |
| parent | 44a397f4e0b3e2d802104706b84a8ecc6473d4ed (diff) | |
| parent | 41a84a7f1fe0b62b2fbbb3fda992f586b6c43f9e (diff) | |
| download | luarocks-ff7c4d70fb15c7ed569aee0e980661638d41637f.tar.gz luarocks-ff7c4d70fb15c7ed569aee0e980661638d41637f.tar.bz2 luarocks-ff7c4d70fb15c7ed569aee0e980661638d41637f.zip | |
Merge pull request #163 from Tieske/interpreter_short_version
Windows; installer fix in finding interpreter, detecting 32/64bit and Lua 5.2 environment PATH variable
| -rw-r--r-- | install.bat | 40 |
1 files changed, 38 insertions, 2 deletions
diff --git a/install.bat b/install.bat index 99dc7fa7..8d8b3e4c 100644 --- a/install.bat +++ b/install.bat | |||
| @@ -16,9 +16,10 @@ vars.LUA_INCDIR = nil | |||
| 16 | vars.LUA_LIBDIR = nil | 16 | vars.LUA_LIBDIR = nil |
| 17 | vars.LUA_LIBNAME = nil | 17 | vars.LUA_LIBNAME = nil |
| 18 | vars.LUA_VERSION = "5.1" | 18 | vars.LUA_VERSION = "5.1" |
| 19 | vars.LUA_SHORTV = nil | 19 | vars.LUA_SHORTV = nil -- "51" |
| 20 | vars.LUA_LIB_NAMES = "lua5.1.lib lua51.dll liblua.dll.a" | 20 | vars.LUA_LIB_NAMES = "lua5.1.lib lua51.dll liblua.dll.a" |
| 21 | vars.LUA_RUNTIME = nil | 21 | vars.LUA_RUNTIME = nil |
| 22 | vars.UNAME_M = nil | ||
| 22 | 23 | ||
| 23 | local P_SET = false | 24 | local P_SET = false |
| 24 | local FORCE = false | 25 | local FORCE = false |
| @@ -180,6 +181,10 @@ local function look_for_interpreter (directory) | |||
| 180 | vars.LUA_INTERPRETER = S"lua$LUA_VERSION.exe" | 181 | vars.LUA_INTERPRETER = S"lua$LUA_VERSION.exe" |
| 181 | print(S" Found $LUA_BINDIR\\$LUA_INTERPRETER") | 182 | print(S" Found $LUA_BINDIR\\$LUA_INTERPRETER") |
| 182 | return true | 183 | return true |
| 184 | elseif exists( S"$LUA_BINDIR\\lua$LUA_SHORTV.exe" ) then | ||
| 185 | vars.LUA_INTERPRETER = S"lua$LUA_SHORTV.exe" | ||
| 186 | print(S" Found $LUA_BINDIR\\$LUA_INTERPRETER") | ||
| 187 | return true | ||
| 183 | elseif exists(S"$LUA_BINDIR\\lua.exe") then | 188 | elseif exists(S"$LUA_BINDIR\\lua.exe") then |
| 184 | vars.LUA_INTERPRETER = "lua.exe" | 189 | vars.LUA_INTERPRETER = "lua.exe" |
| 185 | print(S" Found $LUA_BINDIR\\$LUA_INTERPRETER") | 190 | print(S" Found $LUA_BINDIR\\$LUA_INTERPRETER") |
| @@ -199,6 +204,12 @@ local function look_for_interpreter (directory) | |||
| 199 | print(" Found ."..e..vars.LUA_INTERPRETER) | 204 | print(" Found ."..e..vars.LUA_INTERPRETER) |
| 200 | return true | 205 | return true |
| 201 | 206 | ||
| 207 | elseif exists(directory..e.."\\lua"..vars.LUA_SHORTV..".exe") then | ||
| 208 | vars.LUA_INTERPRETER = S"lua$LUA_SHORTV.exe" | ||
| 209 | vars.LUA_BINDIR = directory .. e | ||
| 210 | print(" Found ."..e..vars.LUA_INTERPRETER) | ||
| 211 | return true | ||
| 212 | |||
| 202 | elseif exists(directory..e.."\\lua.exe") then | 213 | elseif exists(directory..e.."\\lua.exe") then |
| 203 | vars.LUA_INTERPRETER = "lua.exe" | 214 | vars.LUA_INTERPRETER = "lua.exe" |
| 204 | vars.LUA_BINDIR = directory..e | 215 | vars.LUA_BINDIR = directory..e |
| @@ -377,6 +388,26 @@ local function look_for_lua_install () | |||
| 377 | return false | 388 | return false |
| 378 | end | 389 | end |
| 379 | 390 | ||
| 391 | local function get_architecture() | ||
| 392 | -- detect processor arch | ||
| 393 | local tmpname = [[.\_architect_temp.txt]] | ||
| 394 | local cmd = [[REG.exe Query HKLM\Hardware\Description\System\CentralProcessor\0 >"]]..tmpname.. [["]] | ||
| 395 | if not exec(cmd) then | ||
| 396 | die("Could not detect processor architecture") | ||
| 397 | end | ||
| 398 | local f = io.open(tmpname, "r") | ||
| 399 | local proc = f:read('*a') | ||
| 400 | f:close() | ||
| 401 | os.remove(tmpname) | ||
| 402 | |||
| 403 | if proc:match("x86") then | ||
| 404 | proc = "x86" | ||
| 405 | else | ||
| 406 | proc = "x86_64" | ||
| 407 | end | ||
| 408 | return proc | ||
| 409 | end | ||
| 410 | |||
| 380 | --- | 411 | --- |
| 381 | -- Poor man's command-line parsing | 412 | -- Poor man's command-line parsing |
| 382 | local config = {} | 413 | local config = {} |
| @@ -418,6 +449,7 @@ vars.LIBDIR = vars.FULL_PREFIX | |||
| 418 | vars.LUADIR = S"$FULL_PREFIX\\lua" | 449 | vars.LUADIR = S"$FULL_PREFIX\\lua" |
| 419 | vars.INCDIR = S"$FULL_PREFIX\\include" | 450 | vars.INCDIR = S"$FULL_PREFIX\\include" |
| 420 | vars.LUA_SHORTV = vars.LUA_VERSION:gsub("%.", "") | 451 | vars.LUA_SHORTV = vars.LUA_VERSION:gsub("%.", "") |
| 452 | vars.UNAME_M = get_architecture() | ||
| 421 | 453 | ||
| 422 | if not look_for_lua_install() then | 454 | if not look_for_lua_install() then |
| 423 | print("Could not find Lua. Will install its own copy.") | 455 | print("Could not find Lua. Will install its own copy.") |
| @@ -442,6 +474,7 @@ Lua binaries : $LUA_BINDIR | |||
| 442 | Lua libraries : $LUA_LIBDIR | 474 | Lua libraries : $LUA_LIBDIR |
| 443 | Lua includes : $LUA_INCDIR | 475 | Lua includes : $LUA_INCDIR |
| 444 | Binaries will be linked against: $LUA_LIBNAME with runtime $LUA_RUNTIME | 476 | Binaries will be linked against: $LUA_LIBNAME with runtime $LUA_RUNTIME |
| 477 | System architecture detected as: $UNAME_M | ||
| 445 | 478 | ||
| 446 | ]]) | 479 | ]]) |
| 447 | end | 480 | end |
| @@ -508,6 +541,9 @@ for _, c in ipairs{"luarocks", "luarocks-admin"} do | |||
| 508 | @ECHO OFF | 541 | @ECHO OFF |
| 509 | SETLOCAL | 542 | SETLOCAL |
| 510 | SET LUA_PATH=$LUADIR\?.lua;$LUADIR\?\init.lua;%LUA_PATH% | 543 | SET LUA_PATH=$LUADIR\?.lua;$LUADIR\?\init.lua;%LUA_PATH% |
| 544 | IF NOT *%LUA_PATH_5_2%*==** ( | ||
| 545 | SET LUA_PATH_5_2=$LUADIR\?.lua;$LUADIR\?\init.lua;%LUA_PATH_5_2% | ||
| 546 | ) | ||
| 511 | SET PATH=$BINDIR\;%PATH% | 547 | SET PATH=$BINDIR\;%PATH% |
| 512 | "$LUA_INTERPRETER" "$BINDIR\]]..c..[[.lua" %* | 548 | "$LUA_INTERPRETER" "$BINDIR\]]..c..[[.lua" %* |
| 513 | ENDLOCAL | 549 | ENDLOCAL |
| @@ -553,7 +589,7 @@ else | |||
| 553 | f:write("LUAROCKS_UNAME_S=[[WindowsNT]]\n") | 589 | f:write("LUAROCKS_UNAME_S=[[WindowsNT]]\n") |
| 554 | end | 590 | end |
| 555 | f:write(S[=[ | 591 | f:write(S[=[ |
| 556 | LUAROCKS_UNAME_M=[[x86]] | 592 | LUAROCKS_UNAME_M=[[$UNAME_M]] |
| 557 | LUAROCKS_SYSCONFIG=[[$SYSCONFDIR\config.lua]] | 593 | LUAROCKS_SYSCONFIG=[[$SYSCONFDIR\config.lua]] |
| 558 | LUAROCKS_ROCKS_TREE=[[$ROCKS_TREE]] | 594 | LUAROCKS_ROCKS_TREE=[[$ROCKS_TREE]] |
| 559 | LUAROCKS_PREFIX=[[$PREFIX]] | 595 | LUAROCKS_PREFIX=[[$PREFIX]] |
