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