Prepare dependencies for the mainline
supplicant AIDL implementation.
This involves:
- Creating an apex_available version
of wpa_supplicant_headers
- Moving the common AIDL header files
to a shared directory
- Initializing the mainline supplicant
AIDL library
Bug: 365585450
Test: m
Change-Id: I38e6c8f6999082ec964515cbc215bb8d5e3d47fa
diff --git a/wpa_supplicant/Android.bp b/wpa_supplicant/Android.bp
index 350641a..210325b 100644
--- a/wpa_supplicant/Android.bp
+++ b/wpa_supplicant/Android.bp
@@ -57,6 +57,31 @@
soc_specific: true,
}
+cc_library_headers {
+ name: "wpa_supplicant_headers_mainline",
+ export_include_dirs: [
+ ".",
+ "src",
+ "src/common",
+ "src/drivers",
+ "src/eap_common",
+ "src/eapol_supp",
+ "src/eap_peer",
+ "src/eap_server",
+ "src/l2_packet",
+ "src/radius",
+ "src/rsn_supp",
+ "src/tls",
+ "src/utils",
+ "src/wps",
+ ],
+ apex_available: [
+ "//apex_available:platform",
+ "com.android.wifi",
+ ],
+ min_sdk_version: "30",
+}
+
filegroup {
name: "wpa_supplicant_template.conf",
srcs: ["wpa_supplicant_template.conf"],
@@ -1354,6 +1379,9 @@
wpa_supplicant_cc_binary {
name: "wpa_supplicant_mainline",
shared_libs: [
+ "android.system.wifi.mainline_supplicant-ndk",
+ "libbase",
+ "libbinder_ndk",
"libc",
"libcrypto",
"libcutils_sockets",
@@ -1361,6 +1389,9 @@
"libnl",
"libssl",
],
+ static_libs: [
+ "mainline_supplicant_aidl_bp",
+ ],
defaults: [
"wpa_supplicant_srcs_default",
"wpa_supplicant_includes_default",
diff --git a/wpa_supplicant/aidl/mainline/Android.bp b/wpa_supplicant/aidl/mainline/Android.bp
new file mode 100644
index 0000000..68407a3
--- /dev/null
+++ b/wpa_supplicant/aidl/mainline/Android.bp
@@ -0,0 +1,53 @@
+// Copyright (C) 2024 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.
+
+cc_library_headers {
+ name: "mainline_supplicant_aidl_headers",
+ export_include_dirs: ["."],
+ apex_available: [
+ "//apex_available:platform",
+ "com.android.wifi",
+ ],
+ min_sdk_version: "30",
+}
+
+cc_library_static {
+ name: "mainline_supplicant_aidl_bp",
+ srcs: ["*.cpp"],
+ shared_libs: [
+ "android.system.wifi.mainline_supplicant-ndk",
+ "libbase",
+ "libbinder_ndk",
+ ],
+ cppflags: [
+ "-Wall",
+ "-Werror",
+ "-Wno-unused-parameter",
+ "-Wno-unused-private-field",
+ "-Wno-unused-variable",
+ ],
+ header_libs: [
+ // Shared headers with vendor supplicant
+ "libwpa_shared_aidl_headers_mainline",
+ // Mainline supplicant headers
+ "mainline_supplicant_aidl_headers",
+ // Core supplicant headers
+ "wpa_supplicant_headers_mainline",
+ ],
+ apex_available: [
+ "//apex_available:platform",
+ "com.android.wifi",
+ ],
+ min_sdk_version: "30",
+}
diff --git a/wpa_supplicant/aidl/shared/Android.bp b/wpa_supplicant/aidl/shared/Android.bp
new file mode 100644
index 0000000..25cb5fa
--- /dev/null
+++ b/wpa_supplicant/aidl/shared/Android.bp
@@ -0,0 +1,29 @@
+// Copyright (C) 2024 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.
+
+cc_library_headers {
+ name: "libwpa_shared_aidl_headers_vendor",
+ export_include_dirs: ["."],
+ soc_specific: true,
+}
+
+cc_library_headers {
+ name: "libwpa_shared_aidl_headers_mainline",
+ export_include_dirs: ["."],
+ apex_available: [
+ "//apex_available:platform",
+ "com.android.wifi",
+ ],
+ min_sdk_version: "30",
+}
diff --git a/wpa_supplicant/aidl/vendor/aidl_i.h b/wpa_supplicant/aidl/shared/aidl_i.h
similarity index 100%
rename from wpa_supplicant/aidl/vendor/aidl_i.h
rename to wpa_supplicant/aidl/shared/aidl_i.h
diff --git a/wpa_supplicant/aidl/vendor/Android.bp b/wpa_supplicant/aidl/vendor/Android.bp
index 5976ff9..a972dd6 100644
--- a/wpa_supplicant/aidl/vendor/Android.bp
+++ b/wpa_supplicant/aidl/vendor/Android.bp
@@ -56,6 +56,7 @@
header_libs: [
"wpa_supplicant_headers",
"libwpa_aidl_headers",
+ "libwpa_shared_aidl_headers_vendor",
],
}
diff --git a/wpa_supplicant/aidl/vendor/aidl.cpp b/wpa_supplicant/aidl/vendor/aidl.cpp
index d1cf891..a0446fe 100644
--- a/wpa_supplicant/aidl/vendor/aidl.cpp
+++ b/wpa_supplicant/aidl/vendor/aidl.cpp
@@ -14,7 +14,7 @@
extern "C"
{
#include "aidl.h"
-#include "aidl_i.h"
+#include "aidl/shared/aidl_i.h"
#include "utils/common.h"
#include "utils/eloop.h"
#include "utils/includes.h"