Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5818b453 authored by Francois Gaffie's avatar Francois Gaffie Committed by Eric Laurent
Browse files

audiopolicy: engineconfigurable: continue switching to bp



This CL adds genrule_defaults target to allows getting rid of mk
for configuration files generation.

Test: build & boot
Change-Id: Ida4ec17ab3e67788b512b95ac8d2c0f4c530014a
Signed-off-by: default avatarFrancois Gaffie <francois.gaffie@renault.com>
parent c60c3691
Loading
Loading
Loading
Loading
+101 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2019 The Android Open Source Project
 *
 * 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.
 */

soong_namespace {
}

prebuilt_etc {
    name: "a2dp_in_audio_policy_configuration.xml",
    vendor: true,
    src: ":a2dp_in_audio_policy_configuration",
}
prebuilt_etc {
    name: "a2dp_audio_policy_configuration.xml",
    vendor: true,
    src: ":a2dp_audio_policy_configuration",
}
prebuilt_etc {
    name: "audio_policy_configuration.xml",
    vendor: true,
    src: ":audio_policy_configuration_generic",
}
prebuilt_etc {
    name: "r_submix_audio_policy_configuration.xml",
    vendor: true,
    src: ":r_submix_audio_policy_configuration",
}
prebuilt_etc {
    name: "audio_policy_volumes.xml",
    vendor: true,
    src: ":audio_policy_volumes",
}
prebuilt_etc {
    name: "default_volume_tables.xml",
    vendor: true,
    src: ":default_volume_tables",
}
prebuilt_etc {
    name: "surround_sound_configuration_5_0.xml",
    vendor: true,
    src: ":surround_sound_configuration_5_0",
}
prebuilt_etc {
    name: "usb_audio_policy_configuration.xml",
    vendor: true,
    src: ":usb_audio_policy_configuration",
}
prebuilt_etc {
    name: "primary_audio_policy_configuration.xml",
    src: ":primary_audio_policy_configuration",
    vendor: true,
}

filegroup {
    name: "a2dp_in_audio_policy_configuration",
    srcs: ["a2dp_in_audio_policy_configuration.xml"],
}
filegroup {
    name: "a2dp_audio_policy_configuration",
    srcs: ["a2dp_audio_policy_configuration.xml"],
}
filegroup {
    name: "primary_audio_policy_configuration",
    srcs: ["primary_audio_policy_configuration.xml"],
}
filegroup {
    name: "surround_sound_configuration_5_0",
    srcs: ["surround_sound_configuration_5_0.xml"],
}
filegroup {
    name: "default_volume_tables",
    srcs: ["default_volume_tables.xml"],
}
filegroup {
    name: "audio_policy_volumes",
    srcs: ["audio_policy_volumes.xml"],
}
filegroup {
    name: "audio_policy_configuration_generic",
    srcs: ["audio_policy_configuration_generic.xml"],
}
filegroup {
    name: "usb_audio_policy_configuration",
    srcs: ["usb_audio_policy_configuration.xml"],
}
filegroup {
    name: "r_submix_audio_policy_configuration",
    srcs: ["r_submix_audio_policy_configuration.xml"],
}
+31 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2019 The Android Open Source Project
 *
 * 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.
 */

// Root soong_namespace for common components

prebuilt_etc {
    name: "audio_policy_engine_criteria.xml",
    vendor: true,
    src: ":audio_policy_engine_criteria",
}
filegroup {
    name: "audio_policy_engine_criterion_types_template",
    srcs: ["example/common/audio_policy_engine_criterion_types.xml.in"],
}
filegroup {
    name: "audio_policy_engine_criteria",
    srcs: ["example/common/audio_policy_engine_criteria.xml"],
}
+0 −151
Original line number Diff line number Diff line
LOCAL_PATH := $(call my-dir)

ifdef BUILD_AUDIO_POLICY_EXAMPLE_CONFIGURATION

TOOLS := frameworks/av/services/audiopolicy/engineconfigurable/tools
PROVISION_CRITERION_TYPES := $(TOOLS)/provision_criterion_types_from_android_headers.mk

##################################################################
# CONFIGURATION TOP FILE
##################################################################

ifeq ($(BUILD_AUDIO_POLICY_EXAMPLE_CONFIGURATION), phone_configurable)

include $(CLEAR_VARS)
LOCAL_MODULE := audio_policy_engine_configuration.xml

LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_CLASS := ETC
LOCAL_VENDOR_MODULE := true
LOCAL_SRC_FILES := phone/$(LOCAL_MODULE)

LOCAL_REQUIRED_MODULES := \
    audio_policy_engine_product_strategies.xml  \
    audio_policy_engine_stream_volumes.xml \
    audio_policy_engine_default_stream_volumes.xml \
    audio_policy_engine_criteria.xml \
    audio_policy_engine_criterion_types.xml

include $(BUILD_PREBUILT)

include $(CLEAR_VARS)
LOCAL_MODULE := audio_policy_engine_product_strategies.xml
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_CLASS := ETC
LOCAL_VENDOR_MODULE := true
LOCAL_SRC_FILES := phone/$(LOCAL_MODULE)
include $(BUILD_PREBUILT)

include $(CLEAR_VARS)
LOCAL_MODULE := audio_policy_engine_stream_volumes.xml
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_CLASS := ETC
LOCAL_VENDOR_MODULE := true
LOCAL_SRC_FILES := phone/$(LOCAL_MODULE)
include $(BUILD_PREBUILT)

include $(CLEAR_VARS)
LOCAL_MODULE := audio_policy_engine_default_stream_volumes.xml
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_CLASS := ETC
LOCAL_VENDOR_MODULE := true
LOCAL_SRC_FILES := phone/$(LOCAL_MODULE)
include $(BUILD_PREBUILT)

endif # ifeq ($(BUILD_AUDIO_POLICY_EXAMPLE_CONFIGURATION), phone_configurable)


ifeq ($(BUILD_AUDIO_POLICY_EXAMPLE_CONFIGURATION),$(filter $(BUILD_AUDIO_POLICY_EXAMPLE_CONFIGURATION),automotive_configurable caremu_configurable))

##################################################################
# AUTOMOTIVE CONFIGURATION TOP FILE
##################################################################
include $(CLEAR_VARS)
LOCAL_MODULE := audio_policy_engine_configuration.xml
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_CLASS := ETC
LOCAL_VENDOR_MODULE := true
LOCAL_SRC_FILES := automotive/$(LOCAL_MODULE)

LOCAL_REQUIRED_MODULES := \
    audio_policy_engine_product_strategies.xml \
    audio_policy_engine_criteria.xml \
    audio_policy_engine_criterion_types.xml \
    audio_policy_engine_volumes.xml

include $(BUILD_PREBUILT)

endif #ifeq ($(BUILD_AUDIO_POLICY_EXAMPLE_CONFIGURATION),$(filter $(BUILD_AUDIO_POLICY_EXAMPLE_CONFIGURATION),automotive_configurable caremu_configurable))

ifeq ($(BUILD_AUDIO_POLICY_EXAMPLE_CONFIGURATION), automotive_configurable)

##################################################################
# CONFIGURATION FILES
##################################################################

include $(CLEAR_VARS)
LOCAL_MODULE := audio_policy_engine_product_strategies.xml
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_CLASS := ETC
LOCAL_VENDOR_MODULE := true
LOCAL_SRC_FILES := automotive/$(LOCAL_MODULE)
include $(BUILD_PREBUILT)

include $(CLEAR_VARS)
LOCAL_MODULE := audio_policy_engine_volumes.xml
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_CLASS := ETC
LOCAL_VENDOR_MODULE := true
LOCAL_SRC_FILES := automotive/$(LOCAL_MODULE)
include $(BUILD_PREBUILT)

endif #ifeq ($(BUILD_AUDIO_POLICY_EXAMPLE_CONFIGURATION), automotive_configurable)

ifeq ($(BUILD_AUDIO_POLICY_EXAMPLE_CONFIGURATION), caremu_configurable)

##################################################################
# CONFIGURATION FILES
##################################################################

include $(CLEAR_VARS)
LOCAL_MODULE := audio_policy_engine_product_strategies.xml
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_CLASS := ETC
LOCAL_VENDOR_MODULE := true
LOCAL_SRC_FILES := caremu/$(LOCAL_MODULE)
include $(BUILD_PREBUILT)

include $(CLEAR_VARS)
LOCAL_MODULE := audio_policy_engine_volumes.xml
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_CLASS := ETC
LOCAL_VENDOR_MODULE := true
LOCAL_SRC_FILES := caremu/$(LOCAL_MODULE)
include $(BUILD_PREBUILT)

endif #ifeq ($(BUILD_AUDIO_POLICY_EXAMPLE_CONFIGURATION), caremu_configurable)

ifeq ($(BUILD_AUDIO_POLICY_EXAMPLE_CONFIGURATION),$(filter $(BUILD_AUDIO_POLICY_EXAMPLE_CONFIGURATION),phone_configurable automotive_configurable caremu_configurable))

include $(CLEAR_VARS)
LOCAL_MODULE := audio_policy_engine_criteria.xml
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_CLASS := ETC
LOCAL_VENDOR_MODULE := true
LOCAL_SRC_FILES := common/$(LOCAL_MODULE)
include $(BUILD_PREBUILT)

include $(CLEAR_VARS)
LOCAL_MODULE := audio_policy_engine_criterion_types.xml
LOCAL_MODULE_CLASS := ETC
LOCAL_VENDOR_MODULE := true
LOCAL_ADDITIONAL_DEPENDENCIES := $(TARGET_OUT_VENDOR_ETC)/primary_audio_policy_configuration.xml
ANDROID_AUDIO_BASE_HEADER_FILE := system/media/audio/include/system/audio-base.h
AUDIO_POLICY_CONFIGURATION_FILE := $(TARGET_OUT_VENDOR_ETC)/audio_policy_configuration.xml
CRITERION_TYPES_FILE := $(LOCAL_PATH)/common/$(LOCAL_MODULE).in

include $(PROVISION_CRITERION_TYPES)

endif #ifeq ($(BUILD_AUDIO_POLICY_EXAMPLE_CONFIGURATION),$(filter $(BUILD_AUDIO_POLICY_EXAMPLE_CONFIGURATION),phone_configurable automotive_configurable caremu_configurable))

endif #ifdef BUILD_AUDIO_POLICY_EXAMPLE_CONFIGURATION
+94 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2019 The Android Open Source Project
 *
 * 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.
 */

// Import this namespace in order to use AOSP Automotive configuration example

soong_namespace {
    imports: [
        "frameworks/av/services/audiopolicy/config",
    ],
}

prebuilt_etc {
    name: "audio_policy_engine_configuration.xml",
    vendor: true,
    src: ":audio_policy_engine_configuration",
    required: [
        ":audio_policy_engine_criterion_types.xml",
        ":audio_policy_engine_criteria.xml",
        ":audio_policy_engine_product_strategies.xml",
        ":audio_policy_engine_volumes.xml",
    ],
}
prebuilt_etc {
    name: "audio_policy_engine_product_strategies.xml",
    vendor: true,
    src: "audio_policy_engine_product_strategies.xml",
}
prebuilt_etc {
    name: "audio_policy_engine_volumes.xml",
    vendor: true,
    src: ":audio_policy_engine_volumes",
}
prebuilt_etc {
    name: "audio_policy_engine_criterion_types.xml",
    vendor: true,
    src: ":audio_policy_engine_criterion_types",
}

//
// Generate audio_policy_engine criterion type file => provides device addresses criterion type
//
genrule {
    name: "audio_policy_engine_criterion_types",
    defaults: ["buildpolicycriteriontypesrule"],
    srcs: [
        ":audio_policy_configuration_top_file",
        ":audio_policy_configuration_files",
    ],
}
filegroup {
    name: "audio_policy_configuration_files",
    srcs: [
        ":r_submix_audio_policy_configuration",
        ":default_volume_tables",
        ":audio_policy_volumes",
        ":surround_sound_configuration_5_0",
        ":primary_audio_policy_configuration",
    ],
}
filegroup {
    name : "audio_policy_configuration_top_file",
    srcs: [":audio_policy_configuration_generic"],
}
filegroup {
    name: "audio_policy_engine_configuration",
    srcs: ["audio_policy_engine_configuration.xml"],
}
filegroup {
    name: "audio_policy_engine_volumes",
    srcs: ["audio_policy_engine_volumes.xml"],
}
filegroup {
    name: "audio_policy_engine_configuration_files",
    srcs: [
        ":audio_policy_engine_configuration",
        "audio_policy_engine_product_strategies.xml",
        ":audio_policy_engine_volumes",
        ":audio_policy_engine_criterion_types",
        ":audio_policy_engine_criteria",
    ],
}
+82 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2019 The Android Open Source Project
 *
 * 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.
 */

// Import this namespace in order to use AOSP Car Emulator configuration example

soong_namespace {
    imports: [
        "frameworks/av/services/audiopolicy/engineconfigurable/config/example/automotive",
        "frameworks/av/services/audiopolicy/config",
    ],
}

prebuilt_etc {
    name: "audio_policy_engine_configuration.xml",
    vendor: true,
    src: ":audio_policy_engine_configuration",
    required: [
        "audio_policy_engine_criterion_types.xml",
        "audio_policy_engine_criteria.xml",
        "audio_policy_engine_product_strategies.xml",
        ":audio_policy_engine_volumes.xml",
    ],
}
prebuilt_etc {
    name: "audio_policy_engine_product_strategies.xml",
    vendor: true,
    src: "audio_policy_engine_product_strategies.xml",
}
prebuilt_etc {
    name: "audio_policy_engine_criterion_types.xml",
    vendor: true,
    src: ":audio_policy_engine_criterion_types",
}

//
// Generate audio_policy_engine criterion type file => provides device addresses criterion type
//
genrule {
    name: "audio_policy_engine_criterion_types",
    defaults: ["buildpolicycriteriontypesrule"],
    srcs: [
        ":audio_policy_configuration_top_file",
        ":audio_policy_configuration_files",
    ],
}
filegroup {
    name: "audio_policy_configuration_files",
    srcs: [
        ":r_submix_audio_policy_configuration",
        ":default_volume_tables",
        ":audio_policy_volumes",
        ":surround_sound_configuration_5_0",
        ":primary_audio_policy_configuration",
    ],
}
filegroup {
    name : "audio_policy_configuration_top_file",
    srcs: [":audio_policy_configuration_generic"],
}
filegroup {
    name: "audio_policy_engine_configuration_files",
    srcs: [
        ":audio_policy_engine_configuration",
        "audio_policy_engine_product_strategies.xml",
        ":audio_policy_engine_volumes",
        ":audio_policy_engine_criterion_types",
        ":audio_policy_engine_criteria",
    ],
}
Loading