Home | History | Annotate | Download | only in tsan
      1 //
      2 // Copyright (C) 2015 The Android Open Source Project
      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 //      http://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 
     18 tsan_rtl_cppflags = [
     19     "-std=c++11",
     20     "-Wall",
     21     "-Werror",
     22     "-Wno-unused-parameter",
     23     "-Wno-non-virtual-dtor",
     24     "-fno-rtti",
     25     "-fno-builtin",
     26 ]
     27 
     28 cc_library_host_static {
     29     name: "libtsan",
     30 
     31     include_dirs: ["external/compiler-rt/lib"],
     32     cppflags: tsan_rtl_cppflags,
     33     srcs: [
     34         "rtl/*.cc",
     35         "rtl/tsan_rtl_amd64.S",
     36     ],
     37     stl: "none",
     38     sanitize: {
     39         never: true,
     40     },
     41     compile_multilib: "64",
     42     whole_static_libs: [
     43         "libinterception",
     44         "libsan",
     45         "libubsan",
     46     ],
     47     target: {
     48         darwin: {
     49             enabled: false,
     50         },
     51     },
     52 }
     53 
     54 cc_library_host_static {
     55     name: "libtsan_cxx",
     56 
     57     include_dirs: ["external/compiler-rt/lib"],
     58     cppflags: tsan_rtl_cppflags,
     59     srcs: ["rtl/tsan_new_delete.cc"],
     60     stl: "none",
     61     sanitize: {
     62         never: true,
     63     },
     64     compile_multilib: "64",
     65     whole_static_libs: ["libubsan_cxx"],
     66     target: {
     67         darwin: {
     68             enabled: false,
     69         },
     70     },
     71 }
     72 
     73 cc_test_host {
     74     name: "libtsan_unit_test",
     75 
     76     include_dirs: ["external/compiler-rt/lib"],
     77     local_include_dirs: ["rtl"],
     78     cppflags: tsan_rtl_cppflags,
     79     srcs: [
     80         "tests/unit/tsan_clock_test.cc",
     81         "tests/unit/tsan_dense_alloc_test.cc",
     82         "tests/unit/tsan_flags_test.cc",
     83         "tests/unit/tsan_mman_test.cc",
     84         "tests/unit/tsan_mutex_test.cc",
     85         "tests/unit/tsan_mutexset_test.cc",
     86         "tests/unit/tsan_shadow_test.cc",
     87         "tests/unit/tsan_stack_test.cc",
     88         "tests/unit/tsan_sync_test.cc",
     89         "tests/unit/tsan_unit_test_main.cc",
     90         "tests/unit/tsan_vector_test.cc",
     91     ],
     92     sanitize: {
     93         never: true,
     94     },
     95     compile_multilib: "64",
     96     static_libs: [
     97         "libtsan",
     98         "libubsan",
     99     ],
    100     host_ldlibs: [
    101         "-lrt",
    102         "-ldl",
    103     ],
    104     target: {
    105         darwin: {
    106             enabled: false,
    107         },
    108     },
    109 }
    110 
    111 cc_test_host {
    112     name: "libtsan_rtl_test",
    113 
    114     include_dirs: ["external/compiler-rt/lib"],
    115     local_include_dirs: ["rtl"],
    116     cppflags: tsan_rtl_cppflags,
    117     srcs: [
    118         "tests/rtl/tsan_bench.cc",
    119         "tests/rtl/tsan_mop.cc",
    120         "tests/rtl/tsan_mutex.cc",
    121         "tests/rtl/tsan_posix.cc",
    122         "tests/rtl/tsan_string.cc",
    123         "tests/rtl/tsan_test_util_posix.cc",
    124         "tests/rtl/tsan_test.cc",
    125         "tests/rtl/tsan_thread.cc",
    126     ],
    127     sanitize: {
    128         never: true,
    129     },
    130     compile_multilib: "64",
    131     static_libs: [
    132         "libtsan",
    133         "libubsan",
    134     ],
    135     host_ldlibs: [
    136         "-lrt",
    137         "-ldl",
    138     ],
    139     target: {
    140         darwin: {
    141             enabled: false,
    142         },
    143     },
    144 }
    145