llvm/llvm/utils/gn/secondary/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/BUILD.gn

static_library("AppleObjCRuntime") {
  output_name = "lldbPluginAppleObjCRuntime"
  configs += [
    "//llvm/utils/gn/build:clang_code",
    "//llvm/utils/gn/build:lldb_code",
  ]
  deps = [
    "//clang/lib/AST",
    "//lldb/source/Breakpoint",
    "//lldb/source/Core",
    "//lldb/source/Expression",
    "//lldb/source/Host",
    "//lldb/source/Interpreter",
    "//lldb/source/Plugins/ExpressionParser/Clang",
    "//lldb/source/Plugins/LanguageRuntime/CPlusPlus",
    "//lldb/source/Symbol",
    "//lldb/source/Target",
    "//lldb/source/Utility",

    #"//lldb/source/Plugins/TypeSystem/Clang", # 4-hop dependency cycle.
    "//llvm/lib/Support",
  ]

  # Reaches into Plugins/ExpressionParser/Clang.
  include_dirs = [ "//lldb/source" ]
  sources = [
    "AppleObjCClassDescriptorV2.cpp",
    "AppleObjCDeclVendor.cpp",
    "AppleObjCRuntime.cpp",
    "AppleObjCRuntimeV1.cpp",
    "AppleObjCRuntimeV2.cpp",
    "AppleObjCTrampolineHandler.cpp",
    "AppleObjCTypeEncodingParser.cpp",
    "AppleThreadPlanStepThroughObjCTrampoline.cpp",
  ]
}