projects
/
musl
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix bug computing argc when invoking ld-musl-mips.so.1 progname ...
[musl]
/
configure
diff --git
a/configure
b/configure
index
02aef43
..
1e8b974
100755
(executable)
--- 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 ...]
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.
Use these variables to override the choices made by configure.
@@
-69,8
+70,8
@@
fi
tryldflag () {
printf "checking whether linker accepts %s... " "$2"
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# }"
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#*=} ;;
CFLAGS=*) CFLAGS=${arg#*=} ;;
CPPFLAGS=*) CPPFLAGS=${arg#*=} ;;
LDFLAGS=*) LDFLAGS=${arg#*=} ;;
+CROSS_COMPILE=*) CROSS_COMPILE=${arg#*=} ;;
*=*) ;;
*) target=$arg ;;
esac
*=*) ;;
*) 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... "
# 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 ; }
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 ;;
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
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 -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
#
tryflag CFLAGS_C99FSE -frounding-math
#
@@
-267,6
+270,14
@@
fi
tryflag CFLAGS_AUTO -fno-stack-protector
tryldflag LDFLAGS_AUTO -Wl,--hash-style=sysv
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... "
printf "creating config.mak... "
@@
-288,6
+299,7
@@
CFLAGS= $CFLAGS_AUTO $CFLAGS
CFLAGS_C99FSE = $CFLAGS_C99FSE
CPPFLAGS = $CPPFLAGS
LDFLAGS = $LDFLAGS_AUTO $LDFLAGS
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 ="
EOF
test "x$static" = xno && echo "STATIC_LIBS ="
test "x$shared" = xno && echo "SHARED_LIBS ="