[gn] changes for fuchsia (#5649)
src/ncp/BUILD.gn: Added new targets
spinel/BUILD.gn: Added configs to propagate the flags to dependent
targets
BUILD.gn: Updated top level BUILD.gn to include ncp targets
radio_spinel_impl.hpp: Removed compiler error for unused variable
mbedtls/BUILD.gn: Added a missing src file, added compiler flag to
ignore conversion as there is implicit unsigned int to unsigned char
conversion in ctr_drbg.c and ecp.c
diff --git a/BUILD.gn b/BUILD.gn
index 15399a2..1d2ff99 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -102,6 +102,10 @@
if (current_os == "fuchsia") {
group("lib-ot-core") {
- public_deps = [ ":libopenthread-ftd" ]
+ public_deps = [
+ ":libopenthread-ftd",
+ "src/core:libopenthread-ftd",
+ "src/ncp:libopenthread-ncp-ftd",
+ ]
}
}
diff --git a/src/lib/spinel/BUILD.gn b/src/lib/spinel/BUILD.gn
index e3a010a..0747f91 100644
--- a/src/lib/spinel/BUILD.gn
+++ b/src/lib/spinel/BUILD.gn
@@ -51,6 +51,14 @@
include_dirs = [ ".." ]
}
+config("spinel_config_openthread_message_enable") {
+ defines = [ "OPENTHREAD_SPINEL_CONFIG_OPENTHREAD_MESSAGE_ENABLE=1" ]
+}
+
+config("spinel_config_openthread_message_disable") {
+ defines = [ "OPENTHREAD_SPINEL_CONFIG_OPENTHREAD_MESSAGE_ENABLE=0" ]
+}
+
source_set("spinel-api") {
public = [ "spinel.h" ]
public_configs = [ ":spinel_config" ]
@@ -62,7 +70,7 @@
":spinel-api",
"../../core:libopenthread_core_headers",
]
- defines = [ "OPENTHREAD_SPINEL_CONFIG_OPENTHREAD_MESSAGE_ENABLE=1" ]
+ public_configs = [ ":spinel_config_openthread_message_enable" ]
}
static_library("libopenthread-spinel-rcp") {
@@ -71,5 +79,5 @@
":spinel-api",
"../../core:libopenthread_core_headers",
]
- defines = [ "OPENTHREAD_SPINEL_CONFIG_OPENTHREAD_MESSAGE_ENABLE=0" ]
+ public_configs = [ ":spinel_config_openthread_message_disable" ]
}
diff --git a/src/lib/spinel/radio_spinel_impl.hpp b/src/lib/spinel/radio_spinel_impl.hpp
index 837ec6d..be5c201 100644
--- a/src/lib/spinel/radio_spinel_impl.hpp
+++ b/src/lib/spinel/radio_spinel_impl.hpp
@@ -360,6 +360,10 @@
{
otRadioCaps missingCaps = (mRadioCaps & kRequiredRadioCaps) ^ kRequiredRadioCaps;
+ // missingCaps may be an unused variable when otLogCritPlat is blank
+ // avoid compiler warning in that case
+ OT_UNUSED_VARIABLE(missingCaps);
+
otLogCritPlat("RCP is missing required capabilities: %s%s%s%s%s",
(missingCaps & OT_RADIO_CAPS_ACK_TIMEOUT) ? "ack-timeout " : "",
(missingCaps & OT_RADIO_CAPS_TRANSMIT_RETRIES) ? "tx-retries " : "",
diff --git a/src/ncp/BUILD.gn b/src/ncp/BUILD.gn
new file mode 100644
index 0000000..5e25ecc
--- /dev/null
+++ b/src/ncp/BUILD.gn
@@ -0,0 +1,79 @@
+# Copyright (c) 2020, The OpenThread Authors.
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+# 3. Neither the name of the copyright holder nor the
+# names of its contributors may be used to endorse or promote products
+# derived from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+# POSSIBILITY OF SUCH DAMAGE.
+#
+
+import("../../etc/gn/openthread.gni")
+
+openthread_ncp_sources = [
+ "changed_props_set.cpp",
+ "changed_props_set.hpp",
+ "example_vendor_hook.cpp",
+ "ncp_base.cpp",
+ "ncp_base.hpp",
+ "ncp_base_dispatcher.cpp",
+ "ncp_base_ftd.cpp",
+ "ncp_base_mtd.cpp",
+ "ncp_base_radio.cpp",
+ "ncp_config.h",
+ "ncp_spi.cpp",
+ "ncp_spi.hpp",
+ "ncp_uart.cpp",
+ "ncp_uart.hpp",
+]
+
+config("ncp_config") {
+ include_dirs = [ ".." ]
+}
+
+static_library("libopenthread-ncp-ftd") {
+ sources = openthread_ncp_sources
+ public_deps = [
+ "../core:libopenthread-ftd",
+ "../lib/spinel:libopenthread-spinel-ncp",
+ ]
+ public_configs = [ ":ncp_config" ]
+ visibility = [ "../../*" ]
+}
+
+static_library("libopenthread-ncp-mtd") {
+ sources = openthread_ncp_sources
+ public_deps = [
+ "../core:libopenthread-mtd",
+ "../lib/spinel:libopenthread-spinel-ncp",
+ ]
+ public_configs = [ ":ncp_config" ]
+ visibility = [ "../../*" ]
+}
+
+static_library("libopenthread-rcp") {
+ sources = openthread_ncp_sources
+ public_deps = [
+ "../core:libopenthread-radio",
+ "../lib/spinel:libopenthread-spinel-rcp",
+ ]
+ public_configs = [ ":ncp_config" ]
+ visibility = [ "../../*" ]
+}
diff --git a/third_party/mbedtls/BUILD.gn b/third_party/mbedtls/BUILD.gn
index 06a06da..b61e724 100644
--- a/third_party/mbedtls/BUILD.gn
+++ b/third_party/mbedtls/BUILD.gn
@@ -40,6 +40,7 @@
]
defines = [ "MBEDTLS_CONFIG_FILE=\"${mbedtls_config_file}\"" ]
+ cflags = [ "-Wno-conversion" ]
}
static_library("mbedtls") {
@@ -143,6 +144,7 @@
"repo/library/dhm.c",
"repo/library/ecdh.c",
"repo/library/ecdsa.c",
+ "repo/library/ecjpake.c",
"repo/library/ecp.c",
"repo/library/ecp_curves.c",
"repo/library/entropy.c",