Files
openbios/config/scripts/crosscflags

61 lines
1.5 KiB
Plaintext
Raw Normal View History

#!/bin/sh
host=$1
target=$2
if test "$host" = "powerpc" -o "$host" = "ppc" \
-o "$host" = "mips" -o "$host" = "s390" \
-o "$host" = "sparc32" -o "$host" = "sparc64" \
-o "$host" = "m68k" -o "$host" = "armv4b"; then
hostbigendian="yes"
else
hostbigendian="no"
fi
# host long bits test
if test "$host" = "sparc64" -o "$host" = "ia64" \
-o "$host" = "amd64" -o "$host" = "x86_64" \
-o "$host" = "alpha"; then
hostlongbits="64"
else
hostlongbits="32"
fi
if test "$target" = "powerpc" -o "$target" = "ppc" \
-o "$target" = "mips" -o "$target" = "s390" \
-o "$target" = "sparc32" -o "$target" = "sparc64" \
-o "$target" = "m68k" -o "$target" = "armv4b"; then
targetbigendian="yes"
else
targetbigendian="no"
fi
# target long bits test
if test "$target" = "sparc64" -o "$target" = "ia64" \
-o "$target" = "amd64" -o "target" = "x86_64" \
-o "$target" = "alpha"; then
targetlongbits="64"
else
targetlongbits="32"
fi
if test "$targetbigendian" = "$hostbigendian"; then
cflags="-USWAP_ENDIANNESS"
else
cflags="-DSWAP_ENDIANNESS"
fi
if test "$targetlongbits" = "$hostlongbits"; then
cflags="$cflags -DNATIVE_BITWIDTH_EQUALS_HOST_BITWIDTH"
elif test "$targetlongbits" -lt "$hostlongbits"; then
cflags="$cflags -DNATIVE_BITWIDTH_SMALLER_THAN_HOST_BITWIDTH"
else
cflags="$cflags -DNATIVE_BITWIDTH_LARGER_THAN_HOST_BITWIDTH"
fi
if test "$host" = "x86" -a "$targetlongbits" = "64"; then
cflags="$cflags -DNEED_FAKE_INT128_T"
fi
echo "$cflags"