Merge "update ro.build.tags when signing release builds"
diff --git a/cleanspec.mk b/cleanspec.mk
index 35ac5ac..5c9dd56 100644
--- a/cleanspec.mk
+++ b/cleanspec.mk
@@ -135,6 +135,7 @@
 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/SHARED_LIBRARIES/libmediaplayerservice_intermediates)
 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/SHARED_LIBRARIES/libstagefright_intermediates)
 $(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/APPS/GoogleServicesFramework_intermediates)
+$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/app/VoiceSearchWithKeyboard.apk)
 
 # ************************************************
 # NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST
diff --git a/core/base_rules.mk b/core/base_rules.mk
index b8021c3..f9a1fac 100644
--- a/core/base_rules.mk
+++ b/core/base_rules.mk
@@ -62,6 +62,13 @@
 #$(warning default tags: $(lastword $(filter-out config/% out/%,$(MAKEFILE_LIST))))
 endif
 
+# Only the tags mentioned in this test are expected to be set by module
+# makefiles. Anything else is either a typo or a source of unexpected
+# behaviors.
+ifneq ($(filter-out user debug eng tests optional samples,$(LOCAL_MODULE_TAGS)),)
+$(warning unusual tags $(LOCAL_MODULE_TAGS) on $(LOCAL_MODULE) at $(LOCAL_PATH))
+endif
+
 # Add implicit tags.
 #
 # If the local directory or one of its parents contains a MODULE_LICENSE_GPL
@@ -94,9 +101,13 @@
   $(error $(LOCAL_PATH): LOCAL_MODULE_CLASS must contain exactly one word, not "$(LOCAL_MODULE_CLASS)")
 endif
 
-# Add a tag like "_class@APPS" to this module so that we can filter
-# based on the class.
-LOCAL_MODULE_TAGS += _class@$(LOCAL_MODULE_CLASS)
+# Those used to be implicitly ignored, but aren't any more.
+# As of 20100110 there are no apps with the user tag.
+ifeq ($(LOCAL_MODULE_CLASS),APPS)
+  ifneq ($(filter $(LOCAL_MODULE_TAGS),user),)
+    $(warning user tag on app $(LOCAL_MODULE) at $(LOCAL_PATH) - add your app to core.mk instead)
+  endif
+endif
 
 LOCAL_MODULE_PATH := $(strip $(LOCAL_MODULE_PATH))
 ifeq ($(LOCAL_MODULE_PATH),)
diff --git a/core/definitions.mk b/core/definitions.mk
index a355c71..46bc3d1 100644
--- a/core/definitions.mk
+++ b/core/definitions.mk
@@ -572,6 +572,7 @@
 # $(1): list of tags to accept
 # $(2): list of tags to reject
 #TODO(dbort): do $(if $(strip $(1)),$(1),$(ALL_MODULE_TAGS))
+#TODO(jbq): as of 20100106 nobody uses the second parameter
 define get-tagged-modules
 $(filter-out \
 	$(call modules-for-tag-list,$(2)), \
diff --git a/core/main.mk b/core/main.mk
index 5e318f5..134e844 100644
--- a/core/main.mk
+++ b/core/main.mk
@@ -350,6 +350,11 @@
 
 ifeq ($(SDK_ONLY),true)
 
+# ----- SDK for Windows ------
+# These configure the build targets that are available for the SDK under Cygwin.
+# The first section defines all the C/C++ tools that can be compiled under Cygwin,
+# the second section defines all the Java ones (assuming javac is available.)
+
 subdirs := \
 	prebuilt \
 	build/libs/host \
@@ -359,6 +364,7 @@
 	dalvik/tools/dmtracedump \
 	dalvik/tools/hprof-conv \
 	development/tools/line_endings \
+	development/tools/etc1tool \
 	sdk/emulator/mksdcard \
 	sdk/sdklauncher \
 	development/host \
@@ -370,6 +376,7 @@
 	frameworks/base/libs/utils \
 	frameworks/base/tools/aapt \
 	frameworks/base/tools/aidl \
+	frameworks/base/opengl/libs \
 	system/core/adb \
 	system/core/fastboot \
 	system/core/libcutils \
@@ -447,7 +454,7 @@
 # modules as a side-effect.  Do this after including ONE_SHOT_MAKEFILE
 # so that the modules will be installed in the same place they
 # would have been with a normal make.
-CUSTOM_MODULES := $(sort $(call get-tagged-modules,$(ALL_MODULE_TAGS),))
+CUSTOM_MODULES := $(sort $(call get-tagged-modules,$(ALL_MODULE_TAGS)))
 FULL_BUILD :=
 # Stub out the notice targets, which probably aren't defined
 # when using ONE_SHOT_MAKEFILE.
@@ -521,9 +528,6 @@
 
 # Of the modules defined by the component makefiles,
 # determine what we actually want to build.
-# If a module has the "restricted" tag on it, it
-# poisons the rest of the tags and shouldn't appear
-# on any list.
 Default_MODULES := $(sort $(ALL_DEFAULT_INSTALLED_MODULES) \
                           $(CUSTOM_MODULES))
 # TODO: Remove the 3 places in the tree that use
@@ -549,12 +553,12 @@
 endif
 # Use tags to get the non-APPS user modules.  Use the product
 # definition files to get the APPS user modules.
-user_MODULES := $(sort $(call get-tagged-modules,user,_class@APPS restricted))
+user_MODULES := $(sort $(call get-tagged-modules,user))
 user_MODULES := $(user_MODULES) $(user_PACKAGES)
 
-eng_MODULES := $(sort $(call get-tagged-modules,eng,restricted))
-debug_MODULES := $(sort $(call get-tagged-modules,debug,restricted))
-tests_MODULES := $(sort $(call get-tagged-modules,tests,restricted))
+eng_MODULES := $(sort $(call get-tagged-modules,eng))
+debug_MODULES := $(sort $(call get-tagged-modules,debug))
+tests_MODULES := $(sort $(call get-tagged-modules,tests))
 
 ifeq ($(strip $(tags_to_install)),)
 $(error ASSERTION FAILED: tags_to_install should not be empty)
diff --git a/core/prelink-linux-arm.map b/core/prelink-linux-arm.map
index 4116834..1aecf71 100644
--- a/core/prelink-linux-arm.map
+++ b/core/prelink-linux-arm.map
@@ -164,4 +164,4 @@
 libtrace_test.so        0x9A300000
 libsrec_jni.so          0x9A200000
 libcerttool_jni.so      0x9A100000
-
+libjpeg.so              0x9A000000
diff --git a/tools/droiddoc/src/DocFile.java b/tools/droiddoc/src/DocFile.java
index 51072df..cc7a8cf 100644
--- a/tools/droiddoc/src/DocFile.java
+++ b/tools/droiddoc/src/DocFile.java
@@ -139,7 +139,7 @@
                 ClearPage.write(hdf, "docpage.cs", outfile);
             } else if (outfile.indexOf("resources/") != -1) {
                 hdf.setValue("resources", "true");
-                ClearPage.write(hdf, "resourcespage.cs", outfile);
+                ClearPage.write(hdf, "docpage.cs", outfile);
             } else {
                 ClearPage.write(hdf, "nosidenavpage.cs", outfile);
             }
diff --git a/tools/droiddoc/templates-sdk/resourcespage.cs b/tools/droiddoc/templates-sdk/resourcespage.cs
deleted file mode 100644
index 12bcbad..0000000
--- a/tools/droiddoc/templates-sdk/resourcespage.cs
+++ /dev/null
@@ -1,36 +0,0 @@
-<?cs include:"doctype.cs" ?>
-<?cs include:"macros.cs" ?>
-
-<html>
-<?cs include:"head_tag.cs" ?>
-
-<body class="gc-documentation">
-<?cs call:custom_masthead() ?>
-<?cs call:resources_tab_nav() ?>
-<a name="top"></a>
-<div class="g-unit" id="doc-content" >
-  <div id="jd-header" class="guide-header">
-    <span class="crumb">
-      <?cs if:parent.link ?>
-        <a href="<?cs var:parent.link ?>"><?cs var:parent.title ?></a> >
-      <?cs else ?>&nbsp;
-      <?cs /if ?>
-    </span>
-    <h1><?cs var:page.title ?></h1>
-  </div>
-
-  <div id="jd-content">
-
-    <?cs call:tag_list(root.descr) ?>
-
-<?cs include:"footer.cs" ?>
-
-</div><!-- end doc-content -->
-
-<?cs include:"trailer.cs" ?>
-
-</body>
-</html>
-
-
-