--- gforth/configure.in 2010/12/27 18:13:39 1.286 +++ gforth/configure.in 2011/11/16 23:15:05 1.292 @@ -1,6 +1,6 @@ dnl Process this file with autoconf to produce a configure script. -#Copyright (C) 1995,1996,1997,1998,2000,2003,2004,2005,2006,2007,2008,2009 Free Software Foundation, Inc. +#Copyright (C) 1995,1996,1997,1998,2000,2003,2004,2005,2006,2007,2008,2009,2010 Free Software Foundation, Inc. #This file is part of Gforth. @@ -71,6 +71,7 @@ if test "$withval" = "yes"; then DEBUGFL GCC_LD="\$(GCC)" EC_MODE="false" NO_EC="" +NO_CROSS="" EC="" engine2='engine2$(OPT).o' engine_fast2='engine-fast2$(OPT).o' @@ -90,6 +91,7 @@ else EC_MODE="true" EC="-ec" NO_EC="#" + NO_CROSS="#" engine2="" engine_fast2="" no_dynamic="-DNO_DYNAMIC" @@ -108,6 +110,23 @@ else platform=${withval} fi]) +AC_ARG_WITH(cross, + AC_HELP_STRING([--with-cross=], + [ Build gforth using a cross compiler.]), +[if test "$withval" = "no"; then + echo "defining hosted system" +else + echo "defining cross compiled system (${withval})" + if test -f "arch/$host_cpu/${withval}/config.sh"; then + source "arch/$host_cpu/${withval}/config.sh" + fi + GCC_PATH=$(which $CC) + LIB_PATH=${GCC_PATH%/*/*} + platform=${withval} + NO_EC="" + NO_CROSS="#" +fi]) + #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).]) @@ -172,6 +191,7 @@ AC_SUBST(GCC_LD) AC_SUBST(DEBUGFLAG) AC_SUBST(EC) AC_SUBST(NO_EC) +AC_SUBST(NO_CROSS) AC_SUBST(EC_MODE) AC_SUBST(engine2) AC_SUBST(engine_fast2) @@ -669,6 +689,12 @@ AC_TRY_COMPILE(,[int __attribute__((unus AC_DEFINE_UNQUOTED(MAYBE_UNUSED,$MAYBE_UNUSED,[attribute for possibly unused variables]) AC_MSG_RESULT($MAYBE_UNUSED) +# Try if GCC understands __thread +AC_MSG_CHECKING([whether gcc understands '__thread']) +AC_TRY_COMPILE(,[extern __thread int foo;],PER_THREAD='__thread',) +AC_DEFINE_UNQUOTED(PER_THREAD,$PER_THREAD,[storage class for thread-local variables]) +AC_MSG_RESULT($PER_THREAD) + #try if m4 understands -s AC_MSG_CHECKING([how to invoke m4]) if m4 -s /dev/null >/dev/null 2>&1; then @@ -679,22 +705,6 @@ fi AC_SUBST(M4) AC_MSG_RESULT($M4) -# Find installed Gforth -AC_MSG_CHECKING([for gforth]) -GFORTH="`cd / && which gforth 2>/dev/null`" -#the "$srcdir" = "." test defends agains the "../" bug in gforth-0.6.2 -(cd / && $GFORTH -e bye >/dev/null 2>/dev/null && test "$srcdir" = ".") || GFORTH="" -if test -z "$GFORTH"; then - PREFORTH='echo "You need to configure with a gforth in \$PATH to build this part" && false' - kernel_anti_dependence='' -else - PREFORTH="$GFORTH -i `cd / && $GFORTH --debug -e bye 2>&1 |grep "Opened image file: "|sed 's/Opened image file: //'`" ; - kernel_anti_dependence='$(kernel_fi)' -fi -AC_SUBST(PREFORTH) -AC_SUBST(kernel_anti_dependence) -AC_MSG_RESULT($PREFORTH) - #echo "machine='$machine'" dnl AC_CHECK_PROG(asm_fs,asm.fs,arch/$machine/asm.fs,,$srcdir/arch/$machine) @@ -887,6 +897,11 @@ AC_PROG_LN_S AC_PROG_INSTALL AC_CHECK_PROGS(TEXI2DVI,texi2dvi4a2ps texi2dvi) +dnl check for the presence of Emacs +AC_CHECK_PROGS(EMACS,emacs xemacs) +test -n "$EMACS" && gforth_elc=gforth.elc +AC_SUBST(gforth_elc) + dnl MacOS X has a libtool that does something else AC_CHECK_PROGS(GNU_LIBTOOL,"glibtool --tag=CC" libtool) @@ -968,6 +983,27 @@ include_fi=kernl${wordsize}${bytesex}${E AC_SUBST(kernel_fi) AC_SUBST(include_fi) +# Find installed Gforth +AC_MSG_CHECKING([for gforth]) +GFORTH="`cd / && which gforth 2>/dev/null`" +#the "$srcdir" = "." test defends agains the "../" bug in gforth-0.6.2 +(cd / && $GFORTH -e bye >/dev/null 2>/dev/null && test "$srcdir" = ".") || GFORTH="" +if test -z "$GFORTH"; then + PREFORTH='echo "You need to configure with a gforth in \$PATH to build this part" && false' + KFORTH='echo "You need to configure with a gforth in \$PATH to build this part" && false' + kernel_anti_dependence='' +else + GFORTH_FI=`cd / && $GFORTH --debug -e bye 2>&1 |grep "Opened image file: "|sed 's/Opened image file: //'` + PREFORTH="$GFORTH -i $GFORTH_FI" ; + KERNLX_FI=`echo $GFORTH_FI | sed -e s/lib/share/g -e s/gforth.fi/kernl*.fi/g` + KFORTH="$GFORTH -i `echo $KERNLX_FI`" ; + kernel_anti_dependence='$(kernel_fi)' +fi +AC_SUBST(PREFORTH) +AC_SUBST(KFORTH) +AC_SUBST(kernel_anti_dependence) +AC_MSG_RESULT($PREFORTH) + #this breaks bindists #dnl replace srource directory by absolute value #if test $srcdir = "."; then srcdir=`pwd` @@ -982,6 +1018,7 @@ vmgen machpc.fs envos.fs preforth +kforth engine/Makefile engine/libcc.h doc/version.texi @@ -991,6 +1028,7 @@ chmod +x gforthmi chmod +x vmgen chmod +x build-ec chmod +x preforth +chmod +x kforth test -d kernel||mkdir kernel if test $srcdir != "."; then ln -sf $srcdir/gforth.el .; fi $srcdir/mkinstalldirs include/gforth/$PACKAGE_VERSION