#Copyright (c) 2021 Huawei Device Co., Ltd.
#Licensed under the Apache License, Version 2.0 (the "License");
#you may not use this file except in compliance with the License.
#You may obtain a copy of the License at
#
#    http://www.apache.org/licenses/LICENSE-2.0
#
#Unless required by applicable law or agreed to in writing, software
#distributed under the License is distributed on an "AS IS" BASIS,
#WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#See the License for the specific language governing permissions and
#limitations under the License.

import("//build/lite/config/component/lite_component.gni")

ace_common_root = "//foundation/arkui/ace_engine_lite/frameworks/common"
ace_interface_root =
    "//foundation/arkui/ace_engine_lite/interfaces/inner_api/builtin"
ace_target_root = "//foundation/arkui/ace_engine_lite/frameworks/targets"

lite_component("ace_common_lite") {
  features = [ ":ace_common" ]
}

lite_library("ace_common") {
  if (ohos_kernel_type == "liteos_m") {
    target_type = "static_library"
  } else {
    target_type = "shared_library"
  }

  include_dirs = [
    "$ace_common_root/log",
    "$ace_common_root/memory",
    "$ace_common_root/memory/cache",
    "$ace_common_root/utils",
    "$ace_interface_root/base",
    "//base/hiviewdfx/hilog_lite/interfaces/native/kits",
    "//third_party/bounds_checking_function/include",
  ]
  if (defined(board_toolchain_type) && board_toolchain_type == "iccarm") {
    cflags = [
      "--diag_suppress",
      "Pa137,Pe226",
    ]
    cflags_cc = cflags
  }
  sources = [
    "$ace_common_root/log/ace_log.cpp",
    "$ace_common_root/memory/ace_mem_base.cpp",
    "$ace_common_root/memory/cache/cache_manager.cpp",
    "$ace_common_root/memory/mem_proc.cpp",
    "$ace_common_root/memory/memory_heap.cpp",
  ]

  if (ohos_kernel_type == "liteos_m") {
    deps = [ "//third_party/bounds_checking_function:libsec_static" ]
  } else {
    deps = [ "//third_party/bounds_checking_function:libsec_shared" ]
  }
  deps += [ "$ace_target_root" ]
}