1# Copyright (c) 2022 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 14DSOFTBUS_ROOT_PATH = "./../../.." 15import("$DSOFTBUS_ROOT_PATH/dsoftbus.gni") 16 17fillp_include = [ 18 "include", 19 "src/app_lib/include", 20 "src/fillp_lib/include", 21 "src/fillp_lib/include/fillp", 22 "src/public/include", 23] 24 25fillp_cflags = [ 26 "-DPDT_MIRACAST", 27 "-DFILLP_SERVER_SUPPORT", 28 "-DFILLP_LITTLE_ENDIAN", 29 "-DFILLP_LINUX", 30 "-DFILLP_POWER_SAVE", 31 "-DFILLP_POWER_SAVING_LINUX", 32 "-DFILLP_ENABLE_DFX_HIDUMPER", 33 "-DFILLP_MGT_MSG_LOG", 34] 35 36if (defined(ohos_lite)) { 37 import("//build/lite/config/component/lite_component.gni") 38 shared_library("FillpSo.open") { 39 cflags = fillp_cflags 40 cflags += [ "-Wall" ] 41 include_dirs = fillp_include 42 sources = [] 43 deps = [] 44 external_deps = [] 45 if (dsoftbus_feature_vtp) { 46 sources += [ 47 "src/app_lib/src/api.c", 48 "src/app_lib/src/epoll_app.c", 49 "src/app_lib/src/fillp_dfx.c", 50 "src/app_lib/src/fillp_stack_app_config.c", 51 "src/app_lib/src/fillp_stack_app_config_in.c", 52 "src/app_lib/src/socket_app.c", 53 "src/app_lib/src/socket_opt.c", 54 "src/app_lib/src/spunge_app.c", 55 "src/fillp_lib/src/fillp/fillp.c", 56 "src/fillp_lib/src/fillp/fillp_common.c", 57 "src/fillp_lib/src/fillp/fillp_conn.c", 58 "src/fillp_lib/src/fillp/fillp_flow_control.c", 59 "src/fillp_lib/src/fillp/fillp_flow_control_alg0.c", 60 "src/fillp_lib/src/fillp/fillp_frame.c", 61 "src/fillp_lib/src/fillp/fillp_input.c", 62 "src/fillp_lib/src/fillp/fillp_mgt_msg_log.c", 63 "src/fillp_lib/src/fillp/fillp_output.c", 64 "src/fillp_lib/src/fillp/fillp_pcb.c", 65 "src/fillp_lib/src/fillp/fillp_timer.c", 66 "src/fillp_lib/src/fillp_buf_item.c", 67 "src/fillp_lib/src/fillp_cookie.c", 68 "src/fillp_lib/src/fillp_stack_config.c", 69 "src/fillp_lib/src/fillp_stack_config_in.c", 70 "src/fillp_lib/src/hmac.c", 71 "src/fillp_lib/src/net.c", 72 "src/fillp_lib/src/pcb.c", 73 "src/fillp_lib/src/res.c", 74 "src/fillp_lib/src/sha256.c", 75 "src/fillp_lib/src/spunge_core.c", 76 "src/fillp_lib/src/spunge_stack.c", 77 "src/fillp_lib/src/sysio.c", 78 "src/fillp_lib/src/sysio_udp.c", 79 "src/public/src/callbacks.c", 80 "src/public/src/dympool.c", 81 "src/public/src/epoll.c", 82 "src/public/src/fillp_os.c", 83 "src/public/src/lf_ring.c", 84 "src/public/src/log.c", 85 "src/public/src/rb_tree.c", 86 "src/public/src/skiplist.c", 87 "src/public/src/socket_common.c", 88 "src/public/src/spunge.c", 89 "src/public/src/spunge_mem.c", 90 "src/public/src/spunge_message.c", 91 "src/public/src/timing_wheel.c", 92 ] 93 deps += [ 94 "$DSOFTBUS_ROOT_PATH/components/nstackx/nstackx_util:nstackx_util.open", 95 ] 96 external_deps += [ "bounds_checking_function:libsec_shared" ] 97 } 98 if (ohos_kernel_type == "liteos_a") { 99 cflags += [ "-DNSTACKX_WITH_LITEOS" ] 100 } else { 101 cflags += [ "-DNSTACKX_WITH_HMOS_LINUX" ] 102 } 103 } 104} else { 105 import("//build/ohos.gni") 106 ohos_shared_library("FillpSo.open") { 107 sanitize = { 108 ubsan = true 109 integer_overflow = true 110 boundary_sanitize = true 111 cfi = true 112 cfi_cross_dso = true 113 debug = false 114 } 115 branch_protector_ret = "pac_ret" 116 117 cflags = fillp_cflags 118 cflags += [ 119 "-Wall", 120 "-DNSTACKX_WITH_HMOS_LINUX", 121 ] 122 123 include_dirs = fillp_include 124 sources = [] 125 deps = [] 126 external_deps = [] 127 if (dsoftbus_feature_vtp) { 128 sources += [ 129 "src/app_lib/src/api.c", 130 "src/app_lib/src/epoll_app.c", 131 "src/app_lib/src/fillp_dfx.c", 132 "src/app_lib/src/fillp_stack_app_config.c", 133 "src/app_lib/src/fillp_stack_app_config_in.c", 134 "src/app_lib/src/socket_app.c", 135 "src/app_lib/src/socket_opt.c", 136 "src/app_lib/src/spunge_app.c", 137 "src/fillp_lib/src/fillp/fillp.c", 138 "src/fillp_lib/src/fillp/fillp_common.c", 139 "src/fillp_lib/src/fillp/fillp_conn.c", 140 "src/fillp_lib/src/fillp/fillp_flow_control.c", 141 "src/fillp_lib/src/fillp/fillp_flow_control_alg0.c", 142 "src/fillp_lib/src/fillp/fillp_frame.c", 143 "src/fillp_lib/src/fillp/fillp_input.c", 144 "src/fillp_lib/src/fillp/fillp_mgt_msg_log.c", 145 "src/fillp_lib/src/fillp/fillp_output.c", 146 "src/fillp_lib/src/fillp/fillp_pcb.c", 147 "src/fillp_lib/src/fillp/fillp_timer.c", 148 "src/fillp_lib/src/fillp_buf_item.c", 149 "src/fillp_lib/src/fillp_cookie.c", 150 "src/fillp_lib/src/fillp_stack_config.c", 151 "src/fillp_lib/src/fillp_stack_config_in.c", 152 "src/fillp_lib/src/hmac.c", 153 "src/fillp_lib/src/net.c", 154 "src/fillp_lib/src/pcb.c", 155 "src/fillp_lib/src/res.c", 156 "src/fillp_lib/src/sha256.c", 157 "src/fillp_lib/src/spunge_core.c", 158 "src/fillp_lib/src/spunge_stack.c", 159 "src/fillp_lib/src/sysio.c", 160 "src/fillp_lib/src/sysio_udp.c", 161 "src/public/src/callbacks.c", 162 "src/public/src/dympool.c", 163 "src/public/src/epoll.c", 164 "src/public/src/fillp_os.c", 165 "src/public/src/lf_ring.c", 166 "src/public/src/log.c", 167 "src/public/src/rb_tree.c", 168 "src/public/src/skiplist.c", 169 "src/public/src/socket_common.c", 170 "src/public/src/spunge.c", 171 "src/public/src/spunge_mem.c", 172 "src/public/src/spunge_message.c", 173 "src/public/src/timing_wheel.c", 174 ] 175 deps += [ 176 "$DSOFTBUS_ROOT_PATH/components/nstackx/nstackx_util:nstackx_util.open", 177 ] 178 external_deps += [ "bounds_checking_function:libsec_shared" ] 179 } 180 if (is_standard_system) { 181 external_deps += [ "c_utils:utils" ] 182 } 183 184 innerapi_tags = [ "platformsdk_indirect" ] 185 part_name = "dsoftbus" 186 subsystem_name = "communication" 187 } 188} 189