xref: /aosp_15_r20/external/libprotobuf-mutator/Android.bp (revision fd525a9c096e28cf6f8d8719388df0568a611e7b)
1*fd525a9cSAndroid Build Coastguard Worker/*
2*fd525a9cSAndroid Build Coastguard Worker * Copyright 2019 The Android Open Source Project
3*fd525a9cSAndroid Build Coastguard Worker *
4*fd525a9cSAndroid Build Coastguard Worker * Licensed under the Apache License, Version 2.0 (the "License");
5*fd525a9cSAndroid Build Coastguard Worker * you may not use this file except in compliance with the License.
6*fd525a9cSAndroid Build Coastguard Worker * You may obtain a copy of the License at
7*fd525a9cSAndroid Build Coastguard Worker *
8*fd525a9cSAndroid Build Coastguard Worker *      http://www.apache.org/licenses/LICENSE-2.0
9*fd525a9cSAndroid Build Coastguard Worker *
10*fd525a9cSAndroid Build Coastguard Worker * Unless required by applicable law or agreed to in writing, software
11*fd525a9cSAndroid Build Coastguard Worker * distributed under the License is distributed on an "AS IS" BASIS,
12*fd525a9cSAndroid Build Coastguard Worker * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13*fd525a9cSAndroid Build Coastguard Worker * See the License for the specific language governing permissions and
14*fd525a9cSAndroid Build Coastguard Worker * limitations under the License.
15*fd525a9cSAndroid Build Coastguard Worker */
16*fd525a9cSAndroid Build Coastguard Worker
17*fd525a9cSAndroid Build Coastguard Workerpackage {
18*fd525a9cSAndroid Build Coastguard Worker    default_applicable_licenses: ["external_libprotobuf-mutator_license"],
19*fd525a9cSAndroid Build Coastguard Worker}
20*fd525a9cSAndroid Build Coastguard Worker
21*fd525a9cSAndroid Build Coastguard Worker// Added automatically by a large-scale-change
22*fd525a9cSAndroid Build Coastguard Worker// See: http://go/android-license-faq
23*fd525a9cSAndroid Build Coastguard Workerlicense {
24*fd525a9cSAndroid Build Coastguard Worker    name: "external_libprotobuf-mutator_license",
25*fd525a9cSAndroid Build Coastguard Worker    visibility: [":__subpackages__"],
26*fd525a9cSAndroid Build Coastguard Worker    license_kinds: [
27*fd525a9cSAndroid Build Coastguard Worker        "SPDX-license-identifier-Apache-2.0",
28*fd525a9cSAndroid Build Coastguard Worker    ],
29*fd525a9cSAndroid Build Coastguard Worker    license_text: [
30*fd525a9cSAndroid Build Coastguard Worker        "LICENSE",
31*fd525a9cSAndroid Build Coastguard Worker    ],
32*fd525a9cSAndroid Build Coastguard Worker}
33*fd525a9cSAndroid Build Coastguard Worker
34*fd525a9cSAndroid Build Coastguard Workercc_library {
35*fd525a9cSAndroid Build Coastguard Worker    name: "libprotobuf-mutator",
36*fd525a9cSAndroid Build Coastguard Worker    host_supported: true,
37*fd525a9cSAndroid Build Coastguard Worker    vendor_available: true,
38*fd525a9cSAndroid Build Coastguard Worker    srcs: [
39*fd525a9cSAndroid Build Coastguard Worker        "src/binary_format.cc",
40*fd525a9cSAndroid Build Coastguard Worker        "src/libfuzzer/libfuzzer_macro.cc",
41*fd525a9cSAndroid Build Coastguard Worker        "src/libfuzzer/libfuzzer_mutator.cc",
42*fd525a9cSAndroid Build Coastguard Worker        "src/mutator.cc",
43*fd525a9cSAndroid Build Coastguard Worker        "src/text_format.cc",
44*fd525a9cSAndroid Build Coastguard Worker        "src/utf8_fix.cc",
45*fd525a9cSAndroid Build Coastguard Worker    ],
46*fd525a9cSAndroid Build Coastguard Worker    shared_libs: ["libprotobuf-cpp-full"],
47*fd525a9cSAndroid Build Coastguard Worker    export_include_dirs: ["."],
48*fd525a9cSAndroid Build Coastguard Worker    cflags: [
49*fd525a9cSAndroid Build Coastguard Worker        "-Wno-unused-parameter",
50*fd525a9cSAndroid Build Coastguard Worker    ],
51*fd525a9cSAndroid Build Coastguard Worker
52*fd525a9cSAndroid Build Coastguard Worker    // We explicitly disable sanitization on LPM for performance reasons. We
53*fd525a9cSAndroid Build Coastguard Worker    // aren't interested in the coverage feedback in LPM itself, only the
54*fd525a9cSAndroid Build Coastguard Worker    // libraries that are being exercised. Disabling all sanitizers also
55*fd525a9cSAndroid Build Coastguard Worker    // increases performance, as we aren't looking for bugs in the mutator
56*fd525a9cSAndroid Build Coastguard Worker    // (which is particularly hot code in LPM binaries).
57*fd525a9cSAndroid Build Coastguard Worker    sanitize: {
58*fd525a9cSAndroid Build Coastguard Worker        never: true,
59*fd525a9cSAndroid Build Coastguard Worker    },
60*fd525a9cSAndroid Build Coastguard Worker}
61