#!/bin/sh

debug=false

try() {
    added="$1"
    shift
    $debug && echo "Trying: $* $added"
    "$@" $added >busybox.map 2>busybox_ld.err \
    && { rm busybox_ld.err; exit 0; }
}

try "" "$@"
try "-lm" "$@"
try "-lcrypt" "$@"
try "-Wl,--start-group -lcrypt -lm -Wl,--end-group" "$@"
# It failed. Let people see the error messages
cat busybox_ld.err