For BUILD.public, let SkPreConfig.h set SK_RELEASE based on NDEBUG.

Use DumpStackTrace in SkASSERT in GOOGLE3.

There are extra assertions enabled in debug mode that cause RecordDraw_TextBounds to fail.

New include causes a naming conflict with global name "base".

Corresponding internal cl/106495354

No public API changes.

TBR=reed@google.com
BUG=skia:

Review URL: https://codereview.chromium.org/1423013004
diff --git a/BUILD.public b/BUILD.public
index a2c3163..61fb53f 100644
--- a/BUILD.public
+++ b/BUILD.public
@@ -217,8 +217,8 @@
 DEPS_ANDROID = []
 
 DEPS = select({
-    CONDITION_ANDROID: DEPS_ANDROID + EXTERNAL_DEPS_ANDROID,
-    "//conditions:default": DEPS_UNIX + EXTERNAL_DEPS_UNIX,
+    CONDITION_ANDROID: DEPS_ANDROID + EXTERNAL_DEPS_ANDROID + EXTERNAL_DEPS_ALL,
+    "//conditions:default": DEPS_UNIX + EXTERNAL_DEPS_UNIX + EXTERNAL_DEPS_ALL,
 })
 
 # Platform-independent SRCS for DM.
@@ -322,8 +322,6 @@
 ]
 
 DEFINES_ALL = [
-    # It'd be nice for fastbuild, dbg -> SK_DEBUG, opt -> SK_RELEASE.
-    "SK_RELEASE",
     # Chrome DEFINES.
     "SK_USE_FLOATBITS",
     "SK_USE_FREETYPE_EMBOLDEN",
@@ -350,6 +348,7 @@
     copts = COPTS + ["-mssse3"],
     defines = DEFINES,
     includes = INCLUDES,
+    deps = EXTERNAL_DEPS_ALL,
 )
 
 cc_library(
@@ -358,6 +357,7 @@
     copts = COPTS + ["-msse4"],
     defines = DEFINES,
     includes = INCLUDES,
+    deps = EXTERNAL_DEPS_ALL,
 )
 
 cc_library(
@@ -380,7 +380,7 @@
         "--nogpu",
         "--verbose",
         # TODO(mtklein): maybe investigate why these fail?
-        "--match ~FontMgr ~Scalar ~Canvas ~Codec_stripes ~Codec_Dimensions ~Codec ~Stream ~skps ~Math",
+        "--match ~FontMgr ~Scalar ~Canvas ~Codec_stripes ~Codec_Dimensions ~Codec ~Stream ~skps ~Math ~RecordDraw_TextBounds",
         "--resourcePath %s/resources" % BASE_DIR,
         "--images %s/resources" % BASE_DIR,
     ],
@@ -390,5 +390,5 @@
     includes = DM_INCLUDES,
     deps = DM_EXTERNAL_DEPS + [
         ":skia",
-    ],
+    ] + EXTERNAL_DEPS_ALL,
 )
diff --git a/include/core/SkPostConfig.h b/include/core/SkPostConfig.h
index 0482a70..02b8b8b 100644
--- a/include/core/SkPostConfig.h
+++ b/include/core/SkPostConfig.h
@@ -148,7 +148,18 @@
 #endif
 
 #ifndef SK_ALWAYSBREAK
-#  ifdef SK_DEBUG
+#  if defined(GOOGLE3)
+     void DebugWriteToStderr(const char*, void*);
+     void DumpStackTrace(int skip_count, void w(const char*, void*),
+                         void* arg);
+#    define SK_ALWAYSBREAK(cond) do { \
+              if (cond) break; \
+              SkNO_RETURN_HINT(); \
+              SkDebugf("%s:%d: failed assertion \"%s\"\n", __FILE__, __LINE__, #cond); \
+              DumpStackTrace(0, DebugWriteToStderr, nullptr); \
+              SK_CRASH(); \
+        } while (false)
+#  elif defined(SK_DEBUG)
 #    define SK_ALWAYSBREAK(cond) do { \
               if (cond) break; \
               SkNO_RETURN_HINT(); \
diff --git a/tools/BUILD.public.expected b/tools/BUILD.public.expected
index 323d7a9..3bfd1da 100644
--- a/tools/BUILD.public.expected
+++ b/tools/BUILD.public.expected
@@ -17,11 +17,10 @@
  'SK_BUILD_FOR_ANDROID',
  'SK_PNG_NO_INDEX_SUPPORTED',
  '*** END CONDITION_ANDROID ***',
- 'SK_RELEASE',
  'SK_USE_FLOATBITS',
  'SK_USE_FREETYPE_EMBOLDEN',
  'GOOGLE3']
-DEFINES_ALL = ['SK_RELEASE', 'SK_USE_FLOATBITS', 'SK_USE_FREETYPE_EMBOLDEN', 'GOOGLE3']
+DEFINES_ALL = ['SK_USE_FLOATBITS', 'SK_USE_FREETYPE_EMBOLDEN', 'GOOGLE3']
 DEFINES_ANDROID = ['SK_BUILD_FOR_ANDROID', 'SK_PNG_NO_INDEX_SUPPORTED']
 DEFINES_UNIX = ['SK_BUILD_FOR_UNIX', 'SK_SAMPLES_FOR_X']
 DEPS = ['*** BEGIN //conditions:default ***',
@@ -1020,7 +1019,6 @@
  'src/codec/SkCodec_libpng.h',
  'src/codec/SkCodec_wbmp.cpp',
  'src/codec/SkCodec_wbmp.h',
- 'src/codec/SkJpegCodec.cpp',
  'src/codec/SkJpegCodec.h',
  'src/codec/SkJpegDecoderMgr.cpp',
  'src/codec/SkJpegDecoderMgr.h',
@@ -1030,10 +1028,10 @@
  'src/codec/SkMaskSwizzler.h',
  'src/codec/SkMasks.cpp',
  'src/codec/SkMasks.h',
+ 'src/codec/SkSampledCodec.cpp',
  'src/codec/SkSampledCodec.h',
  'src/codec/SkSampler.cpp',
  'src/codec/SkSampler.h',
- 'src/codec/SkScaledCodec.cpp',
  'src/codec/SkSwizzler.cpp',
  'src/codec/SkSwizzler.h',
  'src/codec/SkWebpAdapterCodec.cpp',
@@ -1317,6 +1315,7 @@
  'src/core/SkTaskGroup.cpp',
  'src/core/SkTaskGroup.h',
  'src/core/SkTextBlob.cpp',
+ 'src/core/SkTextBlobRunIterator.h',
  'src/core/SkTextFormatParams.h',
  'src/core/SkTextMapStateProc.h',
  'src/core/SkTextToPathIter.h',
@@ -1698,7 +1697,6 @@
  'src/gpu/gl/GrGLPathRendering.h',
  'src/gpu/gl/GrGLPrimitiveProcessor.cpp',
  'src/gpu/gl/GrGLPrimitiveProcessor.h',
- 'src/gpu/gl/GrGLProcessor.h',
  'src/gpu/gl/GrGLProgram.cpp',
  'src/gpu/gl/GrGLProgram.h',
  'src/gpu/gl/GrGLProgramDataManager.cpp',
@@ -1763,7 +1761,10 @@
  'src/gpu/glsl/GrGLSL.h',
  'src/gpu/glsl/GrGLSLCaps.cpp',
  'src/gpu/glsl/GrGLSLCaps.h',
+ 'src/gpu/glsl/GrGLSLProcessorTypes.h',
+ 'src/gpu/glsl/GrGLSLProgramDataManager.h',
  'src/gpu/glsl/GrGLSLShaderVar.h',
+ 'src/gpu/glsl/GrGLSLTextureSampler.h',
  'src/gpu/glsl/GrGLSL_impl.h',
  'src/image/SkImage.cpp',
  'src/image/SkImagePriv.h',
diff --git a/tools/BUILD_simulator.py b/tools/BUILD_simulator.py
index 209259f..ff01941 100755
--- a/tools/BUILD_simulator.py
+++ b/tools/BUILD_simulator.py
@@ -79,6 +79,7 @@
   'BASE_DIR': "",
   'CONDITION_ANDROID': "CONDITION_ANDROID",
   'DM_EXTERNAL_DEPS': [],
+  'EXTERNAL_DEPS_ALL': [],
   'EXTERNAL_DEPS_ANDROID': [],
   'EXTERNAL_DEPS_UNIX': [],
 }