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

Comparing SheepShaver/src/Unix/configure.in (file contents):
Revision 1.8 by gbeauche, 2003-09-28T21:19:06Z vs.
Revision 1.9 by gbeauche, 2003-11-24T23:39:35Z

# Line 5 | Line 5 | AC_INIT(main_unix.cpp)
5   AC_PREREQ(2.12)
6   AC_CONFIG_HEADER(config.h)
7  
8 + dnl Canonical system information.
9 + AC_CANONICAL_HOST
10 + AC_CANONICAL_TARGET
11 +
12   dnl Options.
13 + AC_ARG_ENABLE(jit,          [  --enable-jit            enable JIT compiler [default=yes]], [WANT_JIT=$enableval], [WANT_JIT=yes])
14   AC_ARG_ENABLE(ppc-emulator, [  --enable-ppc-emulator   use the selected PowerPC emulator [default=auto]], [WANT_EMULATED_PPC=$enableval], [WANT_EMULATED_PPC=auto])
15   AC_ARG_ENABLE(xf86-dga,     [  --enable-xf86-dga       use the XFree86 DGA extension [default=yes]], [WANT_XF86_DGA=$enableval], [WANT_XF86_DGA=yes])
16   AC_ARG_ENABLE(xf86-vidmode, [  --enable-xf86-vidmode   use the XFree86 VidMode extension [default=yes]], [WANT_XF86_VIDMODE=$enableval], [WANT_XF86_VIDMODE=yes])
# Line 187 | Line 192 | AC_CHECK_FUNCS(vm_allocate vm_deallocate
192   dnl Select system-dependant sources.
193   if [[ "x$EMULATED_PPC" = "xno" ]]; then
194    SYSSRCS="Linux/paranoia.cpp Linux/sheepthreads.c Linux/asm_linux.S"
190 else
191  SYSSRCS="../kpx_cpu/sheepshaver_glue.cpp \
192        ../kpx_cpu/src/cpu/ppc/ppc-cpu.cpp \
193        ../kpx_cpu/src/cpu/ppc/ppc-decode.cpp \
194        ../kpx_cpu/src/cpu/ppc/ppc-execute.cpp"
195  CPPFLAGS="$CPPFLAGS -I../kpx_cpu/include -I../kpx_cpu/src"
195   fi
196   SYSSRCS="$SYSSRCS $SEMSRCS $UISRCS $MONSRCS"
197  
# Line 511 | Line 510 | else
510      WANT_VOSF=no
511   fi
512  
513 + dnl Check for GCC 2.7 or higher.
514 + HAVE_GCC27=no
515 + AC_MSG_CHECKING(for GCC 2.7 or higher)
516 + AC_EGREP_CPP(xyes,
517 + [#if __GNUC__ - 1 > 1 || __GNUC_MINOR__ - 1 > 5
518 +  xyes
519 + #endif
520 + ], [AC_MSG_RESULT(yes); HAVE_GCC27=yes], AC_MSG_RESULT(no))
521 +
522 + dnl Check for GCC 3.0 or higher.
523 + HAVE_GCC30=no
524 + AC_MSG_CHECKING(for GCC 3.0 or higher)
525 + AC_EGREP_CPP(xyes,
526 + [#if __GNUC__ >= 3
527 +  xyes
528 + #endif
529 + ], [AC_MSG_RESULT(yes); HAVE_GCC30=yes], AC_MSG_RESULT(no))
530 +
531 + # Test if the compiler can generate ELF objects
532 + AC_CACHE_CHECK([whether the compiler can generate ELF objects],
533 +  ac_cv_elf_objects, [
534 +  echo 'int i;' > conftest.$ac_ext
535 +  ac_cv_elf_objects=no
536 +  if AC_TRY_EVAL(ac_compile); then
537 +    case `/usr/bin/file conftest.$ac_objext` in
538 +    *"ELF"*)
539 +      ac_cv_elf_objects=yes
540 +      ;;
541 +    esac
542 +  fi
543 +  rm -rf conftest*
544 + ])
545 + ELF_OBJECTS=$ac_cv_elf_objects
546 +
547 + dnl FIXME: forcibly disable JIT for now
548 + WANT_JIT=no
549 +
550 + dnl CPU emulator sources
551 + if [[ "x$EMULATED_PPC" = "xyes" ]]; then
552 +  CPUSRCS="\
553 +    ../kpx_cpu/src/cpu/ppc/ppc-cpu.cpp \
554 +    ../kpx_cpu/src/cpu/ppc/ppc-decode.cpp \
555 +    ../kpx_cpu/src/cpu/ppc/ppc-execute.cpp \
556 +    ../kpx_cpu/src/cpu/ppc/ppc-translate.cpp"
557 +  CPPFLAGS="$CPPFLAGS -I../kpx_cpu/include -I../kpx_cpu/src"
558 +
559 +  dnl Enable JIT compiler, if possible
560 +  if [[ "x$WANT_JIT" = "xyes" ]]; then
561 +    AC_CACHE_CHECK([whether dyngen can be used],
562 +      ac_cv_use_dyngen, [
563 +      case $host_cpu:$ELF_OBJECTS in
564 +      powerpc:yes)
565 +        ac_cv_use_dyngen=yes
566 +        ;;
567 +      x86_64:yes)
568 +        ac_cv_use_dyngen=yes
569 +        ;;
570 +      i?86:yes)
571 +        ac_cv_use_dyngen=yes
572 +        ;;
573 +      *:*)
574 +        ac_cv_use_dyngen=no
575 +        ;;
576 +      esac
577 +    ])
578 +    if [[ "x$ac_cv_use_dyngen" = "xyes" ]]; then
579 +      case $host_cpu in
580 +      i?86:yes)
581 +        DYNGEN_OP_FLAGS="-fomit-frame-pointer -mpreferred-stack-boundary=2"
582 +        if [[ "x$HAVE_GCC30" = "xyes" ]]; then
583 +          DYNGEN_OP_FLAGS="$DYNGEN_OP_FLAGS -falign-functions=0"
584 +        else
585 +          DYNGEN_OP_FLAGS="$DYNGEN_OP_FLAGS -malign-functions=0"
586 +        fi
587 +        ;;
588 +      esac
589 +      DYNGEN_OP_FLAGS="$DYNGEN_OP_FLAGS -finline-limit=2000"
590 +      if [[ "x$HAVE_GCC30" = "xyes" ]]; then
591 +        DYNGEN_OP_FLAGS="$DYNGEN_OP_FLAGS -fno-reorder-blocks -fno-optimize-sibling-calls"
592 +      fi
593 +    else
594 +      WANT_JIT=no
595 +    fi
596 +    AC_TRANSLATE_DEFINE(ENABLE_DYNGEN, $ac_cv_use_dyngen, [Define to enable dyngen engine])
597 +    if [[ "x$WANT_JIT" = "xyes" ]]; then
598 +      DYNGENSRCS="\
599 +        ../kpx_cpu/src/cpu/jit/dyngen.c \
600 +        ../kpx_cpu/src/cpu/jit/cxxdemangle.cpp"
601 +      CPUSRCS="\
602 +        ../kpx_cpu/src/cpu/jit/jit-cache.cpp \
603 +        ../kpx_cpu/src/cpu/jit/basic-dyngen.cpp \
604 +        ../kpx_cpu/src/cpu/ppc/ppc-dyngen.cpp $CPUSRCS"
605 +    fi
606 +  fi
607 +  CPUSRCS="$CPUSRCS ../kpx_cpu/sheepshaver_glue.cpp"
608 + fi
609 +
610   dnl Generate Makefile.
611 + AC_SUBST(DYNGENSRCS)
612 + AC_SUBST(DYNGEN_OP_FLAGS)
613   AC_SUBST(SYSSRCS)
614 + AC_SUBST(CPUSRCS)
615   AC_OUTPUT(Makefile)
616  
617   dnl Print summary.
# Line 522 | Line 621 | echo
621   echo XFree86 DGA support .............. : $WANT_XF86_DGA
622   echo XFree86 VidMode support .......... : $WANT_XF86_VIDMODE
623   echo Using PowerPC emulator ........... : $EMULATED_PPC
624 + echo Enable JIT compiler .............. : $WANT_JIT
625   echo Enable video on SEGV signals ..... : $WANT_VOSF
626   echo ESD sound support ................ : $WANT_ESD
627   echo GTK user interface ............... : $WANT_GTK

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines