]> git.ipfire.org Git - thirdparty/LuaJIT.git/commitdiff
Fix build issues on Cygwin and MinGW with optional MSys.
authorMike Pall <mike>
Fri, 22 Jun 2012 09:36:58 +0000 (11:36 +0200)
committerMike Pall <mike>
Fri, 22 Jun 2012 09:36:58 +0000 (11:36 +0200)
src/Makefile
src/lj_arch.h

index c3aa2ca207f0bfa157a8e8ca288acb2dadaabefa..6e0c7463be944b4234e1a8680f4bb3cd8e87f8af 100644 (file)
@@ -259,16 +259,19 @@ endif
 # System detection.
 ##############################################################################
 
-ifneq (,$(findstring Windows,$(OS)))
+ifeq (Windows,$(findstring Windows,$(OS))$(MSYSTEM)$(TERM))
   HOST_SYS= Windows
+  HOST_RM= del
 else
   HOST_SYS:= $(shell uname -s)
-  ifneq (,$(findstring CYGWIN,$(TARGET_SYS)))
+  ifneq (,$(findstring MINGW,$(HOST_SYS)))
     HOST_SYS= Windows
+    HOST_MSYS= mingw
+  endif
+  ifneq (,$(findstring CYGWIN,$(HOST_SYS)))
+    HOST_SYS= Windows
+    HOST_MSYS= cygwin
   endif
-endif
-ifeq (Windows,$(HOST_SYS))
-  HOST_RM= del
 endif
 
 TARGET_SYS?= $(HOST_SYS)
@@ -475,18 +478,15 @@ TARGET_O= $(LUAJIT_A)
 TARGET_T= $(LUAJIT_T) $(LUAJIT_SO)
 TARGET_DEP= $(LIB_VMDEF) $(LUAJIT_SO)
 
-ifeq (Windows,$(HOST_SYS))
-  MINILUA_T= host/minilua.exe
-  MINILUA_X= host\minilua
-  BUILDVM_T= host/buildvm.exe
-  BUILDVM_X= host\buildvm
-  ALL_RM:= $(subst /,\,$(ALL_RM))
-endif
 ifeq (Windows,$(TARGET_SYS))
   TARGET_DYNCC= $(STATIC_CC)
   LJVM_MODE= coffasm
-  LUAJIT_SO= $(TARGET_DLLNAME)
   LUAJIT_T= luajit.exe
+  ifeq (cygwin,$(HOST_MSYS))
+    LUAJIT_SO= cyg$(TARGET_DLLNAME)
+  else
+    LUAJIT_SO= $(TARGET_DLLNAME)
+  endif
   # Mixed mode is not supported on Windows. And static mode doesn't work well.
   # C modules cannot be loaded, because they bind to lua51.dll.
   ifneq (static,$(BUILDMODE))
@@ -507,6 +507,16 @@ ifeq (PS3,$(TARGET_SYS))
   BUILDMODE= static
 endif
 
+ifeq (Windows,$(HOST_SYS))
+  MINILUA_T= host/minilua.exe
+  BUILDVM_T= host/buildvm.exe
+  ifeq (,$(HOST_MSYS))
+    MINILUA_X= host\minilua
+    BUILDVM_X= host\buildvm
+    ALL_RM:= $(subst /,\,$(ALL_RM))
+  endif
+endif
+
 ifeq (static,$(BUILDMODE))
   TARGET_DYNCC= @:
   TARGET_T= $(LUAJIT_T)
index c9e9b30739e5e7a54a89ddd16e42215a959a9030..a3d515428d7b31399ab35572c718945e33ad619a 100644 (file)
 #define LJ_ARCH_BITS           32
 #define LJ_ARCH_ENDIAN         LUAJIT_LE
 #define LJ_ARCH_HASFPU         1
-#define LJ_ABI_WIN             LJ_TARGET_WINDOWS
+#if LJ_TARGET_WINDOWS || __CYGWIN__
+#define LJ_ABI_WIN             1
+#else
+#define LJ_ABI_WIN             0
+#endif
 #define LJ_TARGET_X86          1
 #define LJ_TARGET_X86ORX64     1
 #define LJ_TARGET_EHRETREG     0