diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
index 0000000..62a54f3
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,40 @@
+cmake_minimum_required(VERSION 3.13.4)
+
+#-------------------------------------------------------------------------------
+# Project configuration
+#-------------------------------------------------------------------------------
+
+project(iree-riscv32)
+
+set_property(GLOBAL PROPERTY USE_FOLDERS ON)
+
+set(BUILD_RV64_LINUX OFF CACHE BOOL "Build RISC-V 64-bit Linux target (default: OFF)")
+set(ITCM_LENGTH "256K" CACHE STRING "ITCM (I-mem) Length (default: 256K)")
+add_link_options("LINKER:--defsym=__itcm_length__=${ITCM_LENGTH}")
+set(STACK_SIZE "10K" CACHE STRING "Stack size (default: 10K)")
+add_link_options("LINKER:--defsym=__stack_size__=${STACK_SIZE}")
+
+#-------------------------------------------------------------------------------
+# IREE-specific settings
+#-------------------------------------------------------------------------------
+set(IREE_BUILD_COMPILER OFF)
+set(IREE_ENABLE_MLIR OFF)
+set(IREE_BUILD_SAMPLES ON)
+set(IREE_ENABLE_THREADING OFF)
+set(IREE_BUILD_TESTS OFF)
+set(IREE_BUILD_BINDINGS_TFLITE OFF)
+set(IREE_HAL_DRIVERS_TO_BUILD "Dylib;VMVX")
+
+#-------------------------------------------------------------------------------
+# IREE-specific definitions
+#-------------------------------------------------------------------------------
+set(SPRINGBOK_CONFIG_HEADER "${CMAKE_CURRENT_SOURCE_DIR}/springbok_config.h")
+add_definitions(-DFLATCC_USE_GENERIC_ALIGNED_ALLOC)
+if(NOT ${BUILD_RV64_LINUX})
+  add_definitions(-DIREE_PLATFORM_GENERIC)
+  add_definitions(-DIREE_SYNCHRONIZATION_DISABLE_UNSAFE=1)
+  add_definitions(-DIREE_FILE_IO_ENABLE=0)
+  add_definitions(-DIREE_USER_CONFIG_H="${SPRINGBOK_CONFIG_HEADER}")
+endif()
+
+add_subdirectory($ENV{ROOTDIR}/toolchain/iree iree)
diff --git a/cmake/riscv_iree.cmake b/cmake/riscv_iree.cmake
new file mode 100644
index 0000000..634ae51
--- /dev/null
+++ b/cmake/riscv_iree.cmake
@@ -0,0 +1,65 @@
+cmake_minimum_required (VERSION 3.13)
+
+# CMake invokes the toolchain file twice during the first build, but only once
+# during subsequent rebuilds. This was causing the various flags to be added
+# twice on the first build, and on a rebuild ninja would see only one set of the
+# flags and rebuild the world.
+# https://github.com/android-ndk/ndk/issues/323
+if(RISCV_TOOLCHAIN_INCLUDED)
+  return()
+endif(RISCV_TOOLCHAIN_INCLUDED)
+set(RISCV_TOOLCHAIN_INCLUDED true)
+
+set(CMAKE_SYSTEM_PROCESSOR riscv)
+set(CMAKE_CROSSCOMPILING ON CACHE BOOL "")
+
+if(CMAKE_HOST_SYSTEM_NAME STREQUAL Linux)
+  set(RISCV_HOST_TAG linux)
+elseif(CMAKE_HOST_SYSTEM_NAME STREQUAL Darwin)
+  set(RISCV_HOST_TAG darwin)
+endif()
+
+set(RISCV_TOOLCHAIN_NAME clang)
+
+set(RISCV_TOOLCHAIN_ROOT "$ENV{CACHE}/toolchain_iree" CACHE PATH "RISC-V compiler path")
+set(CMAKE_FIND_ROOT_PATH ${RISCV_TOOLCHAIN_ROOT})
+list(APPEND CMAKE_PREFIX_PATH "${RISCV_TOOLCHAIN_ROOT}")
+
+set(CMAKE_C_COMPILER "${RISCV_TOOLCHAIN_ROOT}/bin/clang")
+set(CMAKE_CXX_COMPILER "${RISCV_TOOLCHAIN_ROOT}/bin/clang++")
+set(CMAKE_AR "${RISCV_TOOLCHAIN_ROOT}/bin/llvm-ar")
+set(CMAKE_RANLIB "${RISCV_TOOLCHAIN_ROOT}/bin/llvm-ranlib")
+set(CMAKE_STRIP "${RISCV_TOOLCHAIN_ROOT}/bin/llvm-strip")
+
+set(RISCV_COMPILER_FLAGS "" CACHE STRING "RISC-V compiler flags for C, CXX, and ASM")
+set(RISCV_COMPILER_FLAGS_CXX)
+set(RISCV_COMPILER_FLAGS_DEBUG)
+set(RISCV_COMPILER_FLAGS_RELEASE)
+set(RISCV_LINKER_FLAGS)
+set(RISCV_LINKER_FLAGS_EXE)
+
+if(${BUILD_RV64_LINUX})
+  set(CMAKE_SYSTEM_NAME Linux)
+  set(CMAKE_SYSTEM_LIBRARY_PATH "${RISCV_TOOLCHAIN_ROOT}/sysroot/usr/lib")
+  set(RISCV_COMPILER_FLAGS "${RISCV_COMPILER_FLAGS} -march=rv64gc -mabi=lp64d")
+  set(RISCV_LINKER_FLAGS "${RISCV_LINKER_FLAGS} -lstdc++ -lpthread -lm -ldl")
+else()
+  set(CMAKE_SYSTEM_NAME Generic)
+  set(CMAKE_C_STANDARD 11)
+  set(CMAKE_C_EXTENSIONS OFF)     # Force the usage of _ISOC11_SOURCE
+  set(CMAKE_SYSTEM_LIBRARY_PATH "${RISCV_TOOLCHAIN_ROOT}/riscv32-unknown-elf/lib")
+  set(RISCV_COMPILER_FLAGS "${RISCV_COMPILER_FLAGS} -menable-experimental-extensions -march=rv32imfv0p10 -mabi=ilp32")
+endif()
+
+set(CMAKE_C_FLAGS             "${RISCV_COMPILER_FLAGS} ${CMAKE_C_FLAGS}")
+set(CMAKE_CXX_FLAGS           "${RISCV_COMPILER_FLAGS} ${RISCV_COMPILER_FLAGS_CXX} ${CMAKE_CXX_FLAGS}")
+set(CMAKE_ASM_FLAGS           "${RISCV_COMPILER_FLAGS} ${CMAKE_ASM_FLAGS}")
+set(CMAKE_C_FLAGS_DEBUG       "${RISCV_COMPILER_FLAGS_DEBUG} ${CMAKE_C_FLAGS_DEBUG}")
+set(CMAKE_CXX_FLAGS_DEBUG     "${RISCV_COMPILER_FLAGS_DEBUG} ${CMAKE_CXX_FLAGS_DEBUG}")
+set(CMAKE_ASM_FLAGS_DEBUG     "${RISCV_COMPILER_FLAGS_DEBUG} ${CMAKE_ASM_FLAGS_DEBUG}")
+set(CMAKE_C_FLAGS_RELEASE     "${RISCV_COMPILER_FLAGS_RELEASE} ${CMAKE_C_FLAGS_RELEASE}")
+set(CMAKE_CXX_FLAGS_RELEASE   "${RISCV_COMPILER_FLAGS_RELEASE} ${CMAKE_CXX_FLAGS_RELEASE}")
+set(CMAKE_ASM_FLAGS_RELEASE   "${RISCV_COMPILER_FLAGS_RELEASE} ${CMAKE_ASM_FLAGS_RELEASE}")
+set(CMAKE_SHARED_LINKER_FLAGS "${RISCV_LINKER_FLAGS} ${CMAKE_SHARED_LINKER_FLAGS}")
+set(CMAKE_MODULE_LINKER_FLAGS "${RISCV_LINKER_FLAGS} ${CMAKE_MODULE_LINKER_FLAGS}")
+set(CMAKE_EXE_LINKER_FLAGS    "${RISCV_LINKER_FLAGS} ${RISCV_LINKER_FLAGS_EXE} ${CMAKE_EXE_LINKER_FLAGS}")
diff --git a/springbok_config.h b/springbok_config.h
new file mode 100644
index 0000000..c2a3c8f
--- /dev/null
+++ b/springbok_config.h
@@ -0,0 +1,13 @@
+// Springbok-specific implementation for some IREE functions.
+
+#ifndef SPRINGBOK_CONFIG_H
+#define SPRINGBOK_CONFIG_H
+
+// IREE_TIME_NOW_FN is required and used to fetch the current RTC time and to be
+// used for wait handling. A thread-less system can just return 0.
+#define IREE_TIME_NOW_FN \
+  {                      \
+    return 0;            \
+  }
+
+#endif // SPRINGBOK_CONFIG_H
