From 5076106e0dd6f3f514e876162568fb5ed028931c Mon Sep 17 00:00:00 2001 From: surles Date: Wed, 2 Jun 1999 19:30:23 +0000 Subject: added first pass at Tk Windows configure script --- win/configure.in | 191 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 191 insertions(+) create mode 100644 win/configure.in diff --git a/win/configure.in b/win/configure.in new file mode 100644 index 0000000..648c8da --- /dev/null +++ b/win/configure.in @@ -0,0 +1,191 @@ +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) -- cgit v0.12