diff options
author | Mike Pall <mike> | 2012-06-22 11:36:58 +0200 |
---|---|---|
committer | Mike Pall <mike> | 2012-06-22 11:36:58 +0200 |
commit | 2f844fc87ba0a26b3443b6a59d85a6080582c9b7 (patch) | |
tree | c221cf1f647ce683726f538caced0d33549cd6c3 /src | |
parent | 8b71ab108053c12bc2de9c1de0f786387a2b75e5 (diff) | |
download | luajit-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/Makefile | 36 | ||||
-rw-r--r-- | src/lj_arch.h | 6 |
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 | ||
262 | ifneq (,$(findstring Windows,$(OS))) | 262 | ifeq (Windows,$(findstring Windows,$(OS))$(MSYSTEM)$(TERM)) |
263 | HOST_SYS= Windows | 263 | HOST_SYS= Windows |
264 | HOST_RM= del | ||
264 | else | 265 | else |
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 |
269 | endif | ||
270 | ifeq (Windows,$(HOST_SYS)) | ||
271 | HOST_RM= del | ||
272 | endif | 275 | endif |
273 | 276 | ||
274 | TARGET_SYS?= $(HOST_SYS) | 277 | TARGET_SYS?= $(HOST_SYS) |
@@ -475,18 +478,15 @@ TARGET_O= $(LUAJIT_A) | |||
475 | TARGET_T= $(LUAJIT_T) $(LUAJIT_SO) | 478 | TARGET_T= $(LUAJIT_T) $(LUAJIT_SO) |
476 | TARGET_DEP= $(LIB_VMDEF) $(LUAJIT_SO) | 479 | TARGET_DEP= $(LIB_VMDEF) $(LUAJIT_SO) |
477 | 480 | ||
478 | ifeq (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)) | ||
484 | endif | ||
485 | ifeq (Windows,$(TARGET_SYS)) | 481 | ifeq (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 |
508 | endif | 508 | endif |
509 | 509 | ||
510 | ifeq (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 | ||
518 | endif | ||
519 | |||
510 | ifeq (static,$(BUILDMODE)) | 520 | ifeq (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 |