1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104
|
def define_targets(rules):
rules.cc_library(
name = "CPUAllocator",
srcs = ["CPUAllocator.cpp"],
hdrs = ["CPUAllocator.h"],
# This library defines a flag, The use of alwayslink keeps it
# from being stripped.
alwayslink = True,
linkstatic = True,
local_defines = ["C10_BUILD_MAIN_LIB"],
visibility = ["//visibility:public"],
deps = [
":alignment",
":base",
"//c10/mobile:CPUCachingAllocator",
"//c10/mobile:CPUProfilingAllocator",
"//c10/util:base",
],
)
rules.cc_library(
name = "ScalarType",
hdrs = ["ScalarType.h"],
linkstatic = True,
local_defines = ["C10_BUILD_MAIN_LIB"],
visibility = ["//visibility:public"],
deps = ["//c10/util:base"],
)
rules.cc_library(
name = "alignment",
hdrs = ["alignment.h"],
linkstatic = True,
local_defines = ["C10_BUILD_MAIN_LIB"],
visibility = ["//visibility:public"],
)
rules.cc_library(
name = "alloc_cpu",
srcs = ["impl/alloc_cpu.cpp"],
hdrs = ["impl/alloc_cpu.h"],
# This library defines flags, The use of alwayslink keeps them
# from being stripped.
alwayslink = True,
linkstatic = True,
local_defines = ["C10_BUILD_MAIN_LIB"],
visibility = ["//visibility:public"],
deps = [
":alignment",
"//c10/macros",
"//c10/util:base",
],
)
rules.cc_library(
name = "base",
srcs = rules.glob(
[
"*.cpp",
"impl/*.cpp",
],
exclude = [
"CPUAllocator.cpp",
"impl/alloc_cpu.cpp",
],
),
hdrs = rules.glob(
[
"*.h",
"impl/*.h",
],
exclude = [
"CPUAllocator.h",
"impl/alloc_cpu.h",
],
),
# This library uses flags and registration. Do not let the
# linker remove them.
alwayslink = True,
linkstatic = True,
local_defines = ["C10_BUILD_MAIN_LIB"],
visibility = ["//visibility:public"],
deps = [
":ScalarType",
"//c10/macros",
"//c10/util:TypeCast",
"//c10/util:base",
"//c10/util:typeid",
],
)
rules.filegroup(
name = "headers",
srcs = rules.glob(
[
"*.h",
"impl/*.h",
],
exclude = [
"alignment.h",
],
),
visibility = ["//c10:__pkg__"],
)
|