# Copyright 2026 Google LLC.
#
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import("../../gn/skia.gni")

if (skia_use_partition_alloc && defined(skia_partition_alloc_dir)) {
  import("${skia_partition_alloc_dir}/partition_alloc.gni")
}

source_set("raw_ptr") {
  public = [
    "raw_ptr.h",
    "raw_ptr_exclusion.h",
    "raw_ref.h",
    "safety_checks.h",
  ]
  if (skia_use_partition_alloc && defined(skia_partition_alloc_dir)) {
    public_deps = [ "${skia_partition_alloc_dir}:raw_ptr" ]
  } else {
    sources = [
      "noop/raw_ptr.h",
      "noop/raw_ptr_exclusion.h",
      "noop/raw_ref.h",
    ]
  }
}
