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