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