1e9297d28Sopenharmony_ci# Copyright (C) 2023 Huawei Device Co., Ltd. 2e9297d28Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License"); 3e9297d28Sopenharmony_ci# you may not use this file except in compliance with the License. 4e9297d28Sopenharmony_ci# You may obtain a copy of the License at 5e9297d28Sopenharmony_ci# 6e9297d28Sopenharmony_ci# http://www.apache.org/licenses/LICENSE-2.0 7e9297d28Sopenharmony_ci# 8e9297d28Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software 9e9297d28Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS, 10e9297d28Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11e9297d28Sopenharmony_ci# See the License for the specific language governing permissions and 12e9297d28Sopenharmony_ci# limitations under the License. 13e9297d28Sopenharmony_ci 14e9297d28Sopenharmony_ciimport("//build/ohos.gni") 15e9297d28Sopenharmony_ciimport("//foundation/graphic/graphic_2d/rosen/modules/platform/config.gni") 16e9297d28Sopenharmony_ci 17e9297d28Sopenharmony_ci# ace_skia {{{ 18e9297d28Sopenharmony_cigroup("ace_skia") { 19e9297d28Sopenharmony_ci if (is_arkui_x) { 20e9297d28Sopenharmony_ci public_deps = [ "//third_party/skia:skia_$platform" ] 21e9297d28Sopenharmony_ci } else { 22e9297d28Sopenharmony_ci public_external_deps = [ "skia:skia_canvaskit" ] 23e9297d28Sopenharmony_ci } 24e9297d28Sopenharmony_ci} 25e9297d28Sopenharmony_ci 26e9297d28Sopenharmony_ci# ace_skia }}} 27e9297d28Sopenharmony_ci 28e9297d28Sopenharmony_ci# eventhandler {{{ 29e9297d28Sopenharmony_cigroup("eventhandler") { 30e9297d28Sopenharmony_ci if (platform == "ohos") { 31e9297d28Sopenharmony_ci public_external_deps = [ "eventhandler:libeventhandler" ] 32e9297d28Sopenharmony_ci } else if (cross_platform) { 33e9297d28Sopenharmony_ci public_deps = [ "$appframework_root/ability/ability_runtime/cross_platform/frameworks/native/base/event_handler:cross_platform_event_handler" ] 34e9297d28Sopenharmony_ci } else { 35e9297d28Sopenharmony_ci public_deps = [ ":impl_eventhandler" ] 36e9297d28Sopenharmony_ci } 37e9297d28Sopenharmony_ci} 38e9297d28Sopenharmony_ci 39e9297d28Sopenharmony_ciconfig("eventhandler_config") { 40e9297d28Sopenharmony_ci include_dirs = [ "eventhandler" ] 41e9297d28Sopenharmony_ci} 42e9297d28Sopenharmony_ci 43e9297d28Sopenharmony_ciohos_source_set("impl_eventhandler") { 44e9297d28Sopenharmony_ci public_configs = [ ":eventhandler_config" ] 45e9297d28Sopenharmony_ci sources = [ 46e9297d28Sopenharmony_ci "eventhandler_impl/epoll_io_waiter_mingw.cpp", 47e9297d28Sopenharmony_ci "eventhandler_impl/event_handler.cpp", 48e9297d28Sopenharmony_ci "eventhandler_impl/event_queue.cpp", 49e9297d28Sopenharmony_ci "eventhandler_impl/event_runner.cpp", 50e9297d28Sopenharmony_ci "eventhandler_impl/file_descriptor_listener.cpp", 51e9297d28Sopenharmony_ci "eventhandler_impl/inner_event.cpp", 52e9297d28Sopenharmony_ci "eventhandler_impl/native_implement_eventhandler.cpp", 53e9297d28Sopenharmony_ci "eventhandler_impl/none_io_waiter.cpp", 54e9297d28Sopenharmony_ci ] 55e9297d28Sopenharmony_ci defines = [ "LOG_DOMAIN=0xD001200" ] 56e9297d28Sopenharmony_ci cflags = [ "-std=c++17" ] 57e9297d28Sopenharmony_ci deps = [ ":utils" ] 58e9297d28Sopenharmony_ci 59e9297d28Sopenharmony_ci external_deps = [ 60e9297d28Sopenharmony_ci "hilog:libhilog", 61e9297d28Sopenharmony_ci "libuv:uv", 62e9297d28Sopenharmony_ci ] 63e9297d28Sopenharmony_ci 64e9297d28Sopenharmony_ci if (is_arkui_x) { 65e9297d28Sopenharmony_ci defines += [ "CROSSPLATFORM" ] 66e9297d28Sopenharmony_ci } 67e9297d28Sopenharmony_ci 68e9297d28Sopenharmony_ci part_name = "graphic_2d" 69e9297d28Sopenharmony_ci subsystem_name = "graphic" 70e9297d28Sopenharmony_ci} 71e9297d28Sopenharmony_ci 72e9297d28Sopenharmony_ci# eventhandler }}} 73e9297d28Sopenharmony_ci 74e9297d28Sopenharmony_ci# hilog {{{ 75e9297d28Sopenharmony_ciohos_source_set("hilog") { 76e9297d28Sopenharmony_ci if (current_os == "android" || current_os == "ios") { 77e9297d28Sopenharmony_ci public_deps = hilog_deps 78e9297d28Sopenharmony_ci } else { 79e9297d28Sopenharmony_ci external_deps = [ "hilog:libhilog" ] 80e9297d28Sopenharmony_ci } 81e9297d28Sopenharmony_ci part_name = "graphic_2d" 82e9297d28Sopenharmony_ci subsystem_name = "graphic" 83e9297d28Sopenharmony_ci} 84e9297d28Sopenharmony_ci 85e9297d28Sopenharmony_ci# hilog }}} 86e9297d28Sopenharmony_ci 87e9297d28Sopenharmony_ci# image_native {{{ 88e9297d28Sopenharmony_cigroup("image_native") { 89e9297d28Sopenharmony_ci if (platform == "ohos") { 90e9297d28Sopenharmony_ci public_external_deps = [ "image_framework:image_native" ] 91e9297d28Sopenharmony_ci } else if (platform == "android" || platform == "ios") { 92e9297d28Sopenharmony_ci public_external_deps = [ "image_framework:image_native" ] 93e9297d28Sopenharmony_ci } else { 94e9297d28Sopenharmony_ci public_deps = [ ":mock_image_native" ] 95e9297d28Sopenharmony_ci } 96e9297d28Sopenharmony_ci} 97e9297d28Sopenharmony_ci 98e9297d28Sopenharmony_ciconfig("image_native_config") { 99e9297d28Sopenharmony_ci include_dirs = [ "image_native" ] 100e9297d28Sopenharmony_ci} 101e9297d28Sopenharmony_ci 102e9297d28Sopenharmony_ciohos_source_set("mock_image_native") { 103e9297d28Sopenharmony_ci public_configs = [ ":image_native_config" ] 104e9297d28Sopenharmony_ci sources = [ "image_native/pixel_map.cpp" ] 105e9297d28Sopenharmony_ci deps = [ ":utils" ] 106e9297d28Sopenharmony_ci cflags = [ "-DIMAGE_COLORSPACE_FLAG" ] 107e9297d28Sopenharmony_ci part_name = "graphic_2d" 108e9297d28Sopenharmony_ci subsystem_name = "graphic" 109e9297d28Sopenharmony_ci} 110e9297d28Sopenharmony_ci 111e9297d28Sopenharmony_ci# image_native }}} 112e9297d28Sopenharmony_ci 113e9297d28Sopenharmony_ci# ipc_core {{{ 114e9297d28Sopenharmony_cigroup("ipc_core") { 115e9297d28Sopenharmony_ci if (platform == "ohos") { 116e9297d28Sopenharmony_ci public_external_deps = [ "ipc:ipc_core" ] 117e9297d28Sopenharmony_ci } else { 118e9297d28Sopenharmony_ci public_deps = [ ":mock_ipc_core" ] 119e9297d28Sopenharmony_ci } 120e9297d28Sopenharmony_ci} 121e9297d28Sopenharmony_ci 122e9297d28Sopenharmony_ciconfig("ipc_core_config") { 123e9297d28Sopenharmony_ci include_dirs = [ "ipc_core" ] 124e9297d28Sopenharmony_ci} 125e9297d28Sopenharmony_ci 126e9297d28Sopenharmony_ciohos_source_set("mock_ipc_core") { 127e9297d28Sopenharmony_ci public_configs = [ ":ipc_core_config" ] 128e9297d28Sopenharmony_ci sources = [ 129e9297d28Sopenharmony_ci "ipc_core/ipc_object_stub.cpp", 130e9297d28Sopenharmony_ci "ipc_core/iremote_broker.cpp", 131e9297d28Sopenharmony_ci "ipc_core/iremote_object.cpp", 132e9297d28Sopenharmony_ci "ipc_core/message_option.cpp", 133e9297d28Sopenharmony_ci "ipc_core/message_parcel.cpp", 134e9297d28Sopenharmony_ci "ipc_core/peer_holder.cpp", 135e9297d28Sopenharmony_ci ] 136e9297d28Sopenharmony_ci deps = [ ":utils" ] 137e9297d28Sopenharmony_ci part_name = "graphic_2d" 138e9297d28Sopenharmony_ci subsystem_name = "graphic" 139e9297d28Sopenharmony_ci} 140e9297d28Sopenharmony_ci 141e9297d28Sopenharmony_ci# ipc_core }}} 142e9297d28Sopenharmony_ci 143e9297d28Sopenharmony_ci# utils {{{ 144e9297d28Sopenharmony_cigroup("utils") { 145e9297d28Sopenharmony_ci if (platform == "ohos") { 146e9297d28Sopenharmony_ci public_external_deps = [ "c_utils:utils" ] 147e9297d28Sopenharmony_ci } else if (platform == "android" || platform == "ios") { 148e9297d28Sopenharmony_ci public_external_deps = [ "c_utils:utilsbase" ] 149e9297d28Sopenharmony_ci } else { 150e9297d28Sopenharmony_ci public_deps = [ ":mock_utils" ] 151e9297d28Sopenharmony_ci } 152e9297d28Sopenharmony_ci if (platform == "ios") { 153e9297d28Sopenharmony_ci public_configs = [ ":ios_utils_config" ] 154e9297d28Sopenharmony_ci } 155e9297d28Sopenharmony_ci} 156e9297d28Sopenharmony_ci 157e9297d28Sopenharmony_ciconfig("utils_config") { 158e9297d28Sopenharmony_ci include_dirs = [ "utils" ] 159e9297d28Sopenharmony_ci} 160e9297d28Sopenharmony_ci 161e9297d28Sopenharmony_ciconfig("ios_utils_config") { 162e9297d28Sopenharmony_ci defines = [ "IOS_PLATFORM" ] 163e9297d28Sopenharmony_ci} 164e9297d28Sopenharmony_ci 165e9297d28Sopenharmony_ciohos_source_set("mock_utils") { 166e9297d28Sopenharmony_ci public_external_deps = [] 167e9297d28Sopenharmony_ci if (current_os == "ios") { 168e9297d28Sopenharmony_ci public_configs = [ ":ios_utils_config" ] 169e9297d28Sopenharmony_ci public_external_deps += [ "c_utils:utilsbase" ] 170e9297d28Sopenharmony_ci } else { 171e9297d28Sopenharmony_ci public_configs = [ ":utils_config" ] 172e9297d28Sopenharmony_ci sources = [ 173e9297d28Sopenharmony_ci "utils/directory_ex.cpp", 174e9297d28Sopenharmony_ci "utils/parcel.cpp", 175e9297d28Sopenharmony_ci "utils/refbase.cpp", 176e9297d28Sopenharmony_ci ] 177e9297d28Sopenharmony_ci public_external_deps += [ "bounds_checking_function:libsec_shared" ] 178e9297d28Sopenharmony_ci } 179e9297d28Sopenharmony_ci part_name = "graphic_2d" 180e9297d28Sopenharmony_ci subsystem_name = "graphic" 181e9297d28Sopenharmony_ci} 182e9297d28Sopenharmony_ci# utils }}} 183