• 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
14import("//build/ohos.gni")
15LIBEXT_COMMON_PATH = "//out/gen"
16config("ext_config") {
17  cflags = [
18    "-D_LARGEFILE_SOURCE=1",
19    "-D_LARGE_FILES",
20    "-D_FILE_OFFSET_BITS=64",
21    "-D_REENTRANT",
22    "-DENABLE_IPV4",
23    "-DENABLE_IPV6",
24    "-Wall",
25    "-Wno-error",
26    "-Wno-pointer-arith",
27    "-Wno-sign-compare",
28    "-Wno-unused-parameter",
29    "-DNO_SHARED_LIBS=1",
30    "-DXTABLES_INTERNAL",
31    "-Wno-format",
32    "-Wno-missing-field-initializers",
33    "-Wno-pointer-bool-conversion",
34    "-Wno-tautological-pointer-compare",
35  ]
36}
37
38args_libext = [
39  "libxt_",
40  "[libxt_cgroup.c,libxt_ipvs.c,libxt_TCPOPTSTRIP.c,libxt_connlabel.c,libxt_dccp.c]",
41  "initext.c",
42  "extensions",
43]
44
45exec_script("genInit.py", args_libext)
46
47ohos_static_library("libext") {
48  sources = [
49    "$LIBEXT_COMMON_PATH/initext.c",
50    "$LIBEXT_COMMON_PATH/libxt_addrtype.c",
51    "$LIBEXT_COMMON_PATH/libxt_AUDIT.c",
52    "$LIBEXT_COMMON_PATH/libxt_bpf.c",
53    "$LIBEXT_COMMON_PATH/libxt_CHECKSUM.c",
54    "$LIBEXT_COMMON_PATH/libxt_CLASSIFY.c",
55    "$LIBEXT_COMMON_PATH/libxt_cluster.c",
56    "$LIBEXT_COMMON_PATH/libxt_comment.c",
57    "$LIBEXT_COMMON_PATH/libxt_connbytes.c",
58    "$LIBEXT_COMMON_PATH/libxt_connlimit.c",
59    "$LIBEXT_COMMON_PATH/libxt_connmark.c",
60    "$LIBEXT_COMMON_PATH/libxt_CONNMARK.c",
61    "$LIBEXT_COMMON_PATH/libxt_CONNSECMARK.c",
62    "$LIBEXT_COMMON_PATH/libxt_conntrack.c",
63    "$LIBEXT_COMMON_PATH/libxt_cpu.c",
64    "$LIBEXT_COMMON_PATH/libxt_CT.c",
65    "$LIBEXT_COMMON_PATH/libxt_devgroup.c",
66    "$LIBEXT_COMMON_PATH/libxt_dscp.c",
67    "$LIBEXT_COMMON_PATH/libxt_DSCP.c",
68    "$LIBEXT_COMMON_PATH/libxt_ecn.c",
69    "$LIBEXT_COMMON_PATH/libxt_esp.c",
70    "$LIBEXT_COMMON_PATH/libxt_hashlimit.c",
71    "$LIBEXT_COMMON_PATH/libxt_helper.c",
72    "$LIBEXT_COMMON_PATH/libxt_HMARK.c",
73    "$LIBEXT_COMMON_PATH/libxt_IDLETIMER.c",
74    "$LIBEXT_COMMON_PATH/libxt_ipcomp.c",
75    "$LIBEXT_COMMON_PATH/libxt_iprange.c",
76    "$LIBEXT_COMMON_PATH/libxt_LED.c",
77    "$LIBEXT_COMMON_PATH/libxt_length.c",
78    "$LIBEXT_COMMON_PATH/libxt_limit.c",
79    "$LIBEXT_COMMON_PATH/libxt_LOG.c",
80    "$LIBEXT_COMMON_PATH/libxt_mac.c",
81    "$LIBEXT_COMMON_PATH/libxt_mark.c",
82    "$LIBEXT_COMMON_PATH/libxt_MARK.c",
83    "$LIBEXT_COMMON_PATH/libxt_multiport.c",
84    "$LIBEXT_COMMON_PATH/libxt_NAT.c",
85    "$LIBEXT_COMMON_PATH/libxt_nfacct.c",
86    "$LIBEXT_COMMON_PATH/libxt_NFLOG.c",
87    "$LIBEXT_COMMON_PATH/libxt_NFQUEUE.c",
88    "$LIBEXT_COMMON_PATH/libxt_osf.c",
89    "$LIBEXT_COMMON_PATH/libxt_owner.c",
90    "$LIBEXT_COMMON_PATH/libxt_physdev.c",
91    "$LIBEXT_COMMON_PATH/libxt_pkttype.c",
92    "$LIBEXT_COMMON_PATH/libxt_policy.c",
93    "$LIBEXT_COMMON_PATH/libxt_quota.c",
94    "$LIBEXT_COMMON_PATH/libxt_quota2.c",
95    "$LIBEXT_COMMON_PATH/libxt_rateest.c",
96    "$LIBEXT_COMMON_PATH/libxt_RATEEST.c",
97    "$LIBEXT_COMMON_PATH/libxt_recent.c",
98    "$LIBEXT_COMMON_PATH/libxt_rpfilter.c",
99    "$LIBEXT_COMMON_PATH/libxt_sctp.c",
100    "$LIBEXT_COMMON_PATH/libxt_SECMARK.c",
101    "$LIBEXT_COMMON_PATH/libxt_set.c",
102    "$LIBEXT_COMMON_PATH/libxt_SET.c",
103    "$LIBEXT_COMMON_PATH/libxt_socket.c",
104    "$LIBEXT_COMMON_PATH/libxt_standard.c",
105    "$LIBEXT_COMMON_PATH/libxt_statistic.c",
106    "$LIBEXT_COMMON_PATH/libxt_string.c",
107    "$LIBEXT_COMMON_PATH/libxt_SYNPROXY.c",
108    "$LIBEXT_COMMON_PATH/libxt_tcp.c",
109    "$LIBEXT_COMMON_PATH/libxt_tcpmss.c",
110    "$LIBEXT_COMMON_PATH/libxt_TCPMSS.c",
111    "$LIBEXT_COMMON_PATH/libxt_TEE.c",
112    "$LIBEXT_COMMON_PATH/libxt_time.c",
113    "$LIBEXT_COMMON_PATH/libxt_tos.c",
114    "$LIBEXT_COMMON_PATH/libxt_TOS.c",
115    "$LIBEXT_COMMON_PATH/libxt_TPROXY.c",
116    "$LIBEXT_COMMON_PATH/libxt_TRACE.c",
117    "$LIBEXT_COMMON_PATH/libxt_u32.c",
118    "$LIBEXT_COMMON_PATH/libxt_udp.c",
119  ]
120  include_dirs = [
121    "//third_party/iptables",
122    "//third_party/iptables/extensions",
123    "//third_party/iptables/include",
124    "//third_party/iptables/iptables",
125    "//third_party/iptables/libiptc",
126  ]
127  configs = [ ":ext_config" ]
128  deps = []
129  part_name = "iptables"
130  subsystem_name = "thirdparty"
131}
132
133args_libext4 = [
134  "libipt",
135  "[]",
136  "initext4.c",
137  "extensions4",
138]
139
140exec_script("genInit.py", args_libext4)
141
142ohos_static_library("libext4") {
143  sources = [
144    "$LIBEXT_COMMON_PATH/initext4.c",
145    "$LIBEXT_COMMON_PATH/libipt_ah.c",
146    "$LIBEXT_COMMON_PATH/libipt_CLUSTERIP.c",
147    "$LIBEXT_COMMON_PATH/libipt_ECN.c",
148    "$LIBEXT_COMMON_PATH/libipt_icmp.c",
149    "$LIBEXT_COMMON_PATH/libipt_NETMAP.c",
150    "$LIBEXT_COMMON_PATH/libipt_realm.c",
151    "$LIBEXT_COMMON_PATH/libipt_REJECT.c",
152    "$LIBEXT_COMMON_PATH/libipt_ttl.c",
153    "$LIBEXT_COMMON_PATH/libipt_TTL.c",
154    "$LIBEXT_COMMON_PATH/libipt_ULOG.c",
155  ]
156  include_dirs = [
157    "//third_party/iptables",
158    "//third_party/iptables/extensions",
159    "//third_party/iptables/include",
160    "//third_party/iptables/iptables",
161    "//third_party/iptables/libiptc",
162  ]
163  cflags = [
164    "-D_LARGEFILE_SOURCE=1",
165    "-D_LARGE_FILES",
166    "-D_FILE_OFFSET_BITS=64",
167    "-D_REENTRANT",
168    "-DENABLE_IPV4",
169    "-DENABLE_IPV6",
170    "-Wall",
171    "-Werror",
172    "-Wno-pointer-arith",
173    "-Wno-sign-compare",
174    "-Wno-unused-parameter",
175    "-DNO_SHARED_LIBS=1",
176    "-DXTABLES_INTERNAL",
177    "-Wno-format",
178    "-Wno-missing-field-initializers",
179    "-Wno-pointer-bool-conversion",
180    "-Wno-tautological-pointer-compare",
181  ]
182  deps = []
183  part_name = "iptables"
184  subsystem_name = "thirdparty"
185}
186
187args_libext6 = [
188  "libip6t_",
189  "[]",
190  "initext6.c",
191  "extensions6",
192]
193
194exec_script("genInit.py", args_libext6)
195
196ohos_static_library("libext6") {
197  sources = [
198    "$LIBEXT_COMMON_PATH/initext6.c",
199    "$LIBEXT_COMMON_PATH/libip6t_ah.c",
200    "$LIBEXT_COMMON_PATH/libip6t_DNPT.c",
201    "$LIBEXT_COMMON_PATH/libip6t_dst.c",
202    "$LIBEXT_COMMON_PATH/libip6t_eui64.c",
203    "$LIBEXT_COMMON_PATH/libip6t_frag.c",
204    "$LIBEXT_COMMON_PATH/libip6t_hbh.c",
205    "$LIBEXT_COMMON_PATH/libip6t_hl.c",
206    "$LIBEXT_COMMON_PATH/libip6t_HL.c",
207    "$LIBEXT_COMMON_PATH/libip6t_icmp6.c",
208    "$LIBEXT_COMMON_PATH/libip6t_ipv6header.c",
209    "$LIBEXT_COMMON_PATH/libip6t_mh.c",
210    "$LIBEXT_COMMON_PATH/libip6t_NETMAP.c",
211    "$LIBEXT_COMMON_PATH/libip6t_REJECT.c",
212    "$LIBEXT_COMMON_PATH/libip6t_rt.c",
213    "$LIBEXT_COMMON_PATH/libip6t_SNPT.c",
214    "$LIBEXT_COMMON_PATH/libip6t_srh.c",
215  ]
216  include_dirs = [
217    "//third_party/iptables",
218    "//third_party/iptables/extensions",
219    "//third_party/iptables/include",
220    "//third_party/iptables/iptables",
221    "//third_party/iptables/libiptc",
222  ]
223  license_file = "//third_party/iptables/COPYING"
224  cflags = [
225    "-D_LARGEFILE_SOURCE=1",
226    "-D_LARGE_FILES",
227    "-D_FILE_OFFSET_BITS=64",
228    "-D_REENTRANT",
229    "-DENABLE_IPV4",
230    "-DENABLE_IPV6",
231    "-Wall",
232    "-Werror",
233    "-Wno-pointer-arith",
234    "-Wno-sign-compare",
235    "-Wno-unused-parameter",
236    "-DNO_SHARED_LIBS=1",
237    "-DXTABLES_INTERNAL",
238    "-Wno-format",
239    "-Wno-missing-field-initializers",
240    "-Wno-pointer-bool-conversion",
241    "-Wno-tautological-pointer-compare",
242  ]
243  deps = []
244  part_name = "iptables"
245  subsystem_name = "thirdparty"
246}
247