build system: FEATURE_LIBBUSYBOX_STATIC - try to pull libc/libm into libbusybox

It variously fails with different toolchains I tried...

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
diff --git a/scripts/trylink b/scripts/trylink
index 9f288c1..ba2d265 100755
--- a/scripts/trylink
+++ b/scripts/trylink
@@ -91,7 +91,9 @@
 
 START_GROUP="-Wl,--start-group"
 END_GROUP="-Wl,--end-group"
-INFO_OPTS="-Wl,--warn-common -Wl,-Map,$EXE.map -Wl,--verbose"
+INFO_OPTS() {
+	echo "-Wl,--warn-common -Wl,-Map,$EXE.map -Wl,--verbose"
+}
 
 # gold may not support --sort-common (yet)
 SORT_COMMON="-Wl,--sort-common"
@@ -194,7 +196,7 @@
 	    $GC_SECTIONS \
 	    $START_GROUP $O_FILES $A_FILES $END_GROUP \
 	    $l_list \
-	    $INFO_OPTS \
+	    `INFO_OPTS` \
     || {
 	cat $EXE.out
 	exit 1
@@ -225,7 +227,7 @@
 	    -Wl,-T,busybox_ldscript \
 	    $START_GROUP $O_FILES $A_FILES $END_GROUP \
 	    $l_list \
-	    $INFO_OPTS \
+	    `INFO_OPTS` \
     || {
 	cat $EXE.out
 	exit 1
@@ -244,10 +246,14 @@
     }
     ln -s "libbusybox.so.$BB_VER" "$sharedlib_dir"/libbusybox.so 2>/dev/null
 
+    # Yes, "ld -shared -static" is a thing. It's a shared library which is itself static.
+    LBB_STATIC=""
+    test "$CONFIG_FEATURE_LIBBUSYBOX_STATIC" = y && LBB_STATIC="-Wl,-static"
+
     EXE="$sharedlib_dir/libbusybox.so.${BB_VER}_unstripped"
     try $CC $CFLAGS $LDFLAGS \
 	    -o $EXE \
-	    -shared -fPIC \
+	    -shared -fPIC $LBB_STATIC \
 	    -Wl,--enable-new-dtags \
 	    -Wl,-z,combreloc \
 	    -Wl,-soname="libbusybox.so.$BB_VER" \
@@ -256,7 +262,7 @@
 	    $SORT_SECTION \
 	    $START_GROUP $A_FILES $END_GROUP \
 	    $l_list \
-	    $INFO_OPTS \
+	    `INFO_OPTS` \
     || {
 	echo "Linking $EXE failed"
 	cat $EXE.out
@@ -277,7 +283,7 @@
 	    $START_GROUP $O_FILES $END_GROUP \
 	    -L"$sharedlib_dir" -lbusybox \
 	    $l_list \
-	    $INFO_OPTS \
+	    `INFO_OPTS` \
     || {
 	echo "Linking $EXE failed"
 	cat $EXE.out