• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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