diff options
| author | Mike Pall <mike> | 2016-04-03 19:07:19 +0200 |
|---|---|---|
| committer | Mike Pall <mike> | 2016-04-03 19:07:19 +0200 |
| commit | 4ab6367b21527a20b76ce356153bc454e082b7d2 (patch) | |
| tree | 2c2b7939f4289b32755689cfb19e4d6f62739ca5 | |
| parent | 62af10152433c45e5d83e442538fabf1f57f189b (diff) | |
| download | luajit-4ab6367b21527a20b76ce356153bc454e082b7d2.tar.gz luajit-4ab6367b21527a20b76ce356153bc454e082b7d2.tar.bz2 luajit-4ab6367b21527a20b76ce356153bc454e082b7d2.zip | |
Cygwin: Allow cross-builds to non-Cygwin targets.
| -rw-r--r-- | src/lj_alloc.c | 2 | ||||
| -rw-r--r-- | src/lj_arch.h | 9 | ||||
| -rw-r--r-- | src/lj_clib.c | 8 |
3 files changed, 11 insertions, 8 deletions
diff --git a/src/lj_alloc.c b/src/lj_alloc.c index 9218c440..dc64dca9 100644 --- a/src/lj_alloc.c +++ b/src/lj_alloc.c | |||
| @@ -194,7 +194,7 @@ static LJ_AINLINE void *CALL_MMAP(size_t size) | |||
| 194 | return ptr; | 194 | return ptr; |
| 195 | } | 195 | } |
| 196 | 196 | ||
| 197 | #elif LJ_TARGET_OSX || LJ_TARGET_PS4 || defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__) || defined(__sun__) || defined(__CYGWIN__) | 197 | #elif LJ_TARGET_OSX || LJ_TARGET_PS4 || defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__) || defined(__sun__) || LJ_TARGET_CYGWIN |
| 198 | 198 | ||
| 199 | /* OSX and FreeBSD mmap() use a naive first-fit linear search. | 199 | /* OSX and FreeBSD mmap() use a naive first-fit linear search. |
| 200 | ** That's perfect for us. Except that -pagezero_size must be set for OSX, | 200 | ** That's perfect for us. Except that -pagezero_size must be set for OSX, |
diff --git a/src/lj_arch.h b/src/lj_arch.h index 906cc11f..32789b44 100644 --- a/src/lj_arch.h +++ b/src/lj_arch.h | |||
| @@ -70,7 +70,10 @@ | |||
| 70 | defined(__NetBSD__) || defined(__OpenBSD__) || \ | 70 | defined(__NetBSD__) || defined(__OpenBSD__) || \ |
| 71 | defined(__DragonFly__)) && !defined(__ORBIS__) | 71 | defined(__DragonFly__)) && !defined(__ORBIS__) |
| 72 | #define LUAJIT_OS LUAJIT_OS_BSD | 72 | #define LUAJIT_OS LUAJIT_OS_BSD |
| 73 | #elif (defined(__sun__) && defined(__svr4__)) || defined(__CYGWIN__) | 73 | #elif (defined(__sun__) && defined(__svr4__)) |
| 74 | #define LUAJIT_OS LUAJIT_OS_POSIX | ||
| 75 | #elif defined(__CYGWIN__) | ||
| 76 | #define LJ_TARGET_CYGWIN 1 | ||
| 74 | #define LUAJIT_OS LUAJIT_OS_POSIX | 77 | #define LUAJIT_OS LUAJIT_OS_POSIX |
| 75 | #else | 78 | #else |
| 76 | #define LUAJIT_OS LUAJIT_OS_OTHER | 79 | #define LUAJIT_OS LUAJIT_OS_OTHER |
| @@ -133,7 +136,7 @@ | |||
| 133 | #define LJ_ARCH_NAME "x86" | 136 | #define LJ_ARCH_NAME "x86" |
| 134 | #define LJ_ARCH_BITS 32 | 137 | #define LJ_ARCH_BITS 32 |
| 135 | #define LJ_ARCH_ENDIAN LUAJIT_LE | 138 | #define LJ_ARCH_ENDIAN LUAJIT_LE |
| 136 | #if LJ_TARGET_WINDOWS || __CYGWIN__ | 139 | #if LJ_TARGET_WINDOWS || LJ_TARGET_CYGWIN |
| 137 | #define LJ_ABI_WIN 1 | 140 | #define LJ_ABI_WIN 1 |
| 138 | #else | 141 | #else |
| 139 | #define LJ_ABI_WIN 0 | 142 | #define LJ_ABI_WIN 0 |
| @@ -151,7 +154,7 @@ | |||
| 151 | #define LJ_ARCH_NAME "x64" | 154 | #define LJ_ARCH_NAME "x64" |
| 152 | #define LJ_ARCH_BITS 64 | 155 | #define LJ_ARCH_BITS 64 |
| 153 | #define LJ_ARCH_ENDIAN LUAJIT_LE | 156 | #define LJ_ARCH_ENDIAN LUAJIT_LE |
| 154 | #if LJ_TARGET_WINDOWS || __CYGWIN__ | 157 | #if LJ_TARGET_WINDOWS || LJ_TARGET_CYGWIN |
| 155 | #define LJ_ABI_WIN 1 | 158 | #define LJ_ABI_WIN 1 |
| 156 | #else | 159 | #else |
| 157 | #define LJ_ABI_WIN 0 | 160 | #define LJ_ABI_WIN 0 |
diff --git a/src/lj_clib.c b/src/lj_clib.c index 8389ee78..4f17d578 100644 --- a/src/lj_clib.c +++ b/src/lj_clib.c | |||
| @@ -39,7 +39,7 @@ LJ_NORET LJ_NOINLINE static void clib_error_(lua_State *L) | |||
| 39 | 39 | ||
| 40 | #define clib_error(L, fmt, name) clib_error_(L) | 40 | #define clib_error(L, fmt, name) clib_error_(L) |
| 41 | 41 | ||
| 42 | #if defined(__CYGWIN__) | 42 | #if LJ_TARGET_CYGWIN |
| 43 | #define CLIB_SOPREFIX "cyg" | 43 | #define CLIB_SOPREFIX "cyg" |
| 44 | #else | 44 | #else |
| 45 | #define CLIB_SOPREFIX "lib" | 45 | #define CLIB_SOPREFIX "lib" |
| @@ -47,7 +47,7 @@ LJ_NORET LJ_NOINLINE static void clib_error_(lua_State *L) | |||
| 47 | 47 | ||
| 48 | #if LJ_TARGET_OSX | 48 | #if LJ_TARGET_OSX |
| 49 | #define CLIB_SOEXT "%s.dylib" | 49 | #define CLIB_SOEXT "%s.dylib" |
| 50 | #elif defined(__CYGWIN__) | 50 | #elif LJ_TARGET_CYGWIN |
| 51 | #define CLIB_SOEXT "%s.dll" | 51 | #define CLIB_SOEXT "%s.dll" |
| 52 | #else | 52 | #else |
| 53 | #define CLIB_SOEXT "%s.so" | 53 | #define CLIB_SOEXT "%s.so" |
| @@ -56,14 +56,14 @@ LJ_NORET LJ_NOINLINE static void clib_error_(lua_State *L) | |||
| 56 | static const char *clib_extname(lua_State *L, const char *name) | 56 | static const char *clib_extname(lua_State *L, const char *name) |
| 57 | { | 57 | { |
| 58 | if (!strchr(name, '/') | 58 | if (!strchr(name, '/') |
| 59 | #ifdef __CYGWIN__ | 59 | #if LJ_TARGET_CYGWIN |
| 60 | && !strchr(name, '\\') | 60 | && !strchr(name, '\\') |
| 61 | #endif | 61 | #endif |
| 62 | ) { | 62 | ) { |
| 63 | if (!strchr(name, '.')) { | 63 | if (!strchr(name, '.')) { |
| 64 | name = lj_str_pushf(L, CLIB_SOEXT, name); | 64 | name = lj_str_pushf(L, CLIB_SOEXT, name); |
| 65 | L->top--; | 65 | L->top--; |
| 66 | #ifdef __CYGWIN__ | 66 | #if LJ_TARGET_CYGWIN |
| 67 | } else { | 67 | } else { |
| 68 | return name; | 68 | return name; |
| 69 | #endif | 69 | #endif |
