ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/cebix/BasiliskII/src/Unix/configure.ac
(Generate patch)

Comparing BasiliskII/src/Unix/configure.ac (file contents):
Revision 1.4 by gbeauche, 2002-09-16T15:40:48Z vs.
Revision 1.10 by gbeauche, 2002-10-01T09:51:09Z

# Line 5 | Line 5 | AC_INIT(main_unix.cpp)
5   AC_PREREQ(2.52)
6   AC_CONFIG_HEADER(config.h)
7  
8 < dnl Options.
8 > dnl Video options.
9   AC_ARG_ENABLE(xf86-dga,      [  --enable-xf86-dga       use the XFree86 DGA extension [default=yes]], [WANT_XF86_DGA=$enableval], [WANT_XF86_DGA=yes])
10   AC_ARG_ENABLE(xf86-vidmode,  [  --enable-xf86-vidmode   use the XFree86 VidMode extension [default=yes]], [WANT_XF86_VIDMODE=$enableval], [WANT_XF86_VIDMODE=yes])
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=yes]], [WANT_VOSF=$enableval], [WANT_VOSF=yes])
13  
14 + dnl JIT compiler options.
15 + AC_ARG_ENABLE(jit-compiler,  [  --enable-jit-compiler   enable JIT compiler [default=no]], [WANT_JIT=$enableval], [WANT_JIT=no])
16 + AC_ARG_ENABLE(jit-debug,     [  --enable-jit-debug      activate native code disassemblers [default=no]], [WANT_JIT_DEBUG=$enableval], [WANT_JIT_DEBUG=no])
17 +
18   dnl FPU emulation core.
19   AC_ARG_ENABLE(fpe,
20   [  --enable-fpe=FPE        specify which fpu emulator to use [default=auto]],
# Line 740 | Line 744 | else
744    fi
745   fi
746  
747 + dnl Banked Memory Addressing mode is not supported by the JIT compiler
748 + if [[ "x$WANT_JIT" = "xyes" -a "x$ADDRESSING_MODE" = "xmemory banks" ]]; then
749 +  AC_MSG_ERROR([Sorry, the JIT Compiler requires Direct Addressing, at least])
750 + fi
751 +
752   dnl Enable VOSF screen updates with this feature is requested and feasible
753   if [[ "x$WANT_VOSF" = "xyes" -a "x$CAN_VOSF" = "xyes" ]]; then
754      AC_DEFINE(ENABLE_VOSF, 1, [Define if using video enabled on SEGV signals.])
# Line 805 | Line 814 | fi
814   dnl Select appropriate CPU source and REGPARAM define.
815   ASM_OPTIMIZATIONS=none
816   CPUSRCS="cpuemu1.cpp cpuemu2.cpp cpuemu3.cpp cpuemu4.cpp cpuemu5.cpp cpuemu6.cpp cpuemu7.cpp cpuemu8.cpp"
817 +
818 + dnl (gb) JITSRCS will be emptied later if the JIT is not available
819 + dnl Other platforms should define their own set of noflags file variants
820 + CAN_JIT=no
821 + JITSRCS="compemu1.cpp compemu2.cpp compemu3.cpp compemu4.cpp compemu5.cpp compemu6.cpp compemu7.cpp compemu8.cpp"
822 +
823   if [[ "x$HAVE_GCC27" = "xyes" -a "x$HAVE_I386" = "xyes" -a "x$OS_TYPE" != "xfreebsd" ]]; then
824    dnl i386 CPU
825 <  DEFINES="$DEFINES -DREGPARAM=\"__attribute__((regparm(3)))\""
825 >  DEFINES="$DEFINES -DUNALIGNED_PROFITABLE -DREGPARAM=\"__attribute__((regparm(3)))\""
826    if [[ "x$HAVE_GAS" = "xyes" ]]; then
827      ASM_OPTIMIZATIONS=i386
828 <    DEFINES="$DEFINES -DX86_ASSEMBLY -DUNALIGNED_PROFITABLE -DOPTIMIZED_FLAGS"
829 <    CPUSRCS="cpufast1.s cpufast2.s cpufast3.s cpufast4.s cpufast5.s cpufast6.s cpufast7.s cpufast8.s"
828 >    DEFINES="$DEFINES -DX86_ASSEMBLY -DOPTIMIZED_FLAGS -DSAHF_SETO_PROFITABLE"
829 >    JITSRCS="cpuemu1_nf.cpp cpuemu2_nf.cpp cpuemu3_nf.cpp cpuemu4_nf.cpp cpuemu5_nf.cpp cpuemu6_nf.cpp cpuemu7_nf.cpp cpuemu8_nf.cpp $JITSRCS"
830    fi
831 +  CAN_JIT=yes
832   elif [[ "x$HAVE_GCC27" = "xyes" -a "x$HAVE_SPARC" = "xyes" -a "x$HAVE_GAS" = "xyes" ]]; then
833    dnl SPARC CPU
834    case "$target_os" in
# Line 842 | Line 858 | elif [[ "x$WANT_NATIVE_M68K" = "xyes" ]]
858    CPUSRCS="asm_support.s"
859   fi
860  
861 + dnl Enable JIT compiler, if possible.
862 + if [[ "x$WANT_JIT" = "xyes" -a "x$CAN_JIT" ]]; then
863 +  JITSRCS="$JITSRCS ../uae_cpu/compiler/compemu_support.cpp ../uae_cpu/compiler/compemu_fpp.cpp compstbl.o cpustbl_nf.o"
864 +  DEFINES="$DEFINES -DUSE_JIT -DUSE_JIT_FPU"
865 +  
866 +  if [[ "x$WANT_JIT_DEBUG" = "xyes" ]]; then
867 +    if [[ "x$WANT_MON" = "xyes" ]]; then
868 +      DEFINES="$DEFINES -DJIT_DEBUG=1"
869 +    else
870 +      AC_MSG_WARN([cxmon not found, ignoring --enable-jit-debug])
871 +      WANT_JIT_DEBUG=no
872 +    fi
873 +  fi
874 +
875 +  dnl IEEE core is the only FPU emulator to use with the JIT compiler
876 +  case $FPE_CORE_TEST_ORDER in
877 +  ieee*) ;;
878 +  *) AC_MSG_WARN([Forcing use of the IEEE FPU core, as the JIT compiler supports only this one.]) ;;
879 +  esac
880 +  FPE_CORE_TEST_ORDER="ieee"
881 + else
882 +  WANT_JIT=no
883 +  WANT_JIT_DEBUG=no
884 +  JITSRCS=""
885 + fi
886 +
887   dnl Utility macro used by next two tests.
888   dnl AC_EXAMINE_OBJECT(C source code,
889   dnl     commands examining object file,
# Line 1034 | Line 1076 | AC_CHECK_FUNCS(isnan isinf finite isnorm
1076   dnl UAE CPU sources for all non-m68k-native architectures.
1077   if [[ "x$WANT_NATIVE_M68K" = "xno" ]]; then
1078    CPUINCLUDES="-I../uae_cpu"
1079 <  CPUSRCS="../uae_cpu/basilisk_glue.cpp ../uae_cpu/memory.cpp ../uae_cpu/newcpu.cpp ../uae_cpu/readcpu.cpp $FPUSRCS cpustbl.cpp cpudefs.cpp $CPUSRCS"
1079 >  CPUSRCS="../uae_cpu/basilisk_glue.cpp ../uae_cpu/memory.cpp ../uae_cpu/newcpu.cpp ../uae_cpu/readcpu.cpp $FPUSRCS cpustbl.cpp cpudefs.cpp $CPUSRCS $JITSRCS"
1080   fi
1081  
1082   dnl Remove the "-g" option if set for GCC.
# Line 1070 | Line 1112 | echo ESD sound support .................
1112   echo GTK user interface ..................... : $WANT_GTK
1113   echo mon debugger support ................... : $WANT_MON
1114   echo Running m68k code natively ............. : $WANT_NATIVE_M68K
1115 + echo Use JIT compiler ....................... : $WANT_JIT
1116 + echo JIT debug mode ......................... : $WANT_JIT_DEBUG
1117   echo Floating-Point emulation core .......... : $FPE_CORE
1118   echo Assembly optimizations ................. : $ASM_OPTIMIZATIONS
1119   echo Addressing mode ........................ : $ADDRESSING_MODE

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines