summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author David Duarte <licorne@google.com> 2024-04-25 18:50:21 +0000
committer David Duarte <licorne@google.com> 2024-05-23 18:28:59 +0000
commitf45033d68474bc49d0e77666e7e7ece34176dcd5 (patch)
tree880971b7f7b01492c8417a7a0a726a0e2c54ec84
parent3505ccf10c4e3276e0e6ca63c38858a552fc3eca (diff)
sysprop: Remove floss workaround from wrapper
This makes floss able to use system properties defined with sysprop Bug: 337064224 Test: ./floss/build/build-in-container.py Flag: EXEMPT, floss Change-Id: Ia8b81aa0800cc02f82bed1666dd14ffbbbe82bbf
-rw-r--r--sysprop/BUILD.gn13
-rw-r--r--sysprop/exported_include/android_bluetooth_sysprop.h8
-rw-r--r--sysprop/sysprop.gni55
-rw-r--r--system/bta/BUILD.gn1
-rw-r--r--system/btif/BUILD.gn1
-rw-r--r--system/gd/security/BUILD.gn1
-rw-r--r--system/main/shim/BUILD.gn1
-rw-r--r--system/stack/BUILD.gn1
8 files changed, 73 insertions, 8 deletions
diff --git a/sysprop/BUILD.gn b/sysprop/BUILD.gn
new file mode 100644
index 0000000000..09126c8df0
--- /dev/null
+++ b/sysprop/BUILD.gn
@@ -0,0 +1,13 @@
+import("//bt/sysprop/sysprop.gni")
+
+sysprop("libcom.android.sysprop.bluetooth") {
+ sources = [
+ "a2dp.sysprop",
+ "avrcp.sysprop",
+ "ble.sysprop",
+ "bta.sysprop",
+ "device_id.sysprop",
+ "hfp.sysprop",
+ ]
+ deps = [ "//bt/floss/android-base:android-base" ]
+}
diff --git a/sysprop/exported_include/android_bluetooth_sysprop.h b/sysprop/exported_include/android_bluetooth_sysprop.h
index e76411ef95..01aed4f3bc 100644
--- a/sysprop/exported_include/android_bluetooth_sysprop.h
+++ b/sysprop/exported_include/android_bluetooth_sysprop.h
@@ -16,8 +16,6 @@
#pragma once
-#ifndef TARGET_FLOSS
-
#include <a2dp.sysprop.h>
#include <avrcp.sysprop.h>
#include <ble.sysprop.h>
@@ -27,9 +25,3 @@
#define GET_SYSPROP(namespace, prop, default) \
android::sysprop::bluetooth::namespace ::prop().value_or(default)
-
-#else
-
-#define GET_SYSPROP(namespace, prop, default) default
-
-#endif
diff --git a/sysprop/sysprop.gni b/sysprop/sysprop.gni
new file mode 100644
index 0000000000..bbf5af4dbf
--- /dev/null
+++ b/sysprop/sysprop.gni
@@ -0,0 +1,55 @@
+#
+# Copyright 2024 Google, Inc.
+#
+# 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.
+#
+
+# Generate c++ headers for each sysprop file
+#
+# Parameters:
+# sources: sysprop source files
+template("sysprop") {
+ assert(defined(invoker.sources), "sources must be set")
+
+ outdir = rebase_path(target_gen_dir, root_build_dir)
+
+ action_foreach("${target_name}_sources") {
+ script = "//common-mk/file_generator_wrapper.py"
+ args = [
+ "sysprop_cpp",
+ "--header-dir=${outdir}/include",
+ "--public-header-dir=${outdir}/public",
+ "--source-dir=${outdir}/src",
+ "--include-name={{source_file_part}}.h",
+ "{{source}}",
+ ]
+ sources = invoker.sources
+ outputs = [
+ "${target_gen_dir}/include/{{source_file_part}}.h",
+ "${target_gen_dir}/src/{{source_file_part}}.cpp",
+ "${target_gen_dir}/public/{{source_file_part}}.h",
+ ]
+ }
+
+ all_dependent_config_name = "_${target_name}_all_dependent_config"
+ config(all_dependent_config_name) {
+ include_dirs = [ "${target_gen_dir}/include" ]
+ }
+
+ static_library(target_name) {
+ public_deps = [ ":${target_name}_sources" ]
+ sources = get_target_outputs(":${target_name}_sources")
+ deps = invoker.deps
+ all_dependent_configs = [ ":${all_dependent_config_name}" ]
+ }
+}
diff --git a/system/bta/BUILD.gn b/system/bta/BUILD.gn
index 8ec237eb35..f08b65f87e 100644
--- a/system/bta/BUILD.gn
+++ b/system/bta/BUILD.gn
@@ -163,6 +163,7 @@ static_library("bta") {
deps = [
"//bt/flags:bluetooth_flags_c_lib",
+ "//bt/sysprop:libcom.android.sysprop.bluetooth",
"//bt/system/audio:libbt-audio-asrc",
"//bt/system/bta:LeAudioSetScenariosSchema_bfbs",
"//bt/system/bta:LeAudioSetConfigsSchema_bfbs",
diff --git a/system/btif/BUILD.gn b/system/btif/BUILD.gn
index 46ffd14893..09b840b38d 100644
--- a/system/btif/BUILD.gn
+++ b/system/btif/BUILD.gn
@@ -114,6 +114,7 @@ static_library("btif") {
deps = [
"//bt/flags:bluetooth_flags_c_lib",
+ "//bt/sysprop:libcom.android.sysprop.bluetooth",
"//bt/system:libbt-platform-protos-lite",
"//bt/system/common",
"//bt/system/gd/rust/shim:init_flags_bridge_header",
diff --git a/system/gd/security/BUILD.gn b/system/gd/security/BUILD.gn
index de17a0a316..cfdd2b685b 100644
--- a/system/gd/security/BUILD.gn
+++ b/system/gd/security/BUILD.gn
@@ -59,6 +59,7 @@ source_set("BluetoothSecuritySources") {
":BluetoothSecurityChannelSources",
":BluetoothSecurityPairingSources",
":BluetoothSecurityRecordSources",
+ "//bt/sysprop:libcom.android.sysprop.bluetooth",
"//bt/system/gd:gd_default_deps",
]
diff --git a/system/main/shim/BUILD.gn b/system/main/shim/BUILD.gn
index 2df1aae2d5..3143259bb3 100644
--- a/system/main/shim/BUILD.gn
+++ b/system/main/shim/BUILD.gn
@@ -77,6 +77,7 @@ source_set("LibBluetoothShimSources") {
]
deps = [
+ "//bt/sysprop:libcom.android.sysprop.bluetooth",
"//bt/system/gd:BluetoothGeneratedDumpsysDataSchema_h",
"//bt/system/gd/common:BluetoothCommonSources",
"//bt/system/gd/dumpsys/bundler:BluetoothGeneratedBundlerSchema_h_bfbs",
diff --git a/system/stack/BUILD.gn b/system/stack/BUILD.gn
index 6309d1b2e3..d7b0c7aaa6 100644
--- a/system/stack/BUILD.gn
+++ b/system/stack/BUILD.gn
@@ -217,6 +217,7 @@ source_set("stack") {
]
deps = [
+ "//bt/sysprop:libcom.android.sysprop.bluetooth",
"//bt/system/gd/crypto_toolbox:crypto_toolbox",
":nonstandard_codecs",
"//bt/system:libbt-platform-protos-lite",