add build entries for libzstd fuzz target

These fuzz targets can be built and run in Android's fuzzing
infrastructure, so we should go ahead and enable them.

Test: built/ran locally, got expected stdout from libfuzzer
Change-Id: I245df56cbbf726bb8ab15ef499f906ccd05c011b
diff --git a/Android.bp b/Android.bp
index a0e3ca4..7bb5c21 100644
--- a/Android.bp
+++ b/Android.bp
@@ -22,3 +22,155 @@
     local_include_dirs: ["lib/common"],
     export_include_dirs: ["lib"],
 }
+
+cc_defaults {
+    name: "zstd_fuzz_defaults",
+    static_libs: [
+        "libzstd",
+    ],
+    srcs: [
+        "tests/fuzz/fuzz_data_producer.c",
+        "tests/fuzz/fuzz_helpers.c",
+        "tests/fuzz/zstd_helpers.c",
+    ],
+    local_include_dirs: [
+        "lib/common",
+        "lib/dictBuilder",
+        "tests/fuzz",
+    ],
+    cflags: [
+        "-Wno-error",
+        "-Wno-pointer-arith",
+    ],
+    host_supported: true,
+}
+
+cc_fuzz {
+    name: "zstd_block_decompress_fuzzer",
+    defaults: [
+        "zstd_fuzz_defaults",
+    ],
+    srcs: [
+        "tests/fuzz/block_decompress.c",
+    ],
+}
+
+cc_fuzz {
+    name: "zstd_block_round_trip_fuzzer",
+    defaults: [
+        "zstd_fuzz_defaults",
+    ],
+    srcs: [
+        "tests/fuzz/block_round_trip.c",
+    ],
+}
+
+cc_fuzz {
+    name: "zstd_dict_decompress_fuzzer",
+    defaults: [
+        "zstd_fuzz_defaults",
+    ],
+    srcs: [
+        "tests/fuzz/dictionary_decompress.c",
+    ],
+}
+
+cc_fuzz {
+    name: "zstd_dict_loader_fuzzer",
+    defaults: [
+        "zstd_fuzz_defaults",
+    ],
+    srcs: [
+        "tests/fuzz/dictionary_loader.c",
+    ],
+}
+
+cc_fuzz {
+    name: "zstd_dict_round_trip_fuzzer",
+    defaults: [
+        "zstd_fuzz_defaults",
+    ],
+    srcs: [
+        "tests/fuzz/dictionary_round_trip.c",
+    ],
+}
+
+cc_fuzz {
+    name: "zstd_dict_stream_round_trip_fuzzer",
+    defaults: [
+        "zstd_fuzz_defaults",
+    ],
+    srcs: [
+        "tests/fuzz/dictionary_stream_round_trip.c",
+    ],
+}
+
+cc_fuzz {
+    name: "zstd_raw_dict_round_trip_fuzzer",
+    defaults: [
+        "zstd_fuzz_defaults",
+    ],
+    srcs: [
+        "tests/fuzz/raw_dictionary_round_trip.c",
+    ],
+}
+
+cc_fuzz {
+    name: "zstd_simple_compress_fuzzer",
+    defaults: [
+        "zstd_fuzz_defaults",
+    ],
+    srcs: [
+        "tests/fuzz/simple_compress.c",
+    ],
+}
+
+cc_fuzz {
+    name: "zstd_simple_decompress_fuzzer",
+    defaults: [
+        "zstd_fuzz_defaults",
+    ],
+    srcs: [
+        "tests/fuzz/simple_decompress.c",
+    ],
+}
+
+cc_fuzz {
+    name: "zstd_simple_round_trip_fuzzer",
+    defaults: [
+        "zstd_fuzz_defaults",
+    ],
+    srcs: [
+        "tests/fuzz/simple_round_trip.c",
+    ],
+}
+
+cc_fuzz {
+    name: "zstd_stream_decompress_fuzzer",
+    defaults: [
+        "zstd_fuzz_defaults",
+    ],
+    srcs: [
+        "tests/fuzz/stream_decompress.c",
+    ],
+}
+
+cc_fuzz {
+    name: "zstd_stream_round_trip_fuzzer",
+    defaults: [
+        "zstd_fuzz_defaults",
+    ],
+    srcs: [
+        "tests/fuzz/stream_round_trip.c",
+    ],
+}
+
+cc_fuzz {
+    name: "zstd_frame_info_fuzzer",
+    defaults: [
+        "zstd_fuzz_defaults",
+    ],
+    srcs: [
+        "tests/fuzz/zstd_frame_info.c",
+    ],
+}