summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMike Pall <mike>2016-04-03 19:07:19 +0200
committerMike Pall <mike>2016-04-03 19:07:19 +0200
commit4ab6367b21527a20b76ce356153bc454e082b7d2 (patch)
tree2c2b7939f4289b32755689cfb19e4d6f62739ca5 /src
parent62af10152433c45e5d83e442538fabf1f57f189b (diff)
downloadluajit-4ab6367b21527a20b76ce356153bc454e082b7d2.tar.gz
luajit-4ab6367b21527a20b76ce356153bc454e082b7d2.tar.bz2
luajit-4ab6367b21527a20b76ce356153bc454e082b7d2.zip
Cygwin: Allow cross-builds to non-Cygwin targets.
Diffstat (limited to 'src')
-rw-r--r--src/lj_alloc.c2
-rw-r--r--src/lj_arch.h9
-rw-r--r--src/lj_clib.c8
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)
56static const char *clib_extname(lua_State *L, const char *name) 56static 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