|
@@ -54,6 +54,20 @@ stripdir () {
|
|
|
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 () {
|
|
|
printf "checking whether compiler accepts %s... " "$2"
|
|
|
echo "typedef int x;" > "$tmpc"
|
|
@@ -310,6 +324,23 @@ test -z "$LIBCC" && try_libcc=`$CC -print-file-name=libpcc.a 2>/dev/null` \
|
|
|
&& tryldflag LIBCC "$try_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... "
|
|
|
|
|
@@ -320,6 +351,7 @@ cat << EOF
|
|
|
# This version of config.mak was generated by configure
|
|
|
# Any changes made here will be lost if configure is re-run
|
|
|
ARCH = $ARCH
|
|
|
+SUBARCH = $SUBARCH
|
|
|
prefix = $prefix
|
|
|
exec_prefix = $exec_prefix
|
|
|
bindir = $bindir
|