14 |
|
AC_ARG_ENABLE(addressing, |
15 |
|
[ --enable-addressing=mode specify the addressing mode to use [default=fastest]], |
16 |
|
[ case "$enableval" in |
17 |
< |
real) ADDRESSING_TEST_ORDER="real";; |
18 |
< |
direct) ADDRESSING_TEST_ORDER="direct";; |
19 |
< |
banks) ADDRESSING_TEST_ORDER="banks";; |
20 |
< |
dnl fastest) ADDRESSING_TEST_ORDER="real direct banks";; gb-- will enable later... |
21 |
< |
fastest) ADDRESSING_TEST_ORDER="direct banks";; |
22 |
< |
*) AC_MSG_ERROR([--enable-mem-addressing takes only one of the following values: fastest, real, direct, banks]);; |
17 |
> |
real) ADDRESSING_TEST_ORDER="real";; |
18 |
> |
direct) ADDRESSING_TEST_ORDER="direct";; |
19 |
> |
banks) ADDRESSING_TEST_ORDER="banks";; |
20 |
> |
dnl fastest) ADDRESSING_TEST_ORDER="real direct banks";; gb-- will enable later... |
21 |
> |
fastest) ADDRESSING_TEST_ORDER="direct banks";; |
22 |
> |
*) AC_MSG_ERROR([--enable-mem-addressing takes only one of the following values: fastest, real, direct, banks]);; |
23 |
|
esac |
24 |
|
], |
25 |
|
dnl [ ADDRESSING_TEST_ORDER="real direct banks" gb-- will probably reactivate later |
67 |
|
MONSRCS= |
68 |
|
if [[ "x$WANT_MON" = "xyes" ]]; then |
69 |
|
AC_MSG_CHECKING(for mon) |
70 |
< |
if grep mon_init ../../../mon/src/mon.h >/dev/null 2>/dev/null; then |
70 |
> |
mon_srcdir=../../../mon/src |
71 |
> |
if grep mon_init $mon_srcdir/mon.h >/dev/null 2>/dev/null; then |
72 |
|
AC_MSG_RESULT(yes) |
73 |
|
AC_DEFINE(ENABLE_MON) |
74 |
< |
MONSRCS="../../../mon/src/mon.cpp ../../../mon/src/mon_6502.cpp ../../../mon/src/mon_68k.cpp ../../../mon/src/mon_8080.cpp ../../../mon/src/mon_cmd.cpp ../../../mon/src/mon_ppc.cpp ../../../mon/src/mon_x86.cpp" |
75 |
< |
CXXFLAGS="$CXXFLAGS -I../../../mon/src" |
74 |
> |
MONSRCS="$mon_srcdir/mon.cpp $mon_srcdir/mon_6502.cpp $mon_srcdir/mon_8080.cpp $mon_srcdir/mon_cmd.cpp $mon_srcdir/mon_disass.cpp $mon_srcdir/mon_ppc.cpp $mon_srcdir/disass/floatformat.c $mon_srcdir/disass/i386-dis.c $mon_srcdir/disass/m68k-dis.c $mon_srcdir/disass/m68k-opc.c" |
75 |
> |
CXXFLAGS="$CXXFLAGS -I$mon_srcdir -I$mon_srcdir/disass" |
76 |
|
AC_CHECK_LIB(readline, readline) |
77 |
|
AC_CHECK_LIB(termcap, tputs) |
78 |
|
AC_CHECK_HEADERS(readline.h history.h readline/readline.h readline/history.h) |
318 |
|
AC_LANG_CPLUSPLUS |
319 |
|
AC_TRY_RUN([ |
320 |
|
#include <unistd.h> |
321 |
+ |
#include <stdlib.h> |
322 |
|
#include <signal.h> |
323 |
|
#include <fcntl.h> |
324 |
|
#include <sys/mman.h> |
333 |
|
int main() |
334 |
|
{ if ((zero_fd = open("/dev/zero", O_RDWR)) < 0) exit(1); |
335 |
|
if ((mem = (caddr_t)mmap(0, getpagesize(), PROT_READ, MAP_PRIVATE, zero_fd, 0)) == (caddr_t)MAP_FAILED) exit(1); |
336 |
< |
struct sigaction sa; sa.sa_sigaction = segfault_handler; sa.sa_flags = 0; |
336 |
> |
struct sigaction sa; sa.sa_sigaction = segfault_handler; sa.sa_flags = SA_SIGINFO; |
337 |
|
sigaction(SIGSEGV, &sa, 0); |
338 |
|
mem[0] = 0; |
339 |
|
exit(1); // should not be reached |
373 |
|
{ if ((zero_fd = open("/dev/zero", O_RDWR)) < 0) exit(1); |
374 |
|
if ((mem = (caddr_t)mmap(0, getpagesize(), PROT_READ, MAP_PRIVATE, zero_fd, 0)) == (caddr_t)MAP_FAILED) exit(1); |
375 |
|
struct sigaction sa; sa.sa_flags = 0; |
376 |
< |
sa.sa_handler = (RETSIGTYPE (*)(int))segfault_handler; |
376 |
> |
sa.sa_handler = (RETSIGTYPE (*)(int))segfault_handler; |
377 |
|
sigaction(SIGSEGV, &sa, 0); |
378 |
|
mem[0] = 0; |
379 |
|
exit(1); // should not be reached |
384 |
|
) |
385 |
|
AC_LANG_RESTORE |
386 |
|
]) |
387 |
< |
AC_TRANSLATE_DEFINE(HAVE_SIGCONTEXT_SUBTERFUGE, $ac_cv_have_sigcontext_hack) |
387 |
> |
AC_TRANSLATE_DEFINE(HAVE_SIGCONTEXT_SUBTERFUGE, $ac_cv_have_sigcontext_hack) |
388 |
|
fi |
389 |
|
;; |
390 |
|
esac |