chromium/build/linux/unbundle/absl_flags.gn

import("//build/config/linux/pkg_config.gni")
import("//build/shim_headers.gni")

pkg_config("absl_flags_config") {
  # This target is referenced by //third_party/abseil-cpp:absl_full_deps
  # and as such must be named like this and not like system_
  packages = [ "absl_flags_config" ]
}

pkg_config("system_absl_flags") {
  packages = [ "absl_flags" ]
}

pkg_config("system_absl_flags_parse") {
  packages = [ "absl_flags_parse" ]
}

pkg_config("system_absl_flags_reflection") {
  packages = [ "absl_flags_reflection" ]
}

pkg_config("system_absl_flags_usage") {
  packages = [ "absl_flags_usage" ]
}

shim_headers("flags_config_shim") {
  root_path = "."
  prefix = "absl/flags/"
  headers = [
    "config.h",
    "usage_config.h",
  ]
}

source_set("config") {
  deps = [ ":flags_config_shim" ]
  public_configs = [ ":absl_flags_config" ]
}

shim_headers("flag_shim") {
  root_path = "."
  prefix = "absl/flags/"
  headers = [
    "declare.h",
    "flag.h",
  ]
}

source_set("flag") {
  deps = [ ":flag_shim" ]
  public_configs = [ ":system_absl_flags" ]
}

shim_headers("parse_shim") {
  root_path = "."
  prefix = "absl/flags/"
  headers = [ "parse.h" ]
}

source_set("parse") {
  deps = [ ":parse_shim" ]
  public_configs = [ ":system_absl_flags_parse" ]
}

shim_headers("flags_reflection_shim") {
  root_path = "."
  prefix = "absl/flags/"
  headers = [
    "internal/registry.h",
    "reflection.h",
  ]
}

source_set("reflection") {
  deps = [ ":flags_reflection_shim" ]
  public_configs = [ ":system_absl_flags_reflection" ]
}

shim_headers("usage_shim") {
  root_path = "."
  prefix = "absl/flags/"
  headers = [ "usage.h" ]
}

source_set("usage") {
  deps = [ ":usage_shim" ]
  public_configs = [ ":system_absl_flags_usage" ]
}

source_set("flag_test") {
}