skia2/BUILD.public
msarett 5cb4885b4c Rename SkBitmapRegionDecoder and Create function
We no longer need to worry about namespace
conflicts SkBitmapRegionDecoder in Android (which
we are replacing).

Additionally, the static Create() function does not
need to repeat the name BitmapRegionDecoder.

BUG=skia:

Review URL: https://codereview.chromium.org/1415243007
2015-11-06 08:56:32 -08:00

456 lines
12 KiB
Plaintext

# Description:
# Skia graphics library.
#
# Definitions for Google BUILD file.
exports_files(["BUILD.public"])
# Platform-independent SRCS
SRCS = glob(
[
"include/private/*.h",
"src/**/*.h",
"src/**/*.cpp",
# Third Party
"third_party/etc1/*.cpp",
"third_party/etc1/*.h",
"third_party/ktx/*.cpp",
"third_party/ktx/*.h",
],
exclude = [
# Exclude platform-dependent files.
"src/device/xps/*", # Windows-only. Move to ports?
"src/doc/*_XPS.cpp", # Windows-only. Move to ports?
"src/gpu/gl/android/*",
"src/gpu/gl/egl/*",
"src/gpu/gl/glx/*",
"src/gpu/gl/nacl/*",
"src/gpu/gl/iOS/*",
"src/gpu/gl/mac/*",
"src/gpu/gl/win/*",
"src/opts/**/*",
"src/ports/**/*",
"src/utils/android/**/*",
"src/utils/mac/**/*",
"src/utils/SkThreadUtils_win.cpp", # Windows-only. Move to ports?
"src/utils/win/**/*",
"src/views/sdl/*",
"src/views/win/*",
"src/views/unix/*",
# Exclude multiple definitions.
# TODO(mtklein): Move to opts?
"src/doc/SkDocument_PDF_None.cpp", # We use SkDocument_PDF.cpp.
"src/fonts/*fontconfig*",
"src/gpu/gl/GrGLCreateNativeInterface_none.cpp",
"src/gpu/gl/GrGLDefaultInterface_native.cpp",
"src/gpu/gl/GrGLDefaultInterface_none.cpp",
# Exclude files that don't compile with the current DEFINES.
"src/codec/SkJpegCodec.cpp", # libjpeg_turbo version mismatch.
"src/gpu/gl/angle/*", # Requires SK_ANGLE define.
"src/gpu/gl/command_buffer/*", # unknown type name 'HMODULE'
"src/gpu/gl/mesa/*", # Requires SK_MESA define.
"src/svg/parser/*", # Missing SkSVG.h.
# Not used.
"src/animator/**/*",
"src/views/**/*",
"src/xml/SkBML_Verbs.h",
"src/xml/SkBML_XMLParser.cpp",
"src/xml/SkXMLPullParser.cpp",
],
)
# Platform-dependent SRCS for google3-default platform.
SRCS_UNIX = glob(
[
"src/gpu/gl/GrGLDefaultInterface_native.cpp",
"src/gpu/gl/glx/**/*.cpp",
"src/gpu/gl/glx/**/*.h",
"src/opts/**/*.cpp",
"src/opts/**/*.h",
"src/ports/**/*.cpp",
"src/ports/**/*.h",
],
exclude = [
"src/opts/*arm*",
"src/opts/*mips*",
"src/opts/*NEON*",
"src/opts/*neon*",
# Included in :opts_ssse3 library.
"src/opts/*SSSE3*",
"src/opts/*ssse3*",
# Included in :opts_sse4 library.
"src/opts/*SSE4*",
"src/opts/*sse4*",
"src/opts/SkBitmapProcState_opts_none.cpp",
"src/opts/SkBlitMask_opts_none.cpp",
"src/opts/SkBlitRow_opts_none.cpp",
"src/ports/*android*",
"src/ports/*chromium*",
"src/ports/*fontconfig*",
"src/ports/*FontConfig*",
"src/ports/*mac*",
"src/ports/*mozalloc*",
"src/ports/*nacl*",
"src/ports/*win*",
"src/ports/SkFontMgr_custom_embedded_factory.cpp",
"src/ports/SkFontMgr_empty_factory.cpp",
"src/ports/SkImageDecoder_CG.cpp",
"src/ports/SkImageDecoder_WIC.cpp",
"src/ports/SkImageDecoder_empty.cpp",
"src/ports/SkImageGenerator_none.cpp",
"src/ports/SkTLS_none.cpp",
],
)
# Platform-dependent SRCS for google3-default Android.
SRCS_ANDROID = glob(
[
# TODO(benjaminwagner): Figure out how to compile with EGL.
"src/gpu/gl/GrGLDefaultInterface_none.cpp",
"src/gpu/gl/nacl/SkCreatePlatformGLContext_nacl.cpp",
"src/opts/**/*.cpp",
"src/opts/**/*.h",
"src/ports/**/*.cpp",
"src/ports/**/*.h",
],
exclude = [
"src/opts/*mips*",
"src/opts/*SSE2*",
"src/opts/*SSSE3*",
"src/opts/*ssse3*",
"src/opts/*SSE4*",
"src/opts/*sse4*",
"src/opts/*x86*",
"src/opts/SkBitmapProcState_opts_none.cpp",
"src/opts/SkBlitMask_opts_none.cpp",
"src/opts/SkBlitRow_opts_none.cpp",
"src/ports/*chromium*",
"src/ports/*fontconfig*",
"src/ports/*FontConfig*",
"src/ports/*mac*",
"src/ports/*mozalloc*",
"src/ports/*nacl*",
"src/ports/*win*",
"src/ports/SkDebug_stdio.cpp",
"src/ports/SkFontMgr_custom_directory_factory.cpp",
"src/ports/SkFontMgr_custom_embedded_factory.cpp",
"src/ports/SkFontMgr_empty_factory.cpp",
"src/ports/SkImageDecoder_CG.cpp",
"src/ports/SkImageDecoder_WIC.cpp",
"src/ports/SkImageDecoder_empty.cpp",
"src/ports/SkImageGenerator_none.cpp",
"src/ports/SkTLS_none.cpp",
],
)
# Platform-dependent SRCS for google3-default iOS.
SRCS_IOS = glob(
[
"src/gpu/gl/iOS/GrGLCreateNativeInterface_iOS.cpp",
"src/opts/**/*.cpp",
"src/opts/**/*.h",
"src/ports/**/*.cpp",
"src/ports/**/*.h",
],
exclude = [
"src/opts/*mips*",
"src/opts/*NEON*",
"src/opts/*neon*",
"src/opts/*SSE2*",
"src/opts/*SSSE3*",
"src/opts/*ssse3*",
"src/opts/*SSE4*",
"src/opts/*sse4*",
"src/opts/*x86*",
"src/opts/SkBitmapProcState_opts_none.cpp",
"src/opts/SkBlitMask_opts_none.cpp",
"src/opts/SkBlitRow_opts_none.cpp",
"src/ports/*android*",
"src/ports/*chromium*",
"src/ports/*fontconfig*",
"src/ports/*FontConfig*",
"src/ports/*FreeType*",
"src/ports/*mozalloc*",
"src/ports/*nacl*",
"src/ports/*win*",
"src/ports/SkDebug_stdio.cpp",
"src/ports/SkFontMgr_custom.cpp",
"src/ports/SkFontMgr_custom_directory_factory.cpp",
"src/ports/SkFontMgr_custom_embedded_factory.cpp",
"src/ports/SkFontMgr_empty_factory.cpp",
"src/ports/SkImageDecoder_CG.cpp",
"src/ports/SkImageDecoder_WIC.cpp",
"src/ports/SkImageDecoder_empty.cpp",
"src/ports/SkImageGenerator_none.cpp",
"src/ports/SkTLS_none.cpp",
],
)
PLATFORM_SRCS = select({
CONDITION_ANDROID: SRCS_ANDROID,
CONDITION_IOS: SRCS_IOS,
"//conditions:default": SRCS_UNIX,
})
SRCS_SSSE3 = glob(
[
"src/opts/*SSSE3*.cpp",
"src/opts/*ssse3*.cpp",
],
)
SRCS_SSE4 = glob(
[
"src/opts/*SSE4*.cpp",
"src/opts/*sse4*.cpp",
],
)
HDRS = glob(
[
"include/**/*.h",
],
exclude = [
"include/private/**/*",
# Not used.
"include/animator/**/*",
"include/views/**/*",
"include/xml/SkBML_WXMLParser.h",
"include/xml/SkBML_XMLParser.h",
],
)
# Includes needed by Skia implementation. Not public includes.
INCLUDES = [
"include/c",
"include/codec",
"include/config",
"include/core",
"include/effects",
"include/gpu",
"include/images",
"include/pathops",
"include/pipe",
"include/ports",
"include/private",
"include/utils",
"include/utils/mac",
"include/utils/win",
"include/svg",
"include/xml",
"src/core",
"src/gpu",
"src/image",
"src/lazy",
"src/opts",
"src/pdf",
"src/sfnt",
"src/utils",
"third_party/etc1",
"third_party/ktx",
]
# Dependencies.
DEPS_UNIX = [
":opts_sse4",
":opts_ssse3",
]
DEPS_ANDROID = []
DEPS_IOS = []
DEPS = select({
CONDITION_ANDROID: DEPS_ANDROID + EXTERNAL_DEPS_ANDROID,
CONDITION_IOS: DEPS_IOS + EXTERNAL_DEPS_IOS,
"//conditions:default": DEPS_UNIX + EXTERNAL_DEPS_UNIX,
}) + EXTERNAL_DEPS_ALL
# Platform-independent SRCS for DM.
DM_SRCS = glob(
[
"dm/*.cpp",
"dm/*.h",
"gm/*.c",
"gm/*.cpp",
"gm/*.h",
"tests/*.cpp",
"tests/*.h",
"tools/CrashHandler.cpp",
"tools/CrashHandler.h",
"tools/LazyDecodeBitmap.cpp",
"tools/LazyDecodeBitmap.h",
"tools/ProcStats.cpp",
"tools/ProcStats.h",
"tools/Resources.cpp",
"tools/Resources.h",
"tools/SkBitmapRegionCanvas.cpp",
"tools/SkBitmapRegionCanvas.h",
"tools/SkBitmapRegionCodec.cpp",
"tools/SkBitmapRegionCodec.h",
"tools/SkBitmapRegionDecoder.cpp",
"tools/SkBitmapRegionDecoder.h",
"tools/SkBitmapRegionSampler.cpp",
"tools/SkBitmapRegionSampler.h",
"tools/flags/*.cpp",
"tools/flags/*.h",
"tools/sk_tool_utils.cpp",
"tools/sk_tool_utils.h",
"tools/sk_tool_utils_font.cpp",
"tools/timer/*.cpp",
"tools/timer/*.h",
],
exclude = [
"dm/DMSrcSinkAndroid.cpp", # Android-only.
"tests/FontMgrAndroidParserTest.cpp", # Android-only.
"tests/PathOpsSkpClipTest.cpp", # Alternate main.
"tests/skia_test.cpp", # Old main.
"tests/SkpSkGrTest.cpp", # Alternate main.
"tools/timer/SysTimer_mach.cpp",
"tools/timer/SysTimer_windows.cpp",
],
)
DM_SRCS_UNIX = []
DM_SRCS_ANDROID = glob(
[
# Depends on Android HWUI library that is not available in google3.
#"dm/DMSrcSinkAndroid.cpp",
"tests/FontMgrAndroidParserTest.cpp",
],
)
DM_PLATFORM_SRCS = select({
CONDITION_ANDROID: DM_SRCS_ANDROID,
"//conditions:default": DM_SRCS_UNIX,
})
DM_INCLUDES = [
"gm",
"src/codec",
"src/effects",
"src/fonts",
"src/pathops",
"src/pipe/utils",
"src/ports",
"src/utils/debugger",
"tests",
"tools",
"tools/flags",
"tools/timer",
]
COPTS_ANDROID = [
"-mfpu=neon",
]
COPTS_IOS = [
]
COPTS_UNIX = [
"-Wno-implicit-fallthrough", # Some intentional fallthrough.
"-Wno-deprecated-declarations", # Internal use of deprecated methods. :(
]
COPTS = select({
CONDITION_ANDROID: COPTS_ANDROID,
CONDITION_IOS: COPTS_IOS,
"//conditions:default": COPTS_UNIX,
})
DEFINES_ANDROID = [
"SK_BUILD_FOR_ANDROID",
# TODO(benjaminwagner): Try to get png library updated?
"SK_PNG_NO_INDEX_SUPPORTED",
]
DEFINES_IOS = [
"SK_BUILD_FOR_IOS",
"SK_IGNORE_ETC1_SUPPORT",
]
DEFINES_UNIX = [
"SK_BUILD_FOR_UNIX",
"SK_SAMPLES_FOR_X",
]
DEFINES_ALL = [
# Chrome DEFINES.
"SK_USE_FLOATBITS",
"SK_USE_FREETYPE_EMBOLDEN",
# Turn on a few Google3-specific build fixes.
"GOOGLE3",
]
DEFINES = select({
CONDITION_ANDROID: DEFINES_ANDROID,
CONDITION_IOS: DEFINES_IOS,
"//conditions:default": DEFINES_UNIX,
}) + DEFINES_ALL
LINKOPTS = select({
CONDITION_ANDROID: [
"-ldl",
"-lEGL",
],
"//conditions:default": ["-ldl"],
})
cc_library(
name = "opts_ssse3",
srcs = SRCS_SSSE3,
copts = COPTS + ["-mssse3"],
defines = DEFINES,
includes = INCLUDES,
deps = EXTERNAL_DEPS_ALL,
)
cc_library(
name = "opts_sse4",
srcs = SRCS_SSE4,
copts = COPTS + ["-msse4"],
defines = DEFINES,
includes = INCLUDES,
deps = EXTERNAL_DEPS_ALL,
)
cc_library(
name = "skia",
srcs = SRCS + PLATFORM_SRCS,
hdrs = HDRS,
copts = COPTS,
defines = DEFINES,
includes = INCLUDES,
linkopts = LINKOPTS,
visibility = [":skia_clients"],
deps = DEPS,
alwayslink = 1,
)
cc_test(
name = "dm",
size = "large",
srcs = DM_SRCS + DM_PLATFORM_SRCS,
args = [
"--nogpu",
"--verbose",
# TODO(mtklein): maybe investigate why these fail?
"--match ~FontMgr ~Scalar ~Canvas ~Codec_stripes ~Codec_Dimensions ~Codec ~Stream ~skps ~Math ~RecordDraw_TextBounds",
"--resourcePath %s/resources" % BASE_DIR,
"--images %s/resources" % BASE_DIR,
],
copts = COPTS,
data = glob(["resources/**/*"]),
defines = DEFINES,
includes = DM_INCLUDES,
deps = DM_EXTERNAL_DEPS + [
":skia",
] + EXTERNAL_DEPS_ALL,
)