1*cfb92d14SAndroid Build Coastguard Worker# Copyright (c) 2019, The OpenThread Authors. 2*cfb92d14SAndroid Build Coastguard Worker# All rights reserved. 3*cfb92d14SAndroid Build Coastguard Worker# 4*cfb92d14SAndroid Build Coastguard Worker# Redistribution and use in source and binary forms, with or without 5*cfb92d14SAndroid Build Coastguard Worker# modification, are permitted provided that the following conditions are met: 6*cfb92d14SAndroid Build Coastguard Worker# 1. Redistributions of source code must retain the above copyright 7*cfb92d14SAndroid Build Coastguard Worker# notice, this list of conditions and the following disclaimer. 8*cfb92d14SAndroid Build Coastguard Worker# 2. Redistributions in binary form must reproduce the above copyright 9*cfb92d14SAndroid Build Coastguard Worker# notice, this list of conditions and the following disclaimer in the 10*cfb92d14SAndroid Build Coastguard Worker# documentation and/or other materials provided with the distribution. 11*cfb92d14SAndroid Build Coastguard Worker# 3. Neither the name of the copyright holder nor the 12*cfb92d14SAndroid Build Coastguard Worker# names of its contributors may be used to endorse or promote products 13*cfb92d14SAndroid Build Coastguard Worker# derived from this software without specific prior written permission. 14*cfb92d14SAndroid Build Coastguard Worker# 15*cfb92d14SAndroid Build Coastguard Worker# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 16*cfb92d14SAndroid Build Coastguard Worker# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17*cfb92d14SAndroid Build Coastguard Worker# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18*cfb92d14SAndroid Build Coastguard Worker# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE 19*cfb92d14SAndroid Build Coastguard Worker# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 20*cfb92d14SAndroid Build Coastguard Worker# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 21*cfb92d14SAndroid Build Coastguard Worker# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 22*cfb92d14SAndroid Build Coastguard Worker# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 23*cfb92d14SAndroid Build Coastguard Worker# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 24*cfb92d14SAndroid Build Coastguard Worker# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 25*cfb92d14SAndroid Build Coastguard Worker# POSSIBILITY OF SUCH DAMAGE. 26*cfb92d14SAndroid Build Coastguard Worker# 27*cfb92d14SAndroid Build Coastguard Worker 28*cfb92d14SAndroid Build Coastguard Workerimport("etc/gn/openthread.gni") 29*cfb92d14SAndroid Build Coastguard Worker 30*cfb92d14SAndroid Build Coastguard Workerconfig("openthread_config") { 31*cfb92d14SAndroid Build Coastguard Worker defines = [] 32*cfb92d14SAndroid Build Coastguard Worker if (openthread_config_file != "") { 33*cfb92d14SAndroid Build Coastguard Worker defines += [ "OPENTHREAD_CONFIG_FILE=${openthread_config_file}" ] 34*cfb92d14SAndroid Build Coastguard Worker } 35*cfb92d14SAndroid Build Coastguard Worker 36*cfb92d14SAndroid Build Coastguard Worker include_dirs = openthread_project_include_dirs 37*cfb92d14SAndroid Build Coastguard Worker 38*cfb92d14SAndroid Build Coastguard Worker include_dirs += [ 39*cfb92d14SAndroid Build Coastguard Worker "${root_gen_dir}/include", 40*cfb92d14SAndroid Build Coastguard Worker "include", 41*cfb92d14SAndroid Build Coastguard Worker ] 42*cfb92d14SAndroid Build Coastguard Worker} 43*cfb92d14SAndroid Build Coastguard Worker 44*cfb92d14SAndroid Build Coastguard Workerconfig("openthread_ftd_config") { 45*cfb92d14SAndroid Build Coastguard Worker defines = [ 46*cfb92d14SAndroid Build Coastguard Worker "OPENTHREAD_FTD=1", 47*cfb92d14SAndroid Build Coastguard Worker "OPENTHREAD_MTD=0", 48*cfb92d14SAndroid Build Coastguard Worker "OPENTHREAD_RADIO=0", 49*cfb92d14SAndroid Build Coastguard Worker ] 50*cfb92d14SAndroid Build Coastguard Worker} 51*cfb92d14SAndroid Build Coastguard Worker 52*cfb92d14SAndroid Build Coastguard Workerconfig("openthread_mtd_config") { 53*cfb92d14SAndroid Build Coastguard Worker defines = [ 54*cfb92d14SAndroid Build Coastguard Worker "OPENTHREAD_MTD=1", 55*cfb92d14SAndroid Build Coastguard Worker "OPENTHREAD_FTD=0", 56*cfb92d14SAndroid Build Coastguard Worker "OPENTHREAD_RADIO=0", 57*cfb92d14SAndroid Build Coastguard Worker ] 58*cfb92d14SAndroid Build Coastguard Worker} 59*cfb92d14SAndroid Build Coastguard Worker 60*cfb92d14SAndroid Build Coastguard Workerconfig("openthread_radio_config") { 61*cfb92d14SAndroid Build Coastguard Worker defines = [ 62*cfb92d14SAndroid Build Coastguard Worker "OPENTHREAD_RADIO=1", 63*cfb92d14SAndroid Build Coastguard Worker "OPENTHREAD_FTD=0", 64*cfb92d14SAndroid Build Coastguard Worker "OPENTHREAD_MTD=0", 65*cfb92d14SAndroid Build Coastguard Worker ] 66*cfb92d14SAndroid Build Coastguard Worker} 67*cfb92d14SAndroid Build Coastguard Worker 68*cfb92d14SAndroid Build Coastguard Workergroup("libopenthread-ftd") { 69*cfb92d14SAndroid Build Coastguard Worker public_deps = [ "include/openthread" ] 70*cfb92d14SAndroid Build Coastguard Worker deps = [ "src/core:libopenthread-ftd" ] 71*cfb92d14SAndroid Build Coastguard Worker} 72*cfb92d14SAndroid Build Coastguard Worker 73*cfb92d14SAndroid Build Coastguard Workergroup("libopenthread-mtd") { 74*cfb92d14SAndroid Build Coastguard Worker public_deps = [ "include/openthread" ] 75*cfb92d14SAndroid Build Coastguard Worker deps = [ "src/core:libopenthread-mtd" ] 76*cfb92d14SAndroid Build Coastguard Worker} 77*cfb92d14SAndroid Build Coastguard Worker 78*cfb92d14SAndroid Build Coastguard Workergroup("libopenthread-radio") { 79*cfb92d14SAndroid Build Coastguard Worker public_deps = [ "include/openthread" ] 80*cfb92d14SAndroid Build Coastguard Worker deps = [ "src/core:libopenthread-radio" ] 81*cfb92d14SAndroid Build Coastguard Worker} 82*cfb92d14SAndroid Build Coastguard Worker 83*cfb92d14SAndroid Build Coastguard Workergroup("libopenthread-cli-ftd") { 84*cfb92d14SAndroid Build Coastguard Worker public_deps = [ "include/openthread" ] 85*cfb92d14SAndroid Build Coastguard Worker deps = [ "src/cli:libopenthread-cli-ftd" ] 86*cfb92d14SAndroid Build Coastguard Worker} 87*cfb92d14SAndroid Build Coastguard Worker 88*cfb92d14SAndroid Build Coastguard Workergroup("libopenthread-cli-mtd") { 89*cfb92d14SAndroid Build Coastguard Worker public_deps = [ "include/openthread" ] 90*cfb92d14SAndroid Build Coastguard Worker deps = [ "src/cli:libopenthread-cli-mtd" ] 91*cfb92d14SAndroid Build Coastguard Worker} 92*cfb92d14SAndroid Build Coastguard Worker 93*cfb92d14SAndroid Build Coastguard Workergroup("libopenthread-spinel-ncp") { 94*cfb92d14SAndroid Build Coastguard Worker public_deps = [ "src/lib/spinel:spinel-api" ] 95*cfb92d14SAndroid Build Coastguard Worker deps = [ "src/lib/spinel:libopenthread-spinel-ncp" ] 96*cfb92d14SAndroid Build Coastguard Worker} 97*cfb92d14SAndroid Build Coastguard Worker 98*cfb92d14SAndroid Build Coastguard Workergroup("libopenthread-spinel-rcp") { 99*cfb92d14SAndroid Build Coastguard Worker public_deps = [ "src/lib/spinel:spinel-api" ] 100*cfb92d14SAndroid Build Coastguard Worker deps = [ "src/lib/spinel:libopenthread-spinel-rcp" ] 101*cfb92d14SAndroid Build Coastguard Worker} 102*cfb92d14SAndroid Build Coastguard Worker 103*cfb92d14SAndroid Build Coastguard Workerif (current_os == "fuchsia") { 104*cfb92d14SAndroid Build Coastguard Worker group("lib-ot-core") { 105*cfb92d14SAndroid Build Coastguard Worker public_deps = [ 106*cfb92d14SAndroid Build Coastguard Worker ":libopenthread-ftd", 107*cfb92d14SAndroid Build Coastguard Worker "src/core:libopenthread-ftd", 108*cfb92d14SAndroid Build Coastguard Worker "src/ncp:libopenthread-ncp-ftd", 109*cfb92d14SAndroid Build Coastguard Worker ] 110*cfb92d14SAndroid Build Coastguard Worker } 111*cfb92d14SAndroid Build Coastguard Worker} 112