--- gforth/configure.in 2010/01/08 18:54:34 1.275 +++ gforth/configure.in 2010/12/31 18:09:02 1.287 @@ -1,6 +1,6 @@ dnl Process this file with autoconf to produce a configure script. -#Copyright (C) 1995,1996,1997,1998,2000,2003,2004,2005,2006,2007,2008,2009 Free Software Foundation, Inc. +#Copyright (C) 1995,1996,1997,1998,2000,2003,2004,2005,2006,2007,2008,2009,2010 Free Software Foundation, Inc. #This file is part of Gforth. @@ -20,12 +20,12 @@ 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.7.0-20090215],[https://savannah.gnu.org/bugs/?func=addbug&group=gforth]) +AC_INIT([gforth],[0.7.9-20101227],[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. #I.e., 0.4.1-YYYYMMDD must not exist before 0.4.1! -UPDATED="November 8, 2008" +UPDATED="December 27, 2010" AC_SUBST(UPDATED) AC_CONFIG_HEADERS(engine/config.h) @@ -242,14 +242,20 @@ case "$host_cpu" in ;; i486) machine=386 - CFLAGS="$CFLAGS -fomit-frame-pointer -fforce-addr -m486" + CFLAGS="$CFLAGS -fomit-frame-pointer -fforce-addr" + CFLAGS_1="$CFLAGS" + CFLAGS="$CFLAGS -march=i486" + AC_TRY_COMPILE(,,,CFLAGS="$CFLAGS_1 -m486") + AC_TRY_COMPILE(,,,CFLAGS="$CFLAGS_1") ;; i*86) machine=386 CFLAGS="$CFLAGS -fomit-frame-pointer -fforce-addr" CFLAGS_1="$CFLAGS" - CFLAGS="$CFLAGS -march=pentium" + CFLAGS="$CFLAGS -march=pentium -mtune=generic" + AC_TRY_COMPILE(,,,CFLAGS="$CFLAGS_1 -march=pentium") AC_TRY_COMPILE(,,,CFLAGS="$CFLAGS_1 -m486") + AC_TRY_COMPILE(,,,CFLAGS="$CFLAGS_1") ;; x86_64) case $CC @@ -282,6 +288,7 @@ case "$host_cpu" in ;; mips*) machine=mips + AC_LIBOBJ(../arch/mips/check_prim) #dynamic native code has the following problems on MIPS: # #1) J/JAL seems relocatable, but is are only @@ -334,6 +341,7 @@ esac AC_SUBST(host) MAKEINC="" +GFORTH_EXE="true" echo "Check for arch/$machine/$platform/gforth.ld ($EC_MODE)" if test x$EC_MODE = xtrue @@ -349,6 +357,7 @@ then if test -f arch/$machine/$platform/make.inc then MAKEINC="include ../arch/$machine/$platform/make.inc" + GFORTH_EXE="\$(MAKE) -f arch/$machine/$platform/make.inc \$@.exe" fi fi AC_SUBST(MAKEINC) @@ -477,6 +486,31 @@ esac AC_MSG_RESULT($ac_cv_tetrabyte_type_cell) AC_DEFINE_UNQUOTED(TETRABYTE_TYPE,$ac_cv_tetrabyte_type_cell,[an integer type that is 4 bytes long]) +AC_MSG_CHECKING([for a C type for octabytes]) +ac_cv_octabyte_type_cell=none +case 8 in + $ac_cv_sizeof_int) + ac_cv_octabyte_type_cell=int + ;; + $ac_cv_sizeof_short) + ac_cv_octabyte_type_cell=short + ;; + $ac_cv_sizeof_char) + ac_cv_octabyte_type_cell=char + ;; + $ac_cv_sizeof_long) + ac_cv_octabyte_type_cell=long + ;; + $ac_cv_sizeof_long_long) + ac_cv_octabyte_type_cell="long long" + ;; + $ac_cv_sizeof_intptr_t) + ac_cv_octabyte_type_cell="intptr_t" + ;; +esac +AC_MSG_RESULT($ac_cv_octabyte_type_cell) +AC_DEFINE_UNQUOTED(OCTABYTE_TYPE,$ac_cv_octabyte_type_cell,[an integer type that is 8 bytes long]) + AC_MSG_CHECKING([for a C type for double-cells]) ac_cv_int_type_double_cell=none case `expr 2 '*' "$ac_cv_sizeof_char_p"` in @@ -666,14 +700,16 @@ AC_MSG_RESULT($PREFORTH) dnl AC_CHECK_PROG(asm_fs,asm.fs,arch/$machine/asm.fs,,$srcdir/arch/$machine) if test x$EC_MODE = xfalse then - AC_CHECK_FILE($srcdir/arch/$machine/asm.fs,[asm_fs=arch/$machine/asm.fs],) + AS_IF([test -f $srcdir/arch/$machine/asm.fs], + [asm_fs=arch/$machine/asm.fs]) fi AC_SUBST(asm_fs) dnl AC_CHECK_PROG(disasm_fs,disasm.fs,arch/$machine/disasm.fs,,$srcdir/arch/$machine) if test x$EC_MODE = xfalse then - AC_CHECK_FILE($srcdir/arch/$machine/disasm.fs,[disasm_fs=arch/$machine/disasm.fs],) + AS_IF([test -f $srcdir/arch/$machine/disasm.fs], + [disasm_fs=arch/$machine/disasm.fs]) fi AC_SUBST(disasm_fs) @@ -731,14 +767,13 @@ fi AC_CHECK_PROG([MASSAGE_EXE],[chcon],[chcon -t unconfined_execmem_exec_t],[true]) dnl Now a little support for DOS/DJGCC +GFORTHFAST_EXE="$GFORTH_EXE" +GFORTHITC_EXE="$GFORTH_EXE" +GFORTHDITC_EXE="$GFORTH_EXE" AC_SUBST(GFORTH_EXE) -GFORTH_EXE="true" AC_SUBST(GFORTHFAST_EXE) -GFORTHFAST_EXE="true" AC_SUBST(GFORTHITC_EXE) -GFORTHITC_EXE="true" AC_SUBST(GFORTHDITC_EXE) -GFORTHDITC_EXE="true" AC_SUBST(FORTHSIZES) @@ -779,7 +814,11 @@ fi #echo "CFLAGS=$CFLAGS" #echo "ac_link=$ac_link" AC_MSG_CHECKING([if and how we can waste code space]) -if test -z "$skipcode"; then +if test -z "$skipcode" && test x$cross_compiling = xyes; then + # we cannot perform the AC_TRY_RUN check when cross-compiling. + skipcode=no + AC_MSG_RESULT([$skipcode, can't run checks since cross-compiling]) +elif test -z "$skipcode"; then skipcode=no CFLAGS_1="$CFLAGS" CFLAGS="$CFLAGS $ENGINE_FLAGS" @@ -817,7 +856,7 @@ then no_dynamic_default=1 AC_MSG_WARN(Disabling default dynamic native code generation) fi - AC_DEFINE_UNQUOTED(SKIP16,((void)0),statement for skipping 16 bytes) + AC_DEFINE_UNQUOTED(SKIP16,asm(""),statement for skipping 16 bytes) else AC_DEFINE_UNQUOTED(SKIP16,asm("$skipcode"),statement for skipping 16 bytes) fi @@ -878,7 +917,7 @@ if test -z "$FFI_H_NAME"; then AC_CHECK_HEADER(ffi/ffi.h,FFI_H_NAME=ffi/ffi.h,) fi AC_SUBST(FFI_H_NAME) -AC_CHECK_LIB(ffi,ffi_call) +AC_CHECK_LIB(ffi,ffi_call,LIBS="$LIBS") if test -n "$FFI_H_NAME" -a $ac_cv_lib_ffi_ffi_call = yes then LIBFFIFLAG="true" @@ -888,7 +927,7 @@ else fi #check for ffcall libraries #unfortunately, these four calls are separated out into a library each. -AC_CHECK_LIB(avcall,__builtin_avcall) +AC_CHECK_LIB(avcall,__builtin_avcall,LIBS="$LIBS") dnl AC_CHECK_LIB(callback,__vacall_r) dnl AC_CHECK_LIB(vacall,vacall) dnl AC_CHECK_LIB(trampoline,alloc_trampoline) @@ -918,7 +957,7 @@ AC_CHECK_FUNCS(expm1 log1p) AC_REPLACE_FUNCS(rint ecvt) dnl No check for select, because our replacement is no good under dnl anything but DOS -AC_CHECK_HEADERS(sys/mman.h fnmatch.h alloca.h wchar.h) +AC_CHECK_HEADERS(sys/mman.h fnmatch.h alloca.h wchar.h endian.h) AC_FUNC_FNMATCH test $ac_cv_func_fnmatch_works = yes || AC_LIBOBJ(fnmatch) AC_CHECK_FUNCS(mmap sysconf getpagesize wcwidth)