#  Copyright (c) 2013 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.

{
  'variables' : {
    # Override this value to build with small float FFT tables
    'big_float_fft%' : 1,
    'use_lto%': 0,
  },
  'target_defaults': {
    'include_dirs': [
      '../',
    ],
    'conditions' : [
      ['target_arch=="arm"', {
        'conditions' : [
          ['clang==1', {
            # TODO(hans) Enable integrated-as (crbug.com/124610).
            'cflags': [
              '-fno-integrated-as',
              '-B<(android_toolchain)',  # Else /usr/bin/as gets picked up.
            ],
          }],
          ['arm_neon==1', {
            # Enable build-time NEON selection.
            'defines': ['DL_ARM_NEON',],
            'direct_dependent_settings': {
              'defines': ['DL_ARM_NEON',],
            },
          }],
          ['arm_neon==0 and arm_neon_optional==1', {
            # Enable run-time NEON selection.
            'defines': ['DL_ARM_NEON_OPTIONAL',],
            'direct_dependent_settings': {
              'defines': ['DL_ARM_NEON_OPTIONAL',],
            },
          }],
        ],
      }],
      ['target_arch=="arm64"', {
        # Enable build-time NEON selection.
        'defines': ['DL_ARM_NEON',],
        'direct_dependent_settings': {
          'defines': ['DL_ARM_NEON',],
        },
      }],
    ],
  },
  'targets': [
    {
      # GN version: //third_party/opendmax_dl/dl
      'target_name': 'openmax_dl',
      'type': 'static_library',
      'direct_dependent_settings': {
        'include_dirs': [
          '../',
        ],
      },
      'sources': [
        'api/omxtypes.h',
        'sp/api/omxSP.h',
        'sp/src/armSP_FFT_F32TwiddleTable.c',
      ],
      'conditions' : [
        ['big_float_fft==1', {
          'defines': [
            'BIG_FFT_TABLE',
          ],
        }],
        ['target_arch=="arm" or target_arch=="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',
          ],
        }],
        ['target_arch=="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',
          ],
          'dependencies': [
            'openmax_dl_armv7',
            'openmax_dl_neon',
          ],
        }],
        ['target_arch=="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',
          ],
        }],
        ['target_arch=="ia32" or target_arch=="x64"', {
          'conditions': [
            ['os_posix==1', {
              'cflags': [ '-msse2', ],
              'xcode_settings': {
                'OTHER_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',
          ],
        }],
        ['target_arch=="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',
          ],
        }],
      ],
    },
  ],
  'conditions': [
    ['target_arch=="arm"', {
      'targets': [
        {
          # GN version: //third_party/opendmax_dl/openmax_dl_armv7
          # Non-NEON implementation of FFT. This library is NOT
          # standalone. Applications must link with openmax_dl.
          'target_name': 'openmax_dl_armv7',
          'type': 'static_library',
          '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_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',
          ],
          'conditions': [
            ['arm_neon_optional==1', {
              # Run-time NEON detection.
              'dependencies': [
                '../../../build/android/ndk.gyp:cpu_features',
              ],
              'link_settings' : {
                'libraries': [
                  # To get the __android_log_print routine
                  '-llog',
                ],
              },
              'sources': [
                # Detection routine
                'sp/src/arm/detect.c',
              ],
            }],
          ],
        },
        {
          # GN version: //third_party/opendmax_dl/openmax_dl_neon
          # NEON implementation of FFT. This library is NOT
          # standalone. Applications must link with openmax_dl.
          'target_name': 'openmax_dl_neon',
          'type': 'static_library',
          'cflags!': [
            '-mfpu=vfpv3-d16',
          ],
          'cflags': [
            '-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_fs_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_Radix2_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_FFTInv_CToC_SC32_Sfs_s.S',
            'sp/src/arm/neon/omxSP_FFTFwd_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_fs_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_Radix2_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_FFTInv_CToC_FC32_Sfs_s.S',
            'sp/src/arm/neon/omxSP_FFTFwd_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',
          ],
          'conditions': [
            # Disable GCC LTO due to NEON issues
            # crbug.com/408997
            ['clang==0 and use_lto==1', {
              'cflags!': [
                '-flto',
                '-ffat-lto-objects',
              ],
            }],
          ],
        },
      ],
    }],
  ],
}
