31 |
|
[case "$enableval" in |
32 |
|
real) WANT_ADDRESSING_MODE="real";; |
33 |
|
direct) WANT_ADDRESSING_MODE="direct";; |
34 |
< |
direct,0x*) WANT_ADDRESSING_MODE="direct"; NATMEM_OFFSET=`echo "$enableval" | sed -n '/direct,\(0[[xX]][[0-9A-Fa-f]]*\)/s//\1/p'`;; |
34 |
> |
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'`;; |
35 |
|
esac], |
36 |
|
[WANT_ADDRESSING_MODE="real"] |
37 |
|
) |
48 |
|
AC_PROG_MAKE_SET |
49 |
|
AC_PROG_INSTALL |
50 |
|
AC_PROG_EGREP |
51 |
< |
AC_CHECK_PROGS(FILE, [file false]) |
51 |
> |
AC_PATH_PROGS(FILE, [file false]) |
52 |
> |
AC_PATH_PROG(PERL, [perl]) |
53 |
|
|
54 |
|
dnl Check for PowerPC target CPU. |
55 |
|
HAVE_PPC=no |
106 |
|
WANT_MON=no |
107 |
|
fi |
108 |
|
fi |
109 |
+ |
AC_SUBST(MONSRCS) |
110 |
|
|
111 |
|
dnl Checks for libraries. |
112 |
|
AC_CHECK_LIB(posix4, sem_init) |
147 |
|
LIBS="$LIBS $sdl_libs" |
148 |
|
else |
149 |
|
WANT_SDL=no |
150 |
+ |
WANT_SDL_VIDEO=no |
151 |
+ |
WANT_SDL_AUDIO=no |
152 |
|
fi |
153 |
|
SDL_SUPPORT=`echo "$SDL_SUPPORT" | sed -e "s/^ //"` |
154 |
|
else |
156 |
|
fi |
157 |
|
|
158 |
|
dnl We need X11, if not using SDL. |
159 |
< |
if [[ "x$WANT_SDL" = "xno" ]]; then |
159 |
> |
if [[ "x$WANT_SDL_VIDEO" != "xyes" ]]; then |
160 |
|
AC_PATH_XTRA |
161 |
|
if [[ "x$no_x" = "xyes" ]]; then |
162 |
|
AC_MSG_ERROR([You need X11 to run SheepShaver.]) |
169 |
|
dnl We need pthreads on non-PowerPC systems. Try libpthread first, then libc_r (FreeBSD), then PTL. |
170 |
|
HAVE_PTHREADS=yes |
171 |
|
case $EMULATED_PPC:$target_os in |
172 |
< |
no:linux*) |
172 |
> |
no:linux*|no:netbsd*) |
173 |
|
dnl We do have our own pthread_cancel() implementation |
174 |
|
AC_DEFINE(HAVE_PTHREAD_CANCEL, 1, [Define if you have the pthread_cancel function.]) |
175 |
|
;; |
306 |
|
AC_CHECK_FUNCS(mmap mprotect munmap) |
307 |
|
AC_CHECK_FUNCS(vm_allocate vm_deallocate vm_protect) |
308 |
|
AC_CHECK_FUNCS(posix_memalign memalign valloc) |
309 |
+ |
AC_CHECK_FUNCS(exp2f log2f exp2 log2 trunc) |
310 |
|
|
311 |
|
dnl Darwin seems to define mach_task_self() instead of task_self(). |
312 |
|
AC_CHECK_FUNCS(mach_task_self task_self) |
318 |
|
;; |
319 |
|
*:*) |
320 |
|
AC_SEARCH_LIBS(clock_gettime, [rt posix4]) |
321 |
< |
AC_CHECK_FUNCS(clock_gettime) |
321 |
> |
AC_CHECK_FUNCS(clock_gettime clock_nanosleep) |
322 |
|
;; |
323 |
|
esac |
324 |
|
|
401 |
|
AUDIOSRC=audio_oss_esd.cpp |
402 |
|
SCSISRC=Linux/scsi_linux.cpp |
403 |
|
if [[ "x$EMULATED_PPC" = "xno" ]]; then |
404 |
< |
EXTRASYSSRCS="Linux/paranoia.cpp Linux/sheepthreads.c Linux/asm_linux.S" |
404 |
> |
EXTRASYSSRCS="Linux/paranoia.cpp Linux/sheepthreads.c ppc_asm.S" |
405 |
> |
fi |
406 |
> |
;; |
407 |
> |
netbsd*) |
408 |
> |
if [[ "x$EMULATED_PPC" = "xno" ]]; then |
409 |
> |
EXTRASYSSRCS="NetBSD/paranoia.cpp NetBSD/sheepthreads.c ppc_asm.S" |
410 |
|
fi |
411 |
|
;; |
412 |
|
darwin*) |
413 |
|
if [[ "x$EMULATED_PPC" = "xno" ]]; then |
414 |
< |
EXTRASYSSRCS="Darwin/paranoia.cpp Linux/asm_linux.S" |
414 |
> |
EXTRASYSSRCS="Darwin/paranoia.cpp ppc_asm.S" |
415 |
|
fi |
416 |
|
if [[ "x$ac_cv_framework_IOKit" = "xyes" ]]; then |
417 |
|
EXTRASYSSRCS="$EXTRASYSSRCS ../MacOSX/sys_darwin.cpp" |
455 |
|
AUDIOSRC="../SDL/audio_sdl.cpp" |
456 |
|
fi |
457 |
|
|
458 |
< |
SYSSRCS="$VIDEOSRCS $EXTFSSRC $SERIALSRC $ETHERSRC $SCSISRC $AUDIOSRC $SEMSRC $UISRCS $MONSRCS $EXTRASYSSRCS" |
458 |
> |
SYSSRCS="$VIDEOSRCS $EXTFSSRC $SERIALSRC $ETHERSRC $SCSISRC $AUDIOSRC $SEMSRC $UISRCS $EXTRASYSSRCS" |
459 |
|
|
460 |
|
dnl Define a macro that translates a yesno-variable into a C macro definition |
461 |
|
dnl to be put into the config.h file |
927 |
|
memset(m, 0, ranges[[i]].size); |
928 |
|
vm_release(m, ranges[[i]].size); |
929 |
|
if (i == n_ranges - 1) { |
930 |
< |
printf("0x%08x\n", ofs); |
930 |
> |
if (sizeof(void *) == 8 && ofs > 0xffffffff) |
931 |
> |
printf("0x%lxul\n", ofs); |
932 |
> |
else |
933 |
> |
printf("0x%08x\n", ofs); |
934 |
|
return 0; |
935 |
|
} |
936 |
|
} |
1063 |
|
else |
1064 |
|
DYNGEN_OP_FLAGS="$DYNGEN_OP_FLAGS -malign-functions=0" |
1065 |
|
fi |
1053 |
– |
saved_CPPFLAGS=$CPPFLAGS |
1054 |
– |
CPPFLAGS="$CPPFLAGS -mmmx" |
1055 |
– |
AC_CHECK_HEADERS(mmintrin.h, [DYNGEN_OP_FLAGS="$DYNGEN_OP_FLAGS -mmmx"]) |
1056 |
– |
CPPFLAGS="$CPPFLAGS -msse" |
1057 |
– |
AC_CHECK_HEADERS(xmmintrin.h, [DYNGEN_OP_FLAGS="$DYNGEN_OP_FLAGS -msse"]) |
1058 |
– |
CPPFLAGS="$CPPFLAGS -msse2" |
1059 |
– |
AC_CHECK_HEADERS(emmintrin.h, [DYNGEN_OP_FLAGS="$DYNGEN_OP_FLAGS -msse2"]) |
1060 |
– |
CPPFLAGS=$saved_CPPFLAGS |
1061 |
– |
;; |
1062 |
– |
x86_64) |
1063 |
– |
AC_CHECK_HEADERS(mmintrin.h xmmintrin.h emmintrin.h) |
1066 |
|
;; |
1067 |
|
esac |
1068 |
< |
DYNGEN_OP_FLAGS="$DYNGEN_OP_FLAGS -finline-limit=10000" |
1068 |
> |
DYNGEN_OP_FLAGS="$DYNGEN_OP_FLAGS -finline-limit=10000 -g0" |
1069 |
|
if [[ "x$HAVE_GCC30" = "xyes" ]]; then |
1070 |
|
DYNGEN_OP_FLAGS="$DYNGEN_OP_FLAGS -fno-reorder-blocks -fno-optimize-sibling-calls" |
1071 |
|
fi |
1107 |
|
ac_cv_have_static_data_exec=no |
1108 |
|
) |
1109 |
|
]) |
1110 |
+ |
else |
1111 |
+ |
ac_cv_use_dyngen=no |
1112 |
|
fi |
1113 |
|
AC_TRANSLATE_DEFINE(HAVE_STATIC_DATA_EXEC, "$ac_cv_have_static_data_exec", |
1114 |
|
[Define if your system marks static data pages as executable.]) |
1118 |
|
fi |
1119 |
|
|
1120 |
|
dnl Generate Makefile. |
1121 |
+ |
AC_SUBST(PERL) |
1122 |
+ |
AC_SUBST(USE_DYNGEN, [$ac_cv_use_dyngen]) |
1123 |
|
AC_SUBST(DYNGENSRCS) |
1124 |
|
AC_SUBST(DYNGEN_CC) |
1125 |
|
AC_SUBST(DYNGEN_OP_FLAGS) |