dnl Process this file with autoconf to produce a configure script. dnl --- AC_REVISION($Revision: 1.1.1.1 $)dnl dnl $Log: configure.in,v $ dnl Revision 1.1.1.1 2001/05/18 23:14:04 mb dnl Move from private repository to open source repository dnl dnl Revision 1.3 2000/12/21 23:58:39 dmitch dnl Misc. updates for clean build on Cheetah 1D7. dnl dnl Revision 1.2 2000/06/08 19:57:33 dmitch dnl Mods for X port. dnl dnl Revision 1.1.1.1 1999/03/16 18:05:49 aram dnl Originals from SMIME Free Library. dnl dnl Revision 1.13 1997/09/04 13:54:04 wan dnl A little more portability dnl dnl Revision 1.12 1997/02/28 13:39:35 wan dnl Modifications collected for new version 1.3: Bug fixes, tk4.2. dnl dnl Revision 1.11 1997/02/16 16:50:27 rj dnl made return *this after calling abort()'' a compile time option. dnl dnl Revision 1.10 1997/02/15 20:06:27 rj dnl adjust to changed AC_TRY_COMPILE macro dnl dnl Revision 1.9 1997/02/15 20:01:38 rj dnl check whether the compiler supports volatile functions (and whether abort() is volatile). dnl dnl Revision 1.8 1997/01/01 19:57:01 rj dnl changes for autoconf version 2.12 dnl dnl Revision 1.7 1995/09/07 18:36:47 rj dnl psbook and psnup are looked for (used by .../doc/makefile) dnl dnl Revision 1.6 1995/07/24 14:44:47 rj dnl don't use gcc/g++ with -pipe, compiling some files may exceed virtual memory. dnl dnl look for tclsh(1). tcl-lib uses it to construct the tclIndex file. don't look for Tcl/Tk if the tclsh is absent. dnl dnl look for patch(1). the c-lib uses it to patch tbl.h. dnl dnl search for tree-3.6's libtktree.a and set TREELIBS in .../makehead accordingly. dnl dnl check for memset(3), memcpy(3) and memcmp(3). .../snacc.h reverts to bzero(3), bcopy(3) and bcmp(3) if necessary. dnl dnl Revision 1.5 1995/02/20 11:18:41 rj dnl cpp switch HAVE_VARIABLE_SIZED_AUTOMATIC_ARRAYS added. dnl check for isinf(3) and finite(3) added. dnl dnl Revision 1.4 1995/02/17 15:15:44 rj dnl hack to let makedepend find .h files the way gcc does. dnl dnl Revision 1.3 1995/02/17 14:26:40 rj dnl adjustments for autoconf 2.x dnl dnl Revision 1.2 1994/10/08 04:29:37 rj dnl search for Tcl/Tk dnl dnl Revision 1.1 1994/09/01 00:51:22 rj dnl first check-in (new file). dnl AC_INIT( compiler/core/snacc.c) AC_CONFIG_HEADER( config.h) dnl --- alternative programs: AC_PROG_MAKE_SET AC_PROG_CC AC_ISC_POSIX if test -n "$GCC"; then dnl saveCC="$CC" dnl CC="$CC -pipe" dnl AC_MSG_CHECKING( whether $saveCC takes -pipe) dnl AC_TRY_LINK( , , [AC_MSG_RESULT( yes)], [AC_MSG_RESULT( no); CC="$saveCC"]) # hack to let X11 makedepend find .h file a little more the way gcc does: AC_MSG_CHECKING( for $CC's include path) gcclibdir=`$CC -v 2>&1 | sed -n -e 's:Reading specs from \(.*\)/specs:\1:p'` gxxincdir=`which gcc | sed "s/bin\/gcc//"` #MKDEP_CCINC="-I$gxxincdir/lib/g++-include -I/usr/local/include -I$gcclibdir/include" MKDEP_CCINC="-I/usr/local/include -I$gcclibdir/include -F/System/Library/PrivateFrameworks" AC_MSG_RESULT( $MKDEP_CCINC) AC_SUBST( MKDEP_CCINC) fi AC_PROG_GCC_TRADITIONAL AC_PROG_CC_C_O if eval "test \"`echo '$ac_cv_prog_cc_'${ac_cc}_c_o`\" = no"; then AC_MSG_WARN( since -c and -o don't seem to work together, the makefiles probably won't work!) fi AC_MSG_CHECKING( whether ANSI or K&R style C) AC_TRY_RUN( [main (int argc, char **argv) { void *p; return 0; }], [AC_MSG_RESULT( ANSI); AC_DEFINE( __USE_ANSI_C__)], AC_MSG_RESULT( K&R), AC_MSG_RESULT( K&R)) AC_PROG_CXX AC_LANG_CPLUSPLUS dnl if test -n "$GCC"; then dnl saveCXX="$CXX" dnl CXX="$CXX -pipe" dnl AC_MSG_CHECKING( whether $saveCXX takes -pipe) dnl AC_TRY_LINK( , , [AC_MSG_RESULT( yes)], [AC_MSG_RESULT( no);CC="$saveCC"]) dnl fi AC_MSG_CHECKING( for bool built-in) AC_TRY_COMPILE( , bool b = false;, [AC_DEFINE( BOOL_BUILTIN) AC_MSG_RESULT( yes)], AC_MSG_RESULT( no)) AC_MSG_CHECKING( for variable sized automatic arrays) AC_TRY_COMPILE( , changequote(<,>)int i = 42; char a[++i]; *a = i;changequote([,]), [AC_DEFINE( HAVE_VARIABLE_SIZED_AUTOMATIC_ARRAYS) AC_MSG_RESULT( yes)], AC_MSG_RESULT( no)) AC_MSG_CHECKING( for volatile functions) AC_TRY_COMPILE( , changequote(<,>)abort();changequote([,]), [AC_MSG_RESULT( yes)], [AC_DEFINE( COMPILER_WITHOUT_VOLATILE_FUNCTIONS) SNACC_NOVOLAT=-novolat; AC_SUBST( SNACC_NOVOLAT) AC_MSG_RESULT( no)]) AC_LANG_C AC_PROG_LEX AC_DECL_YYTEXT case "$LEX" in lex) LFLAGS="-Nc10000" ;; flex) CFLAGS="$CFLAGS -DFLEX_IN_USE" esac AC_SUBST( LFLAGS) AC_SUBST( CFLAGS) # the boot strapping code in .../c-lib/ needs patch: AC_CHECK_PROGS( PATCH, patch, false) AC_PROG_YACC AC_CHECK_PROGS( MKDEP, makedepend mkdep mkdep.sh, $CC) AC_CHECK_PROGS( AR, ar, ar) AC_PROG_RANLIB AC_PROG_INSTALL dnl --- header files: AC_HEADER_TIME AC_HEADER_DIRENT AC_TYPE_SIZE_T AC_TYPE_UID_T AC_HEADER_STDC AC_CHECK_HEADERS( unistd.h memory.h string.h malloc.h fcntl.h) AC_FUNC_VPRINTF dnl --- system and compiler characteristics: AC_C_CONST AC_C_BIGENDIAN AC_CHECK_SIZEOF( short) AC_CHECK_SIZEOF( int) AC_CHECK_SIZEOF( long) AC_CHECK_SIZEOF( double) AC_CHECK_LIB( m, sin) AC_CHECK_FUNCS( isinf finite) AC_CHECK_FUNCS( memset memcpy memcmp) dnl --- AC_PATH_X AC_PATH_XTRA AC_CHECK_PROGS( TCLSH, tclsh, false) if test "$TCLSH" != false; then AC_CHECK_HEADER( tcl.h, [AC_CHECK_LIB( ld, ldopen, TCLOTHERLIBS=-lld) AC_CHECK_LIB( tcl, Tcl_CreateInterp, [saveCFLAGS="$CFLAGS" CFLAGS="$CFLAGS $X_CFLAGS" AC_CHECK_LIB( tk, Tk_CreateWindow, [AC_DEFINE( HAVE_TCL) TCLLIBS="-ltk -ltcl $TCLOTHERLIBS" AC_LANG_CPLUSPLUS AC_CHECK_LIB( TkTree, Tree_Init, [TREELIBS="-lTkTree"], [AC_MSG_RESULT( [tcl/tk libs found, but tree widget is missing])], -lTkTree -ltk -ltcl $TCLOTHERLIBS $X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS) AC_LANG_C], [AC_MSG_RESULT( [tcl lib found, but tk lib is missing])], -ltcl $TCLOTHERLIBS $X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS) CFLAGS="$saveCFLAGS"], [AC_MSG_RESULT( [tcl library not found])], $TCLOTHERLIBS -lm)]) fi AC_SUBST( TCLLIBS) AC_SUBST( TREELIBS) dnl --- AC_CHECK_PROGS( LATEX, latex, false) AC_CHECK_PROGS( BIBTEX, bibtex, false) AC_CHECK_PROGS( DVIPS, dvips, false) AC_CHECK_PROGS( DETEX, detex2 detex, false) AC_CHECK_PROGS( PSPREVIEW, ghostview gs, true) AC_CHECK_PROGS( PSBOOK, psbook, false) AC_CHECK_PROGS( PSNUP, psnup, false) AC_CHECK_PROGS( SPELL, ispell spell, spell) dnl --- AC_OUTPUT( makehead, date > stamp-h) dnl --- finis