version 1.287, 2010/12/31 18:09:02
|
version 1.316, 2012/10/07 21:07:18
|
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,2008,2009,2010 Free Software Foundation, Inc. |
#Copyright (C) 1995,1996,1997,1998,2000,2003,2004,2005,2006,2007,2008,2009,2010,2011 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.7.9-20101227],[https://savannah.gnu.org/bugs/?func=addbug&group=gforth]) |
AC_INIT([gforth],[0.7.9-20121007],[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="December 27, 2010" |
UPDATED="October 7, 2012" |
AC_SUBST(UPDATED) |
AC_SUBST(UPDATED) |
AC_CONFIG_HEADERS(engine/config.h) |
AC_CONFIG_HEADERS(engine/config.h) |
|
|
Line 71 if test "$withval" = "yes"; then DEBUGFL
|
Line 71 if test "$withval" = "yes"; then DEBUGFL
|
GCC_LD="\$(GCC)" |
GCC_LD="\$(GCC)" |
EC_MODE="false" |
EC_MODE="false" |
NO_EC="" |
NO_EC="" |
|
NO_CROSS="" |
EC="" |
EC="" |
engine2='engine2$(OPT).o' |
engine2='engine2$(OPT).o' |
engine_fast2='engine-fast2$(OPT).o' |
engine_fast2='engine-fast2$(OPT).o' |
Line 90 else
|
Line 91 else
|
EC_MODE="true" |
EC_MODE="true" |
EC="-ec" |
EC="-ec" |
NO_EC="#" |
NO_EC="#" |
|
NO_CROSS="#" |
engine2="" |
engine2="" |
engine_fast2="" |
engine_fast2="" |
no_dynamic="-DNO_DYNAMIC" |
no_dynamic="-DNO_DYNAMIC" |
Line 108 else
|
Line 110 else
|
platform=${withval} |
platform=${withval} |
fi]) |
fi]) |
|
|
|
AC_ARG_ENABLE(lib, |
|
AC_HELP_STRING([--enable-lib], |
|
[ Compile Gforth as shared library (default disabled).]), |
|
,enable_lib=no) |
|
if test "$enable_lib" != "no"; then |
|
AC_DEFINE(HAS_LIB,,[Define if you want to build as shared library]) |
|
libengines=libgforths |
|
libinstall=libinstall |
|
LIB_VERSION=0:8:0 |
|
fi |
|
AC_SUBST(libengines) |
|
AC_SUBST(libinstall) |
|
AC_SUBST(LIB_VERSION) |
|
|
|
AC_ARG_WITH(cross, |
|
AC_HELP_STRING([--with-cross=<arch>], |
|
[ Build gforth using a cross compiler.]), |
|
[if test "$withval" = "no"; then |
|
echo "defining hosted system" |
|
else |
|
echo "defining cross compiled system (${withval})" |
|
if test -f "arch/$host_cpu/${withval}/config.sh"; then |
|
source "arch/$host_cpu/${withval}/config.sh" |
|
fi |
|
GCC_PATH=$(which $CC) |
|
LIB_PATH=${GCC_PATH%/*/*} |
|
platform=${withval} |
|
NO_EC="" |
|
NO_CROSS="#" |
|
fi]) |
|
|
|
AC_ARG_WITH(arch, |
|
AC_HELP_STRING([--with-arch=<arch>], |
|
[ Build gforth binaries with <arch> postfix]), |
|
[if test "$withval" = "no"; then |
|
ARCH="" |
|
else |
|
ARCH=-${withval} |
|
fi]) |
|
AC_SUBST(ARCH) |
|
|
#variables mentioned in INSTALL |
#variables mentioned in INSTALL |
|
AC_ARG_VAR(SH, [The shell]) |
AC_ARG_VAR(CC, [The C compiler (must support GNU C 2.x).]) |
AC_ARG_VAR(CC, [The C compiler (must support GNU C 2.x).]) |
AC_ARG_VAR(FORTHSIZES, [Gforth command line options for the default stack and dictionary sizes (see INSTALL).]) |
AC_ARG_VAR(FORTHSIZES, [Gforth command line options for the default stack and dictionary sizes (see INSTALL).]) |
AC_ARG_VAR(STACK_CACHE_REGS, [number of registers in the maximum stack cache state for gforth-fast and gforth-native (default platform-dependent).]) |
AC_ARG_VAR(STACK_CACHE_REGS, [number of registers in the maximum stack cache state for gforth-fast and gforth-native (default platform-dependent).]) |
Line 157 AC_PROG_CC
|
Line 201 AC_PROG_CC
|
|
|
test "$GCC" = "yes" || AC_MSG_ERROR(Gforth uses GNU C extensions and requires GCC 2.0 or higher) |
test "$GCC" = "yes" || AC_MSG_ERROR(Gforth uses GNU C extensions and requires GCC 2.0 or higher) |
|
|
|
test "x$SH" = "x" && SH="/bin/sh" |
|
|
AC_MSG_CHECKING([whether to use two dispatches per conditional branch]) |
AC_MSG_CHECKING([whether to use two dispatches per conditional branch]) |
test x$condbranch_opt = x && |
test x$condbranch_opt = x && |
if ($CC -v 2>&1 |grep 'gcc version 3' >/dev/null); then |
if ($CC -v 2>&1 |grep 'gcc version 3' >/dev/null); then |
Line 166 else
|
Line 212 else
|
fi |
fi |
AC_MSG_RESULT($condbranch_opt) |
AC_MSG_RESULT($condbranch_opt) |
AC_SUBST(condbranch_opt) |
AC_SUBST(condbranch_opt) |
|
AC_SUBST(host_cpu) |
|
|
|
AC_SUBST(SH) |
AC_SUBST(CC) |
AC_SUBST(CC) |
AC_SUBST(GCC_LD) |
AC_SUBST(GCC_LD) |
AC_SUBST(DEBUGFLAG) |
AC_SUBST(DEBUGFLAG) |
AC_SUBST(EC) |
AC_SUBST(EC) |
AC_SUBST(NO_EC) |
AC_SUBST(NO_EC) |
|
AC_SUBST(NO_CROSS) |
AC_SUBST(EC_MODE) |
AC_SUBST(EC_MODE) |
AC_SUBST(engine2) |
AC_SUBST(engine2) |
AC_SUBST(engine_fast2) |
AC_SUBST(engine_fast2) |
AC_SUBST(no_dynamic) |
AC_SUBST(no_dynamic) |
AC_SUBST(image_i) |
AC_SUBST(image_i) |
AC_SUBST(signals_o) |
AC_SUBST(signals_o) |
|
AC_SUBST(mi_prefix) |
|
|
#this is used to disable some (not generally essential) part of the |
#this is used to disable some (not generally essential) part of the |
#Makefile that some makes don't grok. It would be better to test for |
#Makefile that some makes don't grok. It would be better to test for |
Line 189 test "$make_type" = "GNU Make" && GNUMAK
|
Line 239 test "$make_type" = "GNU Make" && GNUMAK
|
AC_MSG_RESULT($make_type) |
AC_MSG_RESULT($make_type) |
AC_SUBST(GNUMAKE) |
AC_SUBST(GNUMAKE) |
|
|
AC_MSG_CHECKING([whether the linker accepts -export-dynamic]) |
if test "$ac_export_dynamic" != yes; then |
OLDLDFLAGS=$LDFLAGS |
AC_MSG_CHECKING([whether the linker accepts -export-dynamic]) |
LDFLAGS="$LDFLAGS -export-dynamic" |
OLDLDFLAGS=$LDFLAGS |
dnl AC_TRY_LINK gives false positive on rs6000-ibm-aix4.2.1.0 |
LDFLAGS="$LDFLAGS -export-dynamic" |
dnl AC_TRY_LINK(,,ac_export_dynamic=yes,ac_export_dynamic=no) |
dnl AC_TRY_LINK gives false positive on rs6000-ibm-aix4.2.1.0 |
AC_TRY_RUN(main(){exit(0);},ac_export_dynamic=yes,ac_export_dynamic=no,ac_export_dynamic=no) |
dnl AC_TRY_LINK(,,ac_export_dynamic=yes,ac_export_dynamic=no) |
test $ac_export_dynamic = yes|| LDFLAGS=$OLDLDFLAGS |
AC_TRY_RUN(main(){exit(0);},ac_export_dynamic=yes,ac_export_dynamic=no,ac_export_dynamic=no) |
AC_MSG_RESULT($ac_export_dynamic) |
test $ac_export_dynamic = yes|| LDFLAGS=$OLDLDFLAGS |
|
AC_MSG_RESULT($ac_export_dynamic) |
|
else |
|
LDFLAGS="$LDFLAGS -export-dynamic" |
|
fi |
|
|
#terminology is a bit unusual here: The host is the system on which |
#terminology is a bit unusual here: The host is the system on which |
#gforth will run; the system on which configure will run is the `build' |
#gforth will run; the system on which configure will run is the `build' |
Line 669 AC_TRY_COMPILE(,[int __attribute__((unus
|
Line 723 AC_TRY_COMPILE(,[int __attribute__((unus
|
AC_DEFINE_UNQUOTED(MAYBE_UNUSED,$MAYBE_UNUSED,[attribute for possibly unused variables]) |
AC_DEFINE_UNQUOTED(MAYBE_UNUSED,$MAYBE_UNUSED,[attribute for possibly unused variables]) |
AC_MSG_RESULT($MAYBE_UNUSED) |
AC_MSG_RESULT($MAYBE_UNUSED) |
|
|
|
# Try if GCC understands __thread |
|
AC_CACHE_CHECK([whether gcc understands '__thread'], [ac_cv_thread], |
|
[AC_TRY_COMPILE(,[extern __thread int foo;], |
|
[ac_cv_thread=yes], |
|
[ac_cv_thread=no])]) |
|
test x$ac_cv_thread = xyes && PER_THREAD='__thread' |
|
AC_DEFINE_UNQUOTED(PER_THREAD,$PER_THREAD,[storage class for thread-local variables]) |
|
|
#try if m4 understands -s |
#try if m4 understands -s |
AC_MSG_CHECKING([how to invoke m4]) |
AC_MSG_CHECKING([how to invoke m4]) |
if m4 -s /dev/null >/dev/null 2>&1; then |
if m4 -s /dev/null >/dev/null 2>&1; then |
Line 679 fi
|
Line 741 fi
|
AC_SUBST(M4) |
AC_SUBST(M4) |
AC_MSG_RESULT($M4) |
AC_MSG_RESULT($M4) |
|
|
# Find installed Gforth |
|
AC_MSG_CHECKING([for gforth]) |
|
GFORTH="`cd / && which gforth 2>/dev/null`" |
|
#the "$srcdir" = "." test defends agains the "../" bug in gforth-0.6.2 |
|
(cd / && $GFORTH -e bye >/dev/null 2>/dev/null && test "$srcdir" = ".") || GFORTH="" |
|
if test -z "$GFORTH"; then |
|
PREFORTH='echo "You need to configure with a gforth in \$PATH to build this part" && false' |
|
kernel_anti_dependence='' |
|
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) |
Line 716 AC_SUBST(disasm_fs)
|
Line 762 AC_SUBST(disasm_fs)
|
AC_PATH_PROG(INSTALL_INFO,install-info,[echo '>>>>Please make info dir entry:'],$PATH:/sbin:/usr/sbin:/usr/local/sbin) |
AC_PATH_PROG(INSTALL_INFO,install-info,[echo '>>>>Please make info dir entry:'],$PATH:/sbin:/usr/sbin:/usr/local/sbin) |
|
|
case "$host_os" in |
case "$host_os" in |
*win32*) |
|
# !!!FIXME!!! problems with cygwin and ';' as path separator |
|
DIRSEP="\\\\" |
|
PATHSEP=";" |
|
#we want the builtins of command.com/cmd.exe and its |
|
# handling of .com files. |
|
#$COMSPEC contains the name of the Windows shell; |
|
# the ./ is there, because the bash does not recognize |
|
# absolute DOS filenames |
|
DEFAULTSYSTEMPREFIX="./$COMSPEC /c " |
|
;; |
|
*darwin*) |
*darwin*) |
|
#dar*win* must be first, not to confuse with cygwin, win32 or similar |
#Darwin uses some funny preprocessor by default; eliminate it: |
#Darwin uses some funny preprocessor by default; eliminate it: |
AC_MSG_NOTICE([using -no-cpp-precomp on Darwin]) |
AC_MSG_NOTICE([using -no-cpp-precomp on Darwin]) |
CFLAGS="$CFLAGS -no-cpp-precomp" |
CFLAGS="$CFLAGS -no-cpp-precomp" |
Line 738 case "$host_os" in
|
Line 774 case "$host_os" in
|
#http://mail.python.org/pipermail/pythonmac-sig/2005-October/015190.html |
#http://mail.python.org/pipermail/pythonmac-sig/2005-October/015190.html |
AC_DEFINE_UNQUOTED(MACOSX_DEPLOYMENT_TARGET,"10.3",[an environment variable value needed by libtool on some MacOS X versions]) |
AC_DEFINE_UNQUOTED(MACOSX_DEPLOYMENT_TARGET,"10.3",[an environment variable value needed by libtool on some MacOS X versions]) |
;; |
;; |
|
*win*) |
|
# !!!FIXME!!! problems with cygwin and ';' as path separator |
|
DIRSEP="/" # normal dirsep |
|
PATHSEP=";" # semicolon as pathsep |
|
#we want the builtins of command.com/cmd.exe and its |
|
# handling of .com files. |
|
#$COMSPEC contains the name of the Windows shell; |
|
# the ./ is there, because the bash does not recognize |
|
# absolute DOS filenames |
|
DEFAULTSYSTEMPREFIX="./$COMSPEC /c " |
|
;; |
*linux*) |
*linux*) |
DIRSEP="/" |
DIRSEP="/" |
PATHSEP=":" |
PATHSEP=":" |
Line 887 AC_PROG_LN_S
|
Line 934 AC_PROG_LN_S
|
AC_PROG_INSTALL |
AC_PROG_INSTALL |
AC_CHECK_PROGS(TEXI2DVI,texi2dvi4a2ps texi2dvi) |
AC_CHECK_PROGS(TEXI2DVI,texi2dvi4a2ps texi2dvi) |
|
|
|
dnl check for the presence of Emacs |
|
AC_CHECK_PROGS(EMACS,emacs xemacs) |
|
test -n "$EMACS" && gforth_elc=gforth.elc |
|
AC_SUBST(gforth_elc) |
|
|
dnl MacOS X has a libtool that does something else |
dnl MacOS X has a libtool that does something else |
AC_CHECK_PROGS(GNU_LIBTOOL,"glibtool --tag=CC" libtool) |
AC_CHECK_PROGS(GNU_LIBTOOL,"glibtool --tag=CC" libtool) |
|
|
Line 895 dnl This check is just for making later
|
Line 947 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) |
|
dnl ,LIB_SUFFIX=.la,LIB_SUFFIX=.so) |
|
if test "x$ac_cv_lib_ltdl_lt_dlinit" = xyes; then |
|
LIB_SUFFIX=.la |
|
else |
|
LIB_SUFFIX=.so |
|
fi |
|
AC_SUBST(LIB_SUFFIX) |
|
AC_CHECK_LIB(rt,clock_gettime) |
|
|
if test -n "$GNU_LIBTOOL" -a $ac_cv_lib_ltdl_lt_dlinit = yes; then |
if test -n "$GNU_LIBTOOL" -a $ac_cv_lib_ltdl_lt_dlinit = yes; then |
build_libcc_named=build-libcc-named |
build_libcc_named=build-libcc-named |
else |
else |
build_libcc_named="" |
|
AC_MSG_WARN([No GNU_LIBTOOL found, skip pre-building libcc-based libraries]) |
AC_MSG_WARN([No GNU_LIBTOOL found, skip pre-building libcc-based libraries]) |
fi |
fi |
AC_SUBST(build_libcc_named) |
AC_SUBST(build_libcc_named) |
Line 947 if test "$host_os" != "nextstep3"
|
Line 1006 if test "$host_os" != "nextstep3"
|
then |
then |
AC_FUNC_MEMCMP |
AC_FUNC_MEMCMP |
fi |
fi |
AC_REPLACE_FUNCS(memmove strtoul pow10 strerror strsignal atanh) |
AC_REPLACE_FUNCS(memmove strtoul pow10 sincos strerror strsignal atanh) |
AC_FUNC_FSEEKO |
AC_FUNC_FSEEKO |
AC_CHECK_FUNCS(ftello dlopen sys_siglist getrusage nanosleep) |
AC_CHECK_FUNCS(ftello dlopen sys_siglist getrusage nanosleep clock_gettime) |
AC_CHECK_TYPES(stack_t,,,[#include <signal.h>]) |
AC_CHECK_TYPES(stack_t,,,[#include <signal.h>]) |
AC_DECL_SYS_SIGLIST |
AC_DECL_SYS_SIGLIST |
AC_CHECK_FUNC(getopt_long,[true],[AC_LIBOBJ(getopt) AC_LIBOBJ(getopt1)]) |
AC_CHECK_FUNC(getopt_long,[true],[AC_LIBOBJ(getopt) AC_LIBOBJ(getopt1)]) |
Line 968 include_fi=kernl${wordsize}${bytesex}${E
|
Line 1027 include_fi=kernl${wordsize}${bytesex}${E
|
AC_SUBST(kernel_fi) |
AC_SUBST(kernel_fi) |
AC_SUBST(include_fi) |
AC_SUBST(include_fi) |
|
|
|
# Find installed Gforth |
|
AC_MSG_CHECKING([for gforth]) |
|
GFORTH="`cd / && which gforth 2>/dev/null`" |
|
#the "$srcdir" = "." test defends agains the "../" bug in gforth-0.6.2 |
|
(cd / && $GFORTH -e bye >/dev/null 2>/dev/null && test "$srcdir" = ".") || GFORTH="" |
|
if test -z "$GFORTH"; then |
|
PREFORTH='echo "You need to configure with a gforth in \$PATH to build this part" && false' |
|
GFORTHKER='echo "You need to configure with a gforth in \$PATH to build this part" && false' |
|
kernel_anti_dependence='' |
|
else |
|
GFORTH_FI=`cd / && $GFORTH --debug -e bye 2>&1 |grep "Opened image file: "|sed 's/Opened image file: //'` |
|
PREFORTH="$GFORTH -i $GFORTH_FI" ; |
|
KERNLX_FI1=`echo $GFORTH_FI | sed -e s/lib[64]*/share/g -e s/gforth.fi/kernl*.fi/g` |
|
KERNLX_FI2=`echo $GFORTH_FI | sed -e s/gforth.fi/kernl*.fi/g` |
|
test -f $KERNLX_FI1 && KERNLX_FI=$KERNLX_FI1 |
|
test -f $KERNLX_FI2 && KERNLX_FI=$KERNLX_FI2 |
|
GFORTHKER="$GFORTH -i `echo $KERNLX_FI`" ; |
|
kernel_anti_dependence='$(kernel_fi)' |
|
fi |
|
AC_SUBST(PREFORTH) |
|
AC_SUBST(GFORTHKER) |
|
AC_SUBST(kernel_anti_dependence) |
|
AC_MSG_RESULT($PREFORTH) |
|
AC_DEFINE_UNQUOTED(KERNEL, "$kernel_fi", [The kernel to load in the image]) |
|
AC_DEFINE_UNQUOTED(ARCH, "$machine", [architecture to run on ]) |
|
|
#this breaks bindists |
#this breaks bindists |
#dnl replace srource directory by absolute value |
#dnl replace srource directory by absolute value |
#if test $srcdir = "."; then srcdir=`pwd` |
#if test $srcdir = "."; then srcdir=`pwd` |
Line 978 AC_CONFIG_FILES([
|
Line 1063 AC_CONFIG_FILES([
|
Makefile |
Makefile |
Makedist |
Makedist |
gforthmi |
gforthmi |
|
gforthmi.sh |
vmgen |
vmgen |
machpc.fs |
machpc.fs |
envos.fs |
envos.fs |
preforth |
preforth |
|
libforth |
|
gforthker |
engine/Makefile |
engine/Makefile |
engine/libcc.h |
engine/libcc.h |
doc/version.texi |
doc/version.texi |
Line 991 chmod +x gforthmi
|
Line 1079 chmod +x gforthmi
|
chmod +x vmgen |
chmod +x vmgen |
chmod +x build-ec |
chmod +x build-ec |
chmod +x preforth |
chmod +x preforth |
|
chmod +x libforth |
|
chmod +x gforthker |
test -d kernel||mkdir kernel |
test -d kernel||mkdir kernel |
if test $srcdir != "."; then ln -sf $srcdir/gforth.el .; fi |
if test $srcdir != "."; then ln -sf $srcdir/gforth.el .; fi |
$srcdir/mkinstalldirs include/gforth/$PACKAGE_VERSION |
$srcdir/mkinstalldirs include/gforth$ARCH/$PACKAGE_VERSION |
$srcdir/mkinstalldirs arch/$machine |
$srcdir/mkinstalldirs arch/$machine |
ln -sf ../../../engine/config.h ../../../engine/libcc.h include/gforth/$PACKAGE_VERSION]], |
ln -sf ../../../engine/config.h ../../../engine/libcc.h include/gforth$ARCH/$PACKAGE_VERSION]], |
[PACKAGE_VERSION=$PACKAGE_VERSION |
[PACKAGE_VERSION=$PACKAGE_VERSION |
machine=$machine]) |
machine=$machine |
|
ARCH=$ARCH]) |
AC_OUTPUT |
AC_OUTPUT |