diff --git a/cleanspec.mk b/cleanspec.mk
index ab1e5f1..22d9fe1 100644
--- a/cleanspec.mk
+++ b/cleanspec.mk
@@ -70,6 +70,11 @@
 $(call add-clean-step, rm -rf $(OUT_DIR)/target/product/*/obj/SHARED_LIBRARIES/share)
 $(call add-clean-step, rm -rf $(OUT_DIR)/target/product/*/obj/SHARED_LIBRARIES/libwebcore_intermediates)
 $(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/JAVA_LIBRARIES/framework_intermediates)
+$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/APPS/PinyinIME_intermediates)
+$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/JAVA_LIBRARIES/com.android.inputmethod.pinyin.lib_intermediates)
+$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/APPS/PinyinIMEGoogleService_intermediates)
+$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/JAVA_LIBRARIES/com.android.inputmethod.pinyin.lib_intermediates)
+$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/APPS/PinyinIMEGoogleService_intermediates)
 
 # ************************************************
 # NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST
diff --git a/core/Makefile b/core/Makefile
index 9ba117a..3f452b3 100644
--- a/core/Makefile
+++ b/core/Makefile
@@ -79,6 +79,22 @@
   $(error BUILD_FINGERPRINT cannot contain spaces: "$(BUILD_FINGERPRINT)")
 endif
 
+# Display parameters shown under Settings -> About Phone
+ifeq ($(TARGET_BUILD_VARIANT),user)
+  # User builds should show:
+  # release build number or branch.buld_number non-release builds
+
+  # Dev. branches should have DISPLAY_BUILD_NUMBER set
+  ifeq "true" "$(DISPLAY_BUILD_NUMBER)"
+    BUILD_DISPLAY_ID := $(BUILD_ID).$(BUILD_NUMBER)
+  else
+    BUILD_DISPLAY_ID := $(BUILD_ID)
+  endif
+else
+  # Non-user builds should show detailed build information
+  BUILD_DISPLAY_ID := $(build_desc)
+endif
+
 # Selects the first locale in the list given as the argument,
 # and splits it into language and region, which each may be
 # empty.
diff --git a/core/build_id.mk b/core/build_id.mk
old mode 100755
new mode 100644
index 03af5f5..cb18bc4
--- a/core/build_id.mk
+++ b/core/build_id.mk
@@ -1,3 +1,32 @@
-# This branch was born out of a naming conventions fix.
-# The decision was to keep the RC names the same.
-export BUILD_ID=CRA71C
+#
+# Copyright (C) 2008 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+#
+# Defines branch-specific values.
+#
+
+# BUILD_ID is usually used to specify the branch name
+# (like "MAIN") or a branch name and a release candidate
+# (like "TC1-RC5").  It must be a single word, and is
+# capitalized by convention.
+#
+BUILD_ID := CUPCAKE
+
+# DISPLAY_BUILD_NUMBER should only be set for development branches,
+# If set, the BUILD_NUMBER (cl) is appended to the BUILD_ID for
+# a more descriptive BUILD_ID_DISPLAY, otherwise BUILD_ID_DISPLAY
+# is the same as BUILD_ID
+DISPLAY_BUILD_NUMBER := true
diff --git a/core/cleanbuild.mk b/core/cleanbuild.mk
index 50b56f9..a753554 100644
--- a/core/cleanbuild.mk
+++ b/core/cleanbuild.mk
@@ -169,11 +169,13 @@
 	./$(PRODUCT_OUT)/*.xlb \
 	./$(PRODUCT_OUT)/*.zip \
 	./$(PRODUCT_OUT)/data \
+	./$(PRODUCT_OUT)/obj/lib \
 	./$(PRODUCT_OUT)/obj/APPS \
 	./$(PRODUCT_OUT)/obj/NOTICE_FILES \
 	./$(PRODUCT_OUT)/obj/PACKAGING \
 	./$(PRODUCT_OUT)/recovery \
 	./$(PRODUCT_OUT)/root \
+	./$(PRODUCT_OUT)/symbols/system/lib \
 	./$(PRODUCT_OUT)/system
 
 # The files/dirs to delete during a dataclean, which removes any files
diff --git a/core/dynamic_binary.mk b/core/dynamic_binary.mk
index 10027b8..f07cf2a 100644
--- a/core/dynamic_binary.mk
+++ b/core/dynamic_binary.mk
@@ -18,7 +18,15 @@
 endif
 
 # The name of the target file, without any path prepended.
-LOCAL_BUILT_MODULE_STEM := $(LOCAL_MODULE)$(LOCAL_MODULE_SUFFIX)
+# TODO: This duplicates logic from base_rules.mk because we need to
+#       know its results before base_rules.mk is included.
+#       Consolidate the duplicates.
+LOCAL_MODULE_STEM := $(strip $(LOCAL_MODULE_STEM))
+ifeq ($(LOCAL_MODULE_STEM),)
+  LOCAL_MODULE_STEM := $(LOCAL_MODULE)
+endif
+LOCAL_INSTALLED_MODULE_STEM := $(LOCAL_MODULE_STEM)$(LOCAL_MODULE_SUFFIX)
+LOCAL_BUILT_MODULE_STEM := $(LOCAL_INSTALLED_MODULE_STEM)
 
 # base_rules.make defines $(intermediates), but we need its value
 # before we include base_rules.  Make a guess, and verify that
diff --git a/core/java.mk b/core/java.mk
index 65c525d..b1ded8a 100644
--- a/core/java.mk
+++ b/core/java.mk
@@ -72,33 +72,38 @@
 LOCAL_NO_EMMA_COMPILE := true
 endif
 
+# Choose leaf name for the compiled jar file.
 ifneq ($(LOCAL_NO_EMMA_COMPILE),true) 
-# If you instrument class files that have local variable debug information in
-# them emma does not correctly maintain the local variable table.
-# This will cause an error when you try to convert the class files for Android.
-# The workaround for this to compile the java classes with only
-# line and source debug information, not local information.
-full_classes_compiled_name_jar := classes-no-debug-var.jar
-$(full_classes_compiled_jar): PRIVATE_JAVAC_DEBUG_FLAGS := -g:{lines,source}
+full_classes_compiled_jar_leaf := classes-no-debug-var.jar
 else
-# when emma is off, compile with the default flags, which contain full debug 
-# info
-full_classes_compiled_name_jar := classes-full-debug.jar
-$(full_classes_compiled_jar): PRIVATE_JAVAC_DEBUG_FLAGS := -g
+full_classes_compiled_jar_leaf := classes-full-debug.jar
 endif
 
 # Compile the java files to a .jar file.
 # This intentionally depends on java_sources, not all_java_sources.
 # Deps for generated source files must be handled separately,
 # via deps on the target that generates the sources.
-full_classes_compiled_jar := $(intermediates.COMMON)/$(full_classes_compiled_name_jar)
+full_classes_compiled_jar := $(intermediates.COMMON)/$(full_classes_compiled_jar_leaf)
 $(full_classes_compiled_jar): $(java_sources) $(full_java_lib_deps)
 	$(transform-java-to-classes.jar)
 
+ifneq ($(LOCAL_NO_EMMA_COMPILE),true) 
+# If you instrument class files that have local variable debug information in
+# them emma does not correctly maintain the local variable table.
+# This will cause an error when you try to convert the class files for Android.
+# The workaround for this to compile the java classes with only
+# line and source debug information, not local information.
+$(full_classes_compiled_jar): PRIVATE_JAVAC_DEBUG_FLAGS := -g:{lines,source}
+else
+# when emma is off, compile with the default flags, which contain full debug 
+# info
+$(full_classes_compiled_jar): PRIVATE_JAVAC_DEBUG_FLAGS := -g
+endif
+
 emma_intermediates_dir := $(intermediates.COMMON)/emma_out
-# the 'lib/$(full_classes_compiled_name_jar)' portion of this path is fixed in 
+# the 'lib/$(full_classes_compiled_jar_leaf)' portion of this path is fixed in 
 # the emma tool
-full_classes_emma_jar := $(emma_intermediates_dir)/lib/$(full_classes_compiled_name_jar)
+full_classes_emma_jar := $(emma_intermediates_dir)/lib/$(full_classes_compiled_jar_leaf)
 
 ifeq ($(LOCAL_IS_STATIC_JAVA_LIBRARY),true)
 # Skip adding emma instrumentation to class files if this is a static library,
diff --git a/core/prelink-linux-arm.map b/core/prelink-linux-arm.map
index 2d1da06..c32566f 100644
--- a/core/prelink-linux-arm.map
+++ b/core/prelink-linux-arm.map
@@ -39,7 +39,7 @@
 
 # core dalvik runtime support
 libandroid_servers.so   0xAD900000
-libicudata.so           0xAD600000
+#libicudata.so           0xAD600000
 libicuuc.so             0xAD500000
 libicui18n.so           0xAD400000
 libandroid_runtime.so   0xAD300000
diff --git a/core/version_defaults.mk b/core/version_defaults.mk
index e38a803..578d779 100644
--- a/core/version_defaults.mk
+++ b/core/version_defaults.mk
@@ -72,13 +72,3 @@
   BUILD_NUMBER := eng.$(USER).$(shell date +%Y%m%d.%H%M%S)
 endif
 
-ifeq "true" "$(DISPLAY_BUILD_NUMBER)"
-  # if the build_id.mk has this defined, then BUILD_ID is updated with
-  # the BUILD_NUMBER as well.  For development branches, this will be 
-  # set, but release branches this will not be set.
-  BUILD_DISPLAY_ID := "$(BUILD_ID).$(BUILD_NUMBER)"
-else
-  BUILD_DISPLAY_ID := "$(BUILD_ID)"
-endif
-
-
diff --git a/target/product/core.mk b/target/product/core.mk
index 83e2b3a..d79b1e1 100644
--- a/target/product/core.mk
+++ b/target/product/core.mk
@@ -9,7 +9,7 @@
     framework-res \
     Browser \
     Contacts \
-    Home \
+    Launcher \
     HTMLViewer \
     Phone \
     ContactsProvider \
@@ -22,6 +22,3 @@
     PackageInstaller \
     Bugreport
 
-#include basic ringtones
-include frameworks/base/data/sounds/OriginalAudio.mk
-
diff --git a/target/product/generic.mk b/target/product/generic.mk
index e32e657..b9bc070 100644
--- a/target/product/generic.mk
+++ b/target/product/generic.mk
@@ -9,7 +9,6 @@
     Camera \
     DrmProvider \
     LatinIME \
-    Launcher \
     Mms \
     Music \
     Settings \
diff --git a/tools/droiddoc/NOTICE b/tools/droiddoc/NOTICE
new file mode 100644
index 0000000..3f1b1bb
--- /dev/null
+++ b/tools/droiddoc/NOTICE
@@ -0,0 +1,45 @@
+
+Copyright (C) 2008 The Android Open Source Project
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+
+======================================================================
+
+jQuery 1.2.6 - New Wave Javascript
+
+Copyright (c) 2008 John Resig (jquery.com)
+Dual licensed under the MIT (MIT-LICENSE.txt)
+and GPL (GPL-LICENSE.txt) licenses.
+
+Copyright (c) 2009 John Resig, http://jquery.com/
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
diff --git a/tools/droiddoc/src/ClassInfo.java b/tools/droiddoc/src/ClassInfo.java
index 2a792c5..f397a83 100644
--- a/tools/droiddoc/src/ClassInfo.java
+++ b/tools/droiddoc/src/ClassInfo.java
@@ -1185,7 +1185,7 @@
         ClassInfo cl = this;
         while (cl != null) {
             PackageInfo pkg = cl.containingPackage();
-            if (pkg.isHidden()) {
+            if (pkg != null && pkg.isHidden()) {
                 return true;
             }
             if (cl.comment().isHidden()) {
diff --git a/tools/soslim/soslim.c b/tools/soslim/soslim.c
index 4e59c24..d32e247 100644
--- a/tools/soslim/soslim.c
+++ b/tools/soslim/soslim.c
@@ -236,7 +236,7 @@
           {
             /* Mark the symbol table's string table for removal. */
             INFO("Section [%s] (static symbol-string table) will be stripped from image.\n",
-                 shdr_info[cnt].name);
+                 shdr_info[shdr_info[cnt].shdr.sh_link].name);
             shdr_info[shdr_info[cnt].shdr.sh_link].idx = 0;
           }
           else {
