Merge "gnu-libstdc++: --visible-libgnustl-static option"
diff --git a/build/tools/build-gnu-libstdc++.sh b/build/tools/build-gnu-libstdc++.sh
index f42240e..927cb86 100755
--- a/build/tools/build-gnu-libstdc++.sh
+++ b/build/tools/build-gnu-libstdc++.sh
@@ -64,6 +64,9 @@
NO_MAKEFILE=
register_var_option "--no-makefile" NO_MAKEFILE "Do not use makefile to speed-up build"
+VISIBLE_LIBGNUSTL_STATIC=
+register_var_option "--visible-libgnustl-static" VISIBLE_LIBGNUSTL_STATIC "Do not use hidden visibility for libgnustl_static.a"
+
register_jobs_option
extract_parameters "$@"
@@ -184,13 +187,15 @@
if [ $LIBTYPE = "static" ]; then
# Ensure we disable visibility for the static library to reduce the
# size of the code that will be linked against it.
- LIBTYPE_FLAGS="--enable-static --disable-shared"
- if [ $GCC_VERSION = "4.4.3" -o $GCC_VERSION = "4.6" ]; then
- LIBTYPE_FLAGS=$LIBTYPE_FLAGS" --disable-visibility"
- else
- LIBTYPE_FLAGS=$LIBTYPE_FLAGS" --disable-libstdcxx-visibility"
+ if [ -z "$VISIBLE_LIBGNUSTL_STATIC" ] ; then
+ LIBTYPE_FLAGS="--enable-static --disable-shared"
+ if [ $GCC_VERSION = "4.4.3" -o $GCC_VERSION = "4.6" ]; then
+ LIBTYPE_FLAGS=$LIBTYPE_FLAGS" --disable-visibility"
+ else
+ LIBTYPE_FLAGS=$LIBTYPE_FLAGS" --disable-libstdcxx-visibility"
+ fi
+ CXXFLAGS=$CXXFLAGS" -fvisibility=hidden -fvisibility-inlines-hidden"
fi
- CXXFLAGS=$CXXFLAGS" -fvisibility=hidden -fvisibility-inlines-hidden"
else
LIBTYPE_FLAGS="--disable-static --enable-shared"
#LDFLAGS=$LDFLAGS" -lsupc++"
diff --git a/build/tools/build-target-prebuilts.sh b/build/tools/build-target-prebuilts.sh
index 725c5c8..4d17e3d 100755
--- a/build/tools/build-target-prebuilts.sh
+++ b/build/tools/build-target-prebuilts.sh
@@ -29,6 +29,9 @@
PACKAGE_DIR=
register_var_option "--package-dir=<path>" PACKAGE_DIR "Package toolchain into this directory"
+VISIBLE_LIBGNUSTL_STATIC=
+register_var_option "--visible-libgnustl-static" VISIBLE_LIBGNUSTL_STATIC "Do not use hidden visibility for libgnustl_static.a"
+
register_jobs_option
PROGRAM_PARAMETERS="<toolchain-src-dir>"
@@ -93,6 +96,10 @@
run $BUILDTOOLS/build-stlport.sh $FLAGS
fail_panic "Could not build stlport!"
+if [ ! -z $VISIBLE_LIBGNUSTL_STATIC ]; then
+ FLAGS=$FLAGS" --visible-libgnustl-static"
+fi
+
dump "Building $ABIS gnustl binaries..."
run $BUILDTOOLS/build-gnu-libstdc++.sh $FLAGS "$SRC_DIR"
fail_panic "Could not build gnustl!"