diff --git a/storage/tokudb/CMakeLists.txt b/storage/tokudb/CMakeLists.txt
index 15ed330c01454f537c791d474493408268cf336a..d1068e9c3d011665f9694d80ad4449df88725ce7 100644
--- a/storage/tokudb/CMakeLists.txt
+++ b/storage/tokudb/CMakeLists.txt
@@ -1,3 +1,19 @@
+# ft-index only supports x86-64 and cmake-2.8.9+
+IF(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND
+    NOT CMAKE_VERSION VERSION_LESS "2.8.9" AND
+   NOT WITHOUT_TOKUDB AND NOT WITHOUT_TOKUDB_STORAGE_ENGINE)
+CHECK_CXX_SOURCE_COMPILES(
+"
+struct a {int b; int c; };
+struct a d = { .b=1, .c=2 };
+int main() { return 0; }
+" TOKUDB_OK)
+ENDIF()
+
+IF(NOT TOKUDB_OK)
+  RETURN()
+ENDIF()
+
 IF(DEFINED ENV{TOKUDB_VERSION})
     SET(TOKUDB_VERSION $ENV{TOKUDB_VERSION})
     ADD_DEFINITIONS("-DTOKUDB_VERSION=\"${TOKUDB_VERSION}\"")