aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMike Pall <mike>2012-06-22 11:36:58 +0200
committerMike Pall <mike>2012-06-22 11:36:58 +0200
commit2f844fc87ba0a26b3443b6a59d85a6080582c9b7 (patch)
treec221cf1f647ce683726f538caced0d33549cd6c3 /src
parent8b71ab108053c12bc2de9c1de0f786387a2b75e5 (diff)
downloadluajit-2f844fc87ba0a26b3443b6a59d85a6080582c9b7.tar.gz
luajit-2f844fc87ba0a26b3443b6a59d85a6080582c9b7.tar.bz2
luajit-2f844fc87ba0a26b3443b6a59d85a6080582c9b7.zip
Fix build issues on Cygwin and MinGW with optional MSys.
Diffstat (limited to 'src')
-rw-r--r--src/Makefile36
-rw-r--r--src/lj_arch.h6
2 files changed, 28 insertions, 14 deletions
diff --git a/src/Makefile b/src/Makefile
index c3aa2ca2..6e0c7463 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -259,16 +259,19 @@ endif
259# System detection. 259# System detection.
260############################################################################## 260##############################################################################
261 261
262ifneq (,$(findstring Windows,$(OS))) 262ifeq (Windows,$(findstring Windows,$(OS))$(MSYSTEM)$(TERM))
263 HOST_SYS= Windows 263 HOST_SYS= Windows
264 HOST_RM= del
264else 265else
265 HOST_SYS:= $(shell uname -s) 266 HOST_SYS:= $(shell uname -s)
266 ifneq (,$(findstring CYGWIN,$(TARGET_SYS))) 267 ifneq (,$(findstring MINGW,$(HOST_SYS)))
267 HOST_SYS= Windows 268 HOST_SYS= Windows
269 HOST_MSYS= mingw
270 endif
271 ifneq (,$(findstring CYGWIN,$(HOST_SYS)))
272 HOST_SYS= Windows
273 HOST_MSYS= cygwin
268 endif 274 endif
269endif
270ifeq (Windows,$(HOST_SYS))
271 HOST_RM= del
272endif 275endif
273 276
274TARGET_SYS?= $(HOST_SYS) 277TARGET_SYS?= $(HOST_SYS)
@@ -475,18 +478,15 @@ TARGET_O= $(LUAJIT_A)
475TARGET_T= $(LUAJIT_T) $(LUAJIT_SO) 478TARGET_T= $(LUAJIT_T) $(LUAJIT_SO)
476TARGET_DEP= $(LIB_VMDEF) $(LUAJIT_SO) 479TARGET_DEP= $(LIB_VMDEF) $(LUAJIT_SO)
477 480
478ifeq (Windows,$(HOST_SYS))
479 MINILUA_T= host/minilua.exe
480 MINILUA_X= host\minilua
481 BUILDVM_T= host/buildvm.exe
482 BUILDVM_X= host\buildvm
483 ALL_RM:= $(subst /,\,$(ALL_RM))
484endif
485ifeq (Windows,$(TARGET_SYS)) 481ifeq (Windows,$(TARGET_SYS))
486 TARGET_DYNCC= $(STATIC_CC) 482 TARGET_DYNCC= $(STATIC_CC)
487 LJVM_MODE= coffasm 483 LJVM_MODE= coffasm
488 LUAJIT_SO= $(TARGET_DLLNAME)
489 LUAJIT_T= luajit.exe 484 LUAJIT_T= luajit.exe
485 ifeq (cygwin,$(HOST_MSYS))
486 LUAJIT_SO= cyg$(TARGET_DLLNAME)
487 else
488 LUAJIT_SO= $(TARGET_DLLNAME)
489 endif
490 # Mixed mode is not supported on Windows. And static mode doesn't work well. 490 # Mixed mode is not supported on Windows. And static mode doesn't work well.
491 # C modules cannot be loaded, because they bind to lua51.dll. 491 # C modules cannot be loaded, because they bind to lua51.dll.
492 ifneq (static,$(BUILDMODE)) 492 ifneq (static,$(BUILDMODE))
@@ -507,6 +507,16 @@ ifeq (PS3,$(TARGET_SYS))
507 BUILDMODE= static 507 BUILDMODE= static
508endif 508endif
509 509
510ifeq (Windows,$(HOST_SYS))
511 MINILUA_T= host/minilua.exe
512 BUILDVM_T= host/buildvm.exe
513 ifeq (,$(HOST_MSYS))
514 MINILUA_X= host\minilua
515 BUILDVM_X= host\buildvm
516 ALL_RM:= $(subst /,\,$(ALL_RM))
517 endif
518endif
519
510ifeq (static,$(BUILDMODE)) 520ifeq (static,$(BUILDMODE))
511 TARGET_DYNCC= @: 521 TARGET_DYNCC= @:
512 TARGET_T= $(LUAJIT_T) 522 TARGET_T= $(LUAJIT_T)
diff --git a/src/lj_arch.h b/src/lj_arch.h
index c9e9b307..a3d51542 100644
--- a/src/lj_arch.h
+++ b/src/lj_arch.h
@@ -122,7 +122,11 @@
122#define LJ_ARCH_BITS 32 122#define LJ_ARCH_BITS 32
123#define LJ_ARCH_ENDIAN LUAJIT_LE 123#define LJ_ARCH_ENDIAN LUAJIT_LE
124#define LJ_ARCH_HASFPU 1 124#define LJ_ARCH_HASFPU 1
125#define LJ_ABI_WIN LJ_TARGET_WINDOWS 125#if LJ_TARGET_WINDOWS || __CYGWIN__
126#define LJ_ABI_WIN 1
127#else
128#define LJ_ABI_WIN 0
129#endif
126#define LJ_TARGET_X86 1 130#define LJ_TARGET_X86 1
127#define LJ_TARGET_X86ORX64 1 131#define LJ_TARGET_X86ORX64 1
128#define LJ_TARGET_EHRETREG 0 132#define LJ_TARGET_EHRETREG 0