# 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. if (defined(ohos_lite)) { if (ohos_kernel_type == "linux") { executable("ueventd_linux") { sources = [ "//base/startup/init_lite/services/utils/init_utils.c", "//base/startup/init_lite/services/utils/list.c", "//base/startup/init_lite/ueventd/lite/ueventd_parameter.c", "//base/startup/init_lite/ueventd/ueventd.c", "//base/startup/init_lite/ueventd/ueventd_device_handler.c", "//base/startup/init_lite/ueventd/ueventd_firmware_handler.c", "//base/startup/init_lite/ueventd/ueventd_main.c", "//base/startup/init_lite/ueventd/ueventd_read_cfg.c", "//base/startup/init_lite/ueventd/ueventd_socket.c", ] defines = [ "__MUSL__" ] defines += [ "_GNU_SOURCE" ] include_dirs = [ "//third_party/bounds_checking_function/include", "//base/startup/init_lite/services/log", "//base/startup/init_lite/interfaces/innerkits/include", "//base/startup/init_lite/services/include", "//base/startup/init_lite/services/utils", "//base/startup/init_lite/ueventd/include", ] deps = [ "//base/startup/init_lite/interfaces/innerkits/socket:libsocket_static", "//base/startup/init_lite/services/log:init_log", "//third_party/bounds_checking_function:libsec_static", ] } copy("ueventd.config") { sources = [ "etc/ueventd_l1.config" ] outputs = [ "$root_out_dir/etc/ueventd.config" ] } } group("ueventd") { if (ohos_kernel_type == "linux") { deps = [ ":ueventd.config", ":ueventd_linux", ] } else { deps = [] } } } else { import("//build/ohos.gni") service_ueventd_sources = [ "//base/startup/init_lite/services/utils/list.c", "//base/startup/init_lite/ueventd/ueventd.c", "//base/startup/init_lite/ueventd/ueventd_device_handler.c", "//base/startup/init_lite/ueventd/ueventd_firmware_handler.c", "//base/startup/init_lite/ueventd/ueventd_read_cfg.c", "//base/startup/init_lite/ueventd/ueventd_socket.c", ] service_ueventd_include = [ "//third_party/bounds_checking_function/include", "//base/startup/init_lite/services/log", "//base/startup/init_lite/interfaces/innerkits/include", "//base/startup/init_lite/services/include", "//base/startup/init_lite/services/utils", "//base/startup/init_lite/ueventd/include", ] service_ueventd_deps = [ "//base/startup/init_lite/interfaces/innerkits/socket:libsocket_static", "//base/startup/init_lite/services/log:init_log", "//base/startup/init_lite/services/utils:libinit_utils", "//third_party/bounds_checking_function:libsec_static", ] group("startup_ueventd") { deps = [ "//base/startup/init_lite/ueventd:libueventd_ramdisk_static", "//base/startup/init_lite/ueventd:ueventd", "//base/startup/init_lite/ueventd:ueventd.config", ] } ohos_static_library("libueventd_ramdisk_static") { sources = service_ueventd_sources include_dirs = service_ueventd_include deps = service_ueventd_deps defines = [ "__RAMDISK__" ] cflags = [] if (build_selinux) { external_deps = [ "selinux:librestorecon" ] cflags += [ "-DWITH_SELINUX" ] } part_name = "init" } ohos_executable("ueventd") { sources = service_ueventd_sources sources += [ "//base/startup/init_lite/ueventd/standard/ueventd_parameter.c", "//base/startup/init_lite/ueventd/ueventd_main.c", ] include_dirs = service_ueventd_include include_dirs += [ "//base/startup/init_lite/services/include/param", "//base/startup/init_lite/interfaces/innerkits/include", ] deps = service_ueventd_deps deps += [ "//base/startup/init_lite/services/param:param_client" ] cflags = [] if (build_selinux) { external_deps = [ "selinux:librestorecon" ] cflags += [ "-DWITH_SELINUX" ] } install_images = [ "system", "updater", ] install_enable = true part_name = "init" } ohos_prebuilt_etc("ueventd.config") { source = "//base/startup/init_lite/ueventd/etc/ueventd.config" part_name = "init" install_images = [ "system", "updater", ] } }