| // Copyright (C) 2020 The Android Open Source Project |
| // |
| // Licensed under the Apache License, Version 2.0 (the "License"); |
| // you may not use this file except in compliance with the License. |
| // You may obtain a copy of the License at |
| // |
| // http://www.apache.org/licenses/LICENSE-2.0 |
| // |
| // Unless required by applicable law or agreed to in writing, software |
| // distributed under the License is distributed on an "AS IS" BASIS, |
| // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| // See the License for the specific language governing permissions and |
| // limitations under the License. |
| |
| // Common variables. |
| package { |
| default_applicable_licenses: ["external_libwebsockets_license"], |
| } |
| |
| // Added automatically by a large-scale-change that took the approach of |
| // 'apply every license found to every target'. While this makes sure we respect |
| // every license restriction, it may not be entirely correct. |
| // |
| // e.g. GPL in an MIT project might only apply to the contrib/ directory. |
| // |
| // Please consider splitting the single license below into multiple licenses, |
| // taking care not to lose any license_kind information, and overriding the |
| // default license using the 'licenses: [...]' property on targets as needed. |
| // |
| // For unused files, consider creating a 'fileGroup' with "//visibility:private" |
| // to attach the license to, and including a comment whether the files may be |
| // used in the current project. |
| // See: http://go/android-license-faq |
| license { |
| name: "external_libwebsockets_license", |
| visibility: [":__subpackages__"], |
| license_kinds: [ |
| "SPDX-license-identifier-Apache-2.0", |
| "SPDX-license-identifier-BSD", |
| "SPDX-license-identifier-Beerware", |
| "SPDX-license-identifier-CC0-1.0", |
| "SPDX-license-identifier-GPL", |
| "SPDX-license-identifier-LGPL", |
| "SPDX-license-identifier-MIT", |
| "SPDX-license-identifier-Zlib", |
| "legacy_permissive", |
| "legacy_unencumbered", |
| ], |
| license_text: [ |
| "LICENSE", |
| ], |
| } |
| |
| libwebsocketsSrcFiles = [ |
| "lib/core-net/adopt.c", |
| "lib/core-net/client/client.c", |
| "lib/core-net/client/conmon.c", |
| "lib/core-net/client/connect.c", |
| "lib/core-net/client/connect2.c", |
| "lib/core-net/client/connect3.c", |
| "lib/core-net/client/connect4.c", |
| "lib/core-net/client/sort-dns.c", |
| "lib/core-net/close.c", |
| "lib/core-net/dummy-callback.c", |
| "lib/core-net/network.c", |
| "lib/core-net/output.c", |
| "lib/core-net/pollfd.c", |
| "lib/core-net/service.c", |
| "lib/core-net/sorted-usec-list.c", |
| "lib/core-net/state.c", |
| "lib/core-net/vhost.c", |
| "lib/core-net/wsi-timeout.c", |
| "lib/core-net/wsi.c", |
| "lib/core/alloc.c", |
| "lib/core/buflist.c", |
| "lib/core/context.c", |
| "lib/core/libwebsockets.c", |
| "lib/core/logs.c", |
| "lib/core/lws_dll2.c", |
| "lib/core/lws_map.c", |
| "lib/core/vfs.c", |
| "lib/event-libs/poll/poll.c", |
| "lib/misc/base64-decode.c", |
| "lib/misc/cache-ttl/file.c", |
| "lib/misc/cache-ttl/heap.c", |
| "lib/misc/cache-ttl/lws-cache-ttl.c", |
| "lib/misc/dir.c", |
| "lib/misc/lejp.c", |
| "lib/misc/lws-ring.c", |
| "lib/misc/lwsac/cached-file.c", |
| "lib/misc/lwsac/lwsac.c", |
| "lib/misc/prng.c", |
| "lib/misc/sha-1.c", |
| "lib/plat/unix/unix-caps.c", |
| "lib/plat/unix/unix-fds.c", |
| "lib/plat/unix/unix-file.c", |
| "lib/plat/unix/unix-init.c", |
| "lib/plat/unix/unix-misc.c", |
| "lib/plat/unix/unix-pipe.c", |
| "lib/plat/unix/unix-service.c", |
| "lib/plat/unix/unix-sockets.c", |
| "lib/roles/h1/ops-h1.c", |
| "lib/roles/h2/hpack.c", |
| "lib/roles/h2/http2.c", |
| "lib/roles/h2/ops-h2.c", |
| "lib/roles/http/client/client-http.c", |
| "lib/roles/http/cookie.c", |
| "lib/roles/http/date.c", |
| "lib/roles/http/header.c", |
| "lib/roles/http/parsers.c", |
| "lib/roles/http/server/lejp-conf.c", |
| "lib/roles/http/server/lws-spa.c", |
| "lib/roles/http/server/server.c", |
| "lib/roles/listen/ops-listen.c", |
| "lib/roles/pipe/ops-pipe.c", |
| "lib/roles/raw-file/ops-raw-file.c", |
| "lib/roles/raw-skt/ops-raw-skt.c", |
| "lib/roles/ws/client-parser-ws.c", |
| "lib/roles/ws/client-ws.c", |
| "lib/roles/ws/ops-ws.c", |
| "lib/roles/ws/server-ws.c", |
| "lib/system/smd/smd.c", |
| "lib/system/system.c", |
| "lib/tls/openssl/openssl-client.c", |
| "lib/tls/openssl/openssl-server.c", |
| "lib/tls/openssl/openssl-session.c", |
| "lib/tls/openssl/openssl-ssl.c", |
| "lib/tls/openssl/openssl-tls.c", |
| "lib/tls/openssl/openssl-x509.c", |
| "lib/tls/tls-client.c", |
| "lib/tls/tls-network.c", |
| "lib/tls/tls-server.c", |
| "lib/tls/tls-sessions.c", |
| "lib/tls/tls.c", |
| ] |
| |
| libwebsocketsIncludePath = [ |
| "plugins", |
| "lib/core", |
| "lib/core-net", |
| "lib/event-libs", |
| "lib/abstract", |
| "lib/tls", |
| "lib/roles", |
| "lib/event-libs/libuv", |
| "lib/event-libs/poll", |
| "lib/event-libs/libevent", |
| "lib/event-libs/glib", |
| "lib/event-libs/libev", |
| "lib/jose/jwe", |
| "lib/jose/jws", |
| "lib/jose", |
| "lib/misc", |
| "lib/roles/http", |
| "lib/roles/http/compression", |
| "lib/roles/h1", |
| "lib/roles/h2", |
| "lib/roles/ws", |
| "lib/roles/cgi", |
| "lib/roles/dbus", |
| "lib/roles/raw-proxy", |
| "lib/abstract", |
| "lib/system/async-dns", |
| "lib/system/smd", |
| "lib/system/metrics", |
| "lib/roles/mqtt", |
| "lib/plat/unix", |
| "lib", |
| ] |
| |
| cc_library_static { |
| name: "libwebsockets", |
| srcs: libwebsocketsSrcFiles, |
| local_include_dirs: libwebsocketsIncludePath, |
| export_include_dirs: ["include"], |
| static_libs: [ |
| "libssl", |
| "libcap", |
| ], |
| c_std: "gnu17", |
| host_supported: true, |
| product_variables: { |
| debuggable: { |
| cflags: [ |
| "-UNDEBUG", |
| ], |
| }, |
| }, |
| target: { |
| darwin: { |
| enabled: false, |
| }, |
| android: { |
| shared_libs: [ |
| "libcrypto", |
| ], |
| cflags: [ |
| "-Wno-unused-parameter", |
| "-Wno-missing-field-initializers", |
| ], |
| }, |
| host: { |
| static_libs: [ |
| "libcrypto", |
| ], |
| cflags: [ |
| "-UNDEBUG", |
| "-Wall", |
| "-Wsign-compare", |
| "-Wstrict-aliasing", |
| "-Wuninitialized", |
| "-Werror", |
| "-fvisibility=hidden", |
| "-Wundef", |
| "-Wtype-limits", |
| "-Wignored-qualifiers", |
| "-Wno-deprecated-declarations", |
| "-pthread", |
| "-Wno-unused-command-line-argument", |
| "-Wno-unused-parameter", |
| "-Wno-implicit-function-declaration", |
| ], |
| }, |
| }, |
| } |