auto import from //branches/cupcake/...@125939
diff --git a/core/combo/javac.mk b/core/combo/javac.mk
index 4d337d1..d4c04e7 100644
--- a/core/combo/javac.mk
+++ b/core/combo/javac.mk
@@ -12,7 +12,7 @@
     COMMON_JAVAC := development/host/windows/prebuilt/javawrap.exe -J-Xmx256m \
         -target 1.5 -Xmaxerrs 9999999
 else
-    COMMON_JAVAC := javac -J-Xmx256m -target 1.5 -Xmaxerrs 9999999
+    COMMON_JAVAC := javac -J-Xmx512M -target 1.5 -Xmaxerrs 9999999
 endif
 
 # Eclipse.
diff --git a/core/combo/linux-arm.mk b/core/combo/linux-arm.mk
index adb82d3..507e4dd 100644
--- a/core/combo/linux-arm.mk
+++ b/core/combo/linux-arm.mk
@@ -53,6 +53,7 @@
 			-ffunction-sections \
 			-funwind-tables \
 			-fstack-protector \
+			-fno-short-enums \
 			-D__ARM_ARCH_5__ -D__ARM_ARCH_5T__ \
 			-D__ARM_ARCH_5E__ -D__ARM_ARCH_5TE__ \
 			-include $(call select-android-config-h,linux-arm)
diff --git a/core/config.mk b/core/config.mk
index 5952789..81063b5 100644
--- a/core/config.mk
+++ b/core/config.mk
@@ -3,6 +3,11 @@
 # current configuration and platform, which
 # are not specific to what is being built.
 
+# Use bash, not whatever shell somebody has installed as /bin/sh
+# This is repeated from main.mk, since envsetup.sh runs this file
+# directly.
+SHELL := /bin/bash
+
 # Standard source directories.
 SRC_DOCS:= $(TOPDIR)docs
 # TODO: Enforce some kind of layering; only add include paths
diff --git a/core/definitions.mk b/core/definitions.mk
index c88c048..a24837b 100644
--- a/core/definitions.mk
+++ b/core/definitions.mk
@@ -1147,11 +1147,13 @@
 @rm -rf $(PRIVATE_CLASS_INTERMEDIATES_DIR)
 endef
 
+#TODO: use a smaller -Xmx value for most libraries;
+#      only core.jar and framework.jar need a heap this big.
 define transform-classes.jar-to-dex
 @echo "target Dex: $(PRIVATE_MODULE)"
 @mkdir -p $(dir $@)
 $(hide) $(DX) -JXms16M \
-    $(if $(GENERATE_DEX_DEBUG), -JXmx1536M, -JXmx1280M) \
+    -JXmx1536M \
     --dex --output=$@ \
     $(if $(NO_OPTIMIZE_DX), \
         --no-optimize) \
diff --git a/core/main.mk b/core/main.mk
index f190ffb..4a1519c 100644
--- a/core/main.mk
+++ b/core/main.mk
@@ -1,5 +1,7 @@
 
 # Use bash, not whatever shell somebody has installed as /bin/sh
+# This is repeated in config.mk, since envsetup.sh runs that file
+# directly.
 SHELL := /bin/bash
 
 # this turns off the suffix rules built into make
diff --git a/core/pathmap.mk b/core/pathmap.mk
index d4302c6..5498898 100644
--- a/core/pathmap.mk
+++ b/core/pathmap.mk
@@ -31,10 +31,10 @@
     bluez-libs:external/bluez/libs/include \
     bluez-utils:external/bluez/utils \
     bootloader:bootable/bootloader/legacy/include \
-    corecg:external/skia/include/corecg \
+    corecg:external/skia/include/core \
     dbus:external/dbus \
     frameworks-base:frameworks/base/include \
-    graphics:external/skia/include/graphics \
+    graphics:external/skia/include/core \
     libc:bionic/libc/include \
     libdrm1:frameworks/base/media/libdrm/mobile1/include \
     libdrm2:frameworks/base/media/libdrm/mobile2/include \
diff --git a/core/tasks/apicheck.mk b/core/tasks/apicheck.mk
index 8e766bb..c4e51c1 100644
--- a/core/tasks/apicheck.mk
+++ b/core/tasks/apicheck.mk
@@ -47,7 +47,7 @@
 	checkapi-last, \
 	$(SRC_API_DIR)/$(lastword $(TARGET_AVAILABLE_SDK_VERSIONS)).xml, \
 	$(INTERNAL_PLATFORM_API_FILE), \
-	-hide 2 -hide 3 -hide 4 -hide 5 -hide 6 -hide 24 \
+	-hide 2 -hide 3 -hide 4 -hide 5 -hide 6 -hide 24 -hide 25 \
 	-error 7 -error 8 -error 9 -error 10 -error 11 -error 12 -error 13 -error 14 -error 15 \
 	-error 16 -error 17 -error 18 , \
 	cat $(BUILD_SYSTEM)/apicheck_msg_last.txt \
@@ -61,7 +61,8 @@
 	$(INTERNAL_PLATFORM_API_FILE), \
 	-error 2 -error 3 -error 4 -error 5 -error 6 \
 	-error 7 -error 8 -error 9 -error 10 -error 11 -error 12 -error 13 -error 14 -error 15 \
-	-error 16 -error 17 -error 18 -error 19 -error 20 -error 21 -error 23 -error 24 , \
+	-error 16 -error 17 -error 18 -error 19 -error 20 -error 21 -error 23 -error 24 \
+	-error 25 , \
 	cat $(BUILD_SYSTEM)/apicheck_msg_current.txt \
 	))