diff --git a/CleanSpec.mk b/CleanSpec.mk
index f9b2c56..6983770 100644
--- a/CleanSpec.mk
+++ b/CleanSpec.mk
@@ -61,6 +61,8 @@
 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/app/*)
 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/data/app/*)
 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/build.prop)
+$(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/APPS/*)
+$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/build.prop)
 
 # ************************************************
 # NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST
diff --git a/core/Makefile b/core/Makefile
index be15de9..e267fe0 100644
--- a/core/Makefile
+++ b/core/Makefile
@@ -1051,16 +1051,16 @@
 	$(hide) echo "blocksize=$(BOARD_FLASH_BLOCK_SIZE)" >> $(zip_root)/META/misc_info.txt
 endif
 ifdef BOARD_BOOTIMAGE_PARTITION_SIZE
-	$(hide) echo "boot_size=$(call image-size-from-data-size,$(BOARD_BOOTIMAGE_PARTITION_SIZE))" >> $(zip_root)/META/misc_info.txt
+	$(hide) echo "boot_size=$(BOARD_BOOTIMAGE_PARTITION_SIZE)" >> $(zip_root)/META/misc_info.txt
 endif
 ifdef BOARD_RECOVERYIMAGE_PARTITION_SIZE
-	$(hide) echo "recovery_size=$(call image-size-from-data-size,$(BOARD_RECOVERYIMAGE_PARTITION_SIZE))" >> $(zip_root)/META/misc_info.txt
+	$(hide) echo "recovery_size=$(BOARD_RECOVERYIMAGE_PARTITION_SIZE)" >> $(zip_root)/META/misc_info.txt
 endif
 ifdef BOARD_SYSTEMIMAGE_PARTITION_SIZE
-	$(hide) echo "system_size=$(call image-size-from-data-size,$(BOARD_SYSTEMIMAGE_PARTITION_SIZE))" >> $(zip_root)/META/misc_info.txt
+	$(hide) echo "system_size=$(BOARD_SYSTEMIMAGE_PARTITION_SIZE)" >> $(zip_root)/META/misc_info.txt
 endif
 ifdef BOARD_USERDATAIMAGE_PARTITION_SIZE
-	$(hide) echo "userdata_size=$(call image-size-from-data-size,$(BOARD_USERDATAIMAGE_PARTITION_SIZE))" >> $(zip_root)/META/misc_info.txt
+	$(hide) echo "userdata_size=$(BOARD_USERDATAIMAGE_PARTITION_SIZE)" >> $(zip_root)/META/misc_info.txt
 endif
 	$(hide) echo "tool_extensions=$(tool_extensions)" >> $(zip_root)/META/misc_info.txt
 ifdef mkyaffs2_extra_flags
diff --git a/core/user_tags.mk b/core/user_tags.mk
index 39c66da1..1b4ef65 100644
--- a/core/user_tags.mk
+++ b/core/user_tags.mk
@@ -192,7 +192,6 @@
 	libaudiointerface \
 	libaudiopolicy \
 	libaudiopolicybase \
-	libbcc \
 	libbinder \
 	libbluedroid \
 	libbluetooth \
@@ -265,35 +264,6 @@
 	libjpeg \
 	libjs \
 	liblinenoise \
-	libLLVMAnalysis \
-	libLLVMARMAsmPrinter \
-	libLLVMARMCodeGen \
-	libLLVMARMDisassembler \
-	libLLVMARMInfo \
-	libLLVMAsmParser \
-	libLLVMAsmPrinter \
-	libLLVMBitReader \
-	libLLVMBitWriter \
-	libLLVMCodeGen \
-	libLLVMCore \
-	libLLVMInstCombine \
-	libLLVMInstrumentation \
-	libLLVMipa \
-	libLLVMipo \
-	libLLVMJIT \
-	libLLVMLinker \
-	libLLVMMC \
-	libLLVMMCParser \
-	libLLVMScalarOpts \
-	libLLVMSelectionDAG \
-	libLLVMSupport \
-	libLLVMSystem \
-	libLLVMTarget \
-	libLLVMTransformUtils \
-	libLLVMX86AsmPrinter \
-	libLLVMX86CodeGen \
-	libLLVMX86Disassembler \
-	libLLVMX86Info \
 	libloc_api-rpc \
 	liblog \
 	libm \
diff --git a/core/version_defaults.mk b/core/version_defaults.mk
index 5d2867a..8feff2b 100644
--- a/core/version_defaults.mk
+++ b/core/version_defaults.mk
@@ -53,7 +53,7 @@
   # intermediate builds).  During development, this number remains at the
   # SDK version the branch is based on and PLATFORM_VERSION_CODENAME holds
   # the code-name of the new development work.
-  PLATFORM_SDK_VERSION := 9
+  PLATFORM_SDK_VERSION := 10
 endif
 
 ifeq "" "$(PLATFORM_VERSION_CODENAME)"
diff --git a/target/product/core.mk b/target/product/core.mk
index 06b7003..72010c9 100644
--- a/target/product/core.mk
+++ b/target/product/core.mk
@@ -74,7 +74,10 @@
     DefaultContainerService \
     Bugreport \
     ip \
-    screencap
+    screencap \
+    libvideoeditor_jni \
+    libvideoeditorplayer \
+    libvideoeditor_core
 
 # host-only dependencies
 ifeq ($(WITH_HOST_DALVIK),true)
diff --git a/target/product/generic_no_telephony.mk b/target/product/generic_no_telephony.mk
index cd79125..4b1e394 100644
--- a/target/product/generic_no_telephony.mk
+++ b/target/product/generic_no_telephony.mk
@@ -48,6 +48,9 @@
 PRODUCT_PACKAGES += \
     icu.dat
 
+PRODUCT_PACKAGES += \
+    librs_jni
+
 PRODUCT_COPY_FILES := \
         system/bluetooth/data/audio.conf:system/etc/bluetooth/audio.conf \
         system/bluetooth/data/auto_pairing.conf:system/etc/bluetooth/auto_pairing.conf \
diff --git a/target/product/sdk.mk b/target/product/sdk.mk
index b856b11..72ed8b3 100644
--- a/target/product/sdk.mk
+++ b/target/product/sdk.mk
@@ -18,6 +18,20 @@
 PRODUCT_PROPERTY_OVERRIDES :=
 
 PRODUCT_PACKAGES := \
+	Calculator \
+	Camera \
+	DeskClock \
+	Email \
+	Gallery \
+	Music \
+	Mms \
+	OpenWnn \
+	libWnnEngDic \
+	libWnnJpnDic \
+	libwnndict \
+	PinyinIME \
+	Protips \
+	SoftKeyboard \
 	SystemUI \
 	Launcher2 \
 	AccountAndSyncSettings \
@@ -37,27 +51,15 @@
 	GestureBuilder \
 	CubeLiveWallpapers \
 	QuickSearchBox \
+	WidgetPreview \
 	monkeyrunner \
 	guavalib \
 	jsr305lib \
 	jython \
-	jsilver
+	jsilver \
+	librs_jni
 
-#	Calculator \
-#	Camera \
-#	DeskClock \
-#	Email \
-#	Gallery \
-#	Music \
-#	Mms \
-#	OpenWnn \
-#	libWnnEngDic \
-#	libWnnJpnDic \
-#	libwnndict \
 #	Phone \
-#	PinyinIME \
-#	Protips \
-#	SoftKeyboard \
 
 
 # Host tools that are parts of the SDK.
@@ -87,8 +89,8 @@
 	ddms \
 	ddmlib \
 	ddmuilib \
-	hierarchyviewer \
 	draw9patch \
+	hierarchyviewer \
 	layoutopt \
 	uix \
 	traceview \
diff --git a/tools/droiddoc/templates-sdk/sdkpage.cs b/tools/droiddoc/templates-sdk/sdkpage.cs
index 298e882..7756440 100644
--- a/tools/droiddoc/templates-sdk/sdkpage.cs
+++ b/tools/droiddoc/templates-sdk/sdkpage.cs
@@ -4,8 +4,8 @@
 <?cs if:sdk.redirect ?>
   <head>
     <title>Redirecting...</title>
-    <meta http-equiv="refresh" content="0;url=<?cs var:toroot ?>sdk/<?cs 
-      if:sdk.redirect.path ?><?cs var:sdk.redirect.path ?><?cs 
+    <meta http-equiv="refresh" content="0;url=<?cs var:toroot ?>sdk/<?cs
+      if:sdk.redirect.path ?><?cs var:sdk.redirect.path ?><?cs
       else ?>index.html<?cs /if ?>">
     <link href="<?cs var:toroot ?>assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
   </head>
@@ -22,14 +22,23 @@
 
 <div class="g-unit">
   <div id="jd-content">
-    <p>Redirecting to 
-    <a href="<?cs var:toroot ?>sdk/<?cs 
+    <p>Redirecting to
+    <a href="<?cs var:toroot ?>sdk/<?cs
       if:sdk.redirect.path ?><?cs var:sdk.redirect.path ?><?cs
       else ?>index.html<?cs /if ?>"><?cs
       if:sdk.redirect.path ?><?cs var:sdk.redirect.path ?><?cs
       else ?>Download the SDK<?cs /if ?>
     </a> ...</p>
+
 <?cs else ?>
+<?cs # else, if NOT redirect ...
+#
+#
+# The following is for SDK/NDK pages
+#
+#
+?>
+
 <div class="g-unit" id="doc-content" >
   <div id="jd-header" class="guide-header" >
     <span class="crumb">&nbsp;</span>
@@ -37,13 +46,6 @@
   </div>
 
   <div id="jd-content">
-    <?cs 
-    if:ndk ?><?cs 
-    else ?><?cs 
-      if:android.whichdoc == "online" ?><p><em><?cs 
-      var:sdk.date ?></em></p><?cs 
-      /if ?><?cs
-    /if ?>
 
 <?cs if:sdk.not_latest_version ?>
   <div class="special">
@@ -52,12 +54,23 @@
   </div>
 <?cs /if ?>
 
-<?cs if:android.whichdoc != "online" && !sdk.preview ?>
 
-<!-- <p>The sections below provide an overview of how to install the SDK package. </p> -->
-
-<?cs else ?>
-  <?cs if:ndk ?>
+<?cs if:ndk ?>
+<?cs #
+#
+#
+#
+#
+#
+#
+# the following is for the NDK
+#
+# (nested in if/else redirect)
+#
+#
+#
+#
+?>
 
 <p>The Android NDK is a companion tool to the Android SDK that lets you build
 performance-critical portions of your apps in native code. It provides headers and
@@ -80,7 +93,6 @@
 do so before downloading the NDK. 
 </p>
 
-  <?cs if:sdk.whichdoc == "online" ?>
   <table class="download">
     <tr>
       <th>Platform</th>
@@ -113,24 +125,25 @@
     <td><?cs var:ndk.linux_checksum ?></td>
   </tr>
   </table>
-  <?cs /if ?><?cs # END if online ?>
 
- <?cs else ?><?cs # END if ndk ?>
+  <?cs else ?>
+<?cs # end if NDK ... 
+#
+#
+#
+#
+#
+#
+# the following is for the SDK
+#
+# (nested in if/else redirect and if/else NDK)
+#
+#
+#
+#
+?>
   <?cs if:android.whichdoc == "online" ?>
 
-  <?cs if:sdk.preview ?>
-  <p>Welcome developers! The next release of the Android platform will be
-  Android 1.6 and we are pleased to announce the availability of an early look
-  SDK to give you a head-start on developing applications for it. </p>
-
-  <p>The Android <?cs var:sdk.preview.version ?> platform includes a variety of
-  improvements and new features for users and developers. Additionally, the SDK
-  itself introduces several new capabilities that enable you to develop
-  applications more efficiently. See the <a href="features.html">Android <?cs
-  var:sdk.preview.version ?> Platform Highlights</a> document for a list of 
-  highlights.</p>
-  <?cs /if ?><?cs # END if preview ?>
-
   <p>Welcome Developers! If you are new to the Android SDK, please read the steps below, for an
 overview of how to set up the SDK. </p>
 
@@ -147,7 +160,7 @@
       <th>MD5 Checksum</th>
   </tr>
   <tr>
-    <td>Windows</td>
+    <td rowspan="2">Windows</td>
     <td>
   <a onclick="onDownload(this)" href="http://dl.google.com/android/<?cs var:sdk.win_download
 ?>"><?cs var:sdk.win_download ?></a>
@@ -155,6 +168,15 @@
     <td><?cs var:sdk.win_bytes ?> bytes</td>
     <td><?cs var:sdk.win_checksum ?></td>
   </tr>
+  <tr>
+    <!-- blank TD from Windows rowspan -->
+    <td>
+  <a onclick="onDownload(this)" href="http://dl.google.com/android/<?cs var:sdk.win_installer
+?>"><?cs var:sdk.win_installer ?></a> (Recommended)
+    </td>
+    <td><?cs var:sdk.win_installer_bytes ?> bytes</td>
+    <td><?cs var:sdk.win_installer_checksum ?></td>
+  </tr>
   <tr class="alt-color">
     <td>Mac OS X (intel)</td>
     <td>
@@ -173,60 +195,49 @@
     <td><?cs var:sdk.linux_bytes ?> bytes</td>
     <td><?cs var:sdk.linux_checksum ?></td>
   </tr>
-  <?cs if:adt.zip_download ?>
-  <tr class="alt-color">
-    <td>ADT Plugin for Eclipse <?cs var:adt.zip_version ?></td>
-    <td>
-  <a href="http://dl.google.com/android/<?cs var:adt.zip_download ?>"><?cs var:adt.zip_download ?></a>
-    </td>
-    <td><?cs var:adt.zip_bytes ?> bytes</td>
-    <td><?cs var:adt.zip_checksum ?></td>
-  </tr>
-  <?cs /if ?>
   </table>
 
 
 <div id="next-steps" style="display:none">
-  <p><b>Your download of <em><span id="filename"></span></em> has begun!</b></p>
+  <p><b><em><span id="filename"></span></em> is now downloading. Follow the steps below to
+get started.</b></p>
 </div>
 
 <script type="text/javascript">
 function onDownload(link) {
-  $(link).parent().parent().children().css('background', '#fff');
   $("#filename").text($(link).html());
   $("#next-steps").show();
 }
 </script>
+  <?cs else ?> <?cs # end if online ?>
 
-  <?cs /if ?><?cs # END if online ?>
- <?cs /if ?><?cs # END if/else ndk/sdk ?>
-<?cs /if ?><?cs # END if/else redirect ?>
+    <?cs if:sdk.preview ?>
+      <p>Welcome developers! We are pleased to provide you with a preview SDK for the upcoming
+    Android 3.0 release, to give you a head-start on developing applications for it.
+    </p>
+    
+      <p>See the <a
+    href="<?cs var:toroot ?>sdk/preview/start.html">Getting Started</a> document for more information
+    about how to set up the preview SDK and get started.</p>
+    <style type="text/css">
+    .non-preview { display:none; }
+    </style>
+    <?cs /if ?>
+  <?cs /if ?> <?cs # end if/else online ?>
+  
+<?cs /if ?> <?cs # end if/else NDK ?>
 
-<?cs if:android.whichdoc != "online" && sdk.preview && !ndk ?>
-  <p>Welcome developers! We are pleased to provide you with a preview SDK for the upcoming <?cs
-var:sdk.preview.version ?> release, to give you a head-start on developing applications for it.
-</p>
+<?cs /if ?> <?cs # end if/else redirect ?>
 
-  <p>See the <a
-href="<?cs var:toroot ?>sdk/preview/features.html">Introduction to
-<?cs var:sdk.preview.version ?></a> document for more information about new features and
-the <a href="<?cs var:toroot ?>sdk/preview/features.html">Getting Started</a> guide for
-information about how to setup the preview SDK.</p>
-<style type="text/css">
-.non-preview { display:none; }
-</style>
-<?cs /if ?>
+<?cs call:tag_list(root.descr) ?>
 
-      <?cs call:tag_list(root.descr) ?>
-
-<?cs /if ?>
 </div><!-- end jd-content -->
 
 <?cs if:!sdk.redirect ?>
-     <?cs include:"footer.cs" ?>
+<?cs include:"footer.cs" ?>
 <?cs /if ?>
 
-</div><!-- end doc-content -->
+</div><!-- end g-unit -->
 
 <?cs include:"trailer.cs" ?>
 
