The script does not allow building for different architectures.
It may assume that the developer has set the ARCH as a global
variable.

Add a switch argument to pass in the desired architecture.
Then verify that that architecture is supported in the arch
directory.

If not exit if it is supported then set it.

Signed-off-by: Dan Murphy <dmur...@ti.com>
---
 scripts/kconfig/merge_config.sh | 29 +++++++++++++++++++++++++++--
 1 file changed, 27 insertions(+), 2 deletions(-)

diff --git a/scripts/kconfig/merge_config.sh b/scripts/kconfig/merge_config.sh
index ec8e203..bdbff4b 100755
--- a/scripts/kconfig/merge_config.sh
+++ b/scripts/kconfig/merge_config.sh
@@ -19,7 +19,16 @@
 #  but WITHOUT ANY WARRANTY; without even the implied warranty of
 #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 #  See the GNU General Public License for more details.
-
+verify_arch() {
+       cd arch
+       for d in * ; do
+               if [ "$d" = "$_TEST_ARCH" ]; then
+                       BUILD_ARCH="ARCH="$d
+                       break
+               fi
+       done
+       cd ..
+}
 clean_up() {
        rm -f $TMP_FILE
        exit
@@ -33,6 +42,7 @@ usage() {
        echo "  -n    use allnoconfig instead of alldefconfig"
        echo "  -r    list redundant entries when merging fragments"
        echo "  -O    dir to put generated output files"
+       echo "  -A    architecture to support for make"
 }
 
 RUNMAKE=true
@@ -71,6 +81,21 @@ while true; do
                shift 2
                continue
                ;;
+       "-A")
+               if [ "$2" != "" ]; then
+                       _TEST_ARCH=$2
+                       verify_arch
+                       if [ "$BUILD_ARCH" = "" ]; then
+                               echo "ARCH $_TEST_ARCH is not valid" 1>&2
+                               exit 1
+                       fi
+               else
+                       echo "ARCH $_TEST_ARCH is not valid" 1>&2
+                       exit 1
+               fi
+               shift 2
+               continue
+               ;;
        *)
                break
                ;;
@@ -139,7 +164,7 @@ fi
 # Use the merged file as the starting point for:
 # alldefconfig: Fills in any missing symbols with Kconfig default
 # allnoconfig: Fills in any missing symbols with # CONFIG_* is not set
-make KCONFIG_ALLCONFIG=$TMP_FILE $OUTPUT_ARG $ALLTARGET
+make $BUILD_ARCH KCONFIG_ALLCONFIG=$TMP_FILE $OUTPUT_ARG $ALLTARGET
 
 
 # Check all specified config values took (might have missed-dependency issues)
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to