chromium/build/linux/unbundle/absl_base.gn

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

pkg_config("system_absl_base") {
  packages = [ "absl_base" ]
}

pkg_config("system_absl_config") {
  packages = [ "absl_config" ]
}

pkg_config("system_absl_core_headers") {
  packages = [ "absl_core_headers" ]
}

pkg_config("system_absl_nullability") {
  packages = [ "absl_nullability" ]
}

pkg_config("system_absl_prefetch") {
  packages = [ "absl_prefetch" ]
}

shim_headers("base_shim") {
  root_path = "."
  prefix = "absl/base/"
  headers = [
    "call_once.h",
    "casts.h",
    "dynamic_annotations.h",
  ]
}

source_set("base") {
  deps = [ ":base_shim" ]
  public_configs = [ ":system_absl_base" ]
}

shim_headers("config_shim") {
  root_path = "."
  prefix = "absl/base/"
  headers = [
    "config.h",
    "options.h",
    "policy_checks.h",
  ]
}

source_set("config") {
  deps = [ ":config_shim" ]
  public_configs = [ ":system_absl_config" ]
}

shim_headers("core_headers_shim") {
  root_path = "."
  prefix = "absl/base/"
  headers = [
    "attributes.h",
    "const_init.h",
    "macros.h",
    "optimization.h",
    "port.h",
    "thread_annotations.h",
  ]
}

source_set("core_headers") {
  deps = [ ":core_headers_shim" ]
  public_configs = [ ":system_absl_core_headers" ]
}

shim_headers("nullability_shim") {
  root_path = "."
  prefix = "absl/base/"
  headers = [ "nullability.h" ]
}

source_set("nullability") {
  deps = [ ":nullability_shim" ]
  public_configs = [ ":system_absl_nullability" ]
}

shim_headers("prefetch_shim") {
  root_path = "."
  prefix = "absl/base/"
  headers = [ "prefetch.h" ]
}

source_set("prefetch") {
  deps = [ ":prefetch_shim" ]
  public_configs = [ ":system_absl_prefetch" ]
}

source_set("no_destructor") {
  # Dummy — unavailable with abseil 202308 and chromium 122 does not use it
}

source_set("config_test") {
}
source_set("no_destructor_test") {
}
source_set("nullability_test") {
}
source_set("prefetch_test") {
}