--- gforth/configure.in 1997/05/21 20:39:21 1.31 +++ gforth/configure.in 1998/10/18 23:16:51 1.39 @@ -19,7 +19,12 @@ 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) +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 +69,6 @@ EOF fi AC_SUBST(CC) -AC_SUBST(GCCLDFLAGS) AC_SUBST(DEBUGFLAG) dnl the following macro produces a warning with autoconf-2.1 @@ -139,8 +143,8 @@ fi AC_CANONICAL_HOST case "$host_cpu" in hppa*) - mach_h=hppa - LIBOBJS="cache.o" + machine=hppa + LIBOBJS="$LIBOBJS ../arch/hppa/cache.o" LDFLAGS="-Xlinker -N" LIBS="-L/lib/pa1.1/" if test "${enable_direct_threaded+set}" = "" @@ -149,52 +153,62 @@ case "$host_cpu" in 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 + 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 +216,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,7 +268,7 @@ 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. @@ -253,24 +277,28 @@ 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_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) - +engine/Makefile +doc/version.texi ],echo timestamp > stamp-h)