summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2012-09-10 15:30:52 -0400
committerRich Felker <dalias@aerifal.cx>2012-09-10 15:30:52 -0400
commit2c1cd2399a237db968a521cdaef3d47a3fb2c2e9 (patch)
tree22aba44439f43ef59dce3feb6c3be85103510290
parentc87584a3e962dabd7b97733bfc3700e003d87d28 (diff)
downloadmusl-2c1cd2399a237db968a521cdaef3d47a3fb2c2e9.tar.gz
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...
-rwxr-xr-xconfigure7
1 files changed, 7 insertions, 0 deletions
diff --git a/configure b/configure
index 4e3931c1..93518a7d 100755
--- a/configure
+++ b/configure
@@ -34,6 +34,7 @@ Some influential environment variables:
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 @@ CFLAGS=*) CFLAGS=${arg#*=} ;;
CPPFLAGS=*) CPPFLAGS=${arg#*=} ;;
LDFLAGS=*) LDFLAGS=${arg#*=} ;;
CROSS_COMPILE=*) CROSS_COMPILE=${arg#*=} ;;
+LIBCC=*) LIBCC=${arg#*=} ;;
*=*) ;;
*) target=$arg ;;
esac
@@ -286,6 +288,10 @@ printf "warning: disabling dynamic linking support\n"
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 @@ CFLAGS_C99FSE = $CFLAGS_C99FSE
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 ="