[iortcw] 81/497: All: Fix building QVM's when cross-compiling with Cygwin

Simon McVittie smcv at debian.org
Fri Sep 8 10:36:29 UTC 2017


This is an automated email from the git hooks/post-receive script.

smcv pushed a commit to annotated tag 1.42d
in repository iortcw.

commit 34ac3a3d441098a353113e52b945a72fc0e378a8
Author: M4N4T4RMS at gmail.com <M4N4T4RMS at gmail.com@e65d2741-a53d-b2dc-ae96-bb75fa5e4c4a>
Date:   Sat Apr 5 02:00:32 2014 +0000

    All: Fix building QVM's when cross-compiling with Cygwin
---
 MP/Makefile                      |  4 ++++
 MP/README                        |  2 +-
 MP/code/qcommon/q_platform.h     | 14 ++++++++++++--
 MP/code/tools/lcc/etc/bytecode.c |  2 +-
 SP/Makefile                      |  4 ++++
 SP/README                        |  2 +-
 SP/code/qcommon/q_platform.h     | 14 ++++++++++++--
 SP/code/tools/lcc/etc/bytecode.c |  2 +-
 8 files changed, 36 insertions(+), 8 deletions(-)

diff --git a/MP/Makefile b/MP/Makefile
index bec556b..458696a 100644
--- a/MP/Makefile
+++ b/MP/Makefile
@@ -622,6 +622,10 @@ ifeq ($(PLATFORM),mingw32)
     TOOLS_BINEXT=.exe
   endif
 
+  ifeq ($(COMPILE_PLATFORM),cygwin)
+    TOOLS_BINEXT=.exe
+  endif
+
   LIBS= -lws2_32 -lwinmm -lpsapi
   CLIENT_LDFLAGS += -mwindows
   CLIENT_LIBS = -lgdi32 -lole32
diff --git a/MP/README b/MP/README
index 027ff21..e42fa3d 100644
--- a/MP/README
+++ b/MP/README
@@ -64,7 +64,7 @@ Installation, for *nix
      point releases.
   2. Run 'make copyfiles'.
 
-It is also possible to cross compile for Windows under *nix using MinGW. Your
+It is also possible to cross compile for Windows under *nix and Cygwin using MinGW. Your
 distribution may have mingw32 packages available. On debian/Ubuntu, you need to
 install 'mingw-w64'. Thereafter cross compiling is simply a case running
 'PLATFORM=mingw32 ARCH=x86 make' in place of 'make'. ARCH may also be set to
diff --git a/MP/code/qcommon/q_platform.h b/MP/code/qcommon/q_platform.h
index c559150..d4a71f8 100644
--- a/MP/code/qcommon/q_platform.h
+++ b/MP/code/qcommon/q_platform.h
@@ -95,7 +95,12 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 #endif
 
 #define ID_INLINE __inline
+
+#if defined( __CYGWIN__ )
+#define PATH_SEP '/'
+#else
 #define PATH_SEP '\\'
+#endif
 
 #if defined( __WIN64__ ) 
 #define ARCH_STRING "x64"
@@ -107,7 +112,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 
 #define DLL_EXT ".dll"
 
-#elif defined(_WIN32) || defined(__WIN32__)
+#elif defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
 
 #undef QDECL
 #define QDECL __cdecl
@@ -117,12 +122,17 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 
 #if defined( _MSC_VER )
 #define OS_STRING "win_msvc"
-#elif defined __MINGW32__
+#elif defined __MINGW32__ || defined __CYGWIN__
 #define OS_STRING "win_mingw"
 #endif
 
 #define ID_INLINE __inline
+
+#if defined( __CYGWIN__ )
+#define PATH_SEP '/'
+#else
 #define PATH_SEP '\\'
+#endif
 
 #if defined( _M_IX86 ) || defined( __i386__ )
 #define ARCH_STRING "x86"
diff --git a/MP/code/tools/lcc/etc/bytecode.c b/MP/code/tools/lcc/etc/bytecode.c
index fe4178f..6a4b815 100644
--- a/MP/code/tools/lcc/etc/bytecode.c
+++ b/MP/code/tools/lcc/etc/bytecode.c
@@ -4,7 +4,7 @@
 #include <stdio.h>
 #include "../../../qcommon/q_platform.h"
 
-#ifdef _WIN32
+#if defined(_WIN32) || defined (__CYGWIN__)
 #define BINEXT ".exe"
 #else
 #define BINEXT ""
diff --git a/SP/Makefile b/SP/Makefile
index 3630bfa..cc44568 100644
--- a/SP/Makefile
+++ b/SP/Makefile
@@ -631,6 +631,10 @@ ifeq ($(PLATFORM),mingw32)
     TOOLS_BINEXT=.exe
   endif
 
+  ifeq ($(COMPILE_PLATFORM),cygwin)
+    TOOLS_BINEXT=.exe
+  endif
+
   LIBS= -lws2_32 -lwinmm -lpsapi
   CLIENT_LDFLAGS += -mwindows -static-libgcc -static-libstdc++
   CLIENT_LIBS = -lgdi32 -lole32
diff --git a/SP/README b/SP/README
index 027ff21..e42fa3d 100644
--- a/SP/README
+++ b/SP/README
@@ -64,7 +64,7 @@ Installation, for *nix
      point releases.
   2. Run 'make copyfiles'.
 
-It is also possible to cross compile for Windows under *nix using MinGW. Your
+It is also possible to cross compile for Windows under *nix and Cygwin using MinGW. Your
 distribution may have mingw32 packages available. On debian/Ubuntu, you need to
 install 'mingw-w64'. Thereafter cross compiling is simply a case running
 'PLATFORM=mingw32 ARCH=x86 make' in place of 'make'. ARCH may also be set to
diff --git a/SP/code/qcommon/q_platform.h b/SP/code/qcommon/q_platform.h
index c559150..d4a71f8 100644
--- a/SP/code/qcommon/q_platform.h
+++ b/SP/code/qcommon/q_platform.h
@@ -95,7 +95,12 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 #endif
 
 #define ID_INLINE __inline
+
+#if defined( __CYGWIN__ )
+#define PATH_SEP '/'
+#else
 #define PATH_SEP '\\'
+#endif
 
 #if defined( __WIN64__ ) 
 #define ARCH_STRING "x64"
@@ -107,7 +112,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 
 #define DLL_EXT ".dll"
 
-#elif defined(_WIN32) || defined(__WIN32__)
+#elif defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
 
 #undef QDECL
 #define QDECL __cdecl
@@ -117,12 +122,17 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 
 #if defined( _MSC_VER )
 #define OS_STRING "win_msvc"
-#elif defined __MINGW32__
+#elif defined __MINGW32__ || defined __CYGWIN__
 #define OS_STRING "win_mingw"
 #endif
 
 #define ID_INLINE __inline
+
+#if defined( __CYGWIN__ )
+#define PATH_SEP '/'
+#else
 #define PATH_SEP '\\'
+#endif
 
 #if defined( _M_IX86 ) || defined( __i386__ )
 #define ARCH_STRING "x86"
diff --git a/SP/code/tools/lcc/etc/bytecode.c b/SP/code/tools/lcc/etc/bytecode.c
index fe4178f..3364cbe 100644
--- a/SP/code/tools/lcc/etc/bytecode.c
+++ b/SP/code/tools/lcc/etc/bytecode.c
@@ -4,7 +4,7 @@
 #include <stdio.h>
 #include "../../../qcommon/q_platform.h"
 
-#ifdef _WIN32
+#if defined _WIN32 || defined __CYGWIN__
 #define BINEXT ".exe"
 #else
 #define BINEXT ""

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-games/iortcw.git



More information about the Pkg-games-commits mailing list