X-Git-Url: http://nsz.repo.hu/git/?p=musl;a=blobdiff_plain;f=configure;h=5beaa1092650416663542c456634619eb05fcafd;hp=25b2d805cb6cf2862e32cb34d73b6bf4aea43f73;hb=aaa9eb5101e3a748218fb9373dd9655b50582da2;hpb=08f70a30c00c587856a95d5951fb486269e4f651 diff --git a/configure b/configure index 25b2d805..5beaa109 100755 --- a/configure +++ b/configure @@ -69,8 +69,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# }" @@ -197,6 +197,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 +210,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 # @@ -263,8 +264,18 @@ tryflag CFLAGS_AUTO -Wno-unused-but-set-variable tryflag CFLAGS_AUTO -Wno-unknown-pragmas fi +# Some patched GCC builds have these defaults messed up... +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... "