diff options
author | md5 | 2011-05-14 12:32:34 +0300 |
---|---|---|
committer | md5 | 2011-05-14 12:32:34 +0300 |
commit | dcf9daf4cff0c74fd8533436d479d7c224bfb246 (patch) | |
tree | 6312b28c27b682042ce25d59a672a26c8943db1f | |
parent | 3537456eb51ed65b67c888ef01a0638719410fdb (diff) | |
download | scummvm-rg350-dcf9daf4cff0c74fd8533436d479d7c224bfb246.tar.gz scummvm-rg350-dcf9daf4cff0c74fd8533436d479d7c224bfb246.tar.bz2 scummvm-rg350-dcf9daf4cff0c74fd8533436d479d7c224bfb246.zip |
SWORD25 (LUA): Some compilation optimizations
For Android, define stroll() inside luaconf.h
For PS2, don't use the visibility attribute, as the PS2 gcc isn't
particularly happy about it...
-rw-r--r-- | engines/sword25/util/lua/luaconf.h | 14 | ||||
-rw-r--r-- | engines/sword25/util/lua/lvm.cpp | 7 |
2 files changed, 13 insertions, 8 deletions
diff --git a/engines/sword25/util/lua/luaconf.h b/engines/sword25/util/lua/luaconf.h index 669b0e7a49..ddd6c8184e 100644 --- a/engines/sword25/util/lua/luaconf.h +++ b/engines/sword25/util/lua/luaconf.h @@ -18,6 +18,14 @@ ** =================================================================== */ +#if defined(__ANDROID__) +/* Android is missing strcoll(). +** For more information, refer to: +** http://www.damonkohler.com/2008/12/lua-on-android.html +*/ +#define strcoll strcmp +#endif + /* @@ LUA_ANSI controls the use of non-ansi features. @@ -183,7 +191,11 @@ #define LUAI_DATA /* empty */ #elif defined(__GNUC__) && ((__GNUC__*100 + __GNUC_MINOR__) >= 302) && \ - defined(__ELF__) + defined(__ELF__) && !defined(__PLAYSTATION2__) +/* +** The PS2 gcc compiler doesn't like the visibility attribute, so +** we use the normal "extern" definitions in the block below +*/ #define LUAI_FUNC __attribute__((visibility("hidden"))) extern #define LUAI_DATA LUAI_FUNC diff --git a/engines/sword25/util/lua/lvm.cpp b/engines/sword25/util/lua/lvm.cpp index aee31064ff..ae70fe2645 100644 --- a/engines/sword25/util/lua/lvm.cpp +++ b/engines/sword25/util/lua/lvm.cpp @@ -202,14 +202,7 @@ static int l_strcmp (const TString *ls, const TString *rs) { const char *r = getstr(rs); size_t lr = rs->tsv.len; for (;;) { -#if defined(__ANDROID__) - // Android is missing strcoll(). - // For more information, refer to: - // http://www.damonkohler.com/2008/12/lua-on-android.html - int temp = strcmp(l, r); -#else int temp = strcoll(l, r); -#endif if (temp != 0) return temp; else { /* strings are equal up to a `\0' */ size_t len = strlen(l); /* index of first `\0' in both strings */ |