Diff for /gforth/configure.in between versions 1.198 and 1.212

version 1.198, 2007/12/04 18:57:58 version 1.212, 2008/01/21 18:42:42
Line 1 Line 1
 dnl Process this file with autoconf to produce a configure script.  dnl Process this file with autoconf to produce a configure script.
   
 #Copyright (C) 1995,1996,1997,1998,2000,2003,2004,2005,2006 Free Software Foundation, Inc.  #Copyright (C) 1995,1996,1997,1998,2000,2003,2004,2005,2006,2007 Free Software Foundation, Inc.
   
 #This file is part of Gforth.  #This file is part of Gforth.
   
 #Gforth is free software; you can redistribute it and/or  #Gforth is free software; you can redistribute it and/or
 #modify it under the terms of the GNU General Public License  #modify it under the terms of the GNU General Public License
 #as published by the Free Software Foundation; either version 2  #as published by the Free Software Foundation, either version 3
 #of the License, or (at your option) any later version.  #of the License, or (at your option) any later version.
   
 #This program is distributed in the hope that it will be useful,  #This program is distributed in the hope that it will be useful,
Line 15  dnl Process this file with autoconf to p Line 15  dnl Process this file with autoconf to p
 #GNU General Public License for more details.  #GNU General Public License for more details.
   
 #You should have received a copy of the GNU General Public License  #You should have received a copy of the GNU General Public License
 #along with this program; if not, write to the Free Software  #along with this program. If not, see http://www.gnu.org/licenses/.
 #Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA.  
   
   
 dnl We use some automake macros here,  dnl We use some automake macros here,
Line 33  AC_CONFIG_HEADERS(engine/config.h) Line 32  AC_CONFIG_HEADERS(engine/config.h)
 #suppress the "-g -O2" default  #suppress the "-g -O2" default
 test "$CFLAGS" || CFLAGS=-O2  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-ll,  
         AC_HELP_STRING([--enable-force-ll],  
                        [  Use explicit long long 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_ll=no)  
 test "$enable_force_ll" = "no"||  
   AC_DEFINE(FORCE_LL,,[Define if you want to use explicit long long declarations for better performance (does not work with all GCC versions on all machines)])  
   
 AC_ARG_ENABLE(force-cdiv,  AC_ARG_ENABLE(force-cdiv,
         AC_HELP_STRING([--enable-force-cdiv],          AC_HELP_STRING([--enable-force-cdiv],
                        [  Use the native C division - symmetric - instead of                         [  Use the native C division - symmetric - instead of
Line 68  AC_ARG_ENABLE(prof, Line 47  AC_ARG_ENABLE(prof,
                         [ Build gforth-prof, which outputs frequently occuring                          [ Build gforth-prof, which outputs frequently occuring
                           sequences of primitives.]),                            sequences of primitives.]),
         ,enable_prof=no)          ,enable_prof=no)
 if test "$enable_prof" = "no"; then  if test "$enable_prof" != "no"; then
   PROFEXES="gforth-prof\$(EXE)"; PROFOBJS="engine-prof.o main-prof.o profile.o"    PROFEXES='gforth-prof$(OPT)$(EXE)'; PROFOBJS='engine-prof$(OPT).o main-prof$(OPT).o profile$(OPT).o'
 fi  fi
   
 AC_ARG_WITH(debug,  AC_ARG_WITH(debug,
Line 79  AC_ARG_WITH(debug, Line 58  AC_ARG_WITH(debug,
                           debugging informations.],                            debugging informations.],
 if test "$withval" = "yes"; then DEBUGFLAG=-g; fi)  if test "$withval" = "yes"; then DEBUGFLAG=-g; fi)
   
 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")  
   
 GCC_LD="\$(GCC)"  GCC_LD="\$(GCC)"
 EC_MODE="false"  EC_MODE="false"
 EC=""  EC=""
 engine2="engine2.o"  engine2='engine2$(OPT).o'
 engine_fast2="engine-fast2.o"  engine_fast2='engine-fast2$(OPT).o'
 no_dynamic=""  no_dynamic=""
 image_i=""  image_i=""
 signals_o="io.o signals.o"  signals_o="io.o signals.o"
Line 121  else Line 93  else
 fi])  fi])
   
 #variables mentioned in INSTALL  #variables mentioned in INSTALL
 AC_ARG_VAR(CC, [The C compiler (must support GNU C 2.x); gcc-2.95 recommended.])  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(FORTHSIZES, [Gforth command line options for the default stack and dictionary sizes (see INSTALL).])
   AC_ARG_VAR(STACK_CACHE_REGS, [number of registers in the maximum stack cache state for gforth-fast and gforth-native (default platform-dependent).])
 AC_ARG_VAR(STACK_CACHE_DEFAULT_FAST, [number of registers in the default stack cache state for gforth-fast and gforth-native (default 1).])  AC_ARG_VAR(STACK_CACHE_DEFAULT_FAST, [number of registers in the default stack cache state for gforth-fast and gforth-native (default 1).])
 AC_ARG_VAR(GCC_PR15242_WORKAROUND, [Force the enabling (1) or disabling (0) of a workaround for a gcc-3.x performance bug (default unset: use workaround for gcc-3.x)])  AC_ARG_VAR(GCC_PR15242_WORKAROUND, [Force the enabling (1) or disabling (0) of a workaround for a gcc-3.x performance bug (default unset: use workaround for gcc-3.x)])
   
Line 134  AC_ARG_VAR(ac_cv_sizeof_int, [sizeof(int Line 107  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, [sizeof(long)])
 AC_ARG_VAR(ac_cv_sizeof_long_long, [sizeof(long 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_intptr_t, [sizeof(intptr_t)])
 AC_ARG_VAR(ac_cv_sizeof_int128_t, [sizeof(int128_t)])  
 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(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(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(condbranch_opt, [enable (1) or disable (0) using two dispatches for conditional branches])
Line 217  case "$host_cpu" in Line 188  case "$host_cpu" in
                    CFLAGS="$CFLAGS -mthumb -mthumb-interwork"                     CFLAGS="$CFLAGS -mthumb -mthumb-interwork"
                 fi                  fi
                 if test -z $arm_cacheflush; then                  if test -z $arm_cacheflush; then
                     no_dynamic_default=1                     case "$host_os" in
                     arm_cacheflush=arch/arm/cacheflush0                       *linux*)
                     AC_MSG_WARN([No I-cache flush code known, disabling dynamic native code generation])                          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                  fi
                 AC_LIBSOURCES([../arch/arm/cacheflush0, ../arch/arm/cacheflush1, ../arch/arm/cacheflush2])                  AC_LIBSOURCES([../arch/arm/cacheflush0, dnl
                                  ../arch/arm/cacheflush1, dnl
                                  ../arch/arm/cacheflush2, dnl
                                  ../arch/arm/cacheflush-linux])
                 AC_LIBOBJ(../$arm_cacheflush)                  AC_LIBOBJ(../$arm_cacheflush)
                 #longer skipcodes lead to problems on ARM, and it uses                  #longer skipcodes lead to problems on ARM, and it uses
                 #only 4-byte alignment anyway                  #only 4-byte alignment anyway
Line 315  case "$host_cpu" in Line 296  case "$host_cpu" in
                 test x$ac_cv_sizeof_long_long = x &&                   test x$ac_cv_sizeof_long_long = x && 
                 ($CC -v 2>&1 |grep -q 'gcc version 2.95') &&                  ($CC -v 2>&1 |grep -q 'gcc version 2.95') &&
                 ac_cv_sizeof_long_long=0                  ac_cv_sizeof_long_long=0
                   #The only architecture with enough callee-saved registers
                   test x$STACK_CACHE_REGS = x && STACK_CACHE_REGS=3
                   #or use 2, hardly slower at run-time and starts up faster
                 ;;                  ;;
         *)          *)
                 AC_MSG_WARN([Using a generic machine description])                  AC_MSG_WARN([Using a generic machine description])
Line 349  then Line 333  then
 fi  fi
 AC_SUBST(MAKEINC)  AC_SUBST(MAKEINC)
   
   AC_ARG_VAR(STACK_CACHE_REGS, [number of registers in the maximum stack cache state for gforth-fast and gforth-native (default platform-dependent).])
   
   test x$STACK_CACHE_REGS = x && STACK_CACHE_REGS=1
   AC_DEFINE_UNQUOTED(STACK_CACHE_REGS, $STACK_CACHE_REGS,
                      [number of registers in the maximum stack cache state for gforth-fast and gforth-native])
 test x$STACK_CACHE_DEFAULT_FAST = x && STACK_CACHE_DEFAULT_FAST=1  test x$STACK_CACHE_DEFAULT_FAST = x && STACK_CACHE_DEFAULT_FAST=1
 AC_DEFINE_UNQUOTED(STACK_CACHE_DEFAULT_FAST, $STACK_CACHE_DEFAULT_FAST,  AC_DEFINE_UNQUOTED(STACK_CACHE_DEFAULT_FAST, $STACK_CACHE_DEFAULT_FAST,
                    [number of registers in the default stack cache state for gforth-fast and gforth-native])                     [number of registers in the default stack cache state for gforth-fast and gforth-native])
Line 357  test x$GCC_PR15242_WORKAROUND = x || Line 346  test x$GCC_PR15242_WORKAROUND = x ||
 AC_DEFINE_UNQUOTED(GCC_PR15242_WORKAROUND, $GCC_PR15242_WORKAROUND,  AC_DEFINE_UNQUOTED(GCC_PR15242_WORKAROUND, $GCC_PR15242_WORKAROUND,
                    [force (1) or forbid (0) use of a workaround for a gcc performance bug])                     [force (1) or forbid (0) use of a workaround for a gcc performance bug])
   
 dnl AC_DEFINE(GCC_PR15242_WORKAROUND,,[Define if you want to get dynamic code  
 dnl generation on gccs affected by PR15242])  
   
   
 if test "${enable_force_ll+set}" = set; then  
    ac_includes_default="$ac_includes_default  
 #include \"arch/generic/128bit.h\""  
 fi  
   
 dnl the following macro produces a warning with autoconf-2.1  dnl the following macro produces a warning with autoconf-2.1
 AC_CHECK_SIZEOF(char *)  AC_CHECK_SIZEOF(char *)
 case "$ac_cv_sizeof_char_p" in  case "$ac_cv_sizeof_char_p" in
Line 423  case "$ac_cv_sizeof_char_p" in Line 403  case "$ac_cv_sizeof_char_p" in
   $ac_cv_sizeof_intptr_t)    $ac_cv_sizeof_intptr_t)
     ac_cv_int_type_cell="intptr_t"      ac_cv_int_type_cell="intptr_t"
     ;;      ;;
   $ac_cv_sizeof_int128_t)  
     ac_cv_int_type_cell="int128_t"  
     ;;  
 esac  esac
 AC_MSG_RESULT($ac_cv_int_type_cell)  AC_MSG_RESULT($ac_cv_int_type_cell)
 AC_DEFINE_UNQUOTED(CELL_TYPE,$ac_cv_int_type_cell,[an integer type that is as long as a pointer])  AC_DEFINE_UNQUOTED(CELL_TYPE,$ac_cv_int_type_cell,[an integer type that is as long as a pointer])
Line 451  case 2 in Line 428  case 2 in
   $ac_cv_sizeof_intptr_t)    $ac_cv_sizeof_intptr_t)
     ac_cv_wyde_type_cell="intptr_t"      ac_cv_wyde_type_cell="intptr_t"
     ;;      ;;
   $ac_cv_sizeof_int128_t)  
     ac_cv_wyde_type_cell="int128_t"  
     ;;  
 esac  esac
 AC_MSG_RESULT($ac_cv_wyde_type_cell)  AC_MSG_RESULT($ac_cv_wyde_type_cell)
 AC_DEFINE_UNQUOTED(WYDE_TYPE,$ac_cv_wyde_type_cell,[an integer type that is 2 bytes long])  AC_DEFINE_UNQUOTED(WYDE_TYPE,$ac_cv_wyde_type_cell,[an integer type that is 2 bytes long])
Line 479  case 4 in Line 453  case 4 in
   $ac_cv_sizeof_intptr_t)    $ac_cv_sizeof_intptr_t)
     ac_cv_tetrabyte_type_cell="intptr_t"      ac_cv_tetrabyte_type_cell="intptr_t"
     ;;      ;;
   $ac_cv_sizeof_int128_t)  
     ac_cv_tetrabyte_type_cell="int128_t"  
     ;;  
 esac  esac
 AC_MSG_RESULT($ac_cv_tetrabyte_type_cell)  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_DEFINE_UNQUOTED(TETRABYTE_TYPE,$ac_cv_tetrabyte_type_cell,[an integer type that is 4 bytes long])
Line 534  case `expr 2 '*' "$ac_cv_sizeof_char_p"` Line 505  case `expr 2 '*' "$ac_cv_sizeof_char_p"`
 esac  esac
 AC_MSG_RESULT($ac_cv_int_type_double_ucell)  AC_MSG_RESULT($ac_cv_int_type_double_ucell)
   
 if test "$ac_cv_int_type_double_cell" = none || \  if test "$ac_cv_int_type_double_cell" != none && \
    test "$ac_cv_int_type_double_ucell" = none     test "$ac_cv_int_type_double_ucell" != none
 then  then
         AC_MSG_WARN([Emulating double-cell arithmetic. This may be slow.])  
         AC_LIBOBJ(dblsub)  
         AC_DEFINE(BUGGY_LONG_LONG,,[define this if there is no working DOUBLE_CELL_TYPE on your machine])  
 else  
         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_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])          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 -no-ll"
           else
              OPTS=-noll
           fi
 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_TYPE_OFF_T
 AC_CHECK_SIZEOF(off_t)  AC_CHECK_SIZEOF(off_t)
 test $ac_cv_sizeof_off_t -gt $ac_cv_sizeof_char_p  test $ac_cv_sizeof_off_t -gt $ac_cv_sizeof_char_p
Line 628  AC_SUBST(M4) Line 607  AC_SUBST(M4)
 AC_DEFINE_UNQUOTED(M4,"$M4",[How to invoke m4])  AC_DEFINE_UNQUOTED(M4,"$M4",[How to invoke m4])
 AC_MSG_RESULT($M4)  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 --die-on-signal -i `gforth --debug -e bye 2>&1 |grep "Opened image file: "|sed 's/Opened image file: //'`" ; fi
   AC_SUBST(GFORTH)
   AC_DEFINE_UNQUOTED(GFORTH,"$GFORTH",[How to invoke gforth])
   AC_MSG_RESULT($GFORTH)
   
 echo "machine='$machine'"  echo "machine='$machine'"
   
 dnl AC_CHECK_PROG(asm_fs,asm.fs,arch/$machine/asm.fs,,$srcdir/arch/$machine)  dnl AC_CHECK_PROG(asm_fs,asm.fs,arch/$machine/asm.fs,,$srcdir/arch/$machine)
Line 679  AC_CHECK_PROG([MASSAGE_EXE],[chcon],[chc Line 666  AC_CHECK_PROG([MASSAGE_EXE],[chcon],[chc
   
 dnl Now a little support for DOS/DJGCC  dnl Now a little support for DOS/DJGCC
 AC_SUBST(GFORTH_EXE)  AC_SUBST(GFORTH_EXE)
 GFORTH_EXE=""  GFORTH_EXE="true"
 AC_SUBST(GFORTHFAST_EXE)  AC_SUBST(GFORTHFAST_EXE)
 GFORTHFAST_EXE=""  GFORTHFAST_EXE="true"
 AC_SUBST(GFORTHITC_EXE)  AC_SUBST(GFORTHITC_EXE)
 GFORTHITC_EXE=""  GFORTHITC_EXE="true"
 AC_SUBST(GFORTHDITC_EXE)  AC_SUBST(GFORTHDITC_EXE)
 GFORTHDITC_EXE=""  GFORTHDITC_EXE="true"
   
 AC_SUBST(FORTHSIZES)  AC_SUBST(FORTHSIZES)
   
Line 876  chmod +x vmgen Line 863  chmod +x vmgen
 chmod +x build-ec  chmod +x build-ec
 test -d kernel||mkdir kernel  test -d kernel||mkdir kernel
 $srcdir/mkinstalldirs include/gforth/$PACKAGE_VERSION  $srcdir/mkinstalldirs include/gforth/$PACKAGE_VERSION
 ln -s ../../../engine/config.h ../../../engine/libcc.h include/gforth/$PACKAGE_VERSION]],[[PACKAGE_VERSION=$PACKAGE_VERSION]])  ln -sf ../../../engine/config.h ../../../engine/libcc.h include/gforth/$PACKAGE_VERSION]],[[PACKAGE_VERSION=$PACKAGE_VERSION]])
 AC_OUTPUT  AC_OUTPUT
   

Removed from v.1.198  
changed lines
  Added in v.1.212


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>