--- gforth/configure.in 2007/04/22 22:04:28 1.185 +++ gforth/configure.in 2007/06/23 19:45:14 1.190 @@ -21,12 +21,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.6.9-20070401],[https://savannah.gnu.org/bugs/?func=addbug&group=gforth]) +AC_INIT([gforth],[0.6.9-20070604],[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="April 09, 2006" +UPDATED="June 02, 2007" AC_SUBST(UPDATED) AC_CONFIG_HEADERS(engine/config.h) @@ -138,6 +138,7 @@ AC_ARG_VAR(ac_cv_sizeof_int128_t, [sizeo AC_ARG_VAR(ac_cv_sizeof_uint128_t, [sizeof(uint128_t)]) AC_ARG_VAR(ac_cv_c_bigendian, [Is the target big-endian ("yes" or "no")?]) AC_ARG_VAR(no_dynamic_default, [run gforth with --dynamic (0) or --no-dynamic (1) by default]) +AC_ARG_VAR(condbranch_opt, [enable (1) or disable (0) using two dispatches for conditional branches]) 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)]) @@ -165,6 +166,16 @@ AC_PROG_CC test "$GCC" = "yes" || AC_MSG_ERROR(Gforth uses GNU C extensions and requires GCC 2.0 or higher) +AC_MSG_CHECKING([whether to use two dispatches per conditional branch]) +test x$condbranch_opt = x && +if ($CC -v 2>&1 |grep -q 'gcc version 3'); then + condbranch_opt=0 +else + condbranch_opt=1 +fi +AC_MSG_RESULT($condbranch_opt) +AC_SUBST(condbranch_opt) + AC_SUBST(CC) AC_SUBST(GCC_LD) AC_SUBST(DEBUGFLAG) @@ -229,15 +240,15 @@ case "$host_cpu" in ;; i386) machine=386 - CFLAGS="$CFLAGS -fomit-frame-pointer -fforce-addr -fforce-mem" + CFLAGS="$CFLAGS -fomit-frame-pointer -fforce-addr" ;; i486) machine=386 - CFLAGS="$CFLAGS -fomit-frame-pointer -fforce-addr -fforce-mem -m486" + CFLAGS="$CFLAGS -fomit-frame-pointer -fforce-addr -m486" ;; i*86) machine=386 - CFLAGS="$CFLAGS -fomit-frame-pointer -fforce-addr -fforce-mem" + CFLAGS="$CFLAGS -fomit-frame-pointer -fforce-addr" CFLAGS_1="$CFLAGS" CFLAGS="$CFLAGS -march=pentium" AC_TRY_COMPILE(,,,CFLAGS="$CFLAGS_1 -m486") @@ -565,6 +576,14 @@ AC_TRY_COMPILE(,,ac_noreorder_blocks=yes CFLAGS="$CFLAGS_1" AC_MSG_RESULT($ac_noreorder_blocks) +# Try if GCC understands -falign-labels=1 +AC_MSG_CHECKING([if $CC understands -falign-labels=1]) +CFLAGS_1="$CFLAGS" +CFLAGS="$CFLAGS -falign-labels=1" +AC_TRY_COMPILE(,,ac_noreorder_blocks=yes;ENGINE_FLAGS="$ENGINE_FLAGS -falign-labels=1",ac_align_labels=no) +CFLAGS="$CFLAGS_1" +AC_MSG_RESULT($ac_align_labels) + # Try if GCC understands __attribute__((unused)) AC_MSG_CHECKING([how to suppress 'unused variable' warnings]) AC_TRY_COMPILE(,[int __attribute__((unused)) foo;], MAYBE_UNUSED='__attribute__((unused))',) @@ -769,7 +788,7 @@ then fi AC_REPLACE_FUNCS(memmove strtoul pow10 strerror strsignal atanh) AC_FUNC_FSEEKO -AC_CHECK_FUNCS(ftello dlopen sys_siglist getrusage) +AC_CHECK_FUNCS(ftello dlopen sys_siglist getrusage nanosleep) AC_CHECK_TYPES(stack_t,,,[#include ]) AC_DECL_SYS_SIGLIST AC_CHECK_FUNC(getopt_long,[true],[AC_LIBOBJ(getopt) AC_LIBOBJ(getopt1)]) @@ -793,6 +812,8 @@ AC_SUBST(include_fi) #if test $srcdir = "."; then srcdir=`pwd` #fi +echo "version=$PACKAGE_VERSION" + AC_SUBST(machine) AC_CONFIG_FILES([ Makefile @@ -802,12 +823,15 @@ vmgen machpc.fs envos.fs engine/Makefile +engine/libcc.h doc/version.texi build-ec ]) AC_CONFIG_COMMANDS([stamp-h],[[echo timestamp > stamp-h chmod +x gforthmi chmod +x vmgen chmod +x build-ec -test -d kernel||mkdir kernel]],[[]]) +test -d kernel||mkdir kernel +$srcdir/mkinstalldirs include/gforth/$PACKAGE_VERSION +ln -s ../../../engine/config.h ../../../engine/libcc.h include/gforth/$PACKAGE_VERSION]],[[PACKAGE_VERSION=$PACKAGE_VERSION]]) AC_OUTPUT