tor-browser

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

BUILD.bazel (13237B)


      1 #
      2 # Copyright 2019 The Abseil Authors.
      3 #
      4 # Licensed under the Apache License, Version 2.0 (the "License");
      5 # you may not use this file except in compliance with the License.
      6 # You may obtain a copy of the License at
      7 #
      8 #      https://www.apache.org/licenses/LICENSE-2.0
      9 #
     10 # Unless required by applicable law or agreed to in writing, software
     11 # distributed under the License is distributed on an "AS IS" BASIS,
     12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     13 # See the License for the specific language governing permissions and
     14 # limitations under the License.
     15 #
     16 
     17 load(
     18    "//absl:copts/configure_copts.bzl",
     19    "ABSL_DEFAULT_COPTS",
     20    "ABSL_DEFAULT_LINKOPTS",
     21    "ABSL_TEST_COPTS",
     22 )
     23 
     24 package(
     25    default_visibility = ["//visibility:public"],
     26    features = [
     27        "header_modules",
     28        "layering_check",
     29        "parse_headers",
     30    ],
     31 )
     32 
     33 licenses(["notice"])
     34 
     35 cc_library(
     36    name = "path_util",
     37    hdrs = [
     38        "internal/path_util.h",
     39    ],
     40    copts = ABSL_DEFAULT_COPTS,
     41    linkopts = ABSL_DEFAULT_LINKOPTS,
     42    visibility = [
     43        "//absl/flags:__pkg__",
     44    ],
     45    deps = [
     46        "//absl/base:config",
     47        "//absl/strings",
     48    ],
     49 )
     50 
     51 cc_library(
     52    name = "program_name",
     53    srcs = [
     54        "internal/program_name.cc",
     55    ],
     56    hdrs = [
     57        "internal/program_name.h",
     58    ],
     59    copts = ABSL_DEFAULT_COPTS,
     60    linkopts = ABSL_DEFAULT_LINKOPTS,
     61    visibility = [
     62        "//absl/flags:__pkg__",
     63        "//absl/log:__pkg__",
     64    ],
     65    deps = [
     66        ":path_util",
     67        "//absl/base:config",
     68        "//absl/base:core_headers",
     69        "//absl/base:no_destructor",
     70        "//absl/strings",
     71        "//absl/synchronization",
     72    ],
     73 )
     74 
     75 cc_library(
     76    name = "config",
     77    srcs = [
     78        "usage_config.cc",
     79    ],
     80    hdrs = [
     81        "config.h",
     82        "usage_config.h",
     83    ],
     84    copts = ABSL_DEFAULT_COPTS,
     85    linkopts = ABSL_DEFAULT_LINKOPTS,
     86    deps = [
     87        ":path_util",
     88        ":program_name",
     89        "//absl/base:config",
     90        "//absl/base:core_headers",
     91        "//absl/base:no_destructor",
     92        "//absl/strings",
     93        "//absl/synchronization",
     94    ],
     95 )
     96 
     97 cc_library(
     98    name = "marshalling",
     99    srcs = [
    100        "marshalling.cc",
    101    ],
    102    hdrs = [
    103        "marshalling.h",
    104    ],
    105    copts = ABSL_DEFAULT_COPTS,
    106    linkopts = ABSL_DEFAULT_LINKOPTS,
    107    deps = [
    108        "//absl/base:config",
    109        "//absl/base:core_headers",
    110        "//absl/base:log_severity",
    111        "//absl/numeric:int128",
    112        "//absl/strings",
    113        "//absl/strings:str_format",
    114        "//absl/types:optional",
    115    ],
    116 )
    117 
    118 cc_library(
    119    name = "commandlineflag_internal",
    120    srcs = [
    121        "internal/commandlineflag.cc",
    122    ],
    123    hdrs = [
    124        "internal/commandlineflag.h",
    125    ],
    126    copts = ABSL_DEFAULT_COPTS,
    127    linkopts = ABSL_DEFAULT_LINKOPTS,
    128    visibility = [
    129        "//visibility:private",
    130    ],
    131    deps = [
    132        "//absl/base:config",
    133        "//absl/base:fast_type_id",
    134    ],
    135 )
    136 
    137 cc_library(
    138    name = "commandlineflag",
    139    srcs = [
    140        "commandlineflag.cc",
    141    ],
    142    hdrs = [
    143        "commandlineflag.h",
    144    ],
    145    copts = ABSL_DEFAULT_COPTS,
    146    linkopts = ABSL_DEFAULT_LINKOPTS,
    147    deps = [
    148        ":commandlineflag_internal",
    149        "//absl/base:config",
    150        "//absl/base:fast_type_id",
    151        "//absl/strings",
    152        "//absl/types:optional",
    153    ],
    154 )
    155 
    156 cc_library(
    157    name = "private_handle_accessor",
    158    srcs = [
    159        "internal/private_handle_accessor.cc",
    160    ],
    161    hdrs = [
    162        "internal/private_handle_accessor.h",
    163    ],
    164    copts = ABSL_DEFAULT_COPTS,
    165    linkopts = ABSL_DEFAULT_LINKOPTS,
    166    visibility = [
    167        "//absl/flags:__pkg__",
    168    ],
    169    deps = [
    170        ":commandlineflag",
    171        ":commandlineflag_internal",
    172        "//absl/base:config",
    173        "//absl/strings",
    174    ],
    175 )
    176 
    177 cc_library(
    178    name = "reflection",
    179    srcs = [
    180        "reflection.cc",
    181    ],
    182    hdrs = [
    183        "internal/registry.h",
    184        "reflection.h",
    185    ],
    186    copts = ABSL_DEFAULT_COPTS,
    187    linkopts = ABSL_DEFAULT_LINKOPTS,
    188    deps = [
    189        ":commandlineflag",
    190        ":commandlineflag_internal",
    191        ":config",
    192        ":private_handle_accessor",
    193        "//absl/base:config",
    194        "//absl/base:core_headers",
    195        "//absl/base:no_destructor",
    196        "//absl/container:flat_hash_map",
    197        "//absl/strings",
    198        "//absl/synchronization",
    199    ],
    200 )
    201 
    202 cc_library(
    203    name = "flag_internal",
    204    srcs = [
    205        "internal/flag.cc",
    206    ],
    207    hdrs = [
    208        "internal/flag.h",
    209        "internal/sequence_lock.h",
    210    ],
    211    copts = ABSL_DEFAULT_COPTS,
    212    linkopts = ABSL_DEFAULT_LINKOPTS,
    213    visibility = ["//absl/base:__subpackages__"],
    214    deps = [
    215        ":commandlineflag",
    216        ":commandlineflag_internal",
    217        ":config",
    218        ":marshalling",
    219        ":reflection",
    220        "//absl/base",
    221        "//absl/base:config",
    222        "//absl/base:core_headers",
    223        "//absl/base:dynamic_annotations",
    224        "//absl/base:no_destructor",
    225        "//absl/memory",
    226        "//absl/meta:type_traits",
    227        "//absl/strings",
    228        "//absl/synchronization",
    229        "//absl/utility",
    230    ],
    231 )
    232 
    233 cc_library(
    234    name = "flag",
    235    hdrs = [
    236        "declare.h",
    237        "flag.h",
    238    ],
    239    copts = ABSL_DEFAULT_COPTS,
    240    linkopts = ABSL_DEFAULT_LINKOPTS,
    241    deps = [
    242        ":commandlineflag",
    243        ":config",
    244        ":flag_internal",
    245        ":reflection",
    246        "//absl/base:config",
    247        "//absl/base:core_headers",
    248        "//absl/base:nullability",
    249        "//absl/strings",
    250    ],
    251 )
    252 
    253 cc_library(
    254    name = "usage_internal",
    255    srcs = [
    256        "internal/usage.cc",
    257    ],
    258    hdrs = [
    259        "internal/usage.h",
    260    ],
    261    copts = ABSL_DEFAULT_COPTS,
    262    linkopts = ABSL_DEFAULT_LINKOPTS,
    263    visibility = [
    264        "//absl/flags:__pkg__",
    265    ],
    266    deps = [
    267        ":commandlineflag",
    268        ":config",
    269        ":flag",
    270        ":flag_internal",
    271        ":path_util",
    272        ":private_handle_accessor",
    273        ":program_name",
    274        ":reflection",
    275        "//absl/base:config",
    276        "//absl/base:core_headers",
    277        "//absl/base:no_destructor",
    278        "//absl/strings",
    279        "//absl/synchronization",
    280    ],
    281 )
    282 
    283 cc_library(
    284    name = "usage",
    285    srcs = [
    286        "usage.cc",
    287    ],
    288    hdrs = [
    289        "usage.h",
    290    ],
    291    copts = ABSL_DEFAULT_COPTS,
    292    linkopts = ABSL_DEFAULT_LINKOPTS,
    293    deps = [
    294        ":usage_internal",
    295        "//absl/base:config",
    296        "//absl/base:core_headers",
    297        "//absl/base:raw_logging_internal",
    298        "//absl/strings",
    299        "//absl/synchronization",
    300    ],
    301 )
    302 
    303 cc_library(
    304    name = "parse",
    305    srcs = ["parse.cc"],
    306    hdrs = [
    307        "internal/parse.h",
    308        "parse.h",
    309    ],
    310    copts = ABSL_DEFAULT_COPTS,
    311    linkopts = ABSL_DEFAULT_LINKOPTS,
    312    deps = [
    313        ":commandlineflag",
    314        ":commandlineflag_internal",
    315        ":config",
    316        ":flag",
    317        ":flag_internal",
    318        ":private_handle_accessor",
    319        ":program_name",
    320        ":reflection",
    321        ":usage",
    322        ":usage_internal",
    323        "//absl/algorithm:container",
    324        "//absl/base:config",
    325        "//absl/base:core_headers",
    326        "//absl/base:no_destructor",
    327        "//absl/strings",
    328        "//absl/synchronization",
    329    ],
    330 )
    331 
    332 ############################################################################
    333 # Unit tests in alphabetical order.
    334 
    335 cc_test(
    336    name = "commandlineflag_test",
    337    size = "small",
    338    srcs = [
    339        "commandlineflag_test.cc",
    340    ],
    341    copts = ABSL_TEST_COPTS,
    342    linkopts = ABSL_DEFAULT_LINKOPTS,
    343    tags = [
    344        "no_test:os:android",
    345        "no_test:os:ios",
    346        "no_test_android",
    347        "no_test_ios",
    348        "no_test_wasm",
    349    ],
    350    deps = [
    351        ":commandlineflag",
    352        ":config",
    353        ":flag",
    354        ":private_handle_accessor",
    355        ":reflection",
    356        "//absl/memory",
    357        "//absl/strings",
    358        "@googletest//:gtest",
    359        "@googletest//:gtest_main",
    360    ],
    361 )
    362 
    363 cc_test(
    364    name = "config_test",
    365    size = "small",
    366    srcs = [
    367        "config_test.cc",
    368    ],
    369    copts = ABSL_TEST_COPTS,
    370    linkopts = ABSL_DEFAULT_LINKOPTS,
    371    deps = [
    372        ":config",
    373        "@googletest//:gtest",
    374        "@googletest//:gtest_main",
    375    ],
    376 )
    377 
    378 cc_test(
    379    name = "flag_test",
    380    size = "small",
    381    srcs = [
    382        "flag_test.cc",
    383        "flag_test_defs.cc",
    384    ],
    385    copts = ABSL_TEST_COPTS,
    386    linkopts = ABSL_DEFAULT_LINKOPTS,
    387    tags = [
    388        "no_test:os:android",
    389        "no_test:os:ios",
    390        "no_test_android",
    391        "no_test_ios",
    392        "no_test_wasm",
    393    ],
    394    deps = [
    395        ":config",
    396        ":flag",
    397        ":flag_internal",
    398        ":marshalling",
    399        ":parse",
    400        ":reflection",
    401        "//absl/base:core_headers",
    402        "//absl/base:malloc_internal",
    403        "//absl/base:raw_logging_internal",
    404        "//absl/numeric:int128",
    405        "//absl/strings",
    406        "//absl/time",
    407        "//absl/types:optional",
    408        "@googletest//:gtest",
    409        "@googletest//:gtest_main",
    410    ],
    411 )
    412 
    413 cc_binary(
    414    name = "flag_benchmark",
    415    testonly = True,
    416    srcs = [
    417        "flag_benchmark.cc",
    418    ],
    419    copts = ABSL_TEST_COPTS,
    420    linkopts = select({
    421        "//conditions:default": [],
    422    }) + ABSL_DEFAULT_LINKOPTS,
    423    tags = ["benchmark"],
    424    visibility = ["//visibility:private"],
    425    deps = [
    426        "flag_benchmark.lds",
    427        ":flag",
    428        ":marshalling",
    429        ":parse",
    430        ":reflection",
    431        "//absl/strings",
    432        "//absl/time",
    433        "//absl/types:optional",
    434        "@google_benchmark//:benchmark_main",
    435    ],
    436 )
    437 
    438 cc_test(
    439    name = "marshalling_test",
    440    size = "small",
    441    srcs = [
    442        "marshalling_test.cc",
    443    ],
    444    copts = ABSL_TEST_COPTS,
    445    linkopts = ABSL_DEFAULT_LINKOPTS,
    446    deps = [
    447        ":marshalling",
    448        "@googletest//:gtest",
    449        "@googletest//:gtest_main",
    450    ],
    451 )
    452 
    453 cc_test(
    454    name = "parse_test",
    455    size = "small",
    456    timeout = "moderate",
    457    srcs = [
    458        "parse_test.cc",
    459    ],
    460    copts = ABSL_TEST_COPTS,
    461    linkopts = ABSL_DEFAULT_LINKOPTS,
    462    tags = [
    463        "no_test:os:android",
    464        "no_test:os:ios",
    465        "no_test_android",
    466        "no_test_ios",
    467        "no_test_wasm",
    468    ],
    469    deps = [
    470        ":config",
    471        ":flag",
    472        ":parse",
    473        ":reflection",
    474        ":usage_internal",
    475        "//absl/base:scoped_set_env",
    476        "//absl/log",
    477        "//absl/strings",
    478        "//absl/types:span",
    479        "@googletest//:gtest",
    480        "@googletest//:gtest_main",
    481    ],
    482 )
    483 
    484 cc_test(
    485    name = "path_util_test",
    486    size = "small",
    487    srcs = [
    488        "internal/path_util_test.cc",
    489    ],
    490    copts = ABSL_TEST_COPTS,
    491    linkopts = ABSL_DEFAULT_LINKOPTS,
    492    deps = [
    493        ":path_util",
    494        "@googletest//:gtest",
    495        "@googletest//:gtest_main",
    496    ],
    497 )
    498 
    499 cc_test(
    500    name = "program_name_test",
    501    size = "small",
    502    srcs = [
    503        "internal/program_name_test.cc",
    504    ],
    505    copts = ABSL_TEST_COPTS,
    506    linkopts = ABSL_DEFAULT_LINKOPTS,
    507    tags = [
    508        "no_test_fuchsia_x64",
    509        "no_test_wasm",
    510    ],
    511    deps = [
    512        ":program_name",
    513        "//absl/strings",
    514        "@googletest//:gtest",
    515        "@googletest//:gtest_main",
    516    ],
    517 )
    518 
    519 cc_test(
    520    name = "reflection_test",
    521    size = "small",
    522    srcs = [
    523        "reflection_test.cc",
    524    ],
    525    copts = ABSL_TEST_COPTS,
    526    linkopts = ABSL_DEFAULT_LINKOPTS,
    527    tags = [
    528        "no_test:os:android",
    529        "no_test:os:ios",
    530        "no_test_android",
    531        "no_test_ios",
    532        "no_test_wasm",
    533    ],
    534    deps = [
    535        ":config",
    536        ":flag",
    537        ":reflection",
    538        "//absl/memory",
    539        "//absl/strings",
    540        "@googletest//:gtest",
    541        "@googletest//:gtest_main",
    542    ],
    543 )
    544 
    545 cc_test(
    546    name = "sequence_lock_test",
    547    size = "small",
    548    timeout = "moderate",
    549    srcs = [
    550        "internal/sequence_lock_test.cc",
    551    ],
    552    copts = ABSL_TEST_COPTS,
    553    linkopts = ABSL_DEFAULT_LINKOPTS,
    554    shard_count = 31,
    555    tags = ["no_test_wasm"],
    556    deps = [
    557        ":flag_internal",
    558        "//absl/base",
    559        "//absl/container:fixed_array",
    560        "//absl/time",
    561        "@googletest//:gtest",
    562        "@googletest//:gtest_main",
    563    ],
    564 )
    565 
    566 cc_test(
    567    name = "usage_config_test",
    568    size = "small",
    569    srcs = [
    570        "usage_config_test.cc",
    571    ],
    572    copts = ABSL_TEST_COPTS,
    573    linkopts = ABSL_DEFAULT_LINKOPTS,
    574    deps = [
    575        ":config",
    576        ":path_util",
    577        ":program_name",
    578        "//absl/strings",
    579        "@googletest//:gtest",
    580        "@googletest//:gtest_main",
    581    ],
    582 )
    583 
    584 cc_test(
    585    name = "usage_test",
    586    size = "small",
    587    srcs = [
    588        "internal/usage_test.cc",
    589    ],
    590    copts = ABSL_TEST_COPTS,
    591    linkopts = ABSL_DEFAULT_LINKOPTS,
    592    tags = [
    593        "no_test:os:android",
    594        "no_test:os:ios",
    595        "no_test_android",
    596        "no_test_ios",
    597        "no_test_wasm",
    598    ],
    599    deps = [
    600        ":config",
    601        ":flag",
    602        ":parse",
    603        ":path_util",
    604        ":program_name",
    605        ":reflection",
    606        ":usage",
    607        ":usage_internal",
    608        "//absl/strings",
    609        "@googletest//:gtest",
    610    ],
    611 )