# SPDX-License-Identifier: Apache-2.0

zephyr_library()
zephyr_library_sources(
  bt.c
  hci.c
  )
zephyr_library_sources_ifdef(
  CONFIG_BT_CONN
  gatt.c
  )
zephyr_library_sources_ifdef(
  CONFIG_BT_BREDR
  bredr.c
  )
zephyr_library_sources_ifdef(
  CONFIG_BT_L2CAP_DYNAMIC_CHANNEL
  l2cap.c
  )
zephyr_library_sources_ifdef(
  CONFIG_BT_RFCOMM
  rfcomm.c
  )
zephyr_library_sources_ifdef(
  CONFIG_BT_ISO
  iso.c
  )
zephyr_library_sources_ifdef(
  CONFIG_BT_VCS
  vcs.c
  )
zephyr_library_sources_ifdef(
  CONFIG_BT_VCS_CLIENT
  vcs_client.c
  )
zephyr_library_sources_ifdef(
  CONFIG_BT_MICP_MIC_DEV
  micp_mic_dev.c
  )
zephyr_library_sources_ifdef(
  CONFIG_BT_MICP_MIC_CTLR
  micp_mic_ctlr.c
  )
zephyr_library_sources_ifdef(
  CONFIG_BT_CSIP_SET_MEMBER
  csip_set_member.c
  )
zephyr_library_sources_ifdef(
  CONFIG_BT_CSIP_SET_COORDINATOR
  csip_set_coordinator.c
  )
zephyr_library_sources_ifdef(
  CONFIG_BT_TBS
  tbs.c
  )
zephyr_library_sources_ifdef(
  CONFIG_BT_TBS_CLIENT
  tbs_client.c
  )
zephyr_library_sources_ifdef(
  CONFIG_BT_MPL
  mpl.c
  )
zephyr_library_sources_ifdef(
  CONFIG_BT_MCC
  mcc.c
  )
zephyr_library_sources_ifdef(
  CONFIG_BT_MCS
  media_controller.c
  )
zephyr_library_sources_ifdef(
  CONFIG_BT_HAS_PRESET_SUPPORT
  has.c
  )
zephyr_library_sources_ifdef(
  CONFIG_BT_CAP_ACCEPTOR
  cap_acceptor.c
  )
zephyr_library_sources_ifdef(
  CONFIG_BT_CAP_INITIATOR
  cap_initiator.c
  )
zephyr_library_sources_ifdef(
  CONFIG_BT_HAS_CLIENT
  has_client.c
  )
# We use BT_AUDIO_STREAM as a common ground for audio, as that is set whenever
# any audio stream functionality is enabled.
zephyr_library_sources_ifdef(
  CONFIG_BT_AUDIO_STREAM
  audio.c
  )

zephyr_library_sources_ifdef(
  CONFIG_BT_BAP_SCAN_DELEGATOR
  bap_scan_delegator.c
  )
zephyr_library_sources_ifdef(
  CONFIG_BT_BAP_BROADCAST_ASSISTANT
  bap_broadcast_assistant.c
  )

zephyr_library_sources_ifdef(
  CONFIG_BT_IAS
  ias.c
  )
zephyr_library_sources_ifdef(
  CONFIG_BT_IAS_CLIENT
  ias_client.c
  )

if(CONFIG_BT_CTLR AND CONFIG_BT_LL_SW_SPLIT)
  zephyr_library_sources(
    ll.c
    ticker.c
    )
  zephyr_include_directories(
    ${ZEPHYR_BASE}/subsys/bluetooth/controller/ll_sw/nordic
    )
endif()
