@@ -19,29 +19,30 @@ include( AddLibclc )
1919include ( GNUInstallDirs )
2020set_property (DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS
2121 amdgcn-amdhsa/lib/SOURCES ;
22- amdgcn-amdhsa/libspirv/SOURCES ;
2322 amdgcn/lib/SOURCES ;
24- amdgcn/libspirv/SOURCES ;
2523 amdgcn-mesa3d/lib/SOURCES ;
2624 amdgpu/lib/SOURCES ;
2725 clspv/lib/SOURCES ;
2826 clspv64/lib/SOURCES ;
2927 generic/lib/SOURCES ;
30- generic/libspirv/SOURCES ;
3128 ptx/lib/SOURCES ;
3229 ptx-nvidiacl/lib/SOURCES ;
33- ptx-nvidiacl/libspirv/SOURCES ;
3430 r600/lib/SOURCES ;
35- r600/libspirv/SOURCES ;
3631 spirv/lib/SOURCES ;
3732 spirv64/lib/SOURCES ;
38- native_cpu-unknown-linux/libspirv/SOURCES ;
3933 # CLC internal libraries
4034 clc/lib/generic/SOURCES ;
4135 clc/lib/clspv/SOURCES ;
4236 clc/lib/clspv64/SOURCES ;
4337 clc/lib/spirv/SOURCES ;
4438 clc/lib/spirv64/SOURCES ;
39+ # libspirv libraries
40+ libspirv/lib/generic/SOURCES ;
41+ libspirv/lib/amdgcn-amdhsa/SOURCES ;
42+ libspirv/lib/amdgcn/SOURCES ;
43+ libspirv/lib/ptx-nvidiacl/SOURCES ;
44+ libspirv/lib/r600/SOURCES ;
45+ libspirv/lib/native_cpu-unknown-linux/SOURCES ;
4546)
4647
4748set ( LIBCLC_MIN_LLVM 3.9.0 )
@@ -264,8 +265,8 @@ endif()
264265
265266find_package ( Python3 REQUIRED COMPONENTS Interpreter )
266267file ( TO_CMAKE_PATH ${CMAKE_CURRENT_SOURCE_DIR} /generic/lib/gen_convert.py clc_script_loc )
267- file ( TO_CMAKE_PATH ${CMAKE_CURRENT_SOURCE_DIR} /generic/ libspirv/gen_core_convert.py core_script_loc )
268- file ( TO_CMAKE_PATH ${CMAKE_CURRENT_SOURCE_DIR} /generic/ libspirv/gen_convert.py spirv_script_loc )
268+ file ( TO_CMAKE_PATH ${CMAKE_CURRENT_SOURCE_DIR} /libspirv/lib/generic /gen_core_convert.py core_script_loc )
269+ file ( TO_CMAKE_PATH ${CMAKE_CURRENT_SOURCE_DIR} /libspirv/lib/generic /gen_convert.py spirv_script_loc )
269270file ( TO_CMAKE_PATH ${CMAKE_CURRENT_SOURCE_DIR} /generic/lib/gen_convert.py script_loc )
270271add_custom_command (
271272 OUTPUT convert.cl
@@ -363,7 +364,7 @@ foreach( t ${LIBCLC_TARGETS_TO_BUILD} )
363364 list ( APPEND opencl_gen_files clspv-convert.cl )
364365 elseif ( NOT ENABLE_RUNTIME_SUBNORMAL )
365366 list ( APPEND opencl_gen_files convert-clc.cl )
366- list ( APPEND opencl_lib_files generic/libspirv /subnormal_use_default.ll )
367+ list ( APPEND opencl_lib_files generic/lib /subnormal_use_default.ll )
367368 endif ()
368369 endif ()
369370
@@ -380,13 +381,13 @@ foreach( t ${LIBCLC_TARGETS_TO_BUILD} )
380381 list ( APPEND libspirv_gen_files clspv-convert.cl )
381382 elseif ( NOT ENABLE_RUNTIME_SUBNORMAL )
382383 list ( APPEND libspirv_gen_files convert-spirv.cl convert-core.cl )
383- list ( APPEND libspirv_lib_files generic/ libspirv/subnormal_use_default.ll )
384+ list ( APPEND libspirv_lib_files libspirv/lib/generic /subnormal_use_default.ll )
384385 endif ()
385386 endif ()
386387
387388 libclc_configure_lib_source(
388389 libspirv_lib_files
389- LIB_DIR libspirv
390+ LIB_ROOT_DIR libspirv
390391 DIRS ${dirs} ${DARCH} ${DARCH} -${OS} ${DARCH} -${VENDOR} -${OS}
391392 )
392393
@@ -531,16 +532,18 @@ foreach( t ${LIBCLC_TARGETS_TO_BUILD} )
531532 LIB_FILES ${clc_lib_files}
532533 )
533534
534- list ( APPEND build_flags
535+ set ( spirv_build_flags ${build_flags} )
536+ list ( APPEND spirv_build_flags
535537 -I${CMAKE_CURRENT_SOURCE_DIR} /generic/include
538+ -I${CMAKE_CURRENT_SOURCE_DIR} /libspirv/include /
536539 )
537540
538541 add_libclc_builtin_set(
539542 ARCH ${ARCH}
540543 ARCH_SUFFIX libspirv-${arch_suffix}
541544 TRIPLE ${clang_triple}
542545 TARGET_ENV libspirv-
543- COMPILE_FLAGS ${build_flags }
546+ COMPILE_FLAGS ${spirv_build_flags }
544547 OPT_FLAGS ${opt_flags}
545548 LIB_FILES ${libspirv_lib_files}
546549 GEN_FILES ${libspirv_gen_files}
@@ -550,11 +553,18 @@ foreach( t ${LIBCLC_TARGETS_TO_BUILD} )
550553 INTERNAL_LINK_DEPENDENCIES $<TARGET_PROPERTY:builtins.link.clc-${arch_suffix} ,TARGET_FILE>
551554 )
552555
556+ set ( opencl_build_flags ${build_flags} )
557+ list ( APPEND opencl_build_flags
558+ -I${CMAKE_CURRENT_SOURCE_DIR} /generic/include
559+ # FIXME: OpenCL bindings shouldn't depend on libspirv
560+ -I${CMAKE_CURRENT_SOURCE_DIR} /libspirv/include /
561+ )
562+
553563 add_libclc_builtin_set(
554564 ARCH ${ARCH}
555565 ARCH_SUFFIX ${arch_suffix}
556566 TRIPLE ${clang_triple}
557- COMPILE_FLAGS ${build_flags }
567+ COMPILE_FLAGS ${opencl_build_flags }
558568 OPT_FLAGS ${opt_flags}
559569 LIB_FILES ${opencl_lib_files}
560570 GEN_FILES ${opencl_gen_files}
0 commit comments