vlc/vlc-1.2 | branch: master | Rémi Denis-Courmont <[email protected]> | Wed Dec 14 20:00:47 2011 +0200| [560ac72cec0dca2fe8c37ffe56141122c3a56739] | committer: Jean-Baptiste Kempf
contrib: use 32-bits LUAC file format on all platforms In other words, 64-bits platform will support 32-bits LUAC files and reject 64-bits LUAC files when using contribs. This should ease cross-compilation and copying luac files manually. (cherry picked from commit 01ec2d6e8c9347a0c8fec3db0937ef786a97910e) Signed-off-by: Jean-Baptiste Kempf <[email protected]> > http://git.videolan.org/gitweb.cgi/vlc/vlc-1.2.git/?a=commit;h=560ac72cec0dca2fe8c37ffe56141122c3a56739 --- contrib/src/lua/luac-32bits.patch | 99 +++++++++++++++++++++++++++++++++++++ contrib/src/lua/rules.mak | 1 + 2 files changed, 100 insertions(+), 0 deletions(-) diff --git a/contrib/src/lua/luac-32bits.patch b/contrib/src/lua/luac-32bits.patch new file mode 100644 index 0000000..9f34518 --- /dev/null +++ b/contrib/src/lua/luac-32bits.patch @@ -0,0 +1,99 @@ +diff -ru lua.orig/src/ldump.c lua/src/ldump.c +--- lua.orig/src/ldump.c 2011-12-14 19:26:18.000000000 +0200 ++++ lua/src/ldump.c 2011-12-14 19:49:20.000000000 +0200 +@@ -44,7 +44,8 @@ + + static void DumpInt(int x, DumpState* D) + { +- DumpVar(x,D); ++ int32_t i = x; ++ DumpVar(i,D); + } + + static void DumpNumber(lua_Number x, DumpState* D) +@@ -62,12 +63,12 @@ + { + if (s==NULL || getstr(s)==NULL) + { +- size_t size=0; ++ uint32_t size=0; + DumpVar(size,D); + } + else + { +- size_t size=s->tsv.len+1; /* include trailing '\0' */ ++ uint32_t size=s->tsv.len+1; /* include trailing '\0' */ + DumpVar(size,D); + DumpBlock(getstr(s),size,D); + } +diff -ru lua.orig/src/luaconf.h lua/src/luaconf.h +--- lua.orig/src/luaconf.h 2011-12-14 19:26:18.000000000 +0200 ++++ lua/src/luaconf.h 2011-12-14 19:54:25.000000000 +0200 +@@ -10,6 +10,8 @@ + + #include <limits.h> + #include <stddef.h> ++#include <stdint.h> ++#include <sys/types.h> + + + /* +@@ -409,20 +411,12 @@ + ** part always works, but may waste space on machines with 64-bit + ** longs.) Probably you do not need to change this. + */ +-#if LUAI_BITSINT >= 32 +-#define LUAI_UINT32 unsigned int +-#define LUAI_INT32 int +-#define LUAI_MAXINT32 INT_MAX ++ ++#define LUAI_UINT32 uint32_t ++#define LUAI_INT32 int32_t ++#define LUAI_MAXINT32 0x7ffffff + #define LUAI_UMEM size_t +-#define LUAI_MEM ptrdiff_t +-#else +-/* 16-bit ints */ +-#define LUAI_UINT32 unsigned long +-#define LUAI_INT32 long +-#define LUAI_MAXINT32 LONG_MAX +-#define LUAI_UMEM unsigned long +-#define LUAI_MEM long +-#endif ++#define LUAI_MEM ssize_t + + + /* +Seulement dans lua/src: lua.o +diff -ru lua.orig/src/lundump.c lua/src/lundump.c +--- lua.orig/src/lundump.c 2011-12-14 19:26:18.000000000 +0200 ++++ lua/src/lundump.c 2011-12-14 19:50:41.000000000 +0200 +@@ -60,7 +60,7 @@ + + static int LoadInt(LoadState* S) + { +- int x; ++ int32_t x; + LoadVar(S,x); + IF (x<0, "bad integer"); + return x; +@@ -75,7 +75,7 @@ + + static TString* LoadString(LoadState* S) + { +- size_t size; ++ uint32_t size; + LoadVar(S,size); + if (size==0) + return NULL; +@@ -219,8 +219,8 @@ + *h++=(char)LUAC_VERSION; + *h++=(char)LUAC_FORMAT; + *h++=(char)*(char*)&x; /* endianness */ +- *h++=(char)sizeof(int); +- *h++=(char)sizeof(size_t); ++ *h++=(char)sizeof(int32_t); ++ *h++=(char)sizeof(uint32_t); + *h++=(char)sizeof(Instruction); + *h++=(char)sizeof(lua_Number); + *h++=(char)(((lua_Number)0.5)==0); /* is lua_Number integral? */ diff --git a/contrib/src/lua/rules.mak b/contrib/src/lua/rules.mak index 9321663..fc11618 100644 --- a/contrib/src/lua/rules.mak +++ b/contrib/src/lua/rules.mak @@ -32,6 +32,7 @@ $(TARBALLS)/lua-$(LUA_VERSION).tar.gz: lua: lua-$(LUA_VERSION).tar.gz .sum-lua $(UNPACK) $(APPLY) $(SRC)/lua/lua-noreadline.patch + $(APPLY) $(SRC)/lua/luac-32bits.patch ifdef HAVE_MACOSX (cd $(UNPACK_DIR) && \ sed -e 's%gcc%$(CC)%' \ _______________________________________________ vlc-commits mailing list [email protected] http://mailman.videolan.org/listinfo/vlc-commits
