| # Copyright (c) 2011 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. | 
 |  | 
 | { | 
 |   'includes': [ | 
 |     '../build/common.gypi', | 
 |   ], | 
 |   'targets': [ | 
 |     { | 
 |       'target_name': 'common_audio', | 
 |       'type': 'static_library', | 
 |       'dependencies': [ | 
 |         '<(webrtc_root)/system_wrappers/source/system_wrappers.gyp:system_wrappers', | 
 |       ], | 
 |       'include_dirs': [ | 
 |         'resampler/include', | 
 |         'signal_processing/include', | 
 |       ], | 
 |       'direct_dependent_settings': { | 
 |         'include_dirs': [ | 
 |           'resampler/include', | 
 |           'signal_processing/include', | 
 |           'vad/include', | 
 |         ], | 
 |       }, | 
 |       'sources': [ | 
 |         'audio_converter.cc', | 
 |         'audio_converter.h', | 
 |         'audio_util.cc', | 
 |         'blocker.cc', | 
 |         'blocker.h', | 
 |         'fir_filter.cc', | 
 |         'fir_filter.h', | 
 |         'fir_filter_neon.h', | 
 |         'fir_filter_sse.h', | 
 |         'include/audio_util.h', | 
 |         'resampler/include/push_resampler.h', | 
 |         'resampler/include/resampler.h', | 
 |         'resampler/push_resampler.cc', | 
 |         'resampler/push_sinc_resampler.cc', | 
 |         'resampler/push_sinc_resampler.h', | 
 |         'resampler/resampler.cc', | 
 |         'resampler/sinc_resampler.cc', | 
 |         'resampler/sinc_resampler.h', | 
 |         'signal_processing/include/real_fft.h', | 
 |         'signal_processing/include/signal_processing_library.h', | 
 |         'signal_processing/include/spl_inl.h', | 
 |         'signal_processing/auto_corr_to_refl_coef.c', | 
 |         'signal_processing/auto_correlation.c', | 
 |         'signal_processing/complex_fft.c', | 
 |         'signal_processing/complex_fft_tables.h', | 
 |         'signal_processing/complex_bit_reverse.c', | 
 |         'signal_processing/copy_set_operations.c', | 
 |         'signal_processing/cross_correlation.c', | 
 |         'signal_processing/division_operations.c', | 
 |         'signal_processing/dot_product_with_scale.c', | 
 |         'signal_processing/downsample_fast.c', | 
 |         'signal_processing/energy.c', | 
 |         'signal_processing/filter_ar.c', | 
 |         'signal_processing/filter_ar_fast_q12.c', | 
 |         'signal_processing/filter_ma_fast_q12.c', | 
 |         'signal_processing/get_hanning_window.c', | 
 |         'signal_processing/get_scaling_square.c', | 
 |         'signal_processing/ilbc_specific_functions.c', | 
 |         'signal_processing/levinson_durbin.c', | 
 |         'signal_processing/lpc_to_refl_coef.c', | 
 |         'signal_processing/min_max_operations.c', | 
 |         'signal_processing/randomization_functions.c', | 
 |         'signal_processing/refl_coef_to_lpc.c', | 
 |         'signal_processing/real_fft.c', | 
 |         'signal_processing/resample.c', | 
 |         'signal_processing/resample_48khz.c', | 
 |         'signal_processing/resample_by_2.c', | 
 |         'signal_processing/resample_by_2_internal.c', | 
 |         'signal_processing/resample_by_2_internal.h', | 
 |         'signal_processing/resample_fractional.c', | 
 |         'signal_processing/spl_init.c', | 
 |         'signal_processing/spl_sqrt.c', | 
 |         'signal_processing/spl_sqrt_floor.c', | 
 |         'signal_processing/splitting_filter.c', | 
 |         'signal_processing/sqrt_of_one_minus_x_squared.c', | 
 |         'signal_processing/vector_scaling_operations.c', | 
 |         'vad/include/vad.h', | 
 |         'vad/include/webrtc_vad.h', | 
 |         'vad/vad.cc', | 
 |         'vad/webrtc_vad.c', | 
 |         'vad/vad_core.c', | 
 |         'vad/vad_core.h', | 
 |         'vad/vad_filterbank.c', | 
 |         'vad/vad_filterbank.h', | 
 |         'vad/vad_gmm.c', | 
 |         'vad/vad_gmm.h', | 
 |         'vad/vad_sp.c', | 
 |         'vad/vad_sp.h', | 
 |         'wav_header.cc', | 
 |         'wav_header.h', | 
 |         'wav_file.cc', | 
 |         'wav_file.h', | 
 |         'window_generator.cc', | 
 |         'window_generator.h', | 
 |       ], | 
 |       'conditions': [ | 
 |         ['rtc_use_openmax_dl==1', { | 
 |           'sources': [ | 
 |             'lapped_transform.cc', | 
 |             'lapped_transform.h', | 
 |             'real_fourier.cc', | 
 |             'real_fourier.h', | 
 |           ], | 
 |           'dependencies': [ | 
 |             '<(DEPTH)/third_party/openmax_dl/dl/dl.gyp:openmax_dl', | 
 |           ], | 
 |         }], | 
 |         ['target_arch=="ia32" or target_arch=="x64"', { | 
 |           'dependencies': ['common_audio_sse2',], | 
 |         }], | 
 |         ['target_arch=="arm" or target_arch=="armv7"', { | 
 |           'sources': [ | 
 |             'signal_processing/complex_bit_reverse_arm.S', | 
 |             'signal_processing/spl_sqrt_floor_arm.S', | 
 |           ], | 
 |           'sources!': [ | 
 |             'signal_processing/complex_bit_reverse.c', | 
 |             'signal_processing/spl_sqrt_floor.c', | 
 |           ], | 
 |           'conditions': [ | 
 |             ['arm_version==7', { | 
 |               'dependencies': ['common_audio_neon',], | 
 |               'sources': [ | 
 |                 'signal_processing/filter_ar_fast_q12_armv7.S', | 
 |               ], | 
 |               'sources!': [ | 
 |                 'signal_processing/filter_ar_fast_q12.c', | 
 |               ], | 
 |             }], | 
 |           ],  # conditions | 
 |         }], | 
 |         ['target_arch=="mipsel" and mips_arch_variant!="r6" and android_webview_build==0', { | 
 |           'sources': [ | 
 |             'signal_processing/include/spl_inl_mips.h', | 
 |             'signal_processing/complex_bit_reverse_mips.c', | 
 |             'signal_processing/complex_fft_mips.c', | 
 |             'signal_processing/cross_correlation_mips.c', | 
 |             'signal_processing/downsample_fast_mips.c', | 
 |             'signal_processing/filter_ar_fast_q12_mips.c', | 
 |             'signal_processing/min_max_operations_mips.c', | 
 |             'signal_processing/resample_by_2_mips.c', | 
 |             'signal_processing/spl_sqrt_floor_mips.c', | 
 |           ], | 
 |           'sources!': [ | 
 |             'signal_processing/complex_bit_reverse.c', | 
 |             'signal_processing/complex_fft.c', | 
 |             'signal_processing/filter_ar_fast_q12.c', | 
 |             'signal_processing/spl_sqrt_floor.c', | 
 |           ], | 
 |           'conditions': [ | 
 |             ['mips_dsp_rev>0', { | 
 |               'sources': [ | 
 |                 'signal_processing/vector_scaling_operations_mips.c', | 
 |               ], | 
 |             }], | 
 |           ], | 
 |         }], | 
 |       ],  # conditions | 
 |       # Ignore warning on shift operator promotion. | 
 |       'msvs_disabled_warnings': [ 4334, ], | 
 |     }, | 
 |   ],  # targets | 
 |   'conditions': [ | 
 |     ['target_arch=="ia32" or target_arch=="x64"', { | 
 |       'targets': [ | 
 |         { | 
 |           'target_name': 'common_audio_sse2', | 
 |           'type': 'static_library', | 
 |           'sources': [ | 
 |             'fir_filter_sse.cc', | 
 |             'resampler/sinc_resampler_sse.cc', | 
 |           ], | 
 |           'cflags': ['-msse2',], | 
 |           'xcode_settings': { | 
 |             'OTHER_CFLAGS': ['-msse2',], | 
 |           }, | 
 |         }, | 
 |       ],  # targets | 
 |     }], | 
 |     ['(target_arch=="arm" and arm_version==7) or target_arch=="armv7"', { | 
 |       'targets': [ | 
 |         { | 
 |           'target_name': 'common_audio_neon', | 
 |           'type': 'static_library', | 
 |           'includes': ['../build/arm_neon.gypi',], | 
 |           'sources': [ | 
 |             'fir_filter_neon.cc', | 
 |             'resampler/sinc_resampler_neon.cc', | 
 |             'signal_processing/cross_correlation_neon.S', | 
 |             'signal_processing/downsample_fast_neon.S', | 
 |             'signal_processing/min_max_operations_neon.S', | 
 |             'signal_processing/vector_scaling_operations_neon.S', | 
 |           ], | 
 |           'conditions': [ | 
 |             # Disable LTO in common_audio_neon target due to compiler bug | 
 |             ['use_lto==1', { | 
 |               'cflags!': [ | 
 |                 '-flto', | 
 |                 '-ffat-lto-objects', | 
 |               ], | 
 |             }], | 
 |           ], | 
 |         }, | 
 |       ],  # targets | 
 |     }], | 
 |     ['include_tests==1', { | 
 |       'targets' : [ | 
 |         { | 
 |           'target_name': 'common_audio_unittests', | 
 |           'type': '<(gtest_target_type)', | 
 |           'dependencies': [ | 
 |             'common_audio', | 
 |             '<(webrtc_root)/test/test.gyp:test_support_main', | 
 |             '<(DEPTH)/testing/gmock.gyp:gmock', | 
 |             '<(DEPTH)/testing/gtest.gyp:gtest', | 
 |           ], | 
 |           'sources': [ | 
 |             'audio_converter_unittest.cc', | 
 |             'audio_util_unittest.cc', | 
 |             'blocker_unittest.cc', | 
 |             'fir_filter_unittest.cc', | 
 |             'resampler/resampler_unittest.cc', | 
 |             'resampler/push_resampler_unittest.cc', | 
 |             'resampler/push_sinc_resampler_unittest.cc', | 
 |             'resampler/sinc_resampler_unittest.cc', | 
 |             'resampler/sinusoidal_linear_chirp_source.cc', | 
 |             'resampler/sinusoidal_linear_chirp_source.h', | 
 |             'signal_processing/real_fft_unittest.cc', | 
 |             'signal_processing/signal_processing_unittest.cc', | 
 |             'vad/vad_core_unittest.cc', | 
 |             'vad/vad_filterbank_unittest.cc', | 
 |             'vad/vad_gmm_unittest.cc', | 
 |             'vad/vad_sp_unittest.cc', | 
 |             'vad/vad_unittest.cc', | 
 |             'vad/vad_unittest.h', | 
 |             'wav_header_unittest.cc', | 
 |             'wav_file_unittest.cc', | 
 |             'window_generator_unittest.cc', | 
 |           ], | 
 |           'conditions': [ | 
 |             ['rtc_use_openmax_dl==1', { | 
 |               'sources': [ | 
 |                 'lapped_transform_unittest.cc', | 
 |                 'real_fourier_unittest.cc', | 
 |               ], | 
 |             }], | 
 |             ['OS=="android"', { | 
 |               'dependencies': [ | 
 |                 '<(DEPTH)/testing/android/native_test.gyp:native_test_native_code', | 
 |               ], | 
 |             }], | 
 |           ], | 
 |         }, | 
 |       ],  # targets | 
 |       'conditions': [ | 
 |         ['OS=="android"', { | 
 |           'targets': [ | 
 |             { | 
 |               'target_name': 'common_audio_unittests_apk_target', | 
 |               'type': 'none', | 
 |               'dependencies': [ | 
 |                 '<(apk_tests_path):common_audio_unittests_apk', | 
 |               ], | 
 |             }, | 
 |           ], | 
 |         }], | 
 |         ['test_isolation_mode != "noop"', { | 
 |           'targets': [ | 
 |             { | 
 |               'target_name': 'common_audio_unittests_run', | 
 |               'type': 'none', | 
 |               'dependencies': [ | 
 |                 'common_audio_unittests', | 
 |               ], | 
 |               'includes': [ | 
 |                 '../build/isolate.gypi', | 
 |               ], | 
 |               'sources': [ | 
 |                 'common_audio_unittests.isolate', | 
 |               ], | 
 |             }, | 
 |           ], | 
 |         }], | 
 |       ], | 
 |     }], | 
 |   ],  # conditions | 
 | } |