# Copyright 2014 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import("//build/config/android/config.gni")
import("//build/config/arm.gni")

declare_args() {
  # Override this value to build with small float FFT tables
  openmax_big_float_fft = true
}

config("dl_config") {
  include_dirs = [ ".." ]
  if (current_cpu == "arm") {
    if (arm_use_neon) {
      # Enable build-time NEON selection.
      defines = [ "DL_ARM_NEON" ]
    } else if (arm_optionally_use_neon) {
      # Enable run-time NEON selection.
      defines = [ "DL_ARM_NEON_OPTIONAL" ]
    }
  } else if (current_cpu == "arm64") {
    # Enable build-time NEON selection.
    defines = [ "DL_ARM_NEON" ]
  }
}

config("no_integrated_as") {
  if (current_cpu == "arm" && is_clang) {
    # TODO(hans): Enable integrated-as (crbug.com/917355).
    # Once that's fixed, also stop removing assembler_debug_dir from configs.
    asmflags = [ "-fno-integrated-as" ]
    if (is_android) {
      rebased_android_toolchain_root =
          rebase_path(android_toolchain_root, root_build_dir)

      # Else /usr/bin/as gets picked up.
      asmflags += [ "-B${rebased_android_toolchain_root}/bin" ]
    }
  }
}

static_library("dl") {
  public_configs = [ ":dl_config" ]
  configs -= [
    "//build/config/compiler:chromium_code",
    "//build/config/compiler:assembler_debug_dir",
  ]
  configs += [
    "//build/config/compiler:no_chromium_code",
    ":no_integrated_as",
  ]
  sources = [
    "api/omxtypes.h",
    "sp/api/omxSP.h",
    "sp/src/armSP_FFT_F32TwiddleTable.c",
  ]

  cflags = []
  deps = []
  defines = []

  if (openmax_big_float_fft) {
    defines += [ "BIG_FFT_TABLE" ]
  }

  if (current_cpu == "arm" || current_cpu == "arm64") {
    sources += [
      # Common files that are used by both arm and arm64 code.
      "api/arm/armOMX.h",
      "api/arm/omxtypes_s.h",
      "sp/api/armSP.h",
      "sp/src/arm/armSP_FFT_S32TwiddleTable.c",
      "sp/src/arm/omxSP_FFTGetBufSize_C_FC32.c",
      "sp/src/arm/omxSP_FFTGetBufSize_C_SC32.c",
      "sp/src/arm/omxSP_FFTGetBufSize_R_F32.c",
      "sp/src/arm/omxSP_FFTGetBufSize_R_S32.c",
      "sp/src/arm/omxSP_FFTInit_C_FC32.c",
      "sp/src/arm/omxSP_FFTInit_R_F32.c",
    ]
  }

  if (current_cpu == "arm") {
    sources += [
      # Common files that are used by both the NEON and non-NEON code.
      "api/armCOMM_s.h",
      "sp/src/arm/omxSP_FFTGetBufSize_C_SC16.c",
      "sp/src/arm/omxSP_FFTGetBufSize_R_S16.c",
      "sp/src/arm/omxSP_FFTGetBufSize_R_S16S32.c",
      "sp/src/arm/omxSP_FFTInit_C_SC16.c",
      "sp/src/arm/omxSP_FFTInit_C_SC32.c",
      "sp/src/arm/omxSP_FFTInit_R_S16.c",
      "sp/src/arm/omxSP_FFTInit_R_S16S32.c",
      "sp/src/arm/omxSP_FFTInit_R_S32.c",
    ]

    deps += [
      ":openmax_dl_armv7",
      ":openmax_dl_neon",
    ]
  }

  if (current_cpu == "arm64") {
    sources += [
      "api/arm/arm64COMM_s.h",

      # Complex floating-point FFT
      "sp/src/arm/arm64/armSP_FFT_CToC_FC32_Radix2_fs_s.S",
      "sp/src/arm/arm64/armSP_FFT_CToC_FC32_Radix2_ls_s.S",
      "sp/src/arm/arm64/armSP_FFT_CToC_FC32_Radix2_s.S",
      "sp/src/arm/arm64/armSP_FFT_CToC_FC32_Radix4_fs_s.S",
      "sp/src/arm/arm64/armSP_FFT_CToC_FC32_Radix4_ls_s.S",
      "sp/src/arm/arm64/armSP_FFT_CToC_FC32_Radix4_s.S",
      "sp/src/arm/arm64/armSP_FFT_CToC_FC32_Radix8_fs_s.S",
      "sp/src/arm/arm64/omxSP_FFTFwd_CToC_FC32.c",
      "sp/src/arm/arm64/omxSP_FFTInv_CToC_FC32.c",

      # Real floating-point FFT
      "sp/src/arm/arm64/ComplexToRealFixup.S",
      "sp/src/arm/arm64/armSP_FFTInv_CCSToR_F32_preTwiddleRadix2_s.S",
      "sp/src/arm/arm64/omxSP_FFTFwd_RToCCS_F32.c",
      "sp/src/arm/arm64/omxSP_FFTInv_CCSToR_F32.c",
    ]
  }

  if (current_cpu == "x86" || current_cpu == "x64") {
    if (is_posix || is_fuchsia) {
      cflags += [ "-msse2" ]
    }

    sources += [
      # Real 32-bit floating-point FFT.
      "sp/api/x86SP.h",
      "sp/src/x86/omxSP_FFTFwd_RToCCS_F32_Sfs.c",
      "sp/src/x86/omxSP_FFTGetBufSize_R_F32.c",
      "sp/src/x86/omxSP_FFTInit_R_F32.c",
      "sp/src/x86/omxSP_FFTInv_CCSToR_F32_Sfs.c",
      "sp/src/x86/x86SP_FFT_CToC_FC32_Fwd_Radix2_fs.c",
      "sp/src/x86/x86SP_FFT_CToC_FC32_Fwd_Radix2_ls.c",
      "sp/src/x86/x86SP_FFT_CToC_FC32_Fwd_Radix2_ls_sse.c",
      "sp/src/x86/x86SP_FFT_CToC_FC32_Fwd_Radix2_ms.c",
      "sp/src/x86/x86SP_FFT_CToC_FC32_Fwd_Radix4_fs.c",
      "sp/src/x86/x86SP_FFT_CToC_FC32_Fwd_Radix4_fs_sse.c",
      "sp/src/x86/x86SP_FFT_CToC_FC32_Fwd_Radix4_ls.c",
      "sp/src/x86/x86SP_FFT_CToC_FC32_Fwd_Radix4_ls_sse.c",
      "sp/src/x86/x86SP_FFT_CToC_FC32_Fwd_Radix4_ms.c",
      "sp/src/x86/x86SP_FFT_CToC_FC32_Fwd_Radix4_ms_sse.c",
      "sp/src/x86/x86SP_FFT_CToC_FC32_Inv_Radix2_fs.c",
      "sp/src/x86/x86SP_FFT_CToC_FC32_Inv_Radix2_ls.c",
      "sp/src/x86/x86SP_FFT_CToC_FC32_Inv_Radix2_ls_sse.c",
      "sp/src/x86/x86SP_FFT_CToC_FC32_Inv_Radix2_ms.c",
      "sp/src/x86/x86SP_FFT_CToC_FC32_Inv_Radix4_fs.c",
      "sp/src/x86/x86SP_FFT_CToC_FC32_Inv_Radix4_fs_sse.c",
      "sp/src/x86/x86SP_FFT_CToC_FC32_Inv_Radix4_ls.c",
      "sp/src/x86/x86SP_FFT_CToC_FC32_Inv_Radix4_ls_sse.c",
      "sp/src/x86/x86SP_FFT_CToC_FC32_Inv_Radix4_ms.c",
      "sp/src/x86/x86SP_FFT_CToC_FC32_Inv_Radix4_ms_sse.c",
      "sp/src/x86/x86SP_FFT_F32_radix2_kernel.c",
      "sp/src/x86/x86SP_FFT_F32_radix4_kernel.c",
      "sp/src/x86/x86SP_SSE_Math.h",
    ]
  }

  if (current_cpu == "mipsel") {
    cflags += [ "-std=c99" ]
    sources -= [ "sp/src/armSP_FFT_F32TwiddleTable.c" ]

    sources += [
      "sp/api/mipsSP.h",
      "sp/src/mips/mips_FFTFwd_RToCCS_F32_complex.c",
      "sp/src/mips/mips_FFTFwd_RToCCS_F32_real.c",
      "sp/src/mips/mips_FFTInv_CCSToR_F32_complex.c",
      "sp/src/mips/mips_FFTInv_CCSToR_F32_real.c",
      "sp/src/mips/omxSP_FFTFwd_RToCCS_F32_Sfs.c",
      "sp/src/mips/omxSP_FFTGetBufSize_R_F32.c",
      "sp/src/mips/omxSP_FFTInit_R_F32.c",
      "sp/src/mips/omxSP_FFTInv_CCSToR_F32_Sfs.c",
      "sp/src/mips/omxSP_FFT_F32TwiddleTable.c",
    ]
  }
}

if (current_cpu == "arm") {
  # Non-NEON implementation of FFT. This library is NOT
  # standalone. Applications must link with openmax_dl.
  static_library("openmax_dl_armv7") {
    configs += [
      ":dl_config",
      ":no_integrated_as",
    ]
    configs -= [ "//build/config/compiler:assembler_debug_dir" ]
    visibility = [ ":*" ]

    sources = [
      # Complex floating-point FFT
      "sp/src/arm/armv7/armSP_FFT_CToC_FC32_Radix2_fs_unsafe_s.S",
      "sp/src/arm/armv7/armSP_FFT_CToC_FC32_Radix4_fs_unsafe_s.S",
      "sp/src/arm/armv7/armSP_FFT_CToC_FC32_Radix4_unsafe_s.S",
      "sp/src/arm/armv7/armSP_FFT_CToC_FC32_Radix8_fs_unsafe_s.S",
      "sp/src/arm/armv7/omxSP_FFTFwd_CToC_FC32_Sfs_s.S",
      "sp/src/arm/armv7/omxSP_FFTInv_CToC_FC32_Sfs_s.S",

      # Real floating-point FFT
      "sp/src/arm/armv7/armSP_FFTInv_CCSToR_F32_preTwiddleRadix2_unsafe_s.S",
      "sp/src/arm/armv7/omxSP_FFTFwd_RToCCS_F32_Sfs_s.S",
      "sp/src/arm/armv7/omxSP_FFTInv_CCSToR_F32_Sfs_s.S",
    ]
    if (arm_optionally_use_neon) {
      # Run-time NEON detection.
      deps = [
        "//third_party/android_sdk:cpu_features",
      ]

      # To get the __android_log_print routine
      libs = [ "log" ]

      # Detection routine
      sources += [ "sp/src/arm/detect.c" ]
    }
  }

  # NEON implementation of FFT. This library is NOT
  # standalone. Applications must link with openmax_dl.
  static_library("openmax_dl_neon") {
    configs += [
      ":dl_config",
      ":no_integrated_as",
    ]
    configs -= [ "//build/config/compiler:assembler_debug_dir" ]
    visibility = [ ":*" ]

    if (!arm_use_neon) {
      configs -= [ "//build/config/compiler:compiler_arm_fpu" ]
      asmflags = [ "-mfpu=neon" ]
    }

    sources = [
      # Complex 32-bit fixed-point FFT.
      "sp/src/arm/neon/armSP_FFT_CToC_SC32_Radix2_fs_unsafe_s.S",
      "sp/src/arm/neon/armSP_FFT_CToC_SC32_Radix2_ls_unsafe_s.S",
      "sp/src/arm/neon/armSP_FFT_CToC_SC32_Radix2_unsafe_s.S",
      "sp/src/arm/neon/armSP_FFT_CToC_SC32_Radix4_fs_unsafe_s.S",
      "sp/src/arm/neon/armSP_FFT_CToC_SC32_Radix4_ls_unsafe_s.S",
      "sp/src/arm/neon/armSP_FFT_CToC_SC32_Radix4_unsafe_s.S",
      "sp/src/arm/neon/armSP_FFT_CToC_SC32_Radix8_fs_unsafe_s.S",
      "sp/src/arm/neon/omxSP_FFTFwd_CToC_SC32_Sfs_s.S",
      "sp/src/arm/neon/omxSP_FFTInv_CToC_SC32_Sfs_s.S",

      # Real 32-bit fixed-point FFT
      "sp/src/arm/neon/armSP_FFTInv_CCSToR_S32_preTwiddleRadix2_unsafe_s.S",
      "sp/src/arm/neon/omxSP_FFTFwd_RToCCS_S32_Sfs_s.S",
      "sp/src/arm/neon/omxSP_FFTInv_CCSToR_S32_Sfs_s.S",

      # Complex 16-bit fixed-point FFT
      "sp/src/arm/neon/armSP_FFTInv_CCSToR_S16_preTwiddleRadix2_unsafe_s.S",
      "sp/src/arm/neon/armSP_FFT_CToC_SC16_Radix2_fs_unsafe_s.S",
      "sp/src/arm/neon/armSP_FFT_CToC_SC16_Radix2_ls_unsafe_s.S",
      "sp/src/arm/neon/armSP_FFT_CToC_SC16_Radix2_ps_unsafe_s.S",
      "sp/src/arm/neon/armSP_FFT_CToC_SC16_Radix2_unsafe_s.S",
      "sp/src/arm/neon/armSP_FFT_CToC_SC16_Radix4_fs_unsafe_s.S",
      "sp/src/arm/neon/armSP_FFT_CToC_SC16_Radix4_ls_unsafe_s.S",
      "sp/src/arm/neon/armSP_FFT_CToC_SC16_Radix4_unsafe_s.S",
      "sp/src/arm/neon/armSP_FFT_CToC_SC16_Radix8_fs_unsafe_s.S",
      "sp/src/arm/neon/omxSP_FFTFwd_CToC_SC16_Sfs_s.S",
      "sp/src/arm/neon/omxSP_FFTInv_CToC_SC16_Sfs_s.S",

      # Real 16-bit fixed-point FFT
      "sp/src/arm/neon/omxSP_FFTFwd_RToCCS_S16S32_Sfs_s.S",
      "sp/src/arm/neon/omxSP_FFTFwd_RToCCS_S16_Sfs_s.S",
      "sp/src/arm/neon/omxSP_FFTInv_CCSToR_S16_Sfs_s.S",
      "sp/src/arm/neon/omxSP_FFTInv_CCSToR_S32S16_Sfs_s.S",

      # Complex floating-point FFT
      "sp/src/arm/neon/armSP_FFT_CToC_FC32_Radix2_fs_unsafe_s.S",
      "sp/src/arm/neon/armSP_FFT_CToC_FC32_Radix2_ls_unsafe_s.S",
      "sp/src/arm/neon/armSP_FFT_CToC_FC32_Radix2_unsafe_s.S",
      "sp/src/arm/neon/armSP_FFT_CToC_FC32_Radix4_fs_unsafe_s.S",
      "sp/src/arm/neon/armSP_FFT_CToC_FC32_Radix4_ls_unsafe_s.S",
      "sp/src/arm/neon/armSP_FFT_CToC_FC32_Radix4_unsafe_s.S",
      "sp/src/arm/neon/armSP_FFT_CToC_FC32_Radix8_fs_unsafe_s.S",
      "sp/src/arm/neon/omxSP_FFTFwd_CToC_FC32_Sfs_s.S",
      "sp/src/arm/neon/omxSP_FFTInv_CToC_FC32_Sfs_s.S",

      # Real floating-point FFT
      "sp/src/arm/neon/armSP_FFTInv_CCSToR_F32_preTwiddleRadix2_unsafe_s.S",
      "sp/src/arm/neon/omxSP_FFTFwd_RToCCS_F32_Sfs_s.S",
      "sp/src/arm/neon/omxSP_FFTInv_CCSToR_F32_Sfs_s.S",
    ]
  }
}
