Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(14)

Unified Diff: BUILD.public

Issue 1414643002: Enable BUILD file compilation of skia and dm with --config=android_arm. (Closed) Base URL: https://skia.googlesource.com/skia@master
Patch Set: Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | tools/BUILD.public.expected » ('j') | tools/flags/SkCommandLineFlags.cpp » ('J')
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: BUILD.public
diff --git a/BUILD.public b/BUILD.public
index 832b3ad2edeed5a366fd90ab5f05ddadfd0a1c69..f72fbb1aecffa541aec5a040469437c70059bf26 100644
--- a/BUILD.public
+++ b/BUILD.public
@@ -11,7 +11,6 @@ SRCS = glob(
"include/private/*.h",
"src/**/*.h",
"src/**/*.cpp",
- "src/**/*.c",
# Third Party
"third_party/etc1/*.cpp",
@@ -23,14 +22,20 @@ SRCS = glob(
# Exclude platform-dependent files.
"src/device/xps/*", # Windows-only. Move to ports?
"src/doc/*_XPS.cpp", # Windows-only. Move to ports?
+ "src/doc/SkDocument_PDF.cpp", # Doesn't compile on Android.
mtklein 2015/10/20 17:48:55 This is surprising. SkDocument_PDF should work fi
dogben 2015/10/20 22:21:03 There is an issue with sfntly. It seems to compile
"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/pdf/**/*", # Doesn't compile on Android.
"src/ports/**/*",
"src/utils/android/**/*",
"src/utils/mac/**/*",
+ "src/utils/SkThreadUtils_pthread_linux.cpp", # Linux-only. Move to ports?
mtklein 2015/10/20 17:48:55 Most of this SkThreadUtils stuff is pointless. I'
dogben 2015/10/20 22:21:03 Removed, modulo win.
"src/utils/SkThreadUtils_pthread_mach.cpp", # Mac-only. Move to ports?
"src/utils/SkThreadUtils_pthread_other.cpp", # Non-Mac-non-Linux. Move to ports?
"src/utils/SkThreadUtils_win.cpp", # Windows-only. Move to ports?
@@ -42,11 +47,10 @@ SRCS = glob(
# Exclude multiple definitions.
# TODO(mtklein): Move to opts?
"src/doc/SkDocument_PDF_None.cpp", # We use SkDocument_PDF.cpp.
+ "src/gpu/gl/GrGLCreateNativeInterface_none.cpp",
mtklein 2015/10/20 17:48:55 Why resort g above f?
dogben 2015/10/20 22:21:03 Cuz I ain't no gud at them their alfabits.
+ "src/gpu/gl/GrGLDefaultInterface_native.cpp",
+ "src/gpu/gl/GrGLDefaultInterface_none.cpp",
"src/fonts/*fontconfig*",
- "src/gpu/gl/egl/*", # Conflicts with gpu/gl/glx.
- "src/gpu/gl/nacl/*", # Conflicts with gpu/gl/glx.
- "src/gpu/gl/GrGLDefaultInterface_none.cpp", # Conflicts with src/gpu/gl/GrGLDefaultInterface_native.cpp
- "src/gpu/gl/GrGLCreateNativeInterface_none.cpp", # Conflicts with src/gpu/gl/glx/GrGLCreateNativeInterface_glx.cpp
# Exclude files that don't compile with the current DEFINES.
"src/gpu/gl/angle/*", # Requires SK_ANGLE define.
@@ -67,24 +71,33 @@ SRCS = glob(
)
# Platform-dependent SRCS for google3-default platform.
-PLATFORM_SRCS = glob(
+SRCS_UNIX = glob(
[
+ "src/doc/SkDocument_PDF.cpp", # Doesn't compile on Android.
+ "src/gpu/gl/GrGLDefaultInterface_native.cpp",
+ "src/gpu/gl/glx/**/*.cpp",
+ "src/gpu/gl/glx/**/*.h",
"src/opts/**/*.cpp",
"src/opts/**/*.h",
+ "src/pdf/**/*.cpp", # Doesn't compile on Android.
+ "src/pdf/**/*.h", # Doesn't compile on Android.
"src/ports/**/*.cpp",
"src/ports/**/*.h",
+ "src/utils/SkThreadUtils_pthread_linux.cpp",
],
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/SkBlitMask_opts_none.cpp",
"src/opts/SkBitmapProcState_opts_none.cpp",
+ "src/opts/SkBlitMask_opts_none.cpp",
"src/opts/SkBlitRow_opts_none.cpp",
"src/ports/*android*",
"src/ports/*chromium*",
@@ -104,6 +117,59 @@ PLATFORM_SRCS = glob(
],
)
+# Platform-dependent SRCS for google3-default Android.
+SRCS_ANDROID = glob(
+ [
+ "src/doc/SkDocument_PDF_None.cpp",
+ # 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",
+ "src/utils/SkThreadUtils_pthread_other.cpp", # Non-Mac-non-Linux. Move to ports?
+ ],
+ exclude = [
+ # Included in :opts_arm library.
+ "src/opts/*arm*",
+ "src/opts/*mips*",
+ # Included in :opts_neon library.
+ "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/*chromium*",
+ "src/ports/*CG*",
+ "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_WIC.cpp",
+ "src/ports/SkImageDecoder_empty.cpp",
+ "src/ports/SkImageGenerator_none.cpp",
+ "src/ports/SkTLS_none.cpp",
+ ],
+)
+
+PLATFORM_SRCS = select({
+ CONDITION_ANDROID: SRCS_ANDROID,
+ "//conditions:default": SRCS_UNIX,
+})
+
SRCS_SSSE3 = glob(
[
"src/opts/*SSSE3*.cpp",
@@ -161,6 +227,22 @@ INCLUDES = [
"third_party/ktx",
]
+DEPS_UNIX = [
+ ":opts_sse4",
+ ":opts_ssse3",
+]
+
+DEPS_ANDROID = [
+ ":opts_arm",
+ ":opts_neon",
+]
+
+DEPS = select({
+ CONDITION_ANDROID: DEPS_ANDROID + EXTERNAL_DEPS_ANDROID,
+ "//conditions:default": DEPS_UNIX + EXTERNAL_DEPS_UNIX,
+})
+
+# Platform-independent SRCS for DM.
DM_SRCS = glob(
[
"dm/*.cpp",
@@ -193,16 +275,36 @@ DM_SRCS = glob(
"tools/sk_tool_utils.h",
],
exclude = [
+ "dm/DMSrcSinkAndroid.cpp", # Android-only.
+ "tests/FontMgrAndroidParserTest.cpp", # Android-only.
+ "tests/PathOpsSkpClipTest.cpp", # Alternate main.
+ "tests/PDF*", # Dependencies don't compile on Android.
"tests/skia_test.cpp", # Old main.
"tests/SkpSkGrTest.cpp", # Alternate main.
- "tests/PathOpsSkpClipTest.cpp", # Alternate main.
- "tests/FontMgrAndroidParserTest.cpp", # Android-only.
- "dm/DMSrcSinkAndroid.cpp", # Android-only.
- "tools/timer/SysTimer_windows.cpp",
"tools/timer/SysTimer_mach.cpp",
+ "tools/timer/SysTimer_windows.cpp",
],
)
+DM_SRCS_UNIX = glob(
+ [
+ "tests/PDF*.cpp",
+ ],
+)
+
+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",
@@ -210,6 +312,7 @@ DM_INCLUDES = [
"src/fonts",
"src/pathops",
"src/pipe/utils",
+ "src/ports",
"src/utils/debugger",
"tests",
"tools",
@@ -217,11 +320,31 @@ DM_INCLUDES = [
"tools/timer",
]
-COPTS = [
+COPTS_ANDROID = [
+]
+
+COPTS_UNIX = [
"-Wno-implicit-fallthrough", # Some intentional fallthrough.
]
-DEFINES = [
+COPTS = select({
+ CONDITION_ANDROID: COPTS_ANDROID,
+ "//conditions:default": COPTS_UNIX,
+})
+
+DEFINES_ANDROID = [
+ "SK_BUILD_FOR_ANDROID",
+ "SK_ARM_HAS_OPTIONAL_NEON",
mtklein 2015/10/20 17:48:55 Probably safe to go with SK_ARM_HAS_NEON. We inte
dogben 2015/10/20 22:21:03 So, SK_ARM_HAS_NEON enables this line in SkBlitter
+ # TODO(benjaminwagner): Try to get png library updated?
+ "SK_PNG_NO_INDEX_SUPPORTED",
+]
+
+DEFINES_UNIX = [
+ "SK_BUILD_FOR_UNIX",
+ "SK_SAMPLES_FOR_X",
+]
+
+DEFINES_ALL = [
# It'd be nice for fastbuild, dbg -> SK_DEBUG, opt -> SK_RELEASE.
"SK_RELEASE",
# Chrome DEFINES.
@@ -229,11 +352,20 @@ DEFINES = [
"SK_USE_FREETYPE_EMBOLDEN",
# Turn on a few Google3-specific build fixes.
"GOOGLE3",
- "SK_BUILD_FOR_UNIX",
- "SK_SAMPLES_FOR_X",
]
-LINKOPTS = ["-ldl"]
+DEFINES = select({
+ CONDITION_ANDROID: DEFINES_ANDROID,
+ "//conditions:default": DEFINES_UNIX,
+}) + DEFINES_ALL
+
+LINKOPTS = select({
+ CONDITION_ANDROID: [
+ "-ldl",
+ "-lEGL",
+ ],
+ "//conditions:default": ["-ldl"],
+})
cc_library(
name = "opts_ssse3",
@@ -252,6 +384,30 @@ cc_library(
)
cc_library(
+ name = "opts_arm",
+ srcs = glob([
+ "src/opts/*_opts_arm.cpp",
+ "src/opts/*_opts_arm.h",
+ ]),
+ # Some of these files use fp as a general register.
+ copts = COPTS + ["-fomit-frame-pointer"],
mtklein 2015/10/20 17:48:55 Try dropping this? I think this is no longer true
dogben 2015/10/20 22:21:03 Done.
+ defines = DEFINES,
+ includes = INCLUDES,
+)
+
+cc_library(
+ name = "opts_neon",
+ srcs = glob([
+ "src/opts/*neon*.cpp",
+ "src/opts/*neon*.h",
+ "src/opts/Sk4px_NEON.h",
+ ]),
+ copts = COPTS + ["-mfpu=neon"],
+ defines = DEFINES,
+ includes = INCLUDES,
+)
+
+cc_library(
name = "skia",
srcs = SRCS + PLATFORM_SRCS,
hdrs = HDRS,
@@ -260,16 +416,13 @@ cc_library(
includes = INCLUDES,
linkopts = LINKOPTS,
visibility = [":skia_clients"],
- deps = EXTERNAL_DEPS + [
- ":opts_sse4",
- ":opts_ssse3",
- ],
+ deps = DEPS,
)
cc_test(
name = "dm",
size = "large",
- srcs = DM_SRCS,
+ srcs = DM_SRCS + DM_PLATFORM_SRCS,
args = [
"--nogpu",
"--verbose",
« no previous file with comments | « no previous file | tools/BUILD.public.expected » ('j') | tools/flags/SkCommandLineFlags.cpp » ('J')

Powered by Google App Engine
This is Rietveld 408576698