Files
pytorch/c10/util/build.bzl
dolpm 66f53889d5 [nativert] port semaphore to c10 util (#153504)
Summary:
nativert RFC: https://github.com/zhxchen17/rfcs/blob/master/RFC-0043-torch-native-runtime.md

To land the runtime into PyTorch core, we will gradually land logical parts of the code into the Github issue and get each piece properly reviewed.

This diff adds a simple semaphore interface into c10 until c++20 where we get counting_semaphore

gonna need a oss build export to take a look at this...

Test Plan: CI

Differential Revision: D73882656

Pull Request resolved: https://github.com/pytorch/pytorch/pull/153504
Approved by: https://github.com/zhxchen17
2025-05-28 19:17:30 +00:00

110 lines
2.7 KiB
Python

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",
],
),
linkstatic = True,
local_defines = ["C10_BUILD_MAIN_LIB"],
visibility = ["//visibility:public"],
deps = [
":bit_cast",
"//c10/macros",
"@fmt",
"@moodycamel//:moodycamel",
] + rules.select({
"//c10:using_gflags": ["@com_github_gflags_gflags//:gflags"],
"//conditions:default": [],
}) + rules.select({
"//c10:using_glog": ["@com_github_glog//:glog"],
"//conditions:default": [],
}),
linkopts = rules.select({
"@bazel_tools//src/conditions:windows": [],
"//conditions:default": ["-ldl"],
}),
# This library uses flags and registration. Do not let the
# linker remove them.
alwayslink = True,
)
rules.cc_library(
name = "bit_cast",
hdrs = ["bit_cast.h"],
visibility = ["//:__subpackages__"],
)
rules.cc_library(
name = "ssize",
hdrs = ["ssize.h"],
linkstatic = True,
visibility = ["//:__subpackages__"],
deps = [":base"],
)
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.cc_library(
name = "base_headers",
hdrs = rules.glob(
["*.h"],
exclude = [
"bit_cast.h",
"ssize.h",
],
),
visibility = ["//visibility:public"],
)
rules.filegroup(
name = "headers",
srcs = rules.glob(
["*.h"],
exclude = [
"bit_cast.h",
"ssize.h",
],
),
visibility = [
"//:__pkg__",
"//c10:__pkg__",
],
)