summaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
authorThorsten Glaser <tg@mirbsd.org>2010-06-03 19:57:02 +0200
committerJean-Baptiste Queru <jbq@google.com>2010-08-24 18:08:47 -0700
commit2213aab8b9043d939752baa61910f970338a1e6b (patch)
tree44d66956624dd159062cd89e2fc685ac9c7e0320 /core
parentddeb150d8d300806de576430444bf1a84ff35e96 (diff)
downloadbuild-2213aab8b9043d939752baa61910f970338a1e6b.zip
build-2213aab8b9043d939752baa61910f970338a1e6b.tar.gz
build-2213aab8b9043d939752baa61910f970338a1e6b.tar.bz2
Add new variable TARGET_SHELL := ash (default; or mksh)
Besides that, add enough magic to build everything tagged as "shell_$(TARGET_SHELL)" and permit ash/mksh as not unusual Change-Id: I36c0590ba49f45251d24dc179cb27c8368c3662a
Diffstat (limited to 'core')
-rw-r--r--core/base_rules.mk2
-rw-r--r--core/build-system.html6
-rw-r--r--core/config.mk3
-rw-r--r--core/main.mk2
4 files changed, 9 insertions, 4 deletions
diff --git a/core/base_rules.mk b/core/base_rules.mk
index 0d17c83..2b95a5c 100644
--- a/core/base_rules.mk
+++ b/core/base_rules.mk
@@ -65,7 +65,7 @@ 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)),)
+ifneq ($(filter-out user debug eng tests optional samples shell_ash shell_mksh,$(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 ce5e869..e547185 100644
--- a/core/build-system.html
+++ b/core/build-system.html
@@ -247,6 +247,7 @@ for these).
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
@@ -266,7 +267,7 @@ for these).
<p>
This is the flavor intended to be the final release bits.
<ul>
- <li>Installs modules tagged with <code>user</code>.
+ <li>Installs modules tagged with <code>shell_</code>$(TARGET_SHELL) and <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.
@@ -681,7 +682,8 @@ up.</p>
<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>. Otherwise, it will
+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
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 337152c..0a306e1 100644
--- a/core/config.mk
+++ b/core/config.mk
@@ -105,6 +105,9 @@ TARGET_COMPRESS_MODULE_SYMBOLS := false
# Default is to prelink modules.
TARGET_PRELINK_MODULE := true
+# Default shell is ash. Other possible value is mksh.
+TARGET_SHELL := ash
+
# ###############################################################
# Include sub-configuration files
# ###############################################################
diff --git a/core/main.mk b/core/main.mk
index 98ac4bb..46bf11a 100644
--- a/core/main.mk
+++ b/core/main.mk
@@ -561,7 +561,7 @@ else
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))
+user_MODULES := $(sort $(call get-tagged-modules,user shell_$(TARGET_SHELL)))
user_MODULES := $(user_MODULES) $(user_PACKAGES)
eng_MODULES := $(sort $(call get-tagged-modules,eng))