X-Git-Url: http://nsz.repo.hu/git/?p=musl;a=blobdiff_plain;f=configure;h=1e8b974194638e9265b9cad44b8c47ace8e79df7;hp=02aef43a61037d5e64e79c2de3b1fcd93443121e;hb=7650390de8f72822ec0d4a9fb5b52efcf0be4698;hpb=0c5efde8d06670e8709e3bff548921b05a7da692 diff --git a/configure b/configure index 02aef43a..1e8b9741 100755 --- a/configure +++ b/configure @@ -33,6 +33,7 @@ Optional features: Some influential environment variables: CC C compiler command [detected] CFLAGS C compiler flags [-Os -pipe ...] + CROSS_COMPILE prefix for cross compiler and tools [none] Use these variables to override the choices made by configure. @@ -69,8 +70,8 @@ fi tryldflag () { printf "checking whether linker accepts %s... " "$2" -echo "int main() { return 0; }" > "$tmpc" -if "$CC" "$2" -o /dev/null "$tmpc" 2>/dev/null ; then +echo "typedef int x;" > "$tmpc" +if "$CC" -nostdlib -shared "$2" -o /dev/null "$tmpc" 2>/dev/null ; then printf "yes\n" eval "$1=\"\${$1} \$2\"" eval "$1=\${$1# }" @@ -126,6 +127,7 @@ CC=*) CC=${arg#*=} ;; CFLAGS=*) CFLAGS=${arg#*=} ;; CPPFLAGS=*) CPPFLAGS=${arg#*=} ;; LDFLAGS=*) LDFLAGS=${arg#*=} ;; +CROSS_COMPILE=*) CROSS_COMPILE=${arg#*=} ;; *=*) ;; *) target=$arg ;; esac @@ -155,9 +157,9 @@ trap 'rm "$tmpc"' EXIT INT QUIT TERM HUP # Find a C compiler to use # printf "checking for C compiler... " -trycc gcc -trycc c99 -trycc cc +trycc ${CROSS_COMPILE}gcc +trycc ${CROSS_COMPILE}c99 +trycc ${CROSS_COMPILE}cc printf "%s\n" "$CC" test -n "$CC" || { echo "$0: cannot find a C compiler" ; exit 1 ; } @@ -197,6 +199,7 @@ case "$target" in arm*) ARCH=arm ;; i?86*) ARCH=i386 ;; x86_64*) ARCH=x86_64 ;; +mips-*|mipsel-*) ARCH=mips ;; unknown) fail "$0: unable to detect target arch; try $0 --target=..." ;; *) fail "$0: unknown or unsupported target \"$target\"" ;; esac @@ -209,7 +212,7 @@ tryflag CFLAGS_C99FSE -nostdinc tryflag CFLAGS_C99FSE -ffreestanding \ || tryflag CFLAGS_C99FSE -fno-builtin tryflag CFLAGS_C99FSE -fexcess-precision=standard \ -|| tryflag CFLAGS_C99FSE -ffloat-store +|| { test "$ARCH" = i386 && tryflag CFLAGS_C99FSE -ffloat-store ; } tryflag CFLAGS_C99FSE -frounding-math # @@ -267,6 +270,14 @@ fi tryflag CFLAGS_AUTO -fno-stack-protector tryldflag LDFLAGS_AUTO -Wl,--hash-style=sysv +# Disable dynamic linking if ld is broken and can't do -Bsymbolic-functions +LDFLAGS_DUMMY= +tryldflag LDFLAGS_DUMMY -Wl,-Bsymbolic-functions || { +printf "warning: disabling dynamic linking support\n" +shared=no +} + + printf "creating config.mak... " @@ -288,6 +299,7 @@ CFLAGS= $CFLAGS_AUTO $CFLAGS CFLAGS_C99FSE = $CFLAGS_C99FSE CPPFLAGS = $CPPFLAGS LDFLAGS = $LDFLAGS_AUTO $LDFLAGS +CROSS_COMPILE = $CROSS_COMPILE EOF test "x$static" = xno && echo "STATIC_LIBS =" test "x$shared" = xno && echo "SHARED_LIBS ="