load("//bazel:macros.bzl", "bool_flag", "exports_files_legacy", "skia_filegroup", "wasm_cc_binary")
load("//bazel:karma_test.bzl", "karma_test")
load("//bazel:copts.bzl", "DEFAULT_COPTS")

licenses(["notice"])

exports_files_legacy()

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",
    "-sFILESYSTEM=0",
    "-sEXPORTED_FUNCTIONS=['_malloc','_free']",
]

RELEASE_OPTS = [
    "-sASSERTIONS=0",  # Turn off assertions
    "-Oz",
]

DEBUG_OPTS = [
    "--closure 0",  # Do not use closure
    "-sASSERTIONS",  # Turn on assertions
    "-sGL_ASSERTIONS",
    "-O0",
    "-g3",
    "--source-map-base=/build/",
]

skia_filegroup(
    name = "hdrs",
    srcs = [
        "WasmCommon.h",
    ],
)

# See https://stackoverflow.com/a/57499321 for reference.
genrule(
    name = "create_notomono_cpp",
    srcs = ["fonts/NotoMono-Regular.ttf"],
    outs = ["fonts/NotoMono-Regular.ttf.bazel.cpp"],  # Distinct name from compile.sh's version
    cmd = "$(location //tools:embed_resources) --name=SK_EMBEDDED_FONTS " +
          "--input=modules/canvaskit/fonts/NotoMono-Regular.ttf " +
          # The $@ means substitute in the one and only output location, which will be located
          # in //bazel-out, not in the fonts subdirectory (although it will be available to clients
          # in the fonts/ subdirectory as if it had been there all along.
          "--output=$@ " +
          "--align=4",
    exec_tools = ["//tools:embed_resources"],
)

# 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
] + select({
    ":enable_fonts_true": ["CK_INCLUDE_PARAGRAPH"],
    ":enable_fonts_false": ["CK_NO_FONTS"],
}) + select({
    ":enable_skp_serialization_true": ["CK_SERIALIZE_SKP=1"],
    ":enable_skp_serialization_false": [],
}) + select({
    ":enable_runtime_effect_true": ["CK_INCLUDE_RUNTIME_EFFECT=1"],
    ":enable_runtime_effect_false": [],
}) + select({
    "//src/gpu:gl_backend": ["CK_ENABLE_WEBGL"],
    "//conditions:default": [],
})

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

CK_LINKOPTS = BASE_LINKOPTS + [
    "-sEXPORT_NAME=CanvasKitInit",
    "-sINITIAL_MEMORY=128MB",
    # The order of these --pre-js flags matters! The preamble is a partially open scope and the
    # postamble closes it. TODO(kjlubick) do we need to do it this way anymore?
    "--pre-js",
    "modules/canvaskit/preamble.js",
    "--pre-js",
    "modules/canvaskit/color.js",
    "--pre-js",
    "modules/canvaskit/memory.js",
    "--pre-js",
    "modules/canvaskit/util.js",
    "--pre-js",
    "modules/canvaskit/interface.js",
    "--pre-js",
    "modules/canvaskit/pathops.js",
] + select({
    "//src/gpu:gl_backend": [
        "--pre-js",
        "modules/canvaskit/cpu.js",
        "--pre-js",
        "modules/canvaskit/webgl.js",
    ],
    "//conditions:default": [
        "--pre-js",
        "modules/canvaskit/cpu.js",
    ],
}) + select({
    ":enable_fonts_true": [
        "--pre-js",
        "modules/canvaskit/font.js",
        "--pre-js",
        "modules/canvaskit/paragraph.js",
    ],
    ":enable_fonts_false": [],
}) + select({
    ":enable_canvas_polyfill_true": [
        "--pre-js",
        "modules/canvaskit/htmlcanvas/preamble.js",
        "--pre-js",
        "modules/canvaskit/htmlcanvas/util.js",
        "--pre-js",
        "modules/canvaskit/htmlcanvas/color.js",
        "--pre-js",
        "modules/canvaskit/htmlcanvas/font.js",
        "--pre-js",
        "modules/canvaskit/htmlcanvas/canvas2dcontext.js",
        "--pre-js",
        "modules/canvaskit/htmlcanvas/htmlcanvas.js",
        "--pre-js",
        "modules/canvaskit/htmlcanvas/htmlimage.js",
        "--pre-js",
        "modules/canvaskit/htmlcanvas/imagedata.js",
        "--pre-js",
        "modules/canvaskit/htmlcanvas/lineargradient.js",
        "--pre-js",
        "modules/canvaskit/htmlcanvas/path2d.js",
        "--pre-js",
        "modules/canvaskit/htmlcanvas/pattern.js",
        "--pre-js",
        "modules/canvaskit/htmlcanvas/radialgradient.js",
        "--pre-js",
        "modules/canvaskit/htmlcanvas/postamble.js",
    ],
    ":enable_canvas_polyfill_false": [],
}) + select({
    ":enable_skottie_true": [
        "--pre-js",
        "modules/canvaskit/skottie.js",
    ],
    ":enable_skottie_false": [],
}) + select({
    ":enable_skp_serialization_true": [
        "--pre-js",
        "modules/canvaskit/skp.js",
    ],
    ":enable_skp_serialization_false": [],
}) + select({
    ":enable_particles_true": [
        "--pre-js",
        "modules/canvaskit/particles.js",
    ],
    ":enable_particles_false": [],
}) + select({
    ":enable_runtime_effect_true": [
        "--pre-js",
        "modules/canvaskit/rt_shader.js",
    ],
    ":enable_runtime_effect_false": [],
}) + select({
    ":include_matrix_js_true": [
        "--pre-js",
        "modules/canvaskit/matrix.js",
    ],
    ":include_matrix_js_false": [],
}) + [
    # This must come last
    "--pre-js",
    "modules/canvaskit/postamble.js",
] + select({
    "//bazel/common_config_settings:debug_build": DEBUG_OPTS + [
        "--pre-js",
        "modules/canvaskit/debug.js",
    ],
    "//conditions:default": RELEASE_OPTS + CK_RELEASE_OPTS + [
        "--pre-js",
        "modules/canvaskit/release.js",
    ],
})

# 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 = [
    "color.js",
    "cpu.js",
    "debug.js",
    "font.js",
    "interface.js",
    "matrix.js",
    "memory.js",
    "paragraph.js",
    "particles.js",
    "pathops.js",
    "postamble.js",
    "preamble.js",
    "release.js",
    "rt_shader.js",
    "skottie.js",
    "skp.js",
    "util.js",
    "webgl.js",
    "webgpu.js",
] + [
    "htmlcanvas/canvas2dcontext.js",
    "htmlcanvas/color.js",
    "htmlcanvas/font.js",
    "htmlcanvas/htmlcanvas.js",
    "htmlcanvas/htmlimage.js",
    "htmlcanvas/imagedata.js",
    "htmlcanvas/lineargradient.js",
    "htmlcanvas/path2d.js",
    "htmlcanvas/pattern.js",
    "htmlcanvas/postamble.js",
    "htmlcanvas/preamble.js",
    "htmlcanvas/radialgradient.js",
    "htmlcanvas/util.js",
]

CK_SRCS = [
    "canvaskit_bindings.cpp",
    ":hdrs",
] + select({
    ":include_embedded_font_true": ["fonts/NotoMono-Regular.ttf.bazel.cpp"],
    ":include_embedded_font_false": [],
}) + select({
    ":enable_fonts_true": [
        "paragraph_bindings.cpp",
        "paragraph_bindings_gen.cpp",
    ],
    ":enable_fonts_false": [],
}) + select({
    ":enable_skottie_true": ["skottie_bindings.cpp"],
    ":enable_skottie_false": [],
}) + select({
    ":enable_particles_true": ["particles_bindings.cpp"],
    ":enable_particles_false": [],
})

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

cc_binary(
    name = "canvaskit.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 = [
        "//:skia_public",
    ] + select({
        ":enable_fonts_true": [
            "//modules/skparagraph",
            "//modules/skunicode",
        ],
        ":enable_fonts_false": [],
    }) + select({
        ":enable_skottie_true": [
            "//modules/skottie",
            "//modules/skottie:utils",
        ],
        ":enable_skottie_false": [],
    }) + select({
        ":enable_particles_true": [
            "//modules/particles",
        ],
        ":enable_particles_false": [],
    }),
)

wasm_cc_binary(
    name = "canvaskit",
    # 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/82ad00499a42abde16b363239d2bc83bf5d863ab/bazel/emscripten_toolchain/wasm_cc_binary.bzl#L91
    cc_target = ":canvaskit.build",
)

bool_flag(
    name = "enable_canvas_polyfill",
    default = False,
)

bool_flag(
    name = "enable_fonts",
    default = False,
)

bool_flag(
    name = "include_embedded_font",
    default = False,
)

bool_flag(
    name = "include_matrix_js",
    default = False,
)

bool_flag(
    name = "enable_skottie",
    default = False,
)

bool_flag(
    name = "enable_skp_serialization",
    default = False,
)

bool_flag(
    name = "enable_particles",
    default = False,
)

bool_flag(
    name = "enable_runtime_effect",
    default = False,
)

karma_test(
    name = "canvaskit_js_tests",
    srcs = [
        ":canvaskit/canvaskit.js",
        # We want to make sure the CanvasKit JS is loaded before the loader script, so
        # CanvasKitInit is defined. This loader script makes a promise...
        "tests/init_with_gold_server.js",
        "tests/util.js",
        "tests/bazel_test_reporter.js",
        # ...which is used by all of the tests
        "tests/canvas_test.js",
        "tests/canvas2d_test.js",
        "tests/core_test.js",
        "tests/font_test.js",
        "tests/matrix_test.js",
        "tests/paragraph_test.js",
        "tests/path_test.js",
        "tests/rtshader_test.js",
        "tests/skottie_test.js",
    ],
    config_file = "karma.bazel.js",
    # The tests need the Gold server to be up and running so they can make POST requests to
    # exfiltrate the PNGs they create.
    env = "//modules/canvaskit/go/gold_test_env:gold_test_env",
    static_files = [
        ":canvaskit/canvaskit.wasm",
        "//modules/canvaskit/tests/assets:test_assets",
    ],
)
