Browse Source

[lua] use luabitops if possible, it requires fewer workarounds. Still test bit32 for default compat with lua 5.2

Justin Donaldson 8 years ago
parent
commit
3a6d024019
3 changed files with 5 additions and 6 deletions
  1. 3 5
      src/generators/genlua.ml
  2. 1 1
      tests/RunCi.hx
  3. 1 0
      tests/sys/lua

+ 3 - 5
src/generators/genlua.ml

@@ -1958,12 +1958,10 @@ let generate com =
 	    println ctx "  if (v ~= v or math.abs(v) == _G.math.huge) then return nil end";
 	    println ctx "  return _hx_bit.band(v, 2147483647 ) - math.abs(_hx_bit.band(v, 2147483648))";
 	    println ctx "end";
-	    println ctx "pcall(require, 'bit')";
-	    println ctx "if type(jit) == 'table' then";
+	    println ctx "if bit then";
 	    println ctx "  _hx_bit = bit";
-	    println ctx "else";
-	    println ctx "  pcall(require, 'bit32')";  (* also try bit32 *)
-	    println ctx "  local _hx_bit_raw = bit or bit32";
+	    println ctx "elseif bit32 then";
+	    println ctx "  local _hx_bit_raw = bit32";
 	    println ctx "  _hx_bit = setmetatable({}, { __index = _hx_bit_raw });";
 	    println ctx "  _hx_bit.bnot = function(...) return _hx_bit_clamp(_hx_bit_raw.bnot(...)) end;"; (* lua 5.2  weirdness *)
 	    println ctx "end";

+ 1 - 1
tests/RunCi.hx

@@ -472,7 +472,7 @@ class RunCi {
 
 	static function installLuaVersionDependencies(lv:String){
 	  if (lv == "-l5.1"){
-	    runCommand("luarocks", ["install", "bit32", "5.3.0-1", "--server=https://luarocks.org/dev"]);
+	    runCommand("luarocks", ["install", "luabitop", "1.0.2-3", "--server=https://luarocks.org/dev"]);
 	  }
 	  runCommand("luarocks", ["install", "lrexlib-pcre", "2.8.0-1", "--server=https://luarocks.org/dev"]);
 	  runCommand("luarocks", ["install", "luv", "1.9.1-0", "--server=https://luarocks.org/dev"]);

+ 1 - 0
tests/sys/lua

@@ -0,0 +1 @@
+/Users/jdonaldson/bin/lua