Merge "Fix build-stlport.sh to use platforms/android-X/arch-<arch> as --sysroot"
diff --git a/build/tools/build-stlport.sh b/build/tools/build-stlport.sh
index c319849..c84f71d 100755
--- a/build/tools/build-stlport.sh
+++ b/build/tools/build-stlport.sh
@@ -155,6 +155,7 @@
     local BUILDDIR="$2"
     local TYPE="$3"
     local DSTDIR="$4"
+    local DEFAULT_CFLAGS DEFAULT_CXXLAGS
     local SRC OBJ OBJECTS CFLAGS CXXFLAGS
 
     mkdir -p "$BUILDDIR"
@@ -171,23 +172,26 @@
     builder_set_dstdir "$DSTDIR"
 
     builder_set_srcdir "$GABIXX_SRCDIR"
-    builder_cflags "$GABIXX_CFLAGS"
+    builder_reset_cflags DEFAULT_CFLAGS
+
+    builder_cflags "$DEFAULT_CFLAGS $GABIXX_CFLAGS"
+    builder_reset_cxxflags DEFAULT_CXXLAGS
     if [ "$TYPE" = "static" -a -z "$VISIBLE_LIBSTLPORT_STATIC" ]; then
-        builder_cxxflags "$GABIXX_CXXFLAGS -fvisibility=hidden -fvisibility-inlines-hidden"
+        builder_cxxflags "$DEFAULT_CXXLAGS $GABIXX_CXXFLAGS -fvisibility=hidden -fvisibility-inlines-hidden"
     else
-        builder_cxxflags "$GABIXX_CXXFLAGS"
+        builder_cxxflags "$DEFAULT_CXXLAGS $GABIXX_CXXFLAGS"
     fi
     builder_ldflags "$GABIXX_LDFLAGS"
     builder_sources $GABIXX_SOURCES
 
     builder_set_srcdir "$STLPORT_SRCDIR"
     builder_reset_cflags
-    builder_cflags "$STLPORT_CFLAGS"
+    builder_cflags "$DEFAULT_CFLAGS $STLPORT_CFLAGS"
     builder_reset_cxxflags
     if [ "$TYPE" = "static" -a -z "$VISIBLE_LIBSTLPORT_STATIC" ]; then
-        builder_cxxflags "$STLPORT_CXXFLAGS -fvisibility=hidden -fvisibility-inlines-hidden"
+        builder_cxxflags "$DEFAULT_CXXLAGS $STLPORT_CXXFLAGS -fvisibility=hidden -fvisibility-inlines-hidden"
     else
-        builder_cxxflags "$STLPORT_CXXFLAGS"
+        builder_cxxflags "$DEFAULT_CXXLAGS $STLPORT_CXXFLAGS"
     fi
     builder_sources $STLPORT_SOURCES
 
diff --git a/build/tools/builder-funcs.sh b/build/tools/builder-funcs.sh
index 2c0a6c4..5afc054 100644
--- a/build/tools/builder-funcs.sh
+++ b/build/tools/builder-funcs.sh
@@ -171,18 +171,33 @@
     _builder_varadd _BUILD_C_INCLUDES "$@"
 }
 
+# $1: optional var to hold the original cflags before reset
 builder_reset_cflags ()
 {
+    local _varname="$1"
+    if [ -n "$_varname" ] ; then
+        eval $_varname=\"$_BUILD_CFLAGS\"
+    fi
     _BUILD_CFLAGS=
 }
 
+# $1: optional var to hold the original cxxflags before reset
 builder_reset_cxxflags ()
 {
+    local _varname="$1"
+    if [ -n "$_varname" ] ; then
+        eval $_varname=\"$_BUILD_CXXFLAGS\"
+    fi
     _BUILD_CXXFLAGS=
 }
 
+# $1: optional var to hold the original c_includes before reset
 builder_reset_c_includes ()
 {
+    local _varname="$1"
+    if [ -n "$_varname" ] ; then
+        eval $_varname=\"$_BUILD_C_INCLUDES\"
+    fi
     _BUILD_C_INCLUDES=
 }
 
@@ -460,7 +475,7 @@
             ;;
         armeabi-v7a)
             builder_cflags "-mthumb -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16"
-            builder_ldflags "-Wl,--fix-cortex-a8"
+            builder_ldflags "-march=armv7-a -Wl,--fix-cortex-a8"
             ;;
     esac
 }