Skip to content

Commit a4165b3

Browse files
authored
[libdevice][NFC] Fix libdevice dependencies list (#4130)
Compilation in SYCL mode involves a lot of tools, which must be built before compiler is used.
1 parent 7e0f2c0 commit a4165b3

File tree

2 files changed

+31
-28
lines changed

2 files changed

+31
-28
lines changed

libdevice/cmake/modules/SYCLLibdevice.cmake

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ add_custom_command(OUTPUT ${devicelib-obj-file}
3434
${CMAKE_CURRENT_SOURCE_DIR}/crt_wrapper.cpp
3535
-o ${devicelib-obj-file}
3636
MAIN_DEPENDENCY crt_wrapper.cpp
37-
DEPENDS wrapper.h device.h spirv_vars.h clang clang-offload-bundler
37+
DEPENDS wrapper.h device.h spirv_vars.h sycl-compiler
3838
VERBATIM)
3939

4040
set(devicelib-obj-complex ${obj_binary_dir}/libsycl-complex.${lib-suffix})
@@ -44,7 +44,7 @@ add_custom_command(OUTPUT ${devicelib-obj-complex}
4444
${CMAKE_CURRENT_SOURCE_DIR}/complex_wrapper.cpp
4545
-o ${devicelib-obj-complex}
4646
MAIN_DEPENDENCY complex_wrapper.cpp
47-
DEPENDS device_complex.h device.h clang clang-offload-bundler
47+
DEPENDS device_complex.h device.h sycl-compiler
4848
VERBATIM)
4949

5050
set(devicelib-obj-complex-fp64 ${obj_binary_dir}/libsycl-complex-fp64.${lib-suffix})
@@ -54,7 +54,7 @@ add_custom_command(OUTPUT ${devicelib-obj-complex-fp64}
5454
${CMAKE_CURRENT_SOURCE_DIR}/complex_wrapper_fp64.cpp
5555
-o ${devicelib-obj-complex-fp64}
5656
MAIN_DEPENDENCY complex_wrapper_fp64.cpp
57-
DEPENDS device_complex.h device.h clang clang-offload-bundler
57+
DEPENDS device_complex.h device.h sycl-compiler
5858
VERBATIM)
5959

6060
set(devicelib-obj-cmath ${obj_binary_dir}/libsycl-cmath.${lib-suffix})
@@ -64,7 +64,7 @@ add_custom_command(OUTPUT ${devicelib-obj-cmath}
6464
${CMAKE_CURRENT_SOURCE_DIR}/cmath_wrapper.cpp
6565
-o ${devicelib-obj-cmath}
6666
MAIN_DEPENDENCY cmath_wrapper.cpp
67-
DEPENDS device_math.h device.h clang clang-offload-bundler
67+
DEPENDS device_math.h device.h sycl-compiler
6868
VERBATIM)
6969

7070
set(devicelib-obj-cmath-fp64 ${obj_binary_dir}/libsycl-cmath-fp64.${lib-suffix})
@@ -74,7 +74,7 @@ add_custom_command(OUTPUT ${devicelib-obj-cmath-fp64}
7474
${CMAKE_CURRENT_SOURCE_DIR}/cmath_wrapper_fp64.cpp
7575
-o ${devicelib-obj-cmath-fp64}
7676
MAIN_DEPENDENCY cmath_wrapper_fp64.cpp
77-
DEPENDS device_math.h device.h clang clang-offload-bundler
77+
DEPENDS device_math.h device.h sycl-compiler
7878
VERBATIM)
7979

8080
add_custom_command(OUTPUT ${spv_binary_dir}/libsycl-fallback-cassert.spv
@@ -83,7 +83,7 @@ add_custom_command(OUTPUT ${spv_binary_dir}/libsycl-fallback-cassert.spv
8383
${CMAKE_CURRENT_SOURCE_DIR}/fallback-cassert.cpp
8484
-o ${spv_binary_dir}/libsycl-fallback-cassert.spv
8585
MAIN_DEPENDENCY fallback-cassert.cpp
86-
DEPENDS wrapper.h device.h clang spirv_vars.h llvm-spirv
86+
DEPENDS wrapper.h device.h spirv_vars.h sycl-compiler
8787
VERBATIM)
8888

8989
add_custom_command(OUTPUT ${spv_binary_dir}/libsycl-fallback-cstring.spv
@@ -92,7 +92,7 @@ add_custom_command(OUTPUT ${spv_binary_dir}/libsycl-fallback-cstring.spv
9292
${CMAKE_CURRENT_SOURCE_DIR}/fallback-cstring.cpp
9393
-o ${spv_binary_dir}/libsycl-fallback-cstring.spv
9494
MAIN_DEPENDENCY fallback-cstring.cpp
95-
DEPENDS wrapper.h device.h clang spirv_vars.h llvm-spirv
95+
DEPENDS wrapper.h device.h spirv_vars.h sycl-compiler
9696
VERBATIM)
9797

9898
add_custom_command(OUTPUT ${obj_binary_dir}/libsycl-fallback-cassert.${lib-suffix}
@@ -101,7 +101,7 @@ add_custom_command(OUTPUT ${obj_binary_dir}/libsycl-fallback-cassert.${lib-suffi
101101
${CMAKE_CURRENT_SOURCE_DIR}/fallback-cassert.cpp
102102
-o ${obj_binary_dir}/libsycl-fallback-cassert.${lib-suffix}
103103
MAIN_DEPENDENCY fallback-cassert.cpp
104-
DEPENDS wrapper.h device.h clang spirv_vars.h clang-offload-bundler
104+
DEPENDS wrapper.h device.h spirv_vars.h sycl-compiler
105105
VERBATIM)
106106

107107
add_custom_command(OUTPUT ${obj_binary_dir}/libsycl-fallback-cstring.${lib-suffix}
@@ -110,7 +110,7 @@ add_custom_command(OUTPUT ${obj_binary_dir}/libsycl-fallback-cstring.${lib-suffi
110110
${CMAKE_CURRENT_SOURCE_DIR}/fallback-cstring.cpp
111111
-o ${obj_binary_dir}/libsycl-fallback-cstring.${lib-suffix}
112112
MAIN_DEPENDENCY fallback-cstring.cpp
113-
DEPENDS wrapper.h device.h clang spirv_vars.h clang-offload-bundler
113+
DEPENDS wrapper.h device.h spirv_vars.h sycl-compiler
114114
VERBATIM)
115115

116116
add_custom_command(OUTPUT ${spv_binary_dir}/libsycl-fallback-complex.spv
@@ -119,7 +119,7 @@ add_custom_command(OUTPUT ${spv_binary_dir}/libsycl-fallback-complex.spv
119119
${CMAKE_CURRENT_SOURCE_DIR}/fallback-complex.cpp
120120
-o ${spv_binary_dir}/libsycl-fallback-complex.spv
121121
MAIN_DEPENDENCY fallback-complex.cpp
122-
DEPENDS device_math.h device_complex.h device.h clang llvm-spirv
122+
DEPENDS device_math.h device_complex.h device.h sycl-compiler
123123
VERBATIM)
124124

125125
add_custom_command(OUTPUT ${obj_binary_dir}/libsycl-fallback-complex.${lib-suffix}
@@ -128,7 +128,7 @@ add_custom_command(OUTPUT ${obj_binary_dir}/libsycl-fallback-complex.${lib-suffi
128128
${CMAKE_CURRENT_SOURCE_DIR}/fallback-complex.cpp
129129
-o ${obj_binary_dir}/libsycl-fallback-complex.${lib-suffix}
130130
MAIN_DEPENDENCY fallback-complex.cpp
131-
DEPENDS device_math.h device_complex.h device.h clang clang-offload-bundler
131+
DEPENDS device_math.h device_complex.h device.h sycl-compiler
132132
VERBATIM)
133133

134134
add_custom_command(OUTPUT ${spv_binary_dir}/libsycl-fallback-complex-fp64.spv
@@ -137,7 +137,7 @@ add_custom_command(OUTPUT ${spv_binary_dir}/libsycl-fallback-complex-fp64.spv
137137
${CMAKE_CURRENT_SOURCE_DIR}/fallback-complex-fp64.cpp
138138
-o ${spv_binary_dir}/libsycl-fallback-complex-fp64.spv
139139
MAIN_DEPENDENCY fallback-complex-fp64.cpp
140-
DEPENDS device_math.h device_complex.h device.h clang llvm-spirv
140+
DEPENDS device_math.h device_complex.h device.h sycl-compiler
141141
VERBATIM)
142142

143143
add_custom_command(OUTPUT ${obj_binary_dir}/libsycl-fallback-complex-fp64.${lib-suffix}
@@ -146,7 +146,7 @@ add_custom_command(OUTPUT ${obj_binary_dir}/libsycl-fallback-complex-fp64.${lib-
146146
${CMAKE_CURRENT_SOURCE_DIR}/fallback-complex-fp64.cpp
147147
-o ${obj_binary_dir}/libsycl-fallback-complex-fp64.${lib-suffix}
148148
MAIN_DEPENDENCY fallback-complex-fp64.cpp
149-
DEPENDS device_math.h device_complex.h device.h clang clang-offload-bundler
149+
DEPENDS device_math.h device_complex.h device.h sycl-compiler
150150
VERBATIM)
151151

152152
add_custom_command(OUTPUT ${spv_binary_dir}/libsycl-fallback-cmath.spv
@@ -155,7 +155,7 @@ add_custom_command(OUTPUT ${spv_binary_dir}/libsycl-fallback-cmath.spv
155155
${CMAKE_CURRENT_SOURCE_DIR}/fallback-cmath.cpp
156156
-o ${spv_binary_dir}/libsycl-fallback-cmath.spv
157157
MAIN_DEPENDENCY fallback-cmath.cpp
158-
DEPENDS device_math.h device.h clang llvm-spirv
158+
DEPENDS device_math.h device.h sycl-compiler
159159
VERBATIM)
160160

161161
add_custom_command(OUTPUT ${obj_binary_dir}/libsycl-fallback-cmath.${lib-suffix}
@@ -164,7 +164,7 @@ add_custom_command(OUTPUT ${obj_binary_dir}/libsycl-fallback-cmath.${lib-suffix}
164164
${CMAKE_CURRENT_SOURCE_DIR}/fallback-cmath.cpp
165165
-o ${obj_binary_dir}/libsycl-fallback-cmath.${lib-suffix}
166166
MAIN_DEPENDENCY fallback-cmath.cpp
167-
DEPENDS device_math.h device.h clang clang-offload-bundler
167+
DEPENDS device_math.h device.h sycl-compiler
168168
VERBATIM)
169169

170170
add_custom_command(OUTPUT ${spv_binary_dir}/libsycl-fallback-cmath-fp64.spv
@@ -173,7 +173,7 @@ add_custom_command(OUTPUT ${spv_binary_dir}/libsycl-fallback-cmath-fp64.spv
173173
${CMAKE_CURRENT_SOURCE_DIR}/fallback-cmath-fp64.cpp
174174
-o ${spv_binary_dir}/libsycl-fallback-cmath-fp64.spv
175175
MAIN_DEPENDENCY fallback-cmath-fp64.cpp
176-
DEPENDS device_math.h device.h clang llvm-spirv
176+
DEPENDS device_math.h device.h sycl-compiler
177177
VERBATIM)
178178

179179
add_custom_command(OUTPUT ${obj_binary_dir}/libsycl-fallback-cmath-fp64.${lib-suffix}
@@ -182,7 +182,7 @@ add_custom_command(OUTPUT ${obj_binary_dir}/libsycl-fallback-cmath-fp64.${lib-su
182182
${CMAKE_CURRENT_SOURCE_DIR}/fallback-cmath-fp64.cpp
183183
-o ${obj_binary_dir}/libsycl-fallback-cmath-fp64.${lib-suffix}
184184
MAIN_DEPENDENCY fallback-cmath-fp64.cpp
185-
DEPENDS device_math.h device.h clang clang-offload-bundler
185+
DEPENDS device_math.h device.h sycl-compiler
186186
VERBATIM)
187187

188188
add_custom_command(OUTPUT ${obj_binary_dir}/libsycl-itt-stubs.${lib-suffix}
@@ -191,7 +191,7 @@ add_custom_command(OUTPUT ${obj_binary_dir}/libsycl-itt-stubs.${lib-suffix}
191191
${CMAKE_CURRENT_SOURCE_DIR}/itt_stubs.cpp
192192
-o ${obj_binary_dir}/libsycl-itt-stubs.${lib-suffix}
193193
MAIN_DEPENDENCY itt_stubs.cpp
194-
DEPENDS device_itt.h spirv_vars.h device.h clang clang-offload-bundler
194+
DEPENDS device_itt.h spirv_vars.h device.h sycl-compiler
195195
VERBATIM)
196196

197197
add_custom_command(OUTPUT ${obj_binary_dir}/libsycl-itt-compiler-wrappers.${lib-suffix}
@@ -200,7 +200,7 @@ add_custom_command(OUTPUT ${obj_binary_dir}/libsycl-itt-compiler-wrappers.${lib-
200200
${CMAKE_CURRENT_SOURCE_DIR}/itt_compiler_wrappers.cpp
201201
-o ${obj_binary_dir}/libsycl-itt-compiler-wrappers.${lib-suffix}
202202
MAIN_DEPENDENCY itt_compiler_wrappers.cpp
203-
DEPENDS device_itt.h spirv_vars.h device.h clang clang-offload-bundler
203+
DEPENDS device_itt.h spirv_vars.h device.h sycl-compiler
204204
VERBATIM)
205205

206206
add_custom_command(OUTPUT ${obj_binary_dir}/libsycl-itt-user-wrappers.${lib-suffix}
@@ -209,7 +209,7 @@ add_custom_command(OUTPUT ${obj_binary_dir}/libsycl-itt-user-wrappers.${lib-suff
209209
${CMAKE_CURRENT_SOURCE_DIR}/itt_user_wrappers.cpp
210210
-o ${obj_binary_dir}/libsycl-itt-user-wrappers.${lib-suffix}
211211
MAIN_DEPENDENCY itt_user_wrappers.cpp
212-
DEPENDS device_itt.h spirv_vars.h device.h clang clang-offload-bundler
212+
DEPENDS device_itt.h spirv_vars.h device.h sycl-compiler
213213
VERBATIM)
214214

215215
set(devicelib-obj-itt-files
@@ -258,12 +258,12 @@ endif()
258258
set(install_dest_lib lib${LLVM_LIBDIR_SUFFIX})
259259

260260
install(FILES ${devicelib-obj-file}
261-
${obj_binary_dir}/libsycl-fallback-cassert.${lib-suffix}
262-
${obj_binary_dir}/libsycl-fallback-cstring.${lib-suffix}
261+
${obj_binary_dir}/libsycl-fallback-cassert.${lib-suffix}
262+
${obj_binary_dir}/libsycl-fallback-cstring.${lib-suffix}
263263
${devicelib-obj-complex}
264-
${obj_binary_dir}/libsycl-fallback-complex.${lib-suffix}
264+
${obj_binary_dir}/libsycl-fallback-complex.${lib-suffix}
265265
${devicelib-obj-complex-fp64}
266-
${obj_binary_dir}/libsycl-fallback-complex-fp64.${lib-suffix}
266+
${obj_binary_dir}/libsycl-fallback-complex-fp64.${lib-suffix}
267267
${devicelib-obj-cmath}
268268
${obj_binary_dir}/libsycl-fallback-cmath.${lib-suffix}
269269
${devicelib-obj-cmath-fp64}

sycl/CMakeLists.txt

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -176,9 +176,8 @@ if (SYCL_ENABLE_XPTI_TRACING)
176176
endif()
177177

178178
# SYCL toolchain builds all components: compiler, libraries, headers, etc.
179-
add_custom_target( sycl-toolchain
180-
DEPENDS ${SYCL_RT_LIBS}
181-
append-file
179+
add_custom_target(sycl-compiler
180+
DEPENDS append-file
182181
clang
183182
clang-offload-wrapper
184183
clang-offload-bundler
@@ -193,8 +192,12 @@ add_custom_target( sycl-toolchain
193192
llvm-link
194193
llvm-objcopy
195194
sycl-post-link
196-
sycl-ls
197195
opencl-aot
196+
)
197+
add_custom_target( sycl-toolchain
198+
DEPENDS ${SYCL_RT_LIBS}
199+
sycl-compiler
200+
sycl-ls
198201
${XPTIFW_LIBS}
199202
COMMENT "Building SYCL compiler toolchain..."
200203
)

0 commit comments

Comments
 (0)