1d9f0492fSopenharmony_ci# Copyright (c) 2021-2022 Huawei Device Co., Ltd. 2d9f0492fSopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License"); 3d9f0492fSopenharmony_ci# you may not use this file except in compliance with the License. 4d9f0492fSopenharmony_ci# You may obtain a copy of the License at 5d9f0492fSopenharmony_ci# 6d9f0492fSopenharmony_ci# http://www.apache.org/licenses/LICENSE-2.0 7d9f0492fSopenharmony_ci# 8d9f0492fSopenharmony_ci# Unless required by applicable law or agreed to in writing, software 9d9f0492fSopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS, 10d9f0492fSopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11d9f0492fSopenharmony_ci# See the License for the specific language governing permissions and 12d9f0492fSopenharmony_ci# limitations under the License. 13d9f0492fSopenharmony_ci 14d9f0492fSopenharmony_cicommon_sources = [ 15d9f0492fSopenharmony_ci "idle/le_idle.c", 16d9f0492fSopenharmony_ci "loop/le_epoll.c", 17d9f0492fSopenharmony_ci "loop/le_loop.c", 18d9f0492fSopenharmony_ci "signal/le_signal.c", 19d9f0492fSopenharmony_ci "socket/le_socket.c", 20d9f0492fSopenharmony_ci "task/le_asynctask.c", 21d9f0492fSopenharmony_ci "task/le_streamtask.c", 22d9f0492fSopenharmony_ci "task/le_task.c", 23d9f0492fSopenharmony_ci "task/le_watchtask.c", 24d9f0492fSopenharmony_ci "timer/le_timer.c", 25d9f0492fSopenharmony_ci "utils/le_utils.c", 26d9f0492fSopenharmony_ci] 27d9f0492fSopenharmony_ci 28d9f0492fSopenharmony_cicommon_include = [ 29d9f0492fSopenharmony_ci "//base/startup/init/services/log", 30d9f0492fSopenharmony_ci "//base/startup/init/interfaces/innerkits/include", 31d9f0492fSopenharmony_ci "include", 32d9f0492fSopenharmony_ci "loop", 33d9f0492fSopenharmony_ci "socket", 34d9f0492fSopenharmony_ci "task", 35d9f0492fSopenharmony_ci "timer", 36d9f0492fSopenharmony_ci "utils", 37d9f0492fSopenharmony_ci "signal", 38d9f0492fSopenharmony_ci "idle", 39d9f0492fSopenharmony_ci] 40d9f0492fSopenharmony_ci 41d9f0492fSopenharmony_ciconfig("exported_header_files") { 42d9f0492fSopenharmony_ci visibility = [ ":*" ] 43d9f0492fSopenharmony_ci include_dirs = [ "//base/startup/init/services/loopevent/include" ] 44d9f0492fSopenharmony_ci} 45d9f0492fSopenharmony_ci 46d9f0492fSopenharmony_ciif (defined(ohos_lite)) { 47d9f0492fSopenharmony_ci static_library("loopevent") { 48d9f0492fSopenharmony_ci sources = common_sources 49d9f0492fSopenharmony_ci cflags = [ "-fPIC" ] 50d9f0492fSopenharmony_ci include_dirs = common_include 51d9f0492fSopenharmony_ci external_deps = [ "bounds_checking_function:libsec_shared" ] 52d9f0492fSopenharmony_ci defines = [ "_GNU_SOURCE" ] 53d9f0492fSopenharmony_ci public_configs = [ ":exported_header_files" ] 54d9f0492fSopenharmony_ci } 55d9f0492fSopenharmony_ci} else { 56d9f0492fSopenharmony_ci import("//build/ohos.gni") 57d9f0492fSopenharmony_ci 58d9f0492fSopenharmony_ci ohos_static_library("loopevent") { 59d9f0492fSopenharmony_ci sources = common_sources 60d9f0492fSopenharmony_ci public_configs = [ ":exported_header_files" ] 61d9f0492fSopenharmony_ci include_dirs = common_include 62d9f0492fSopenharmony_ci external_deps = [ "bounds_checking_function:libsec_static" ] 63d9f0492fSopenharmony_ci defines = [ "_GNU_SOURCE" ] 64d9f0492fSopenharmony_ci part_name = "init" 65d9f0492fSopenharmony_ci subsystem_name = "startup" 66d9f0492fSopenharmony_ci } 67d9f0492fSopenharmony_ci} 68d9f0492fSopenharmony_ci 69d9f0492fSopenharmony_cigroup("loopeventgroup") { 70d9f0492fSopenharmony_ci if (defined(ohos_lite)) { 71d9f0492fSopenharmony_ci if (ohos_kernel_type == "linux") { 72d9f0492fSopenharmony_ci deps = [ ":loopevent" ] 73d9f0492fSopenharmony_ci } 74d9f0492fSopenharmony_ci } else { 75d9f0492fSopenharmony_ci deps = [ ":loopevent" ] 76d9f0492fSopenharmony_ci } 77d9f0492fSopenharmony_ci} 78