xref: /aosp_15_r20/external/pytorch/c10/macros/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 = "macros",
4*da0073e9SAndroid Build Coastguard Worker        srcs = [":cmake_macros_h"],
5*da0073e9SAndroid Build Coastguard Worker        hdrs = [
6*da0073e9SAndroid Build Coastguard Worker            "Macros.h",
7*da0073e9SAndroid Build Coastguard Worker            # Despite the documentation in Macros.h, Export.h is included
8*da0073e9SAndroid Build Coastguard Worker            # directly by many downstream files. Thus, we declare it as a
9*da0073e9SAndroid Build Coastguard Worker            # public header in this file.
10*da0073e9SAndroid Build Coastguard Worker            "Export.h",
11*da0073e9SAndroid Build Coastguard Worker        ],
12*da0073e9SAndroid Build Coastguard Worker        linkstatic = True,
13*da0073e9SAndroid Build Coastguard Worker        local_defines = ["C10_BUILD_MAIN_LIB"],
14*da0073e9SAndroid Build Coastguard Worker        visibility = ["//visibility:public"],
15*da0073e9SAndroid Build Coastguard Worker    )
16*da0073e9SAndroid Build Coastguard Worker
17*da0073e9SAndroid Build Coastguard Worker    rules.cmake_configure_file(
18*da0073e9SAndroid Build Coastguard Worker        name = "cmake_macros_h",
19*da0073e9SAndroid Build Coastguard Worker        src = "cmake_macros.h.in",
20*da0073e9SAndroid Build Coastguard Worker        out = "cmake_macros.h",
21*da0073e9SAndroid Build Coastguard Worker        definitions = [
22*da0073e9SAndroid Build Coastguard Worker            "C10_BUILD_SHARED_LIBS",
23*da0073e9SAndroid Build Coastguard Worker            "C10_USE_MSVC_STATIC_RUNTIME",
24*da0073e9SAndroid Build Coastguard Worker        ] + rules.select({
25*da0073e9SAndroid Build Coastguard Worker            "//c10:using_gflags": ["C10_USE_GFLAGS"],
26*da0073e9SAndroid Build Coastguard Worker            "//conditions:default": [],
27*da0073e9SAndroid Build Coastguard Worker        }) + rules.select({
28*da0073e9SAndroid Build Coastguard Worker            "//c10:using_glog": ["C10_USE_GLOG"],
29*da0073e9SAndroid Build Coastguard Worker            "//conditions:default": [],
30*da0073e9SAndroid Build Coastguard Worker        }),
31*da0073e9SAndroid Build Coastguard Worker    )
32*da0073e9SAndroid Build Coastguard Worker
33*da0073e9SAndroid Build Coastguard Worker    rules.filegroup(
34*da0073e9SAndroid Build Coastguard Worker        name = "headers",
35*da0073e9SAndroid Build Coastguard Worker        srcs = rules.glob(
36*da0073e9SAndroid Build Coastguard Worker            ["*.h"],
37*da0073e9SAndroid Build Coastguard Worker            exclude = [
38*da0073e9SAndroid Build Coastguard Worker            ],
39*da0073e9SAndroid Build Coastguard Worker        ),
40*da0073e9SAndroid Build Coastguard Worker        visibility = ["//:__pkg__"],
41*da0073e9SAndroid Build Coastguard Worker    )
42