xref: /aosp_15_r20/external/cronet/third_party/netty-tcnative/BUILD.gn (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
1# Copyright 2016 The Chromium Authors
2# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
5# Builds the Netty fork of Tomcat Native. See http://netty.io/wiki/forked-tomcat-native.html
6
7import("//build/config/android/config.gni")
8import("//build/config/android/rules.gni")
9
10# Builds the native part of netty-tcnative library.
11shared_library("netty-tcnative-so") {
12  output_name = "netty-tcnative"
13  sources = [
14    "src/c/bb.c",
15    "src/c/error.c",
16    "src/c/jnilib.c",
17    "src/c/native_constants.c",
18    "src/c/ssl.c",
19    "src/c/ssl_private.h",
20    "src/c/sslcontext.c",
21    "src/c/sslutils.c",
22    "src/c/tcn.h",
23  ]
24  include_dirs = [ "//third_party/apache-portable-runtime/src/include" ]
25  defines = [ "HAVE_OPENSSL" ]
26  cflags = [ "-w" ]
27  configs -= [ "//build/config/android:hide_all_but_jni_onload" ]
28  deps = [
29    "//third_party/apache-portable-runtime:apr",
30    "//third_party/boringssl:boringssl",
31  ]
32}
33
34# Builds the Java part of netty-tcnative library.
35android_library("netty-tcnative_java") {
36  sources = [
37    "src/java/io/netty/internal/tcnative/Buffer.java",
38    "src/java/io/netty/internal/tcnative/CertificateRequestedCallback.java",
39    "src/java/io/netty/internal/tcnative/CertificateVerifier.java",
40    "src/java/io/netty/internal/tcnative/Library.java",
41    "src/java/io/netty/internal/tcnative/NativeStaticallyReferencedJniMethods.java",
42    "src/java/io/netty/internal/tcnative/SSL.java",
43    "src/java/io/netty/internal/tcnative/SSLContext.java",
44    "src/java/io/netty/internal/tcnative/SessionTicketKey.java",
45  ]
46  deps = [
47    "//base:base_java",
48    "//build/android:build_java",
49    "//third_party/jni_zero:jni_zero_java",
50  ]
51}
52