| |
|
| 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.1],[https://savannah.gnu.org/bugs/?func=addbug&group=gforth]) |
AC_INIT([gforth],[0.6.2],[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="March 11, 2003" |
UPDATED="August 25, 2003" |
| AC_SUBST(UPDATED) |
AC_SUBST(UPDATED) |
| AC_CONFIG_HEADERS(engine/config.h) |
AC_CONFIG_HEADERS(engine/config.h) |
| |
|
| 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)])) |
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_SUBST(PROFEXES) |
| |
AC_SUBST(PROFOBJS) |
| |
AC_ARG_ENABLE(prof, |
| |
[ --enable-prof Build gforth-prof, which outputs frequently occuring |
| |
sequences of primitives.], |
| |
PROFEXES="gforth-prof\$(EXE)"; PROFOBJS="engine-prof.o main-prof.o profile.o") |
| |
|
| 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 |
| AC_SUBST(CC) |
AC_SUBST(CC) |
| AC_SUBST(DEBUGFLAG) |
AC_SUBST(DEBUGFLAG) |
| |
|
| |
AC_MSG_CHECKING(make type) |
| |
make_type=`make -v 2>&1|grep 'ake version'|sed 's/ version .*//'` |
| |
|
| |
GNUMAKE='#' |
| |
test "$make_type" = "GNU Make" && GNUMAKE='' |
| |
|
| |
AC_MSG_RESULT($make_type) |
| |
|
| |
AC_SUBST(GNUMAKE) |
| |
|
| dnl gcc-3.2 seems to work fine now |
dnl gcc-3.2 seems to work fine now |
| dnl AC_MSG_CHECKING(gcc version) |
dnl AC_MSG_CHECKING(gcc version) |
| dnl gcc_version=`$CC -v 2>&1|grep 'gcc version'|sed 's/.*gcc version //'` |
dnl gcc_version=`$CC -v 2>&1|grep 'gcc version'|sed 's/.*gcc version //'` |
| machine=hppa |
machine=hppa |
| $srcdir/mkinstalldirs arch/hppa |
$srcdir/mkinstalldirs arch/hppa |
| AC_LIBOBJ(../arch/hppa/cache) |
AC_LIBOBJ(../arch/hppa/cache) |
| #LDFLAGS="$LDFLAGS -Xlinker -N" |
#-N needed for --dynamic <M4U3b.3790$9d.317@news.cpqcorp.net> |
| |
LDFLAGS="$LDFLAGS -Xlinker -N" |
| LIBS="$LIBS -L/lib/pa1.1/" |
LIBS="$LIBS -L/lib/pa1.1/" |
| ;; |
;; |
| sparc*) |
sparc*) |
| CFLAGS="$CFLAGS -march=pentium" |
CFLAGS="$CFLAGS -march=pentium" |
| AC_TRY_COMPILE(,,,CFLAGS="$CFLAGS_1 -m486") |
AC_TRY_COMPILE(,,,CFLAGS="$CFLAGS_1 -m486") |
| ;; |
;; |
| |
x86_64) |
| |
machine=amd64 |
| |
;; |
| #generic should work for IA64 |
#generic should work for IA64 |
| # ia64*) |
# ia64*) |
| # machine=ia64 |
# machine=ia64 |
| AC_MSG_CHECKING([if $CC understands -fno-crossjumping]) |
AC_MSG_CHECKING([if $CC understands -fno-crossjumping]) |
| CFLAGS_1="$CFLAGS" |
CFLAGS_1="$CFLAGS" |
| CFLAGS="$CFLAGS -fno-crossjumping" |
CFLAGS="$CFLAGS -fno-crossjumping" |
| AC_TRY_COMPILE(,,ac_nocrossjump=yes;ENGINE_FLAGS="$ENGINE_FLAGS -fno-crossjumping",ac_nocrossjump=no) |
AC_TRY_COMPILE(,,ac_nocrossjumping=yes;ENGINE_FLAGS="$ENGINE_FLAGS -fno-crossjumping",ac_nocrossjumping=no) |
| CFLAGS="$CFLAGS_1" |
CFLAGS="$CFLAGS_1" |
| AC_MSG_RESULT($ac_nocrossjumping) |
AC_MSG_RESULT($ac_nocrossjumping) |
| |
|
| |
# Try if GCC understands __attribute__((unused)) |
| |
AC_MSG_CHECKING([how to suppress 'unused variable' warnings]) |
| |
AC_TRY_COMPILE(,[int __attribute__((unused)) foo;], MAYBE_UNUSED='__attribute__((unused))',) |
| |
AC_DEFINE_UNQUOTED(MAYBE_UNUSED,$MAYBE_UNUSED,[attribute for possibly unused variables]) |
| |
AC_MSG_RESULT($MAYBE_UNUSED) |
| |
|
| AC_CHECK_PROG(asm_fs,asm.fs,arch/$machine/asm.fs,,$srcdir/arch/$machine) |
AC_CHECK_PROG(asm_fs,asm.fs,arch/$machine/asm.fs,,$srcdir/arch/$machine) |
| AC_SUBST(asm_fs) |
AC_SUBST(asm_fs) |
| |
|
| case "$host_os" in |
case "$host_os" in |
| *win32|cygwin) |
*win32|cygwin) |
| DIRSEP="\\\\" |
DIRSEP="\\\\" |
| |
PATHSEP=";" |
| ;; |
;; |
| *darwin*) |
*darwin*) |
| #Darwin uses some funny preprocessor by default; eliminate it: |
#Darwin uses some funny preprocessor by default; eliminate it: |
| AC_MSG_NOTICE([using -traditional-cpp on Darwin]) |
AC_MSG_NOTICE([using -no-cpp-precomp on Darwin]) |
| CFLAGS="$CFLAGS -no-cpp-precomp" |
CFLAGS="$CFLAGS -no-cpp-precomp" |
| DIRSEP="/" |
DIRSEP="/" |
| |
PATHSEP=":" |
| ;; |
;; |
| *) |
*) |
| DIRSEP="/" |
DIRSEP="/" |
| |
PATHSEP=":" |
| ;; |
;; |
| 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_DEFINE_UNQUOTED(PATHSEP,'$PATHSEP',[a path separator character]) |
| |
|
| |
|
| dnl Now a little support for DOS/DJGCC |
dnl Now a little support for DOS/DJGCC |
| AC_SUBST(GFORTH_EXE) |
AC_SUBST(GFORTH_EXE) |
| AC_SUBST(GFORTHDITC_EXE) |
AC_SUBST(GFORTHDITC_EXE) |
| GFORTHDITC_EXE="" |
GFORTHDITC_EXE="" |
| |
|
| PATHSEP=":" |
|
| AC_SUBST(PATHSEP) |
|
| AC_DEFINE_UNQUOTED(PATHSEP,'$PATHSEP',[a path separator character]) |
|
| |
|
| AC_SUBST(FORTHSIZES) |
AC_SUBST(FORTHSIZES) |
| |
|
| dnl if test "$PEEPHOLE" = "yes" |
dnl if test "$PEEPHOLE" = "yes" |
| AC_CHECK_LIB(callback,__vacall_r) |
AC_CHECK_LIB(callback,__vacall_r) |
| AC_CHECK_LIB(vacall,vacall) |
AC_CHECK_LIB(vacall,vacall) |
| AC_CHECK_LIB(trampoline,alloc_trampoline) |
AC_CHECK_LIB(trampoline,alloc_trampoline) |
| if test $ac_cv_lib_avcall___builtin_avcall = yes |
FFCALLFLAG="false" |
| then |
OLDCALLFLAG="true" |
| FFCALLFLAG="true" |
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]) |
| |
test $ac_cv_lib_avcall___builtin_avcall = no && AC_DEFINE(HAS_OLDCALL,,[define this if you want to use the old call libraries]) |
| AC_SUBST(FFCALLFLAG) |
AC_SUBST(FFCALLFLAG) |
| fi |
AC_SUBST(OLDCALLFLAG) |
| if test "$host_os" != "nextstep3" |
if test "$host_os" != "nextstep3" |
| then |
then |
| AC_FUNC_MEMCMP |
AC_FUNC_MEMCMP |