1load("//tools/build_defs:glob_defs.bzl", "subdir_glob") 2 3# kineto code should be updated to not have to 4# suppress these warnings. 5KINETO_COMPILER_FLAGS = [ 6 "-fexceptions", 7 "-Wno-deprecated-declarations", 8 "-Wno-unused-function", 9 "-Wno-unused-private-field", 10] 11 12def define_kineto(): 13 cxx_library( 14 name = "libkineto", 15 srcs = [ 16 "kineto/libkineto/src/ActivityProfilerController.cpp", 17 "kineto/libkineto/src/ActivityProfilerProxy.cpp", 18 "kineto/libkineto/src/CuptiActivityApi.cpp", 19 "kineto/libkineto/src/CuptiActivityProfiler.cpp", 20 "kineto/libkineto/src/CuptiRangeProfilerApi.cpp", 21 "kineto/libkineto/src/Demangle.cpp", 22 "kineto/libkineto/src/init.cpp", 23 "kineto/libkineto/src/output_csv.cpp", 24 "kineto/libkineto/src/output_json.cpp", 25 ], 26 headers = subdir_glob( 27 [ 28 ("kineto/libkineto/include", "*.h"), 29 ("kineto/libkineto/src", "*.h"), 30 ], 31 ), 32 compiler_flags = KINETO_COMPILER_FLAGS, 33 # @lint-ignore BUCKLINT 34 link_whole = True, 35 visibility = ["PUBLIC"], 36 exported_deps = [ 37 ":base_logger", 38 ":libkineto_api", 39 ":thread_util", 40 ":fmt", 41 ], 42 ) 43 44 cxx_library( 45 name = "libkineto_api", 46 srcs = [ 47 "kineto/libkineto/src/libkineto_api.cpp", 48 ], 49 headers = subdir_glob( 50 [ 51 ("kineto/libkineto/include", "*.h"), 52 ("kineto/libkineto/src", "*.h"), 53 ], 54 ), 55 compiler_flags = KINETO_COMPILER_FLAGS, 56 # @lint-ignore BUCKLINT 57 link_whole = True, 58 visibility = ["PUBLIC"], 59 exported_deps = [ 60 ":base_logger", 61 ":config_loader", 62 ":thread_util", 63 ":fmt", 64 ], 65 ) 66 67 cxx_library( 68 name = "config_loader", 69 srcs = [ 70 "kineto/libkineto/src/ConfigLoader.cpp", 71 ], 72 headers = subdir_glob( 73 [ 74 ("kineto/libkineto/include", "ActivityType.h"), 75 ("kineto/libkineto/src", "*.h"), 76 ], 77 ), 78 compiler_flags = KINETO_COMPILER_FLAGS, 79 exported_deps = [ 80 ":config", 81 ":thread_util", 82 ], 83 ) 84 85 cxx_library( 86 name = "config", 87 srcs = [ 88 "kineto/libkineto/src/AbstractConfig.cpp", 89 "kineto/libkineto/src/ActivityType.cpp", 90 "kineto/libkineto/src/Config.cpp", 91 ], 92 compiler_flags = KINETO_COMPILER_FLAGS, 93 public_include_directories = [ 94 "kineto/libkineto/include", 95 "kineto/libkineto/src", 96 ], 97 raw_headers = glob([ 98 "kineto/libkineto/include/*.h", 99 "kineto/libkineto/src/*.h", 100 ]), 101 exported_deps = [ 102 ":logger", 103 ":thread_util", 104 ":fmt", 105 ], 106 ) 107 108 cxx_library( 109 name = "logger", 110 srcs = [ 111 "kineto/libkineto/src/ILoggerObserver.cpp", 112 "kineto/libkineto/src/Logger.cpp", 113 ], 114 compiler_flags = KINETO_COMPILER_FLAGS, 115 public_include_directories = [ 116 "kineto/libkineto/include", 117 "kineto/libkineto/src", 118 ], 119 raw_headers = [ 120 "kineto/libkineto/include/ILoggerObserver.h", 121 "kineto/libkineto/include/ThreadUtil.h", 122 "kineto/libkineto/src/Logger.h", 123 "kineto/libkineto/src/LoggerCollector.h", 124 ], 125 exported_deps = [ 126 ":thread_util", 127 ":fmt", 128 ], 129 ) 130 131 cxx_library( 132 name = "base_logger", 133 srcs = [ 134 "kineto/libkineto/src/GenericTraceActivity.cpp", 135 ], 136 public_include_directories = [ 137 "kineto/libkineto/include", 138 "kineto/libkineto/src", 139 ], 140 raw_headers = glob([ 141 "kineto/libkineto/include/*.h", 142 "kineto/libkineto/src/*.h", 143 "kineto/libkineto/src/*.tpp", 144 ]), 145 exported_deps = [ 146 ":thread_util", 147 ], 148 ) 149 150 cxx_library( 151 name = "thread_util", 152 srcs = [ 153 "kineto/libkineto/src/ThreadUtil.cpp", 154 ], 155 compiler_flags = KINETO_COMPILER_FLAGS, 156 exported_preprocessor_flags = [ 157 "-DKINETO_NAMESPACE=libkineto", 158 ], 159 public_include_directories = [ 160 "kineto/libkineto/include", 161 ], 162 raw_headers = [ 163 "kineto/libkineto/include/ThreadUtil.h", 164 ], 165 exported_deps = [ 166 ":fmt", 167 ], 168 ) 169 170 cxx_library( 171 name = "libkineto_headers", 172 exported_headers = native.glob([ 173 "kineto/libkineto/include/*.h", 174 ]), 175 public_include_directories = [ 176 "kineto/libkineto/include", 177 ], 178 visibility = ["PUBLIC"], 179 ) 180