version 1.204, 2008/01/04 21:48:53
|
version 1.235, 2008/08/08 20:56:14
|
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,2007 Free Software Foundation, Inc. |
#Copyright (C) 1995,1996,1997,1998,2000,2003,2004,2005,2006,2007,2008 Free Software Foundation, Inc. |
|
|
#This file is part of Gforth. |
#This file is part of Gforth. |
|
|
Line 20 dnl Process this file with autoconf to p
|
Line 20 dnl Process this file with autoconf to p
|
|
|
dnl We use some automake macros here, |
dnl We use some automake macros here, |
dnl but don't use automake for creating Makefile.in |
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-20080716],[https://savannah.gnu.org/bugs/?func=addbug&group=gforth]) |
AC_PREREQ(2.54) |
AC_PREREQ(2.54) |
#snapshots have numbers major.minor.release-YYYYMMDD |
#snapshots have numbers major.minor.release-YYYYMMDD |
#note that lexicographic ordering must be heeded. |
#note that lexicographic ordering must be heeded. |
#I.e., 0.4.1-YYYYMMDD must not exist before 0.4.1! |
#I.e., 0.4.1-YYYYMMDD must not exist before 0.4.1! |
UPDATED="June 02, 2007" |
UPDATED="July 16, 2008" |
AC_SUBST(UPDATED) |
AC_SUBST(UPDATED) |
AC_CONFIG_HEADERS(engine/config.h) |
AC_CONFIG_HEADERS(engine/config.h) |
|
|
|
#remnants from having ltdl as convenience library |
|
LTDLDEPS="" |
|
LTDLINCL="" |
|
LIBLTDL="" |
|
LTDL_LDLIBS="" |
|
AC_SUBST(LTDLDEPS) |
|
AC_SUBST(LTDLINCL) |
|
AC_SUBST(LIBLTDL) |
|
AC_SUBST(LTDL_LDLIBS) |
|
|
#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-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 198 case "$host_cpu" in
|
Line 198 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/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 475 case `expr 2 '*' "$ac_cv_sizeof_char_p"`
|
Line 483 case `expr 2 '*' "$ac_cv_sizeof_char_p"`
|
$ac_cv_sizeof_intptr_t) |
$ac_cv_sizeof_intptr_t) |
ac_cv_int_type_double_cell="intptr_t" |
ac_cv_int_type_double_cell="intptr_t" |
;; |
;; |
$ac_cv_sizeof_intptr_t) |
$ac_cv_sizeof_int128_t) |
ac_cv_int_type_double_cell="intptr_t" |
|
;; |
|
$ac_cv_sizeof_intptr_t) |
|
ac_cv_int_type_double_cell="int128_t" |
ac_cv_int_type_double_cell="int128_t" |
;; |
;; |
esac |
esac |
Line 513 if test "$ac_cv_int_type_double_cell" !=
|
Line 518 if test "$ac_cv_int_type_double_cell" !=
|
then |
then |
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 -noll" |
|
else |
|
OPTS=-noll |
|
fi |
fi |
fi |
|
|
|
if grep -q FORCE_REG arch/$machine/machine.h; then |
|
OPTS2='' |
|
for i in $OPTS; do OPTS2="$OPTS2 $i-reg"; done |
|
OPTS="$OPTS2 $OPTS" |
|
else |
|
AC_DEFINE_UNQUOTED(FORCE_REG_UNNECESSARY,,[defined if the platform does not need FORCE_REG]) |
|
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 600 AC_MSG_RESULT($M4)
|
Line 621 AC_MSG_RESULT($M4)
|
|
|
# Find installed Gforth |
# Find installed Gforth |
AC_MSG_CHECKING([for gforth]) |
AC_MSG_CHECKING([for gforth]) |
GFORTH="`which gforth 2>/dev/null`" |
GFORTH="`cd / && which gforth 2>/dev/null`" |
if test ! -z "$GFORTH"; then GFORTH="$GFORTH -m4M" ; fi |
if test -z "$GFORTH"; then |
AC_SUBST(GFORTH) |
PREFORTH='echo "You need to configure with a gforth in \$PATH to build this part" && false' |
AC_DEFINE_UNQUOTED(GFORTH,"$GFORTH",[How to invoke gforth]) |
kernel_anti_dependence='' |
AC_MSG_RESULT($GFORTH) |
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'" |
#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) |
AC_CHECK_FILE($srcdir/arch/$machine/asm.fs,[asm_fs=arch/$machine/asm.fs],) |
AC_CHECK_FILE($srcdir/arch/$machine/asm.fs,[asm_fs=arch/$machine/asm.fs],) |
Line 657 AC_CHECK_PROG([MASSAGE_EXE],[chcon],[chc
|
Line 684 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 781 dnl This check is just for making later
|
Line 808 dnl This check is just for making later
|
dnl using sin here is no good idea since it is built-into gcc and typechecked |
dnl using sin here is no good idea since it is built-into gcc and typechecked |
AC_CHECK_LIB(m,asin) |
AC_CHECK_LIB(m,asin) |
AC_CHECK_LIB(ltdl,lt_dlinit) |
AC_CHECK_LIB(ltdl,lt_dlinit) |
AC_CHECK_LIB(dl,dlopen) |
#check for libffi 2.x |
dnl check for libffi 2.x |
|
AC_CHECK_LIB(ffi,ffi_call) |
AC_CHECK_LIB(ffi,ffi_call) |
if test $ac_cv_lib_ffi_ffi_call = yes |
if test $ac_cv_lib_ffi_ffi_call = yes |
then |
then |
LIBFFIFLAG="true" |
LIBFFIFLAG="true" |
FFCALLFLAG="false" |
|
OLDCALLFLAG="false" |
|
AC_DEFINE(HAS_LIBFFI,,[define this if you want to use the ffcall interface with libffi 2.0]) |
|
else |
else |
dnl check for ffcall libraries |
LIBFFIFLAG="false" |
dnl unfortunately, these four calls are separated out into a library each. |
fi |
|
#check for ffcall libraries |
|
#unfortunately, these four calls are separated out into a library each. |
AC_CHECK_LIB(avcall,__builtin_avcall) |
AC_CHECK_LIB(avcall,__builtin_avcall) |
AC_CHECK_LIB(callback,__vacall_r) |
dnl AC_CHECK_LIB(callback,__vacall_r) |
AC_CHECK_LIB(vacall,vacall) |
dnl AC_CHECK_LIB(vacall,vacall) |
AC_CHECK_LIB(trampoline,alloc_trampoline) |
dnl AC_CHECK_LIB(trampoline,alloc_trampoline) |
LIBFFIFLAG="false" |
if test $ac_cv_lib_avcall___builtin_avcall = yes; then |
FFCALLFLAG="false" |
FFCALLFLAG="true" |
OLDCALLFLAG="true" |
else |
test $ac_cv_lib_avcall___builtin_avcall = yes && FFCALLFLAG="true" && OLDCALLFLAG="false" && AC_DEFINE(HAS_FFCALL,,[define this if you want to use the ffcall libraries]) |
FFCALLFLAG="false" |
test $ac_cv_lib_avcall___builtin_avcall = no && AC_DEFINE(HAS_OLDCALL,,[define this if you want to use the old call libraries]) |
fi |
|
if test $LIBFFIFLAG = false -a $FFCALLFLAG = false; then |
|
AC_MSG_WARN([The (old) lib.fs foreign function interface needs either libffi or the ffcall libraries]) |
fi |
fi |
AC_SUBST(LIBFFIFLAG) |
AC_SUBST(LIBFFIFLAG) |
AC_SUBST(FFCALLFLAG) |
AC_SUBST(FFCALLFLAG) |
AC_SUBST(OLDCALLFLAG) |
|
if test "$host_os" != "nextstep3" |
if test "$host_os" != "nextstep3" |
then |
then |
AC_FUNC_MEMCMP |
AC_FUNC_MEMCMP |
Line 844 gforthmi
|
Line 870 gforthmi
|
vmgen |
vmgen |
machpc.fs |
machpc.fs |
envos.fs |
envos.fs |
|
preforth |
engine/Makefile |
engine/Makefile |
engine/libcc.h |
engine/libcc.h |
doc/version.texi |
doc/version.texi |
Line 852 AC_CONFIG_COMMANDS([stamp-h],[[echo time
|
Line 879 AC_CONFIG_COMMANDS([stamp-h],[[echo time
|
chmod +x gforthmi |
chmod +x gforthmi |
chmod +x vmgen |
chmod +x vmgen |
chmod +x build-ec |
chmod +x build-ec |
|
chmod +x preforth |
test -d kernel||mkdir kernel |
test -d kernel||mkdir kernel |
$srcdir/mkinstalldirs include/gforth/$PACKAGE_VERSION |
$srcdir/mkinstalldirs include/gforth/$PACKAGE_VERSION |
ln -sf ../../../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]]) |