xref: /aosp_15_r20/external/pytorch/c10/util/build.bzl (revision da0073e96a02ea20f0ac840b70461e3646d07c45)
1*da0073e9SAndroid Build Coastguard Workerdef define_targets(rules):
2*da0073e9SAndroid Build Coastguard Worker    rules.cc_library(
3*da0073e9SAndroid Build Coastguard Worker        name = "TypeCast",
4*da0073e9SAndroid Build Coastguard Worker        srcs = ["TypeCast.cpp"],
5*da0073e9SAndroid Build Coastguard Worker        hdrs = ["TypeCast.h"],
6*da0073e9SAndroid Build Coastguard Worker        linkstatic = True,
7*da0073e9SAndroid Build Coastguard Worker        local_defines = ["C10_BUILD_MAIN_LIB"],
8*da0073e9SAndroid Build Coastguard Worker        visibility = ["//visibility:public"],
9*da0073e9SAndroid Build Coastguard Worker        deps = [
10*da0073e9SAndroid Build Coastguard Worker            ":base",
11*da0073e9SAndroid Build Coastguard Worker            "//c10/core:ScalarType",
12*da0073e9SAndroid Build Coastguard Worker            "//c10/macros",
13*da0073e9SAndroid Build Coastguard Worker        ],
14*da0073e9SAndroid Build Coastguard Worker    )
15*da0073e9SAndroid Build Coastguard Worker
16*da0073e9SAndroid Build Coastguard Worker    rules.cc_library(
17*da0073e9SAndroid Build Coastguard Worker        name = "base",
18*da0073e9SAndroid Build Coastguard Worker        srcs = rules.glob(
19*da0073e9SAndroid Build Coastguard Worker            ["*.cpp"],
20*da0073e9SAndroid Build Coastguard Worker            exclude = [
21*da0073e9SAndroid Build Coastguard Worker                "TypeCast.cpp",
22*da0073e9SAndroid Build Coastguard Worker                "typeid.cpp",
23*da0073e9SAndroid Build Coastguard Worker            ],
24*da0073e9SAndroid Build Coastguard Worker        ),
25*da0073e9SAndroid Build Coastguard Worker        hdrs = rules.glob(
26*da0073e9SAndroid Build Coastguard Worker            ["*.h"],
27*da0073e9SAndroid Build Coastguard Worker            exclude = [
28*da0073e9SAndroid Build Coastguard Worker                "TypeCast.h",
29*da0073e9SAndroid Build Coastguard Worker                "typeid.h",
30*da0073e9SAndroid Build Coastguard Worker            ],
31*da0073e9SAndroid Build Coastguard Worker        ),
32*da0073e9SAndroid Build Coastguard Worker        linkstatic = True,
33*da0073e9SAndroid Build Coastguard Worker        local_defines = ["C10_BUILD_MAIN_LIB"],
34*da0073e9SAndroid Build Coastguard Worker        visibility = ["//visibility:public"],
35*da0073e9SAndroid Build Coastguard Worker        deps = [
36*da0073e9SAndroid Build Coastguard Worker            ":bit_cast",
37*da0073e9SAndroid Build Coastguard Worker            "//c10/macros",
38*da0073e9SAndroid Build Coastguard Worker            "@fmt",
39*da0073e9SAndroid Build Coastguard Worker        ] + rules.select({
40*da0073e9SAndroid Build Coastguard Worker            "//c10:using_gflags": ["@com_github_gflags_gflags//:gflags"],
41*da0073e9SAndroid Build Coastguard Worker            "//conditions:default": [],
42*da0073e9SAndroid Build Coastguard Worker        }) + rules.select({
43*da0073e9SAndroid Build Coastguard Worker            "//c10:using_glog": ["@com_github_glog//:glog"],
44*da0073e9SAndroid Build Coastguard Worker            "//conditions:default": [],
45*da0073e9SAndroid Build Coastguard Worker        }),
46*da0073e9SAndroid Build Coastguard Worker        # This library uses flags and registration. Do not let the
47*da0073e9SAndroid Build Coastguard Worker        # linker remove them.
48*da0073e9SAndroid Build Coastguard Worker        alwayslink = True,
49*da0073e9SAndroid Build Coastguard Worker    )
50*da0073e9SAndroid Build Coastguard Worker
51*da0073e9SAndroid Build Coastguard Worker    rules.cc_library(
52*da0073e9SAndroid Build Coastguard Worker        name = "bit_cast",
53*da0073e9SAndroid Build Coastguard Worker        hdrs = ["bit_cast.h"],
54*da0073e9SAndroid Build Coastguard Worker        visibility = ["//:__subpackages__"],
55*da0073e9SAndroid Build Coastguard Worker    )
56*da0073e9SAndroid Build Coastguard Worker
57*da0073e9SAndroid Build Coastguard Worker    rules.cc_library(
58*da0073e9SAndroid Build Coastguard Worker        name = "ssize",
59*da0073e9SAndroid Build Coastguard Worker        hdrs = ["ssize.h"],
60*da0073e9SAndroid Build Coastguard Worker        linkstatic = True,
61*da0073e9SAndroid Build Coastguard Worker        visibility = ["//:__subpackages__"],
62*da0073e9SAndroid Build Coastguard Worker        deps = [":base"],
63*da0073e9SAndroid Build Coastguard Worker    )
64*da0073e9SAndroid Build Coastguard Worker
65*da0073e9SAndroid Build Coastguard Worker    rules.cc_library(
66*da0073e9SAndroid Build Coastguard Worker        name = "typeid",
67*da0073e9SAndroid Build Coastguard Worker        srcs = ["typeid.cpp"],
68*da0073e9SAndroid Build Coastguard Worker        hdrs = ["typeid.h"],
69*da0073e9SAndroid Build Coastguard Worker        linkstatic = True,
70*da0073e9SAndroid Build Coastguard Worker        local_defines = ["C10_BUILD_MAIN_LIB"],
71*da0073e9SAndroid Build Coastguard Worker        visibility = ["//visibility:public"],
72*da0073e9SAndroid Build Coastguard Worker        deps = [
73*da0073e9SAndroid Build Coastguard Worker            ":base",
74*da0073e9SAndroid Build Coastguard Worker            "//c10/core:ScalarType",
75*da0073e9SAndroid Build Coastguard Worker            "//c10/macros",
76*da0073e9SAndroid Build Coastguard Worker        ],
77*da0073e9SAndroid Build Coastguard Worker    )
78*da0073e9SAndroid Build Coastguard Worker
79*da0073e9SAndroid Build Coastguard Worker    rules.filegroup(
80*da0073e9SAndroid Build Coastguard Worker        name = "headers",
81*da0073e9SAndroid Build Coastguard Worker        srcs = rules.glob(
82*da0073e9SAndroid Build Coastguard Worker            ["*.h"],
83*da0073e9SAndroid Build Coastguard Worker            exclude = [
84*da0073e9SAndroid Build Coastguard Worker                "bit_cast.h",
85*da0073e9SAndroid Build Coastguard Worker                "ssize.h",
86*da0073e9SAndroid Build Coastguard Worker            ],
87*da0073e9SAndroid Build Coastguard Worker        ),
88*da0073e9SAndroid Build Coastguard Worker        visibility = [
89*da0073e9SAndroid Build Coastguard Worker            "//:__pkg__",
90*da0073e9SAndroid Build Coastguard Worker            "//c10:__pkg__",
91*da0073e9SAndroid Build Coastguard Worker        ],
92*da0073e9SAndroid Build Coastguard Worker    )
93