--- gforth/configure.in 2003/01/22 17:12:49 1.103 +++ gforth/configure.in 2003/01/30 16:14:30 1.110 @@ -20,11 +20,11 @@ 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.5.9-20021227],[https://savannah.gnu.org/bugs/?func=addbug&group=gforth]) +AC_INIT([gforth],[0.5.9-20030127],[https://savannah.gnu.org/bugs/?func=addbug&group=gforth]) #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="27 December 2002" +UPDATED="27 January 2003" AC_SUBST(UPDATED) AC_CONFIG_HEADERS(engine/config.h) @@ -45,12 +45,25 @@ AC_ARG_WITH(debug, debugging informations.], if test "$withval" = "yes"; then DEBUGFLAG=-g; fi) -PEEPHOLE="yes" -AC_ARG_WITH(peephole, -[ --with-peephole Enable peephole optimization (default) - --without-peephole disables peephole optimization. Creates smaller, - but slower images.], -PEEPHOLE="$withval") +dnl PEEPHOLE="yes" +dnl AC_ARG_WITH(peephole, +dnl [ --with-peephole Enable peephole optimization (default) +dnl --without-peephole disables peephole optimization. Creates smaller, +dnl but slower images.], +dnl PEEPHOLE="$withval") + +#variables mentioned in INSTALL +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(ac_cv_sizeof_char_p, [sizeof(char *)]) +AC_ARG_VAR(ac_cv_sizeof_char, [sizeof(char)]) +AC_ARG_VAR(ac_cv_sizeof_short, [sizeof(short)]) +AC_ARG_VAR(ac_cv_sizeof_int, [sizeof(int)]) +AC_ARG_VAR(ac_cv_sizeof_long, [sizeof(long)]) +AC_ARG_VAR(ac_cv_sizeof_long_long, [sizeof(long long)]) +AC_ARG_VAR(ac_cv_sizeof_intptr_t, [sizeof(intptr_t)]) +AC_ARG_VAR(ac_cv_sizeof_int128_t, [sizeof(int128_t)]) +AC_ARG_VAR(ac_cv_c_bigendian, [Is the target big-endian ("yes" or "no)?]) #set up feature test macros, so the tests get them right: # turn on all POSIX, SUSv3, and GNU features if available @@ -64,8 +77,9 @@ dnl AC_DEFINE_UNQUOTED([_POSIX_SOURCE],1 dnl AC_DEFINE_UNQUOTED([_POSIX_C_SOURCE],199506L,[feature test macro]) dnl AC_DEFINE_UNQUOTED([_XOPEN_SOURCE],600,[feature test macro]) # turn on large file support with 64-bit off_t where available -AC_DEFINE_UNQUOTED([_LARGEFILE_SOURCE],1,[feature test macro]) -AC_DEFINE_UNQUOTED([_FILE_OFFSET_BITS],64,[feature test macro]) +AC_SYS_LARGEFILE +dnl AC_DEFINE_UNQUOTED([_LARGEFILE_SOURCE],1,[feature test macro]) +dnl AC_DEFINE_UNQUOTED([_FILE_OFFSET_BITS],64,[feature test macro]) #currently we force direct threading this way. Eventually we should #setup in the arch and engine files right @@ -106,7 +120,7 @@ case "$host_cpu" in machine=hppa $srcdir/mkinstalldirs arch/hppa AC_LIBOBJ(../arch/hppa/cache) - LDFLAGS="$LDFLAGS -Xlinker -N" + #LDFLAGS="$LDFLAGS -Xlinker -N" LIBS="$LIBS -L/lib/pa1.1/" ;; sparc*) @@ -167,7 +181,7 @@ case "$host_cpu" in $srcdir/mkinstalldirs arch/power AC_CHECK_FUNC(_sync_cache_range,true,AC_LIBOBJ(../arch/power/_sync_cache_range)) #long long is broken on (at least) gcc-2.95.* for PPC - ac_cv_sizeof_long_long=0 + test x$ac_cv_sizeof_long_long = x && ac_cv_sizeof_long_long=0 ;; *) AC_MSG_WARN([Using a generic machine description]) @@ -179,7 +193,6 @@ case "$host_cpu" in AC_MSG_WARN(Disabling dynamic native code generation by default (speed penalty factor ~2)) esac AC_SUBST(host) -AC_SUBST(ENGINE_FLAGS) dnl the following macro produces a warning with autoconf-2.1 AC_CHECK_SIZEOF(char *) @@ -268,11 +281,35 @@ test $ac_cv_sizeof_off_t -gt $ac_cv_size ac_small_off_t=$? AC_DEFINE_UNQUOTED(SMALL_OFF_T,$ac_small_off_t,[1 if off_t fits in a Cell]) +ENGINE_FLAGS= +AC_SUBST(ENGINE_FLAGS) + +# Try if GCC understands -fno-gcse + +AC_MSG_CHECKING([if $CC understands -fno-gcse]) +CFLAGS_1="$CFLAGS" +CFLAGS="$CFLAGS -fno-gcse" +AC_TRY_COMPILE(,,ac_nogcse=yes;ENGINE_FLAGS="$ENGINE_FLAGS -fno-gcse",ac_nogcse=no) +CFLAGS="$CFLAGS_1" +AC_MSG_RESULT($ac_nogcse) + +# Try if GCC understands -fno-strict-aliasing + +AC_MSG_CHECKING([if $CC understands -fno-strict-aliasing]) +CFLAGS_1="$CFLAGS" +CFLAGS="$CFLAGS -fno-strict-aliasing" +AC_TRY_COMPILE(,,ac_nostrictaliasing=yes;ENGINE_FLAGS="$ENGINE_FLAGS -fno-strict-aliasing",ac_nostrictaliasing=no) +CFLAGS="$CFLAGS_1" +AC_MSG_RESULT($ac_nostrictaliasing) + # Try if GCC understands -fno-cross-jump +AC_MSG_CHECKING([if $CC understands -fno-cross-jump]) CFLAGS_1="$CFLAGS" CFLAGS="$CFLAGS -fno-cross-jump" -AC_TRY_COMPILE(,,,CFLAGS="$CFLAGS_1") +AC_TRY_COMPILE(,,ac_nocrossjump=yes;ENGINE_FLAGS="$ENGINE_FLAGS -fno-cross-jump",ac_nocrossjump=no) +CFLAGS="$CFLAGS_1" +AC_MSG_RESULT($ac_nocrossjump) AC_CHECK_PROG(asm_fs,asm.fs,arch/$machine/asm.fs,,$srcdir/arch/$machine) AC_SUBST(asm_fs) @@ -281,23 +318,19 @@ AC_CHECK_PROG(disasm_fs,disasm.fs,arch/$ AC_SUBST(disasm_fs) case "$host_os" in - *win32) - EXE=".exe" - DIRSEP="\\" + *win32|cygwin) + DIRSEP="\\\\" ;; *darwin*) #Darwin uses some funny preprocessor by default; eliminate it: AC_MSG_NOTICE([using -traditional-cpp on Darwin]) CFLAGS="$CFLAGS -traditional-cpp" - EXE="" DIRSEP="/" ;; *) - EXE="" DIRSEP="/" ;; esac -AC_SUBST(EXE) AC_SUBST(DIRSEP) AC_DEFINE_UNQUOTED(DIRSEP,'$DIRSEP',[a directory separator character]) @@ -317,13 +350,14 @@ AC_DEFINE_UNQUOTED(PATHSEP,'$PATHSEP',[a AC_SUBST(FORTHSIZES) -if test "$PEEPHOLE" = "yes" -then - PEEPHOLEFLAG="true" - AC_DEFINE(HAS_PEEPHOLE,,[Define if you want to use peephole optimization]) -else - PEEPHOLEFLAG="false" -fi +dnl if test "$PEEPHOLE" = "yes" +dnl then +dnl PEEPHOLEFLAG="true" +dnl AC_DEFINE(HAS_PEEPHOLE,,[Define if you want to use peephole optimization]) +dnl else +dnl PEEPHOLEFLAG="false" +dnl fi +PEEPHOLEFLAG="true" AC_SUBST(PEEPHOLEFLAG) dnl copy commands for systems that don't have links