Initial version of Go bindings.
[oota-llvm.git] / cmake / config-ix.cmake
index 849da2dc14849c486c6c514505c438d4dfa3c972..358a32cd10736b71ee88d3060a106a586a582048 100755 (executable)
@@ -491,3 +491,18 @@ if (LLVM_ENABLE_SPHINX)
 else()
   message(STATUS "Sphinx disabled.")
 endif()
+
+set(LLVM_BINDINGS "")
+find_program(GO_EXECUTABLE NAMES go DOC "go executable")
+if(GO_EXECUTABLE STREQUAL "GO_EXECUTABLE-NOTFOUND")
+  message(STATUS "Go bindings disabled.")
+else()
+  execute_process(COMMAND ${GO_EXECUTABLE} run ${CMAKE_SOURCE_DIR}/bindings/go/conftest.go
+                  RESULT_VARIABLE GO_CONFTEST)
+  if(GO_CONFTEST STREQUAL "0")
+    set(LLVM_BINDINGS "${LLVM_BINDINGS} go")
+    message(STATUS "Go bindings enabled.")
+  else()
+    message(STATUS "Go bindings disabled, need at least Go 1.2.")
+  endif()
+endif()