@@ -85,6 +85,7 @@ def copy_headers():
8585 artifacts_dir = os .path .join (".." , "artifacts" , "headers" )
8686 for skiaDir in ["include" , "modules" , "src" , "gpu" ]:
8787 copy_includes (skiaDir , os .path .join (artifacts_dir , skiaDir ))
88+ copy_includes (os .path .join ("third_party" , "externals" , "dawn" , "include" ), artifacts_dir )
8889
8990
9091def _ensure_arch_supported (target_os , arch ):
@@ -141,12 +142,17 @@ def gen_linux(arch, self_contained, args):
141142 else :
142143 raise ValueError (f"Unsupported architecture: { arch } " )
143144
145+ clang_suffix = os .environ .get ("SKIA_BUILDER_CLANG_SUFFIX" , "" )
146+ sysroots_prefix = os .environ .get ("SKIA_BUILDER_SYSROOTS_PREFIX" , "" )
147+ sysroot_arg = "--sysroot=" + sysroots_prefix + "/sysroots/" + llvm_target
148+ print (sysroot_arg )
149+
144150 args .update ({
145151 "skia_use_vulkan" : True ,
146152 "skia_use_x11" : False ,
147153 "skia_use_system_freetype2" : False ,
148- "cc" : "clang" ,
149- "cxx" : "clang++" ,
154+ "cc" : "clang" + clang_suffix ,
155+ "cxx" : "clang++" + clang_suffix ,
150156 "target_os" : "linux" ,
151157 "target_cpu" : arch ,
152158 "skia_use_icu" : False ,
@@ -159,13 +165,14 @@ def gen_linux(arch, self_contained, args):
159165 })
160166 args ["extra_cflags" ].extend ([
161167 "--target=" + llvm_target ,
162- "--sysroot=/sysroots/" + llvm_target
168+ sysroot_arg
163169 ])
164170 args ["extra_cflags_cc" ].extend ([
165171 "-stdlib=libc++"
166172 ])
167173 args ["extra_ldflags" ].extend ([
168- "--target=" + llvm_target , "--sysroot=/sysroots/" + llvm_target ,
174+ "--target=" + llvm_target ,
175+ sysroot_arg ,
169176 "-rtlib=compiler-rt" ,
170177 "-stdlib=libc++" ,
171178 "-rtlib=compiler-rt" ,
@@ -293,7 +300,8 @@ def build_target(target_os, arch, self_contained, debug):
293300 else :
294301 gn_cmd = "gn"
295302 subprocess .run ([gn_cmd , 'gen' , gn_dir ], check = True )
296- subprocess .run (['ninja' , '-C' , gn_dir ], check = True )
303+ if not has_env_flag ("DEBUG_SKIP_NINJA" ):
304+ subprocess .run (['ninja' , '-C' , gn_dir ], check = True )
297305
298306
299307 # recursively clear artifacts dir
@@ -308,9 +316,16 @@ def build_target(target_os, arch, self_contained, debug):
308316 copy_extension (gn_dir , lib_dir , ".a" )
309317 copy_extension (gn_dir , lib_dir , ".lib" )
310318
311- write_file (os .path .join (artifacts_dir , "skia.h" ), generate_skia_h (gn_dir ))
319+ headers_dir = os .path .join (artifacts_dir , "headers" )
320+ # check if exists
321+ if os .path .exists (headers_dir ):
322+ os .removedirs (headers_dir )
323+
324+ os .makedirs (headers_dir , exist_ok = True )
325+ write_file (os .path .join (headers_dir , "skia.h" ), generate_skia_h (gn_dir ))
312326 if has_env_flag ("SKIA_BUILDER_SAVE_SPACE" ):
313327 shutil .rmtree (gn_dir )
328+ copy_includes (os .path .join (gn_dir , "gen" , "third_party" , "externals" , "dawn" , "include" ), headers_dir )
314329
315330def main ():
316331 argv = sys .argv [1 :]
0 commit comments