diff options
| -rw-r--r-- | meta-oe/recipes-devtools/lua/lua5.1/bitwise_operators.patch | 605 | ||||
| -rw-r--r-- | meta-oe/recipes-devtools/lua/lua5.1/lua5.1.pc | 11 | ||||
| -rw-r--r-- | meta-oe/recipes-devtools/lua/lua5.1/luaorg_1.patch | 18 | ||||
| -rw-r--r-- | meta-oe/recipes-devtools/lua/lua5.1/luaorg_2.patch | 44 | ||||
| -rw-r--r-- | meta-oe/recipes-devtools/lua/lua5.1/uclibc-pthread.patch | 13 | ||||
| -rw-r--r-- | meta-oe/recipes-devtools/lua/lua5.1_5.1.5.bb | 55 |
6 files changed, 0 insertions, 746 deletions
diff --git a/meta-oe/recipes-devtools/lua/lua5.1/bitwise_operators.patch b/meta-oe/recipes-devtools/lua/lua5.1/bitwise_operators.patch deleted file mode 100644 index 4f0331ebb6..0000000000 --- a/meta-oe/recipes-devtools/lua/lua5.1/bitwise_operators.patch +++ /dev/null | |||
| @@ -1,605 +0,0 @@ | |||
| 1 | diff -Nurd lua-5.1.5/src/lcode.c lua-5.1.5/src/lcode.c | ||
| 2 | --- lua-5.1.5/src/lcode.c 2011-01-31 16:53:16.000000000 +0200 | ||
| 3 | +++ lua-5.1.5/src/lcode.c 2012-11-28 21:12:23.958419501 +0200 | ||
| 4 | @@ -642,6 +642,17 @@ | ||
| 5 | case OP_POW: r = luai_numpow(v1, v2); break; | ||
| 6 | case OP_UNM: r = luai_numunm(v1); break; | ||
| 7 | case OP_LEN: return 0; /* no constant folding for 'len' */ | ||
| 8 | +#if defined(LUA_BITWISE_OPERATORS) | ||
| 9 | + case OP_BOR: luai_logor(r, v1, v2); break; | ||
| 10 | + case OP_BAND: luai_logand(r, v1, v2); break; | ||
| 11 | + case OP_BXOR: luai_logxor(r, v1, v2); break; | ||
| 12 | + case OP_BLSHFT: luai_loglshft(r, v1, v2); break; | ||
| 13 | + case OP_BRSHFT: luai_logrshft(r, v1, v2); break; | ||
| 14 | + case OP_BNOT: luai_lognot(r, v1); break; | ||
| 15 | + case OP_INTDIV: | ||
| 16 | + if (v2 == 0) return 0; /* do not attempt to divide by 0 */ | ||
| 17 | + r = luai_numintdiv(v1, v2); break; | ||
| 18 | +#endif | ||
| 19 | default: lua_assert(0); r = 0; break; | ||
| 20 | } | ||
| 21 | if (luai_numisnan(r)) return 0; /* do not attempt to produce NaN */ | ||
| 22 | @@ -654,7 +665,11 @@ | ||
| 23 | if (constfolding(op, e1, e2)) | ||
| 24 | return; | ||
| 25 | else { | ||
| 26 | +#if defined(LUA_BITWISE_OPERATORS) | ||
| 27 | + int o2 = (op != OP_UNM && op != OP_LEN && op != OP_BNOT) ? luaK_exp2RK(fs, e2) : 0; | ||
| 28 | +#else | ||
| 29 | int o2 = (op != OP_UNM && op != OP_LEN) ? luaK_exp2RK(fs, e2) : 0; | ||
| 30 | +#endif | ||
| 31 | int o1 = luaK_exp2RK(fs, e1); | ||
| 32 | if (o1 > o2) { | ||
| 33 | freeexp(fs, e1); | ||
| 34 | @@ -690,6 +705,14 @@ | ||
| 35 | expdesc e2; | ||
| 36 | e2.t = e2.f = NO_JUMP; e2.k = VKNUM; e2.u.nval = 0; | ||
| 37 | switch (op) { | ||
| 38 | +#if defined(LUA_BITWISE_OPERATORS) | ||
| 39 | + case OPR_BNOT: { | ||
| 40 | + if (e->k == VK) | ||
| 41 | + luaK_exp2anyreg(fs, e); /* cannot operate on non-numeric constants */ | ||
| 42 | + codearith(fs, OP_BNOT, e, &e2); | ||
| 43 | + break; | ||
| 44 | + } | ||
| 45 | +#endif | ||
| 46 | case OPR_MINUS: { | ||
| 47 | if (!isnumeral(e)) | ||
| 48 | luaK_exp2anyreg(fs, e); /* cannot operate on non-numeric constants */ | ||
| 49 | @@ -770,6 +793,14 @@ | ||
| 50 | case OPR_DIV: codearith(fs, OP_DIV, e1, e2); break; | ||
| 51 | case OPR_MOD: codearith(fs, OP_MOD, e1, e2); break; | ||
| 52 | case OPR_POW: codearith(fs, OP_POW, e1, e2); break; | ||
| 53 | +#if defined(LUA_BITWISE_OPERATORS) | ||
| 54 | + case OPR_BOR: codearith(fs, OP_BOR, e1, e2); break; | ||
| 55 | + case OPR_BAND: codearith(fs, OP_BAND, e1, e2); break; | ||
| 56 | + case OPR_BXOR: codearith(fs, OP_BXOR, e1, e2); break; | ||
| 57 | + case OPR_BLSHFT: codearith(fs, OP_BLSHFT, e1, e2); break; | ||
| 58 | + case OPR_BRSHFT: codearith(fs, OP_BRSHFT, e1, e2); break; | ||
| 59 | + case OPR_INTDIV: codearith(fs, OP_INTDIV, e1, e2); break; | ||
| 60 | +#endif | ||
| 61 | case OPR_EQ: codecomp(fs, OP_EQ, 1, e1, e2); break; | ||
| 62 | case OPR_NE: codecomp(fs, OP_EQ, 0, e1, e2); break; | ||
| 63 | case OPR_LT: codecomp(fs, OP_LT, 1, e1, e2); break; | ||
| 64 | diff -Nurd lua-5.1.5/src/lcode.h lua-5.1.5/src/lcode.h | ||
| 65 | --- lua-5.1.5/src/lcode.h 2007-12-27 15:02:25.000000000 +0200 | ||
| 66 | +++ lua-5.1.5/src/lcode.h 2012-11-28 21:12:23.958419501 +0200 | ||
| 67 | @@ -25,6 +25,9 @@ | ||
| 68 | */ | ||
| 69 | typedef enum BinOpr { | ||
| 70 | OPR_ADD, OPR_SUB, OPR_MUL, OPR_DIV, OPR_MOD, OPR_POW, | ||
| 71 | +#if defined(LUA_BITWISE_OPERATORS) | ||
| 72 | + OPR_BOR, OPR_BAND, OPR_BXOR, OPR_BLSHFT, OPR_BRSHFT, OPR_INTDIV, | ||
| 73 | +#endif | ||
| 74 | OPR_CONCAT, | ||
| 75 | OPR_NE, OPR_EQ, | ||
| 76 | OPR_LT, OPR_LE, OPR_GT, OPR_GE, | ||
| 77 | @@ -33,8 +36,11 @@ | ||
| 78 | } BinOpr; | ||
| 79 | |||
| 80 | |||
| 81 | +#if defined(LUA_BITWISE_OPERATORS) | ||
| 82 | +typedef enum UnOpr { OPR_BNOT, OPR_MINUS, OPR_NOT, OPR_LEN, OPR_NOUNOPR } UnOpr; | ||
| 83 | +#else | ||
| 84 | typedef enum UnOpr { OPR_MINUS, OPR_NOT, OPR_LEN, OPR_NOUNOPR } UnOpr; | ||
| 85 | - | ||
| 86 | +#endif | ||
| 87 | |||
| 88 | #define getcode(fs,e) ((fs)->f->code[(e)->u.s.info]) | ||
| 89 | |||
| 90 | diff -Nurd lua-5.1.5/src/ldebug.c lua-5.1.5/src/ldebug.c | ||
| 91 | --- lua-5.1.5/src/ldebug.c 2008-05-08 19:56:26.000000000 +0300 | ||
| 92 | +++ lua-5.1.5/src/ldebug.c 2012-11-28 21:12:23.958419501 +0200 | ||
| 93 | @@ -592,6 +592,16 @@ | ||
| 94 | luaG_typeerror(L, p2, "perform arithmetic on"); | ||
| 95 | } | ||
| 96 | |||
| 97 | +#if defined (LUA_BITWISE_OPERATORS) | ||
| 98 | +void luaG_logicerror (lua_State *L, const TValue *p1, const TValue *p2) { | ||
| 99 | + TValue temp; | ||
| 100 | + if (luaV_tonumber(p1, &temp) == NULL) | ||
| 101 | + p2 = p1; /* first operand is wrong */ | ||
| 102 | + luaG_typeerror(L, p2, "perform bitwise operation on"); | ||
| 103 | +} | ||
| 104 | +#endif | ||
| 105 | + | ||
| 106 | + | ||
| 107 | |||
| 108 | int luaG_ordererror (lua_State *L, const TValue *p1, const TValue *p2) { | ||
| 109 | const char *t1 = luaT_typenames[ttype(p1)]; | ||
| 110 | diff -Nurd lua-5.1.5/src/ldebug.h lua-5.1.5/src/ldebug.h | ||
| 111 | --- lua-5.1.5/src/ldebug.h 2007-12-27 15:02:25.000000000 +0200 | ||
| 112 | +++ lua-5.1.5/src/ldebug.h 2012-11-28 21:12:23.958419501 +0200 | ||
| 113 | @@ -30,4 +30,9 @@ | ||
| 114 | LUAI_FUNC int luaG_checkcode (const Proto *pt); | ||
| 115 | LUAI_FUNC int luaG_checkopenop (Instruction i); | ||
| 116 | |||
| 117 | +#if defined (LUA_BITWISE_OPERATORS) | ||
| 118 | +LUAI_FUNC void luaG_logicerror (lua_State *L, const TValue *p1, | ||
| 119 | + const TValue *p2); | ||
| 120 | +#endif | ||
| 121 | + | ||
| 122 | #endif | ||
| 123 | diff -Nurd lua-5.1.5/src/llex.c lua-5.1.5/src/llex.c | ||
| 124 | --- lua-5.1.5/src/llex.c 2009-11-23 16:58:22.000000000 +0200 | ||
| 125 | +++ lua-5.1.5/src/llex.c 2012-11-28 21:12:23.958419501 +0200 | ||
| 126 | @@ -39,7 +39,11 @@ | ||
| 127 | "end", "false", "for", "function", "if", | ||
| 128 | "in", "local", "nil", "not", "or", "repeat", | ||
| 129 | "return", "then", "true", "until", "while", | ||
| 130 | +#if defined(LUA_BITWISE_OPERATORS) | ||
| 131 | + "..", "...", "==", ">=", ">>", "<=", "<<", "^^", "~=", "!=" | ||
| 132 | +#else | ||
| 133 | "..", "...", "==", ">=", "<=", "~=", | ||
| 134 | +#endif | ||
| 135 | "<number>", "<name>", "<string>", "<eof>", | ||
| 136 | NULL | ||
| 137 | }; | ||
| 138 | @@ -373,6 +377,30 @@ | ||
| 139 | if (ls->current != '=') return '='; | ||
| 140 | else { next(ls); return TK_EQ; } | ||
| 141 | } | ||
| 142 | +#if defined(LUA_BITWISE_OPERATORS) | ||
| 143 | + case '<': { | ||
| 144 | + next(ls); | ||
| 145 | + if (ls->current == '=') { next(ls); return TK_LE; } | ||
| 146 | + else if (ls->current == '<') { next(ls); return TK_LSHFT; } | ||
| 147 | + else return '<'; | ||
| 148 | + } | ||
| 149 | + case '>': { | ||
| 150 | + next(ls); | ||
| 151 | + if (ls->current == '=') { next(ls); return TK_GE; } | ||
| 152 | + else if (ls->current == '>') { next(ls); return TK_RSHFT; } | ||
| 153 | + else return '>'; | ||
| 154 | + } | ||
| 155 | + case '^': { | ||
| 156 | + next(ls); | ||
| 157 | + if (ls->current != '^') return '^'; | ||
| 158 | + else { next(ls); return TK_XOR; } | ||
| 159 | + } | ||
| 160 | + case '!': { | ||
| 161 | + next(ls); | ||
| 162 | + if (ls->current != '=') return '!'; | ||
| 163 | + else { next(ls); return TK_NE; } | ||
| 164 | + } | ||
| 165 | +#else | ||
| 166 | case '<': { | ||
| 167 | next(ls); | ||
| 168 | if (ls->current != '=') return '<'; | ||
| 169 | @@ -381,8 +409,9 @@ | ||
| 170 | case '>': { | ||
| 171 | next(ls); | ||
| 172 | if (ls->current != '=') return '>'; | ||
| 173 | - else { next(ls); return TK_GE; } | ||
| 174 | + else { next(ls); return TK_GE; } | ||
| 175 | } | ||
| 176 | +#endif | ||
| 177 | case '~': { | ||
| 178 | next(ls); | ||
| 179 | if (ls->current != '=') return '~'; | ||
| 180 | diff -Nurd lua-5.1.5/src/llex.h lua-5.1.5/src/llex.h | ||
| 181 | --- lua-5.1.5/src/llex.h 2007-12-27 15:02:25.000000000 +0200 | ||
| 182 | +++ lua-5.1.5/src/llex.h 2012-11-28 21:12:23.962419499 +0200 | ||
| 183 | @@ -28,7 +28,11 @@ | ||
| 184 | TK_IF, TK_IN, TK_LOCAL, TK_NIL, TK_NOT, TK_OR, TK_REPEAT, | ||
| 185 | TK_RETURN, TK_THEN, TK_TRUE, TK_UNTIL, TK_WHILE, | ||
| 186 | /* other terminal symbols */ | ||
| 187 | +#if defined(LUA_BITWISE_OPERATORS) | ||
| 188 | + TK_CONCAT, TK_DOTS, TK_EQ, TK_GE, TK_LSHFT, TK_LE, TK_RSHFT, TK_XOR, TK_NE, TK_CNE, TK_NUMBER, | ||
| 189 | +#else | ||
| 190 | TK_CONCAT, TK_DOTS, TK_EQ, TK_GE, TK_LE, TK_NE, TK_NUMBER, | ||
| 191 | +#endif | ||
| 192 | TK_NAME, TK_STRING, TK_EOS | ||
| 193 | }; | ||
| 194 | |||
| 195 | diff -Nurd lua-5.1.5/src/lopcodes.c lua-5.1.5/src/lopcodes.c | ||
| 196 | --- lua-5.1.5/src/lopcodes.c 2007-12-27 15:02:25.000000000 +0200 | ||
| 197 | +++ lua-5.1.5/src/lopcodes.c 2012-11-28 21:12:23.962419499 +0200 | ||
| 198 | @@ -32,6 +32,15 @@ | ||
| 199 | "DIV", | ||
| 200 | "MOD", | ||
| 201 | "POW", | ||
| 202 | +#if defined(LUA_BITWISE_OPERATORS) | ||
| 203 | + "BOR", | ||
| 204 | + "BAND", | ||
| 205 | + "OP_BXOR" | ||
| 206 | + "BLSHFT", | ||
| 207 | + "BRSHFT", | ||
| 208 | + "BNOT", | ||
| 209 | + "INTDIV", | ||
| 210 | +#endif | ||
| 211 | "UNM", | ||
| 212 | "NOT", | ||
| 213 | "LEN", | ||
| 214 | @@ -78,6 +87,15 @@ | ||
| 215 | ,opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_DIV */ | ||
| 216 | ,opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_MOD */ | ||
| 217 | ,opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_POW */ | ||
| 218 | +#if defined(LUA_BITWISE_OPERATORS) | ||
| 219 | + ,opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_BOR */ | ||
| 220 | + ,opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_BAND */ | ||
| 221 | + ,opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_BXOR */ | ||
| 222 | + ,opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_BLSHFT */ | ||
| 223 | + ,opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_BRSHFT */ | ||
| 224 | + ,opmode(0, 1, OpArgR, OpArgN, iABC) /* OP_BNOT */ | ||
| 225 | + ,opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_INTDIV */ | ||
| 226 | +#endif | ||
| 227 | ,opmode(0, 1, OpArgR, OpArgN, iABC) /* OP_UNM */ | ||
| 228 | ,opmode(0, 1, OpArgR, OpArgN, iABC) /* OP_NOT */ | ||
| 229 | ,opmode(0, 1, OpArgR, OpArgN, iABC) /* OP_LEN */ | ||
| 230 | diff -Nurd lua-5.1.5/src/lopcodes.h lua-5.1.5/src/lopcodes.h | ||
| 231 | --- lua-5.1.5/src/lopcodes.h 2007-12-27 15:02:25.000000000 +0200 | ||
| 232 | +++ lua-5.1.5/src/lopcodes.h 2012-11-28 21:12:23.962419499 +0200 | ||
| 233 | @@ -174,10 +174,20 @@ | ||
| 234 | OP_DIV,/* A B C R(A) := RK(B) / RK(C) */ | ||
| 235 | OP_MOD,/* A B C R(A) := RK(B) % RK(C) */ | ||
| 236 | OP_POW,/* A B C R(A) := RK(B) ^ RK(C) */ | ||
| 237 | +#if defined(LUA_BITWISE_OPERATORS) | ||
| 238 | +OP_BOR,/* A B C R(A) := RK(B) | RK(C) */ | ||
| 239 | +OP_BAND,/* A B C R(A) := RK(B) & RK(C) */ | ||
| 240 | +OP_BXOR,/* A B C R(A) := RK(B) ^| RK(C) */ | ||
| 241 | +OP_BLSHFT,/* A B C R(A) := RK(B) << RK(C) */ | ||
| 242 | +OP_BRSHFT,/* A B C R(A) := RK(B) >> RK(C) */ | ||
| 243 | +OP_BNOT,/* A B R(A) := ~ R(B) */ | ||
| 244 | +OP_INTDIV,/* A B C R(A) := RK(B) \ RK(C) */ | ||
| 245 | +#endif | ||
| 246 | OP_UNM,/* A B R(A) := -R(B) */ | ||
| 247 | OP_NOT,/* A B R(A) := not R(B) */ | ||
| 248 | OP_LEN,/* A B R(A) := length of R(B) */ | ||
| 249 | |||
| 250 | + | ||
| 251 | OP_CONCAT,/* A B C R(A) := R(B).. ... ..R(C) */ | ||
| 252 | |||
| 253 | OP_JMP,/* sBx pc+=sBx */ | ||
| 254 | @@ -186,8 +196,8 @@ | ||
| 255 | OP_LT,/* A B C if ((RK(B) < RK(C)) ~= A) then pc++ */ | ||
| 256 | OP_LE,/* A B C if ((RK(B) <= RK(C)) ~= A) then pc++ */ | ||
| 257 | |||
| 258 | -OP_TEST,/* A C if not (R(A) <=> C) then pc++ */ | ||
| 259 | -OP_TESTSET,/* A B C if (R(B) <=> C) then R(A) := R(B) else pc++ */ | ||
| 260 | +OP_TEST,/* A C if not (R(A) <=> C) then pc++ */ | ||
| 261 | +OP_TESTSET,/* A B C if (R(B) <=> C) then R(A) := R(B) else pc++ */ | ||
| 262 | |||
| 263 | OP_CALL,/* A B C R(A), ... ,R(A+C-2) := R(A)(R(A+1), ... ,R(A+B-1)) */ | ||
| 264 | OP_TAILCALL,/* A B C return R(A)(R(A+1), ... ,R(A+B-1)) */ | ||
| 265 | @@ -197,8 +207,8 @@ | ||
| 266 | if R(A) <?= R(A+1) then { pc+=sBx; R(A+3)=R(A) }*/ | ||
| 267 | OP_FORPREP,/* A sBx R(A)-=R(A+2); pc+=sBx */ | ||
| 268 | |||
| 269 | -OP_TFORLOOP,/* A C R(A+3), ... ,R(A+2+C) := R(A)(R(A+1), R(A+2)); | ||
| 270 | - if R(A+3) ~= nil then R(A+2)=R(A+3) else pc++ */ | ||
| 271 | +OP_TFORLOOP,/* A C R(A+3), ... ,R(A+2+C) := R(A)(R(A+1), R(A+2)); | ||
| 272 | + if R(A+3) ~= nil then R(A+2)=R(A+3) else pc++ */ | ||
| 273 | OP_SETLIST,/* A B C R(A)[(C-1)*FPF+i] := R(A+i), 1 <= i <= B */ | ||
| 274 | |||
| 275 | OP_CLOSE,/* A close all variables in the stack up to (>=) R(A)*/ | ||
| 276 | diff -Nurd lua-5.1.5/src/lparser.c lua-5.1.5/src/lparser.c | ||
| 277 | --- lua-5.1.5/src/lparser.c 2011-10-21 22:31:42.000000000 +0300 | ||
| 278 | +++ lua-5.1.5/src/lparser.c 2012-11-28 21:12:23.962419499 +0200 | ||
| 279 | @@ -780,6 +780,9 @@ | ||
| 280 | case TK_NOT: return OPR_NOT; | ||
| 281 | case '-': return OPR_MINUS; | ||
| 282 | case '#': return OPR_LEN; | ||
| 283 | +#if defined(LUA_BITWISE_OPERATORS) | ||
| 284 | + case '~': return OPR_BNOT; | ||
| 285 | +#endif | ||
| 286 | default: return OPR_NOUNOPR; | ||
| 287 | } | ||
| 288 | } | ||
| 289 | @@ -793,6 +796,14 @@ | ||
| 290 | case '/': return OPR_DIV; | ||
| 291 | case '%': return OPR_MOD; | ||
| 292 | case '^': return OPR_POW; | ||
| 293 | +#if defined(LUA_BITWISE_OPERATORS) | ||
| 294 | + case '|': return OPR_BOR; | ||
| 295 | + case '&': return OPR_BAND; | ||
| 296 | + case TK_XOR: return OPR_BXOR; | ||
| 297 | + case TK_LSHFT: return OPR_BLSHFT; | ||
| 298 | + case TK_RSHFT: return OPR_BRSHFT; | ||
| 299 | + case '\\': return OPR_INTDIV; | ||
| 300 | +#endif | ||
| 301 | case TK_CONCAT: return OPR_CONCAT; | ||
| 302 | case TK_NE: return OPR_NE; | ||
| 303 | case TK_EQ: return OPR_EQ; | ||
| 304 | @@ -812,6 +823,9 @@ | ||
| 305 | lu_byte right; /* right priority */ | ||
| 306 | } priority[] = { /* ORDER OPR */ | ||
| 307 | {6, 6}, {6, 6}, {7, 7}, {7, 7}, {7, 7}, /* `+' `-' `/' `%' */ | ||
| 308 | +#if defined(LUA_BITWISE_OPERATORS) | ||
| 309 | + {6, 6}, {6, 6}, {6, 6}, {7, 7}, {7, 7}, {7, 7}, /* `|' `&' `!' `<<' `>>' `\' */ | ||
| 310 | +#endif | ||
| 311 | {10, 9}, {5, 4}, /* power and concat (right associative) */ | ||
| 312 | {3, 3}, {3, 3}, /* equality and inequality */ | ||
| 313 | {3, 3}, {3, 3}, {3, 3}, {3, 3}, /* order */ | ||
| 314 | diff -Nurd lua-5.1.5/src/ltm.c lua-5.1.5/src/ltm.c | ||
| 315 | --- lua-5.1.5/src/ltm.c 2007-12-27 15:02:25.000000000 +0200 | ||
| 316 | +++ lua-5.1.5/src/ltm.c 2012-11-28 21:12:23.962419499 +0200 | ||
| 317 | @@ -34,6 +34,9 @@ | ||
| 318 | "__add", "__sub", "__mul", "__div", "__mod", | ||
| 319 | "__pow", "__unm", "__len", "__lt", "__le", | ||
| 320 | "__concat", "__call" | ||
| 321 | +#if defined(LUA_BITWISE_OPERATORS) | ||
| 322 | + ,"__or", "__and", "__xor", "__shl", "__shr", "__not", "__intdiv" | ||
| 323 | +#endif | ||
| 324 | }; | ||
| 325 | int i; | ||
| 326 | for (i=0; i<TM_N; i++) { | ||
| 327 | diff -Nurd lua-5.1.5/src/ltm.h lua-5.1.5/src/ltm.h | ||
| 328 | --- lua-5.1.5/src/ltm.h 2007-12-27 15:02:25.000000000 +0200 | ||
| 329 | +++ lua-5.1.5/src/ltm.h 2012-11-28 21:12:23.962419499 +0200 | ||
| 330 | @@ -33,6 +33,15 @@ | ||
| 331 | TM_LE, | ||
| 332 | TM_CONCAT, | ||
| 333 | TM_CALL, | ||
| 334 | +#if defined(LUA_BITWISE_OPERATORS) | ||
| 335 | + TM_BOR, | ||
| 336 | + TM_BAND, | ||
| 337 | + TM_BXOR, | ||
| 338 | + TM_BLSHFT, | ||
| 339 | + TM_BRSHFT, | ||
| 340 | + TM_BNOT, | ||
| 341 | + TM_INTDIV, | ||
| 342 | +#endif | ||
| 343 | TM_N /* number of elements in the enum */ | ||
| 344 | } TMS; | ||
| 345 | |||
| 346 | diff -Nurd lua-5.1.5/src/luaconf.h lua-5.1.5/src/luaconf.h | ||
| 347 | --- lua-5.1.5/src/luaconf.h 2008-02-11 18:25:08.000000000 +0200 | ||
| 348 | +++ lua-5.1.5/src/luaconf.h 2012-11-28 21:12:23.962419499 +0200 | ||
| 349 | @@ -2,6 +2,7 @@ | ||
| 350 | ** $Id: luaconf.h,v 1.82.1.7 2008/02/11 16:25:08 roberto Exp $ | ||
| 351 | ** Configuration file for Lua | ||
| 352 | ** See Copyright Notice in lua.h | ||
| 353 | +** Added logic operators : & | ^^ (xor) << >> ~, arithmetic operator \ (integer division) and != as an alternative to ~= | ||
| 354 | */ | ||
| 355 | |||
| 356 | |||
| 357 | @@ -209,6 +210,12 @@ | ||
| 358 | */ | ||
| 359 | #define LUA_IDSIZE 60 | ||
| 360 | |||
| 361 | +/* | ||
| 362 | +@@ LUA_BITWISE_OPERATORS enable logical operators | & ^| >> << ~ on lua_Number | ||
| 363 | +@* but also arithmetic operator \ (integer division) and != as an alernative to ~= | ||
| 364 | +*/ | ||
| 365 | +#define LUA_BITWISE_OPERATORS | ||
| 366 | + | ||
| 367 | |||
| 368 | /* | ||
| 369 | ** {================================================================== | ||
| 370 | @@ -216,6 +223,7 @@ | ||
| 371 | ** =================================================================== | ||
| 372 | */ | ||
| 373 | |||
| 374 | + | ||
| 375 | #if defined(lua_c) || defined(luaall_c) | ||
| 376 | |||
| 377 | /* | ||
| 378 | @@ -526,25 +534,6 @@ | ||
| 379 | |||
| 380 | |||
| 381 | /* | ||
| 382 | -@@ The luai_num* macros define the primitive operations over numbers. | ||
| 383 | -*/ | ||
| 384 | -#if defined(LUA_CORE) | ||
| 385 | -#include <math.h> | ||
| 386 | -#define luai_numadd(a,b) ((a)+(b)) | ||
| 387 | -#define luai_numsub(a,b) ((a)-(b)) | ||
| 388 | -#define luai_nummul(a,b) ((a)*(b)) | ||
| 389 | -#define luai_numdiv(a,b) ((a)/(b)) | ||
| 390 | -#define luai_nummod(a,b) ((a) - floor((a)/(b))*(b)) | ||
| 391 | -#define luai_numpow(a,b) (pow(a,b)) | ||
| 392 | -#define luai_numunm(a) (-(a)) | ||
| 393 | -#define luai_numeq(a,b) ((a)==(b)) | ||
| 394 | -#define luai_numlt(a,b) ((a)<(b)) | ||
| 395 | -#define luai_numle(a,b) ((a)<=(b)) | ||
| 396 | -#define luai_numisnan(a) (!luai_numeq((a), (a))) | ||
| 397 | -#endif | ||
| 398 | - | ||
| 399 | - | ||
| 400 | -/* | ||
| 401 | @@ lua_number2int is a macro to convert lua_Number to int. | ||
| 402 | @@ lua_number2integer is a macro to convert lua_Number to lua_Integer. | ||
| 403 | ** CHANGE them if you know a faster way to convert a lua_Number to | ||
| 404 | @@ -560,7 +549,7 @@ | ||
| 405 | /* On a Microsoft compiler, use assembler */ | ||
| 406 | #if defined(_MSC_VER) | ||
| 407 | |||
| 408 | -#define lua_number2int(i,d) __asm fld d __asm fistp i | ||
| 409 | +#define lua_number2int(i,d) { __asm fld d __asm fistp i } | ||
| 410 | #define lua_number2integer(i,n) lua_number2int(i, n) | ||
| 411 | |||
| 412 | /* the next trick should work on any Pentium, but sometimes clashes | ||
| 413 | @@ -582,6 +571,38 @@ | ||
| 414 | |||
| 415 | #endif | ||
| 416 | |||
| 417 | + | ||
| 418 | +/* | ||
| 419 | +@@ The luai_num* macros define the primitive operations over numbers. | ||
| 420 | +*/ | ||
| 421 | +#if defined(LUA_CORE) | ||
| 422 | +#include <math.h> | ||
| 423 | +#define luai_numadd(a,b) ((a)+(b)) | ||
| 424 | +#define luai_numsub(a,b) ((a)-(b)) | ||
| 425 | +#define luai_nummul(a,b) ((a)*(b)) | ||
| 426 | +#define luai_numdiv(a,b) ((a)/(b)) | ||
| 427 | +#ifdef LUA_BITWISE_OPERATORS | ||
| 428 | +#define luai_numintdiv(a,b) (floor((a)/(b))) | ||
| 429 | +#endif | ||
| 430 | +#define luai_nummod(a,b) ((a) - floor((a)/(b))*(b)) | ||
| 431 | +#define luai_numpow(a,b) (pow(a,b)) | ||
| 432 | +#define luai_numunm(a) (-(a)) | ||
| 433 | +#define luai_numeq(a,b) ((a)==(b)) | ||
| 434 | +#define luai_numlt(a,b) ((a)<(b)) | ||
| 435 | +#define luai_numle(a,b) ((a)<=(b)) | ||
| 436 | +#define luai_numisnan(a) (!luai_numeq((a), (a))) | ||
| 437 | + | ||
| 438 | +#if defined(LUA_BITWISE_OPERATORS) | ||
| 439 | +#define luai_logor(r, a, b) { lua_Integer ai,bi; lua_number2int(ai,a); lua_number2int(bi,b); r = ai|bi; } | ||
| 440 | +#define luai_logand(r, a,b) { lua_Integer ai,bi; lua_number2int(ai,a); lua_number2int(bi,b); r = ai&bi; } | ||
| 441 | +#define luai_logxor(r, a,b) { lua_Integer ai,bi; lua_number2int(ai,a); lua_number2int(bi,b); r = ai^bi; } | ||
| 442 | +#define luai_lognot(r,a) { lua_Integer ai; lua_number2int(ai,a); r = ~ai; } | ||
| 443 | +#define luai_loglshft(r, a,b) { lua_Integer ai,bi; lua_number2int(ai,a); lua_number2int(bi,b); r = ai<<bi; } | ||
| 444 | +#define luai_logrshft(r, a,b) { lua_Integer ai,bi; lua_number2int(ai,a); lua_number2int(bi,b); r = ai>>bi; } | ||
| 445 | +#endif | ||
| 446 | + | ||
| 447 | +#endif | ||
| 448 | + | ||
| 449 | /* }================================================================== */ | ||
| 450 | |||
| 451 | |||
| 452 | diff -Nurd lua-5.1.5/src/lua.h lua-5.1.5/src/lua.h | ||
| 453 | --- lua-5.1.5/src/lua.h 2012-01-13 22:36:20.000000000 +0200 | ||
| 454 | +++ lua-5.1.5/src/lua.h 2012-11-28 21:13:01.266418680 +0200 | ||
| 455 | @@ -17,7 +17,7 @@ | ||
| 456 | |||
| 457 | |||
| 458 | #define LUA_VERSION "Lua 5.1" | ||
| 459 | -#define LUA_RELEASE "Lua 5.1.5" | ||
| 460 | +#define LUA_RELEASE "Lua 5.1.5+bitwiseops" | ||
| 461 | #define LUA_VERSION_NUM 501 | ||
| 462 | #define LUA_COPYRIGHT "Copyright (C) 1994-2012 Lua.org, PUC-Rio" | ||
| 463 | #define LUA_AUTHORS "R. Ierusalimschy, L. H. de Figueiredo & W. Celes" | ||
| 464 | diff -Nurd lua-5.1.5/src/lvm.c lua-5.1.5/src/lvm.c | ||
| 465 | --- lua-5.1.5/src/lvm.c 2011-08-17 23:43:11.000000000 +0300 | ||
| 466 | +++ lua-5.1.5/src/lvm.c 2012-11-28 21:12:23.966419498 +0200 | ||
| 467 | @@ -329,6 +329,9 @@ | ||
| 468 | case TM_MOD: setnvalue(ra, luai_nummod(nb, nc)); break; | ||
| 469 | case TM_POW: setnvalue(ra, luai_numpow(nb, nc)); break; | ||
| 470 | case TM_UNM: setnvalue(ra, luai_numunm(nb)); break; | ||
| 471 | +#if defined(LUA_BITWISE_OPERATORS) | ||
| 472 | + case TM_INTDIV: setnvalue(ra, luai_numintdiv(nb, nc)); break; | ||
| 473 | +#endif | ||
| 474 | default: lua_assert(0); break; | ||
| 475 | } | ||
| 476 | } | ||
| 477 | @@ -336,7 +339,30 @@ | ||
| 478 | luaG_aritherror(L, rb, rc); | ||
| 479 | } | ||
| 480 | |||
| 481 | - | ||
| 482 | +#if defined(LUA_BITWISE_OPERATORS) | ||
| 483 | +static void Logic (lua_State *L, StkId ra, const TValue *rb, | ||
| 484 | + const TValue *rc, TMS op) { | ||
| 485 | + TValue tempb, tempc; | ||
| 486 | + const TValue *b, *c; | ||
| 487 | + if ((b = luaV_tonumber(rb, &tempb)) != NULL && | ||
| 488 | + (c = luaV_tonumber(rc, &tempc)) != NULL) { | ||
| 489 | + lua_Number nb = nvalue(b), nc = nvalue(c); | ||
| 490 | + lua_Integer r; | ||
| 491 | + switch (op) { | ||
| 492 | + case TM_BLSHFT: luai_loglshft(r, nb, nc); break; | ||
| 493 | + case TM_BRSHFT: luai_logrshft(r, nb, nc); break; | ||
| 494 | + case TM_BOR: luai_logor(r, nb, nc); break; | ||
| 495 | + case TM_BAND: luai_logand(r, nb, nc); break; | ||
| 496 | + case TM_BXOR: luai_logxor(r, nb, nc); break; | ||
| 497 | + case TM_BNOT: luai_lognot(r, nb); break; | ||
| 498 | + default: lua_assert(0); r = 0; break; | ||
| 499 | + } | ||
| 500 | + setnvalue(ra, r); | ||
| 501 | + } | ||
| 502 | + else if (!call_binTM(L, rb, rc, ra, op)) | ||
| 503 | + luaG_logicerror(L, rb, rc); | ||
| 504 | +} | ||
| 505 | +#endif | ||
| 506 | |||
| 507 | /* | ||
| 508 | ** some macros for common tasks in `luaV_execute' | ||
| 509 | @@ -373,6 +399,22 @@ | ||
| 510 | } | ||
| 511 | |||
| 512 | |||
| 513 | +#if defined(LUA_BITWISE_OPERATORS) | ||
| 514 | +#define logic_op(op,tm) { \ | ||
| 515 | + TValue *rb = RKB(i); \ | ||
| 516 | + TValue *rc = RKC(i); \ | ||
| 517 | + if (ttisnumber(rb) && ttisnumber(rc)) { \ | ||
| 518 | + lua_Integer r; \ | ||
| 519 | + lua_Number nb = nvalue(rb), nc = nvalue(rc); \ | ||
| 520 | + op(r, nb, nc); \ | ||
| 521 | + setnvalue(ra, r); \ | ||
| 522 | + } \ | ||
| 523 | + else \ | ||
| 524 | + Protect(Logic(L, ra, rb, rc, tm)); \ | ||
| 525 | + } | ||
| 526 | +#endif | ||
| 527 | + | ||
| 528 | + | ||
| 529 | |||
| 530 | void luaV_execute (lua_State *L, int nexeccalls) { | ||
| 531 | LClosure *cl; | ||
| 532 | @@ -506,6 +548,45 @@ | ||
| 533 | } | ||
| 534 | continue; | ||
| 535 | } | ||
| 536 | +#if defined(LUA_BITWISE_OPERATORS) | ||
| 537 | + case OP_BOR: { | ||
| 538 | + logic_op(luai_logor, TM_BOR); | ||
| 539 | + continue; | ||
| 540 | + } | ||
| 541 | + case OP_BAND: { | ||
| 542 | + logic_op(luai_logand, TM_BAND); | ||
| 543 | + continue; | ||
| 544 | + } | ||
| 545 | + case OP_BXOR: { | ||
| 546 | + logic_op(luai_logxor, TM_BXOR); | ||
| 547 | + continue; | ||
| 548 | + } | ||
| 549 | + case OP_BLSHFT: { | ||
| 550 | + logic_op(luai_loglshft, TM_BLSHFT); | ||
| 551 | + continue; | ||
| 552 | + } | ||
| 553 | + case OP_BRSHFT: { | ||
| 554 | + logic_op(luai_logrshft, TM_BRSHFT); | ||
| 555 | + continue; | ||
| 556 | + } | ||
| 557 | + case OP_BNOT: { | ||
| 558 | + TValue *rb = RB(i); | ||
| 559 | + if (ttisnumber(rb)) { | ||
| 560 | + lua_Integer r; | ||
| 561 | + lua_Number nb = nvalue(rb); | ||
| 562 | + luai_lognot(r, nb); | ||
| 563 | + setnvalue(ra, r); | ||
| 564 | + } | ||
| 565 | + else { | ||
| 566 | + Protect(Logic(L, ra, rb, rb, TM_BNOT)); | ||
| 567 | + } | ||
| 568 | + continue; | ||
| 569 | + } | ||
| 570 | + case OP_INTDIV: { | ||
| 571 | + arith_op(luai_numintdiv, TM_DIV); | ||
| 572 | + continue; | ||
| 573 | + } | ||
| 574 | +#endif | ||
| 575 | case OP_NOT: { | ||
| 576 | int res = l_isfalse(RB(i)); /* next assignment may change this value */ | ||
| 577 | setbvalue(ra, res); | ||
| 578 | diff -Nurd lua-5.1.5/test/bitwisepatchtest.lua lua-5.1.5/test/bitwisepatchtest.lua | ||
| 579 | --- lua-5.1.5/test/bitwisepatchtest.lua 1970-01-01 02:00:00.000000000 +0200 | ||
| 580 | +++ lua-5.1.5/test/bitwisepatchtest.lua 2012-11-28 21:12:23.966419498 +0200 | ||
| 581 | @@ -0,0 +1,24 @@ | ||
| 582 | +hex=function (i) return "0x"..string.format("%X", i) end | ||
| 583 | +print(hex(0x54|0x55)) | ||
| 584 | +print(hex(0x54&0x66)) | ||
| 585 | +print(hex(0x54^|0x66)) | ||
| 586 | +print(hex(~0x54)) | ||
| 587 | +print(hex(0xF<< 4)) | ||
| 588 | +print(hex(0xF0>> 4)) | ||
| 589 | +a,b=0x54,0x55 | ||
| 590 | +print(hex(a),"|",hex(b), "=",hex(a|b)) | ||
| 591 | +print(hex(a),"|","0x55", "=",hex(a|0x55)) | ||
| 592 | +print(hex(a),"|","0x5|0x50 (", hex(0x5|0x50), ") =",hex(a|(0x5|0x50))) | ||
| 593 | +a,b=0x54,0x66 | ||
| 594 | +print(hex(a),"&",hex(b), "=",hex(a&b)) | ||
| 595 | +print(hex(a),"&","0x66", "=",hex(a&0x66)) | ||
| 596 | +print(hex(a),"^|",hex(b), "=",hex(a^|b)) | ||
| 597 | +print(hex(a),"^|","0x66", "=",hex(a^|0x66)) | ||
| 598 | +print("~"..hex(a),"=",hex(~a)) | ||
| 599 | +a,b=0xF,0xF0 | ||
| 600 | +print(hex(a).."<<4","=",hex(a<<4)) | ||
| 601 | +print(hex(b)..">>4","=",hex(b>>4)) | ||
| 602 | +a,b=0xF,4 | ||
| 603 | +print(hex(a).."<<"..b,"=",hex(a<<b)) | ||
| 604 | +a,b=0xF0,4 | ||
| 605 | +print(hex(a)..">>"..b,"=",hex(a>>b)) | ||
diff --git a/meta-oe/recipes-devtools/lua/lua5.1/lua5.1.pc b/meta-oe/recipes-devtools/lua/lua5.1/lua5.1.pc deleted file mode 100644 index 64c03d2b6c..0000000000 --- a/meta-oe/recipes-devtools/lua/lua5.1/lua5.1.pc +++ /dev/null | |||
| @@ -1,11 +0,0 @@ | |||
| 1 | prefix=/usr | ||
| 2 | libdir=${prefix}/lib | ||
| 3 | includedir=${prefix}/include | ||
| 4 | |||
| 5 | Name: Lua | ||
| 6 | Description: Lua language engine | ||
| 7 | Version: 5.1.5 | ||
| 8 | Requires: | ||
| 9 | Libs: -L${libdir} -llua | ||
| 10 | Libs.private: -lm | ||
| 11 | Cflags: -I${includedir} | ||
diff --git a/meta-oe/recipes-devtools/lua/lua5.1/luaorg_1.patch b/meta-oe/recipes-devtools/lua/lua5.1/luaorg_1.patch deleted file mode 100644 index b64a6a26bf..0000000000 --- a/meta-oe/recipes-devtools/lua/lua5.1/luaorg_1.patch +++ /dev/null | |||
| @@ -1,18 +0,0 @@ | |||
| 1 | lua.org patch 1 for lua-5.1.5. | ||
| 2 | from http://www.lua.org/bugs.html | ||
| 3 | |||
| 4 | Upstream-Status: Backport | ||
| 5 | |||
| 6 | Signed-off-by: Marko Lindqvist <cazfi74@gmail.com> | ||
| 7 | diff -Nurd lua-5.1.5/src/Makefile lua-5.1.5/src/Makefile | ||
| 8 | --- lua-5.1.5/src/Makefile 2012-02-13 22:41:22.000000000 +0200 | ||
| 9 | +++ lua-5.1.5/src/Makefile 2013-10-25 11:29:49.769540434 +0300 | ||
| 10 | @@ -48,7 +48,7 @@ | ||
| 11 | a: $(ALL_A) | ||
| 12 | |||
| 13 | $(LUA_A): $(CORE_O) $(LIB_O) | ||
| 14 | - $(AR) $@ $(CORE_O) $(LIB_O) # DLL needs all object files | ||
| 15 | + $(AR) $@ $(CORE_O) $(LIB_O) | ||
| 16 | $(RANLIB) $@ | ||
| 17 | |||
| 18 | $(LUA_T): $(LUA_O) $(LUA_A) | ||
diff --git a/meta-oe/recipes-devtools/lua/lua5.1/luaorg_2.patch b/meta-oe/recipes-devtools/lua/lua5.1/luaorg_2.patch deleted file mode 100644 index 0c48ea2876..0000000000 --- a/meta-oe/recipes-devtools/lua/lua5.1/luaorg_2.patch +++ /dev/null | |||
| @@ -1,44 +0,0 @@ | |||
| 1 | lua.org patch 2 for lua-5.1.5. | ||
| 2 | from http://www.lua.org/bugs.html | ||
| 3 | |||
| 4 | Upstream-Status: Backport | ||
| 5 | |||
| 6 | Signed-off-by: Marko Lindqvist <cazfi74@gmail.com> | ||
| 7 | diff -Nurd lua-5.1.5/src/lzio.c lua-5.1.5/src/lzio.c | ||
| 8 | --- lua-5.1.5/src/lzio.c 2007-12-27 15:02:25.000000000 +0200 | ||
| 9 | +++ lua-5.1.5/src/lzio.c 2013-10-25 11:32:45.773536572 +0300 | ||
| 10 | @@ -22,10 +22,14 @@ | ||
| 11 | size_t size; | ||
| 12 | lua_State *L = z->L; | ||
| 13 | const char *buff; | ||
| 14 | + if (z->eoz) return EOZ; | ||
| 15 | lua_unlock(L); | ||
| 16 | buff = z->reader(L, z->data, &size); | ||
| 17 | lua_lock(L); | ||
| 18 | - if (buff == NULL || size == 0) return EOZ; | ||
| 19 | + if (buff == NULL || size == 0) { | ||
| 20 | + z->eoz = 1; /* avoid calling reader function next time */ | ||
| 21 | + return EOZ; | ||
| 22 | + } | ||
| 23 | z->n = size - 1; | ||
| 24 | z->p = buff; | ||
| 25 | return char2int(*(z->p++)); | ||
| 26 | @@ -51,6 +55,7 @@ | ||
| 27 | z->data = data; | ||
| 28 | z->n = 0; | ||
| 29 | z->p = NULL; | ||
| 30 | + z->eoz = 0; | ||
| 31 | } | ||
| 32 | |||
| 33 | |||
| 34 | diff -Nurd lua-5.1.5/src/lzio.h lua-5.1.5/src/lzio.h | ||
| 35 | --- lua-5.1.5/src/lzio.h 2007-12-27 15:02:25.000000000 +0200 | ||
| 36 | +++ lua-5.1.5/src/lzio.h 2013-10-25 11:31:50.301537789 +0300 | ||
| 37 | @@ -59,6 +59,7 @@ | ||
| 38 | lua_Reader reader; | ||
| 39 | void* data; /* additional data */ | ||
| 40 | lua_State *L; /* Lua state (for reader) */ | ||
| 41 | + int eoz; /* true if reader has no more data */ | ||
| 42 | }; | ||
| 43 | |||
| 44 | |||
diff --git a/meta-oe/recipes-devtools/lua/lua5.1/uclibc-pthread.patch b/meta-oe/recipes-devtools/lua/lua5.1/uclibc-pthread.patch deleted file mode 100644 index 0555e81b19..0000000000 --- a/meta-oe/recipes-devtools/lua/lua5.1/uclibc-pthread.patch +++ /dev/null | |||
| @@ -1,13 +0,0 @@ | |||
| 1 | Index: lua-5.1.4/src/Makefile | ||
| 2 | =================================================================== | ||
| 3 | --- lua-5.1.4.orig/src/Makefile 2010-10-16 09:51:52.000000000 +0200 | ||
| 4 | +++ lua-5.1.4/src/Makefile 2010-10-16 09:52:15.000000000 +0200 | ||
| 5 | @@ -12,7 +12,7 @@ | ||
| 6 | AR= ar rcu | ||
| 7 | RANLIB= ranlib | ||
| 8 | RM= rm -f | ||
| 9 | -LIBS= -lm $(MYLIBS) | ||
| 10 | +LIBS= -lm -lpthread $(MYLIBS) | ||
| 11 | |||
| 12 | MYCFLAGS= | ||
| 13 | MYLDFLAGS= | ||
diff --git a/meta-oe/recipes-devtools/lua/lua5.1_5.1.5.bb b/meta-oe/recipes-devtools/lua/lua5.1_5.1.5.bb deleted file mode 100644 index f9469948e4..0000000000 --- a/meta-oe/recipes-devtools/lua/lua5.1_5.1.5.bb +++ /dev/null | |||
| @@ -1,55 +0,0 @@ | |||
| 1 | DESCRIPTION = "Lua is a powerful light-weight programming language designed \ | ||
| 2 | for extending applications." | ||
| 3 | LICENSE = "MIT" | ||
| 4 | LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=59bdd99bb82238f238cf5c65c21604fd" | ||
| 5 | HOMEPAGE = "http://www.lua.org/" | ||
| 6 | |||
| 7 | PR = "r2" | ||
| 8 | |||
| 9 | DEPENDS += "readline" | ||
| 10 | SRC_URI = "http://www.lua.org/ftp/lua-${PV}.tar.gz \ | ||
| 11 | file://bitwise_operators.patch \ | ||
| 12 | file://lua5.1.pc \ | ||
| 13 | file://luaorg_1.patch \ | ||
| 14 | file://luaorg_2.patch \ | ||
| 15 | " | ||
| 16 | S = "${WORKDIR}/lua-${PV}" | ||
| 17 | |||
| 18 | inherit pkgconfig binconfig | ||
| 19 | |||
| 20 | UCLIBC_PATCHES += "file://uclibc-pthread.patch" | ||
| 21 | SRC_URI_append_libc-uclibc = "${UCLIBC_PATCHES}" | ||
| 22 | |||
| 23 | TARGET_CC_ARCH += " -fPIC ${LDFLAGS}" | ||
| 24 | EXTRA_OEMAKE = "'CC=${CC} -fPIC' 'MYCFLAGS=${CFLAGS} -DLUA_USE_LINUX -fPIC' MYLDFLAGS='${LDFLAGS}'" | ||
| 25 | |||
| 26 | do_configure_prepend() { | ||
| 27 | sed -i -e s:/usr/local:${prefix}:g src/luaconf.h | ||
| 28 | sed -i -e s:lib/lua/5.1/:${base_libdir}/lua/5.1/:g src/luaconf.h | ||
| 29 | } | ||
| 30 | |||
| 31 | do_compile () { | ||
| 32 | oe_runmake linux | ||
| 33 | } | ||
| 34 | |||
| 35 | do_install () { | ||
| 36 | oe_runmake \ | ||
| 37 | 'INSTALL_TOP=${D}${prefix}' \ | ||
| 38 | 'INSTALL_BIN=${D}${bindir}' \ | ||
| 39 | 'INSTALL_INC=${D}${includedir}/' \ | ||
| 40 | 'INSTALL_MAN=${D}${mandir}/man1' \ | ||
| 41 | 'INSTALL_SHARE=${D}${datadir}/lua' \ | ||
| 42 | 'INSTALL_LIB=${D}${libdir}' \ | ||
| 43 | 'INSTALL_CMOD=${D}${libdir}/lua/5.1' \ | ||
| 44 | install | ||
| 45 | install -d ${D}${libdir}/pkgconfig | ||
| 46 | install -m 0644 ${WORKDIR}/lua5.1.pc ${D}${libdir}/pkgconfig/lua5.1.pc | ||
| 47 | rmdir ${D}${libdir}/lua/5.1 | ||
| 48 | rmdir ${D}${libdir}/lua | ||
| 49 | rmdir ${D}${datadir}/lua/5.1 | ||
| 50 | rmdir ${D}${datadir}/lua | ||
| 51 | } | ||
| 52 | BBCLASSEXTEND = "native" | ||
| 53 | |||
| 54 | SRC_URI[md5sum] = "2e115fe26e435e33b0d5c022e4490567" | ||
| 55 | SRC_URI[sha256sum] = "2640fc56a795f29d28ef15e13c34a47e223960b0240e8cb0a82d9b0738695333" | ||
