--- gforth/configure.in 2008/01/01 13:39:14 1.202 +++ gforth/configure.in 2008/01/02 21:04:44 1.203 @@ -120,8 +120,9 @@ else fi]) #variables mentioned in INSTALL -AC_ARG_VAR(CC, [The C compiler (must support GNU C 2.x); gcc-2.95 recommended.]) +AC_ARG_VAR(CC, [The C compiler (must support GNU C 2.x).]) AC_ARG_VAR(FORTHSIZES, [Gforth command line options for the default stack and dictionary sizes (see INSTALL).]) +AC_ARG_VAR(STACK_CACHE_REGS, [number of registers in the maximum stack cache state for gforth-fast and gforth-native (default platform-dependent).]) AC_ARG_VAR(STACK_CACHE_DEFAULT_FAST, [number of registers in the default stack cache state for gforth-fast and gforth-native (default 1).]) AC_ARG_VAR(GCC_PR15242_WORKAROUND, [Force the enabling (1) or disabling (0) of a workaround for a gcc-3.x performance bug (default unset: use workaround for gcc-3.x)]) @@ -314,6 +315,9 @@ case "$host_cpu" in test x$ac_cv_sizeof_long_long = x && ($CC -v 2>&1 |grep -q 'gcc version 2.95') && ac_cv_sizeof_long_long=0 + #The only architecture with enough callee-saved registers + test x$STACK_CACHE_REGS = x && STACK_CACHE_REGS=3 + #or use 2, hardly slower at run-time and starts up faster ;; *) AC_MSG_WARN([Using a generic machine description]) @@ -348,6 +352,11 @@ then fi AC_SUBST(MAKEINC) +AC_ARG_VAR(STACK_CACHE_REGS, [number of registers in the maximum stack cache state for gforth-fast and gforth-native (default platform-dependent).]) + +test x$STACK_CACHE_REGS = x && STACK_CACHE_REGS=1 +AC_DEFINE_UNQUOTED(STACK_CACHE_REGS, $STACK_CACHE_REGS, + [number of registers in the maximum stack cache state for gforth-fast and gforth-native]) test x$STACK_CACHE_DEFAULT_FAST = x && STACK_CACHE_DEFAULT_FAST=1 AC_DEFINE_UNQUOTED(STACK_CACHE_DEFAULT_FAST, $STACK_CACHE_DEFAULT_FAST, [number of registers in the default stack cache state for gforth-fast and gforth-native])