• 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
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/mem_pool.c",
58  "src/public/src/rb_tree.c",
59  "src/public/src/skiplist.c",
60  "src/public/src/socket_common.c",
61  "src/public/src/spunge.c",
62  "src/public/src/spunge_mem.c",
63  "src/public/src/spunge_message.c",
64  "src/public/src/timing_wheel.c",
65]
66
67fillp_include = [
68  "include",
69  "src/app_lib/include",
70  "src/fillp_lib/include",
71  "src/fillp_lib/include/fillp",
72  "src/public/include",
73]
74
75fillp_cflags = [
76  "-DPDT_MIRACAST",
77  "-DFILLP_SERVER_SUPPORT",
78  "-DFILLP_LITTLE_ENDIAN",
79  "-DFILLP_LINUX",
80  "-DFILLP_POWER_SAVE",
81  "-DFILLP_POWER_SAVING_LINUX",
82  "-DFILLP_ENABLE_DFX_HIDUMPER",
83  "-DFILLP_MGT_MSG_LOG",
84]
85
86if (defined(ohos_lite)) {
87  import("//build/lite/config/component/lite_component.gni")
88  shared_library("FillpSo.open") {
89    cflags = fillp_cflags
90    cflags += [ "-Wall" ]
91    include_dirs = fillp_include
92    include_dirs += [ "//third_party/bounds_checking_function/include/" ]
93    sources = fillp_source
94    deps = [
95      "$NSTACKX_ROOT/nstackx_util:nstackx_util.open",
96      "//third_party/bounds_checking_function:libsec_shared",
97    ]
98
99    if (ohos_kernel_type == "liteos_a") {
100      cflags += [ "-DNSTACKX_WITH_LITEOS" ]
101    } else {
102      cflags += [ "-DNSTACKX_WITH_HMOS_LINUX" ]
103    }
104  }
105} else {
106  import("//build/ohos.gni")
107  ohos_shared_library("FillpSo.open") {
108    cflags = fillp_cflags
109    cflags += [
110      "-Wall",
111      "-DNSTACKX_WITH_HMOS_LINUX",
112    ]
113
114    include_dirs = fillp_include
115    include_dirs += [
116      "//commonlibrary/c_utils/base/include/",
117      "//third_party/bounds_checking_function/include",
118    ]
119    sources = fillp_source
120    deps = [
121      "$NSTACKX_ROOT/nstackx_util:nstackx_util.open",
122      "//third_party/bounds_checking_function:libsec_shared",
123    ]
124
125    innerapi_tags = [ "platformsdk_indirect" ]
126    part_name = "dsoftbus"
127    subsystem_name = "communication"
128  }
129}
130