// 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.

package {
    default_applicable_licenses: ["Android-Apache-2.0"],
}

cc_defaults {
    name: "trusty_fuzzer_defaults",
    shared_libs: [
        "libtrusty",
        "libtrusty_coverage",
        "libtrusty_fuzz_utils",
        "libbase",
        "liblog",
    ],
    cflags: [
        "-Wall",
        "-Werror",
    ],
    fuzz_config: {
        fuzz_on_haiku_host: false,
    },
}

cc_library {
    name: "libtrusty_fuzz_utils",
    srcs: [
        "counters.cpp",
        "utils.cpp",
    ],
    export_include_dirs: ["include"],
    shared_libs: [
        "libtrusty_coverage",
        "libbase",
        "liblog",
        "libtrusty",
    ],
}

// Generic TIPC fuzzer, must parameterized using:
//  -DTRUSTY_APP_PORT=<port name of TA being fuzzed>
//  -DTRUSTY_APP_UUID=<UUID of TA being fuzzed>
//  -DTRUSTY_APP_FILENAME=<name of symbolized elf binary of the TA>
filegroup {
    name: "trusty_tipc_fuzzer",
    srcs: ["tipc_fuzzer.cpp"],
}
