1package { 2 // See: http://go/android-license-faq 3 // A large-scale-change added 'default_applicable_licenses' to import 4 // all of the 'license_kinds' from "frameworks_native_license" 5 // to get the below license kinds: 6 // SPDX-license-identifier-Apache-2.0 7 default_applicable_licenses: ["frameworks_native_license"], 8} 9 10aidl_interface { 11 name: "binderReadParcelIface", 12 host_supported: true, 13 unstable: true, 14 srcs: [ 15 "parcelables/EmptyParcelable.aidl", 16 "parcelables/SingleDataParcelable.aidl", 17 "parcelables/GenericDataParcelable.aidl", 18 ], 19 flags: [ 20 "-Werror", 21 ], 22 backend: { 23 java: { 24 enabled: true, 25 platform_apis: true, 26 }, 27 rust: { 28 enabled: true, 29 }, 30 }, 31} 32 33cc_fuzz { 34 name: "binder_parcel_fuzzer", 35 host_supported: true, 36 37 fuzz_config: { 38 cc: [ 39 "smoreland@google.com", 40 "waghpawan@google.com", 41 ], 42 use_for_presubmit: true, 43 }, 44 45 srcs: [ 46 "binder.cpp", 47 "binder_ndk.cpp", 48 "hwbinder.cpp", 49 "main.cpp", 50 "random_fd.cpp", 51 "random_parcel.cpp", 52 ], 53 static_libs: [ 54 "libbase", 55 "libbinder_random_parcel", 56 "libcutils", 57 "libhidlbase", 58 "liblog", 59 "binderReadParcelIface-cpp", 60 "binderReadParcelIface-ndk", 61 ], 62 63 target: { 64 android: { 65 shared_libs: [ 66 "libbinder_ndk", 67 "libbinder", 68 "libutils", 69 ], 70 }, 71 host: { 72 static_libs: [ 73 "libbinder_ndk", 74 "libbinder", 75 "libutils", 76 ], 77 }, 78 darwin: { 79 enabled: false, 80 }, 81 }, 82 // This flag enables verbose output in the fuzz target, and is very useful 83 // for debugging a failure. If you are trying to diagnose how a crash was 84 // produced, you may find uncommenting the below line very useful. 85 // cflags: ["-DENABLE_LOG_FUZZ"], 86} 87 88cc_library_static { 89 name: "libbinder_random_parcel", 90 host_supported: true, 91 vendor_available: true, 92 target: { 93 darwin: { 94 enabled: false, 95 }, 96 }, 97 srcs: [ 98 "random_binder.cpp", 99 "random_fd.cpp", 100 "random_parcel.cpp", 101 "libbinder_driver.cpp", 102 "libbinder_ndk_driver.cpp", 103 ], 104 shared_libs: [ 105 "libbase", 106 "libbinder", 107 "libbinder_ndk", 108 "libcutils", 109 "libutils", 110 ], 111 local_include_dirs: ["include_random_parcel"], 112 export_include_dirs: ["include_random_parcel"], 113} 114 115cc_library { 116 name: "libbinder_random_parcel_seeds", 117 host_supported: true, 118 vendor_available: true, 119 target: { 120 darwin: { 121 enabled: false, 122 }, 123 }, 124 srcs: [ 125 "random_parcel_seeds.cpp", 126 ], 127 shared_libs: [ 128 "libbase", 129 "libbinder", 130 "libbinder_ndk", 131 "libcutils", 132 "libutils", 133 ], 134 static_libs: [ 135 "libbinder_random_parcel", 136 ], 137 include_dirs: [ 138 "bionic/libc/kernel/android/uapi/", 139 "bionic/libc/kernel/uapi/", 140 ], 141 local_include_dirs: [ 142 "include_random_parcel_seeds", 143 ], 144 export_include_dirs: ["include_random_parcel_seeds"], 145} 146 147cc_binary_host { 148 name: "binder2corpus", 149 static_libs: [ 150 "libbinder_random_parcel", 151 "libbinder_random_parcel_seeds", 152 ], 153 cflags: [ 154 "-DBINDER_WITH_KERNEL_IPC", 155 ], 156 srcs: [ 157 "binder2corpus/binder2corpus.cpp", 158 ], 159 shared_libs: [ 160 "libbase", 161 "libbinder", 162 "libutils", 163 "libcutils", 164 ], 165} 166