[SCM] advanced 3D real time strategy game engine branch, master, updated. debian/0.80.5.2-1-5-ga9be7ec
Marco Amadori
marco.amadori at gmail.com
Thu Jan 14 00:58:07 UTC 2010
The following commit has been merged in the master branch:
commit 8287144a36d4dd09b8c946bec6dd3f9acaf492b2
Author: Marco Amadori <marco.amadori at gmail.com>
Date: Thu Jan 14 01:46:00 2010 +0100
Allow builds without SSE (Closes: #563686).
* Imported an upstream git patch which conditionally disable SSE;
the results is unsuited for online play with SSE machines.
diff --git a/debian/patches/0002-allow-building-without-SSE-flags-but-give-a-warning-.patch b/debian/patches/0002-allow-building-without-SSE-flags-but-give-a-warning-.patch
new file mode 100644
index 0000000..cefb9a6
--- /dev/null
+++ b/debian/patches/0002-allow-building-without-SSE-flags-but-give-a-warning-.patch
@@ -0,0 +1,147 @@
+From 10e71a7e195a1351397a25703553e83ecbb73b7f Mon Sep 17 00:00:00 2001
+From: Karl-Robert Ernst <k-r.ernst at my-mail.ch>
+Date: Sat, 9 Jan 2010 01:41:42 +0100
+Subject: [PATCH] allow building without SSE flags, but give a warning (probably should do something to prevent online play)
+
+---
+ CMakeLists.txt | 7 +--
+ rts/build/cmake/TestCXXAcceptsVisibilityFlag.cmake | 30 ------------
+ rts/build/cmake/TestCXXFlags.cmake | 50 ++++++++++++++++++++
+ 3 files changed, 53 insertions(+), 34 deletions(-)
+ delete mode 100644 rts/build/cmake/TestCXXAcceptsVisibilityFlag.cmake
+ create mode 100644 rts/build/cmake/TestCXXFlags.cmake
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index d01ea3c..dee413a 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -31,7 +31,6 @@ else (UNIX AND NOT MINGW)
+ add_definitions(-D_WIN32_WINNT=0x500) ## win2k is minimum
+ # some cross-compile fixes
+ set (CMAKE_FIND_ROOT_PATH ${MINGWLIBS} ${CMAKE_FIND_ROOT_PATH})
+- #set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
+ set (CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
+ set (CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
+ set (STABS_DEBUG_SYMBOLS FALSE CACHE BOOL "Use stabs debug symbols (-stabs) instead of the GDB format (-gdb). This probably makes gdb and eg. addr2line work better with windows binaries (depends mainly on the tools version).")
+@@ -131,7 +130,7 @@ else (UNIX)
+ endif (MINGW)
+
+ ### Compiler flags and defines based on build type
+-INCLUDE(TestCXXAcceptsVisibilityFlag)
++INCLUDE(TestCXXFlags)
+ if (CMAKE_SIZEOF_VOID_P EQUAL 8)
+ message (STATUS "Building Spring for 64bit environment")
+ set (MARCH_FLAG CACHE STRING "CPU optimization (use i686 for generic optimization)")
+@@ -149,7 +148,7 @@ else ($ENV{CXX} MATCHES "icpc")
+ if (MARCH_FLAG)
+ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=${MARCH_FLAG}")
+ endif (MARCH_FLAG)
+- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -msse -mfpmath=sse") # SSE1
++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${SSE_FLAGS}") # SSE1
+ if (MINGW)
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mthreads") # SSE1
+ endif (MINGW)
+@@ -167,7 +166,7 @@ endif(SIGNAL_NANS)
+ # This should produce a sane ammount of warnings
+ set(DEBUG_WARNINGS "-Wall -Wno-sign-compare")
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsingle-precision-constant -frounding-math")
+-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mieee-fp -pipe -fno-strict-aliasing ${VISIBILITY_HIDDEN} ${VISIBILITY_INLINES_HIDDEN}")
++set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${IEEE_FP_FLAG} -pipe -fno-strict-aliasing ${VISIBILITY_HIDDEN} ${VISIBILITY_INLINES_HIDDEN}")
+ add_definitions(-DSTREFLOP_SSE) # would break AI compiling, but is undefined in ./AI/CMakeLists.txt
+ if (UNIX)
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pthread")
+diff --git a/rts/build/cmake/TestCXXAcceptsVisibilityFlag.cmake b/rts/build/cmake/TestCXXAcceptsVisibilityFlag.cmake
+deleted file mode 100644
+index 366a84a..0000000
+--- a/rts/build/cmake/TestCXXAcceptsVisibilityFlag.cmake
++++ /dev/null
+@@ -1,30 +0,0 @@
+-# - Test whether the C++ compiler supports "-fvisibility=hidden"
+-# Once done this will define
+-#
+-# VISIBILITY_HIDDEN - -fvisibility=hidden if supported, an empty string otherwise.
+-# VISIBILITY_INLINES_HIDDEN - -fvisibility-inlines-hidden likewise
+-#
+-# Copyright (C) 2008 Tobi Vollebregt
+-# Copyright (C) 2008 Karl-Robert Ernst
+-#
+-# Note: gcc for windows supports these flags, but give lots of errors when compiling, so use only for linux builds
+-
+-INCLUDE(TestCXXAcceptsFlag)
+-
+-IF(NOT DEFINED VISIBILITY_HIDDEN)
+- CHECK_CXX_ACCEPTS_FLAG(-fvisibility=hidden HAS_VISIBILITY_HIDDEN)
+- IF(HAS_VISIBILITY_HIDDEN AND NOT MINGW)
+- SET(VISIBILITY_HIDDEN "-fvisibility=hidden")
+- ELSE(HAS_VISIBILITY_HIDDEN AND NOT MINGW)
+- SET(VISIBILITY_HIDDEN "")
+- ENDIF(HAS_VISIBILITY_HIDDEN AND NOT MINGW)
+-ENDIF(NOT DEFINED VISIBILITY_HIDDEN)
+-
+-IF(NOT DEFINED VISIBILITY_INLINES_HIDDEN)
+- CHECK_CXX_ACCEPTS_FLAG(-fvisibility-inlines-hidden HAS_VISIBILITY_INLINES_HIDDEN)
+- IF(HAS_VISIBILITY_INLINES_HIDDEN AND NOT MINGW)
+- SET(VISIBILITY_INLINES_HIDDEN "-fvisibility-inlines-hidden")
+- ELSE(HAS_VISIBILITY_INLINES_HIDDEN AND NOT MINGW)
+- SET(VISIBILITY_INLINES_HIDDEN "")
+- ENDIF(HAS_VISIBILITY_INLINES_HIDDEN AND NOT MINGW)
+-ENDIF(NOT DEFINED VISIBILITY_INLINES_HIDDEN)
+diff --git a/rts/build/cmake/TestCXXFlags.cmake b/rts/build/cmake/TestCXXFlags.cmake
+new file mode 100644
+index 0000000..35f7b1b
+--- /dev/null
++++ b/rts/build/cmake/TestCXXFlags.cmake
+@@ -0,0 +1,50 @@
++# - Test whether the C++ compiler supports "-fvisibility=hidden"
++# Once done this will define
++#
++# VISIBILITY_HIDDEN - -fvisibility=hidden if supported, an empty string otherwise.
++# VISIBILITY_INLINES_HIDDEN - -fvisibility-inlines-hidden likewise
++#
++# Copyright (C) 2008 Tobi Vollebregt
++# Copyright (C) 2008 Karl-Robert Ernst
++#
++# Note: gcc for windows supports these flags, but give lots of errors when compiling, so use only for linux builds
++
++INCLUDE(TestCXXAcceptsFlag)
++
++IF(NOT DEFINED VISIBILITY_HIDDEN)
++ CHECK_CXX_ACCEPTS_FLAG(-fvisibility=hidden HAS_VISIBILITY_HIDDEN)
++ IF(HAS_VISIBILITY_HIDDEN AND NOT MINGW)
++ SET(VISIBILITY_HIDDEN "-fvisibility=hidden")
++ ELSE(HAS_VISIBILITY_HIDDEN AND NOT MINGW)
++ SET(VISIBILITY_HIDDEN "")
++ ENDIF(HAS_VISIBILITY_HIDDEN AND NOT MINGW)
++ENDIF(NOT DEFINED VISIBILITY_HIDDEN)
++
++IF(NOT DEFINED VISIBILITY_INLINES_HIDDEN)
++ CHECK_CXX_ACCEPTS_FLAG(-fvisibility-inlines-hidden HAS_VISIBILITY_INLINES_HIDDEN)
++ IF(HAS_VISIBILITY_INLINES_HIDDEN AND NOT MINGW)
++ SET(VISIBILITY_INLINES_HIDDEN "-fvisibility-inlines-hidden")
++ ELSE(HAS_VISIBILITY_INLINES_HIDDEN AND NOT MINGW)
++ SET(VISIBILITY_INLINES_HIDDEN "")
++ ENDIF(HAS_VISIBILITY_INLINES_HIDDEN AND NOT MINGW)
++ENDIF(NOT DEFINED VISIBILITY_INLINES_HIDDEN)
++
++IF(NOT DEFINED SSE_FLAGS)
++ CHECK_CXX_ACCEPTS_FLAG("-msse -mfpmath=sse" HAS_SSE_FLAGS)
++ IF(HAS_SSE_FLAGS)
++ SET(SSE_FLAGS "-msse -mfpmath=sse")
++ ELSE(HAS_SSE_FLAGS)
++ SET(SSE_FLAGS "")
++ message(WARNING "SSE support missing, online play is highly discouraged with this build")
++ ENDIF(HAS_SSE_FLAGS)
++ENDIF(NOT DEFINED SSE_FLAGS)
++
++IF(NOT DEFINED IEEE_FP_FLAG)
++ CHECK_CXX_ACCEPTS_FLAG("-mieee-fp" HAS_IEEE_FP_FLAG)
++ IF(HAS_IEEE_FP_FLAG)
++ SET(IEEE_FP_FLAG "-mieee-fp")
++ ELSE(HAS_IEEE_FP_FLAG)
++ message(WARNING "IEEE-FP support missing, online play is highly discouraged with this build")
++ SET(IEEE_FP_FLAG "")
++ ENDIF(HAS_IEEE_FP_FLAG)
++ENDIF(NOT DEFINED IEEE_FP_FLAG)
+--
+1.6.6
+
diff --git a/debian/patches/series b/debian/patches/series
index 7b8bf3c..200e599 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1 +1,2 @@
0001-Clarify-GML-license-as-per-request.patch
+0002-allow-building-without-SSE-flags-but-give-a-warning-.patch
--
advanced 3D real time strategy game engine
More information about the Pkg-games-commits
mailing list