xref: /aosp_15_r20/external/libsrtp2/Android.bp (revision 90e502c7aef8d77d0622bb67d75435c6190cfc1a)
1*90e502c7SAndroid Build Coastguard Workerpackage {
2*90e502c7SAndroid Build Coastguard Worker    default_applicable_licenses: ["external_libsrtp2_license"],
3*90e502c7SAndroid Build Coastguard Worker}
4*90e502c7SAndroid Build Coastguard Worker
5*90e502c7SAndroid Build Coastguard Worker// Added automatically by a large-scale-change that took the approach of
6*90e502c7SAndroid Build Coastguard Worker// 'apply every license found to every target'. While this makes sure we respect
7*90e502c7SAndroid Build Coastguard Worker// every license restriction, it may not be entirely correct.
8*90e502c7SAndroid Build Coastguard Worker//
9*90e502c7SAndroid Build Coastguard Worker// e.g. GPL in an MIT project might only apply to the contrib/ directory.
10*90e502c7SAndroid Build Coastguard Worker//
11*90e502c7SAndroid Build Coastguard Worker// Please consider splitting the single license below into multiple licenses,
12*90e502c7SAndroid Build Coastguard Worker// taking care not to lose any license_kind information, and overriding the
13*90e502c7SAndroid Build Coastguard Worker// default license using the 'licenses: [...]' property on targets as needed.
14*90e502c7SAndroid Build Coastguard Worker//
15*90e502c7SAndroid Build Coastguard Worker// For unused files, consider creating a 'fileGroup' with "//visibility:private"
16*90e502c7SAndroid Build Coastguard Worker// to attach the license to, and including a comment whether the files may be
17*90e502c7SAndroid Build Coastguard Worker// used in the current project.
18*90e502c7SAndroid Build Coastguard Worker// See: http://go/android-license-faq
19*90e502c7SAndroid Build Coastguard Workerlicense {
20*90e502c7SAndroid Build Coastguard Worker    name: "external_libsrtp2_license",
21*90e502c7SAndroid Build Coastguard Worker    visibility: [":__subpackages__"],
22*90e502c7SAndroid Build Coastguard Worker    license_kinds: [
23*90e502c7SAndroid Build Coastguard Worker        "SPDX-license-identifier-BSD",
24*90e502c7SAndroid Build Coastguard Worker        "SPDX-license-identifier-MIT",
25*90e502c7SAndroid Build Coastguard Worker        "legacy_unencumbered",
26*90e502c7SAndroid Build Coastguard Worker    ],
27*90e502c7SAndroid Build Coastguard Worker    license_text: [
28*90e502c7SAndroid Build Coastguard Worker        "LICENSE",
29*90e502c7SAndroid Build Coastguard Worker    ],
30*90e502c7SAndroid Build Coastguard Worker}
31*90e502c7SAndroid Build Coastguard Worker
32*90e502c7SAndroid Build Coastguard Workercc_library_static {
33*90e502c7SAndroid Build Coastguard Worker    host_supported: true,
34*90e502c7SAndroid Build Coastguard Worker    // vendor needed for libpreprocessing effects.
35*90e502c7SAndroid Build Coastguard Worker    vendor: true,
36*90e502c7SAndroid Build Coastguard Worker    name: "libsrtp2",
37*90e502c7SAndroid Build Coastguard Worker    srcs: [
38*90e502c7SAndroid Build Coastguard Worker        "crypto/cipher/aes.c",
39*90e502c7SAndroid Build Coastguard Worker        "crypto/cipher/aes_icm.c",
40*90e502c7SAndroid Build Coastguard Worker        "crypto/cipher/cipher.c",
41*90e502c7SAndroid Build Coastguard Worker        "crypto/cipher/null_cipher.c",
42*90e502c7SAndroid Build Coastguard Worker        "crypto/hash/auth.c",
43*90e502c7SAndroid Build Coastguard Worker        "crypto/hash/hmac.c",
44*90e502c7SAndroid Build Coastguard Worker        "crypto/hash/null_auth.c",
45*90e502c7SAndroid Build Coastguard Worker        "crypto/hash/sha1.c",
46*90e502c7SAndroid Build Coastguard Worker        "crypto/kernel/alloc.c",
47*90e502c7SAndroid Build Coastguard Worker        "crypto/kernel/crypto_kernel.c",
48*90e502c7SAndroid Build Coastguard Worker        "crypto/kernel/err.c",
49*90e502c7SAndroid Build Coastguard Worker        "crypto/kernel/key.c",
50*90e502c7SAndroid Build Coastguard Worker        "crypto/math/datatypes.c",
51*90e502c7SAndroid Build Coastguard Worker        "crypto/math/stat.c",
52*90e502c7SAndroid Build Coastguard Worker        "crypto/replay/rdb.c",
53*90e502c7SAndroid Build Coastguard Worker        "crypto/replay/rdbx.c",
54*90e502c7SAndroid Build Coastguard Worker        "crypto/replay/ut_sim.c",
55*90e502c7SAndroid Build Coastguard Worker        "srtp/ekt.c",
56*90e502c7SAndroid Build Coastguard Worker        "srtp/srtp.c",
57*90e502c7SAndroid Build Coastguard Worker    ],
58*90e502c7SAndroid Build Coastguard Worker    local_include_dirs: [
59*90e502c7SAndroid Build Coastguard Worker        "crypto/include",
60*90e502c7SAndroid Build Coastguard Worker        "include",
61*90e502c7SAndroid Build Coastguard Worker    ],
62*90e502c7SAndroid Build Coastguard Worker    cflags: [
63*90e502c7SAndroid Build Coastguard Worker        "-Wno-unused-parameter",
64*90e502c7SAndroid Build Coastguard Worker        "-DHAVE_CONFIG_H",
65*90e502c7SAndroid Build Coastguard Worker    ],
66*90e502c7SAndroid Build Coastguard Worker    export_include_dirs: [
67*90e502c7SAndroid Build Coastguard Worker        "crypto/include",
68*90e502c7SAndroid Build Coastguard Worker        "include",
69*90e502c7SAndroid Build Coastguard Worker        "exported_include",
70*90e502c7SAndroid Build Coastguard Worker    ],
71*90e502c7SAndroid Build Coastguard Worker    visibility: [
72*90e502c7SAndroid Build Coastguard Worker        "//external/webrtc:__subpackages__",
73*90e502c7SAndroid Build Coastguard Worker        "//device/google/cuttlefish/host/frontend/webrtc:__subpackages__",
74*90e502c7SAndroid Build Coastguard Worker    ],
75*90e502c7SAndroid Build Coastguard Worker}
76*90e502c7SAndroid Build Coastguard Worker
77*90e502c7SAndroid Build Coastguard Workercc_fuzz {
78*90e502c7SAndroid Build Coastguard Worker    name: "libsrtp2-fuzzer",
79*90e502c7SAndroid Build Coastguard Worker    host_supported: true,
80*90e502c7SAndroid Build Coastguard Worker    vendor: true,
81*90e502c7SAndroid Build Coastguard Worker    static_libs: ["libsrtp2"],
82*90e502c7SAndroid Build Coastguard Worker    cflags: [
83*90e502c7SAndroid Build Coastguard Worker        "-Wno-unused-parameter",
84*90e502c7SAndroid Build Coastguard Worker    ],
85*90e502c7SAndroid Build Coastguard Worker    srcs: [
86*90e502c7SAndroid Build Coastguard Worker        "fuzzer/fuzzer.c",
87*90e502c7SAndroid Build Coastguard Worker        "fuzzer/mt19937.cpp",
88*90e502c7SAndroid Build Coastguard Worker        "fuzzer/testmem.c",
89*90e502c7SAndroid Build Coastguard Worker    ],
90*90e502c7SAndroid Build Coastguard Worker    // There are so many corpus files that when all are used it
91*90e502c7SAndroid Build Coastguard Worker    // exceeds the posix_spawn limit. So, only some of the files
92*90e502c7SAndroid Build Coastguard Worker    // are used.
93*90e502c7SAndroid Build Coastguard Worker    corpus: ["fuzzer/corpus/0*"],
94*90e502c7SAndroid Build Coastguard Worker    fuzzing_frameworks: {
95*90e502c7SAndroid Build Coastguard Worker        afl: false,
96*90e502c7SAndroid Build Coastguard Worker    },
97*90e502c7SAndroid Build Coastguard Worker    fuzz_config: {
98*90e502c7SAndroid Build Coastguard Worker        componentid: 87896,
99*90e502c7SAndroid Build Coastguard Worker    },
100*90e502c7SAndroid Build Coastguard Worker}
101