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

Comparing SheepShaver/src/Unix/configure.ac (file contents):
Revision 1.8 by gbeauche, 2004-11-13T14:09:15Z vs.
Revision 1.12 by gbeauche, 2004-12-18T23:45:33Z

# Line 48 | Line 48 | AC_PROG_CXX
48   AC_PROG_MAKE_SET
49   AC_PROG_INSTALL
50   AC_PROG_EGREP
51 + AC_CHECK_PROGS(FILE, [file false])
52  
53   dnl Check for PowerPC target CPU.
54   HAVE_PPC=no
# Line 104 | Line 105 | if [[ "x$WANT_MON" = "xyes" ]]; then
105      WANT_MON=no
106    fi
107   fi
108 + AC_SUBST(MONSRCS)
109  
110   dnl Checks for libraries.
111   AC_CHECK_LIB(posix4, sem_init)
# Line 124 | Line 126 | fi
126   if [[ "x$WANT_SDL" = "xyes" ]]; then
127    AC_PATH_PROG(sdl_config, "sdl-config")
128    if [[ -n "$sdl_config" ]]; then
129 <    sdl_cflags=`$sdl_config --cflags`
130 <    if [[ "x$WANT_SDL_STATIC" = "xyes" ]]; then
131 <      sdl_libs=`$sdl_config --static-libs`
132 <    else
133 <      sdl_libs=`$sdl_config --libs`
134 <    fi
129 >    case $target_os in
130 >    # Special treatment for Cygwin so that we can still use the POSIX layer
131 >    *cygwin*)
132 >      sdl_cflags="-I`$sdl_config --prefix`/include/SDL"
133 >      sdl_libs="-L`$sdl_config --exec-prefix`/lib -lSDL"
134 >      ;;
135 >    *)
136 >      sdl_cflags=`$sdl_config --cflags`
137 >      if [[ "x$WANT_SDL_STATIC" = "xyes" ]]; then
138 >        sdl_libs=`$sdl_config --static-libs`
139 >      else
140 >        sdl_libs=`$sdl_config --libs`
141 >      fi
142 >      ;;
143 >    esac
144      CFLAGS="$CFLAGS $sdl_cflags"
145      CXXFLAGS="$CXXFLAGS $sdl_cflags"
146      LIBS="$LIBS $sdl_libs"
# Line 240 | Line 251 | AC_SYS_LARGEFILE
251   dnl Checks for header files.
252   AC_HEADER_STDC
253   AC_HEADER_SYS_WAIT
254 + AC_CHECK_HEADERS(malloc.h)
255   AC_CHECK_HEADERS(mach/vm_map.h mach/mach_init.h sys/mman.h)
256   AC_CHECK_HEADERS(sys/time.h sys/times.h sys/socket.h)
257   AC_CHECK_HEADERS(unistd.h fcntl.h byteswap.h dirent.h)
# Line 249 | Line 261 | AC_CHECK_HEADERS(linux/if.h, [], [], [
261   #endif
262   ])
263   AC_CHECK_HEADERS(linux/if_tun.h net/if.h net/if_tun.h)
264 + AC_CHECK_HEADERS(fenv.h)
265  
266   dnl Checks for typedefs, structures, and compiler characteristics.
267   AC_C_BIGENDIAN
# Line 290 | Line 303 | AC_CHECK_FUNCS(sigaction signal)
303   AC_CHECK_FUNCS(mmap mprotect munmap)
304   AC_CHECK_FUNCS(vm_allocate vm_deallocate vm_protect)
305   AC_CHECK_FUNCS(posix_memalign memalign valloc)
306 + AC_CHECK_FUNCS(exp2f log2f exp2 log2)
307  
308   dnl Darwin seems to define mach_task_self() instead of task_self().
309   AC_CHECK_FUNCS(mach_task_self task_self)
# Line 305 | Line 319 | no:linux*)
319    ;;
320   esac
321  
322 + dnl Check for headers and functions related to pty support (sshpty.c)
323 + dnl From openssh-3.2.2p1 configure.ac
324 + AC_CHECK_HEADERS(strings.h login.h sys/bsdtty.h sys/stat.h util.h pty.h)
325 + AC_CHECK_FUNCS(_getpty vhangup strlcpy)
326 +
327 + case "$host" in
328 + *-*-hpux10.26)
329 +        disable_ptmx_check=yes
330 +        ;;
331 + *-*-linux*)
332 +        no_dev_ptmx=1
333 +        ;;
334 + mips-sony-bsd|mips-sony-newsos4)
335 +        AC_DEFINE(HAVE_NEWS4, 1, [Define if you are on NEWS-OS (additions from openssh-3.2.2p1, for sshpty.c).])
336 +        ;;
337 + *-*-sco3.2v4*)
338 +        no_dev_ptmx=1
339 +        ;;
340 + *-*-sco3.2v5*)
341 +        no_dev_ptmx=1
342 +        ;;
343 + *-*-cygwin*)
344 +        no_dev_ptmx=1
345 +        ;;
346 + esac
347 +
348 + if test -z "$no_dev_ptmx" ; then
349 +        if test "x$disable_ptmx_check" != "xyes" ; then
350 +                AC_CHECK_FILE([/dev/ptmx],
351 +                        [
352 +                                AC_DEFINE_UNQUOTED(HAVE_DEV_PTMX, 1, [Define if you have /dev/ptmx.])
353 +                                have_dev_ptmx=1
354 +                        ]
355 +                )
356 +        fi
357 + fi
358 + AC_CHECK_FILE([/dev/ptc],
359 +        [
360 +                AC_DEFINE_UNQUOTED(HAVE_DEV_PTS_AND_PTC, 1, [Define if you have /dev/ptc.])
361 +                have_dev_ptc=1
362 +        ]
363 + )
364 + dnl (end of code from openssh-3.2.2p1 configure.ac)
365 +
366   dnl AC_CHECK_FRAMEWORK($1=NAME, $2=INCLUDES)
367   AC_DEFUN(AC_CHECK_FRAMEWORK, [
368    AS_VAR_PUSHDEF([ac_Framework], [ac_cv_framework_$1])dnl
# Line 354 | Line 412 | darwin*)
412      EXTFSSRC=../MacOSX/extfs_macosx.mm
413    fi
414    ;;
415 + cygwin*)
416 +  SERIALSRC="../dummy/serial_dummy.cpp"
417 +  ;;
418   esac
419  
420   dnl SDL overrides
# Line 367 | Line 428 | if [[ "x$WANT_SDL_VIDEO" = "xyes" ]]; th
428    if [[ "x$ac_cv_framework_Carbon" = "xyes" ]]; then
429      EXTRASYSSRCS="$EXTRASYSSRCS ../MacOSX/clip_macosx.cpp"
430    else
431 <    EXTRASYSSRCS="$EXTRASYSSRCS ../dummy/clip_dummy.cpp"
431 >    case "$target_os" in
432 >    cygwin*)
433 >      EXTRASYSSRCS="$EXTRASYSSRCS ../Windows/clip_windows.cpp"
434 >      ;;
435 >    *)
436 >      EXTRASYSSRCS="$EXTRASYSSRCS ../dummy/clip_dummy.cpp"
437 >      ;;
438 >    esac
439    fi
440   else
441    VIDEOSRCS="video_x.cpp"
# Line 379 | Line 447 | if [[ "x$WANT_SDL_AUDIO" = "xyes" ]]; th
447    AUDIOSRC="../SDL/audio_sdl.cpp"
448   fi
449  
450 < SYSSRCS="$VIDEOSRCS $EXTFSSRC $SERIALSRC $ETHERSRC $SCSISRC $AUDIOSRC $SEMSRC $UISRCS $MONSRCS $EXTRASYSSRCS"
450 > SYSSRCS="$VIDEOSRCS $EXTFSSRC $SERIALSRC $ETHERSRC $SCSISRC $AUDIOSRC $SEMSRC $UISRCS $EXTRASYSSRCS"
451  
452   dnl Define a macro that translates a yesno-variable into a C macro definition
453   dnl to be put into the config.h file
# Line 683 | Line 751 | fi
751   AC_TRANSLATE_DEFINE(HAVE_MACH_EXCEPTIONS, "$ac_cv_have_mach_exceptions",
752    [Define if your system supports Mach exceptions.])
753  
754 + dnl Check if Windows exceptions are supported.
755 + AC_CACHE_CHECK([whether your system supports Windows exceptions],
756 +  ac_cv_have_win32_exceptions, [
757 +  AC_LANG_SAVE
758 +  AC_LANG_CPLUSPLUS
759 +  AC_TRY_RUN([
760 +    #define HAVE_WIN32_EXCEPTIONS 1
761 +    #define CONFIGURE_TEST_SIGSEGV_RECOVERY
762 +    #include "vm_alloc.cpp"
763 +    #include "sigsegv.cpp"
764 +  ], [
765 +  sigsegv_recovery=win32
766 +  ac_cv_have_win32_exceptions=yes
767 +  ],
768 +  ac_cv_have_win32_exceptions=no,
769 +  dnl When cross-compiling, do not assume anything.
770 +  ac_cv_have_win32_exceptions=no
771 +  )
772 +  AC_LANG_RESTORE
773 +  ]
774 + )
775 + AC_TRANSLATE_DEFINE(HAVE_WIN32_EXCEPTIONS, "$ac_cv_have_win32_exceptions",
776 +  [Define if your system supports Windows exceptions.])
777 +
778   dnl Otherwise, check if extended signals are supported.
779   if [[ -z "$sigsegv_recovery" ]]; then
780    AC_CACHE_CHECK([whether your system supports extended signal handlers],
# Line 771 | Line 863 | fi
863  
864   dnl Check addressing mode to use
865   AC_MSG_CHECKING([for addressing mode to use])
866 + case "$os_target" in
867 + cygwin*)
868 +  WANT_ADDRESSING_MODE="direct,cygwin-hack"
869 +  NATMEM_OFFSET=
870 +  ;;
871 + esac
872   if [[ "$EMULATED_PPC" != "yes" ]]; then
873    if [[ "$WANT_ADDRESSING_MODE" != "real" ]]; then
874      AC_MSG_WARN([Running in native PowerPC mode, force use of Real Addressing.])
# Line 833 | Line 931 | EOF
931    doit='$CXX conftest.$ac_ext -o conftest.$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS $LIBS $NATMEM_OFFSET_DEF >& AS_MESSAGE_LOG_FD'
932    if AC_TRY_EVAL(doit); then
933      NATMEM_OFFSET=`./conftest.$ac_exeext`
934 <    if [[ -z "$NATMEM_OFFSET" ]]; then
935 <      AC_MSG_ERROR([could not determine a sensible NATMEM_OFFSET value])
838 <    else
839 <      WANT_ADDRESSING_MODE="direct,$NATMEM_OFFSET"
840 <    fi
934 >  else
935 >    NATMEM_OFFSET=
936    fi
937    rm -f conftest*
938    AC_LANG_RESTORE
844 fi
845 AC_MSG_RESULT($WANT_ADDRESSING_MODE)
939  
940 < if [[ -z "$NATMEM_OFFSET" ]]; then
941 <  NATMEM_OFFSET=0
940 >  if [[ -z "$NATMEM_OFFSET" ]]; then
941 >    AC_MSG_ERROR([could not determine a sensible NATMEM_OFFSET value])
942 >  else
943 >    WANT_ADDRESSING_MODE="direct,$NATMEM_OFFSET"
944 >    AC_DEFINE_UNQUOTED(NATMEM_OFFSET, $NATMEM_OFFSET,
945 >      [Define constant offset for Mac address translation])
946 >  fi
947   fi
948 < AC_DEFINE_UNQUOTED(NATMEM_OFFSET, $NATMEM_OFFSET,
851 <  [Define constant offset for Mac address translation])
948 > AC_MSG_RESULT($WANT_ADDRESSING_MODE)
949  
950   dnl Platform specific binary postprocessor
951   AC_PATH_PROG(BLESS, "true")
# Line 883 | Line 980 | if $CXX -V -v 2>&1 | grep -q "Intel(R) C
980   fi
981   AC_MSG_RESULT($HAVE_ICC)
982  
983 < dnl Test if the compiler can generate ELF objects
983 > dnl Determine the generated object format
984   AC_CACHE_CHECK([whether the compiler can generate ELF objects],
985 <  ac_cv_elf_objects, [
985 >  ac_cv_object_format, [
986    echo 'int i;' > conftest.$ac_ext
987 <  ac_cv_elf_objects=no
987 >  ac_cv_object_format=no
988    if AC_TRY_EVAL(ac_compile); then
989      case `/usr/bin/file conftest.$ac_objext` in
990      *"ELF"*)
991 <      ac_cv_elf_objects=yes
991 >      ac_cv_object_format=elf
992 >      ;;
993 >    *)
994 >      ac_cv_object_format=unknown
995        ;;
996      esac
997    fi
998    rm -rf conftest*
999   ])
900 ELF_OBJECTS=$ac_cv_elf_objects
1000  
1001   dnl CPU emulator sources
1002   if [[ "x$EMULATED_PPC" = "xyes" ]]; then
1003    CPUSRCS="\
1004 +    ../kpx_cpu/src/mathlib/ieeefp.cpp \
1005      ../kpx_cpu/src/cpu/ppc/ppc-cpu.cpp \
1006      ../kpx_cpu/src/cpu/ppc/ppc-decode.cpp \
1007      ../kpx_cpu/src/cpu/ppc/ppc-execute.cpp \
# Line 912 | Line 1012 | if [[ "x$EMULATED_PPC" = "xyes" ]]; then
1012    if [[ "x$WANT_JIT" = "xyes" ]]; then
1013      AC_CACHE_CHECK([whether dyngen can be used],
1014        ac_cv_use_dyngen, [
1015 <      case $host_cpu:$ELF_OBJECTS in
1016 <      powerpc:yes)
1015 >      case $host_cpu:$ac_cv_object_format in
1016 >      powerpc:elf)
1017          ac_cv_use_dyngen=yes
1018          ;;
1019 <      x86_64:yes)
1019 >      x86_64:elf)
1020          ac_cv_use_dyngen=yes
1021          ;;
1022 <      i?86:yes)
1022 >      i?86:elf)
1023          ac_cv_use_dyngen=yes
1024          ;;
1025        *:*)

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines