--- gforth/configure.in 2007/03/17 19:14:57 1.174 +++ gforth/configure.in 2007/04/09 22:36:01 1.182 @@ -21,7 +21,7 @@ dnl Process this file with autoconf to p dnl We use some automake macros here, dnl but don't use automake for creating Makefile.in -AC_INIT([gforth],[0.6.2-20060527],[https://savannah.gnu.org/bugs/?func=addbug&group=gforth]) +AC_INIT([gforth],[0.6.9-20070401],[https://savannah.gnu.org/bugs/?func=addbug&group=gforth]) AC_PREREQ(2.54) #snapshots have numbers major.minor.release-YYYYMMDD #note that lexicographic ordering must be heeded. @@ -86,18 +86,33 @@ dnl --without-peephole disables peepho dnl but slower images.], dnl PEEPHOLE="$withval") -AC_ARG_ENABLE(ec, - AC_HELP_STRING([--enable-ec], +AC_ARG_WITH(ec, + AC_HELP_STRING([--with-ec=], [ Build gforth for systems without OS.]), - ,enable_ec=no) -if test "$enable_ec" = "yes"; then - echo "defining standalone system" - AC_DEFINE(STANDALONE,,[Define if you want a Gforth without OS]) - EC_MODE="true" -else +[if test "$withval" = "no"; then echo "defining hosted system" EC_MODE="false" -fi + EC="" + engine2="engine2.o" + engine_fast2="engine-fast2.o" + no_dynamic="" + image_i="" + signals_o="io.o signals.o" +else + echo "defining standalone system (${withval})" + AC_DEFINE(STANDALONE,,[Define if you want a Gforth without OS]) + EC_MODE="true" + EC="-ec" + engine2="" + engine_fast2="" + no_dynamic="-DNO_DYNAMIC" + image_i="image.i" + if test "$withval" != "yes"; then + signals_o="io-${withval}.o" + else + signals_o="io.o" + fi +fi]) #variables mentioned in INSTALL AC_ARG_VAR(CC, [The C compiler (must support GNU C 2.x); gcc-2.95 recommended.]) @@ -118,6 +133,7 @@ AC_ARG_VAR(ac_cv_c_bigendian, [Is the ta AC_ARG_VAR(no_dynamic_default, [run gforth with --dynamic (0) or --no-dynamic (1) by default]) AC_ARG_VAR(skipcode, [assembly code for skipping 16 bytes of code]) AC_ARG_VAR(asmcomment, [assembler comment start string]) +AC_ARG_VAR(arm_cacheflush, [file containing ARM cacheflush function (without .c)]) #set up feature test macros, so the tests get them right: # turn on all POSIX, SUSv3, and GNU features if available @@ -144,7 +160,13 @@ test "$GCC" = "yes" || AC_MSG_ERROR(Gfor AC_SUBST(CC) AC_SUBST(DEBUGFLAG) +AC_SUBST(EC) AC_SUBST(EC_MODE) +AC_SUBST(engine2) +AC_SUBST(engine_fast2) +AC_SUBST(no_dynamic) +AC_SUBST(image_i) +AC_SUBST(signals_o) #this is used to disable some (not generally essential) part of the #Makefile that some makes don't grok. It would be better to test for @@ -172,10 +194,16 @@ case "$host_cpu" in arm*) machine=arm CFLAGS="$CFLAGS -fomit-frame-pointer" - if test -z $no_dynamic_default; then + 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]) fi + AC_LIBSOURCES([../arch/arm/cacheflush0, ../arch/arm/cacheflush1, ../arch/arm/cacheflush2]) + AC_LIBOBJ(../$arm_cacheflush) + #longer skipcodes lead to problems on ARM, and it uses + #only 4-byte alignment anyway + test "$skipcode" || skipcode="nop" ;; hppa*) machine=hppa @@ -643,7 +671,7 @@ if test -z "$asmcomment"; then asmcomment=no CFLAGS_1="$CFLAGS" CFLAGS="$CFLAGS $ENGINE_FLAGS" - for i in '"# "' '"! "'; do + for i in '"# "' '"! "' '"; "'; do AC_TRY_COMPILE(,[asm($i"fluffystunk");],asmcomment=$i; break,) done CFLAGS=$CFLAGS_1 @@ -712,7 +740,9 @@ AC_CHECK_FUNCS(mmap sysconf getpagesize) AM_PATH_LISPDIR kernel_fi=kernl${wordsize}${bytesex}.fi +include_fi=kernl${wordsize}${bytesex}${EC}.fi AC_SUBST(kernel_fi) +AC_SUBST(include_fi) #this breaks bindists #dnl replace srource directory by absolute value