--- SheepShaver/src/Unix/configure.ac 2010/03/07 00:44:05 1.67 +++ SheepShaver/src/Unix/configure.ac 2012/06/17 23:14:11 1.75 @@ -5,6 +5,13 @@ AC_INIT([SheepShaver], 2.3, [Christian.B AC_CONFIG_SRCDIR(main_unix.cpp) AC_PREREQ(2.52) AC_CONFIG_HEADER(config.h) +AH_TOP( +#ifndef CONFIG_H +#define CONFIG_H +) +AH_BOTTOM( +#endif /* CONFIG_H */ +) dnl Canonical system information. AC_CANONICAL_HOST @@ -41,6 +48,13 @@ AC_ARG_WITH(gtk, [ --with-gt AC_ARG_WITH(mon, [ --with-mon use mon as debugger [default=yes]], [WANT_MON=$withval], [WANT_MON=yes]) AC_ARG_WITH(dgcc, [ --with-dgcc=COMPILER use C++ COMPILER to compile synthetic opcodes], [DYNGEN_CC=$withval]) +AC_ARG_WITH(bincue, + AS_HELP_STRING([--with-bincue], [Allow cdrom image files in bin/cue mode])) + +AC_ARG_WITH(libvhd, + AS_HELP_STRING([--with-libvhd], [Enable VHD disk images])) + + dnl Addressing mode AC_ARG_ENABLE(addressing, [ --enable-addressing=AM set the addressing mode to use [default=real]], @@ -213,6 +227,8 @@ if [[ "x$WANT_SDL_VIDEO" != "xyes" ]]; t LIBS="$LIBS $X_PRE_LIBS $X_LIBS -lX11 -lXext $X_EXTRA_LIBS" fi + + dnl We need pthreads on non-PowerPC systems. Try libpthread first, then libc_r (FreeBSD), then PTL. HAVE_PTHREADS=yes case $EMULATED_PPC:$target_os in @@ -354,7 +370,7 @@ AC_CHECK_HEADERS(mach/vm_map.h mach/mach AC_CHECK_HEADERS(unistd.h fcntl.h byteswap.h dirent.h) AC_CHECK_HEADERS(sys/socket.h sys/ioctl.h sys/filio.h sys/bitypes.h sys/wait.h) AC_CHECK_HEADERS(sys/time.h sys/poll.h sys/select.h arpa/inet.h) -AC_CHECK_HEADERS(linux/if.h linux/if_tun.h net/if.h net/if_tun.h, [], [], [ +AC_CHECK_HEADERS(netinet/in.h linux/if.h linux/if_tun.h net/if.h net/if_tun.h, [], [], [ #ifdef HAVE_SYS_TYPES_H #include #endif @@ -365,6 +381,7 @@ AC_CHECK_HEADERS(linux/if.h linux/if_tun AC_CHECK_HEADERS(AvailabilityMacros.h) AC_CHECK_HEADERS(IOKit/storage/IOBlockStorageDevice.h) AC_CHECK_HEADERS(fenv.h) +AC_CHECK_HEADERS(sys/stropts.h stropts.h) dnl Checks for typedefs, structures, and compiler characteristics. AC_C_BIGENDIAN @@ -611,6 +628,7 @@ darwin*) fi if [[ "x$WANT_ESD" = "xno" -a "x$ac_cv_framework_CoreAudio" = "xyes" -a "x$WANT_SDL_AUDIO" = "xno" ]]; then AUDIOSRC="../MacOSX/audio_macosx.cpp ../MacOSX/AudioBackEnd.cpp ../MacOSX/AudioDevice.cpp ../MacOSX/MacOSX_sound_if.cpp" + OSX_CORE_AUDIO="-DOSX_CORE_AUDIO" fi ;; irix*) @@ -631,6 +649,34 @@ irix*) ;; esac +dnl BINCUE +AS_IF([test "x$with_bincue" = "xyes" ], [have_bincue=yes], [have_bincue=no]) +AS_IF([test "x$have_bincue" = "xyes" ], [ + if [[ "xOSX_CORE_AUDIO" = "xno" -a "x$WANT_SDL_AUDIO"="xno"]]; then + AC_MSG_ERROR([You need SDL or OSX Core Audio to use BINCUE support.]) + else + CPPFLAGS="$CPPFLAGS -DBINCUE $OSX_CORE_AUDIO" + fi +]) + +dnl LIBVHD +AS_IF([test "x$with_libvhd" = "xyes" ], [have_libvhd=yes], [have_libvhd=no]) +AS_IF([test "x$have_libvhd" = "xyes" ], [ + CPPFLAGS="$CPPFLAGS -DHAVE_LIBVHD" + LIBS="$LIBS -lvhd" + case $target_os in + linux*) + LIBS="$LIBS -luuid" + esac + AC_CHECK_LIB(vhd, vhd_open) + AC_CHECK_LIB(vhd, vhd_io_read) + AC_CHECK_LIB(vhd, vhd_io_write) + AC_CHECK_LIB(vhd, vhd_close) +]) + + + + dnl Is the slirp library supported? case "$ac_cv_have_byte_bitfields" in yes|"guessing yes") @@ -663,6 +709,8 @@ if [[ "x$WANT_SDL_VIDEO" = "xyes" ]]; th KEYCODES="../SDL/keycodes" if [[ "x$ac_cv_framework_Carbon" = "xyes" ]]; then EXTRASYSSRCS="$EXTRASYSSRCS ../MacOSX/clip_macosx.cpp" + EXTRASYSSRCS="$EXTRASYSSRCS ../MacOSX/utils_macosx.mm" + CPPFLAGS="$CPPFLAGS -I../MacOSX" else EXTRASYSSRCS="$EXTRASYSSRCS ../dummy/clip_dummy.cpp" fi @@ -676,6 +724,19 @@ if [[ "x$WANT_SDL_AUDIO" = "xyes" ]]; th AUDIOSRC="../SDL/audio_sdl.cpp" fi +dnl BINCUE overrides + +if [[ "x$have_bincue" = "xyes" ]]; then + EXTRASYSSRCS="$EXTRASYSSRCS bincue_unix.cpp" +fi + +dnl libvhd overrides + +if [[ "x$have_libvhd" = "xyes" ]]; then + EXTRASYSSRCS="$EXTRASYSSRCS vhd_unix.cpp" +fi + + SYSSRCS="$VIDEOSRCS $EXTFSSRC $PREFSSRC $SERIALSRC $ETHERSRC $SCSISRC $AUDIOSRC $SEMSRC $UISRCS $EXTRASYSSRCS" dnl Define a macro that translates a yesno-variable into a C macro definition @@ -693,6 +754,9 @@ dnl Check that the host supports TUN/TAP AC_CACHE_CHECK([whether TUN/TAP is supported], ac_cv_tun_tap_support, [ AC_TRY_COMPILE([ + #if defined(HAVE_NETINET_IN_H) + #include + #endif #if defined(HAVE_LINUX_IF_H) && defined(HAVE_LINUX_IF_TUN_H) #include #include @@ -1431,6 +1495,9 @@ if [[ "x$EMULATED_PPC" = "xyes" ]]; then powerpc:mach) ac_cv_use_dyngen=yes ;; + x86_64:mach) + ac_cv_use_dyngen=yes + ;; i?86:mach) ac_cv_use_dyngen=yes ;; @@ -1505,7 +1572,7 @@ if [[ "x$EMULATED_PPC" = "xyes" ]]; then ../kpx_cpu/src/cpu/ppc/ppc-jit.cpp $CPUSRCS" fi fi - CPUSRCS="$CPUSRCS ../kpx_cpu/sheepshaver_glue.cpp" + CPUSRCS="$CPUSRCS ../kpx_cpu/sheepshaver_glue.cpp ../kpx_cpu/ppc-dis.c" else WANT_JIT=no fi @@ -1576,6 +1643,8 @@ echo echo SheepShaver configuration summary: echo echo SDL support ...................... : $SDL_SUPPORT +echo BINCUE support ................... : $have_bincue +echo LIBVHD support ................... : $have_libvhd echo FBDev DGA support ................ : $WANT_FBDEV_DGA echo XFree86 DGA support .............. : $WANT_XF86_DGA echo XFree86 VidMode support .......... : $WANT_XF86_VIDMODE