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