11 |
|
AC_ARG_ENABLE(fbdev-dga, [ --enable-fbdev-dga use direct frame buffer access via /dev/fb [default=yes]], [WANT_FBDEV_DGA=$enableval], [WANT_FBDEV_DGA=yes]) |
12 |
|
AC_ARG_ENABLE(vosf, [ --enable-vosf enable video on SEGV signals [default=no]], [WANT_VOSF=$enableval], [WANT_VOSF=no]) |
13 |
|
|
14 |
+ |
dnl FPU emulation core. |
15 |
+ |
AC_ARG_ENABLE(fpe, |
16 |
+ |
[ --enable-fpe=which specify which fpu emulator to use [default=opt]], |
17 |
+ |
[ case "$enableval" in |
18 |
+ |
default) FPE_CORE="default";; dnl fpu_x86.cpp if i386 architecture, fpu_uae.cpp otherwise |
19 |
+ |
uae) FPE_CORE="uae";; |
20 |
+ |
*) AC_MSG_ERROR([--enable-fpe takes only one of the following values: default, uae]);; |
21 |
+ |
esac |
22 |
+ |
], |
23 |
+ |
[ FPE_CORE="default" |
24 |
+ |
]) |
25 |
+ |
|
26 |
|
dnl Addressing modes. |
27 |
|
AC_ARG_ENABLE(addressing, |
28 |
|
[ --enable-addressing=AM specify the addressing mode to use [default=fastest]], |
581 |
|
if [[ "x$HAVE_GAS" = "xyes" ]]; then |
582 |
|
ASM_OPTIMIZATIONS=i386 |
583 |
|
DEFINES="$DEFINES -DX86_ASSEMBLY -DUNALIGNED_PROFITABLE -DOPTIMIZED_FLAGS" |
584 |
< |
CPUSRCS="../uae_cpu/compiler.cpp cpufast1.s cpufast2.s cpufast3.s cpufast4.s cpufast5.s cpufast6.s cpufast7.s cpufast8.s" |
584 |
> |
CPUSRCS="cpufast1.s cpufast2.s cpufast3.s cpufast4.s cpufast5.s cpufast6.s cpufast7.s cpufast8.s" |
585 |
|
FPUSRCS="../uae_cpu/fpu_x86.cpp" |
586 |
|
fi |
587 |
|
elif [[ "x$HAVE_GCC27" = "xyes" -a "x$HAVE_SPARC" = "xyes" -a "x$HAVE_GAS" = "xyes" ]]; then |
613 |
|
CPUSRCS="asm_support.s" |
614 |
|
fi |
615 |
|
|
616 |
+ |
dnl Select appropriate FPU source. |
617 |
+ |
dnl 1. Optimized X86 assembly core if target is i386 architecture |
618 |
+ |
SAVED_DEFINES=$DEFINES |
619 |
+ |
if [[ "x$FPE_CORE" = "xdefault" ]]; then |
620 |
+ |
if [[ "x$HAVE_GCC27" = "xyes" -a "x$HAVE_I386" = "xyes" -a "x$HAVE_GAS" = "xyes" ]]; then |
621 |
+ |
DEFINES="$DEFINES -DFPU_X86" |
622 |
+ |
FPE_CORE_STR="i386 optimized core" |
623 |
+ |
FPUSRCS="../uae_cpu/fpu/fpu_x86.cpp" |
624 |
+ |
fi |
625 |
+ |
fi |
626 |
+ |
|
627 |
+ |
dnl 2. JIT-FPU only supports IEEE-based implementation. |
628 |
+ |
if [[ "x$WANT_JIT_FPU" = "xyes" -a "x$FPE_CORE" != "xieee" ]]; then |
629 |
+ |
AC_MSG_WARN([Sorry, JIT-FPU supports only the "ieee" FPE implementation]) |
630 |
+ |
FPE_CORE="ieee" |
631 |
+ |
dnl Restore previous variables. FPE_CORE_STR and FPUSRCS are overwritten |
632 |
+ |
DEFINES=$SAVED_DEFINES |
633 |
+ |
fi |
634 |
+ |
|
635 |
+ |
dnl 3. Choose either IEEE-based implementation or the old UAE core |
636 |
+ |
if [[ "x$FPE_CORE" = "xieee" ]]; then |
637 |
+ |
AC_CHECK_HEADERS(fenv.h) |
638 |
+ |
AC_CHECK_FUNCS(feclearexcept fegetexceptflag feraiseexcept fesetexceptflag fetestexcept) |
639 |
+ |
AC_CHECK_FUNCS(fegetround fesetround) |
640 |
+ |
DEFINES="$DEFINES -DFPU_IEEE" |
641 |
+ |
FPE_CORE_STR="ieee-based fpu core" |
642 |
+ |
FPUSRCS="../uae_cpu/fpu/fpu_ieee.cpp" |
643 |
+ |
elif [[ "x$FPE_CORE" = "xuae" ]]; then |
644 |
+ |
DEFINES="$DEFINES -DFPU_UAE" |
645 |
+ |
FPE_CORE_STR="original uae core" |
646 |
+ |
FPUSRCS="../uae_cpu/fpu/fpu_uae.cpp" |
647 |
+ |
fi |
648 |
+ |
|
649 |
+ |
dnl Check for certain math functions |
650 |
+ |
AC_CHECK_FUNCS(atanh) |
651 |
+ |
AC_CHECK_FUNCS(isnan isinf) dnl C99 |
652 |
+ |
AC_CHECK_FUNCS(isnanl isinfl) dnl IEEE ? |
653 |
+ |
|
654 |
|
dnl UAE CPU sources for all non-m68k-native architectures. |
655 |
|
if [[ "x$WANT_NATIVE_M68K" = "xno" ]]; then |
656 |
|
CPUINCLUDES="-I../uae_cpu" |
683 |
|
echo GTK user interface ............... : $WANT_GTK |
684 |
|
echo mon debugger support ............. : $WANT_MON |
685 |
|
echo Running m68k code natively ....... : $WANT_NATIVE_M68K |
686 |
+ |
echo Floating-Point emulation core .... : $FPE_CORE_STR |
687 |
|
echo Assembly optimizations ........... : $ASM_OPTIMIZATIONS |
688 |
|
echo Addressing mode .................. : $ADDRESSING_MODE |
689 |
|
echo |