1# Copyright (c) 2021 Huawei Device Co., Ltd. 2# Licensed under the Apache License, Version 2.0 (the "License"); 3# you may not use this file except in compliance with the License. 4# You may obtain a copy of the License at 5# 6# http://www.apache.org/licenses/LICENSE-2.0 7# 8# Unless required by applicable law or agreed to in writing, software 9# distributed under the License is distributed on an "AS IS" BASIS, 10# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11# See the License for the specific language governing permissions and 12# limitations under the License. 13 14import("//build/ohos.gni") 15 16## Install storage_daemon.cfg to /system/etc/init/storage_daemon.cfg {{{ 17ohos_prebuilt_etc("storage_daemon_cfg") { 18 source = "storage_daemon.cfg" 19 relative_install_dir = "init" 20 part_name = "storage_service" 21 subsystem_name = "filemanagement" 22} 23 24## Install storage_daemon.cfg to /system/etc/init/storage_daemon.cfg }}} 25 26config("storage_daemon_config") { 27 include_dirs = [ 28 "include", 29 "//utils/native/base/include", 30 "//foundation/distributedschedule/samgr/interfaces/innerkits/samgr_proxy/include", 31 "../storage_manager/include", 32 "//foundation/aafwk/standard/interfaces/innerkits/base/include", 33 "//foundation/distributedschedule/safwk/interfaces/innerkits/safwk", 34 "//foundation/filemanagement/storage_service/interfaces/innerkits/storage_manager/native", 35 "//base/startup/syspara_lite/interfaces/innerkits/native/syspara/include", 36 "//base/sescurity/access_token/interfaces/innerkits/accesstoken/include", 37 "//foundation/filemanagement/storage_service/services/common/include", 38 ] 39} 40 41## Install config.txt to /system/etc/init/config.txt {{{ 42ohos_prebuilt_etc("storage_daemon_disk_config") { 43 source = "config.txt" 44 relative_install_dir = "init" 45 part_name = "storage_service" 46 subsystem_name = "filemanagement" 47} 48 49ohos_executable("storage_daemon") { 50 sources = [ 51 "../storage_manager/innerkits_impl/src/disk.cpp", 52 "../storage_manager/innerkits_impl/src/volume_core.cpp", 53 "../storage_manager/innerkits_impl/src/volume_external.cpp", 54 "../storage_manager/ipc/src/storage_manager_proxy.cpp", 55 "disk/src/disk_config.cpp", 56 "disk/src/disk_info.cpp", 57 "disk/src/disk_manager.cpp", 58 "ipc/src/storage_daemon.cpp", 59 "ipc/src/storage_daemon_stub.cpp", 60 "ipc/src/storage_manager_client.cpp", 61 "main.cpp", 62 "netlink/src/netlink_data.cpp", 63 "netlink/src/netlink_handler.cpp", 64 "netlink/src/netlink_listener.cpp", 65 "netlink/src/netlink_manager.cpp", 66 "user/src/mount_manager.cpp", 67 "user/src/user_manager.cpp", 68 "utils/disk_utils.cpp", 69 "utils/file_utils.cpp", 70 "utils/mount_argument_utils.cpp", 71 "utils/string_utils.cpp", 72 "volume/src/external_volume_info.cpp", 73 "volume/src/process.cpp", 74 "volume/src/volume_info.cpp", 75 "volume/src/volume_manager.cpp", 76 ] 77 78 defines = [ 79 "STORAGE_LOG_TAG = \"StorageDaemon\"", 80 "LOG_DOMAIN = 0xD004301", 81 ] 82 83 configs = [ ":storage_daemon_config" ] 84 85 deps = [ 86 ":sdc", 87 "crypto:libsdcrypto", 88 "//utils/native/base:utils", 89 ] 90 91 external_deps = [ 92 "access_token:libaccesstoken_sdk", 93 "hiviewdfx_hilog_native:libhilog", 94 "ipc:ipc_core", 95 "samgr_standard:samgr_proxy", 96 "startup_l2:syspara", 97 ] 98 99 subsystem_name = "filemanagement" 100 part_name = "storage_service" 101 install_enable = true 102} 103 104config("sdc_config") { 105 include_dirs = [ 106 "include", 107 "//foundation/filemanagement/storage_service/services/common/include", 108 "//utils/native/base/include", 109 "//foundation/distributedschedule/samgr/interfaces/innerkits/samgr_proxy/include", 110 "//utils/system/safwk/native/include", 111 "//foundation/communication/ipc/interfaces/innerkits/ipc_core/include/", 112 "client/include", 113 "../../interfaces/innerkits/storage_manager/native", 114 "../storage_manager/include", 115 "//foundation/appexecfwk/standard/services/bundlemgr/include", 116 ] 117} 118 119ohos_executable("sdc") { 120 sources = [ 121 "../storage_manager/client/storage_manager_client.cpp", 122 "../storage_manager/innerkits_impl/src/disk.cpp", 123 "../storage_manager/innerkits_impl/src/volume_core.cpp", 124 "../storage_manager/innerkits_impl/src/volume_external.cpp", 125 "../storage_manager/ipc/src/storage_manager_proxy.cpp", 126 "client/storage_daemon_client.cpp", 127 "ipc/src/storage_daemon_proxy.cpp", 128 "sdc.cpp", 129 "utils/file_utils.cpp", 130 ] 131 132 defines = [ 133 "STORAGE_LOG_TAG = \"StorageDaemon\"", 134 "LOG_DOMAIN = 0xD004301", 135 ] 136 137 configs = [ ":sdc_config" ] 138 139 deps = [ "crypto:libsdcrypto" ] 140 141 public_deps = [ "//utils/native/base:utils" ] 142 143 external_deps = [ 144 "hiviewdfx_hilog_native:libhilog", 145 "ipc:ipc_core", 146 "safwk:system_ability_fwk", 147 "samgr_standard:samgr_proxy", 148 ] 149 150 subsystem_name = "filemanagement" 151 part_name = "storage_service" 152 install_enable = true 153} 154 155group("storage_daemon_third_party") { 156 deps = [] 157 if (use_musl) { 158 deps += [ 159 "//third_party/e2fsprogs/misc:blkid", 160 "//third_party/exfat-utils:exfat-utils", 161 "//third_party/f2fs-tools:f2fs-tools", 162 "//third_party/fsck_msdos:fsck_msdos", 163 "//third_party/gptfdisk:sgdisk", 164 "//third_party/newfs_msdos:newfs_msdos", 165 "//third_party/ntfs-3g:ntfsprogs", 166 ] 167 } 168} 169