1*1c60b9acSAndroid Build Coastguard Worker// Copyright (C) 2020 The Android Open Source Project 2*1c60b9acSAndroid Build Coastguard Worker// 3*1c60b9acSAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License"); 4*1c60b9acSAndroid Build Coastguard Worker// you may not use this file except in compliance with the License. 5*1c60b9acSAndroid Build Coastguard Worker// You may obtain a copy of the License at 6*1c60b9acSAndroid Build Coastguard Worker// 7*1c60b9acSAndroid Build Coastguard Worker// http://www.apache.org/licenses/LICENSE-2.0 8*1c60b9acSAndroid Build Coastguard Worker// 9*1c60b9acSAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software 10*1c60b9acSAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS, 11*1c60b9acSAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12*1c60b9acSAndroid Build Coastguard Worker// See the License for the specific language governing permissions and 13*1c60b9acSAndroid Build Coastguard Worker// limitations under the License. 14*1c60b9acSAndroid Build Coastguard Worker 15*1c60b9acSAndroid Build Coastguard Worker// Common variables. 16*1c60b9acSAndroid Build Coastguard Workerpackage { 17*1c60b9acSAndroid Build Coastguard Worker default_applicable_licenses: ["external_libwebsockets_license"], 18*1c60b9acSAndroid Build Coastguard Worker} 19*1c60b9acSAndroid Build Coastguard Worker 20*1c60b9acSAndroid Build Coastguard Worker// Added automatically by a large-scale-change that took the approach of 21*1c60b9acSAndroid Build Coastguard Worker// 'apply every license found to every target'. While this makes sure we respect 22*1c60b9acSAndroid Build Coastguard Worker// every license restriction, it may not be entirely correct. 23*1c60b9acSAndroid Build Coastguard Worker// 24*1c60b9acSAndroid Build Coastguard Worker// e.g. GPL in an MIT project might only apply to the contrib/ directory. 25*1c60b9acSAndroid Build Coastguard Worker// 26*1c60b9acSAndroid Build Coastguard Worker// Please consider splitting the single license below into multiple licenses, 27*1c60b9acSAndroid Build Coastguard Worker// taking care not to lose any license_kind information, and overriding the 28*1c60b9acSAndroid Build Coastguard Worker// default license using the 'licenses: [...]' property on targets as needed. 29*1c60b9acSAndroid Build Coastguard Worker// 30*1c60b9acSAndroid Build Coastguard Worker// For unused files, consider creating a 'fileGroup' with "//visibility:private" 31*1c60b9acSAndroid Build Coastguard Worker// to attach the license to, and including a comment whether the files may be 32*1c60b9acSAndroid Build Coastguard Worker// used in the current project. 33*1c60b9acSAndroid Build Coastguard Worker// See: http://go/android-license-faq 34*1c60b9acSAndroid Build Coastguard Workerlicense { 35*1c60b9acSAndroid Build Coastguard Worker name: "external_libwebsockets_license", 36*1c60b9acSAndroid Build Coastguard Worker visibility: [":__subpackages__"], 37*1c60b9acSAndroid Build Coastguard Worker license_kinds: [ 38*1c60b9acSAndroid Build Coastguard Worker "SPDX-license-identifier-Apache-2.0", 39*1c60b9acSAndroid Build Coastguard Worker "SPDX-license-identifier-BSD", 40*1c60b9acSAndroid Build Coastguard Worker "SPDX-license-identifier-Beerware", 41*1c60b9acSAndroid Build Coastguard Worker "SPDX-license-identifier-CC0-1.0", 42*1c60b9acSAndroid Build Coastguard Worker "SPDX-license-identifier-GPL", 43*1c60b9acSAndroid Build Coastguard Worker "SPDX-license-identifier-LGPL", 44*1c60b9acSAndroid Build Coastguard Worker "SPDX-license-identifier-MIT", 45*1c60b9acSAndroid Build Coastguard Worker "SPDX-license-identifier-Zlib", 46*1c60b9acSAndroid Build Coastguard Worker "legacy_permissive", 47*1c60b9acSAndroid Build Coastguard Worker "legacy_unencumbered", 48*1c60b9acSAndroid Build Coastguard Worker ], 49*1c60b9acSAndroid Build Coastguard Worker license_text: [ 50*1c60b9acSAndroid Build Coastguard Worker "LICENSE", 51*1c60b9acSAndroid Build Coastguard Worker ], 52*1c60b9acSAndroid Build Coastguard Worker} 53*1c60b9acSAndroid Build Coastguard Worker 54*1c60b9acSAndroid Build Coastguard WorkerlibwebsocketsSrcFiles = [ 55*1c60b9acSAndroid Build Coastguard Worker "lib/core-net/adopt.c", 56*1c60b9acSAndroid Build Coastguard Worker "lib/core-net/client/client.c", 57*1c60b9acSAndroid Build Coastguard Worker "lib/core-net/client/conmon.c", 58*1c60b9acSAndroid Build Coastguard Worker "lib/core-net/client/connect.c", 59*1c60b9acSAndroid Build Coastguard Worker "lib/core-net/client/connect2.c", 60*1c60b9acSAndroid Build Coastguard Worker "lib/core-net/client/connect3.c", 61*1c60b9acSAndroid Build Coastguard Worker "lib/core-net/client/connect4.c", 62*1c60b9acSAndroid Build Coastguard Worker "lib/core-net/client/sort-dns.c", 63*1c60b9acSAndroid Build Coastguard Worker "lib/core-net/close.c", 64*1c60b9acSAndroid Build Coastguard Worker "lib/core-net/dummy-callback.c", 65*1c60b9acSAndroid Build Coastguard Worker "lib/core-net/network.c", 66*1c60b9acSAndroid Build Coastguard Worker "lib/core-net/output.c", 67*1c60b9acSAndroid Build Coastguard Worker "lib/core-net/pollfd.c", 68*1c60b9acSAndroid Build Coastguard Worker "lib/core-net/service.c", 69*1c60b9acSAndroid Build Coastguard Worker "lib/core-net/sorted-usec-list.c", 70*1c60b9acSAndroid Build Coastguard Worker "lib/core-net/state.c", 71*1c60b9acSAndroid Build Coastguard Worker "lib/core-net/vhost.c", 72*1c60b9acSAndroid Build Coastguard Worker "lib/core-net/wsi-timeout.c", 73*1c60b9acSAndroid Build Coastguard Worker "lib/core-net/wsi.c", 74*1c60b9acSAndroid Build Coastguard Worker "lib/core/alloc.c", 75*1c60b9acSAndroid Build Coastguard Worker "lib/core/buflist.c", 76*1c60b9acSAndroid Build Coastguard Worker "lib/core/context.c", 77*1c60b9acSAndroid Build Coastguard Worker "lib/core/libwebsockets.c", 78*1c60b9acSAndroid Build Coastguard Worker "lib/core/logs.c", 79*1c60b9acSAndroid Build Coastguard Worker "lib/core/lws_dll2.c", 80*1c60b9acSAndroid Build Coastguard Worker "lib/core/lws_map.c", 81*1c60b9acSAndroid Build Coastguard Worker "lib/core/vfs.c", 82*1c60b9acSAndroid Build Coastguard Worker "lib/event-libs/poll/poll.c", 83*1c60b9acSAndroid Build Coastguard Worker "lib/misc/base64-decode.c", 84*1c60b9acSAndroid Build Coastguard Worker "lib/misc/cache-ttl/file.c", 85*1c60b9acSAndroid Build Coastguard Worker "lib/misc/cache-ttl/heap.c", 86*1c60b9acSAndroid Build Coastguard Worker "lib/misc/cache-ttl/lws-cache-ttl.c", 87*1c60b9acSAndroid Build Coastguard Worker "lib/misc/dir.c", 88*1c60b9acSAndroid Build Coastguard Worker "lib/misc/lejp.c", 89*1c60b9acSAndroid Build Coastguard Worker "lib/misc/lws-ring.c", 90*1c60b9acSAndroid Build Coastguard Worker "lib/misc/lwsac/cached-file.c", 91*1c60b9acSAndroid Build Coastguard Worker "lib/misc/lwsac/lwsac.c", 92*1c60b9acSAndroid Build Coastguard Worker "lib/misc/prng.c", 93*1c60b9acSAndroid Build Coastguard Worker "lib/misc/sha-1.c", 94*1c60b9acSAndroid Build Coastguard Worker "lib/plat/unix/unix-caps.c", 95*1c60b9acSAndroid Build Coastguard Worker "lib/plat/unix/unix-fds.c", 96*1c60b9acSAndroid Build Coastguard Worker "lib/plat/unix/unix-file.c", 97*1c60b9acSAndroid Build Coastguard Worker "lib/plat/unix/unix-init.c", 98*1c60b9acSAndroid Build Coastguard Worker "lib/plat/unix/unix-misc.c", 99*1c60b9acSAndroid Build Coastguard Worker "lib/plat/unix/unix-pipe.c", 100*1c60b9acSAndroid Build Coastguard Worker "lib/plat/unix/unix-service.c", 101*1c60b9acSAndroid Build Coastguard Worker "lib/plat/unix/unix-sockets.c", 102*1c60b9acSAndroid Build Coastguard Worker "lib/roles/h1/ops-h1.c", 103*1c60b9acSAndroid Build Coastguard Worker "lib/roles/h2/hpack.c", 104*1c60b9acSAndroid Build Coastguard Worker "lib/roles/h2/http2.c", 105*1c60b9acSAndroid Build Coastguard Worker "lib/roles/h2/ops-h2.c", 106*1c60b9acSAndroid Build Coastguard Worker "lib/roles/http/client/client-http.c", 107*1c60b9acSAndroid Build Coastguard Worker "lib/roles/http/cookie.c", 108*1c60b9acSAndroid Build Coastguard Worker "lib/roles/http/date.c", 109*1c60b9acSAndroid Build Coastguard Worker "lib/roles/http/header.c", 110*1c60b9acSAndroid Build Coastguard Worker "lib/roles/http/parsers.c", 111*1c60b9acSAndroid Build Coastguard Worker "lib/roles/http/server/lejp-conf.c", 112*1c60b9acSAndroid Build Coastguard Worker "lib/roles/http/server/lws-spa.c", 113*1c60b9acSAndroid Build Coastguard Worker "lib/roles/http/server/server.c", 114*1c60b9acSAndroid Build Coastguard Worker "lib/roles/listen/ops-listen.c", 115*1c60b9acSAndroid Build Coastguard Worker "lib/roles/pipe/ops-pipe.c", 116*1c60b9acSAndroid Build Coastguard Worker "lib/roles/raw-file/ops-raw-file.c", 117*1c60b9acSAndroid Build Coastguard Worker "lib/roles/raw-skt/ops-raw-skt.c", 118*1c60b9acSAndroid Build Coastguard Worker "lib/roles/ws/client-parser-ws.c", 119*1c60b9acSAndroid Build Coastguard Worker "lib/roles/ws/client-ws.c", 120*1c60b9acSAndroid Build Coastguard Worker "lib/roles/ws/ops-ws.c", 121*1c60b9acSAndroid Build Coastguard Worker "lib/roles/ws/server-ws.c", 122*1c60b9acSAndroid Build Coastguard Worker "lib/system/smd/smd.c", 123*1c60b9acSAndroid Build Coastguard Worker "lib/system/system.c", 124*1c60b9acSAndroid Build Coastguard Worker "lib/tls/openssl/openssl-client.c", 125*1c60b9acSAndroid Build Coastguard Worker "lib/tls/openssl/openssl-server.c", 126*1c60b9acSAndroid Build Coastguard Worker "lib/tls/openssl/openssl-session.c", 127*1c60b9acSAndroid Build Coastguard Worker "lib/tls/openssl/openssl-ssl.c", 128*1c60b9acSAndroid Build Coastguard Worker "lib/tls/openssl/openssl-tls.c", 129*1c60b9acSAndroid Build Coastguard Worker "lib/tls/openssl/openssl-x509.c", 130*1c60b9acSAndroid Build Coastguard Worker "lib/tls/tls-client.c", 131*1c60b9acSAndroid Build Coastguard Worker "lib/tls/tls-network.c", 132*1c60b9acSAndroid Build Coastguard Worker "lib/tls/tls-server.c", 133*1c60b9acSAndroid Build Coastguard Worker "lib/tls/tls-sessions.c", 134*1c60b9acSAndroid Build Coastguard Worker "lib/tls/tls.c", 135*1c60b9acSAndroid Build Coastguard Worker] 136*1c60b9acSAndroid Build Coastguard Worker 137*1c60b9acSAndroid Build Coastguard WorkerlibwebsocketsIncludePath = [ 138*1c60b9acSAndroid Build Coastguard Worker "plugins", 139*1c60b9acSAndroid Build Coastguard Worker "lib/core", 140*1c60b9acSAndroid Build Coastguard Worker "lib/core-net", 141*1c60b9acSAndroid Build Coastguard Worker "lib/event-libs", 142*1c60b9acSAndroid Build Coastguard Worker "lib/abstract", 143*1c60b9acSAndroid Build Coastguard Worker "lib/tls", 144*1c60b9acSAndroid Build Coastguard Worker "lib/roles", 145*1c60b9acSAndroid Build Coastguard Worker "lib/event-libs/libuv", 146*1c60b9acSAndroid Build Coastguard Worker "lib/event-libs/poll", 147*1c60b9acSAndroid Build Coastguard Worker "lib/event-libs/libevent", 148*1c60b9acSAndroid Build Coastguard Worker "lib/event-libs/glib", 149*1c60b9acSAndroid Build Coastguard Worker "lib/event-libs/libev", 150*1c60b9acSAndroid Build Coastguard Worker "lib/jose/jwe", 151*1c60b9acSAndroid Build Coastguard Worker "lib/jose/jws", 152*1c60b9acSAndroid Build Coastguard Worker "lib/jose", 153*1c60b9acSAndroid Build Coastguard Worker "lib/misc", 154*1c60b9acSAndroid Build Coastguard Worker "lib/roles/http", 155*1c60b9acSAndroid Build Coastguard Worker "lib/roles/http/compression", 156*1c60b9acSAndroid Build Coastguard Worker "lib/roles/h1", 157*1c60b9acSAndroid Build Coastguard Worker "lib/roles/h2", 158*1c60b9acSAndroid Build Coastguard Worker "lib/roles/ws", 159*1c60b9acSAndroid Build Coastguard Worker "lib/roles/cgi", 160*1c60b9acSAndroid Build Coastguard Worker "lib/roles/dbus", 161*1c60b9acSAndroid Build Coastguard Worker "lib/roles/raw-proxy", 162*1c60b9acSAndroid Build Coastguard Worker "lib/abstract", 163*1c60b9acSAndroid Build Coastguard Worker "lib/system/async-dns", 164*1c60b9acSAndroid Build Coastguard Worker "lib/system/smd", 165*1c60b9acSAndroid Build Coastguard Worker "lib/system/metrics", 166*1c60b9acSAndroid Build Coastguard Worker "lib/roles/mqtt", 167*1c60b9acSAndroid Build Coastguard Worker "lib/plat/unix", 168*1c60b9acSAndroid Build Coastguard Worker "lib", 169*1c60b9acSAndroid Build Coastguard Worker] 170*1c60b9acSAndroid Build Coastguard Worker 171*1c60b9acSAndroid Build Coastguard Workercc_library_static { 172*1c60b9acSAndroid Build Coastguard Worker name: "libwebsockets", 173*1c60b9acSAndroid Build Coastguard Worker srcs: libwebsocketsSrcFiles, 174*1c60b9acSAndroid Build Coastguard Worker local_include_dirs: libwebsocketsIncludePath, 175*1c60b9acSAndroid Build Coastguard Worker export_include_dirs: ["include"], 176*1c60b9acSAndroid Build Coastguard Worker static_libs: [ 177*1c60b9acSAndroid Build Coastguard Worker "libssl", 178*1c60b9acSAndroid Build Coastguard Worker "libcap", 179*1c60b9acSAndroid Build Coastguard Worker ], 180*1c60b9acSAndroid Build Coastguard Worker host_supported: true, 181*1c60b9acSAndroid Build Coastguard Worker product_variables: { 182*1c60b9acSAndroid Build Coastguard Worker debuggable: { 183*1c60b9acSAndroid Build Coastguard Worker cflags: [ 184*1c60b9acSAndroid Build Coastguard Worker "-UNDEBUG", 185*1c60b9acSAndroid Build Coastguard Worker ], 186*1c60b9acSAndroid Build Coastguard Worker }, 187*1c60b9acSAndroid Build Coastguard Worker }, 188*1c60b9acSAndroid Build Coastguard Worker target: { 189*1c60b9acSAndroid Build Coastguard Worker darwin: { 190*1c60b9acSAndroid Build Coastguard Worker enabled: false, 191*1c60b9acSAndroid Build Coastguard Worker }, 192*1c60b9acSAndroid Build Coastguard Worker android: { 193*1c60b9acSAndroid Build Coastguard Worker shared_libs: [ 194*1c60b9acSAndroid Build Coastguard Worker "libcrypto", 195*1c60b9acSAndroid Build Coastguard Worker ], 196*1c60b9acSAndroid Build Coastguard Worker cflags: [ 197*1c60b9acSAndroid Build Coastguard Worker "-Wno-unused-parameter", 198*1c60b9acSAndroid Build Coastguard Worker "-Wno-missing-field-initializers", 199*1c60b9acSAndroid Build Coastguard Worker ], 200*1c60b9acSAndroid Build Coastguard Worker }, 201*1c60b9acSAndroid Build Coastguard Worker host: { 202*1c60b9acSAndroid Build Coastguard Worker static_libs: [ 203*1c60b9acSAndroid Build Coastguard Worker "libcrypto", 204*1c60b9acSAndroid Build Coastguard Worker ], 205*1c60b9acSAndroid Build Coastguard Worker cflags: [ 206*1c60b9acSAndroid Build Coastguard Worker "-UNDEBUG", 207*1c60b9acSAndroid Build Coastguard Worker "-Wall", 208*1c60b9acSAndroid Build Coastguard Worker "-Wsign-compare", 209*1c60b9acSAndroid Build Coastguard Worker "-Wstrict-aliasing", 210*1c60b9acSAndroid Build Coastguard Worker "-Wuninitialized", 211*1c60b9acSAndroid Build Coastguard Worker "-Werror", 212*1c60b9acSAndroid Build Coastguard Worker "-fvisibility=hidden", 213*1c60b9acSAndroid Build Coastguard Worker "-Wundef", 214*1c60b9acSAndroid Build Coastguard Worker "-Wtype-limits", 215*1c60b9acSAndroid Build Coastguard Worker "-Wignored-qualifiers", 216*1c60b9acSAndroid Build Coastguard Worker "-Wno-deprecated-declarations", 217*1c60b9acSAndroid Build Coastguard Worker "-pthread", 218*1c60b9acSAndroid Build Coastguard Worker "-Wno-unused-command-line-argument", 219*1c60b9acSAndroid Build Coastguard Worker "-Wno-unused-parameter", 220*1c60b9acSAndroid Build Coastguard Worker ], 221*1c60b9acSAndroid Build Coastguard Worker }, 222*1c60b9acSAndroid Build Coastguard Worker }, 223*1c60b9acSAndroid Build Coastguard Worker} 224