#!/bin/sh # @configure_input@ dnl Process this file with autoconf to produce a configure script. AC_INIT(Config.mk) AC_LANG_CPLUSPLUS MACH=`uname -s`-`uname -r | cut -d. -f1,2`-`uname -m` AC_SUBST(MACH) unset LD_LIBRARY_PATH dnl Checks for programs. AC_PROG_CC AC_PROG_CXX AC_DEFUN(AC_CHECK_GNU_PROG, [AC_REQUIRE([AC_CHECK_PROG],[AC_MSG_CHECKING])dnl AC_MSG_CHECKING(for gnu's $2) AC_CHECK_PROG($1, "$2", $2, nope) if test $$1 = "nope"; then echo "************************************************************" echo "Error : LINK only works with gnu's \"$2.\"" echo " : $2 not found. $2, or a symbolic link to " echo " : $2, must be placed somewhere in PATH" echo " : (also, remove config.cache) " echo "************************************************************" fi AC_SUBST($1) ]) AC_CHECK_GNU_PROG(PARSE, bison) AC_CHECK_GNU_PROG(FLEX, flex) AC_PATH_XTRA echo "extra libs: $X_EXTRA_LIBS" echo "extra flags: $X_CFLAGS" echo "extra linker flags: $X_LIBS" echo "X pre libs: $X_PRE_LIBS" XINCLUDES=$X_CFLAGS XLIBSW=$X_LIBS AC_SUBST(XINCLUDES) AC_SUBST(X_PRE_LIBS) AC_SUBST(X_EXTRA_LIBS) AC_SUBST(XLIBSW) dnl #-------------------------------------------------------------------------- dnl #--The following macros check Config.mk for headers & libs, then ---------- dnl #--check the system if not found ---------- dnl #-------------------------------------------------------------------------- AC_DEFUN(AC_CHECK_CONFIG_FOR_HEADER, [AC_REQUIRE([AC_CHECK_HEADERS],[AC_MSG_CHECKING],[AC_MSG_RESULT])dnl changequote(<<, >>)dnl $1=`awk 'BEGIN {FS="=";} \ /$1/ {if ($<<2>> ~ /[^ ]/) \ {print $<<2>>} \ else {print ""}}' Config.mk` changequote([, ])dnl if test "$$1" = "" ; then AC_CHECK_HEADERS($2.h, $1=".", $1="nope") if test "$$1" = "nope" ; then echo "********************************************************" echo "Error : ****************headers not found**************" echo " : ***********************************************" echo " : $2.h not found. Please set $1 " echo " : in Config.mk to be the full pathname of $2.h's " echo " : directory and rerun ./configure. " echo "********************************************************" fi else AC_MSG_CHECKING($2.h in Config.mk) AC_MSG_RESULT($$1) fi AC_SUBST($1) ]) dnl #-------------------------------------------------------------------------- AC_DEFUN(AC_CHECK_CONFIG_FOR_LIB, [AC_REQUIRE([AC_CHECK_LIB],[AC_MSG_CHECKING],[AC_MSG_RESULT])dnl changequote(<<, >>)dnl $1=`awk 'BEGIN {FS="=";} \ /$1/ {if ($<<2>> ~ /[^ ]/) \ {print $<<2>>} \ else {print ""}}' Config.mk` changequote([, ])dnl if test "$$1" = "" ; then AC_CHECK_LIB($2, main, $1=".", $1="nope", $3) if test "$$1" = "nope" ; then echo "********************************************************" echo "Error : ****************library not found**************" echo " : ***********************************************" echo " : library lib$2.a not found. Please set $1 " echo " : in Config.mk to be the full pathname of " echo " : lib$2.a and rerun ./configure. " echo "********************************************************" fi else AC_MSG_CHECKING(for lib$2.a in Config.mk) AC_MSG_RESULT($$1) fi AC_SUBST($1) ]) dnl #-------------------------------------------------------------------------- dnl #-------------------------------------------------------------------------- AC_DEFUN(AC_CHECK_CONFIG_FOR_PATH, [AC_REQUIRE([AC_CHECK_HEADERS],[AC_MSG_CHECKING],[AC_MSG_RESULT])dnl changequote(<<, >>)dnl $1=`awk 'BEGIN {FS="=";} \ /$1/ {if ($<<2>> ~ /[^ ]/) \ {print $<<2>>} \ else {print ""}}' Config.mk` changequote([, ])dnl if test "$$1" = "" ; then echo "********************************************************" echo "Error : ****************string not defined*************" echo " : ***********************************************" echo " : Please set $1 " echo " : in Config.mk (the full pathname of the root " echo " : directory) and rerun ./configure. " echo "********************************************************" else AC_MSG_CHECKING($2.h in Config.mk) AC_MSG_RESULT($$1) fi AC_SUBST($1) ]) dnl #-------------------------------------------------------------------------- dnl #-------------------------------------------------------------------------- AC_DEFUN(AC_CHECK_CONFIG_FOR_STRING, [AC_REQUIRE([AC_CHECK_HEADERS],[AC_MSG_CHECKING],[AC_MSG_RESULT])dnl changequote(<<, >>)dnl $1=`awk 'BEGIN {FS="=";} \ /$1/ {if ($<<2>> ~ /[^ ]/) \ {print $<<2>>} \ else {print ""}}' Config.mk` changequote([, ])dnl if test "$$1" = "" ; then echo "********************************************************" echo "Error : ****************string not defined*************" echo " : ***********************************************" echo " : Please set $1 in Config.mk " echo "********************************************************" else AC_MSG_CHECKING($2.h in Config.mk) AC_MSG_RESULT($$1) fi AC_SUBST($1) ]) dnl #-------------------------------------------------------------------------- dnl ######################################################################### dnl Checks for libraries dnl ######################################################################### AC_ARG_WITH(fgmp, [ --with-fgmp Use a free replacement of Gnu MP package ], MP=libfgmp, MP=libgmp) echo "Multiple precision library: $MP" AC_SUBST(MP) AC_CHECK_CONFIG_FOR_LIB(TCL_STK_LIB, tcl) AC_CHECK_CONFIG_FOR_LIB(TK_STK_LIB, tk) AC_CHECK_CONFIG_FOR_LIB(MP_LIB, gmp) AC_CHECK_CONFIG_FOR_LIB(FLEX_LIB, fl) dnl ######################################################################### dnl Checks for header files dnl ######################################################################### AC_HEADER_STDC AC_CHECK_HEADERS(sys/time.h unistd.h) AC_CHECK_CONFIG_FOR_HEADER(TCL_STK_INCLUDE,tcl) AC_CHECK_CONFIG_FOR_HEADER(TK_STK_INCLUDE,tk) AC_CHECK_CONFIG_FOR_HEADER(MP_STK_INCLUDE,gmp) dnl ######################################################################### dnl Checks for strings dnl ######################################################################### AC_CHECK_CONFIG_FOR_PATH(LINK_PREFIX,tcl) AC_CHECK_CONFIG_FOR_PATH(STK_PREFIX,tcl) dnl Checks for typedefs, structures, and compiler characteristics. dnl Checks for library functions. CPPFLAGS="$XINCLUDES" LDFLAGS="$X_PRE_LIBS $XLIBSW $X_EXTRA_LIBS" AC_LANG_CPLUSPLUS dnl --------------------------------------------------------------------------- dnl reset ac_cpp ac_link to try to link conftest*.cc instead of conftest.cc dnl test for template bug introduced in g++ 2.6.1 & fixed in a patch of 2.6.3 dnl --------------------------------------------------------------------------- AC_MSG_CHECKING(to see if template support is adequate) ac_compile='${CXX-g++} $CXXFLAGS $CPPFLAGS conftest*.$ac_ext -c 1>&AC_FD_CC 2>&AC_FD_CC' ac_link='${CXX-g++} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest*.$ac_ext -o conftest $LIBS 1>&AC_FD_CC 2>&AC_FD_CC' echo "template void f(T t){}void g(){f(8);}">conftest1.$ac_ext echo "template void f(T t){}void main(){f(4);}">conftest2.$ac_ext if eval $ac_link; then AC_MSG_RESULT(yes) else AC_MSG_RESULT(no) echo "ERROR: The current version of g++ lacks adequate template " echo " support to build LINK. g++ version 2.6.3 requires patch:" echo " ftp.cygnus.com:pub/g++/gcc-2.6.3-template-fix " fi rm -rf conftest* dnl ------------------------------------------------------------------------- dnl -- Machine parameters (copied from STk's configure.in for compatibility)- dnl ------------------------------------------------------------------------- os=`uname -s` version=`uname -r` machine=`uname -m` case $os in Linux*) case $version in 1.*) version=1.X;; esac case $machine in i*86) machine=ix86;; esac echo $version is $machine;; SunOS*) case $machine in sun4*) machine=sun4;; esac esac AC_CHECK_CONFIG_FOR_STRING(STK_VERSION,nil) AC_SUBST(STK_VERSION) AC_CHECK_CONFIG_FOR_STRING(OP_SYS,nil) AC_SUBST(OP_SYS) dnl #MACHINE=$os-$version-$machine dnl #AC_SUBST(MACHINE) AC_OUTPUT(Makefile)