--- gforth/configure.in 2008/01/08 19:55:55 1.207 +++ gforth/configure.in 2008/04/22 15:23:46 1.222 @@ -20,15 +20,45 @@ 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.6.9-20070604],[https://savannah.gnu.org/bugs/?func=addbug&group=gforth]) +AC_INIT([gforth],[0.6.9-20080405],[https://savannah.gnu.org/bugs/?func=addbug&group=gforth]) AC_PREREQ(2.54) #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="June 02, 2007" +UPDATED="February 23, 2008" AC_SUBST(UPDATED) AC_CONFIG_HEADERS(engine/config.h) +#ltdl stuff: +AC_CONFIG_MACRO_DIR([libltdl/m4]) +LT_CONFIG_LTDL_DIR([libltdl]) +LT_INIT([dlopen]) +LTDL_INIT([subproject],[convenience]) +AC_CONFIG_AUX_DIR([libltdl/config]) + +# check for ltdl features we need +# The lt_dladvise_init symbol was added with libtool-2.2 +if test "x$with_included_ltdl" != "xyes"; then + save_CFLAGS="$CFLAGS" + save_LDFLAGS="$LDFLAGS" + CFLAGS="$CFLAGS $LTDLINCL" + LDFLAGS="$LDFLAGS $LIBLTDL" + AC_CHECK_LIB([ltdl], [lt_dladvise_init], + [], + [AC_MSG_ERROR([libltdl-2.2 or later needed; configure with --with-included-ltdl])]) + LDFLAGS="$save_LDFLAGS" + CFLAGS="$save_CFLAGS" +fi + +#how to link with libltdl +if test "x$with_included_ltdl" = "xyes"; then + #hard-code it (hopefully portable); the official way is to use automake :-( + LTDL_LDLIBS='-L$(top_builddir)/libltdl/.libs -lltdlc' +else + LTDL_LDLIBS='$(LIBLTDL)' +fi +AC_SUBST(LTDL_LDLIBS) + #suppress the "-g -O2" default test "$CFLAGS" || CFLAGS=-O2 @@ -188,11 +218,19 @@ case "$host_cpu" in CFLAGS="$CFLAGS -mthumb -mthumb-interwork" fi if test -z $arm_cacheflush; then - no_dynamic_default=1 - arm_cacheflush=arch/arm/cacheflush0 - AC_MSG_WARN([No I-cache flush code known, disabling dynamic native code generation]) + case "$host_os" in + *linux*) + 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 - AC_LIBSOURCES([../arch/arm/cacheflush0, ../arch/arm/cacheflush1, ../arch/arm/cacheflush2]) + AC_LIBSOURCES([../arch/arm/cacheflush0, dnl + ../arch/arm/cacheflush-linux]) AC_LIBOBJ(../$arm_cacheflush) #longer skipcodes lead to problems on ARM, and it uses #only 4-byte alignment anyway @@ -502,8 +540,8 @@ then 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" + if test "$ac_cv_sizeof_char_p" = 8; then + OPTS="-ll -noll" else OPTS=-noll fi @@ -599,13 +637,17 @@ 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" ; fi -AC_SUBST(GFORTH) -AC_DEFINE_UNQUOTED(GFORTH,"$GFORTH",[How to invoke gforth]) -AC_MSG_RESULT($GFORTH) +GFORTH="`cd / && which gforth 2>/dev/null`" +if test -z "$GFORTH"; then + PREFORTH='echo "You need to configure with a gforth in $$PATH to build this part" && false' +else + PREFORTH="$GFORTH -i `cd / && gforth --debug -e bye 2>&1 |grep "Opened image file: "|sed 's/Opened image file: //'`" ; +fi +AC_SUBST(PREFORTH) +AC_DEFINE_UNQUOTED(PREFORTH,"$PREFORTH",[How to invoke the pre-installed gforth]) +AC_MSG_RESULT($PREFORTH) -echo "machine='$machine'" +#echo "machine='$machine'" dnl AC_CHECK_PROG(asm_fs,asm.fs,arch/$machine/asm.fs,,$srcdir/arch/$machine) AC_CHECK_FILE($srcdir/arch/$machine/asm.fs,[asm_fs=arch/$machine/asm.fs],) @@ -656,13 +698,13 @@ AC_CHECK_PROG([MASSAGE_EXE],[chcon],[chc dnl Now a little support for DOS/DJGCC AC_SUBST(GFORTH_EXE) -GFORTH_EXE="" +GFORTH_EXE="true" AC_SUBST(GFORTHFAST_EXE) -GFORTHFAST_EXE="" +GFORTHFAST_EXE="true" AC_SUBST(GFORTHITC_EXE) -GFORTHITC_EXE="" +GFORTHITC_EXE="true" AC_SUBST(GFORTHDITC_EXE) -GFORTHDITC_EXE="" +GFORTHDITC_EXE="true" AC_SUBST(FORTHSIZES) @@ -779,7 +821,6 @@ dnl Checks for library functions dnl This check is just for making later checks link with libm. dnl using sin here is no good idea since it is built-into gcc and typechecked AC_CHECK_LIB(m,asin) -AC_CHECK_LIB(ltdl,lt_dlinit) AC_CHECK_LIB(dl,dlopen) dnl check for libffi 2.x AC_CHECK_LIB(ffi,ffi_call)