load("@skia_user_config//:copts.bzl", "DEFAULT_COPTS")
load("//bazel:macros.bzl", "wasm_cc_binary")

package(
    default_applicable_licenses = ["//:license"],
)

licenses(["notice"])

BASE_LINKOPTS = [
    #"-flto",  # https://github.com/emscripten-core/emsdk/issues/807
    "--bind",  # Compiles the source code using the Embind bindings to connect C/C++ and JavaScript
    "-fno-rtti",
    "--no-entry",
    "-sALLOW_MEMORY_GROWTH",
    "-sUSE_PTHREADS=0",  # Disable pthreads
    "-sMODULARIZE",
    "-sDISABLE_EXCEPTION_CATCHING",  # Disable all exception catching
    "-sNODEJS_CATCH_EXIT=0",  # We don't have a 'main' so disable exit() catching
    "-sWASM",
    "-sMAX_WEBGL_VERSION=2",
    "-sUSE_WEBGL2=1",
    "-sFORCE_FILESYSTEM=0",
    "-sDYNAMIC_EXECUTION=0",
    "-sERROR_ON_UNDEFINED_SYMBOLS=0",
    "-sFILESYSTEM=0",
    "-sEXPORTED_FUNCTIONS=['_malloc','_free']",
]

BASE_OPTS = [
    "-DEMSCRIPTEN_HAS_UNBOUND_TYPE_NAMES=0",
    "-DSK_TRIVIAL_ABI=[[clang::trivial_abi]]",
]

RELEASE_OPTS = BASE_OPTS + [
    "-Oz",
    "--closure 1",
    "-DSK_RELEASE",
]

DEBUG_OPTS = BASE_OPTS + [
    "-O0",
    "--js-opts",
    "0",
    "-sSAFE_HEAP=1",
    "-sASSERTIONS=1",
    "-g3",
    "-DPATHKIT_TESTING",
    "-DSK_DEBUG",
]

# Note: These are defines that only impact the _bindings.cpp files in this
# folder. Any defines that need to effect the entire Skia build should go in
# //bazel/BUILD.bazel
CK_DEFINES = [
    "CK_INCLUDE_PATHOPS",
    "EMSCRIPTEN_HAS_UNBOUND_TYPE_NAMES=0",  # Allows us to compile with -fno-rtti
]

CK_RELEASE_OPTS = [
    # Run the closure compiler
    "--closure 1",
    # pass the externs file in
    "--closure-args=--externs=$(location externs.js)",
]

CK_LINKOPTS = BASE_LINKOPTS + [
    "-sEXPORT_NAME=PathKitInit",
    "-sINITIAL_MEMORY=32MB",
    "--pre-js",
    "modules/pathkit/chaining.js",
    "--pre-js",
    "modules/pathkit/helper.js",
] + select({
    "//bazel/common_config_settings:debug_build": DEBUG_OPTS,
    "//conditions:default": RELEASE_OPTS + CK_RELEASE_OPTS,
})

# All JS files that could possibly be included via --pre-js or --post-js.
# Whether they actually will be or not will be controlled above in the
# construction of CK_LINKOPTS.
JS_INTERFACE_FILES = [
    "chaining.js",
    "helper.js",
]

CK_SRCS = [
    "pathkit_wasm_bindings.cpp",
]

CK_COPTS = [
    "-Wno-header-hygiene",
]

cc_binary(
    name = "pathkit.build",
    srcs = CK_SRCS,
    additional_linker_inputs = JS_INTERFACE_FILES + ["externs.js"],
    copts = DEFAULT_COPTS + CK_COPTS,
    linkopts = CK_LINKOPTS,
    local_defines = CK_DEFINES,
    # This target won't build successfully on its own because of missing
    # emscripten headers etc. Therefore, we hide it from wildcards.
    tags = ["manual"],
    deps = [
        "//:core",
        "//:pathops",
    ],
)

wasm_cc_binary(
    name = "pathkit",
    # Whatever is before the dot will be the name of the output js and wasm, aka "the stem".
    # https://github.com/emscripten-core/emsdk/blob/4a48a752e6a8bef6f222622f2b4926d5eb3bdeb3/bazel/emscripten_toolchain/wasm_cc_binary.bzl#L179
    cc_target = ":pathkit.build",
    visibility = [
        "//infra/jsfiddle:__pkg__",
    ],
)
