1#! /bin/bash -norc 2# This file is an input file used by the GNU "autoconf" program to 3# generate the file "configure", which is run during Tk installation 4# to configure the system for the local environment. 5# 6# RCS: @(#) $Id: configure.in,v 1.49.2.24 2008/04/07 19:17:58 dgp Exp $ 7 8AC_INIT(../generic/tk.h) 9AC_PREREQ(2.13) 10 11TK_VERSION=8.4 12TK_MAJOR_VERSION=8 13TK_MINOR_VERSION=4 14TK_PATCH_LEVEL=".19" 15VER=$TK_MAJOR_VERSION$TK_MINOR_VERSION 16 17#------------------------------------------------------------------------ 18# Handle the --prefix=... option 19#------------------------------------------------------------------------ 20 21if test "${prefix}" = "NONE"; then 22 prefix=/usr/local 23fi 24if test "${exec_prefix}" = "NONE"; then 25 exec_prefix=$prefix 26fi 27# libdir must be a fully qualified path and (not ${exec_prefix}/lib) 28eval libdir="$libdir" 29 30#------------------------------------------------------------------------ 31# Standard compiler checks 32#------------------------------------------------------------------------ 33 34# If the user did not set CFLAGS, set it now to keep 35# the AC_PROG_CC macro from adding "-g -O2". 36if test "${CFLAGS+set}" != "set" ; then 37 CFLAGS="" 38fi 39 40AC_PROG_CC 41 42# To properly support cross-compilation, one would 43# need to use these tool checks instead of 44# the ones below and reconfigure with 45# autoconf 2.50. You can also just set 46# the CC, AR, RANLIB, and RC environment 47# variables if you want to cross compile. 48#AC_CHECK_TOOL(AR, ar) 49#AC_CHECK_TOOL(RANLIB, ranlib) 50#AC_CHECK_TOOL(RC, windres) 51 52if test "${GCC}" = "yes" ; then 53 AC_CHECK_PROG(AR, ar, ar) 54 AC_CHECK_PROG(RANLIB, ranlib, ranlib) 55 AC_CHECK_PROG(RC, windres, windres) 56 57 if test "${AR}" = "" ; then 58 AC_MSG_ERROR([Required archive tool 'ar' not found on PATH.]) 59 fi 60 if test "${RANLIB}" = "" ; then 61 AC_MSG_ERROR([Required archive index tool 'ranlib' not found on PATH.]) 62 fi 63 if test "${RC}" = "" ; then 64 AC_MSG_ERROR([Required resource tool 'windres' not found on PATH.]) 65 fi 66fi 67 68#-------------------------------------------------------------------- 69# Checks to see if the make progeam sets the $MAKE variable. 70#-------------------------------------------------------------------- 71 72AC_PROG_MAKE_SET 73 74#-------------------------------------------------------------------- 75# These two macros perform additinal compiler test. 76#-------------------------------------------------------------------- 77 78AC_CYGWIN 79 80#-------------------------------------------------------------------- 81# Determines the correct binary file extension (.o, .obj, .exe etc.) 82#-------------------------------------------------------------------- 83 84AC_OBJEXT 85AC_EXEEXT 86 87#-------------------------------------------------------------------- 88# Check whether --enable-threads or --disable-threads was given. 89#-------------------------------------------------------------------- 90 91SC_ENABLE_THREADS 92 93#-------------------------------------------------------------------- 94# The statements below define a collection of symbols related to 95# building libtk as a shared library instead of a static library. 96#-------------------------------------------------------------------- 97 98SC_ENABLE_SHARED 99 100#-------------------------------------------------------------------- 101# The statements below define a collection of compile flags. This 102# macro depends on the value of SHARED_BUILD, and should be called 103# after SC_ENABLE_SHARED checks the configure switches. 104#-------------------------------------------------------------------- 105 106SC_CONFIG_CFLAGS 107 108#-------------------------------------------------------------------- 109# man2tcl needs this so that it can use errno.h 110#-------------------------------------------------------------------- 111 112AC_CHECK_HEADER(errno.h, , MAN2TCLFLAGS="-DNO_ERRNO_H") 113AC_SUBST(MAN2TCLFLAGS) 114 115#-------------------------------------------------------------------- 116# Set the default compiler switches based on the --enable-symbols 117# option. This macro depends on C flags, and should be called 118# after SC_CONFIG_CFLAGS macro is called. 119#-------------------------------------------------------------------- 120 121SC_ENABLE_SYMBOLS 122 123TK_DBGX=${DBGX} 124 125#-------------------------------------------------------------------- 126# Locate and source the tclConfig.sh file. 127#-------------------------------------------------------------------- 128 129SC_PATH_TCLCONFIG($TK_PATCH_LEVEL) 130SC_LOAD_TCLCONFIG 131 132SC_BUILD_TCLSH 133SC_PROG_TCLSH 134 135#------------------------------------------------------------------------ 136# tkConfig.sh refers to this by a different name 137#------------------------------------------------------------------------ 138 139TK_SHARED_BUILD=${SHARED_BUILD} 140 141#-------------------------------------------------------------------- 142# Perform final evaluations of variables with possible substitutions. 143#-------------------------------------------------------------------- 144 145TK_SHARED_LIB_SUFFIX="\${NODOT_VERSION}${DLLSUFFIX}" 146TK_UNSHARED_LIB_SUFFIX="\${NODOT_VERSION}${LIBSUFFIX}" 147TK_EXPORT_FILE_SUFFIX="\${NODOT_VERSION}${LIBSUFFIX}" 148 149eval "TK_SRC_DIR=`cd $srcdir/..; pwd`" 150 151eval "TK_DLL_FILE=tk$VER${DLLSUFFIX}" 152eval "TK_LIB_FILE=${LIBPREFIX}tk$VER${LIBSUFFIX}" 153 154eval "TK_STUB_LIB_FILE=${LIBPREFIX}tkstub${VER}${LIBSUFFIX}" 155# FIXME: All of this var junk needs to be done in tcl.m4 !!!! 156# I left out the other vars that also need to get defined here. 157# we also need to double check about spaces in path names 158eval "TK_LIB_FLAG=\"-ltk${VER}${LIBFLAGSUFFIX}\"" 159TK_LIB_SPEC="-L${libdir} ${TK_LIB_FLAG}" 160TK_BUILD_LIB_SPEC="-L`pwd` ${TK_LIB_FLAG}" 161 162eval "TK_STUB_LIB_FLAG=\"-ltkstub${VER}${LIBFLAGSUFFIX}\"" 163TK_BUILD_STUB_LIB_SPEC="-L`pwd` ${TK_STUB_LIB_FLAG}" 164 165TK_STUB_LIB_SPEC="-L${libdir} ${TK_STUB_LIB_FLAG}" 166TK_STUB_LIB_PATH="${libdir}/${TK_STUB_LIB_FILE}" 167TK_BUILD_STUB_LIB_PATH="`pwd`/${TK_STUB_LIB_FILE}" 168 169eval "DLLSUFFIX=${DLLSUFFIX}" 170eval "LIBPREFIX=${LIBPREFIX}" 171eval "LIBSUFFIX=${LIBSUFFIX}" 172eval "EXESUFFIX=${EXESUFFIX}" 173 174CFG_TK_SHARED_LIB_SUFFIX=${TK_SHARED_LIB_SUFFIX} 175CFG_TK_UNSHARED_LIB_SUFFIX=${TK_UNSHARED_LIB_SUFFIX} 176CFG_TK_EXPORT_FILE_SUFFIX=${TK_EXPORT_FILE_SUFFIX} 177 178#-------------------------------------------------------------------- 179# Adjust the defines for how the resources are built depending 180# on symbols and static vs. shared. 181#-------------------------------------------------------------------- 182 183if test "$SHARED_BUILD" = 0 -o "$TCL_NEEDS_EXP_FILE" = 0; then 184 if test "${DBGX}" = "d"; then 185 RC_DEFINES="${RC_DEFINE} STATIC_BUILD ${RC_DEFINE} DEBUG" 186 else 187 RC_DEFINES="${RC_DEFINE} STATIC_BUILD" 188 fi 189 TK_RES="" 190else 191 if test "${DBGX}" = "d"; then 192 RC_DEFINES="${RC_DEFINE} DEBUG" 193 else 194 RC_DEFINES="" 195 fi 196 TK_RES='tk.$(RES)' 197fi 198 199# The wish.exe.manifest requires these 200# TK_WIN_VERSION is the 4 dotted pair Windows version format 201case "$TK_PATCH_LEVEL" in 202 a*) TK_WIN_VERSION="$TK_VERSION.0.`echo $TK_PATCH_LEVEL | tr -d a`" ;; 203 b*) TK_WIN_VERSION="$TK_VERSION.1.`echo $TK_PATCH_LEVEL | tr -d b`" ;; 204 .*) TK_WIN_VERSION="$TK_VERSION.2$TK_PATCH_LEVEL" ;; 205esac 206AC_SUBST(TK_WIN_VERSION) 207# X86|AMD64|IA64 for manifest 208AC_SUBST(MACHINE) 209 210AC_SUBST(TK_VERSION) 211AC_SUBST(TK_MAJOR_VERSION) 212AC_SUBST(TK_MINOR_VERSION) 213AC_SUBST(TK_PATCH_LEVEL) 214AC_SUBST(TK_DBGX) 215AC_SUBST(TK_LIB_FILE) 216AC_SUBST(TK_DLL_FILE) 217AC_SUBST(TK_STUB_LIB_FILE) 218AC_SUBST(TK_STUB_LIB_FLAG) 219AC_SUBST(TK_BUILD_STUB_LIB_SPEC) 220AC_SUBST(TK_SRC_DIR) 221AC_SUBST(TK_BIN_DIR) 222 223AC_SUBST(TCL_VERSION) 224AC_SUBST(TCL_MAJOR_VERSION) 225AC_SUBST(TCL_MINOR_VERSION) 226AC_SUBST(TCL_PATCH_LEVEL) 227AC_SUBST(TCL_LIB_FILE) 228AC_SUBST(TCL_DLL_FILE) 229AC_SUBST(TCL_STUB_LIB_FILE) 230AC_SUBST(TCL_STUB_LIB_FLAG) 231AC_SUBST(TCL_BUILD_STUB_LIB_SPEC) 232AC_SUBST(TCL_SRC_DIR) 233AC_SUBST(TCL_BIN_DIR) 234AC_SUBST(TCL_DBGX) 235AC_SUBST(CFG_TK_SHARED_LIB_SUFFIX) 236AC_SUBST(CFG_TK_UNSHARED_LIB_SUFFIX) 237AC_SUBST(CFG_TK_EXPORT_FILE_SUFFIX) 238AC_SUBST(TK_SHARED_BUILD) 239 240AC_SUBST(CYGPATH) 241AC_SUBST(DEPARG) 242AC_SUBST(CFLAGS_DEFAULT) 243AC_SUBST(EXTRA_CFLAGS) 244AC_SUBST(STLIB_LD) 245AC_SUBST(SHLIB_LD) 246AC_SUBST(SHLIB_LD_LIBS) 247AC_SUBST(SHLIB_CFLAGS) 248AC_SUBST(SHLIB_SUFFIX) 249AC_SUBST(CC_OBJNAME) 250AC_SUBST(CC_EXENAME) 251AC_SUBST(LDFLAGS_DEFAULT) 252AC_SUBST(LDFLAGS_DEBUG) 253AC_SUBST(LDFLAGS_OPTIMIZE) 254AC_SUBST(LDFLAGS_CONSOLE) 255AC_SUBST(LDFLAGS_WINDOW) 256AC_SUBST(AR) 257AC_SUBST(RANLIB) 258AC_SUBST(RC) 259AC_SUBST(RC_OUT) 260AC_SUBST(RC_TYPE) 261AC_SUBST(RC_INCLUDE) 262AC_SUBST(RC_DEFINE) 263AC_SUBST(RC_DEFINES) 264AC_SUBST(TK_RES) 265AC_SUBST(RES) 266AC_SUBST(LIBS) 267AC_SUBST(LIBS_GUI) 268AC_SUBST(DLLSUFFIX) 269AC_SUBST(LIBPREFIX) 270AC_SUBST(LIBSUFFIX) 271AC_SUBST(EXESUFFIX) 272AC_SUBST(LIBRARIES) 273AC_SUBST(MAKE_LIB) 274AC_SUBST(POST_MAKE_LIB) 275AC_SUBST(MAKE_DLL) 276AC_SUBST(MAKE_EXE) 277 278AC_SUBST(TK_LIB_FLAG) 279AC_SUBST(TK_LIB_SPEC) 280AC_SUBST(TK_BUILD_LIB_SPEC) 281AC_SUBST(TK_STUB_LIB_SPEC) 282AC_SUBST(TK_STUB_LIB_PATH) 283AC_SUBST(TK_BUILD_STUB_LIB_PATH) 284 285# undefined at this point for win 286AC_SUBST(TK_CC_SEARCH_FLAGS) 287AC_SUBST(TK_LD_SEARCH_FLAGS) 288 289AC_OUTPUT([Makefile tkConfig.sh wish.exe.manifest]) 290