MIPS support to *.mk files and envsetup.sh

Change-Id: Iba4d046e3202524b29cfe32980927f8cc0aa8496
Signed-off-by: Chris Dearman <chris@mips.com>
Signed-off-by: Raghu Gandham <raghu@mips.com>
diff --git a/core/config.mk b/core/config.mk
index b0b5082..03e4245 100644
--- a/core/config.mk
+++ b/core/config.mk
@@ -148,6 +148,9 @@
   $(error Multiple board config files for TARGET_DEVICE $(TARGET_DEVICE): $(board_config_mk))
 endif
 include $(board_config_mk)
+ifeq ($(TARGET_ARCH),)
+  $(error TARGET_ARCH not defined by board config: $(board_config_mk))
+endif
 TARGET_DEVICE_DIR := $(patsubst %/,%,$(dir $(board_config_mk)))
 board_config_mk :=
 
diff --git a/core/dumpvar.mk b/core/dumpvar.mk
index d481742..5298f35 100644
--- a/core/dumpvar.mk
+++ b/core/dumpvar.mk
@@ -23,6 +23,13 @@
         ABP:=$(ABP):$(PWD)/prebuilts/gcc/$(HOST_PREBUILT_TAG)/x86/i686-linux-android-4.6/bin
     endif
 endif
+
+# Add the mips toolchain bin dir if it actually exists
+ifneq ($(wildcard $(PWD)/prebuilts/gcc/$(HOST_PREBUILT_TAG)/mips/mipsel-linux-android-4.6/bin),)
+    # this should be copied to HOST_OUT_EXECUTABLES instead
+    ABP:=$(ABP):$(PWD)/prebuilts/gcc/$(HOST_PREBUILT_TAG)/mips/mipsel-linux-android-4.6/bin
+endif
+
 ANDROID_BUILD_PATHS := $(ABP)
 ANDROID_PREBUILTS := prebuilt/$(HOST_PREBUILT_TAG)
 ANDROID_GCC_PREBUILTS := prebuilts/gcc/$(HOST_PREBUILT_TAG)
diff --git a/core/envsetup.mk b/core/envsetup.mk
index 74e9100..ce222a9 100644
--- a/core/envsetup.mk
+++ b/core/envsetup.mk
@@ -33,7 +33,7 @@
 
 # ---------------------------------------------------------------
 # Set up configuration for host machine.  We don't do cross-
-# compiles except for arm, so the HOST is whatever we are
+# compiles except for arm/mips, so the HOST is whatever we are
 # running on
 
 UNAME := $(shell uname -sm)
@@ -124,13 +124,10 @@
 # Set up configuration for target machine.
 # The following must be set:
 # 		TARGET_OS = { linux }
-# 		TARGET_ARCH = { arm | x86 }
+# 		TARGET_ARCH = { arm | x86 | mips }
 
-
-ifeq ($(TARGET_ARCH),)
-TARGET_ARCH := arm
-endif
 TARGET_OS := linux
+# TARGET_ARCH should be set by BoardConfig.mk and will be checked later
 
 # the target build type defaults to release
 ifneq ($(TARGET_BUILD_TYPE),debug)
diff --git a/core/user_tags.mk b/core/user_tags.mk
index 24f563d..e13969c 100644
--- a/core/user_tags.mk
+++ b/core/user_tags.mk
@@ -112,6 +112,7 @@
 	emmalib \
 	emulator \
 	emulator-arm \
+	emulator-mips \
 	emulator-core \
 	emulator-elff \
 	emulator-hw \
@@ -209,6 +210,7 @@
 	libebl \
 	libebl_arm \
 	libebl_sh \
+	libebl_mips \
 	libedify \
 	libeffects \
 	libEGL \