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.11 by gbeauche, 2004-11-25T19:14:15Z vs.
Revision 1.24 by gbeauche, 2005-06-14T06:32:52Z

# Line 17 | Line 17 | ulimit -c 0
17   dnl Options.
18   AC_ARG_ENABLE(jit,          [  --enable-jit            enable JIT compiler [default=yes]], [WANT_JIT=$enableval], [WANT_JIT=yes])
19   AC_ARG_ENABLE(ppc-emulator, [  --enable-ppc-emulator   use the selected PowerPC emulator [default=auto]], [WANT_EMULATED_PPC=$enableval], [WANT_EMULATED_PPC=auto])
20 + AC_ARG_ENABLE(fbdev-dga,    [  --enable-fbdev-dga      use direct frame buffer access via /dev/fb0 [default=yes]], [WANT_FBDEV_DGA=$enableval], [WANT_FBDEV_DGA=yes])
21   AC_ARG_ENABLE(xf86-dga,     [  --enable-xf86-dga       use the XFree86 DGA extension [default=yes]], [WANT_XF86_DGA=$enableval], [WANT_XF86_DGA=yes])
22 < AC_ARG_ENABLE(xf86-vidmode, [  --enable-xf86-vidmode   use the XFree86 VidMode extension [default=no]], [WANT_XF86_VIDMODE=$enableval], [WANT_XF86_VIDMODE=no])
22 > AC_ARG_ENABLE(xf86-vidmode, [  --enable-xf86-vidmode   use the XFree86 VidMode extension [default=yes]], [WANT_XF86_VIDMODE=$enableval], [WANT_XF86_VIDMODE=yes])
23   AC_ARG_ENABLE(vosf,         [  --enable-vosf           enable video on SEGV signals [default=yes]], [WANT_VOSF=$enableval], [WANT_VOSF=yes])
24   AC_ARG_WITH(esd,            [  --with-esd              support ESD for sound under Linux/FreeBSD [default=yes]], [WANT_ESD=$withval], [WANT_ESD=yes])
25 < AC_ARG_WITH(gtk,            [  --with-gtk              use GTK user interface [default=yes]], [WANT_GTK=$withval], [WANT_GTK=yes])
25 > AC_ARG_WITH(gtk,            [  --with-gtk              use GTK user interface [default=yes]],
26 >  [case "$withval" in
27 >   gtk1)      WANT_GTK="gtk";;
28 >   gtk|gtk2)  WANT_GTK="$withval";;
29 >   yes)       WANT_GTK="gtk2 gtk";;
30 >   *)         WANT_GTK="no";;
31 >   esac],
32 >  [WANT_GTK="gtk2 gtk"])
33   AC_ARG_WITH(mon,            [  --with-mon              use mon as debugger [default=yes]], [WANT_MON=$withval], [WANT_MON=yes])
34   AC_ARG_WITH(dgcc,           [  --with-dgcc=COMPILER    use C++ COMPILER to compile synthetic opcodes], [DYNGEN_CC=$withval])
35  
# Line 31 | Line 39 | AC_ARG_ENABLE(addressing,
39    [case "$enableval" in
40     real)        WANT_ADDRESSING_MODE="real";;
41     direct)      WANT_ADDRESSING_MODE="direct";;
42 <   direct,0x*)  WANT_ADDRESSING_MODE="direct"; NATMEM_OFFSET=`echo "$enableval" | sed -n '/direct,\(0[[xX]][[0-9A-Fa-f]]*\)/s//\1/p'`;;
42 >   direct,0x*)  WANT_ADDRESSING_MODE="direct"; NATMEM_OFFSET=`echo "$enableval" | sed -n '/direct,\(0[[xX]][[0-9A-Fa-f]]*\([[UuLl]]\{1,2\}\)\?\)$/s//\1/p'`;;
43     esac],
44    [WANT_ADDRESSING_MODE="real"]
45   )
# Line 48 | Line 56 | AC_PROG_CXX
56   AC_PROG_MAKE_SET
57   AC_PROG_INSTALL
58   AC_PROG_EGREP
59 < AC_CHECK_PROGS(FILE, [file false])
59 > AC_PATH_PROGS(FILE, [file false])
60 > AC_PATH_PROG(PERL, [perl])
61  
62   dnl Check for PowerPC target CPU.
63   HAVE_PPC=no
# Line 146 | Line 155 | if [[ "x$WANT_SDL" = "xyes" ]]; then
155      LIBS="$LIBS $sdl_libs"
156    else
157      WANT_SDL=no
158 +    WANT_SDL_VIDEO=no
159 +    WANT_SDL_AUDIO=no
160    fi
161    SDL_SUPPORT=`echo "$SDL_SUPPORT" | sed -e "s/^ //"`
162   else
# Line 153 | Line 164 | else
164   fi
165  
166   dnl We need X11, if not using SDL.
167 < if [[ "x$WANT_SDL" = "xno" ]]; then
167 > if [[ "x$WANT_SDL_VIDEO" != "xyes" ]]; then
168    AC_PATH_XTRA
169    if [[ "x$no_x" = "xyes" ]]; then
170      AC_MSG_ERROR([You need X11 to run SheepShaver.])
# Line 166 | Line 177 | fi
177   dnl We need pthreads on non-PowerPC systems. Try libpthread first, then libc_r (FreeBSD), then PTL.
178   HAVE_PTHREADS=yes
179   case $EMULATED_PPC:$target_os in
180 < no:linux*)
180 > no:linux*|no:netbsd*)
181    dnl We do have our own pthread_cancel() implementation
182    AC_DEFINE(HAVE_PTHREAD_CANCEL, 1, [Define if you have the pthread_cancel function.])
183    ;;
# Line 195 | Line 206 | no:linux*)
206    ;;
207   esac
208  
209 + dnl We use FBDev DGA if possible.
210 + if [[ "x$WANT_FBDEV_DGA" = "xyes" ]]; then
211 +  AC_CHECK_HEADER(linux/fb.h, [
212 +    AC_DEFINE(ENABLE_FBDEV_DGA, 1, [Define if using Linux fbdev extension.])
213 +  ], [
214 +    AC_MSG_WARN([Could not find Linux FBDev extension, ignoring --enable-fbdev-dga.])
215 +    WANT_FBDEV_DGA=no
216 +  ])
217 + fi
218 +
219   dnl We use XFree86 DGA if possible.
220   if [[ "x$WANT_XF86_DGA" = "xyes" ]]; then
221    AC_CHECK_LIB(Xxf86dga, XF86DGAQueryExtension, [
# Line 219 | Line 240 | fi
240  
241   dnl We use GTK+ if possible.
242   UISRCS=../dummy/prefs_editor_dummy.cpp
243 < if [[ "x$WANT_GTK" = "xyes" ]]; then
243 > case "x$WANT_GTK" in
244 > xgtk2*)
245 >  AM_PATH_GTK_2_0(1.3.15, [
246 >    AC_DEFINE(ENABLE_GTK, 1, [Define if using GTK.])
247 >    CFLAGS="$CFLAGS $GTK_CFLAGS"
248 >    CXXFLAGS="$CXXFLAGS $GTK_CFLAGS"
249 >    LIBS="$LIBS $GTK_LIBS"
250 >    UISRCS=prefs_editor_gtk.cpp
251 >    WANT_GTK=gtk2
252 >  ], [
253 >    case "x${WANT_GTK}x" in
254 >    *gtkx)
255 >      AC_MSG_WARN([Could not find GTK+ 2.0, trying with GTK+ 1.2.])
256 >      WANT_GTK=gtk
257 >      ;;
258 >    *)
259 >      AC_MSG_WARN([Could not find GTK+, disabling user interface.])
260 >      WANT_GTK=no
261 >      ;;
262 >    esac
263 >  ])
264 >  ;;
265 > esac
266 > if [[ "x$WANT_GTK" = "xgtk" ]]; then
267    AM_PATH_GTK(1.2.0, [
268      AC_DEFINE(ENABLE_GTK, 1, [Define if using GTK.])
269      CFLAGS="$CFLAGS $GTK_CFLAGS"
# Line 303 | Line 347 | AC_CHECK_FUNCS(sigaction signal)
347   AC_CHECK_FUNCS(mmap mprotect munmap)
348   AC_CHECK_FUNCS(vm_allocate vm_deallocate vm_protect)
349   AC_CHECK_FUNCS(posix_memalign memalign valloc)
350 + AC_CHECK_FUNCS(exp2f log2f exp2 log2 trunc)
351  
352   dnl Darwin seems to define mach_task_self() instead of task_self().
353   AC_CHECK_FUNCS(mach_task_self task_self)
# Line 314 | Line 359 | no:linux*)
359    ;;
360   *:*)
361    AC_SEARCH_LIBS(clock_gettime, [rt posix4])
362 <  AC_CHECK_FUNCS(clock_gettime)
362 >  AC_CHECK_FUNCS(clock_gettime clock_nanosleep)
363    ;;
364   esac
365  
# Line 397 | Line 442 | linux*)
442    AUDIOSRC=audio_oss_esd.cpp
443    SCSISRC=Linux/scsi_linux.cpp
444    if [[ "x$EMULATED_PPC" = "xno" ]]; then
445 <    EXTRASYSSRCS="Linux/paranoia.cpp Linux/sheepthreads.c Linux/asm_linux.S"
445 >    EXTRASYSSRCS="Linux/paranoia.cpp Linux/sheepthreads.c ppc_asm.S"
446 >  fi
447 >  ;;
448 > netbsd*)
449 >  if [[ "x$EMULATED_PPC" = "xno" ]]; then
450 >    EXTRASYSSRCS="NetBSD/paranoia.cpp NetBSD/sheepthreads.c ppc_asm.S"
451    fi
452    ;;
453   darwin*)
454    if [[ "x$EMULATED_PPC" = "xno" ]]; then
455 <    EXTRASYSSRCS="Darwin/paranoia.cpp Linux/asm_linux.S"
455 >    EXTRASYSSRCS="Darwin/paranoia.cpp ppc_asm.S"
456    fi
457    if [[ "x$ac_cv_framework_IOKit" = "xyes" ]]; then
458      EXTRASYSSRCS="$EXTRASYSSRCS ../MacOSX/sys_darwin.cpp"
# Line 918 | Line 968 | int main(void)
968                  memset(m, 0, ranges[[i]].size);
969                  vm_release(m, ranges[[i]].size);
970                  if (i == n_ranges - 1) {
971 <                        printf("0x%08x\n", ofs);
971 >                        if (sizeof(void *) == 8 && ofs > 0xffffffff)
972 >                                printf("0x%lxul\n", ofs);
973 >                        else
974 >                                printf("0x%08x\n", ofs);
975                          return 0;
976                  }
977          }
# Line 980 | Line 1033 | fi
1033   AC_MSG_RESULT($HAVE_ICC)
1034  
1035   dnl Determine the generated object format
1036 < AC_CACHE_CHECK([whether the compiler can generate ELF objects],
1036 > AC_CACHE_CHECK([the format of compiler generated objects],
1037    ac_cv_object_format, [
1038    echo 'int i;' > conftest.$ac_ext
1039    ac_cv_object_format=no
# Line 989 | Line 1042 | AC_CACHE_CHECK([whether the compiler can
1042      *"ELF"*)
1043        ac_cv_object_format=elf
1044        ;;
1045 +    *"Mach-O"*)
1046 +      ac_cv_object_format=mach
1047 +      ;;
1048      *)
1049        ac_cv_object_format=unknown
1050        ;;
# Line 1021 | Line 1077 | if [[ "x$EMULATED_PPC" = "xyes" ]]; then
1077        i?86:elf)
1078          ac_cv_use_dyngen=yes
1079          ;;
1080 +      powerpc:mach)
1081 +        ac_cv_use_dyngen=yes
1082 +        ;;
1083        *:*)
1084          ac_cv_use_dyngen=no
1085          ;;
# Line 1046 | Line 1105 | if [[ "x$EMULATED_PPC" = "xyes" ]]; then
1105        case $host_cpu in
1106        i?86)
1107          DYNGEN_OP_FLAGS="-fomit-frame-pointer -mpreferred-stack-boundary=2"
1049        if [[ "x$HAVE_GCC30" = "xyes" ]]; then
1050          DYNGEN_OP_FLAGS="$DYNGEN_OP_FLAGS -falign-functions=0"
1051        else
1052          DYNGEN_OP_FLAGS="$DYNGEN_OP_FLAGS -malign-functions=0"
1053        fi
1054        saved_CPPFLAGS=$CPPFLAGS
1055        CPPFLAGS="$CPPFLAGS -mmmx"
1056        AC_CHECK_HEADERS(mmintrin.h,  [DYNGEN_OP_FLAGS="$DYNGEN_OP_FLAGS -mmmx"])
1057        CPPFLAGS="$CPPFLAGS -msse"
1058        AC_CHECK_HEADERS(xmmintrin.h, [DYNGEN_OP_FLAGS="$DYNGEN_OP_FLAGS -msse"])
1059        CPPFLAGS="$CPPFLAGS -msse2"
1060        AC_CHECK_HEADERS(emmintrin.h, [DYNGEN_OP_FLAGS="$DYNGEN_OP_FLAGS -msse2"])
1061        CPPFLAGS=$saved_CPPFLAGS
1108          ;;
1109 <      x86_64)
1110 <        AC_CHECK_HEADERS(mmintrin.h xmmintrin.h emmintrin.h)
1109 >      powerpc)
1110 >        if [[ "x$ac_cv_object_format" = "xmach" ]]; then
1111 >          DYNGEN_OP_FLAGS="-mdynamic-no-pic"
1112 >        fi
1113          ;;
1114        esac
1115 <      DYNGEN_OP_FLAGS="$DYNGEN_OP_FLAGS -finline-limit=10000"
1115 >      if [[ "x$HAVE_GCC30" = "xyes" ]]; then
1116 >        DYNGEN_OP_FLAGS="$DYNGEN_OP_FLAGS -falign-functions=0"
1117 >      else
1118 >        DYNGEN_OP_FLAGS="$DYNGEN_OP_FLAGS -malign-functions=0"
1119 >      fi
1120 >      DYNGEN_OP_FLAGS="$DYNGEN_OP_FLAGS -finline-limit=10000 -fno-exceptions -g0"
1121        if [[ "x$HAVE_GCC30" = "xyes" ]]; then
1122          DYNGEN_OP_FLAGS="$DYNGEN_OP_FLAGS -fno-reorder-blocks -fno-optimize-sibling-calls"
1123        fi
# Line 1106 | Line 1159 | if [[ "x$ac_cv_use_dyngen" = "xyes" ]];
1159      ac_cv_have_static_data_exec=no
1160      )
1161    ])
1162 + else
1163 +  ac_cv_use_dyngen=no
1164   fi
1165   AC_TRANSLATE_DEFINE(HAVE_STATIC_DATA_EXEC, "$ac_cv_have_static_data_exec",
1166    [Define if your system marks static data pages as executable.])
# Line 1115 | Line 1170 | if [[ "x$WANT_JIT" = "xyes" ]]; then
1170   fi
1171  
1172   dnl Generate Makefile.
1173 + AC_SUBST(PERL)
1174 + AC_SUBST(USE_DYNGEN, [$ac_cv_use_dyngen])
1175   AC_SUBST(DYNGENSRCS)
1176   AC_SUBST(DYNGEN_CC)
1177   AC_SUBST(DYNGEN_OP_FLAGS)
# Line 1132 | Line 1189 | echo
1189   echo SheepShaver configuration summary:
1190   echo
1191   echo SDL support ...................... : $SDL_SUPPORT
1192 + echo FBDev DGA support ................ : $WANT_FBDEV_DGA
1193   echo XFree86 DGA support .............. : $WANT_XF86_DGA
1194   echo XFree86 VidMode support .......... : $WANT_XF86_VIDMODE
1195   echo Using PowerPC emulator ........... : $EMULATED_PPC

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines