aboutsummaryrefslogtreecommitdiff
path: root/src/builtins/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'src/builtins/CMakeLists.txt')
-rw-r--r--src/builtins/CMakeLists.txt29
1 files changed, 27 insertions, 2 deletions
diff --git a/src/builtins/CMakeLists.txt b/src/builtins/CMakeLists.txt
index d91c775..078dc20 100644
--- a/src/builtins/CMakeLists.txt
+++ b/src/builtins/CMakeLists.txt
@@ -1,9 +1,13 @@
if (SHAMROCK_BUILD)
-set(CUSTOM_COMMAND ${CLANG_EXECUTABLE} -cc1 -emit-llvm-bc -x cl -O2 -fno-builtin -nobuiltininc -Fvisibility=protected -ffake-address-space-map -cl-std=CL1.2 -ffp-contract=off )
+set(CUSTOM_COMMAND_C ${CLANG_EXECUTABLE} -cc1 -emit-llvm-bc -O2 -fno-builtin -nobuiltininc -Fvisibility=protected -ffake-address-space-map -cl-std=CL1.2 -ffp-contract=off )
+
+set(CUSTOM_COMMAND ${CUSTOM_COMMAND_C} -x cl )
+
FILE(GLOB CL_SOURCES ${CLC_BUILTINS_DIR}/*.cl)
-#MESSAGE(STATUS "CL_SOURCES: ${CL_SOURCES}" )
+FILE(GLOB C_SOURCES ${CLC_BUILTINS_DIR}/*.c)
+#MESSAGE(STATUS "C_SOURCES: ${C_SOURCES}" )
set(BC_SOURCES)
foreach(f ${CL_SOURCES})
@@ -18,6 +22,27 @@ foreach(f ${CL_SOURCES})
COMMENT "Generating ${bc}")
list(APPEND BC_SOURCES ${bc})
endforeach()
+
+
+MESSAGE( STATUS "LLVM_LIB_DIR: ${LLVM_LIB_DIR}")
+MESSAGE( STATUS "LLVM_VERSION: ${LLVM_VERSION}")
+set(CLANG_INCLUDE_DIR "${LLVM_LIB_DIR}/clang/${LLVM_VERSION}/include" )
+MESSAGE( STATUS "CLANG_INCLUDE_DIR: ${CLANG_INCLUDE_DIR}")
+
+foreach(f ${C_SOURCES})
+ get_filename_component(fn ${f} NAME_WE)
+ #MESSAGE(STATUS "C_SOURCE: ${f}" )
+ set(bc ${CMAKE_CURRENT_BINARY_DIR}/${fn}.bc)
+ add_custom_command(OUTPUT ${bc}
+ COMMAND ${CUSTOM_COMMAND_C}
+ -I${OCL_BUILTINS_DIR}/include
+ -I${CLANG_INCLUDE_DIR}
+ -o ${bc} ${f}
+ DEPENDS ${f}
+ COMMENT "Generating ${bc}")
+ list(APPEND BC_SOURCES ${bc})
+endforeach()
+
#MESSAGE( STATUS "BC_SOURCES: ${BC_SOURCES}")
add_custom_target(generate_bc_files DEPENDS ${BC_SOURCES})