blob: b981eba677185f8814a1de7525f5ad93593431d6 [file] [log] [blame]
def define_targets(rules):
rules.cc_library(
name = "TypeCast",
srcs = ["TypeCast.cpp"],
hdrs = ["TypeCast.h"],
linkstatic = True,
local_defines = ["C10_BUILD_MAIN_LIB"],
visibility = ["//visibility:public"],
deps = [
":base",
"//c10/core:ScalarType",
"//c10/macros",
],
)
rules.cc_library(
name = "base",
srcs = rules.glob(
["*.cpp"],
exclude = [
"TypeCast.cpp",
"typeid.cpp",
],
),
hdrs = rules.glob(
["*.h"],
exclude = [
"TypeCast.h",
"typeid.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 = [
"@fmt",
"//c10/macros",
] + rules.select({
"//c10:using_gflags": ["@com_github_gflags_gflags//:gflags"],
"//conditions:default": [],
}) + rules.select({
"//c10:using_glog": ["@com_github_glog//:glog"],
"//conditions:default": [],
}),
)
rules.cc_library(
name = "typeid",
srcs = ["typeid.cpp"],
hdrs = ["typeid.h"],
linkstatic = True,
local_defines = ["C10_BUILD_MAIN_LIB"],
visibility = ["//visibility:public"],
deps = [
":base",
"//c10/core:ScalarType",
"//c10/macros",
],
)
rules.filegroup(
name = "headers",
srcs = rules.glob(
["*.h"],
exclude = [
],
),
visibility = ["//c10:__pkg__"],
)