[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