--- gforth/configure.in 2008/01/04 21:57:55 1.205 +++ gforth/configure.in 2008/02/10 16:46:55 1.215 @@ -32,16 +32,6 @@ AC_CONFIG_HEADERS(engine/config.h) #suppress the "-g -O2" default test "$CFLAGS" || CFLAGS=-O2 -AC_ARG_ENABLE(force-reg, - AC_HELP_STRING([--enable-force-reg], - [ Use explicit register declarations if they appear in - the machine.h file. This can cause a good speedup, - but also incorrect code with some gcc versions on - some processors (default disabled).]), - ,enable_force_reg=no) -test "$enable_force_reg" = "no"|| - AC_DEFINE(FORCE_REG,,[Define if you want to use explicit register declarations for better performance or for more convenient CODE words (does not work with all GCC versions on all machines)]) - AC_ARG_ENABLE(force-cdiv, AC_HELP_STRING([--enable-force-cdiv], [ Use the native C division - symmetric - instead of @@ -198,11 +188,19 @@ case "$host_cpu" in CFLAGS="$CFLAGS -mthumb -mthumb-interwork" fi if test -z $arm_cacheflush; then - no_dynamic_default=1 - arm_cacheflush=arch/arm/cacheflush0 - AC_MSG_WARN([No I-cache flush code known, disabling dynamic native code generation]) + case "$host_os" in + *linux*) + arm_cacheflush=arch/arm/cacheflush-linux + ;; + *) + no_dynamic_default=1 + arm_cacheflush=arch/arm/cacheflush0 + AC_MSG_WARN([No I-cache flush code known, disabling dynamic native code generation]) + ;; + esac fi - AC_LIBSOURCES([../arch/arm/cacheflush0, ../arch/arm/cacheflush1, ../arch/arm/cacheflush2]) + AC_LIBSOURCES([../arch/arm/cacheflush0, dnl + ../arch/arm/cacheflush-linux]) AC_LIBOBJ(../$arm_cacheflush) #longer skipcodes lead to problems on ARM, and it uses #only 4-byte alignment anyway @@ -510,7 +508,19 @@ if test "$ac_cv_int_type_double_cell" != then AC_DEFINE_UNQUOTED(DOUBLE_CELL_TYPE,$ac_cv_int_type_double_cell,[an integer type that is twice as long as a pointer]) AC_DEFINE_UNQUOTED(DOUBLE_UCELL_TYPE,$ac_cv_int_type_double_ucell,[an unsigned integer type that is twice as long as a pointer]) + OPTS=-ll +else + if test "$ac_cv_sizeof_char_p" == 8; then + OPTS="-ll -noll" + else + OPTS=-noll + fi +fi + +if grep -q FORCE_REG arch/$machine/machine.h; then + OPTS=`for i in $OPTS; do echo -n "$i-reg "; done`$OPTS fi +AC_SUBST(OPTS) AC_TYPE_OFF_T AC_CHECK_SIZEOF(off_t) @@ -597,13 +607,17 @@ AC_MSG_RESULT($M4) # Find installed Gforth AC_MSG_CHECKING([for gforth]) -GFORTH="`which gforth 2>/dev/null`" -if test ! -z "$GFORTH"; then GFORTH="$GFORTH -m4M" ; fi -AC_SUBST(GFORTH) -AC_DEFINE_UNQUOTED(GFORTH,"$GFORTH",[How to invoke gforth]) -AC_MSG_RESULT($GFORTH) +GFORTH="`cd / && which gforth 2>/dev/null`" +if test -z "$GFORTH"; then + PREFORTH='echo "You need to configure with a gforth in \$PATH to build this part" && false' +else + PREFORTH="$GFORTH -i `cd / && gforth --debug -e bye 2>&1 |grep "Opened image file: "|sed 's/Opened image file: //'`" ; +fi +AC_SUBST(PREFORTH) +AC_DEFINE_UNQUOTED(PREFORTH,"$PREFORTH",[How to invoke the pre-installed gforth]) +AC_MSG_RESULT($PREFORTH) -echo "machine='$machine'" +#echo "machine='$machine'" dnl AC_CHECK_PROG(asm_fs,asm.fs,arch/$machine/asm.fs,,$srcdir/arch/$machine) AC_CHECK_FILE($srcdir/arch/$machine/asm.fs,[asm_fs=arch/$machine/asm.fs],) @@ -654,13 +668,13 @@ AC_CHECK_PROG([MASSAGE_EXE],[chcon],[chc dnl Now a little support for DOS/DJGCC AC_SUBST(GFORTH_EXE) -GFORTH_EXE="" +GFORTH_EXE="true" AC_SUBST(GFORTHFAST_EXE) -GFORTHFAST_EXE="" +GFORTHFAST_EXE="true" AC_SUBST(GFORTHITC_EXE) -GFORTHITC_EXE="" +GFORTHITC_EXE="true" AC_SUBST(GFORTHDITC_EXE) -GFORTHDITC_EXE="" +GFORTHDITC_EXE="true" AC_SUBST(FORTHSIZES)