skia2/include/private/BUILD.bazel
Kevin Lubick ee62fad9a4 [bazel] Add "skia_internal" target that exposes private API for tests/tools.
Organization v3.5, if we are keeping track :)

This splits the "srcs" filegroup into "srcs" and "private_hdrs",
and renames "hdrs" to "public_hdrs".

To assist with the split, I created the macro split_srcs_and_hdrs.
Rather than keep two separate lists of header and source files,
I figured it would be easiest, at least for the common case,
to keep one list of files and then have a for loop split them
apart. I've tried to be consistent with having the list
of files be named with a _FILES suffix - maybe we can use this
as a marker to generate .gni files in the future?

Suggested review order:
 - //bazel/macros.bzl. Note this needs a corresponding
   G3 change (http://cl/452279799) as well. The exports_files_legacy
   change is the better approach to something I manually
   handled yesterday when fixing the G3 roll.
 - //BUILD.bazel to see the new target skia_internal and
   the previous skia_core renamed to skia_public.
 - //src/core/BUILD.bazel to see a typical usage of
   split_srcs_and_hdrs.
 - //include/... to see the change to public_hdrs and
   private_hdrs
 - //src/... to see many more usages of split_srcs_and_hdrs
 - //tools/... to see changes to skia_internal where
   appropriate.
 - Everything else. Note that //modules/... might also need
   to be built with skia_internal instead of skia_public,
   but we can fix that up later, if necessary.

Change-Id: Ie1cc969455d97b029b2d77faa222c4a9bad70671
Bug: skia:12541
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/545716
Reviewed-by: Ben Wagner <bungeman@google.com>
Reviewed-by: Leandro Lovisolo <lovisolo@google.com>
2022-06-02 11:23:50 +00:00

70 lines
1.7 KiB
Python

load("//bazel:macros.bzl", "exports_files_legacy")
licenses(["notice"])
exports_files_legacy(
label_list = ["SkBitmaskEnum.h"],
visibility = ["//tools/skui:__pkg__"],
)
filegroup(
name = "private_hdrs",
srcs = [
"SingleOwner.h",
"SkBitmaskEnum.h",
"SkChecksum.h",
"SkColorData.h",
"SkDeque.h",
"SkEncodedInfo.h",
"SkFixed.h",
"SkFloatBits.h",
"SkFloatingPoint.h",
"SkHalf.h",
"SkIDChangeListener.h",
"SkImageInfoPriv.h",
"SkMacros.h",
"SkMalloc.h",
"SkMutex.h",
"SkNoncopyable.h",
"SkOnce.h",
"SkOpts_spi.h",
"SkPathRef.h",
"SkSLDefines.h",
"SkSLIRNode.h",
"SkSLLayout.h",
"SkSLModifiers.h",
"SkSLProgramElement.h",
"SkSLProgramKind.h",
"SkSLSampleUsage.h",
"SkSLStatement.h",
"SkSLString.h",
"SkSLSymbol.h",
"SkSafe32.h",
"SkSafe_math.h",
"SkSemaphore.h",
"SkShadowFlags.h",
"SkSpinlock.h",
"SkStringView.h",
"SkTArray.h",
"SkTDArray.h",
"SkTFitsIn.h",
"SkTHash.h",
"SkTLogic.h",
"SkTPin.h",
"SkTemplates.h",
"SkThreadAnnotations.h",
"SkThreadID.h",
"SkTo.h",
"SkUniquePaintParamsID.h",
"SkVx.h",
"SkWeakRefCnt.h",
"//include/private/chromium:private_hdrs",
] + select({
"//bazel/common_config_settings:has_gpu_backend": [
"//include/private/gpu:private_hdrs",
],
"//conditions:default": [],
}),
visibility = ["//include:__pkg__"],
)