load("//tools/build_defs:glob_defs.bzl", "subdir_glob") # kineto code should be updated to not have to # suppress these warnings. KINETO_COMPILER_FLAGS = [ "-fexceptions", "-Wno-deprecated-declarations", "-Wno-unused-function", "-Wno-unused-private-field", ] def define_kineto(): cxx_library( name = "libkineto", srcs = [ "kineto/libkineto/src/ActivityProfilerController.cpp", "kineto/libkineto/src/ActivityProfilerProxy.cpp", "kineto/libkineto/src/CuptiActivityApi.cpp", "kineto/libkineto/src/CuptiActivityProfiler.cpp", "kineto/libkineto/src/CuptiRangeProfilerApi.cpp", "kineto/libkineto/src/Demangle.cpp", "kineto/libkineto/src/init.cpp", "kineto/libkineto/src/output_csv.cpp", "kineto/libkineto/src/output_json.cpp", ], headers = subdir_glob( [ ("kineto/libkineto/include", "*.h"), ("kineto/libkineto/src", "*.h"), ], ), compiler_flags = KINETO_COMPILER_FLAGS, # @lint-ignore BUCKLINT link_whole = True, visibility = ["PUBLIC"], exported_deps = [ ":base_logger", ":libkineto_api", ":thread_util", ":fmt", ], ) cxx_library( name = "libkineto_api", srcs = [ "kineto/libkineto/src/libkineto_api.cpp", ], headers = subdir_glob( [ ("kineto/libkineto/include", "*.h"), ("kineto/libkineto/src", "*.h"), ], ), compiler_flags = KINETO_COMPILER_FLAGS, # @lint-ignore BUCKLINT link_whole = True, visibility = ["PUBLIC"], exported_deps = [ ":base_logger", ":config_loader", ":thread_util", ":fmt", ], ) cxx_library( name = "config_loader", srcs = [ "kineto/libkineto/src/ConfigLoader.cpp", ], headers = subdir_glob( [ ("kineto/libkineto/include", "ActivityType.h"), ("kineto/libkineto/src", "*.h"), ], ), compiler_flags = KINETO_COMPILER_FLAGS, exported_deps = [ ":config", ":thread_util", ], ) cxx_library( name = "config", srcs = [ "kineto/libkineto/src/AbstractConfig.cpp", "kineto/libkineto/src/ActivityType.cpp", "kineto/libkineto/src/Config.cpp", ], compiler_flags = KINETO_COMPILER_FLAGS, public_include_directories = [ "kineto/libkineto/include", "kineto/libkineto/src", ], # @lint-ignore BUCKRESTRICTEDSYNTAX raw_headers = glob([ "kineto/libkineto/include/*.h", "kineto/libkineto/src/*.h", ]), exported_deps = [ ":logger", ":thread_util", ":fmt", ], ) cxx_library( name = "logger", srcs = [ "kineto/libkineto/src/ILoggerObserver.cpp", "kineto/libkineto/src/Logger.cpp", ], compiler_flags = KINETO_COMPILER_FLAGS, public_include_directories = [ "kineto/libkineto/include", "kineto/libkineto/src", ], raw_headers = [ "kineto/libkineto/include/ILoggerObserver.h", "kineto/libkineto/include/ThreadUtil.h", "kineto/libkineto/src/Logger.h", "kineto/libkineto/src/LoggerCollector.h", ], exported_deps = [ ":thread_util", ":fmt", ], ) cxx_library( name = "base_logger", srcs = [ "kineto/libkineto/src/GenericTraceActivity.cpp", ], public_include_directories = [ "kineto/libkineto/include", "kineto/libkineto/src", ], # @lint-ignore BUCKRESTRICTEDSYNTAX raw_headers = glob([ "kineto/libkineto/include/*.h", "kineto/libkineto/src/*.h", "kineto/libkineto/src/*.tpp", ]), exported_deps = [ ":thread_util", ], ) cxx_library( name = "thread_util", srcs = [ "kineto/libkineto/src/ThreadUtil.cpp", ], compiler_flags = KINETO_COMPILER_FLAGS, exported_preprocessor_flags = [ "-DKINETO_NAMESPACE=libkineto", ], public_include_directories = [ "kineto/libkineto/include", ], raw_headers = [ "kineto/libkineto/include/ThreadUtil.h", ], exported_deps = [ ":fmt", ], ) cxx_library( name = "libkineto_headers", exported_headers = native.glob([ "kineto/libkineto/include/*.h", ]), public_include_directories = [ "kineto/libkineto/include", ], visibility = ["PUBLIC"], )