提交 3e7f186e 编写于 作者: R Rich Felker

add build system support for arch endian & float abi variants

上级 f389c498
...@@ -49,7 +49,7 @@ TOOL_LIBS = lib/musl-gcc.specs ...@@ -49,7 +49,7 @@ TOOL_LIBS = lib/musl-gcc.specs
ALL_LIBS = $(CRT_LIBS) $(STATIC_LIBS) $(SHARED_LIBS) $(EMPTY_LIBS) $(TOOL_LIBS) ALL_LIBS = $(CRT_LIBS) $(STATIC_LIBS) $(SHARED_LIBS) $(EMPTY_LIBS) $(TOOL_LIBS)
ALL_TOOLS = tools/musl-gcc ALL_TOOLS = tools/musl-gcc
LDSO_PATHNAME = $(syslibdir)/ld-musl-$(ARCH).so.1 LDSO_PATHNAME = $(syslibdir)/ld-musl-$(ARCH)$(SUBARCH).so.1
-include config.mak -include config.mak
......
...@@ -54,6 +54,20 @@ stripdir () { ...@@ -54,6 +54,20 @@ stripdir () {
while eval "fnmatch '*/' \"\${$1}\"" ; do eval "$1=\${$1%/}" ; done while eval "fnmatch '*/' \"\${$1}\"" ; do eval "$1=\${$1%/}" ; done
} }
trycppif () {
printf "checking preprocessor condition %s... " "$1"
echo "#if $1" > "$tmpc"
echo "#error yes" >> "$tmpc"
echo "#endif" >> "$tmpc"
if $CC $2 -c -o /dev/null "$tmpc" >/dev/null 2>&1 ; then
printf "false\n"
return 1
else
printf "true\n"
return 0
fi
}
tryflag () { tryflag () {
printf "checking whether compiler accepts %s... " "$2" printf "checking whether compiler accepts %s... " "$2"
echo "typedef int x;" > "$tmpc" echo "typedef int x;" > "$tmpc"
...@@ -310,6 +324,23 @@ test -z "$LIBCC" && try_libcc=`$CC -print-file-name=libpcc.a 2>/dev/null` \ ...@@ -310,6 +324,23 @@ test -z "$LIBCC" && try_libcc=`$CC -print-file-name=libpcc.a 2>/dev/null` \
&& tryldflag LIBCC "$try_libcc" && tryldflag LIBCC "$try_libcc"
printf "using compiler runtime libraries: %s\n" "$LIBCC" printf "using compiler runtime libraries: %s\n" "$LIBCC"
# Figure out arch variants for archs with variants
SUBARCH=
t="$CFLAGS_C99FSE $CPPFLAGS $CFLAGS_AUTO $CFLAGS"
if test "$ARCH" = "arm" ; then
trycppif __ARMEB__ "$t" && SUBARCH=${SUBARCH}eb
trycppif __SOFTFP__ "$t" || SUBARCH=${SUBARCH}hf
fi
test "$ARCH" = "mips" && trycppif "_MIPSEL || __MIPSEL || __MIPSEL__" "$t" \
&& SUBARCH=${SUBARCH}el
test "$ARCH" = "microblaze" && trycppif __MICROBLAZEEL__ "$t" \
&& SUBARCH=${SUBARCH}el
test "$SUBARCH" \
&& printf "configured for %s variant: %s\n" "$ARCH" "$ARCH$SUBARCH"
printf "creating config.mak... " printf "creating config.mak... "
...@@ -320,6 +351,7 @@ cat << EOF ...@@ -320,6 +351,7 @@ cat << EOF
# This version of config.mak was generated by configure # This version of config.mak was generated by configure
# Any changes made here will be lost if configure is re-run # Any changes made here will be lost if configure is re-run
ARCH = $ARCH ARCH = $ARCH
SUBARCH = $SUBARCH
prefix = $prefix prefix = $prefix
exec_prefix = $exec_prefix exec_prefix = $exec_prefix
bindir = $bindir bindir = $bindir
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册