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

version 1.138, 2004/04/10 10:15:06 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 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 362  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 369  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 427  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 443  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 454  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

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


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