#  Copyright (c) 2019, 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.
#

config("no-warnings") {
  cflags = [ "-Wno-conversion" ]
  visibility = [ ":*" ]
}

source_set("lib-ot-core") {
  sources = [
    "src/core/api/backbone_router_api.cpp",
    "src/core/api/backbone_router_ftd_api.cpp",
    "src/core/api/border_agent_api.cpp",
    "src/core/api/border_router_api.cpp",
    "src/core/api/channel_manager_api.cpp",
    "src/core/api/channel_monitor_api.cpp",
    "src/core/api/child_supervision_api.cpp",
    "src/core/api/coap_api.cpp",
    "src/core/api/coap_secure_api.cpp",
    "src/core/api/commissioner_api.cpp",
    "src/core/api/crypto_api.cpp",
    "src/core/api/dataset_api.cpp",
    "src/core/api/dataset_ftd_api.cpp",
    "src/core/api/diags_api.cpp",
    "src/core/api/dns_api.cpp",
    "src/core/api/entropy_api.cpp",
    "src/core/api/heap_api.cpp",
    "src/core/api/icmp6_api.cpp",
    "src/core/api/instance_api.cpp",
    "src/core/api/ip6_api.cpp",
    "src/core/api/jam_detection_api.cpp",
    "src/core/api/joiner_api.cpp",
    "src/core/api/link_api.cpp",
    "src/core/api/link_raw_api.cpp",
    "src/core/api/logging_api.cpp",
    "src/core/api/message_api.cpp",
    "src/core/api/netdata_api.cpp",
    "src/core/api/network_time_api.cpp",
    "src/core/api/random_crypto_api.cpp",
    "src/core/api/random_noncrypto_api.cpp",
    "src/core/api/server_api.cpp",
    "src/core/api/sntp_api.cpp",
    "src/core/api/tasklet_api.cpp",
    "src/core/api/thread_api.cpp",
    "src/core/api/thread_ftd_api.cpp",
    "src/core/api/udp_api.cpp",
    "src/core/backbone_router/bbr_leader.cpp",
    "src/core/backbone_router/bbr_local.cpp",
    "src/core/coap/coap.cpp",
    "src/core/coap/coap_message.cpp",
    "src/core/coap/coap_secure.cpp",
    "src/core/common/crc16.cpp",
    "src/core/common/extension_example.cpp",
    "src/core/common/instance.cpp",
    "src/core/common/logging.cpp",
    "src/core/common/message.cpp",
    "src/core/common/notifier.cpp",
    "src/core/common/random_manager.cpp",
    "src/core/common/settings.cpp",
    "src/core/common/string.cpp",
    "src/core/common/tasklet.cpp",
    "src/core/common/timer.cpp",
    "src/core/common/tlvs.cpp",
    "src/core/common/trickle_timer.cpp",
    "src/core/crypto/aes_ccm.cpp",
    "src/core/crypto/aes_ecb.cpp",
    "src/core/crypto/ecdsa.cpp",
    "src/core/crypto/hmac_sha256.cpp",
    "src/core/crypto/mbedtls.cpp",
    "src/core/crypto/pbkdf2_cmac.cpp",
    "src/core/crypto/sha256.cpp",
    "src/core/diags/factory_diags.cpp",
    "src/core/mac/channel_mask.cpp",
    "src/core/mac/data_poll_handler.cpp",
    "src/core/mac/data_poll_sender.cpp",
    "src/core/mac/link_raw.cpp",
    "src/core/mac/mac.cpp",
    "src/core/mac/mac_filter.cpp",
    "src/core/mac/mac_frame.cpp",
    "src/core/mac/mac_types.cpp",
    "src/core/mac/sub_mac.cpp",
    "src/core/mac/sub_mac_callbacks.cpp",
    "src/core/meshcop/announce_begin_client.cpp",
    "src/core/meshcop/border_agent.cpp",
    "src/core/meshcop/commissioner.cpp",
    "src/core/meshcop/dataset.cpp",
    "src/core/meshcop/dataset_local.cpp",
    "src/core/meshcop/dataset_manager.cpp",
    "src/core/meshcop/dataset_manager_ftd.cpp",
    "src/core/meshcop/dtls.cpp",
    "src/core/meshcop/energy_scan_client.cpp",
    "src/core/meshcop/joiner.cpp",
    "src/core/meshcop/joiner_router.cpp",
    "src/core/meshcop/meshcop.cpp",
    "src/core/meshcop/meshcop_leader.cpp",
    "src/core/meshcop/meshcop_tlvs.cpp",
    "src/core/meshcop/panid_query_client.cpp",
    "src/core/meshcop/timestamp.cpp",
    "src/core/net/dhcp6_client.cpp",
    "src/core/net/dhcp6_server.cpp",
    "src/core/net/dns_client.cpp",
    "src/core/net/icmp6.cpp",
    "src/core/net/ip6.cpp",
    "src/core/net/ip6_address.cpp",
    "src/core/net/ip6_filter.cpp",
    "src/core/net/ip6_headers.cpp",
    "src/core/net/ip6_mpl.cpp",
    "src/core/net/netif.cpp",
    "src/core/net/sntp_client.cpp",
    "src/core/net/udp6.cpp",
    "src/core/radio/radio.cpp",
    "src/core/radio/radio.hpp",
    "src/core/radio/radio_callbacks.cpp",
    "src/core/radio/radio_platform.cpp",
    "src/core/thread/address_resolver.cpp",
    "src/core/thread/announce_begin_server.cpp",
    "src/core/thread/announce_sender.cpp",
    "src/core/thread/child_table.cpp",
    "src/core/thread/discover_scanner.cpp",
    "src/core/thread/dua_manager.cpp",
    "src/core/thread/energy_scan_server.cpp",
    "src/core/thread/indirect_sender.cpp",
    "src/core/thread/key_manager.cpp",
    "src/core/thread/link_quality.cpp",
    "src/core/thread/lowpan.cpp",
    "src/core/thread/mesh_forwarder.cpp",
    "src/core/thread/mesh_forwarder_ftd.cpp",
    "src/core/thread/mesh_forwarder_mtd.cpp",
    "src/core/thread/mle.cpp",
    "src/core/thread/mle_router.cpp",
    "src/core/thread/mle_types.cpp",
    "src/core/thread/network_data.cpp",
    "src/core/thread/network_data_leader.cpp",
    "src/core/thread/network_data_leader_ftd.cpp",
    "src/core/thread/network_data_local.cpp",
    "src/core/thread/network_data_notifier.cpp",
    "src/core/thread/network_diagnostic.cpp",
    "src/core/thread/panid_query_server.cpp",
    "src/core/thread/router_table.cpp",
    "src/core/thread/src_match_controller.cpp",
    "src/core/thread/thread_netif.cpp",
    "src/core/thread/time_sync_service.cpp",
    "src/core/thread/topology.cpp",
    "src/core/utils/channel_manager.cpp",
    "src/core/utils/channel_monitor.cpp",
    "src/core/utils/child_supervision.cpp",
    "src/core/utils/heap.cpp",
    "src/core/utils/jam_detector.cpp",
    "src/core/utils/parse_cmdline.cpp",
    "src/core/utils/slaac_address.cpp",
    "src/lib/hdlc/hdlc.cpp",
    "src/lib/hdlc/hdlc.hpp",
    "src/lib/platform/exit_code.c",
    "src/lib/spinel/spinel.c",
    "src/lib/spinel/spinel_buffer.cpp",
    "src/lib/spinel/spinel_buffer.hpp",
    "src/lib/spinel/spinel_decoder.cpp",
    "src/lib/spinel/spinel_decoder.hpp",
    "src/lib/spinel/spinel_encoder.cpp",
    "src/lib/spinel/spinel_encoder.hpp",
    "src/ncp/changed_props_set.cpp",
    "src/ncp/changed_props_set.h",
    "src/ncp/ncp_base.cpp",
    "src/ncp/ncp_base.hpp",
    "src/ncp/ncp_base_dispatcher.cpp",
    "src/ncp/ncp_base_ftd.cpp",
    "src/ncp/ncp_base_mtd.cpp",
    "src/ncp/ncp_base_radio.cpp",
    "src/ncp/ncp_config.h",
    "third_party/mbedtls/repo/library/aes.c",
    "third_party/mbedtls/repo/library/bignum.c",
    "third_party/mbedtls/repo/library/ccm.c",
    "third_party/mbedtls/repo/library/cipher.c",
    "third_party/mbedtls/repo/library/cipher_wrap.c",
    "third_party/mbedtls/repo/library/cmac.c",
    "third_party/mbedtls/repo/library/ctr_drbg.c",
    "third_party/mbedtls/repo/library/debug.c",
    "third_party/mbedtls/repo/library/ecjpake.c",
    "third_party/mbedtls/repo/library/ecp.c",
    "third_party/mbedtls/repo/library/ecp_curves.c",
    "third_party/mbedtls/repo/library/entropy.c",
    "third_party/mbedtls/repo/library/entropy_poll.c",
    "third_party/mbedtls/repo/library/md.c",
    "third_party/mbedtls/repo/library/md_wrap.c",
    "third_party/mbedtls/repo/library/memory_buffer_alloc.c",
    "third_party/mbedtls/repo/library/platform.c",
    "third_party/mbedtls/repo/library/platform_util.c",
    "third_party/mbedtls/repo/library/sha256.c",
    "third_party/mbedtls/repo/library/ssl_ciphersuites.c",
    "third_party/mbedtls/repo/library/ssl_cli.c",
    "third_party/mbedtls/repo/library/ssl_cookie.c",
    "third_party/mbedtls/repo/library/ssl_srv.c",
    "third_party/mbedtls/repo/library/ssl_ticket.c",
    "third_party/mbedtls/repo/library/ssl_tls.c",
  ]

  # Remove the example as it is not meant for compilation
  sources -= [ "src/core/common/extension_example.cpp" ]

  include_dirs = [
    "include",
    "src",
    "src/core",
    "src/ncp",
    "src/lib/spinel",
    "third_party",
    "third_party/mbedtls",
    "third_party/mbedtls/repo/include",
  ]

  defines = [
    "MBEDTLS_CONFIG_FILE=\"mbedtls-config.h\"",
    "OPENTHREAD_FTD=1",
    "SPINEL_PLATFORM_HEADER=\"spinel_platform.h\"",
    "OPENTHREAD_CONFIG_FILE=<openthread-config-android.h>",
    "OPENTHREAD_SPINEL_CONFIG_OPENTHREAD_MESSAGE_ENABLE=1",
    "PACKAGE_NAME=\"OPENTHREAD-CORE\"",
    "PACKAGE_VERSION=\"1.0.0\"",
    "OPENTHREAD_CONFIG_LOG_PLATFORM=1",
    "OPENTHREAD_CONFIG_LOG_LEVEL=6",
  ]

  # Suppress warnings in upstream code that are triggered by Fuchsia compilation flags.
  public_configs = [ ":no-warnings" ]
  cflags_cc = [ "-Wno-non-virtual-dtor" ]
}
