summaryrefslogtreecommitdiff
path: root/sysprop
diff options
context:
space:
mode:
Diffstat (limited to 'sysprop')
-rw-r--r--sysprop/BUILD.gn13
-rw-r--r--sysprop/exported_include/android_bluetooth_sysprop.h8
-rw-r--r--sysprop/sysprop.gni55
3 files changed, 68 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}" ]
+ }
+}