# 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/ohos.gni") import("//foundation/arkui/ace_engine/ace_config.gni") import("//foundation/arkui/ace_engine/build/ace_controller.gni") import("napi_lib.gni") config("ace_napi_config") { include_dirs = [ "$ace_root", "$arkui_root", "$ace_root/frameworks", "$root_out_dir/arkui", "$root_out_dir/arkui/framework", "//third_party/zlib", ] cflags_cc = [] defines = [] if (use_mingw_win) { cflags_cc += [ "-std=c++17" ] defines += [ "_USE_MATH_DEFINES" ] } if (use_linux) { cflags_cc += [ "-std=c++17" ] defines += [ "_USE_MATH_DEFINES" ] } if (use_hilog) { include_dirs += [ "$hilog_root/interfaces/native/innerkits/include" ] defines += [ "USE_HILOG" ] } if (is_mac) { cflags_cc = [ "-O0" ] } } common_targets = [] foreach(module, common_napi_libs) { if (use_mac) { ace_napi_lib(module) { platform = "mac" } } else if (use_mingw_win) { ace_napi_lib(module) { platform = "windows" } } else if (use_linux) { ace_napi_lib(module) { platform = "linux" } } else if (!is_arkui_x) { ace_napi_lib(module) { # napi libs remain isolate in libace.z.so and asan version if (is_asan || !ace_engine_feature_enable_libace) { platform = "ohos" } else { platform = "ohos_ng" } } } module_path_names = [] module_path_names = string_split(module, "/") prefix_dir = module_path_names[0] module_path = prefix_dir if (prefix_dir != module) { module_path = module_path_names[1] } module_name = string_replace(module_path, "_", "") common_targets += [ ":$module_name" ] } group("napi_group") { if (use_mac || use_mingw_win || use_linux) { public_deps = common_targets } else { deps = common_targets deps += [ "$ace_root/interfaces/napi/kits/drawabledescriptor:drawabledescriptor", "$ace_root/interfaces/napi/kits/plugincomponent:plugincomponent", ] } }