| package { |
| // See: http://go/android-license-faq |
| // A large-scale-change added 'default_applicable_licenses' to import |
| // all of the 'license_kinds' from "system_bt_license" |
| // to get the below license kinds: |
| // SPDX-license-identifier-Apache-2.0 |
| default_applicable_licenses: ["system_bt_license"], |
| } |
| |
| bootstrap_go_package { |
| name: "soong-fluoride", |
| pkgPath: "android/soong/fluoride", |
| deps: [ |
| "blueprint", |
| "blueprint-pathtools", |
| "soong", |
| "soong-android", |
| "soong-cc", |
| ], |
| srcs: [ |
| "fluoride.go", |
| ], |
| pluginFor: ["soong_build"], |
| } |
| |
| fluoride_defaults { |
| name: "libchrome_support_defaults", |
| shared_libs: ["libchrome"], |
| cflags: [ |
| "-Wall", |
| "-Wextra", |
| "-Werror", |
| ], |
| target: { |
| darwin: { |
| enabled: false, |
| }, |
| }, |
| } |
| |
| // Fuzzable defaults are the subset of defaults that are used in fuzzing, which |
| // requires no shared libraries, and no explicit sanitization. |
| fluoride_defaults { |
| name: "fluoride_types_defaults_fuzzable", |
| cflags: [ |
| "-DEXPORT_SYMBOL=__attribute__((visibility(\"default\")))", |
| "-fvisibility=hidden", |
| // struct BT_HDR is defined as a variable-size header in a struct. |
| "-Wno-gnu-variable-sized-type-not-at-end", |
| // there are too many unused parameters in all the code. |
| "-Wno-unused-parameter", |
| "-DLOG_NDEBUG=1", |
| ], |
| conlyflags: [ |
| "-std=c99", |
| ], |
| product_variables: { |
| debuggable: { |
| cflags: [ |
| "-DBLUEDROID_DEBUG", |
| ], |
| }, |
| }, |
| } |
| |
| fluoride_defaults { |
| name: "fluoride_types_defaults", |
| defaults: [ |
| "fluoride_types_defaults_fuzzable", |
| "libchrome_support_defaults" |
| ], |
| } |
| |
| fluoride_defaults { |
| name: "fluoride_defaults_fuzzable", |
| target: { |
| android: { |
| test_config_template: ":BluetoothTestConfigTemplate", |
| }, |
| }, |
| defaults: ["fluoride_types_defaults_fuzzable"], |
| header_libs: ["libbluetooth_headers", "libbt_callbacks_cxx_headers"], |
| generated_headers: [ |
| "libbt_shim_bridge_header", |
| "libbt_message_loop_thread_bridge_header", |
| "cxx-bridge-header" |
| ], |
| include_dirs: ["system/bt/gd/rust/shim"], |
| static_libs: [ |
| "libbluetooth-types", |
| "libbt-platform-protos-lite", |
| "libbluetooth_rust_interop", |
| "liblog", |
| "libcutils", |
| ], |
| cpp_std: "c++17", |
| sanitize: { |
| misc_undefined: ["bounds"], |
| }, |
| } |
| |
| fluoride_defaults { |
| name: "fluoride_defaults", |
| defaults: ["fluoride_defaults_fuzzable", "fluoride_types_defaults"], |
| shared_libs: [ |
| "libcutils", |
| "libgrpc++", |
| "libgrpc_wrap", |
| "libhidlbase", |
| "libstatslog", |
| "libutils", |
| |
| ], |
| sanitize: { |
| misc_undefined: ["bounds"], |
| }, |
| static_libs: [ |
| "libbluetooth_gd", |
| "libbluetooth_rust_interop", |
| "libbt_shim_ffi", |
| ], |
| target: { |
| darwin: { |
| // libstatslog -> libbinder doesn't build on mac |
| enabled: false, |
| }, |
| android: { |
| shared_libs: [ |
| "android.hardware.bluetooth@1.0", |
| "android.hardware.bluetooth@1.1", |
| ], |
| cflags: [ |
| "-DOS_ANDROID", |
| ], |
| }, |
| }, |
| } |
| |
| // Enables code coverage for a set of source files. Must be combined with |
| // "clang_coverage_bin" in order to work. See //test/gen_coverage.py for more information |
| // on generating code coverage. |
| cc_defaults { |
| name: "clang_file_coverage", |
| target: { |
| host: { |
| clang_cflags: [ |
| "-fprofile-instr-generate", |
| "-fcoverage-mapping", |
| ], |
| }, |
| }, |
| } |
| |
| // Enabled code coverage on a binary. These flags allow libraries that were |
| // compiled with "clang_file_coverage" to be properly linked together in |
| // order to create a binary that will create a profraw file when ran. Note |
| // these flags themselves don't enable code coverage for the source files |
| // compiled in the binary. See //test/gen_coverage.py for more information |
| // on generating code coverage. |
| cc_defaults { |
| name: "clang_coverage_bin", |
| target: { |
| host: { |
| ldflags: [ |
| "-fprofile-instr-generate", |
| "-fcoverage-mapping", |
| ], |
| }, |
| }, |
| } |