tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

BUILD.gn (8719B)


      1 # Copyright (c) 2018 The WebRTC project authors. All Rights Reserved.
      2 #
      3 # Use of this source code is governed by a BSD-style license
      4 # that can be found in the LICENSE file in the root of the source
      5 # tree. An additional intellectual property rights grant can be found
      6 # in the file PATENTS.  All contributing project authors may
      7 # be found in the AUTHORS file in the root of the source tree.
      8 
      9 import("../../../../webrtc.gni")
     10 
     11 rtc_library("rnn_vad") {
     12   visibility = [ "../*" ]
     13   sources = [
     14     "features_extraction.cc",
     15     "features_extraction.h",
     16     "rnn.cc",
     17     "rnn.h",
     18   ]
     19 
     20   defines = []
     21   if (rtc_build_with_neon && target_cpu != "arm64") {
     22     suppressed_configs += [ "//chromium/build/config/compiler:compiler_arm_fpu" ]
     23     cflags = [ "-mfpu=neon" ]
     24   }
     25 
     26   deps = [
     27     ":rnn_vad_common",
     28     ":rnn_vad_layers",
     29     ":rnn_vad_lp_residual",
     30     ":rnn_vad_pitch",
     31     ":rnn_vad_sequence_buffer",
     32     ":rnn_vad_spectral_features",
     33     "..:biquad_filter",
     34     "..:cpu_features",
     35     "../../../../api:array_view",
     36     "../../../../rtc_base:checks",
     37     "../../../../rtc_base:safe_compare",
     38     "../../../../rtc_base:safe_conversions",
     39     "//third_party/rnnoise:rnn_vad",
     40   ]
     41 }
     42 
     43 rtc_library("rnn_vad_auto_correlation") {
     44   sources = [
     45     "auto_correlation.cc",
     46     "auto_correlation.h",
     47   ]
     48   deps = [
     49     ":rnn_vad_common",
     50     "../../../../api:array_view",
     51     "../../../../rtc_base:checks",
     52     "../../utility:pffft_wrapper",
     53   ]
     54 }
     55 
     56 rtc_source_set("rnn_vad_common") {
     57   visibility = [
     58     ":*",
     59     "..:vad_wrapper",
     60   ]
     61   sources = [ "common.h" ]
     62   deps = [
     63     "../../../../rtc_base/system:arch",
     64     "../../../../system_wrappers",
     65   ]
     66 }
     67 
     68 rtc_library("rnn_vad_lp_residual") {
     69   sources = [
     70     "lp_residual.cc",
     71     "lp_residual.h",
     72   ]
     73   deps = [
     74     "../../../../api:array_view",
     75     "../../../../rtc_base:checks",
     76     "../../../../rtc_base:safe_compare",
     77   ]
     78 }
     79 
     80 rtc_library("rnn_vad_layers") {
     81   sources = [
     82     "rnn_fc.cc",
     83     "rnn_fc.h",
     84     "rnn_gru.cc",
     85     "rnn_gru.h",
     86   ]
     87 
     88   defines = []
     89   if (rtc_build_with_neon && current_cpu != "arm64") {
     90     suppressed_configs += [ "//chromium/build/config/compiler:compiler_arm_fpu" ]
     91     cflags = [ "-mfpu=neon" ]
     92   }
     93 
     94   deps = [
     95     ":rnn_vad_common",
     96     ":vector_math",
     97     "..:cpu_features",
     98     "../../../../api:array_view",
     99     "../../../../api:function_view",
    100     "../../../../rtc_base:checks",
    101     "../../../../rtc_base:safe_conversions",
    102     "//third_party/abseil-cpp/absl/strings:string_view",
    103     "//third_party/rnnoise:rnn_vad",
    104   ]
    105   if (current_cpu == "x86" || current_cpu == "x64") {
    106     deps += [ ":vector_math_avx2" ]
    107   }
    108 }
    109 
    110 rtc_source_set("vector_math") {
    111   sources = [ "vector_math.h" ]
    112   deps = [
    113     "..:cpu_features",
    114     "../../../../api:array_view",
    115     "../../../../rtc_base:checks",
    116     "../../../../rtc_base:safe_conversions",
    117     "../../../../rtc_base/system:arch",
    118   ]
    119 }
    120 
    121 if (current_cpu == "x86" || current_cpu == "x64") {
    122   rtc_library("vector_math_avx2") {
    123     sources = [ "vector_math_avx2.cc" ]
    124     if (is_win && !build_with_mozilla) {
    125       cflags = [ "/arch:AVX2" ]
    126     } else {
    127       cflags = [
    128         "-mavx2",
    129         "-mfma",
    130       ]
    131     }
    132     deps = [
    133       ":vector_math",
    134       "../../../../api:array_view",
    135       "../../../../rtc_base:checks",
    136       "../../../../rtc_base:safe_conversions",
    137     ]
    138   }
    139 }
    140 
    141 rtc_library("rnn_vad_pitch") {
    142   sources = [
    143     "pitch_search.cc",
    144     "pitch_search.h",
    145     "pitch_search_internal.cc",
    146     "pitch_search_internal.h",
    147   ]
    148 
    149   defines = []
    150   if (rtc_build_with_neon && current_cpu != "arm64") {
    151     suppressed_configs += [ "//chromium/build/config/compiler:compiler_arm_fpu" ]
    152     cflags = [ "-mfpu=neon" ]
    153   }
    154 
    155   deps = [
    156     ":rnn_vad_auto_correlation",
    157     ":rnn_vad_common",
    158     ":vector_math",
    159     "..:cpu_features",
    160     "../../../../api:array_view",
    161     "../../../../rtc_base:checks",
    162     "../../../../rtc_base:gtest_prod",
    163     "../../../../rtc_base:safe_compare",
    164     "../../../../rtc_base:safe_conversions",
    165     "../../../../rtc_base/system:arch",
    166   ]
    167   if (current_cpu == "x86" || current_cpu == "x64") {
    168     deps += [ ":vector_math_avx2" ]
    169   }
    170 }
    171 
    172 rtc_source_set("rnn_vad_ring_buffer") {
    173   sources = [ "ring_buffer.h" ]
    174   deps = [
    175     "../../../../api:array_view",
    176     "../../../../rtc_base:checks",
    177   ]
    178 }
    179 
    180 rtc_source_set("rnn_vad_sequence_buffer") {
    181   sources = [ "sequence_buffer.h" ]
    182   deps = [
    183     "../../../../api:array_view",
    184     "../../../../rtc_base:checks",
    185   ]
    186 }
    187 
    188 rtc_library("rnn_vad_spectral_features") {
    189   sources = [
    190     "spectral_features.cc",
    191     "spectral_features.h",
    192     "spectral_features_internal.cc",
    193     "spectral_features_internal.h",
    194   ]
    195   deps = [
    196     ":rnn_vad_common",
    197     ":rnn_vad_ring_buffer",
    198     ":rnn_vad_symmetric_matrix_buffer",
    199     "../../../../api:array_view",
    200     "../../../../rtc_base:checks",
    201     "../../../../rtc_base:safe_compare",
    202     "../../utility:pffft_wrapper",
    203   ]
    204 }
    205 
    206 rtc_source_set("rnn_vad_symmetric_matrix_buffer") {
    207   sources = [ "symmetric_matrix_buffer.h" ]
    208   deps = [
    209     "../../../../api:array_view",
    210     "../../../../rtc_base:checks",
    211     "../../../../rtc_base:safe_compare",
    212   ]
    213 }
    214 
    215 if (rtc_include_tests) {
    216   rtc_library("test_utils") {
    217     testonly = true
    218     sources = [
    219       "test_utils.cc",
    220       "test_utils.h",
    221     ]
    222     deps = [
    223       ":rnn_vad",
    224       ":rnn_vad_common",
    225       "../../../../api:array_view",
    226       "../../../../api:scoped_refptr",
    227       "../../../../rtc_base:checks",
    228       "../../../../rtc_base:safe_compare",
    229       "../../../../test:fileutils",
    230       "../../../../test:test_support",
    231       "//third_party/abseil-cpp/absl/strings:string_view",
    232     ]
    233   }
    234 
    235   unittest_resources = [
    236     "../../../../resources/audio_processing/agc2/rnn_vad/band_energies.dat",
    237     "../../../../resources/audio_processing/agc2/rnn_vad/pitch_buf_24k.dat",
    238     "../../../../resources/audio_processing/agc2/rnn_vad/pitch_lp_res.dat",
    239     "../../../../resources/audio_processing/agc2/rnn_vad/pitch_search_int.dat",
    240     "../../../../resources/audio_processing/agc2/rnn_vad/samples.pcm",
    241     "../../../../resources/audio_processing/agc2/rnn_vad/vad_prob.dat",
    242   ]
    243 
    244   if (is_ios) {
    245     bundle_data("unittests_bundle_data") {
    246       testonly = true
    247       sources = unittest_resources
    248       outputs = [ "{{bundle_resources_dir}}/{{source_file_part}}" ]
    249     }
    250   }
    251 
    252   rtc_library("unittests") {
    253     testonly = true
    254     sources = [
    255       "auto_correlation_unittest.cc",
    256       "features_extraction_unittest.cc",
    257       "lp_residual_unittest.cc",
    258       "pitch_search_internal_unittest.cc",
    259       "pitch_search_unittest.cc",
    260       "ring_buffer_unittest.cc",
    261       "rnn_fc_unittest.cc",
    262       "rnn_gru_unittest.cc",
    263       "rnn_unittest.cc",
    264       "rnn_vad_unittest.cc",
    265       "sequence_buffer_unittest.cc",
    266       "spectral_features_internal_unittest.cc",
    267       "spectral_features_unittest.cc",
    268       "symmetric_matrix_buffer_unittest.cc",
    269       "vector_math_unittest.cc",
    270     ]
    271 
    272     defines = []
    273     if (rtc_build_with_neon && current_cpu != "arm64") {
    274       suppressed_configs += [ "//chromium/build/config/compiler:compiler_arm_fpu" ]
    275       cflags = [ "-mfpu=neon" ]
    276     }
    277 
    278     deps = [
    279       ":rnn_vad",
    280       ":rnn_vad_auto_correlation",
    281       ":rnn_vad_common",
    282       ":rnn_vad_layers",
    283       ":rnn_vad_lp_residual",
    284       ":rnn_vad_pitch",
    285       ":rnn_vad_ring_buffer",
    286       ":rnn_vad_sequence_buffer",
    287       ":rnn_vad_spectral_features",
    288       ":rnn_vad_symmetric_matrix_buffer",
    289       ":test_utils",
    290       ":vector_math",
    291       "..:cpu_features",
    292       "../..:audioproc_test_utils",
    293       "../../../../api:array_view",
    294       "../../../../common_audio/",
    295       "../../../../rtc_base:checks",
    296       "../../../../rtc_base:logging",
    297       "../../../../rtc_base:safe_compare",
    298       "../../../../rtc_base:safe_conversions",
    299       "../../../../rtc_base:stringutils",
    300       "../../../../rtc_base/system:arch",
    301       "../../../../test:test_support",
    302       "../../utility:pffft_wrapper",
    303       "//third_party/rnnoise:rnn_vad",
    304     ]
    305     if (current_cpu == "x86" || current_cpu == "x64") {
    306       deps += [ ":vector_math_avx2" ]
    307     }
    308     data = unittest_resources
    309     if (is_ios) {
    310       deps += [ ":unittests_bundle_data" ]
    311     }
    312   }
    313 
    314   if (!build_with_chromium) {
    315     rtc_executable("rnn_vad_tool") {
    316       testonly = true
    317       sources = [ "rnn_vad_tool.cc" ]
    318       deps = [
    319         ":rnn_vad",
    320         ":rnn_vad_common",
    321         "..:cpu_features",
    322         "../../../../api:array_view",
    323         "../../../../common_audio",
    324         "../../../../rtc_base:checks",
    325         "../../../../rtc_base:logging",
    326         "../../../../rtc_base:safe_compare",
    327         "../../../../test:test_support",
    328         "//third_party/abseil-cpp/absl/flags:flag",
    329         "//third_party/abseil-cpp/absl/flags:parse",
    330       ]
    331     }
    332   }
    333 }