summaryrefslogtreecommitdiff
path: root/configure.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'configure.cmake')
-rw-r--r--configure.cmake8
1 files changed, 8 insertions, 0 deletions
diff --git a/configure.cmake b/configure.cmake
index 76e91bce4c0..079e0c1540c 100644
--- a/configure.cmake
+++ b/configure.cmake
@@ -65,6 +65,14 @@ IF(CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang")
ENDIF()
ENDIF()
+# workaround for old gcc on x86, gcc atomic ops only work under -march=i686
+IF(CMAKE_SYSTEM_PROCESSOR STREQUAL "i686" AND CMAKE_COMPILER_IS_GNUCC AND
+ CMAKE_C_COMPILER_VERSION VERSION_LESS "4.4.0")
+ SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -march=i686")
+ SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=i686")
+ SET(PLUGIN_QUERY_RESPONSE_TIME NO) # "error: unable to find a register to spill"
+ENDIF()
+
IF(WITHOUT_DYNAMIC_PLUGINS)
MESSAGE("Dynamic plugins are disabled.")
ENDIF(WITHOUT_DYNAMIC_PLUGINS)