add LIBCC (compiler runtime) logic and override to configure
this should both fix the issue with ARM needing -lgcc_eh (although
that's really a bug in the libgcc build process that's causing
considerable bloat, which should be fixed) and make it easier to build
musl using clang/llvm in place of gcc. unfortunately I don't know a
good way to detect and support pcc's -lpcc since it's not in pcc's
default library search path...
diff --git a/configure b/configure
index 4e3931c..93518a7 100755
--- a/configure
+++ b/configure
@@ -34,6 +34,7 @@
CC C compiler command [detected]
CFLAGS C compiler flags [-Os -pipe ...]
CROSS_COMPILE prefix for cross compiler and tools [none]
+ LIBCC compiler runtime library [detected]
Use these variables to override the choices made by configure.
@@ -128,6 +129,7 @@
CPPFLAGS=*) CPPFLAGS=${arg#*=} ;;
LDFLAGS=*) LDFLAGS=${arg#*=} ;;
CROSS_COMPILE=*) CROSS_COMPILE=${arg#*=} ;;
+LIBCC=*) LIBCC=${arg#*=} ;;
*=*) ;;
*) target=$arg ;;
esac
@@ -286,6 +288,10 @@
shared=no
}
+# Find compiler runtime library
+test -z "$LIBCC" && tryldflag LIBCC -lgcc && tryldflag LIBCC -lgcc_eh
+test -z "$LIBCC" && tryldflag LIBCC -lcompiler_rt
+printf "using compiler runtime libraries: %s\n" "$LIBCC"
printf "creating config.mak... "
@@ -309,6 +315,7 @@
CPPFLAGS = $CPPFLAGS
LDFLAGS = $LDFLAGS_AUTO $LDFLAGS
CROSS_COMPILE = $CROSS_COMPILE
+LIBCC = $LIBCC
EOF
test "x$static" = xno && echo "STATIC_LIBS ="
test "x$shared" = xno && echo "SHARED_LIBS ="