diff options
Diffstat (limited to 'tcl/win/configure.in')
-rwxr-xr-x | tcl/win/configure.in | 235 |
1 files changed, 142 insertions, 93 deletions
diff --git a/tcl/win/configure.in b/tcl/win/configure.in index 619cfc4c014..c700e52736f 100755 --- a/tcl/win/configure.in +++ b/tcl/win/configure.in @@ -1,18 +1,30 @@ #! /bin/bash -norc # This file is an input file used by the GNU "autoconf" program to -# generate the file "configure", which is run during Tk installation +# generate the file "configure", which is run during Tcl installation # to configure the system for the local environment. # # RCS: @(#) $Id$ -AC_INIT(../generic/tk.h) +AC_INIT(../generic/tcl.h) AC_PREREQ(2.13) -TK_VERSION=8.4 -TK_MAJOR_VERSION=8 -TK_MINOR_VERSION=4 -TK_PATCH_LEVEL=".0" -VER=$TK_MAJOR_VERSION$TK_MINOR_VERSION +TCL_VERSION=8.4 +TCL_MAJOR_VERSION=8 +TCL_MINOR_VERSION=4 +TCL_PATCH_LEVEL=".0" +VER=$TCL_MAJOR_VERSION$TCL_MINOR_VERSION + +TCL_DDE_VERSION=1.2 +TCL_DDE_MAJOR_VERSION=1 +TCL_DDE_MINOR_VERSION=2 +TCL_DDE_PATCH_LEVEL="" +DDEVER=$TCL_DDE_MAJOR_VERSION$TCL_DDE_MINOR_VERSION + +TCL_REG_VERSION=1.0 +TCL_REG_MAJOR_VERSION=1 +TCL_REG_MINOR_VERSION=0 +TCL_REG_PATCH_LEVEL="" +REGVER=$TCL_REG_MAJOR_VERSION$TCL_REG_MINOR_VERSION #------------------------------------------------------------------------ # Handle the --prefix=... option @@ -24,7 +36,7 @@ fi if test "${exec_prefix}" = "NONE"; then exec_prefix=$prefix fi -# libdir must be a fully qualified path and (not ${exec_prefix}/lib) +# libdir must be a fully qualified path (not ${exec_prefix}/lib) eval libdir="$libdir" #------------------------------------------------------------------------ @@ -45,9 +57,9 @@ AC_PROG_CC # autoconf 2.50. You can also just set # the CC, AR, RANLIB, and RC environment # variables if you want to cross compile. -#AC_CHECK_TOOL(AR, ar, :) -#AC_CHECK_TOOL(RANLIB, ranlib, :) -#AC_CHECK_TOOL(RC, windres, :) +dnl AC_CHECK_TOOL(AR, ar, :) +dnl AC_CHECK_TOOL(RANLIB, ranlib, :) +dnl AC_CHECK_TOOL(RC, windres, :) if test "${GCC}" = "yes" ; then AC_CHECK_PROG(AR, ar, ar) @@ -62,11 +74,44 @@ fi AC_PROG_MAKE_SET #-------------------------------------------------------------------- -# These two macros perform additinal compiler test. +# Perform additinal compiler tests. #-------------------------------------------------------------------- AC_CYGWIN +if test "$ac_cv_cygwin" = "yes" ; then + AC_MSG_ERROR([Compiling with the Cygwin version of gcc is not supported. + Use the Mingw version of gcc from www.mingw.org instead.]) +fi + + +AC_CACHE_CHECK(for SEH support in compiler, + tcl_cv_seh, +AC_TRY_RUN([ +#define WIN32_LEAN_AND_MEAN +#include <windows.h> +#undef WIN32_LEAN_AND_MEAN + +int main(int argc, char** argv) { + int a, b = 0; + __try { + a = 666 / b; + } + __except (EXCEPTION_EXECUTE_HANDLER) { + return 0; + } + return 1; +} +], + tcl_cv_seh=yes, + tcl_cv_seh=no, + tcl_cv_seh=no) +) +if test "$tcl_cv_seh" = "no" ; then + AC_DEFINE(HAVE_NO_SEH,, + [Defined when mingw does not support SEH]) +fi + #-------------------------------------------------------------------- # Determines the correct binary file extension (.o, .obj, .exe etc.) #-------------------------------------------------------------------- @@ -82,7 +127,7 @@ SC_ENABLE_THREADS #-------------------------------------------------------------------- # The statements below define a collection of symbols related to -# building libtk as a shared library instead of a static library. +# building libtcl as a shared library instead of a static library. #-------------------------------------------------------------------- SC_ENABLE_SHARED @@ -96,136 +141,121 @@ SC_ENABLE_SHARED SC_CONFIG_CFLAGS #-------------------------------------------------------------------- -# man2tcl needs this so that it can use errno.h -#-------------------------------------------------------------------- - -AC_CHECK_HEADER(errno.h, , MAN2TCLFLAGS="-DNO_ERRNO_H") -AC_SUBST(MAN2TCLFLAGS) - -#-------------------------------------------------------------------- # Set the default compiler switches based on the --enable-symbols # option. This macro depends on C flags, and should be called # after SC_CONFIG_CFLAGS macro is called. #-------------------------------------------------------------------- SC_ENABLE_SYMBOLS +SC_ENABLE_MEMDEBUG -TK_DBGX=${DBGX} +TCL_DBGX=${DBGX} #-------------------------------------------------------------------- -# Locate and source the tclConfig.sh file. +# man2tcl needs this so that it can use errno.h #-------------------------------------------------------------------- -SC_PATH_TCLCONFIG($TK_PATCH_LEVEL) -SC_LOAD_TCLCONFIG - -SC_PROG_TCLSH +AC_CHECK_HEADER(errno.h, , MAN2TCLFLAGS="-DNO_ERRNO_H") +AC_SUBST(MAN2TCLFLAGS) #------------------------------------------------------------------------ -# tkConfig.sh refers to this by a different name +# tclConfig.sh refers to this by a different name #------------------------------------------------------------------------ -TK_SHARED_BUILD=${SHARED_BUILD} +TCL_SHARED_BUILD=${SHARED_BUILD} #-------------------------------------------------------------------- # Perform final evaluations of variables with possible substitutions. #-------------------------------------------------------------------- -TK_SHARED_LIB_SUFFIX="\${NODOT_VERSION}${DLLSUFFIX}" -TK_UNSHARED_LIB_SUFFIX="\${NODOT_VERSION}${LIBSUFFIX}" -TK_EXPORT_FILE_SUFFIX="\${NODOT_VERSION}${LIBSUFFIX}" - -eval "TK_SRC_DIR=`cd $srcdir/..; pwd`" +TCL_SHARED_LIB_SUFFIX="\${NODOT_VERSION}${DLLSUFFIX}" +TCL_UNSHARED_LIB_SUFFIX="\${NODOT_VERSION}${LIBSUFFIX}" +TCL_EXPORT_FILE_SUFFIX="\${NODOT_VERSION}${LIBSUFFIX}" -eval "TK_DLL_FILE=tk$VER${DLLSUFFIX}" -eval "TK_LIB_FILE=${LIBPREFIX}tk$VER${LIBSUFFIX}" +eval "TCL_SRC_DIR=\"`cd $srcdir/..; pwd`\"" -eval "TK_STUB_LIB_FILE=${LIBPREFIX}tkstub${VER}${LIBSUFFIX}" -# FIXME: All of this var junk needs to be done in tcl.m4 !!!! -# I left out the other vars that also need to get defined here. -# we also need to double check about including DBGX in lib names -# and spaces in file or directory names for the eval -eval "TK_STUB_LIB_FLAG=\"-ltkstub${VER}${TCL_DBGX}\"" -eval "TK_BUILD_STUB_LIB_SPEC=\"-L`pwd` ${TK_STUB_LIB_FLAG}\"" +eval "TCL_DLL_FILE=tcl${VER}${DLLSUFFIX}" -eval "TCL_DLL_FILE=\"tcl$VER${DLLSUFFIX}\"" -eval "TCL_LIB_FILE=\"${LIBPREFIX}tcl$VER${LIBSUFFIX}\"" +eval "TCL_LIB_FILE=${LIBPREFIX}tcl$VER${LIBSUFFIX}" +# FIMXE: These variables decls are missing +#TCL_LIB_FLAG +#TCL_BUILD_LIB_SPEC +#TCL_LIB_SPEC eval "TCL_STUB_LIB_FILE=\"${LIBPREFIX}tclstub${VER}${LIBSUFFIX}\"" eval "TCL_STUB_LIB_FLAG=\"-ltclstub${VER}${TCL_DBGX}\"" eval "TCL_BUILD_STUB_LIB_SPEC=\"-L`pwd` ${TCL_STUB_LIB_FLAG}\"" +eval "TCL_STUB_LIB_SPEC=\"-L${libdir} ${TCL_STUB_LIB_FLAG}\"" +eval "TCL_BUILD_STUB_LIB_PATH=\"`pwd`/${TCL_STUB_LIB_FILE}\"" +eval "TCL_STUB_LIB_PATH=\"${libdir}/${TCL_STUB_LIB_FILE}\"" + +# Install time header dir can be set via --includedir +eval "TCL_INCLUDE_SPEC=\"-I${includedir}\"" + eval "DLLSUFFIX=${DLLSUFFIX}" eval "LIBPREFIX=${LIBPREFIX}" eval "LIBSUFFIX=${LIBSUFFIX}" eval "EXESUFFIX=${EXESUFFIX}" -CFG_TK_SHARED_LIB_SUFFIX=${TK_SHARED_LIB_SUFFIX} -CFG_TK_UNSHARED_LIB_SUFFIX=${TK_UNSHARED_LIB_SUFFIX} -CFG_TK_EXPORT_FILE_SUFFIX=${TK_EXPORT_FILE_SUFFIX} +CFG_TCL_SHARED_LIB_SUFFIX=${TCL_SHARED_LIB_SUFFIX} +CFG_TCL_UNSHARED_LIB_SUFFIX=${TCL_UNSHARED_LIB_SUFFIX} +CFG_TCL_EXPORT_FILE_SUFFIX=${TCL_EXPORT_FILE_SUFFIX} #-------------------------------------------------------------------- # Adjust the defines for how the resources are built depending # on symbols and static vs. shared. #-------------------------------------------------------------------- -if test "$SHARED_BUILD" = 0 -o "$TCL_NEEDS_EXP_FILE" = 0; then +if test ${SHARED_BUILD} = 0 ; then if test "${DBGX}" = "d"; then RC_DEFINES="${RC_DEFINE} STATIC_BUILD ${RC_DEFINE} DEBUG" else RC_DEFINES="${RC_DEFINE} STATIC_BUILD" fi - TK_RES="" else if test "${DBGX}" = "d"; then RC_DEFINES="${RC_DEFINE} DEBUG" else RC_DEFINES="" fi - TK_RES='tk.$(RES)' fi -AC_SUBST(TK_VERSION) -AC_SUBST(TK_MAJOR_VERSION) -AC_SUBST(TK_MINOR_VERSION) -AC_SUBST(TK_PATCH_LEVEL) -AC_SUBST(TK_DBGX) -AC_SUBST(TK_LIB_FILE) -AC_SUBST(TK_DLL_FILE) -AC_SUBST(TK_STUB_LIB_FILE) -AC_SUBST(TK_STUB_LIB_FLAG) -AC_SUBST(TK_BUILD_STUB_LIB_SPEC) -AC_SUBST(TK_SRC_DIR) -AC_SUBST(TK_BIN_DIR) AC_SUBST(TCL_VERSION) AC_SUBST(TCL_MAJOR_VERSION) AC_SUBST(TCL_MINOR_VERSION) AC_SUBST(TCL_PATCH_LEVEL) + AC_SUBST(TCL_LIB_FILE) -AC_SUBST(TCL_DLL_FILE) +AC_SUBST(TCL_LIB_FLAG) +# empty on win +AC_SUBST(TCL_LIB_SPEC) AC_SUBST(TCL_STUB_LIB_FILE) AC_SUBST(TCL_STUB_LIB_FLAG) +AC_SUBST(TCL_STUB_LIB_SPEC) +AC_SUBST(TCL_STUB_LIB_PATH) +AC_SUBST(TCL_INCLUDE_SPEC) AC_SUBST(TCL_BUILD_STUB_LIB_SPEC) +AC_SUBST(TCL_BUILD_STUB_LIB_PATH) +AC_SUBST(TCL_DLL_FILE) + AC_SUBST(TCL_SRC_DIR) AC_SUBST(TCL_BIN_DIR) AC_SUBST(TCL_DBGX) -AC_SUBST(CFG_TK_SHARED_LIB_SUFFIX) -AC_SUBST(CFG_TK_UNSHARED_LIB_SUFFIX) -AC_SUBST(CFG_TK_EXPORT_FILE_SUFFIX) -AC_SUBST(TK_SHARED_BUILD) +AC_SUBST(CFG_TCL_SHARED_LIB_SUFFIX) +AC_SUBST(CFG_TCL_UNSHARED_LIB_SUFFIX) +AC_SUBST(CFG_TCL_EXPORT_FILE_SUFFIX) -AC_SUBST(CYGPATH) -AC_SUBST(DEPARG) +# win/tcl.m4 doesn't set (CFLAGS) AC_SUBST(CFLAGS_DEFAULT) AC_SUBST(EXTRA_CFLAGS) -AC_SUBST(STLIB_LD) -AC_SUBST(SHLIB_LD) -AC_SUBST(SHLIB_LD_LIBS) -AC_SUBST(SHLIB_CFLAGS) -AC_SUBST(SHLIB_SUFFIX) +AC_SUBST(CYGPATH) +AC_SUBST(DEPARG) AC_SUBST(CC_OBJNAME) AC_SUBST(CC_EXENAME) + +# win/tcl.m4 doesn't set (LDFLAGS) AC_SUBST(LDFLAGS_DEFAULT) AC_SUBST(LDFLAGS_DEBUG) AC_SUBST(LDFLAGS_OPTIMIZE) @@ -233,14 +263,14 @@ AC_SUBST(LDFLAGS_CONSOLE) AC_SUBST(LDFLAGS_WINDOW) AC_SUBST(AR) AC_SUBST(RANLIB) -AC_SUBST(RC) -AC_SUBST(RC_OUT) -AC_SUBST(RC_TYPE) -AC_SUBST(RC_INCLUDE) -AC_SUBST(RC_DEFINE) -AC_SUBST(RC_DEFINES) -AC_SUBST(TK_RES) -AC_SUBST(RES) + +AC_SUBST(STLIB_LD) +AC_SUBST(SHLIB_LD) +AC_SUBST(SHLIB_LD_LIBS) +AC_SUBST(SHLIB_CFLAGS) +AC_SUBST(SHLIB_SUFFIX) +AC_SUBST(TCL_SHARED_BUILD) + AC_SUBST(LIBS) AC_SUBST(LIBS_GUI) AC_SUBST(DLLSUFFIX) @@ -253,14 +283,33 @@ AC_SUBST(POST_MAKE_LIB) AC_SUBST(MAKE_DLL) AC_SUBST(MAKE_EXE) -# undefined at this point for win -AC_SUBST(TK_BUILD_LIB_SPEC) -AC_SUBST(TK_CC_SEARCH_FLAGS) -AC_SUBST(TK_LD_SEARCH_FLAGS) -AC_SUBST(TK_LIB_FLAG) -AC_SUBST(TK_LIB_SPEC) -AC_SUBST(TK_STUB_LIB_SPEC) -AC_SUBST(TK_BUILD_STUB_LIB_PATH) -AC_SUBST(TK_STUB_LIB_PATH) - -AC_OUTPUT(Makefile tkConfig.sh) +# empty on win, but needs sub'ing +AC_SUBST(TCL_BUILD_LIB_SPEC) +AC_SUBST(TCL_LD_SEARCH_FLAGS) +AC_SUBST(TCL_NEEDS_EXP_FILE) +AC_SUBST(TCL_BUILD_EXP_FILE) +AC_SUBST(TCL_EXP_FILE) +AC_SUBST(DL_LIBS) +AC_SUBST(LIBOBJS) +AC_SUBST(TCL_LIB_VERSIONS_OK) +AC_SUBST(TCL_PACKAGE_PATH) + +# win only +AC_SUBST(TCL_DDE_VERSION) +AC_SUBST(TCL_DDE_MAJOR_VERSION) +AC_SUBST(TCL_DDE_MINOR_VERSION) +AC_SUBST(TCL_DDE_PATCH_LEVEL) +AC_SUBST(TCL_REG_VERSION) +AC_SUBST(TCL_REG_MAJOR_VERSION) +AC_SUBST(TCL_REG_MINOR_VERSION) +AC_SUBST(TCL_REG_PATCH_LEVEL) + +AC_SUBST(RC) +AC_SUBST(RC_OUT) +AC_SUBST(RC_TYPE) +AC_SUBST(RC_INCLUDE) +AC_SUBST(RC_DEFINE) +AC_SUBST(RC_DEFINES) +AC_SUBST(RES) + +AC_OUTPUT(Makefile tclConfig.sh tcl.hpj) |