# Copyright (c) 2020 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") import("//build/lite/config/subsystem/aafwk/config.gni") import("//build/lite/config/test.gni") import("//build/lite/ndk/ndk.gni") generate_notice_file("ability_notice_file") { module_name = "ability" module_source_dir_list = [ "//third_party/bounds_checking_function", "//third_party/cJSON", ] } lite_library("ability") { target_type = "shared_library" cflags = [ "-Wall", "-Wno-format", "-Wno-format-extra-args", ] cflags_cc = cflags sources = [ "src/ability.cpp", "src/ability_context.cpp", "src/ability_env.cpp", "src/ability_env_impl.cpp", "src/ability_event_handler.cpp", "src/ability_loader.cpp", "src/ability_main.cpp", "src/ability_scheduler.cpp", "src/ability_thread.cpp", ] if (enable_ohos_appexecfwk_feature_ability == true) { sources += [ "src/ability_slice.cpp", "src/ability_slice_manager.cpp", "src/ability_slice_route.cpp", "src/ability_slice_scheduler.cpp", "src/ability_slice_stack.cpp", "src/ability_window.cpp", ] } public_deps = [ "${aafwk_lite_path}/frameworks/abilitymgr_lite:abilitymanager", "${appexecfwk_lite_path}/frameworks/bundle_lite:bundle", "//base/hiviewdfx/hilog_lite/frameworks/featured:hilog_shared", "//foundation/communication/ipc_lite:liteipc_adapter", "//utils/native/lite/kv_store:kv_store", ] if (enable_ohos_appexecfwk_feature_ability == true) { public_deps += [ "//foundation/graphic/ui:lite_ui" ] } include_dirs = [ "${aafwk_lite_path}/frameworks/abilitymgr_lite/include", "${aafwk_lite_path}/frameworks/want_lite/include", "${aafwk_lite_path}/interfaces/innerkits/abilitymgr_lite", "${aafwk_lite_path}/interfaces/kits/want_lite", "${aafwk_lite_path}/interfaces/kits/ability_lite", "${appexecfwk_lite_path}/utils/bundle_lite", "${appexecfwk_lite_path}/interfaces/kits/bundle_lite", "${appexecfwk_lite_path}/frameworks/bundle_lite/include", "//foundation/graphic/ui/frameworks", "//foundation/graphic/surface/interfaces/kits", "//foundation/distributedschedule/samgr_lite/interfaces/kits/registry", "//foundation/distributedschedule/samgr_lite/interfaces/kits/samgr", "//foundation/communication/ipc_lite/frameworks/liteipc/include", "//third_party/bounds_checking_function/include", "//third_party/freetype/include", "//utils/native/lite/kv_store/innerkits", "//utils/native/lite/include", "./include", "./", ] defines = [ "OHOS_APPEXECFWK_BMS_BUNDLEMANAGER" ] if (board_name == "hispark_taurus") { defines += [ "OPENHARMONY_FONT_PATH" ] } if (enable_ohos_appexecfwk_feature_ability == true) { defines += [ "ABILITY_WINDOW_SUPPORT" ] } } unittest("ability_main_test_lv0") { output_extension = "bin" output_dir = "$root_out_dir/test/unittest/MainTest_lv0" sources = [ "//foundation/aafwk/aafwk_lite/frameworks/ability_lite/unittest/ability_main_test.cpp" ] include_dirs = [ "${aafwk_lite_path}/interfaces/innerkits/abilitymgr_lite" ] } lite_component("aafwk_abilitykit_lite") { if (enable_ohos_appexecfwk_feature_ability == true) { public_configs = [ ":abilitykit_config" ] } features = [ ":ability" ] } config("abilitykit_config") { ldflags = [ "-lstdc++", "-Wl,-rpath-link=$ohos_root_path/$root_out_dir", ] } ndk_lib("ability_notes") { lib_extension = ".so" deps = [ ":ability", "${aafwk_lite_path}/frameworks/abilitymgr_lite:abilitymanager", ] head_files = [ "${aafwk_lite_path}/interfaces/kits/ability_lite", "${aafwk_lite_path}/interfaces/kits/want_lite", ] }