ee62fad9a4
Organization v3.5, if we are keeping track :) This splits the "srcs" filegroup into "srcs" and "private_hdrs", and renames "hdrs" to "public_hdrs". To assist with the split, I created the macro split_srcs_and_hdrs. Rather than keep two separate lists of header and source files, I figured it would be easiest, at least for the common case, to keep one list of files and then have a for loop split them apart. I've tried to be consistent with having the list of files be named with a _FILES suffix - maybe we can use this as a marker to generate .gni files in the future? Suggested review order: - //bazel/macros.bzl. Note this needs a corresponding G3 change (http://cl/452279799) as well. The exports_files_legacy change is the better approach to something I manually handled yesterday when fixing the G3 roll. - //BUILD.bazel to see the new target skia_internal and the previous skia_core renamed to skia_public. - //src/core/BUILD.bazel to see a typical usage of split_srcs_and_hdrs. - //include/... to see the change to public_hdrs and private_hdrs - //src/... to see many more usages of split_srcs_and_hdrs - //tools/... to see changes to skia_internal where appropriate. - Everything else. Note that //modules/... might also need to be built with skia_internal instead of skia_public, but we can fix that up later, if necessary. Change-Id: Ie1cc969455d97b029b2d77faa222c4a9bad70671 Bug: skia:12541 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/545716 Reviewed-by: Ben Wagner <bungeman@google.com> Reviewed-by: Leandro Lovisolo <lovisolo@google.com>
50 lines
1.2 KiB
Python
50 lines
1.2 KiB
Python
load("//bazel:macros.bzl", "exports_files_legacy")
|
|
load("@emsdk//emscripten_toolchain:wasm_rules.bzl", "wasm_cc_binary")
|
|
load("//bazel:cc_binary_with_flags.bzl", "cc_binary_with_flags")
|
|
|
|
licenses(["notice"])
|
|
|
|
exports_files_legacy()
|
|
|
|
LINKOPTS = [
|
|
"-sALLOW_MEMORY_GROWTH",
|
|
"-sUSE_PTHREADS=0", # Disable pthreads
|
|
"-sMODULARIZE",
|
|
"-sDISABLE_EXCEPTION_CATCHING", # Disable all exception catching
|
|
"-sWASM",
|
|
"-sMAX_WEBGL_VERSION=2",
|
|
"-sFORCE_FILESYSTEM=0",
|
|
"-sFILESYSTEM=0",
|
|
"-sASSERTIONS", # Turn on assertions
|
|
"-sGL_ASSERTIONS",
|
|
"-sEXPORT_NAME=HelloWorld",
|
|
]
|
|
|
|
cc_binary_with_flags(
|
|
name = "hello_world.webgl",
|
|
srcs = [
|
|
"//example:HelloWorld.cpp",
|
|
],
|
|
linkopts = LINKOPTS,
|
|
set_flags = {
|
|
"gpu_backend": [
|
|
"gl_backend",
|
|
],
|
|
"with_gl_standard": [
|
|
"webgl_standard",
|
|
],
|
|
},
|
|
# This target won't build successfully on its own because of missing emscripten
|
|
# headers etc. Therefore, we hide it from wildcards.
|
|
tags = ["manual"],
|
|
deps = [
|
|
"//:skia_public",
|
|
"//tools/sk_app",
|
|
],
|
|
)
|
|
|
|
wasm_cc_binary(
|
|
name = "hello_world_wasm",
|
|
cc_target = ":hello_world.webgl",
|
|
)
|