Diff for /gforth/configure.in between versions 1.136 and 1.149

version 1.136, 2003/09/14 15:06:28 version 1.149, 2005/01/24 18:47:50
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 Free Software Foundation, Inc.  #Copyright (C) 1995,1996,1997,1998,2000,2003,2004 Free Software Foundation, Inc.
   
 #This file is part of Gforth.  #This file is part of Gforth.
   
Line 34  AC_CONFIG_HEADERS(engine/config.h) Line 34  AC_CONFIG_HEADERS(engine/config.h)
 test "$CFLAGS" || CFLAGS=-O2  test "$CFLAGS" || CFLAGS=-O2
   
 AC_ARG_ENABLE(force-reg,  AC_ARG_ENABLE(force-reg,
 [  --enable-force-reg     Use explicit register declarations if they appear in          AC_HELP_STRING([--enable-force-reg],
                           [ Use explicit register declarations if they appear in
                           the machine.h file. This can cause a good speedup,                            the machine.h file. This can cause a good speedup,
                           but also incorrect code with some gcc versions on                            but also incorrect code with some gcc versions on
                           some processors (default disabled).],                            some processors (default disabled).]),
 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)]))          ,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(gcc-pr15242-workaround,
                 AC_HELP_STRING([--disable-gcc-pr15242-workaround],[Disables
                                dynamic code generation on some versions of gcc
                                (slowdown~2 on Athlon) and causes slower building
                                of gforth (but gforth speedups) on others.
                                (default enabled)]),
                   ,enable_gcc_pr15242_workaround=yes)
   test "$enable_gcc_pr15242_workaround" = "no"||
   AC_DEFINE(GCC_PR15242_WORKAROUND,,[Define if you want to get dynamic code
   generation on gccs affected by PR15242])
   
 AC_SUBST(PROFEXES)  AC_SUBST(PROFEXES)
 AC_SUBST(PROFOBJS)  AC_SUBST(PROFOBJS)
 AC_ARG_ENABLE(prof,  AC_ARG_ENABLE(prof,
 [  --enable-prof          Build gforth-prof, which outputs frequently occuring          AC_HELP_STRING([--enable-prof],
                           sequences of primitives.],                          [ Build gforth-prof, which outputs frequently occuring
 PROFEXES="gforth-prof\$(EXE)"; PROFOBJS="engine-prof.o main-prof.o profile.o")                            sequences of primitives.]),
           ,enable_prof=no)
   if test "$enable_prof" = "no"; then
     PROFEXES="gforth-prof\$(EXE)"; PROFOBJS="engine-prof.o main-prof.o profile.o"
   fi
   
 AC_ARG_WITH(debug,  AC_ARG_WITH(debug,
 [  --with-debug           specifies option -g to compile with debug info  [  --with-debug           specifies option -g to compile with debug info
Line 71  AC_ARG_VAR(ac_cv_sizeof_long, [sizeof(lo Line 100  AC_ARG_VAR(ac_cv_sizeof_long, [sizeof(lo
 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_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(skip_code, [assembly code for skipping 16 bytes of code])  AC_ARG_VAR(skip_code, [assembly code for skipping 16 bytes of code])
Line 204  case "$host_cpu" in Line 234  case "$host_cpu" in
         power*|rs6000)          power*|rs6000)
                 machine=power                  machine=power
                 $srcdir/mkinstalldirs arch/power                  $srcdir/mkinstalldirs arch/power
                 AC_CHECK_FUNC(_sync_cache_range,true,AC_LIBOBJ(../arch/power/_sync_cache_range))                  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                  #long long is broken on (at least) gcc-2.95.* for PPC
                 test x$ac_cv_sizeof_long_long = x && ac_cv_sizeof_long_long=0                  test x$ac_cv_sizeof_long_long = x && ac_cv_sizeof_long_long=0
                 ;;                  ;;
Line 221  case "$host_cpu" in Line 251  case "$host_cpu" in
 esac  esac
 AC_SUBST(host)  AC_SUBST(host)
   
   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 242  AC_CHECK_SIZEOF(long) Line 277  AC_CHECK_SIZEOF(long)
 AC_CHECK_SIZEOF(long long)  AC_CHECK_SIZEOF(long long)
 AC_CHECK_SIZEOF(intptr_t)  AC_CHECK_SIZEOF(intptr_t)
 AC_CHECK_SIZEOF(int128_t)  AC_CHECK_SIZEOF(int128_t)
   AC_CHECK_SIZEOF(uint128_t)
   
 AC_MSG_CHECKING([for a C type for cells])  AC_MSG_CHECKING([for a C type for cells])
 ac_cv_int_type_cell=none  ac_cv_int_type_cell=none
Line 294  case `expr 2 '*' "$ac_cv_sizeof_char_p"` Line 330  case `expr 2 '*' "$ac_cv_sizeof_char_p"`
     ;;      ;;
 esac  esac
 AC_MSG_RESULT($ac_cv_int_type_double_cell)  AC_MSG_RESULT($ac_cv_int_type_double_cell)
 if test "$ac_cv_int_type_double_cell" = none; then  
   AC_MSG_CHECKING([for a C type for unsigned double-cells])
   ac_cv_int_type_double_ucell=none
   case `expr 2 '*' "$ac_cv_sizeof_char_p"` in
     $ac_cv_sizeof_short)
       ac_cv_int_type_double_ucell="unsigned short"
       ;;
     $ac_cv_sizeof_int)
       ac_cv_int_type_double_ucell="unsigned int"
       ;;
     $ac_cv_sizeof_long)
       ac_cv_int_type_double_ucell="unsigned long"
       ;;
     $ac_cv_sizeof_long_long)
       ac_cv_int_type_double_ucell="unsigned long long"
       ;;
     $ac_cv_sizeof_intptr_t)
       ac_cv_int_type_double_ucell="unsigned intptr_t"
       ;;
     $ac_cv_sizeof_uint128_t)
       ac_cv_int_type_double_ucell="uint128_t"
       ;;
   esac
   AC_MSG_RESULT($ac_cv_int_type_double_ucell)
   
   if test "$ac_cv_int_type_double_cell" = none || \
      test "$ac_cv_int_type_double_ucell" = none
   then
         AC_MSG_WARN([Emulating double-cell arithmetic. This may be slow.])          AC_MSG_WARN([Emulating double-cell arithmetic. This may be slow.])
         AC_LIBOBJ(dblsub)          AC_LIBOBJ(dblsub)
         AC_DEFINE(BUGGY_LONG_LONG,,[define this if there is no working DOUBLE_CELL_TYPE on your machine])          AC_DEFINE(BUGGY_LONG_LONG,,[define this if there is no working DOUBLE_CELL_TYPE on your machine])
 else  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])
 fi  fi
   
 AC_TYPE_OFF_T  AC_TYPE_OFF_T
Line 336  AC_TRY_COMPILE(,,ac_nocrossjumping=yes;E Line 400  AC_TRY_COMPILE(,,ac_nocrossjumping=yes;E
 CFLAGS="$CFLAGS_1"  CFLAGS="$CFLAGS_1"
 AC_MSG_RESULT($ac_nocrossjumping)  AC_MSG_RESULT($ac_nocrossjumping)
   
   # Try if GCC understands -fno-reorder-blocks
   AC_MSG_CHECKING([if $CC understands -fno-reorder-blocks])
   CFLAGS_1="$CFLAGS"
   CFLAGS="$CFLAGS -fno-reorder-blocks"
   AC_TRY_COMPILE(,,ac_noreorder_blocks=yes;ENGINE_FLAGS="$ENGINE_FLAGS -fno-reorder-blocks",ac_noreorder_blocks=no)
   CFLAGS="$CFLAGS_1"
   AC_MSG_RESULT($ac_noreorder_blocks)
   
 # Try if GCC understands __attribute__((unused))  # Try if GCC understands __attribute__((unused))
 AC_MSG_CHECKING([how to suppress 'unused variable' warnings])  AC_MSG_CHECKING([how to suppress 'unused variable' warnings])
 AC_TRY_COMPILE(,[int __attribute__((unused)) foo;], MAYBE_UNUSED='__attribute__((unused))',)  AC_TRY_COMPILE(,[int __attribute__((unused)) foo;], MAYBE_UNUSED='__attribute__((unused))',)
Line 354  case "$host_os" in Line 426  case "$host_os" in
         *win32|cygwin)          *win32|cygwin)
                 DIRSEP="\\\\"                  DIRSEP="\\\\"
                 PATHSEP=";"                  PATHSEP=";"
                   #we want the builtins of command.com/cmd.exe and its
                   # handling of .com files.
                   #$COMSPEC contains the name of the Windows shell;
                   # the ./ is there, because the bash does not recognize
                   # absolute DOS filenames
                   DEFAULTSYSTEMPREFIX="./$COMSPEC /c "
                 ;;                  ;;
         *darwin*)          *darwin*)
                 #Darwin uses some funny preprocessor by default; eliminate it:                  #Darwin uses some funny preprocessor by default; eliminate it:
Line 361  case "$host_os" in Line 439  case "$host_os" in
                 CFLAGS="$CFLAGS -no-cpp-precomp"                  CFLAGS="$CFLAGS -no-cpp-precomp"
                 DIRSEP="/"                  DIRSEP="/"
                 PATHSEP=":"                  PATHSEP=":"
                   DEFAULTSYSTEMPREFIX=""
                 ;;                  ;;
         *)          *)
                 DIRSEP="/"                  DIRSEP="/"
                 PATHSEP=":"                  PATHSEP=":"
                   DEFAULTSYSTEMPREFIX=""
                 ;;                  ;;
 esac  esac
 AC_SUBST(DIRSEP)  AC_SUBST(DIRSEP)
 AC_DEFINE_UNQUOTED(DIRSEP,'$DIRSEP',[a directory separator character])  AC_DEFINE_UNQUOTED(DIRSEP,'$DIRSEP',[a directory separator character])
 AC_SUBST(PATHSEP)  AC_SUBST(PATHSEP)
 AC_DEFINE_UNQUOTED(PATHSEP,'$PATHSEP',[a path separator character])  AC_DEFINE_UNQUOTED(PATHSEP,'$PATHSEP',[a path separator character])
   AC_SUBST(DEFAULTSYSTEMPREFIX)
   AC_DEFINE_UNQUOTED(DEFAULTSYSTEMPREFIX,"$DEFAULTSYSTEMPREFIX",[default for environment variable GFORTHSYSTEMPREFIX])
   
 dnl Now a little support for DOS/DJGCC  dnl Now a little support for DOS/DJGCC
 AC_SUBST(GFORTH_EXE)  AC_SUBST(GFORTH_EXE)
Line 419  else Line 500  else
 fi  fi
   
 #check how to do asm(".skip 16")  #check how to do asm(".skip 16")
   echo "CFLAGS=$CFLAGS"
   echo "ac_link=$ac_link"
 AC_MSG_CHECKING([if and how we can waste code space])  AC_MSG_CHECKING([if and how we can waste code space])
 if test -z "$skipcode"; then  if test -z "$skipcode"; then
       skipcode=no
       CFLAGS_1="$CFLAGS"
       CFLAGS="$CFLAGS $ENGINE_FLAGS"
     for i in ".skip 16" ".block 16" ".org .+16" ".=.+16" ".space 16"      for i in ".skip 16" ".block 16" ".org .+16" ".=.+16" ".space 16"
     do      do
         AC_TRY_RUN(          AC_TRY_RUN(
Line 435  int foo(int x, int y, int z) Line 521  int foo(int x, int y, int z)
   if (x) {    if (x) {
     y++; /* workaround for http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12108 */      y++; /* workaround for http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12108 */
   label1:    label1:
     asm(".skip 16"); /* or ".space 16" or somesuch */      asm("$i"); /* or ".space 16" or somesuch */
   label2: ;    label2: ;
   }    }
   {    {
Line 446  int foo(int x, int y, int z) Line 532  int foo(int x, int y, int z)
         ,skipcode=$i; break          ,skipcode=$i; break
         ,,)          ,,)
     done      done
       CFLAGS=$CFLAGS_1
 fi  fi
 AC_MSG_RESULT($skipcode)  AC_MSG_RESULT($skipcode)
 if test "$skipcode" = no  if test "$skipcode" = no
Line 492  AC_FUNC_FSEEKO Line 579  AC_FUNC_FSEEKO
 AC_CHECK_FUNCS(ftello dlopen sys_siglist getrusage)  AC_CHECK_FUNCS(ftello dlopen sys_siglist getrusage)
 AC_CHECK_TYPES(stack_t,,,[#include <signal.h>])  AC_CHECK_TYPES(stack_t,,,[#include <signal.h>])
 AC_DECL_SYS_SIGLIST  AC_DECL_SYS_SIGLIST
 AC_CHECK_FUNC(getopt_long,true,AC_LIBOBJ(getopt); AC_LIBOBJ(getopt1))  AC_CHECK_FUNC(getopt_long,[true],[AC_LIBOBJ(getopt) AC_LIBOBJ(getopt1)])
 AC_CHECK_FUNCS(expm1 log1p)  AC_CHECK_FUNCS(expm1 log1p)
 AC_REPLACE_FUNCS(rint ecvt)  AC_REPLACE_FUNCS(rint ecvt)
 dnl No check for select, because our replacement is no good under  dnl No check for select, because our replacement is no good under

Removed from v.1.136  
changed lines
  Added in v.1.149


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