# Copyright (c) 2018 The WebRTC project authors. All Rights Reserved.
#
# Use of this source code is governed by a BSD-style license
# that can be found in the ../../../LICENSE file in the root of the source
# tree. An additional intellectual property rights grant can be found
# in the file PATENTS.  All contributing project authors may
# be found in the AUTHORS file in the root of the source tree.

import("../../../webrtc.gni")

rtc_library("spl_sqrt_floor") {
  visibility = [ "../..:common_audio_c" ]
  sources = [ "spl_sqrt_floor.h" ]
  deps = []
  if (current_cpu == "arm") {
    sources += [ "spl_sqrt_floor_arm.S" ]

    deps += [ "../../../rtc_base/system:asm_defines" ]
  } else if (current_cpu == "mipsel") {
    sources += [ "spl_sqrt_floor_mips.c" ]
  } else {
    sources += [ "spl_sqrt_floor.c" ]
  }
}
