--- gforth/configure.in 1997/05/21 20:39:21 1.31 +++ gforth/configure.in 1999/01/01 15:20:36 1.47 @@ -1,6 +1,6 @@ dnl Process this file with autoconf to produce a configure script. -#Copyright (C) 1995,1996 Free Software Foundation, Inc. +#Copyright (C) 1995,1996,1997,1998 Free Software Foundation, Inc. #This file is part of Gforth. @@ -19,7 +19,15 @@ dnl Process this file with autoconf to p #Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. AC_INIT(engine/engine.c) -AC_CONFIG_HEADER(engine/config.h) + +dnl We use some automake macros here, +dnl but don't use automake for creating Makefile.in +AM_INIT_AUTOMAKE(gforth,0.4.0-19990101) +#snapshots have numbers major.minor.release-YYYYMMDD +#note that lexicographic ordering bust be heeded. +#I.e., 0.4.1-YYYYMMDD must not exist before 0.4.1! +AM_CONFIG_HEADER(engine/config.h) +AM_CYGWIN32 AC_ARG_ENABLE(force-reg, [ --enable-force-reg Use explicit register declarations if they appear in @@ -64,7 +72,6 @@ EOF fi AC_SUBST(CC) -AC_SUBST(GCCLDFLAGS) AC_SUBST(DEBUGFLAG) dnl the following macro produces a warning with autoconf-2.1 @@ -81,6 +88,7 @@ case "$ac_cv_sizeof_char_p" in ;; esac +AC_CHECK_SIZEOF(char) AC_CHECK_SIZEOF(short) AC_CHECK_SIZEOF(int) AC_CHECK_SIZEOF(long) @@ -88,11 +96,14 @@ AC_CHECK_SIZEOF(long long) ac_cv_int_type_cell=none case "$ac_cv_sizeof_char_p" in + $ac_cv_sizeof_int) + ac_cv_int_type_cell=int + ;; $ac_cv_sizeof_short) ac_cv_int_type_cell=short ;; - $ac_cv_sizeof_int) - ac_cv_int_type_cell=int + $ac_cv_sizeof_char) + ac_cv_int_type_cell=char ;; $ac_cv_sizeof_long) ac_cv_int_type_cell=long @@ -139,62 +150,74 @@ fi AC_CANONICAL_HOST case "$host_cpu" in hppa*) - mach_h=hppa - LIBOBJS="cache.o" + machine=hppa + $srcdir/mkinstalldirs arch/hppa + LIBOBJS="$LIBOBJS ../arch/hppa/cache.o" LDFLAGS="-Xlinker -N" - LIBS="-L/lib/pa1.1/" + LIBS="$LIBS -L/lib/pa1.1/" if test "${enable_direct_threaded+set}" = "" then AC_DEFINE(DIRECT_THREADED) fi ;; sparc*) - mach_h=sparc + machine=sparc ;; i386) - mach_h=386 + machine=386 CFLAGS="$CFLAGS -fomit-frame-pointer -fforce-addr -fforce-mem" if test "${enable_direct_threaded+set}" = "" \ -a "${enable_indirect_threaded+set}" = "" then - echo "Using direct threaded on 386er" + echo "Using direct threaded code on 386" AC_DEFINE(DIRECT_THREADED) fi ;; i486) - mach_h=386 + machine=386 CFLAGS="$CFLAGS -fomit-frame-pointer -fforce-addr -fforce-mem -m486" if test "${enable_direct_threaded+set}" = "" \ -a "${enable_indirect_threaded+set}" = "" then - echo "Using direct threaded on 486er" + echo "Using direct threaded code on 486" AC_DEFINE(DIRECT_THREADED) fi ;; i586|i686) - mach_h=386 + machine=386 CFLAGS="$CFLAGS -fomit-frame-pointer -fforce-addr -fforce-mem -m486" if test "${enable_direct_threaded+set}" = "" \ -a "${enable_indirect_threaded+set}" = "" then - echo "Using indirect threaded on Pentium and up" + echo "Using indirect threaded code on Pentium and up" AC_DEFINE(INDIRECT_THREADED) fi ;; m68k) - mach_h=m68k - CFLAGS="$CFLAGS -fomit-frame-pointer -traditional-cpp" + machine=m68k + CFLAGS="$CFLAGS -fomit-frame-pointer" + if test "$host_os" = "nextstep3" + then + LIBOBJS="$LIBOBJS termios.o" + fi ;; mips*) - mach_h=mips + machine=mips #link text and data segment into the same 256M region! - GCCLDFLAGS="-Xlinker -T -Xlinker 10000000 -Xlinker -D -Xlinker 10400000" + AC_MSG_CHECKING([whether the linker accepts -D]) + OLDLDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -Xlinker -T -Xlinker 10000000 -Xlinker -D -Xlinker 10400000" + AC_TRY_LINK(,,ac_link_mips_d=yes,ac_link_mips_d=no) + test $ac_link_mips_d = yes||LDFLAGS="$OLDLDFLAGS -Xlinker -T -Xlinker 10000000" + AC_MSG_RESULT($ac_link_mips_d) ;; alpha*) - mach_h=alpha + machine=alpha ;; power*) - mach_h=power + machine=power + $srcdir/mkinstalldirs arch/power + AC_CHECK_FUNC(_sync_cache_range,true,LIBOBJS="$LIBOBJS ../arch/power/_sync_cache_range.o") ;; *) echo "No direct threading support for $host_cpu, using indirect threading." @@ -202,11 +225,21 @@ case "$host_cpu" in echo "I'll assume that C floats and doubles are represented by IEEE single and" echo "double numbers. If this is not so, SF@ etc. will not work correctly." echo "FLUSH-ICACHE will do nothing, so END-CODE may not work properly!" - mach_h=32bit + machine=generic esac AC_SUBST(host) AC_SUBST(ENGINE_FLAGS) +case "$host_os" in + *win32) + EXE=".exe" + ;; + *) + EXE="" + ;; +esac +AC_SUBST(EXE) + dnl Now a little support for DOS/DJGCC AC_SUBST(GFORTH_EXE) GFORTH_EXE="" @@ -244,33 +277,41 @@ fi dnl Checks for programs. AC_PROG_LN_S -AC_PROG_INSTALL +dnl AM_PROG_INSTALL #performed by AM_INIT_AUTOMAKE 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_FUNCS(dlopen) AC_CHECK_LIB(dl,dlopen) -AC_CHECK_LIB(kernel32,GetModuleHandle) -AC_FUNC_MEMCMP +if test "$host_os" != "nextstep3" +then + AC_FUNC_MEMCMP +fi AC_REPLACE_FUNCS(memmove strtoul pow10 strerror strsignal atanh) -AC_CHECK_FUNCS(sys_siglist) +AC_CHECK_FUNCS(dlopen sys_siglist) AC_DECL_SYS_SIGLIST -AC_CHECK_FUNC(getopt_long,getopt_long="",getopt_long="getopt.o getopt1.o") -AC_SUBST(getopt_long) +AC_CHECK_FUNC(getopt_long,true,LIBOBJS="$LIBOBJS getopt.o getopt1.o") AC_CHECK_FUNCS(rint expm1 log1p) AC_REPLACE_FUNCS(ecvt) dnl No check for select, because our replacement is no good under dnl anything but DOS AC_CHECK_HEADERS(sys/mman.h) AC_CHECK_FUNCS(mmap sysconf getpagesize) +AM_PATH_LISPDIR kernel_fi=kernl${wordsize}${bytesex}.fi AC_SUBST(kernel_fi) -AC_LINK_FILES(arch/${mach_h} $kernel_fi,machine kernel.fi) +AC_SUBST(machine) +dnl AC_LINK_FILES(arch/$machine,arch/machine) #no longer needed AC_OUTPUT([ Makefile -engine/Makefile ],echo timestamp > stamp-h) +Makedist +gforthmi +engine/Makefile +doc/version.texi ], +echo timestamp > stamp-h +chmod +x gforthmi +test -d kernel||mkdir kernel)