Determine library suffix by ABI.

Change-Id: I2ae5b6dcc949f0c47392b2afbe49984250ba9478
diff --git a/build/tools/build-cxx-stl.sh b/build/tools/build-cxx-stl.sh
index 919af70..811ceab 100755
--- a/build/tools/build-cxx-stl.sh
+++ b/build/tools/build-cxx-stl.sh
@@ -397,11 +397,12 @@
     local TYPE="$3"
     local DSTDIR="$4"
     local DEFAULT_CFLAGS DEFAULT_CXXFLAGS
-    local SRC OBJ OBJECTS EXTRA_CXXFLAGS
+    local SRC OBJ OBJECTS EXTRA_CXXFLAGS LIB_SUFFIX
 
     mkdir -p "$BUILDDIR"
 
     DSTDIR=$DSTDIR/$CXX_STL_SUBDIR/libs/$ABI
+    LIB_SUFFIX="$(get_lib_suffix_for_abi $ABI)"
 
     if [ "$TYPE" = "static" -a -z "$VISIBLE_STATIC" ]; then
       EXTRA_CXXFLAGS="$STATIC_CXXFLAGS"
@@ -447,12 +448,12 @@
         log "Building $DSTDIR/${CXX_STL_LIB}_static.a"
         builder_static_library ${CXX_STL_LIB}_static
     else
-        log "Building $DSTDIR/${CXX_STL_LIB}_shared.so"
+        log "Building $DSTDIR/${CXX_STL_LIB}_shared${LIB_SUFFIX}"
         if [ "$(find_ndk_unknown_archs)" != "$ABI" ]; then
-            builder_shared_library ${CXX_STL_LIB}_shared
+            builder_shared_library ${CXX_STL_LIB}_shared $LIB_SUFFIX
         else
             builder_ldflags "-lc -lm"
-            builder_nostdlib_shared_library ${CXX_STL_LIB}_shared  # Don't use libgcc
+            builder_nostdlib_shared_library ${CXX_STL_LIB}_shared $LIB_SUFFIX # Don't use libgcc
         fi
     fi
 
@@ -468,7 +469,8 @@
 if [ -n "$PACKAGE_DIR" ] ; then
     for ABI in $ABIS; do
         FILES=""
-        for LIB in ${CXX_STL_LIB}_static.a ${CXX_STL_LIB}_shared.so; do
+        LIB_SUFFIX="$(get_lib_suffix_for_abi $ABI)"
+        for LIB in ${CXX_STL_LIB}_static.a ${CXX_STL_LIB}_shared${LIB_SUFFIX}; do
             FILES="$FILES $CXX_STL_SUBDIR/libs/$ABI/$LIB"
         done
         PACKAGE="$PACKAGE_DIR/${CXX_STL_PACKAGE}-libs-$ABI.tar.bz2"
diff --git a/build/tools/builder-funcs.sh b/build/tools/builder-funcs.sh
index 8b8402b..de69d63 100644
--- a/build/tools/builder-funcs.sh
+++ b/build/tools/builder-funcs.sh
@@ -346,10 +346,14 @@
 
 builder_shared_library ()
 {
-    local lib libname
+    local lib libname suffix
     libname=$1
+    suffix=$2
+    if [ -z "$suffix" ]; then
+        suffix=".so"
+    fi
     lib=$_BUILD_DSTDIR/$libname
-    lib=${lib%%.so}.so
+    lib=${lib%%${suffix}}${suffix}
     if [ "$_BUILD_MK" ]; then
         _BUILD_TARGETS=$_BUILD_TARGETS" $lib"
         echo "$lib: $_BUILD_OBJECTS" >> $_BUILD_MK
@@ -377,10 +381,14 @@
 # Same as builder_shared_library, but do not link the default libs
 builder_nostdlib_shared_library ()
 {
-    local lib libname
+    local lib libname suffix
     libname=$1
+    suffix=$2
+    if [ -z "$suffix" ]; then
+        suffix=".so"
+    fi
     lib=$_BUILD_DSTDIR/$libname
-    lib=${lib%%.so}.so
+    lib=${lib%%${suffix}}${suffix}
     if [ "$_BUILD_MK" ]; then
         _BUILD_TARGETS=$_BUILD_TARGETS" $lib"
         echo "$lib: $_BUILD_OBJECTS" >> $_BUILD_MK
diff --git a/build/tools/prebuilt-common.sh b/build/tools/prebuilt-common.sh
index 2138372..426c6fd 100644
--- a/build/tools/prebuilt-common.sh
+++ b/build/tools/prebuilt-common.sh
@@ -1178,6 +1178,19 @@
     fi
 }
 
+# Get library suffix for given ABI
+# $1: ABI
+# Return: .so or .bc
+get_lib_suffix_for_abi ()
+{
+    local ABI=$1
+    if [ $(arch_in_unknown_archs $ABI) = "yes" ]; then
+       echo ".bc"
+    else
+       echo ".so"
+    fi
+}
+
 # Convert an ABI name into an Architecture name
 # $1: ABI name
 # Result: Arch name