dnl This file is an input file used by the GNU "autoconf" program to dnl generate the file "configure", which is run during Tcl installation dnl to configure the system for the local environment. AC_INIT(../generic/tk.h) # RCS: @(#) $Id: configure.in,v 1.1 1999/06/02 19:30:23 surles Exp $ TK_VERSION=8.1 TK_MAJOR_VERSION=8 TK_MINOR_VERSION=1 TK_PATCH_LEVEL=.2 VERSION=${TK_VERSION} # Check whether --enable-gcc or --disable-gcc was given. Do this before # AC_PROG_CC and AC_CYGWIN are called so the compiler can be fully tested # by built-in autoconf tools. AC_ARG_ENABLE(gcc, [ --enable-gcc build with gcc], [tcl_ok=$enableval], [tcl_ok=test_all]) if test "$tcl_ok" = "yes"; then CC=gcc fi if test "$tcl_ok" = "no"; then CC=cl fi AC_PROG_MAKE_SET AC_PROG_CC AC_CYGWIN AC_OBJEXT AC_EXEEXT #-------------------------------------------------------------------- # See if there was a command-line option for where Tcl is; if # not, assume that its top-level directory is a sibling of ours. # Try the patch-level-specific directory first, then the general one. #-------------------------------------------------------------------- if test -d ../../tcl8.1$TK_PATCH_LEVEL/unix; then TCL_BIN_DEFAULT=../../tcl8.1$TK_PATCH_LEVEL/unix else TCL_BIN_DEFAULT=../../tcl8.1/unix fi AC_ARG_WITH(tcl, [ --with-tcl=DIR use Tcl 8.1 binaries from DIR], TCL_BIN_DIR=$withval, TCL_BIN_DIR=`cd $TCL_BIN_DEFAULT; pwd`) if test ! -d $TCL_BIN_DIR; then AC_MSG_ERROR(Tcl directory $TCL_BIN_DIR does not exist) fi if test ! -f $TCL_BIN_DIR/Makefile; then AC_MSG_ERROR(There is no Makefile in $TCL_BIN_DIR: perhaps you did not specify the Tcl *build* directory (not the toplevel Tcl directory) or you forgot to configure Tcl?) else echo "building against Tcl binaries in: $TCL_BIN_DIR" fi # Set the default compiler switches based on the --enable-symbols option AC_ARG_ENABLE(symbols, [ --enable-symbols build with debugging symbols], [tcl_ok=$enableval], [tcl_ok=no]) if test "$tcl_ok" = "yes"; then CFLAGS='${CFLAGS_DEBUG}' LD_FLAGS='${LDFLAGS_DEBUG}' TCL_DBGX=d echo "building with debug symbols" else CFLAGS='${CFLAGS_OPTIMIZE}' LD_FLAGS='${LDFLAGS_OPTIMIZE}' TCL_DBGX="" echo "building without debug symbols" fi # Trick to replace DBGX with TCL_DBGX DBGX='${TCL_DBGX}' eval "TCL_LIB_FILE=${TCL_LIB_FILE}" # Check whether --enable-threads or --disable-threads was given. AC_ARG_ENABLE(threads, [ --enable-threads build with threads], [tcl_ok=$enableval], [tcl_ok=no]) if test "$tcl_ok" = "yes"; then AC_DEFINE(TCL_THREADS) echo "building with threads enabled" else echo "building with threads disabled (default)" fi #-------------------------------------------------------------------- # The statements below define a collection of symbols related to # building libtcl as a shared library instead of a static library. #-------------------------------------------------------------------- AC_ARG_ENABLE(shared, [ --enable-shared build libtcl as a shared library (on by default)], [tcl_ok=$enableval], [tcl_ok=yes]) # Check whether --enable-shared or --disable-shared was given. if test "${enable_shared+set}" = set; then enableval="$enable_shared" tcl_ok=$enableval else tcl_ok=yes fi if test "$tcl_ok" = "yes" ; then TCL_SHARED_BUILD=1 else TCL_SHARED_BUILD=0 AC_DEFINE(STATIC_BUILD) fi EXTRA_CFLAGS="" # set various compiler flags depending on whether we are using gcc or cl if test "${GCC}" = "yes" ; then CFLAGS_DEBUG=-g CFLAGS_OPTIMIZE=-O CFLAGS_WARNING="-Wall -Wconversion" LDFLAGS_DEBUG=-g LDFLAGS_OPTIMIZE=-O PATHTYPE=-u # Specify the CC output file names based on the target name CC_OBJNAME="-o \$@" CC_EXENAME="-o \$@" else SHLIB_LD="link -dll -nologo" SHLIB_LD_LIBS="user32.lib advapi32.lib" LIBS="user32.lib advapi32.lib" AR="lib -nologo" MAKE_LIB="\${AR} -out:\$@" MAKE_EXE="\${CC} -Fe\$@" if test "${TCL_SHARED_BUILD}" = "0" ; then # static echo "building static version" runtime=-MT MAKE_DLL="echo " LIBSUFFIX="s\${TCL_DBGX}.lib" LIBRARIES="\${STATIC_LIBRARIES}" EXESUFFIX="s\${TCL_DBGX}.exe" DLLSUFFIX="" else # dynamic echo "building dynamic version" runtime=-MD MAKE_DLL="\${SHLIB_LD} \${SHLIB_LD_LIBS} -out:\$@" LIBSUFFIX="\${TCL_DBGX}.lib" DLLSUFFIX="\${TCL_DBGX}.dll" EXESUFFIX="\${TCL_DBGX}.exe" LIBRARIES="\${SHARED_LIBRARIES}" fi EXTRA_CFLAGS="-YX -nologo" CFLAGS_DEBUG="-Z7 -Od -WX ${runtime}d" CFLAGS_OPTIMIZE="-O2 -Gs -GD ${runtime}" CFLAGS_WARNING="-W3" LDFLAGS_DEBUG="-debug" LDFLAGS_OPTIMIZE="-release" PATHTYPE=-w # Specify the CC output file names based on the target name CC_OBJNAME="-Fo\$@" CC_EXENAME="-Fe\$@" fi eval "LD_FLAGS=${LD_FLAGS}" AC_SUBST(PATHTYPE) AC_SUBST(CFLAGS_DEBUG) AC_SUBST(CFLAGS_OPTIMIZE) AC_SUBST(CFLAGS_WARNING) AC_SUBST(EXTRA_CFLAGS) AC_SUBST(TCL_DBGX) AC_SUBST(TCL_LIB_FILE) AC_SUBST(TCL_MAJOR_VERSION) AC_SUBST(TCL_MINOR_VERSION) AC_SUBST(TCL_PATCH_LEVEL) AC_SUBST(TCL_VERSION) AC_SUBST(SHLIB_LD) AC_SUBST(SHLIB_LD_LIBS) AC_SUBST(SHLIB_CFLAGS) AC_SUBST(SHLIB_SUFFIX) AC_SUBST(CC_OBJNAME) AC_SUBST(CC_EXENAME) AC_SUBST(AR) AC_SUBST(DLLSUFFIX) AC_SUBST(LIBSUFFIX) AC_SUBST(EXESUFFIX) AC_SUBST(LIBRARIES) AC_SUBST(MAKE_LIB) AC_SUBST(MAKE_DLL) AC_OUTPUT(Makefile)