tor-browser

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

BUILD.bazel (11719B)


      1 #
      2 # Copyright 2017 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 = "stacktrace",
     37    srcs = [
     38        "internal/stacktrace_aarch64-inl.inc",
     39        "internal/stacktrace_arm-inl.inc",
     40        "internal/stacktrace_config.h",
     41        "internal/stacktrace_emscripten-inl.inc",
     42        "internal/stacktrace_generic-inl.inc",
     43        "internal/stacktrace_powerpc-inl.inc",
     44        "internal/stacktrace_riscv-inl.inc",
     45        "internal/stacktrace_unimplemented-inl.inc",
     46        "internal/stacktrace_win32-inl.inc",
     47        "internal/stacktrace_x86-inl.inc",
     48        "stacktrace.cc",
     49    ],
     50    hdrs = ["stacktrace.h"],
     51    copts = ABSL_DEFAULT_COPTS,
     52    linkopts = ABSL_DEFAULT_LINKOPTS,
     53    deps = [
     54        ":debugging_internal",
     55        "//absl/base:config",
     56        "//absl/base:core_headers",
     57        "//absl/base:dynamic_annotations",
     58        "//absl/base:raw_logging_internal",
     59    ],
     60 )
     61 
     62 cc_test(
     63    name = "stacktrace_test",
     64    srcs = ["stacktrace_test.cc"],
     65    copts = ABSL_TEST_COPTS,
     66    linkopts = ABSL_DEFAULT_LINKOPTS,
     67    deps = [
     68        ":stacktrace",
     69        "//absl/base:config",
     70        "//absl/base:core_headers",
     71        "//absl/types:span",
     72        "@googletest//:gtest",
     73        "@googletest//:gtest_main",
     74    ],
     75 )
     76 
     77 cc_library(
     78    name = "symbolize",
     79    srcs = [
     80        "symbolize.cc",
     81        "symbolize_darwin.inc",
     82        "symbolize_elf.inc",
     83        "symbolize_emscripten.inc",
     84        "symbolize_unimplemented.inc",
     85        "symbolize_win32.inc",
     86    ],
     87    hdrs = [
     88        "internal/symbolize.h",
     89        "symbolize.h",
     90    ],
     91    copts = ABSL_DEFAULT_COPTS,
     92    linkopts = ABSL_DEFAULT_LINKOPTS + select({
     93        "@rules_cc//cc/compiler:msvc-cl": ["-DEFAULTLIB:dbghelp.lib"],
     94        "@rules_cc//cc/compiler:clang-cl": ["-DEFAULTLIB:dbghelp.lib"],
     95        "//absl:mingw_compiler": [
     96            "-DEFAULTLIB:dbghelp.lib",
     97            "-ldbghelp",
     98        ],
     99        "//conditions:default": [],
    100    }),
    101    deps = [
    102        ":debugging_internal",
    103        ":demangle_internal",
    104        "//absl/base",
    105        "//absl/base:config",
    106        "//absl/base:core_headers",
    107        "//absl/base:dynamic_annotations",
    108        "//absl/base:malloc_internal",
    109        "//absl/base:raw_logging_internal",
    110        "//absl/strings",
    111    ],
    112 )
    113 
    114 cc_test(
    115    name = "symbolize_test",
    116    srcs = ["symbolize_test.cc"],
    117    copts = ABSL_TEST_COPTS + select({
    118        "@rules_cc//cc/compiler:msvc-cl": ["/Z7"],
    119        "@rules_cc//cc/compiler:clang-cl": ["/Z7"],
    120        "//conditions:default": [],
    121    }),
    122    linkopts = ABSL_DEFAULT_LINKOPTS + select({
    123        "@rules_cc//cc/compiler:msvc-cl": ["/DEBUG"],
    124        "@rules_cc//cc/compiler:clang-cl": ["/DEBUG"],
    125        "//conditions:default": [],
    126    }),
    127    deps = [
    128        ":stack_consumption",
    129        ":symbolize",
    130        "//absl/base",
    131        "//absl/base:config",
    132        "//absl/base:core_headers",
    133        "//absl/log",
    134        "//absl/log:check",
    135        "//absl/memory",
    136        "//absl/strings",
    137        "@googletest//:gtest",
    138    ],
    139 )
    140 
    141 cc_library(
    142    name = "examine_stack",
    143    srcs = [
    144        "internal/examine_stack.cc",
    145    ],
    146    hdrs = [
    147        "internal/examine_stack.h",
    148    ],
    149    copts = ABSL_DEFAULT_COPTS,
    150    linkopts = ABSL_DEFAULT_LINKOPTS,
    151    visibility = ["//absl/log/internal:__pkg__"],
    152    deps = [
    153        ":stacktrace",
    154        ":symbolize",
    155        "//absl/base:config",
    156        "//absl/base:core_headers",
    157        "//absl/base:raw_logging_internal",
    158    ],
    159 )
    160 
    161 cc_library(
    162    name = "failure_signal_handler",
    163    srcs = ["failure_signal_handler.cc"],
    164    hdrs = ["failure_signal_handler.h"],
    165    copts = ABSL_DEFAULT_COPTS,
    166    linkopts = ABSL_DEFAULT_LINKOPTS,
    167    deps = [
    168        ":examine_stack",
    169        ":stacktrace",
    170        "//absl/base",
    171        "//absl/base:config",
    172        "//absl/base:core_headers",
    173        "//absl/base:raw_logging_internal",
    174    ],
    175 )
    176 
    177 cc_test(
    178    name = "failure_signal_handler_test",
    179    srcs = ["failure_signal_handler_test.cc"],
    180    copts = ABSL_TEST_COPTS,
    181    linkopts = select({
    182        "@rules_cc//cc/compiler:msvc-cl": [],
    183        "@rules_cc//cc/compiler:clang-cl": [],
    184        "@rules_cc//cc/compiler:emscripten": [],
    185        "//conditions:default": ["-pthread"],
    186    }) + ABSL_DEFAULT_LINKOPTS,
    187    deps = [
    188        ":failure_signal_handler",
    189        ":stacktrace",
    190        ":symbolize",
    191        "//absl/base:raw_logging_internal",
    192        "//absl/log:check",
    193        "//absl/strings",
    194        "@googletest//:gtest",
    195    ],
    196 )
    197 
    198 cc_library(
    199    name = "debugging_internal",
    200    srcs = [
    201        "internal/address_is_readable.cc",
    202        "internal/elf_mem_image.cc",
    203        "internal/vdso_support.cc",
    204    ],
    205    hdrs = [
    206        "internal/address_is_readable.h",
    207        "internal/addresses.h",
    208        "internal/elf_mem_image.h",
    209        "internal/vdso_support.h",
    210    ],
    211    copts = ABSL_DEFAULT_COPTS,
    212    linkopts = ABSL_DEFAULT_LINKOPTS,
    213    visibility = ["//visibility:private"],
    214    deps = [
    215        "//absl/base:config",
    216        "//absl/base:core_headers",
    217        "//absl/base:dynamic_annotations",
    218        "//absl/base:errno_saver",
    219        "//absl/base:raw_logging_internal",
    220    ],
    221 )
    222 
    223 cc_library(
    224    name = "demangle_internal",
    225    srcs = ["internal/demangle.cc"],
    226    hdrs = ["internal/demangle.h"],
    227    copts = ABSL_DEFAULT_COPTS,
    228    linkopts = ABSL_DEFAULT_LINKOPTS,
    229    visibility = [
    230        "//absl/container:__pkg__",
    231        "//absl/debugging:__pkg__",
    232    ],
    233    deps = [
    234        ":demangle_rust",
    235        "//absl/base",
    236        "//absl/base:config",
    237        "//absl/base:core_headers",
    238        "//absl/base:nullability",
    239        "//absl/numeric:bits",
    240    ],
    241 )
    242 
    243 cc_test(
    244    name = "demangle_test",
    245    srcs = ["internal/demangle_test.cc"],
    246    copts = ABSL_TEST_COPTS,
    247    linkopts = ABSL_DEFAULT_LINKOPTS,
    248    deps = [
    249        ":demangle_internal",
    250        ":stack_consumption",
    251        "//absl/base:config",
    252        "//absl/base:core_headers",
    253        "//absl/log",
    254        "//absl/memory",
    255        "@googletest//:gtest",
    256        "@googletest//:gtest_main",
    257    ],
    258 )
    259 
    260 cc_library(
    261    name = "bounded_utf8_length_sequence",
    262    hdrs = ["internal/bounded_utf8_length_sequence.h"],
    263    copts = ABSL_DEFAULT_COPTS,
    264    linkopts = ABSL_DEFAULT_LINKOPTS,
    265    deps = [
    266        "//absl/base:config",
    267        "//absl/numeric:bits",
    268    ],
    269 )
    270 
    271 cc_test(
    272    name = "bounded_utf8_length_sequence_test",
    273    srcs = ["internal/bounded_utf8_length_sequence_test.cc"],
    274    copts = ABSL_TEST_COPTS,
    275    linkopts = ABSL_DEFAULT_LINKOPTS,
    276    deps = [
    277        ":bounded_utf8_length_sequence",
    278        "//absl/base:config",
    279        "@googletest//:gtest",
    280        "@googletest//:gtest_main",
    281    ],
    282 )
    283 
    284 cc_library(
    285    name = "decode_rust_punycode",
    286    srcs = ["internal/decode_rust_punycode.cc"],
    287    hdrs = ["internal/decode_rust_punycode.h"],
    288    copts = ABSL_DEFAULT_COPTS,
    289    linkopts = ABSL_DEFAULT_LINKOPTS,
    290    deps = [
    291        ":bounded_utf8_length_sequence",
    292        ":utf8_for_code_point",
    293        "//absl/base:config",
    294        "//absl/base:nullability",
    295    ],
    296 )
    297 
    298 cc_test(
    299    name = "decode_rust_punycode_test",
    300    srcs = ["internal/decode_rust_punycode_test.cc"],
    301    copts = ABSL_TEST_COPTS,
    302    linkopts = ABSL_DEFAULT_LINKOPTS,
    303    deps = [
    304        ":decode_rust_punycode",
    305        "//absl/base:config",
    306        "@googletest//:gtest",
    307        "@googletest//:gtest_main",
    308    ],
    309 )
    310 
    311 cc_library(
    312    name = "demangle_rust",
    313    srcs = ["internal/demangle_rust.cc"],
    314    hdrs = ["internal/demangle_rust.h"],
    315    copts = ABSL_DEFAULT_COPTS,
    316    linkopts = ABSL_DEFAULT_LINKOPTS,
    317    deps = [
    318        ":decode_rust_punycode",
    319        "//absl/base:config",
    320        "//absl/base:core_headers",
    321    ],
    322 )
    323 
    324 cc_test(
    325    name = "demangle_rust_test",
    326    srcs = ["internal/demangle_rust_test.cc"],
    327    copts = ABSL_TEST_COPTS,
    328    linkopts = ABSL_DEFAULT_LINKOPTS,
    329    deps = [
    330        ":demangle_rust",
    331        "//absl/base:config",
    332        "//absl/base:core_headers",
    333        "@googletest//:gtest",
    334        "@googletest//:gtest_main",
    335    ],
    336 )
    337 
    338 cc_library(
    339    name = "utf8_for_code_point",
    340    srcs = ["internal/utf8_for_code_point.cc"],
    341    hdrs = ["internal/utf8_for_code_point.h"],
    342    copts = ABSL_DEFAULT_COPTS,
    343    linkopts = ABSL_DEFAULT_LINKOPTS,
    344    deps = ["//absl/base:config"],
    345 )
    346 
    347 cc_test(
    348    name = "utf8_for_code_point_test",
    349    srcs = ["internal/utf8_for_code_point_test.cc"],
    350    copts = ABSL_TEST_COPTS,
    351    linkopts = ABSL_DEFAULT_LINKOPTS,
    352    deps = [
    353        ":utf8_for_code_point",
    354        "//absl/base:config",
    355        "@googletest//:gtest",
    356        "@googletest//:gtest_main",
    357    ],
    358 )
    359 
    360 cc_library(
    361    name = "leak_check",
    362    srcs = ["leak_check.cc"],
    363    hdrs = ["leak_check.h"],
    364    copts = ABSL_DEFAULT_COPTS,
    365    linkopts = ABSL_DEFAULT_LINKOPTS,
    366    deps = [
    367        "//absl/base:config",
    368        "//absl/base:core_headers",
    369    ],
    370 )
    371 
    372 cc_test(
    373    name = "leak_check_test",
    374    srcs = ["leak_check_test.cc"],
    375    copts = ABSL_TEST_COPTS,
    376    linkopts = ABSL_DEFAULT_LINKOPTS,
    377    tags = ["notsan"],
    378    deps = [
    379        ":leak_check",
    380        "//absl/base:config",
    381        "//absl/log",
    382        "@googletest//:gtest",
    383        "@googletest//:gtest_main",
    384    ],
    385 )
    386 
    387 # Binary that leaks memory and expects to fail on exit.  This isn't a
    388 # test that expected to pass on its own; it exists to be called by a
    389 # script that checks exit status and output.
    390 # TODO(absl-team): Write a test to run this with a script that
    391 # verifies that it correctly fails.
    392 cc_binary(
    393    name = "leak_check_fail_test_binary",
    394    srcs = ["leak_check_fail_test.cc"],
    395    copts = ABSL_TEST_COPTS,
    396    linkopts = ABSL_DEFAULT_LINKOPTS,
    397    deps = [
    398        ":leak_check",
    399        "//absl/log",
    400        "@googletest//:gtest",
    401        "@googletest//:gtest_main",
    402    ],
    403 )
    404 
    405 cc_library(
    406    name = "stack_consumption",
    407    testonly = 1,
    408    srcs = ["internal/stack_consumption.cc"],
    409    hdrs = ["internal/stack_consumption.h"],
    410    copts = ABSL_DEFAULT_COPTS,
    411    linkopts = ABSL_DEFAULT_LINKOPTS,
    412    visibility = ["//visibility:private"],
    413    deps = [
    414        "//absl/base:config",
    415        "//absl/base:core_headers",
    416        "//absl/base:raw_logging_internal",
    417    ],
    418 )
    419 
    420 cc_test(
    421    name = "stack_consumption_test",
    422    srcs = ["internal/stack_consumption_test.cc"],
    423    copts = ABSL_TEST_COPTS,
    424    linkopts = ABSL_DEFAULT_LINKOPTS,
    425    tags = ["notsan"],
    426    deps = [
    427        ":stack_consumption",
    428        "//absl/base:core_headers",
    429        "//absl/log",
    430        "@googletest//:gtest",
    431        "@googletest//:gtest_main",
    432    ],
    433 )
    434 
    435 cc_binary(
    436    name = "stacktrace_benchmark",
    437    testonly = 1,
    438    srcs = ["stacktrace_benchmark.cc"],
    439    copts = ABSL_TEST_COPTS,
    440    linkopts = ABSL_DEFAULT_LINKOPTS,
    441    tags = ["benchmark"],
    442    deps = [
    443        ":stacktrace",
    444        "//absl/base:config",
    445        "//absl/base:core_headers",
    446        "@google_benchmark//:benchmark_main",
    447    ],
    448 )