mirror of
https://github.com/pytorch/pytorch.git
synced 2025-10-20 21:14:14 +08:00
port //c10/macros to common build structure (#70852)
Summary: Pull Request resolved: https://github.com/pytorch/pytorch/pull/70852 This is the first change that uses a common build file, build.bzl, to hold most of the build logic. ghstack-source-id: 147170895 Test Plan: Relying on internal and external CI. Reviewed By: malfet Differential Revision: D33299331 fbshipit-source-id: a66afffba6deec76b758dfb39bdf61d747b5bd99 (cherry picked from commit d9163c56f55cfc97c20f5a6d505474d5b8839201)
This commit is contained in:
committed by
PyTorch MergeBot
parent
661d10aab4
commit
78e1f9db34
@ -1,33 +1,4 @@
|
||||
load("@rules_cc//cc:defs.bzl", "cc_library")
|
||||
load(":cmake_configure_file.bzl", "cmake_configure_file")
|
||||
load("//:tools/bazel.bzl", "rules")
|
||||
load(":build.bzl", "define_targets")
|
||||
|
||||
cc_library(
|
||||
name = "macros",
|
||||
srcs = [":cmake_macros_h"],
|
||||
hdrs = [
|
||||
"Macros.h",
|
||||
# Despite the documentation in Macros.h, Export.h is included
|
||||
# directly by many downstream files. Thus, we declare it as a
|
||||
# public header in this file.
|
||||
"Export.h",
|
||||
],
|
||||
linkstatic = True,
|
||||
local_defines = ["C10_BUILD_MAIN_LIB"],
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
||||
|
||||
cmake_configure_file(
|
||||
name = "cmake_macros_h",
|
||||
src = "cmake_macros.h.in",
|
||||
out = "cmake_macros.h",
|
||||
definitions = [
|
||||
"C10_BUILD_SHARED_LIBS",
|
||||
"C10_USE_MSVC_STATIC_RUNTIME",
|
||||
] + select({
|
||||
"//c10:using_gflags": ["C10_USE_GFLAGS"],
|
||||
"//conditions:default": [],
|
||||
}) + select({
|
||||
"//c10:using_glog": ["C10_USE_GLOG"],
|
||||
"//conditions:default": [],
|
||||
}),
|
||||
)
|
||||
define_targets(rules = rules)
|
||||
|
31
c10/macros/build.bzl
Normal file
31
c10/macros/build.bzl
Normal file
@ -0,0 +1,31 @@
|
||||
def define_targets(rules):
|
||||
rules.cc_library(
|
||||
name = "macros",
|
||||
srcs = [":cmake_macros_h"],
|
||||
hdrs = [
|
||||
"Macros.h",
|
||||
# Despite the documentation in Macros.h, Export.h is included
|
||||
# directly by many downstream files. Thus, we declare it as a
|
||||
# public header in this file.
|
||||
"Export.h",
|
||||
],
|
||||
linkstatic = True,
|
||||
local_defines = ["C10_BUILD_MAIN_LIB"],
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
||||
|
||||
rules.cmake_configure_file(
|
||||
name = "cmake_macros_h",
|
||||
src = "cmake_macros.h.in",
|
||||
out = "cmake_macros.h",
|
||||
definitions = [
|
||||
"C10_BUILD_SHARED_LIBS",
|
||||
"C10_USE_MSVC_STATIC_RUNTIME",
|
||||
] + rules.select({
|
||||
"//c10:using_gflags": ["C10_USE_GFLAGS"],
|
||||
"//conditions:default": [],
|
||||
}) + rules.select({
|
||||
"//c10:using_glog": ["C10_USE_GLOG"],
|
||||
"//conditions:default": [],
|
||||
}),
|
||||
)
|
11
tools/bazel.bzl
Normal file
11
tools/bazel.bzl
Normal file
@ -0,0 +1,11 @@
|
||||
load("@rules_cc//cc:defs.bzl", "cc_library")
|
||||
load("//c10/macros:cmake_configure_file.bzl", "cmake_configure_file")
|
||||
|
||||
# Rules implementation for the Bazel build system. Since the common
|
||||
# build structure aims to replicate Bazel as much as possible, most of
|
||||
# the rules simply forward to the Bazel definitions.
|
||||
rules = struct(
|
||||
cc_library = cc_library,
|
||||
cmake_configure_file = cmake_configure_file,
|
||||
select = select,
|
||||
)
|
Reference in New Issue
Block a user