1# Copyright (c) 2020, The OpenThread Authors. 2# All rights reserved. 3# 4# Redistribution and use in source and binary forms, with or without 5# modification, are permitted provided that the following conditions are met: 6# 1. Redistributions of source code must retain the above copyright 7# notice, this list of conditions and the following disclaimer. 8# 2. Redistributions in binary form must reproduce the above copyright 9# notice, this list of conditions and the following disclaimer in the 10# documentation and/or other materials provided with the distribution. 11# 3. Neither the name of the copyright holder nor the 12# names of its contributors may be used to endorse or promote products 13# derived from this software without specific prior written permission. 14# 15# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 16# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE 19# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 20# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 21# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 22# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 23# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 24# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 25# POSSIBILITY OF SUCH DAMAGE. 26# 27 28visibility = [ "../../../*" ] 29 30declare_args() { 31 # Platform portability header for spinel. 32 spinel_platform_header = "\"spinel_platform.h\"" 33} 34 35spinel_sources = [ 36 "openthread-spinel-config.h", 37 "logger.hpp", 38 "logger.cpp", 39 "multi_frame_buffer.hpp", 40 "radio_spinel.cpp", 41 "radio_spinel.hpp", 42 "spi_frame.hpp", 43 "spinel.c", 44 "spinel_buffer.cpp", 45 "spinel_buffer.hpp", 46 "spinel_decoder.cpp", 47 "spinel_decoder.hpp", 48 "spinel_driver.cpp", 49 "spinel_driver.hpp", 50 "spinel_encoder.cpp", 51 "spinel_encoder.hpp", 52 "spinel_helper.cpp", 53 "spinel_helper.hpp", 54 "spinel_platform.h", 55] 56 57config("spinel_config") { 58 defines = [ "SPINEL_PLATFORM_HEADER=${spinel_platform_header}" ] 59 include_dirs = [ ".." ] 60} 61 62config("spinel_config_openthread_message_enable") { 63 defines = [ "OPENTHREAD_SPINEL_CONFIG_OPENTHREAD_MESSAGE_ENABLE=1" ] 64} 65 66config("spinel_config_openthread_message_disable") { 67 defines = [ "OPENTHREAD_SPINEL_CONFIG_OPENTHREAD_MESSAGE_ENABLE=0" ] 68} 69 70source_set("spinel-api") { 71 public = [ "spinel.h" ] 72 public_configs = [ ":spinel_config" ] 73} 74 75static_library("libopenthread-spinel-ncp") { 76 sources = spinel_sources 77 public_deps = [ 78 ":spinel-api", 79 "../../core:libopenthread_core_headers", 80 "../platform:libopenthread-platform", 81 ] 82 public_configs = [ ":spinel_config_openthread_message_enable" ] 83} 84 85static_library("libopenthread-spinel-rcp") { 86 sources = spinel_sources 87 public_deps = [ 88 ":spinel-api", 89 "../../core:libopenthread_core_headers", 90 "../platform:libopenthread-platform", 91 ] 92 public_configs = [ ":spinel_config_openthread_message_disable" ] 93} 94