
// *** THIS PACKAGE HAS SPECIAL LICENSING CONDITIONS.  PLEASE
//     CONSULT THE OWNERS AND opensource-licensing@google.com BEFORE
//     DEPENDING ON IT IN YOUR PROJECT. ***
package {
    default_applicable_licenses: ["external_honggfuzz_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_honggfuzz_license",
    visibility: [":__subpackages__"],
    license_kinds: [
        "SPDX-license-identifier-Apache-2.0",
        "SPDX-license-identifier-MIT",
        "legacy_by_exception_only", // by exception only
    ],
    license_text: [
        "COPYING",
    ],
}

subdirs = [
    "third_party/android/libBlocksRuntime",
]

cc_defaults {
    name: "honggfuzz-defaults",
    cflags: [
        "-D_GNU_SOURCE",
        "-fblocks",
        "-Wall",
        "-Wno-initializer-overrides",
        "-Werror",
        "-D__HF_USES_CAPSTONE__",
        "-D_HF_ARCH_LINUX",
    ],
    c_std: "c11",
    clang: true,
}

cc_library_headers {
    name: "honggfuzz_libcommon_headers",
    export_include_dirs: ["libhfcommon"],
}

cc_library {
    name: "honggfuzz_libcommon",

    defaults: ["honggfuzz-defaults"],

    header_libs: ["honggfuzz_libcommon_headers"],
    export_header_lib_headers: ["honggfuzz_libcommon_headers"],
    srcs: [
        "libhfcommon/*.c",
    ],


    static_libs: [
        "libBlocksRuntime", // -fblocks
    ],
}

cc_library_headers {
    name: "honggfuzz_libhfuzz_headers",
    export_include_dirs: ["libhfuzz"],
}

cc_library {
    name: "honggfuzz_libhfuzz",
    defaults: ["honggfuzz-defaults"],

    arch: {
        x86: {
            cflags: [
                // Suppress this performance warning for 32-bit x86.
                "-Wno-atomic-alignment",
            ],
        },
    },

    header_libs: ["honggfuzz_libhfuzz_headers"],
    export_header_lib_headers: ["honggfuzz_libhfuzz_headers"],

    whole_static_libs: [
        "honggfuzz_libcommon",
        "libBlocksRuntime", // -fblocks
    ],

    srcs: [
        "libhfuzz/*.c",
    ],
}



cc_binary {
    name: "honggfuzz",
    defaults: ["honggfuzz-defaults"],

    arch: {
        x86: {
            cflags: [
                // Suppress this performance warning for 32-bit x86.
                "-Wno-atomic-alignment",
            ],
        },
    },

    whole_static_libs: [
        "honggfuzz_libcommon",
        "libcapstone",
        "libBlocksRuntime", // -fblocks

        "libunwind_static",
        "liblzma", // needed for libunwind
    ],

    srcs: [
        "*.c",
        "linux/*.c",
    ],
    exclude_srcs: [
        "linux/bfd.c",
    ],
}
