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 17NSTACKX_ROOT = "$DSOFTBUS_ROOT_PATH/components/nstackx" 18fillp_source = [ 19 "src/app_lib/src/api.c", 20 "src/app_lib/src/epoll_app.c", 21 "src/app_lib/src/fillp_stack_app_config.c", 22 "src/app_lib/src/fillp_stack_app_config_in.c", 23 "src/app_lib/src/socket_app.c", 24 "src/app_lib/src/spunge_app.c", 25 "src/app_lib/src/socket_opt.c", 26 "src/app_lib/src/fillp_dfx.c", 27 "src/fillp_lib/src/fillp_buf_item.c", 28 "src/fillp_lib/src/fillp_cookie.c", 29 "src/fillp_lib/src/fillp_stack_config.c", 30 "src/fillp_lib/src/fillp_stack_config_in.c", 31 "src/fillp_lib/src/hmac.c", 32 "src/fillp_lib/src/net.c", 33 "src/fillp_lib/src/pcb.c", 34 "src/fillp_lib/src/res.c", 35 "src/fillp_lib/src/sha256.c", 36 "src/fillp_lib/src/spunge_core.c", 37 "src/fillp_lib/src/spunge_stack.c", 38 "src/fillp_lib/src/sysio.c", 39 "src/fillp_lib/src/sysio_udp.c", 40 "src/fillp_lib/src/fillp/fillp.c", 41 "src/fillp_lib/src/fillp/fillp_common.c", 42 "src/fillp_lib/src/fillp/fillp_conn.c", 43 "src/fillp_lib/src/fillp/fillp_flow_control_alg0.c", 44 "src/fillp_lib/src/fillp/fillp_flow_control.c", 45 "src/fillp_lib/src/fillp/fillp_input.c", 46 "src/fillp_lib/src/fillp/fillp_output.c", 47 "src/fillp_lib/src/fillp/fillp_pcb.c", 48 "src/fillp_lib/src/fillp/fillp_timer.c", 49 "src/fillp_lib/src/fillp/fillp_frame.c", 50 "src/fillp_lib/src/fillp/fillp_mgt_msg_log.c", 51 "src/public/src/callbacks.c", 52 "src/public/src/dympool.c", 53 "src/public/src/epoll.c", 54 "src/public/src/fillp_os.c", 55 "src/public/src/lf_ring.c", 56 "src/public/src/log.c", 57 "src/public/src/rb_tree.c", 58 "src/public/src/skiplist.c", 59 "src/public/src/socket_common.c", 60 "src/public/src/spunge.c", 61 "src/public/src/spunge_mem.c", 62 "src/public/src/spunge_message.c", 63 "src/public/src/timing_wheel.c", 64] 65 66fillp_include = [ 67 "include", 68 "src/app_lib/include", 69 "src/fillp_lib/include", 70 "src/fillp_lib/include/fillp", 71 "src/public/include", 72] 73 74fillp_cflags = [ 75 "-DPDT_MIRACAST", 76 "-DFILLP_SERVER_SUPPORT", 77 "-DFILLP_LITTLE_ENDIAN", 78 "-DFILLP_LINUX", 79 "-DFILLP_POWER_SAVE", 80 "-DFILLP_POWER_SAVING_LINUX", 81 "-DFILLP_ENABLE_DFX_HIDUMPER", 82 "-DFILLP_MGT_MSG_LOG", 83] 84 85if (defined(ohos_lite)) { 86 import("//build/lite/config/component/lite_component.gni") 87 shared_library("FillpSo.open") { 88 cflags = fillp_cflags 89 cflags += [ "-Wall" ] 90 include_dirs = fillp_include 91 sources = fillp_source 92 deps = [ "$NSTACKX_ROOT/nstackx_util:nstackx_util.open" ] 93 external_deps = [ "bounds_checking_function:libsec_shared" ] 94 95 if (ohos_kernel_type == "liteos_a") { 96 cflags += [ "-DNSTACKX_WITH_LITEOS" ] 97 } else { 98 cflags += [ "-DNSTACKX_WITH_HMOS_LINUX" ] 99 } 100 } 101} else { 102 import("//build/ohos.gni") 103 ohos_shared_library("FillpSo.open") { 104 sanitize = { 105 cfi = true 106 cfi_cross_dso = true 107 debug = false 108 } 109 branch_protector_ret = "pac_ret" 110 111 cflags = fillp_cflags 112 cflags += [ 113 "-Wall", 114 "-DNSTACKX_WITH_HMOS_LINUX", 115 ] 116 117 include_dirs = fillp_include 118 sources = fillp_source 119 deps = [ "$NSTACKX_ROOT/nstackx_util:nstackx_util.open" ] 120 external_deps = [ "bounds_checking_function:libsec_shared" ] 121 if (is_standard_system) { 122 external_deps += [ "c_utils:utils" ] 123 } 124 125 innerapi_tags = [ "platformsdk_indirect" ] 126 part_name = "dsoftbus" 127 subsystem_name = "communication" 128 } 129} 130