# Copyright 2019 The Flutter Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import("//build/toolchain/wasm.gni")

wasm_lib("skwasm") {
  sources = [
    "canvas.cpp",
    "contour_measure.cpp",
    "data.cpp",
    "export.h",
    "filters.cpp",
    "fonts.cpp",
    "helpers.h",
    "image.cpp",
    "paint.cpp",
    "path.cpp",
    "picture.cpp",
    "shaders.cpp",
    "skwasm_support.h",
    "string.cpp",
    "surface.cpp",
    "text/line_metrics.cpp",
    "text/paragraph.cpp",
    "text/paragraph_builder.cpp",
    "text/paragraph_style.cpp",
    "text/strut_style.cpp",
    "text/text_style.cpp",
    "vertices.cpp",
    "wrappers.h",
  ]

  ldflags = [
    "-std=c++20",
    "-lGL",
    "-sUSE_WEBGL2=1",
    "-sMAX_WEBGL_VERSION=2",
    "-sOFFSCREENCANVAS_SUPPORT",
    "-sPTHREAD_POOL_SIZE=1",
    "-sALLOW_MEMORY_GROWTH",
    "-sALLOW_TABLE_GROWTH",
    "-sUSE_PTHREADS=1",
    "-lexports.js",
    "-sEXPORTED_FUNCTIONS=[stackAlloc]",
    "-sEXPORTED_RUNTIME_METHODS=[addFunction,removeFunction,skwasm_registerObject,skwasm_unregisterObject,skwasm_getObject,skwasm_transferObjectToThread]",
    "-Wno-pthreads-mem-growth",
    "--js-library",
    rebase_path("library_skwasm_support.js"),
  ]

  inputs = [ rebase_path("library_skwasm_support.js") ]

  if (is_debug) {
    ldflags += [
      "-sDEMANGLE_SUPPORT=1",
      "-sASSERTIONS=1",
      "-sGL_ASSERTIONS=1",
    ]
  }

  deps = [
    "//third_party/skia",
    "//third_party/skia/modules/skparagraph",
  ]
}
