Merge "Remove the hacks needed to support ash and mksh concurrently."
diff --git a/core/base_rules.mk b/core/base_rules.mk
index 7927760..8d230fb 100644
--- a/core/base_rules.mk
+++ b/core/base_rules.mk
@@ -75,7 +75,7 @@
 # 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 debug eng tests optional samples shell_mksh,$(LOCAL_MODULE_TAGS)),)
+ifneq ($(filter-out debug eng tests optional samples,$(LOCAL_MODULE_TAGS)),)
 $(warning unusual tags $(LOCAL_MODULE_TAGS) on $(LOCAL_MODULE) at $(LOCAL_PATH))
 endif
 
diff --git a/core/build-system.html b/core/build-system.html
index 760589a..397eef4 100644
--- a/core/build-system.html
+++ b/core/build-system.html
@@ -247,7 +247,6 @@
         for <code>eng</code>.
         <ul>
         <li>Installs modules tagged with: <code>eng</code>, <code>debug</code>,
-            <code>shell_</code>$(TARGET_SHELL),
             <code>user</code>, and/or <code>development</code>.
         <li>Installs non-APK modules that have no tags specified.
         <li>Installs APKs according to the product definition files, in
@@ -267,7 +266,7 @@
         <p>
         This is the flavor intended to be the final release bits.
         <ul>
-        <li>Installs modules tagged with <code>shell_</code>$(TARGET_SHELL) and <code>user</code>.
+        <li>Installs modules tagged with <code>user</code>.
         <li>Installs non-APK modules that have no tags specified.
         <li>Installs APKs according to the product definition files; tags
             are ignored for APK modules.
@@ -674,8 +673,7 @@
 <h4>LOCAL_MODULE_TAGS</h4>
 <p>Set <code>LOCAL_MODULE_TAGS</code> to any number of whitespace-separated
 tags.  If the tag list is empty or contains <code>droid</code>, the module
-will get installed as part of a <code>make droid</code>.  Modules with the tag
-<code>shell_</code>$(TARGET_SHELL) will also be installed. Otherwise, it will
+will get installed as part of a <code>make droid</code>.  Otherwise, it will
 only get installed by running <code>make &lt;your-module&gt;</code>
 or with the <code>make all</code> pseudotarget.</p>
 
diff --git a/core/config.mk b/core/config.mk
index 2a84b34..73acac9 100644
--- a/core/config.mk
+++ b/core/config.mk
@@ -114,9 +114,6 @@
 # TODO: do symbol compression
 TARGET_COMPRESS_MODULE_SYMBOLS := false
 
-# Default shell is mksh. Other possible value is ash.
-TARGET_SHELL := mksh
-
 # ###############################################################
 # Include sub-configuration files
 # ###############################################################
diff --git a/core/main.mk b/core/main.mk
index fec77a2..bf09423 100644
--- a/core/main.mk
+++ b/core/main.mk
@@ -622,12 +622,10 @@
 
 # TODO: Remove the 3 places in the tree that use ALL_DEFAULT_INSTALLED_MODULES
 # and get rid of it from this list.
-# TODO: The shell is chosen by magic.  Do we still need this?
 modules_to_install := $(sort \
     $(ALL_DEFAULT_INSTALLED_MODULES) \
     $(product_FILES) \
     $(foreach tag,$(tags_to_install),$($(tag)_MODULES)) \
-    $(call get-tagged-modules, shell_$(TARGET_SHELL)) \
     $(CUSTOM_MODULES) \
   )
 
diff --git a/target/product/embedded.mk b/target/product/embedded.mk
index 0830101..d2344b0 100644
--- a/target/product/embedded.mk
+++ b/target/product/embedded.mk
@@ -58,8 +58,10 @@
     linker \
     logcat \
     logwrapper \
+    mkshrc \
     service \
     servicemanager \
+    sh \
     surfaceflinger \
     toolbox