# 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_VCP_VOL_REND
  vcp_vol_rend.c
  )
zephyr_library_sources_ifdef(
  CONFIG_BT_VCP_VOL_CTLR
  vcp_vol_ctlr.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_SET_MEMBER
  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()
