1*da0073e9SAndroid Build Coastguard Workerdef define_targets(rules, extra_defines=[]): 2*da0073e9SAndroid Build Coastguard Worker rules.cc_library( 3*da0073e9SAndroid Build Coastguard Worker name = "cuda", 4*da0073e9SAndroid Build Coastguard Worker srcs = rules.glob( 5*da0073e9SAndroid Build Coastguard Worker [ 6*da0073e9SAndroid Build Coastguard Worker "*.cpp", 7*da0073e9SAndroid Build Coastguard Worker "impl/*.cpp", 8*da0073e9SAndroid Build Coastguard Worker ], 9*da0073e9SAndroid Build Coastguard Worker exclude = [ 10*da0073e9SAndroid Build Coastguard Worker "test/**/*.cpp", 11*da0073e9SAndroid Build Coastguard Worker ], 12*da0073e9SAndroid Build Coastguard Worker ), 13*da0073e9SAndroid Build Coastguard Worker hdrs = rules.glob( 14*da0073e9SAndroid Build Coastguard Worker [ 15*da0073e9SAndroid Build Coastguard Worker "*.h", 16*da0073e9SAndroid Build Coastguard Worker "impl/*.h", 17*da0073e9SAndroid Build Coastguard Worker ], 18*da0073e9SAndroid Build Coastguard Worker exclude = [ 19*da0073e9SAndroid Build Coastguard Worker "CUDAMacros.h", 20*da0073e9SAndroid Build Coastguard Worker ], 21*da0073e9SAndroid Build Coastguard Worker ), 22*da0073e9SAndroid Build Coastguard Worker defines = ["USE_CUDA"] + extra_defines, 23*da0073e9SAndroid Build Coastguard Worker linkstatic = True, 24*da0073e9SAndroid Build Coastguard Worker local_defines = ["C10_BUILD_MAIN_LIB"], 25*da0073e9SAndroid Build Coastguard Worker target_compatible_with = rules.requires_cuda_enabled(), 26*da0073e9SAndroid Build Coastguard Worker visibility = ["//visibility:public"], 27*da0073e9SAndroid Build Coastguard Worker deps = [ 28*da0073e9SAndroid Build Coastguard Worker ":Macros", 29*da0073e9SAndroid Build Coastguard Worker "//c10/core:base", 30*da0073e9SAndroid Build Coastguard Worker "//c10/macros", 31*da0073e9SAndroid Build Coastguard Worker "//c10/util:base", 32*da0073e9SAndroid Build Coastguard Worker "@cuda", 33*da0073e9SAndroid Build Coastguard Worker ], 34*da0073e9SAndroid Build Coastguard Worker # This library uses registration. Don't let registered 35*da0073e9SAndroid Build Coastguard Worker # entities be removed. 36*da0073e9SAndroid Build Coastguard Worker alwayslink = True, 37*da0073e9SAndroid Build Coastguard Worker ) 38*da0073e9SAndroid Build Coastguard Worker 39*da0073e9SAndroid Build Coastguard Worker rules.cc_library( 40*da0073e9SAndroid Build Coastguard Worker name = "Macros", 41*da0073e9SAndroid Build Coastguard Worker srcs = [":cuda_cmake_macros"], 42*da0073e9SAndroid Build Coastguard Worker hdrs = ["CUDAMacros.h"], 43*da0073e9SAndroid Build Coastguard Worker linkstatic = True, 44*da0073e9SAndroid Build Coastguard Worker local_defines = ["C10_BUILD_MAIN_LIB"], 45*da0073e9SAndroid Build Coastguard Worker visibility = ["//visibility:public"], 46*da0073e9SAndroid Build Coastguard Worker ) 47*da0073e9SAndroid Build Coastguard Worker 48*da0073e9SAndroid Build Coastguard Worker rules.cmake_configure_file( 49*da0073e9SAndroid Build Coastguard Worker name = "cuda_cmake_macros", 50*da0073e9SAndroid Build Coastguard Worker src = "impl/cuda_cmake_macros.h.in", 51*da0073e9SAndroid Build Coastguard Worker out = "impl/cuda_cmake_macros.h", 52*da0073e9SAndroid Build Coastguard Worker definitions = [], 53*da0073e9SAndroid Build Coastguard Worker ) 54*da0073e9SAndroid Build Coastguard Worker 55*da0073e9SAndroid Build Coastguard Worker rules.filegroup( 56*da0073e9SAndroid Build Coastguard Worker name = "headers", 57*da0073e9SAndroid Build Coastguard Worker srcs = rules.glob( 58*da0073e9SAndroid Build Coastguard Worker [ 59*da0073e9SAndroid Build Coastguard Worker "*.h", 60*da0073e9SAndroid Build Coastguard Worker "impl/*.h", 61*da0073e9SAndroid Build Coastguard Worker ], 62*da0073e9SAndroid Build Coastguard Worker exclude = [ 63*da0073e9SAndroid Build Coastguard Worker ], 64*da0073e9SAndroid Build Coastguard Worker ), 65*da0073e9SAndroid Build Coastguard Worker visibility = ["//c10:__pkg__"], 66*da0073e9SAndroid Build Coastguard Worker ) 67