# 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" ]
  }

  if (current_cpu == "arm" && is_clang) {
    # TODO(hans) Enable integrated-as (crbug.com/124610).
    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" ]
    }
  }
}

# GYP: third_party/openmax_dl/dl/dl.gyp:openmax_dl
source_set("dl") {
  public_configs = [ ":dl_config" ]
  configs -= [ "//build/config/compiler:chromium_code" ]
  configs += [ "//build/config/compiler:no_chromium_code" ]
  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_FFTInv_CToC_FC32.c",
      "sp/src/arm/arm64/omxSP_FFTFwd_CToC_FC32.c",

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

  if (current_cpu == "x86" || current_cpu == "x64") {
    if (is_posix) {
      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_FFT_F32TwiddleTable.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",
    ]
  }
}

if (current_cpu == "arm") {
  # GYP: third_party/openmax_dl/dl/dl.gyp:openmax_dl_armv7
  # Non-NEON implementation of FFT. This library is NOT
  # standalone. Applications must link with openmax_dl.
  source_set("openmax_dl_armv7") {
    configs += [ ":dl_config" ]
    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_FFTInv_CToC_FC32_Sfs_s.S",
      "sp/src/arm/armv7/omxSP_FFTFwd_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_tools:cpu_features" ]
      # To get the __android_log_print routine
      libs = [ "log" ]
      # Detection routine
      sources += [ "sp/src/arm/detect.c" ]
    }
  }

  # GYP: third_party/openmax_dl/dl/dl.gyp:openmax_dl_neon
  # NEON implementation of FFT. This library is NOT
  # standalone. Applications must link with openmax_dl.
  source_set("openmax_dl_neon") {
    configs += [ ":dl_config" ]
    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_S16_Sfs_s.S",
      "sp/src/arm/neon/omxSP_FFTInv_CCSToR_S16_Sfs_s.S",
      "sp/src/arm/neon/omxSP_FFTFwd_RToCCS_S16S32_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",
    ]
  }
}
