Merge changes from topic "cp-libwifihal-soong"

* changes:
  Build libwifi-hal-* modules only for the first arch
  android.hardware.wifi@1.0-service in soong
This commit is contained in:
Treehugger Robot
2022-08-22 02:30:56 +00:00
committed by Gerrit Code Review
2 changed files with 160 additions and 241 deletions

View File

@@ -16,42 +16,61 @@ package {
default_applicable_licenses: ["hardware_interfaces_license"],
}
filegroup {
name: "android.hardware.wifi@1.0-service_srcs",
srcs: ["service.cpp"],
soong_config_module_type {
name: "wifi_hal_cc_defaults",
module_type: "cc_defaults",
config_namespace: "wifi",
bool_variables: [
"hidl_feature_aware", // WIFI_HIDL_FEATURE_AWARE
"hidl_feature_dual_interface", // WIFI_HIDL_FEATURE_DUAL_INTERFACE
"hidl_feature_disable_ap", // WIFI_HIDL_FEATURE_DISABLE_AP
"hidl_feature_disable_ap_mac_randomization", // WIFI_HIDL_FEATURE_DISABLE_AP_MAC_RANDOMIZATION
"avoid_iface_reset_mac_change", // WIFI_AVOID_IFACE_RESET_MAC_CHANGE
],
value_variables: [
"hal_interface_combinations", // WIFI_HAL_INTERFACE_COMBINATIONS
],
properties: [
"cppflags",
],
}
cc_defaults {
name: "android.hardware.wifi@1.0-service_default",
srcs: [":android.hardware.wifi@1.0-service_srcs"],
relative_install_path: "hw",
soc_specific: true,
shared_libs: [
"android.hardware.wifi@1.0",
"android.hardware.wifi@1.1",
"android.hardware.wifi@1.2",
"android.hardware.wifi@1.3",
"android.hardware.wifi@1.4",
"android.hardware.wifi@1.5",
"android.hardware.wifi@1.6",
"libbase",
"libcutils",
"libhidlbase",
"liblog",
"libnl",
"libutils",
"libwifi-system-iface",
"libxml2",
],
wifi_hal_cc_defaults {
name: "android.hardware.wifi@1.0-service-cppflags-defaults",
soong_config_variables: {
hidl_feature_aware: {
cppflags: ["-DWIFI_HIDL_FEATURE_AWARE"],
},
hidl_feature_dual_interface: {
cppflags: ["-DWIFI_HIDL_FEATURE_DUAL_INTERFACE"],
},
hidl_feature_disable_ap: {
cppflags: ["-DWIFI_HIDL_FEATURE_DISABLE_AP"],
},
hidl_feature_disable_ap_mac_randomization: {
cppflags: ["-DWIFI_HIDL_FEATURE_DISABLE_AP_MAC_RANDOMIZATION"],
},
avoid_iface_reset_mac_change: {
cppflags: ["-DWIFI_AVOID_IFACE_RESET_MAC_CHANGE"],
},
hal_interface_combinations: {
cppflags: ["-DWIFI_HAL_INTERFACE_COMBINATIONS=%s"],
},
},
}
cc_library_static {
name: "android.hardware.wifi@1.0-service-lib",
defaults: ["android.hardware.wifi@1.0-service-cppflags-defaults"],
proprietary: true,
compile_multilib: "first",
cppflags: [
"-Wall",
"-Werror",
"-Wextra",
],
}
filegroup {
name: "android.hardware.wifi@1.0-service-lib_srcs",
// Allow implicit fallthroughs in wifi_legacy_hal.cpp until they are fixed.
cflags: ["-Wno-error=implicit-fallthrough"],
srcs: [
"hidl_struct_util.cpp",
"hidl_sync_util.cpp",
@@ -71,14 +90,17 @@ filegroup {
"wifi_sta_iface.cpp",
"wifi_status_util.cpp",
],
}
cc_defaults {
name: "android.hardware.wifi@1.0-service-lib_defaults",
srcs: [":android.hardware.wifi@1.0-service-lib_srcs"],
relative_install_path: "hw",
soc_specific: true,
shared_libs: [
"libbase",
"libcutils",
"libhidlbase",
"liblog",
"libnl",
"libutils",
"libwifi-hal",
"libwifi-system-iface",
"libxml2",
"android.hardware.wifi@1.0",
"android.hardware.wifi@1.1",
"android.hardware.wifi@1.2",
@@ -86,22 +108,121 @@ cc_defaults {
"android.hardware.wifi@1.4",
"android.hardware.wifi@1.5",
"android.hardware.wifi@1.6",
],
export_include_dirs: ["."],
}
cc_binary {
name: "android.hardware.wifi@1.0-service",
vintf_fragments: ["android.hardware.wifi@1.0-service.xml"],
relative_install_path: "hw",
proprietary: true,
cppflags: [
"-Wall",
"-Werror",
"-Wextra",
],
srcs: ["service.cpp"],
shared_libs: [
"libbase",
"libcutils",
"libhidlbase",
"liblog",
"libnl",
"libutils",
"libwifi-hal",
"libwifi-system-iface",
"libxml2",
"android.hardware.wifi@1.0",
"android.hardware.wifi@1.1",
"android.hardware.wifi@1.2",
"android.hardware.wifi@1.3",
"android.hardware.wifi@1.4",
"android.hardware.wifi@1.5",
"android.hardware.wifi@1.6",
],
// Generated by building android.hardware.wifi@1.0-service-lib and printing LOCAL_CPPFLAGS.
static_libs: ["android.hardware.wifi@1.0-service-lib"],
init_rc: ["android.hardware.wifi@1.0-service.rc"],
}
cc_binary {
name: "android.hardware.wifi@1.0-service-lazy",
vintf_fragments: ["android.hardware.wifi@1.0-service.xml"],
overrides: ["android.hardware.wifi@1.0-service"],
cflags: ["-DLAZY_SERVICE"],
relative_install_path: "hw",
proprietary: true,
cppflags: [
"-Wall",
"-Werror",
"-Wextra",
"-DWIFI_HIDL_FEATURE_DUAL_INTERFACE",
],
export_include_dirs: ["."],
include_dirs: ["external/libxml2/include"],
srcs: ["service.cpp"],
shared_libs: [
"libbase",
"libcutils",
"libhidlbase",
"liblog",
"libnl",
"libutils",
"libwifi-hal",
"libwifi-system-iface",
"libxml2",
"android.hardware.wifi@1.0",
"android.hardware.wifi@1.1",
"android.hardware.wifi@1.2",
"android.hardware.wifi@1.3",
"android.hardware.wifi@1.4",
"android.hardware.wifi@1.5",
"android.hardware.wifi@1.6",
],
static_libs: ["android.hardware.wifi@1.0-service-lib"],
init_rc: ["android.hardware.wifi@1.0-service-lazy.rc"],
}
cc_test {
name: "android.hardware.wifi@1.0-service-tests",
proprietary: true,
compile_multilib: "first",
cppflags: [
"-Wall",
"-Werror",
"-Wextra",
],
srcs: [
"tests/hidl_struct_util_unit_tests.cpp",
"tests/main.cpp",
"tests/mock_interface_tool.cpp",
"tests/mock_wifi_feature_flags.cpp",
"tests/mock_wifi_iface_util.cpp",
"tests/mock_wifi_legacy_hal.cpp",
"tests/mock_wifi_mode_controller.cpp",
"tests/ringbuffer_unit_tests.cpp",
"tests/wifi_nan_iface_unit_tests.cpp",
"tests/wifi_chip_unit_tests.cpp",
"tests/wifi_iface_util_unit_tests.cpp",
],
static_libs: [
"libgmock",
"libgtest",
"android.hardware.wifi@1.0",
"android.hardware.wifi@1.1",
"android.hardware.wifi@1.2",
"android.hardware.wifi@1.3",
"android.hardware.wifi@1.4",
"android.hardware.wifi@1.5",
"android.hardware.wifi@1.6",
"android.hardware.wifi@1.0-service-lib",
],
shared_libs: [
"libbase",
"libcutils",
"libhidlbase",
"liblog",
"libnl",
"libutils",
"libwifi-hal",
"libwifi-system-iface",
],
}

View File

@@ -1,202 +0,0 @@
# Copyright (C) 2016 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.
LOCAL_PATH := $(call my-dir)
###
### android.hardware.wifi static library
###
include $(CLEAR_VARS)
LOCAL_MODULE := android.hardware.wifi@1.0-service-lib
LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
LOCAL_LICENSE_CONDITIONS := notice
LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../NOTICE
LOCAL_MODULE_RELATIVE_PATH := hw
LOCAL_PROPRIETARY_MODULE := true
LOCAL_CPPFLAGS := -Wall -Werror -Wextra
ifdef WIFI_HAL_INTERFACE_COMBINATIONS
LOCAL_CPPFLAGS += -DWIFI_HAL_INTERFACE_COMBINATIONS="$(WIFI_HAL_INTERFACE_COMBINATIONS)"
endif
ifdef WIFI_HIDL_FEATURE_AWARE
LOCAL_CPPFLAGS += -DWIFI_HIDL_FEATURE_AWARE
endif
ifdef WIFI_HIDL_FEATURE_DUAL_INTERFACE
LOCAL_CPPFLAGS += -DWIFI_HIDL_FEATURE_DUAL_INTERFACE
endif
ifdef WIFI_HIDL_FEATURE_DISABLE_AP
LOCAL_CPPFLAGS += -DWIFI_HIDL_FEATURE_DISABLE_AP
endif
ifdef WIFI_HIDL_FEATURE_DISABLE_AP_MAC_RANDOMIZATION
LOCAL_CPPFLAGS += -DWIFI_HIDL_FEATURE_DISABLE_AP_MAC_RANDOMIZATION
endif
ifdef WIFI_AVOID_IFACE_RESET_MAC_CHANGE
LOCAL_CPPFLAGS += -DWIFI_AVOID_IFACE_RESET_MAC_CHANGE
endif
# Allow implicit fallthroughs in wifi_legacy_hal.cpp until they are fixed.
LOCAL_CFLAGS += -Wno-error=implicit-fallthrough
LOCAL_SRC_FILES := \
hidl_struct_util.cpp \
hidl_sync_util.cpp \
ringbuffer.cpp \
wifi.cpp \
wifi_ap_iface.cpp \
wifi_chip.cpp \
wifi_feature_flags.cpp \
wifi_iface_util.cpp \
wifi_legacy_hal.cpp \
wifi_legacy_hal_factory.cpp \
wifi_legacy_hal_stubs.cpp \
wifi_mode_controller.cpp \
wifi_nan_iface.cpp \
wifi_p2p_iface.cpp \
wifi_rtt_controller.cpp \
wifi_sta_iface.cpp \
wifi_status_util.cpp
LOCAL_SHARED_LIBRARIES := \
libbase \
libcutils \
libhidlbase \
liblog \
libnl \
libutils \
libwifi-hal \
libwifi-system-iface \
libxml2 \
android.hardware.wifi@1.0 \
android.hardware.wifi@1.1 \
android.hardware.wifi@1.2 \
android.hardware.wifi@1.3 \
android.hardware.wifi@1.4 \
android.hardware.wifi@1.5 \
android.hardware.wifi@1.6
LOCAL_C_INCLUDES += $(TOP)/external/libxml2/include
LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)
include $(BUILD_STATIC_LIBRARY)
###
### android.hardware.wifi daemon
###
include $(CLEAR_VARS)
LOCAL_MODULE := android.hardware.wifi@1.0-service
LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
LOCAL_LICENSE_CONDITIONS := notice
LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../NOTICE
LOCAL_VINTF_FRAGMENTS := android.hardware.wifi@1.0-service.xml
LOCAL_MODULE_RELATIVE_PATH := hw
LOCAL_PROPRIETARY_MODULE := true
LOCAL_CPPFLAGS := -Wall -Werror -Wextra
LOCAL_SRC_FILES := \
service.cpp
LOCAL_SHARED_LIBRARIES := \
libbase \
libcutils \
libhidlbase \
liblog \
libnl \
libutils \
libwifi-hal \
libwifi-system-iface \
libxml2 \
android.hardware.wifi@1.0 \
android.hardware.wifi@1.1 \
android.hardware.wifi@1.2 \
android.hardware.wifi@1.3 \
android.hardware.wifi@1.4 \
android.hardware.wifi@1.5 \
android.hardware.wifi@1.6
LOCAL_STATIC_LIBRARIES := \
android.hardware.wifi@1.0-service-lib
LOCAL_INIT_RC := android.hardware.wifi@1.0-service.rc
include $(BUILD_EXECUTABLE)
###
### android.hardware.wifi daemon
###
include $(CLEAR_VARS)
LOCAL_MODULE := android.hardware.wifi@1.0-service-lazy
LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
LOCAL_LICENSE_CONDITIONS := notice
LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../NOTICE
LOCAL_VINTF_FRAGMENTS := android.hardware.wifi@1.0-service.xml
LOCAL_OVERRIDES_MODULES := android.hardware.wifi@1.0-service
LOCAL_CFLAGS := -DLAZY_SERVICE
LOCAL_MODULE_RELATIVE_PATH := hw
LOCAL_PROPRIETARY_MODULE := true
LOCAL_CPPFLAGS := -Wall -Werror -Wextra
LOCAL_SRC_FILES := \
service.cpp
LOCAL_SHARED_LIBRARIES := \
libbase \
libcutils \
libhidlbase \
liblog \
libnl \
libutils \
libwifi-hal \
libwifi-system-iface \
libxml2 \
android.hardware.wifi@1.0 \
android.hardware.wifi@1.1 \
android.hardware.wifi@1.2 \
android.hardware.wifi@1.3 \
android.hardware.wifi@1.4 \
android.hardware.wifi@1.5 \
android.hardware.wifi@1.6
LOCAL_STATIC_LIBRARIES := \
android.hardware.wifi@1.0-service-lib
LOCAL_INIT_RC := android.hardware.wifi@1.0-service-lazy.rc
include $(BUILD_EXECUTABLE)
###
### android.hardware.wifi unit tests.
###
include $(CLEAR_VARS)
LOCAL_MODULE := android.hardware.wifi@1.0-service-tests
LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
LOCAL_LICENSE_CONDITIONS := notice
LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../NOTICE
LOCAL_PROPRIETARY_MODULE := true
LOCAL_CPPFLAGS := -Wall -Werror -Wextra
LOCAL_SRC_FILES := \
tests/hidl_struct_util_unit_tests.cpp \
tests/main.cpp \
tests/mock_interface_tool.cpp \
tests/mock_wifi_feature_flags.cpp \
tests/mock_wifi_iface_util.cpp \
tests/mock_wifi_legacy_hal.cpp \
tests/mock_wifi_mode_controller.cpp \
tests/ringbuffer_unit_tests.cpp \
tests/wifi_nan_iface_unit_tests.cpp \
tests/wifi_chip_unit_tests.cpp \
tests/wifi_iface_util_unit_tests.cpp
LOCAL_STATIC_LIBRARIES := \
libgmock \
libgtest \
android.hardware.wifi@1.0 \
android.hardware.wifi@1.1 \
android.hardware.wifi@1.2 \
android.hardware.wifi@1.3 \
android.hardware.wifi@1.4 \
android.hardware.wifi@1.5 \
android.hardware.wifi@1.6 \
android.hardware.wifi@1.0-service-lib
LOCAL_SHARED_LIBRARIES := \
libbase \
libcutils \
libhidlbase \
liblog \
libnl \
libutils \
libwifi-hal \
libwifi-system-iface
include $(BUILD_NATIVE_TEST)