Blame sysdeps/riscv/preconfigure

Packit 6c4009
case "$machine" in
Packit 6c4009
riscv*)
Packit 6c4009
    xlen=`$CC $CFLAGS $CPPFLAGS -E -dM -xc /dev/null | sed -n 's/^#define __riscv_xlen \(.*\)/\1/p'`
Packit 6c4009
    flen=`$CC $CFLAGS $CPPFLAGS -E -dM -xc /dev/null | sed -n 's/^#define __riscv_flen \(.*\)/\1/p'`
Packit 6c4009
    float_abi=`$CC $CFLAGS $CPPFLAGS -E -dM -xc /dev/null | sed -n 's/^#define __riscv_float_abi_\([^ ]*\) .*/\1/p'`
Packit 6c4009
    atomic=`$CC $CFLAGS $CPPFLAGS -E -dM -xc /dev/null | grep '#define __riscv_atomic' | cut -d' ' -f2`
Packit 6c4009
Packit 6c4009
    case "$xlen" in
Packit 6c4009
    32)
Packit 6c4009
	echo "glibc does not yet support 32-bit systems" >&2
Packit 6c4009
	exit 1
Packit 6c4009
	;;
Packit 6c4009
    64)
Packit 6c4009
	;;
Packit 6c4009
    *)
Packit 6c4009
	echo "Unable to determine XLEN" >&2
Packit 6c4009
	exit 1
Packit 6c4009
	;;
Packit 6c4009
    esac
Packit 6c4009
Packit 6c4009
    case "$flen" in
Packit 6c4009
    64)
Packit 6c4009
	float_machine=rvd
Packit 6c4009
	with_fp_cond=1
Packit 6c4009
	;;
Packit 6c4009
    32)
Packit 6c4009
	echo "glibc does not yet support systems with the F but not D extensions" >&2
Packit 6c4009
	exit 1
Packit 6c4009
	;;
Packit 6c4009
    "")
Packit 6c4009
	with_fp_cond=0
Packit 6c4009
	;;
Packit 6c4009
    *)
Packit 6c4009
	echo "Unable to determine FLEN" >&2
Packit 6c4009
	exit 1
Packit 6c4009
	;;
Packit 6c4009
    esac
Packit 6c4009
Packit 6c4009
    case "$float_abi" in
Packit 6c4009
    soft)
Packit 6c4009
	abi_flen=0
Packit 6c4009
	;;
Packit 6c4009
    single)
Packit 6c4009
	echo "glibc does not yet support the single floating-point ABI" >&2
Packit 6c4009
	exit 1
Packit 6c4009
	;;
Packit 6c4009
    double)
Packit 6c4009
	abi_flen=64
Packit 6c4009
	;;
Packit 6c4009
    *)
Packit 6c4009
	echo "Unable to determine floating-point ABI" >&2
Packit 6c4009
	exit 1
Packit 6c4009
	;;
Packit 6c4009
    esac
Packit 6c4009
Packit 6c4009
    case "$atomic" in
Packit 6c4009
    __riscv_atomic)
Packit 6c4009
        ;;
Packit 6c4009
    *)
Packit 6c4009
        echo "glibc requires the A extension" >&2
Packit 6c4009
	exit 1
Packit 6c4009
	;;
Packit 6c4009
    esac
Packit 6c4009
Packit 6c4009
    base_machine=riscv
Packit 6c4009
    machine=riscv/rv$xlen/$float_machine
Packit 6c4009
Packit 6c4009
    $as_echo "#define RISCV_ABI_XLEN $xlen" >>confdefs.h
Packit 6c4009
    $as_echo "#define RISCV_ABI_FLEN $abi_flen" >>confdefs.h
Packit 6c4009
    ;;
Packit 6c4009
esac