# Copyright (c) 2023-2024 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_var.gni") import("//foundation/arkui/ace_engine/ace_config.gni") import("//foundation/arkui/ace_engine/adapter/preview/build/config.gni") # Avoid conditional judgment branches caused by dynamic library suffixes. if (use_mac) { dylib_suffix = ".dylib" label_res = "//base/global/resource_management/frameworks/resmgr:global_resmgr_mac" label_hilog = "//base/hiviewdfx/hilog/interfaces/native/innerkits:libhilog_mac" } else if (use_mingw_win) { dylib_suffix = ".dll" label_res = "//base/global/resource_management/frameworks/resmgr:global_resmgr_win" label_hilog = "//base/hiviewdfx/hilog/interfaces/native/innerkits:libhilog_windows" } else if (use_linux) { dylib_suffix = ".so" label_res = "//base/global/resource_management/frameworks/resmgr:global_resmgr_linux" label_hilog = "//base/hiviewdfx/hilog/interfaces/native/innerkits:libhilog_linux" } common_bin = [ { label = "//third_party/curl:curl_shared" subsystem_name = "thirdparty" part_name = "curl" }, { label = "//third_party/nghttp2/lib:libnghttp2_shared" subsystem_name = "thirdparty" part_name = "nghttp2" }, { label = "//third_party/bounds_checking_function:libsec_shared" subsystem_name = "thirdparty" part_name = "bounds_checking_function" }, { label = "//foundation/arkui/napi:ace_napi" subsystem_name = "arkui" part_name = "napi" }, { label = "//third_party/cJSON:cjson" subsystem_name = "thirdparty" part_name = "cJSON" }, { label = "//third_party/icu/icu4c:shared_icui18n" subsystem_name = "thirdparty" part_name = "icu" lib_names = [ "hmicui18n" ] }, { label = "//third_party/icu/icu4c:shared_icuuc" subsystem_name = "thirdparty" part_name = "icu" lib_names = [ "hmicuuc" ] }, { label = "//base/global/i18n/frameworks/intl:intl_util" subsystem_name = "global" part_name = "i18n" lib_names = [ "intl_util" ] }, { label = "//third_party/libuv:uv" subsystem_name = "thirdparty" part_name = "libuv" }, { label = "//foundation/graphic/graphic_2d/rosen/modules/glfw_render_context:libglfw_render_context" subsystem_name = "graphic" part_name = "graphic_2d" }, { label = "//foundation/graphic/graphic_2d/rosen/modules/render_service_base:librender_service_base" subsystem_name = "graphic" part_name = "graphic_2d" }, { label = "//foundation/graphic/graphic_2d/rosen/modules/render_service_client:librender_service_client" subsystem_name = "graphic" part_name = "graphic_2d" }, { label = "//third_party/glfw:glfw" subsystem_name = "thirdparty" part_name = "glfw" }, { label = "//foundation/graphic/graphic_2d/rosen/modules/texgine:libtexgine" subsystem_name = "graphic" part_name = "graphic_2d" }, { label = "//foundation/graphic/graphic_2d/rosen/modules/texgine/texgine_drawing:libtexgine_drawing" subsystem_name = "graphic" part_name = "graphic_2d" }, { label = "//foundation/graphic/graphic_2d/rosen/modules/graphics_effect:libgraphics_effect" subsystem_name = "graphic" part_name = "graphic_2d" }, { label = "//third_party/jsoncpp:jsoncpp" subsystem_name = "thirdparty" part_name = "jsoncpp" }, { label = "//third_party/skia:skia_canvaskit" subsystem_name = "thirdparty" part_name = "skia" }, { label = "//arkcompiler/ets_runtime:libark_jsruntime" subsystem_name = "arkcompiler" part_name = "ets_runtime" }, { label = "//arkcompiler/toolchain/tooling:libark_ecma_debugger" subsystem_name = "arkcompiler" part_name = "toolchain" lib_names = [ "ark_tooling" ] }, { label = "//arkcompiler/toolchain/inspector:ark_debugger" subsystem_name = "arkcompiler" part_name = "toolchain" lib_names = [ "ark_inspector" ] }, { label = "//third_party/openssl:libssl_shared" subsystem_name = "thirdparty" part_name = "openssl" lib_names = [ "ssl_openssl" ] }, { label = "//third_party/openssl:libcrypto_shared" subsystem_name = "thirdparty" part_name = "openssl" lib_names = [ "crypto_openssl" ] }, { label = label_res subsystem_name = "global" part_name = "resource_management" }, { label = label_hilog subsystem_name = "hiviewdfx" part_name = "hilog" }, { label = "//foundation/arkui/ace_engine/build:libace_compatible" subsystem_name = "arkui" part_name = "ace_engine" }, { label = "//foundation/arkui/ace_engine/interfaces/inner_api/ace:ace_forward_compatibility" subsystem_name = "arkui" part_name = "ace_engine" }, { label = "//foundation/arkui/ace_engine/interfaces/inner_api/ace:ace_uicontent" subsystem_name = "arkui" part_name = "ace_engine" }, { label = "//foundation/arkui/ace_engine/interfaces/inner_api/drawable_descriptor:drawable_descriptor" subsystem_name = "arkui" part_name = "ace_engine" }, ] if (enable_graphic_text_gine) { common_bin += [ { label = "//foundation/graphic/graphic_2d/rosen/modules/2d_graphics:2d_graphics_new" subsystem_name = "graphic" part_name = "graphic_2d" }, { label = "//foundation/graphic/graphic_2d/rosen/modules/2d_engine/rosen_text:rosen_text" subsystem_name = "graphic" part_name = "graphic_2d" }, ] } if (defined(use_rosen_drawing) && use_rosen_drawing) { common_bin += [ { label = "//foundation/graphic/graphic_2d/rosen/modules/2d_graphics:2d_graphics" subsystem_name = "graphic" part_name = "graphic_2d" }, ] common_bin += [ { label = "//foundation/graphic/graphic_2d/interfaces/kits/napi/graphic/drawing:drawing_napi_impl" subsystem_name = "graphic" part_name = "graphic_2d" }, ] common_bin -= [ { label = "//foundation/graphic/graphic_2d/rosen/modules/texgine/texgine_drawing:libtexgine_drawing" subsystem_name = "graphic" part_name = "graphic_2d" }, ] } napi_modules = [ { prefix = "arkui" shard_libs = [ { label = "//foundation/arkui/ace_engine/interfaces/napi/kits/drawabledescriptor:drawabledescriptor" subsystem_name = "arkui" part_name = "ace_engine" lib_names = [ "drawabledescriptor" ] }, ] }, { prefix = "multimedia" shard_libs = [ { label = "//foundation/multimedia/av_session/avpicker:avcastpicker" subsystem_name = "multimedia" part_name = "av_session" lib_names = [ "avcastpicker" ] }, ] }, { prefix = "" shard_libs = [ { label = "//base/hiviewdfx/hilog/interfaces/js/kits/napi:libhilognapi" subsystem_name = "hiviewdfx" part_name = "hilog" lib_names = [ "hilog_napi" ] }, { label = "//commonlibrary/ets_utils/js_api_module/buffer:buffer_packages" subsystem_name = "commonlibrary" part_name = "ets_utils" lib_names = [ "buffer" ] }, { label = "//foundation/window/window_manager/previewer:previewer_window_napi" subsystem_name = "window" part_name = "window_manager" lib_names = [ "previewer_window_napi" ] }, { label = "//foundation/arkui/ace_engine/interfaces/napi/kits:napi_group" subsystem_name = "arkui" part_name = "ace_engine" lib_names = [ "configuration", "device", "font", "grid", "measure", "mediaquery", "prompt", "promptaction", "router", "animator", ] }, ] }, { prefix = "util" shard_libs = [ { label = "//commonlibrary/ets_utils/js_util_module/container:container_packages" subsystem_name = "commonlibrary" part_name = "ets_utils" lib_names = [ "arraylist", "deque", "queue", "vector", "linkedlist", "list", "stack", "struct", "treemap", "treeset", "hashmap", "hashset", "lightweightmap", "lightweightset", "plainarray", ] }, ] }, { prefix = "arkui/advanced" shard_libs = [ { label = "//foundation/arkui/ace_engine/advanced_ui_component/chip/interfaces:chip" subsystem_name = "arkui" part_name = "ace_engine" lib_names = [ "chip" ] }, { label = "//foundation/arkui/ace_engine/advanced_ui_component/chipgroup/interfaces:chipgroup" subsystem_name = "arkui" part_name = "ace_engine" lib_names = [ "chipgroup" ] }, { label = "//foundation/arkui/ace_engine/advanced_ui_component/counter/interfaces:counter" subsystem_name = "arkui" part_name = "ace_engine" lib_names = [ "counter" ] }, { label = "//foundation/arkui/ace_engine/advanced_ui_component/segmentbutton/interfaces:segmentbutton" subsystem_name = "arkui" part_name = "ace_engine" lib_names = [ "segmentbutton" ] }, { label = "//foundation/arkui/ace_engine/advanced_ui_component/composelistitem/interfaces:composelistitem" subsystem_name = "arkui" part_name = "ace_engine" lib_names = [ "composelistitem" ] }, { label = "//foundation/arkui/ace_engine/advanced_ui_component/composetitlebar/interfaces:composetitlebar" subsystem_name = "arkui" part_name = "ace_engine" lib_names = [ "composetitlebar" ] }, { label = "//foundation/arkui/ace_engine/advanced_ui_component/dialog/interfaces:dialog" subsystem_name = "arkui" part_name = "ace_engine" lib_names = [ "dialog" ] }, { label = "//foundation/arkui/ace_engine/advanced_ui_component/editabletitlebar/interfaces:editabletitlebar" subsystem_name = "arkui" part_name = "ace_engine" lib_names = [ "editabletitlebar" ] }, { label = "//foundation/arkui/ace_engine/advanced_ui_component/filter/interfaces:filter" subsystem_name = "arkui" part_name = "ace_engine" lib_names = [ "filter" ] }, { label = "//foundation/arkui/ace_engine/advanced_ui_component/progressbutton/interfaces:progressbutton" subsystem_name = "arkui" part_name = "ace_engine" lib_names = [ "progressbutton" ] }, { label = "//foundation/arkui/ace_engine/advanced_ui_component/selecttitlebar/interfaces:selecttitlebar" subsystem_name = "arkui" part_name = "ace_engine" lib_names = [ "selecttitlebar" ] }, { label = "//foundation/arkui/ace_engine/advanced_ui_component/splitlayout/interfaces:splitlayout" subsystem_name = "arkui" part_name = "ace_engine" lib_names = [ "splitlayout" ] }, { label = "//foundation/arkui/ace_engine/advanced_ui_component/subheader/interfaces:subheader" subsystem_name = "arkui" part_name = "ace_engine" lib_names = [ "subheader" ] }, { label = "//foundation/arkui/ace_engine/advanced_ui_component/swiperefresher/interfaces:swiperefresher" subsystem_name = "arkui" part_name = "ace_engine" lib_names = [ "swiperefresher" ] }, { label = "//foundation/arkui/ace_engine/advanced_ui_component/tabtitlebar/interfaces:tabtitlebar" subsystem_name = "arkui" part_name = "ace_engine" lib_names = [ "tabtitlebar" ] }, { label = "//foundation/arkui/ace_engine/advanced_ui_component/toolbar/interfaces:toolbar" subsystem_name = "arkui" part_name = "ace_engine" lib_names = [ "toolbar" ] }, { label = "//foundation/arkui/ace_engine/advanced_ui_component/treeview/interfaces:treeview" subsystem_name = "arkui" part_name = "ace_engine" lib_names = [ "treeview" ] }, { label = "//foundation/arkui/ace_engine/advanced_ui_component/selectionmenu/interfaces:selectionmenu" subsystem_name = "arkui" part_name = "ace_engine" lib_names = [ "selectionmenu" ] }, { label = "//foundation/arkui/ace_engine/advanced_ui_component/popup/interfaces:popup" subsystem_name = "arkui" part_name = "ace_engine" lib_names = [ "popup" ] }, { label = "//foundation/arkui/ace_engine/advanced_ui_component/gridobjectsortcomponent/interfaces:gridobjectsortcomponent" subsystem_name = "arkui" part_name = "ace_engine" lib_names = [ "gridobjectsortcomponent" ] }, { label = "//foundation/arkui/ace_engine/advanced_ui_component/exceptionprompt/interfaces:exceptionprompt" subsystem_name = "arkui" part_name = "ace_engine" lib_names = [ "exceptionprompt" ] }, { label = "//foundation/arkui/ace_engine/advanced_ui_component/fullscreenlaunchcomponent/interfaces:fullscreenlaunchcomponent" subsystem_name = "arkui" part_name = "ace_engine" lib_names = [ "fullscreenlaunchcomponent" ] }, { label = "//foundation/arkui/ace_engine/advanced_ui_component/innerfullscreenlaunchcomponent/interfaces:innerfullscreenlaunchcomponent" subsystem_name = "arkui" part_name = "ace_engine" lib_names = [ "innerfullscreenlaunchcomponent" ] }, { label = "//foundation/arkui/ace_engine/advanced_ui_component/formmenu/interfaces:formmenu" subsystem_name = "arkui" part_name = "ace_engine" lib_names = [ "formmenu" ] }, { label = "//foundation/arkui/ace_engine/advanced_ui_component/foldsplitcontainer/interfaces:foldsplitcontainer" subsystem_name = "arkui" part_name = "ace_engine" lib_names = [ "foldsplitcontainer" ] }, ] }, { prefix = "atomicservice" shard_libs = [ { label = "//foundation/arkui/ace_engine/advanced_ui_component/atomicservicenavigation/interfaces:atomicservicenavigation" subsystem_name = "arkui" part_name = "ace_engine" lib_names = [ "atomicservicenavigation" ] }, { label = "//foundation/arkui/ace_engine/advanced_ui_component/atomicservicetabs/interfaces:atomicservicetabs" subsystem_name = "arkui" part_name = "ace_engine" lib_names = [ "atomicservicetabs" ] }, { label = "//foundation/arkui/ace_engine/advanced_ui_component/atomicserviceweb/interfaces:atomicserviceweb" subsystem_name = "arkui" part_name = "ace_engine" lib_names = [ "atomicserviceweb" ] }, { label = "//foundation/arkui/ace_engine/advanced_ui_component/interstitialdialogaction/interfaces:interstitialdialogaction" subsystem_name = "arkui" part_name = "ace_engine" lib_names = [ "interstitialdialogaction" ] }, ] }, ] if (defined(use_rosen_drawing) && use_rosen_drawing) { napi_modules += [ { prefix = "graphics" shard_libs = [ { label = "//foundation/graphic/graphic_2d/interfaces/kits/napi/graphic/drawing:drawing_napi" subsystem_name = "graphic" part_name = "graphic_2d" lib_names = [ "drawing_napi" ] }, ] }, ] } if (use_mac || use_mingw_win) { common_bin += [ { label = "//foundation/distributeddatamgr/preferences/interfaces/inner_api:native_preferences" subsystem_name = "distributeddatamgr" part_name = "preferences" }, { label = "//foundation/distributeddatamgr/relational_store/interfaces/inner_api/rdb:native_rdb" subsystem_name = "distributeddatamgr" part_name = "relational_store" }, { label = "//third_party/sqlite:sqlite_sdk" subsystem_name = "thirdparty" part_name = "sqlite" }, { label = "//third_party/openssl:libcrypto_restool" subsystem_name = "thirdparty" part_name = "openssl" }, { label = "//foundation/distributeddatamgr/kv_store/kvstoremock/interfaces/innerkits/distributeddata:distributeddata_inner_mock" subsystem_name = "distributeddatamgr" part_name = "kv_store" }, { label = "//foundation/distributeddatamgr/kv_store/kvstoremock/distributeddb:distributeddb_mock" subsystem_name = "distributeddatamgr" part_name = "kv_store" }, { label = "//third_party/zlib:shared_libz" subsystem_name = "thirdparty" part_name = "zlib" lib_names = [ "shared_libz" ] }, { label = "//foundation/filemanagement/file_api/utils/filemgmt_libhilog:filemgmt_libhilog" subsystem_name = "filemanagement" part_name = "file_api" lib_names = [ "filemgmt_libhilog" ] }, { label = "//foundation/filemanagement/file_api/utils/filemgmt_libn:filemgmt_libn" subsystem_name = "filemanagement" part_name = "file_api" lib_names = [ "filemgmt_libn" ] }, ] napi_modules += [ { prefix = "data" shard_libs = [ { label = "//foundation/distributeddatamgr/preferences/frameworks/js/napi/preferences:preferences" subsystem_name = "distributeddatamgr" part_name = "preferences" }, { label = "//foundation/distributeddatamgr/relational_store/frameworks/js/napi/rdb:rdb" subsystem_name = "distributeddatamgr" part_name = "relational_store" }, { label = "//foundation/distributeddatamgr/kv_store/kvstoremock/interfaces/jskits/distributeddata:distributeddata" subsystem_name = "distributeddatamgr" part_name = "kv_store" }, { label = "//foundation/distributeddatamgr/kv_store/kvstoremock/interfaces/jskits/distributedkvstore:distributedkvstore" subsystem_name = "distributeddatamgr" part_name = "kv_store" }, ] }, { prefix = "net" shard_libs = [ { label = "//foundation/communication/netstack/frameworks/js/napi/http:http" subsystem_name = "communication" part_name = "netstack" }, ] }, { prefix = "file" shard_libs = [ { label = "//foundation/filemanagement/file_api/interfaces/kits/js:fs" subsystem_name = "filemanagement" part_name = "file_api" }, ] }, ] }