Skip to content

Commit f80fa8c

Browse files
committed
extra env
1 parent 29c0f55 commit f80fa8c

File tree

1 file changed

+21
-6
lines changed

1 file changed

+21
-6
lines changed

scripts/build.py

Lines changed: 21 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -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

9091
def _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

315330
def main():
316331
argv = sys.argv[1:]

0 commit comments

Comments
 (0)