configure: support --prefix, --libdir

Support --prefix, --libdir as a conventional way of specifying the default
installation directories. libdir is required to be a subdirectory of prefix
at this time.

Change-Id: If45d9e3129efcde83c05b7766accc9017988e715
diff --git a/build/make/configure.sh b/build/make/configure.sh
index 62d8b64..26c6af0 100755
--- a/build/make/configure.sh
+++ b/build/make/configure.sh
@@ -442,7 +442,13 @@
         disable builtin_libc
         alt_libc="${optval}"
         ;;
-        --libc)
+        --prefix=*)
+        prefix="${optval}"
+        ;;
+        --libdir=*)
+        libdir="${optval}"
+        ;;
+        --libc|--prefix|--libdir)
         die "Option ${opt} requires argument"
         ;;
         --help|-h) show_help
@@ -463,6 +469,18 @@
     done
 }
 
+
+post_process_common_cmdline() {
+    prefix="${prefix:-/usr/local}"
+    prefix="${prefix%/}"
+    libdir="${libdir:-${prefix}/lib}"
+    libdir="${libdir%/}"
+    if [ "${libdir#${prefix}}" == "${libdir}" ]; then
+        die "Libdir ${libdir} must be a subdirectory of ${prefix}"
+    fi
+}
+
+
 post_process_cmdline() {
     true;
 }
@@ -880,8 +898,8 @@
 }
 
 print_config_mk() {
-    prefix=$1
-    makefile=$2
+    local prefix=$1
+    local makefile=$2
     shift 2
     for cfg; do
         upname="`toupper $cfg`"
@@ -892,8 +910,8 @@
 }
 
 print_config_h() {
-    prefix=$1
-    header=$2
+    local prefix=$1
+    local header=$2
     shift 2
     for cfg; do
         upname="`toupper $cfg`"
@@ -924,6 +942,7 @@
     else
         echo "# ${self} $@" > ${logfile}
     fi
+    post_process_common_cmdline
     post_process_cmdline
     process_toolchain
     process_detect