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_encoder.cpp", 49 "spinel_encoder.hpp", 50 "spinel_platform.h", 51] 52 53config("spinel_config") { 54 defines = [ "SPINEL_PLATFORM_HEADER=${spinel_platform_header}" ] 55 include_dirs = [ ".." ] 56} 57 58config("spinel_config_openthread_message_enable") { 59 defines = [ "OPENTHREAD_SPINEL_CONFIG_OPENTHREAD_MESSAGE_ENABLE=1" ] 60} 61 62config("spinel_config_openthread_message_disable") { 63 defines = [ "OPENTHREAD_SPINEL_CONFIG_OPENTHREAD_MESSAGE_ENABLE=0" ] 64} 65 66source_set("spinel-api") { 67 public = [ "spinel.h" ] 68 public_configs = [ ":spinel_config" ] 69} 70 71static_library("libopenthread-spinel-ncp") { 72 sources = spinel_sources 73 public_deps = [ 74 ":spinel-api", 75 "../../core:libopenthread_core_headers", 76 "../platform:libopenthread-platform", 77 ] 78 public_configs = [ ":spinel_config_openthread_message_enable" ] 79} 80 81static_library("libopenthread-spinel-rcp") { 82 sources = spinel_sources 83 public_deps = [ 84 ":spinel-api", 85 "../../core:libopenthread_core_headers", 86 "../platform:libopenthread-platform", 87 ] 88 public_configs = [ ":spinel_config_openthread_message_disable" ] 89} 90