diff --git a/dl/dl.gyp b/dl/dl.gyp
deleted file mode 100644
index 2b0826f..0000000
--- a/dl/dl.gyp
+++ /dev/null
@@ -1,313 +0,0 @@
-#  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' ],
-            'conditions': [
-              ['OS == "android"', {
-                # Else /usr/bin/as gets picked up.
-                'cflags': [ '-B<(android_toolchain)' ],
-              }],
-            ],
-          }],
-          ['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',
-              ],
-            }],
-          ],
-        },
-      ],
-    }],
-  ],
-}
diff --git a/dl/sp/src/test/test_fft.gyp b/dl/sp/src/test/test_fft.gyp
deleted file mode 100644
index 859ea46..0000000
--- a/dl/sp/src/test/test_fft.gyp
+++ /dev/null
@@ -1,258 +0,0 @@
-#  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,
-  },
-  'target_defaults': {
-    'include_dirs': [
-      '../../../../',
-    ],
-    'dependencies' : [
-      '../../../dl.gyp:openmax_dl',
-      'test_utilities',
-    ],
-    'conditions': [
-      ['big_float_fft == 1', {
-        'defines': [
-          'BIG_FFT_TABLE',
-        ],
-      }],
-    ],
-  },
-  'conditions': [
-    ['target_arch == "arm"', {
-      # Test programs supported on ARM
-      'targets': [
-        {
-          # Test complex fixed-point 16-bit FFT
-          'target_name': 'test_fft16',
-          'type': 'executable',
-          'sources': [
-            'test_fft16.c',
-          ],
-        },
-        {
-          # Test complex fixed-point 32-bit FFT
-          'target_name': 'test_fft32',
-          'type': 'executable',
-          'sources': [
-            'test_fft32.c',
-          ],
-        },
-        {
-          # Test real 32-bit fixed-point FFT
-          'target_name': 'test_rfft32',
-          'type': 'executable',
-          'sources': [
-            'test_rfft32.c',
-          ],
-        },
-        {
-          # Test real 16-bit fixed-point FFT implemented with S32 routines.
-          'target_name': 'test_rfft16_s32',
-          'type': 'executable',
-          'sources': [
-            'test_rfft16_s32.c',
-          ],
-        },
-        {
-          # Test real 16-bit fixed-point FFT implemented with S16 routines.
-          'target_name': 'test_rfft16_s16',
-          'type': 'executable',
-          'sources': [
-            'test_rfft16_s16.c',
-          ],
-        },
-        {
-          # Test complex floating-point FFT
-          'target_name': 'test_float_fft',
-          'type': 'executable',
-          'sources': [
-            'test_float_fft.c',
-            'support/float_fft_neon.c',
-          ],
-        },
-        # Non-NEON test programs
-        {
-          # Test complex floating-point FFT, non-NEON
-          'target_name': 'test_float_fft_armv7',
-          'type': 'executable',
-          'defines': [
-            'ARM_VFP_TEST'
-          ],
-          'sources': [
-            'test_float_fft.c',
-            'support/float_fft_armv7.c',
-          ],
-        },
-        {
-          # Test real floating-point FFT, non-NEON
-          'target_name': 'test_float_rfft_armv7',
-          'type': 'executable',
-          'sources': [
-            'test_float_rfft.c',
-            'support/float_rfft_armv7.c',
-            'support/float_rfft_thresholds.h',
-          ],
-        },
-        {
-          # Test real floating-point FFT, detecting NEON support
-          'target_name': 'test_float_rfft_detect',
-          'type': 'executable',
-          'sources': [
-            'test_float_rfft.c',
-            'support/float_rfft_detect.c',
-            'support/float_rfft_thresholds.h',
-          ],
-        },
-        {
-          # Simple timing test of FFTs, non-NEON
-          'target_name': 'test_fft_time_armv7',
-          'type': 'executable',
-          'defines': [
-            # Timing test for non-NEON is only supported for float FFTs.
-            'ARM_VFP_TEST',
-            'FLOAT_ONLY',
-          ],
-          'sources': [
-            'test_fft_time.c',
-          ],
-        },
-      ],
-    }],
-    ['target_arch == "arm64"', {
-      'targets': [
-        {
-          # Test complex floating-point FFT
-          'target_name': 'test_float_fft',
-          'type': 'executable',
-          'sources': [
-            'test_float_fft.c',
-            'support/float_fft_neon.c',
-          ],
-        },
-      ],
-    }],
-  ],
-  'targets': [
-    # Targets that should be supported by all architectures
-    {
-      # Test utilities
-      'target_name': 'test_utilities',
-      'type' : 'static_library',
-      'dependencies!' : [
-        'test_utilities'
-      ],
-      'link_settings': {
-        'libraries': [
-          '-lm',
-        ],
-      },
-      'sources' : [
-        'aligned_ptr.c',
-        'compare.c',
-        'gensig.c',
-        'test_util.c',
-        'test_util_fft.c',
-      ],
-    },
-    {
-      # Test real floating-point FFT
-      'target_name': 'test_float_rfft',
-      'type': 'executable',
-      'sources': [
-        'test_float_rfft.c',
-        'support/float_rfft_thresholds.h',
-      ],
-      'conditions': [
-        ['target_arch == "arm" or target_arch == "arm64"', {
-          'sources': [
-            'support/float_rfft_neon.c',
-          ],
-        }],
-        ['target_arch == "ia32" or target_arch == "x64"', {
-          'sources': [
-            'support/float_rfft_x86.c',
-          ],
-        }],
-        ['target_arch == "mipsel"', {
-          'sources': [
-            'support/float_rfft_mips.c',
-          ],
-        }],
-      ],
-    },
-    {
-      # Simple timing test of FFTs
-      'target_name': 'test_fft_time',
-      'type': 'executable',
-      'sources': [
-        'test_fft_time.c',
-      ],
-      'conditions': [
-        ['target_arch == "ia32" or target_arch == "x64" or target_arch == "arm64" or target_arch == "mipsel"', {
-          'defines': [
-            # Timing test only for float FFTs on x86 and arm64 and MIPSEL.
-            'FLOAT_ONLY',
-          ],
-        }],
-      ],
-    },
-    {
-      # Build all test programs.
-      'target_name': 'All',
-      'type': 'none',
-      'conditions' : [
-        ['target_arch == "arm"', {
-          'conditions' : [
-            ['arm_neon==1 or OS=="android"', {
-              # NEON tests.
-              'dependencies': [
-                'test_fft16',
-                'test_fft32',
-                'test_float_fft',
-                'test_float_rfft',
-                'test_rfft16_s32',
-                'test_rfft16_s16',
-                'test_rfft32',
-              ],
-            }],
-            ['arm_neon==0 or OS=="android"', {
-              # Non-NEON tests.
-              'dependencies': [
-                'test_fft_time_armv7',
-                'test_float_fft_armv7',
-                'test_float_rfft_armv7',
-              ],
-            }],
-            ['OS=="android"', {
-              # Tests with detection.
-              'dependencies': [
-                'test_float_rfft_detect',
-              ],
-            }],
-          ],
-        }],
-        ['target_arch == "arm64"', {
-          # Supported test programs for ARM64.
-          'dependencies': [
-            'test_float_fft',
-           ],
-        }],
-      ],
-      'dependencies' : [
-        # All architectures must support at least the float rfft test.
-        'test_float_rfft',
-        'test_fft_time',
-      ],
-    },
-  ],
-}
