pytorch
75 строк · 2.1 Кб
1load("@rules_cc//cc:defs.bzl", "cc_library")
2load("@pytorch//third_party:substitution.bzl", "template_rule")
3
4licenses(["notice"]) # Apache 2.0
5
6template_rule(
7name = "version_string",
8src = "@//:aten/src/ATen/cpu/tbb/extra/version_string.ver.in",
9out = "version_string.h",
10substitutions = {
11"@CMAKE_SYSTEM_NAME@": "Unknown",
12"@CMAKE_SYSTEM@": "Unknown",
13"@CMAKE_SYSTEM_VERSION@": "Unknown",
14"@CMAKE_CXX_COMPILER_ID@": "Unknown",
15"@_configure_date@": "Unknown",
16}
17)
18
19cc_library(
20name = "tbb",
21srcs = [":version_string"] + glob(
22[
23"src/old/*.h",
24"src/rml/client/*.h",
25"src/rml/include/*.h",
26"src/rml/server/*.h",
27"src/tbb/*.h",
28"src/tbb/tools_api/*.h",
29"src/tbb/tools_api/legacy/*.h",
30"src/old/*.cpp",
31"src/tbb/*.cpp",
32],
33exclude = ["src/old/test_*.cpp"],
34) + ["src/rml/client/rml_tbb.cpp"],
35hdrs = glob(
36[
37"include/tbb/*",
38"include/tbb/compat/*",
39"include/tbb/internal/*",
40"include/tbb/machine/*",
41],
42exclude = ["include/tbb/scalable_allocator.h"],
43),
44copts = [
45"-Iexternal/tbb/src/rml/include",
46"-Iexternal/tbb/src",
47"-pthread",
48"-DDO_ITT_NOTIFY=1",
49"-DUSE_PTHREAD=1",
50"-D__TBB_BUILD=1",
51"-D__TBB_DYNAMIC_LOAD_ENABLED=0",
52"-D__TBB_SOURCE_DIRECTLY_INCLUDED=1",
53"-fno-sanitize=vptr",
54"-fno-sanitize=thread",
55],
56defines = [
57# TBB Cannot detect the standard library version when using clang with libstdc++.
58# See https://github.com/01org/tbb/issues/22
59"TBB_USE_GLIBCXX_VERSION=(_GLIBCXX_RELEASE*10000)",
60"TBB_PREVIEW_GLOBAL_CONTROL=1",
61"TBB_PREVIEW_LOCAL_OBSERVER=1",
62"__TBB_ALLOW_MUTABLE_FUNCTORS=1",
63],
64includes = [
65"include",
66"src/tbb/tools_api",
67],
68linkopts = [
69"-ldl",
70"-lpthread",
71"-lrt",
72],
73textual_hdrs = ["src/tbb/tools_api/ittnotify_static.c"],
74visibility = ["//visibility:public"],
75)
76