dnl This file is an input file used by the GNU "autoconf" program to
|
dnl This file is an input file used by the GNU "autoconf" program to
|
dnl generate the file "configure", which is run during [incr Tcl]
|
dnl generate the file "configure", which is run during [incr Tcl]
|
dnl installation to configure the system for the local environment.
|
dnl installation to configure the system for the local environment.
|
|
|
AC_INIT(../generic/itcl.h)
|
AC_INIT(../generic/itcl.h)
|
# RCS: $Id: configure.in,v 1.1.1.1 2002-01-16 10:24:47 markom Exp $
|
# RCS: $Id: configure.in,v 1.1.1.1 2002-01-16 10:24:47 markom Exp $
|
|
|
ITCL_VERSION=3.0
|
ITCL_VERSION=3.0
|
ITCL_MAJOR_VERSION=3
|
ITCL_MAJOR_VERSION=3
|
ITCL_MINOR_VERSION=0
|
ITCL_MINOR_VERSION=0
|
ITCL_RELEASE_LEVEL=0
|
ITCL_RELEASE_LEVEL=0
|
VERSION=${ITCL_VERSION}
|
VERSION=${ITCL_VERSION}
|
|
|
AC_CONFIG_AUX_DIR(../../config)
|
AC_CONFIG_AUX_DIR(../../config)
|
AC_PREREQ(2.0)
|
AC_PREREQ(2.0)
|
|
|
# -----------------------------------------------------------------------
|
# -----------------------------------------------------------------------
|
# Set up a new default --prefix. If a previous installation of
|
# Set up a new default --prefix. If a previous installation of
|
# [incr Tcl] can be found searching $PATH use that directory.
|
# [incr Tcl] can be found searching $PATH use that directory.
|
# -----------------------------------------------------------------------
|
# -----------------------------------------------------------------------
|
|
|
AC_PREFIX_DEFAULT(/usr/local)
|
AC_PREFIX_DEFAULT(/usr/local)
|
AC_PREFIX_PROGRAM(tclsh)
|
AC_PREFIX_PROGRAM(tclsh)
|
|
|
if test "${prefix}" = "NONE"; then
|
if test "${prefix}" = "NONE"; then
|
prefix=/usr/local
|
prefix=/usr/local
|
fi
|
fi
|
if test "${exec_prefix}" = "NONE"; then
|
if test "${exec_prefix}" = "NONE"; then
|
exec_prefix=$prefix
|
exec_prefix=$prefix
|
fi
|
fi
|
|
|
AC_PROG_INSTALL
|
AC_PROG_INSTALL
|
AC_PROG_RANLIB
|
AC_PROG_RANLIB
|
|
|
# -----------------------------------------------------------------------
|
# -----------------------------------------------------------------------
|
BUILD_DIR=`pwd`
|
BUILD_DIR=`pwd`
|
ITCL_SRC_DIR=`cd $srcdir/..; pwd`
|
ITCL_SRC_DIR=`cd $srcdir/..; pwd`
|
cd ${BUILD_DIR}
|
cd ${BUILD_DIR}
|
|
|
dnl CYGNUS LOCAL: allow gcc without a special flag
|
dnl CYGNUS LOCAL: allow gcc without a special flag
|
dnl AC_ARG_ENABLE(gcc, [ --enable-gcc allow use of gcc if available],
|
dnl AC_ARG_ENABLE(gcc, [ --enable-gcc allow use of gcc if available],
|
dnl [itcl_ok=$enableval], [itcl_ok=no])
|
dnl [itcl_ok=$enableval], [itcl_ok=no])
|
dnl if test "$itcl_ok" = "yes"; then
|
dnl if test "$itcl_ok" = "yes"; then
|
AC_PROG_CC
|
AC_PROG_CC
|
dnl else
|
dnl else
|
dnl CC=${CC-cc}
|
dnl CC=${CC-cc}
|
dnl AC_SUBST(CC)
|
dnl AC_SUBST(CC)
|
dnl fi
|
dnl fi
|
dnl END CYGNUS LOCAL
|
dnl END CYGNUS LOCAL
|
|
|
#--------------------------------------------------------------------
|
#--------------------------------------------------------------------
|
# See if there was a command-line option for where Tcl is; if
|
# 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.
|
# not, assume that its top-level directory is a sibling of ours.
|
# CYGNUS LOCAL - Actually, tcl is one level higher - a sibling of the
|
# CYGNUS LOCAL - Actually, tcl is one level higher - a sibling of the
|
# itcl directory that contains itcl proper, itk & iwidgets.
|
# itcl directory that contains itcl proper, itk & iwidgets.
|
#--------------------------------------------------------------------
|
#--------------------------------------------------------------------
|
|
|
dnl CYGNUS LOCAL: We just call the Tcl directory "tcl", not "tcl8.0"
|
dnl CYGNUS LOCAL: We just call the Tcl directory "tcl", not "tcl8.0"
|
AC_ARG_WITH(tcl, [ --with-tcl=DIR use Tcl 8.0 binaries from DIR],
|
AC_ARG_WITH(tcl, [ --with-tcl=DIR use Tcl 8.0 binaries from DIR],
|
itcl_search=$withval, itcl_search=`cd ../../..; ls -d \`pwd\`/tcl*/unix`)
|
itcl_search=$withval, itcl_search=`cd ../../..; ls -d \`pwd\`/tcl*/unix`)
|
dnl END CYGNUS LOCAL
|
dnl END CYGNUS LOCAL
|
|
|
TCL_LIB_DIR=""
|
TCL_LIB_DIR=""
|
dnl CYGNUS LOCAL: Look in the local tree FIRST, not the install directory...
|
dnl CYGNUS LOCAL: Look in the local tree FIRST, not the install directory...
|
for dir in $itcl_search $exec_prefix/lib ; do
|
for dir in $itcl_search $exec_prefix/lib ; do
|
if test -r $dir/tclConfig.sh; then
|
if test -r $dir/tclConfig.sh; then
|
TCL_LIB_DIR=$dir
|
TCL_LIB_DIR=$dir
|
break
|
break
|
fi
|
fi
|
done
|
done
|
|
|
if test -z "$TCL_LIB_DIR"; then
|
if test -z "$TCL_LIB_DIR"; then
|
AC_MSG_ERROR(Can't find Tcl libraries. Use --with-tcl to specify the directory containing tclConfig.sh on your system.)
|
AC_MSG_ERROR(Can't find Tcl libraries. Use --with-tcl to specify the directory containing tclConfig.sh on your system.)
|
fi
|
fi
|
|
|
#--------------------------------------------------------------------
|
#--------------------------------------------------------------------
|
# Read in configuration information generated by Tcl for shared
|
# Read in configuration information generated by Tcl for shared
|
# libraries, and arrange for it to be substituted into our
|
# libraries, and arrange for it to be substituted into our
|
# Makefile.
|
# Makefile.
|
#--------------------------------------------------------------------
|
#--------------------------------------------------------------------
|
|
|
file=$TCL_LIB_DIR/tclConfig.sh
|
file=$TCL_LIB_DIR/tclConfig.sh
|
. $file
|
. $file
|
CFLAGS=$TCL_CFLAGS
|
CFLAGS=$TCL_CFLAGS
|
SHLIB_CFLAGS=$TCL_SHLIB_CFLAGS
|
SHLIB_CFLAGS=$TCL_SHLIB_CFLAGS
|
SHLIB_LD=$TCL_SHLIB_LD
|
SHLIB_LD=$TCL_SHLIB_LD
|
SHLIB_LD_LIBS=$TCL_SHLIB_LD_LIBS
|
SHLIB_LD_LIBS=$TCL_SHLIB_LD_LIBS
|
SHLIB_SUFFIX=$TCL_SHLIB_SUFFIX
|
SHLIB_SUFFIX=$TCL_SHLIB_SUFFIX
|
DL_LIBS=$TCL_DL_LIBS
|
DL_LIBS=$TCL_DL_LIBS
|
LD_FLAGS=$TCL_LD_FLAGS
|
LD_FLAGS=$TCL_LD_FLAGS
|
LD_SEARCH_FLAGS=$TCL_LD_SEARCH_FLAGS
|
LD_SEARCH_FLAGS=$TCL_LD_SEARCH_FLAGS
|
|
|
#--------------------------------------------------------------------
|
#--------------------------------------------------------------------
|
# Make sure that we can find the Tcl sources, so we can include
|
# Make sure that we can find the Tcl sources, so we can include
|
# the "tclInt.h" file.
|
# the "tclInt.h" file.
|
#--------------------------------------------------------------------
|
#--------------------------------------------------------------------
|
|
|
if test ! -d "$TCL_SRC_DIR"; then
|
if test ! -d "$TCL_SRC_DIR"; then
|
AC_MSG_ERROR(Can't find Tcl source directory "$TCL_SRC_DIR". Itcl can't be built without this directory.)
|
AC_MSG_ERROR(Can't find Tcl source directory "$TCL_SRC_DIR". Itcl can't be built without this directory.)
|
fi
|
fi
|
|
|
#--------------------------------------------------------------------
|
#--------------------------------------------------------------------
|
# If this is gcc, add some extra compile flags.
|
# If this is gcc, add some extra compile flags.
|
#--------------------------------------------------------------------
|
#--------------------------------------------------------------------
|
|
|
AC_MSG_CHECKING([whether C compiler is gcc])
|
AC_MSG_CHECKING([whether C compiler is gcc])
|
AC_CACHE_VAL(itcl_cv_prog_gcc, [
|
AC_CACHE_VAL(itcl_cv_prog_gcc, [
|
AC_EGREP_CPP(_cc_is_gcc_, [
|
AC_EGREP_CPP(_cc_is_gcc_, [
|
#ifdef __GNUC__
|
#ifdef __GNUC__
|
_cc_is_gcc_
|
_cc_is_gcc_
|
#endif
|
#endif
|
], [itcl_cv_prog_gcc=yes], [itcl_cv_prog_gcc=no])])
|
], [itcl_cv_prog_gcc=yes], [itcl_cv_prog_gcc=no])])
|
AC_MSG_RESULT([$itcl_cv_prog_gcc])
|
AC_MSG_RESULT([$itcl_cv_prog_gcc])
|
|
|
# CYGNUS LOCAL - CFLAGS for gcc should include -g -O2
|
# CYGNUS LOCAL - CFLAGS for gcc should include -g -O2
|
if test -z "$CFLAGS" ; then
|
if test -z "$CFLAGS" ; then
|
if test "$itcl_cv_prog_gcc" = "yes" ; then
|
if test "$itcl_cv_prog_gcc" = "yes" ; then
|
CFLAGS="-g -O2"
|
CFLAGS="-g -O2"
|
else
|
else
|
CFLAGS="-O"
|
CFLAGS="-O"
|
fi
|
fi
|
fi
|
fi
|
# CYGNUS LOCAL - use -fwritable-strings with gcc, needed for Tcl8.1
|
# CYGNUS LOCAL - use -fwritable-strings with gcc, needed for Tcl8.1
|
if test "$itcl_cv_prog_gcc" = "yes" ; then
|
if test "$itcl_cv_prog_gcc" = "yes" ; then
|
CFLAGS="$CFLAGS -fwritable-strings -Wshadow -Wtraditional -Wall"
|
CFLAGS="$CFLAGS -fwritable-strings -Wshadow -Wtraditional -Wall"
|
fi
|
fi
|
|
|
AC_MSG_CHECKING([default compiler flags])
|
AC_MSG_CHECKING([default compiler flags])
|
AC_ARG_WITH(cflags, [ --with-cflags=FLAGS set compiler flags to FLAGS],
|
AC_ARG_WITH(cflags, [ --with-cflags=FLAGS set compiler flags to FLAGS],
|
[CFLAGS="$with_cflags"])
|
[CFLAGS="$with_cflags"])
|
|
|
AC_MSG_RESULT([$CFLAGS])
|
AC_MSG_RESULT([$CFLAGS])
|
|
|
if test "$TCL_CC" != "$CC" ; then
|
if test "$TCL_CC" != "$CC" ; then
|
echo ""
|
echo ""
|
echo "WARNING: Compiler is $CC but Tcl was compiled with $TCL_CC"
|
echo "WARNING: Compiler is $CC but Tcl was compiled with $TCL_CC"
|
echo ""
|
echo ""
|
fi
|
fi
|
|
|
#--------------------------------------------------------------------
|
#--------------------------------------------------------------------
|
# The statements below define a collection of symbols related to
|
# The statements below define a collection of symbols related to
|
# building libitcl as a shared library instead of a static library.
|
# building libitcl as a shared library instead of a static library.
|
#--------------------------------------------------------------------
|
#--------------------------------------------------------------------
|
|
|
AC_ARG_ENABLE(shared,
|
AC_ARG_ENABLE(shared,
|
[ --enable-shared build libitcl as a shared library],
|
[ --enable-shared build libitcl as a shared library],
|
[ok=$enableval], [ok=no])
|
[ok=$enableval], [ok=no])
|
if test "$ok" = "yes"; then
|
if test "$ok" = "yes"; then
|
if test ${TCL_SHARED_BUILD} = 0; then
|
if test ${TCL_SHARED_BUILD} = 0; then
|
AC_MSG_ERROR(Tcl was not built with --enable-shared, so you can't use shared libraries.)
|
AC_MSG_ERROR(Tcl was not built with --enable-shared, so you can't use shared libraries.)
|
fi
|
fi
|
SHLIB_CFLAGS="${SHLIB_CFLAGS}"
|
SHLIB_CFLAGS="${SHLIB_CFLAGS}"
|
eval "ITCL_LIB_FILE=libitcl${VERSION}${SHLIB_SUFFIX}"
|
eval "ITCL_LIB_FILE=libitcl${VERSION}${SHLIB_SUFFIX}"
|
ITCL_PKG_FILE="[[file join [file dirname \$dir] ${ITCL_LIB_FILE}]]"
|
ITCL_PKG_FILE="[[file join [file dirname \$dir] ${ITCL_LIB_FILE}]]"
|
MAKE_LIB="\$(SHLIB_LD) -o ${ITCL_LIB_FILE} \$(OBJS) ${SHLIB_LD_LIBS} "
|
MAKE_LIB="\$(SHLIB_LD) -o ${ITCL_LIB_FILE} \$(OBJS) ${SHLIB_LD_LIBS} "
|
RANLIB=":"
|
RANLIB=":"
|
else
|
else
|
SHLIB_CFLAGS=""
|
SHLIB_CFLAGS=""
|
# CYGNUS LOCAL - Strip dots from library name for SunOS4, etc...
|
# CYGNUS LOCAL - Strip dots from library name for SunOS4, etc...
|
if test ${TCL_LIB_VERSIONS_OK} = "nodots"; then
|
if test ${TCL_LIB_VERSIONS_OK} = "nodots"; then
|
ITCL_LIB_FILE="libitcl`echo ${VERSION} | tr -d .`.a"
|
ITCL_LIB_FILE="libitcl`echo ${VERSION} | tr -d .`.a"
|
else
|
else
|
eval "ITCL_LIB_FILE=libitcl${VERSION}.a"
|
eval "ITCL_LIB_FILE=libitcl${VERSION}.a"
|
fi
|
fi
|
ITCL_PKG_FILE=""
|
ITCL_PKG_FILE=""
|
MAKE_LIB="ar cr ${ITCL_LIB_FILE} \${OBJS}"
|
MAKE_LIB="ar cr ${ITCL_LIB_FILE} \${OBJS}"
|
fi
|
fi
|
|
|
ITCL_SH="`pwd`/itclsh"
|
ITCL_SH="`pwd`/itclsh"
|
|
|
# Note: in the following variable, it's important to use the absolute
|
# Note: in the following variable, it's important to use the absolute
|
# path name of the Tcl directory rather than "..": this is because
|
# path name of the Tcl directory rather than "..": this is because
|
# AIX remembers this path and will attempt to use it at run-time to look
|
# AIX remembers this path and will attempt to use it at run-time to look
|
# up the Tcl library.
|
# up the Tcl library.
|
|
|
if test "${TCL_LIB_VERSIONS_OK}" = "ok"; then
|
if test "${TCL_LIB_VERSIONS_OK}" = "ok"; then
|
ITCL_BUILD_LIB_SPEC="-L`pwd` -litcl${VERSION}"
|
ITCL_BUILD_LIB_SPEC="-L`pwd` -litcl${VERSION}"
|
ITCL_LIB_SPEC="-L${exec_prefix}/lib -litcl${VERSION}"
|
ITCL_LIB_SPEC="-L${exec_prefix}/lib -litcl${VERSION}"
|
else
|
else
|
ITCL_BUILD_LIB_SPEC="-L`pwd` -litcl`echo ${VERSION} | tr -d .`"
|
ITCL_BUILD_LIB_SPEC="-L`pwd` -litcl`echo ${VERSION} | tr -d .`"
|
ITCL_LIB_SPEC="-L${exec_prefix}/lib -litcl`echo ${VERSION} | tr -d .`"
|
ITCL_LIB_SPEC="-L${exec_prefix}/lib -litcl`echo ${VERSION} | tr -d .`"
|
fi
|
fi
|
|
|
ITCL_LIB_FULL_PATH="`pwd`/${ITCL_LIB_FILE}"
|
ITCL_LIB_FULL_PATH="`pwd`/${ITCL_LIB_FILE}"
|
|
|
AC_SUBST(CFLAGS)
|
AC_SUBST(CFLAGS)
|
AC_SUBST(DL_LIBS)
|
AC_SUBST(DL_LIBS)
|
AC_SUBST(LD_FLAGS)
|
AC_SUBST(LD_FLAGS)
|
AC_SUBST(MAKE_LIB)
|
AC_SUBST(MAKE_LIB)
|
AC_SUBST(SHLIB_CFLAGS)
|
AC_SUBST(SHLIB_CFLAGS)
|
AC_SUBST(SHLIB_LD)
|
AC_SUBST(SHLIB_LD)
|
AC_SUBST(SHLIB_LD_LIBS)
|
AC_SUBST(SHLIB_LD_LIBS)
|
AC_SUBST(SHLIB_SUFFIX)
|
AC_SUBST(SHLIB_SUFFIX)
|
AC_SUBST(LD_SEARCH_FLAGS)
|
AC_SUBST(LD_SEARCH_FLAGS)
|
|
|
AC_SUBST(TCL_VERSION)
|
AC_SUBST(TCL_VERSION)
|
AC_SUBST(TCL_SRC_DIR)
|
AC_SUBST(TCL_SRC_DIR)
|
AC_SUBST(TCL_LIB_DIR)
|
AC_SUBST(TCL_LIB_DIR)
|
AC_SUBST(TCL_LIB_SPEC)
|
AC_SUBST(TCL_LIB_SPEC)
|
AC_SUBST(TCL_BUILD_LIB_SPEC)
|
AC_SUBST(TCL_BUILD_LIB_SPEC)
|
AC_SUBST(TCL_LIB_FLAG)
|
AC_SUBST(TCL_LIB_FLAG)
|
AC_SUBST(TCL_DBGX)
|
AC_SUBST(TCL_DBGX)
|
AC_SUBST(TCL_DEFS)
|
AC_SUBST(TCL_DEFS)
|
AC_SUBST(TCL_LIBS)
|
AC_SUBST(TCL_LIBS)
|
AC_SUBST(TCL_SHLIB_LD_LIBS)
|
AC_SUBST(TCL_SHLIB_LD_LIBS)
|
AC_SUBST(TCL_SHLIB_SUFFIX)
|
AC_SUBST(TCL_SHLIB_SUFFIX)
|
AC_SUBST(TCL_COMPAT_OBJS)
|
AC_SUBST(TCL_COMPAT_OBJS)
|
AC_SUBST(TCL_CFLAGS)
|
AC_SUBST(TCL_CFLAGS)
|
AC_SUBST(TCL_LIB_FULL_PATH)
|
AC_SUBST(TCL_LIB_FULL_PATH)
|
|
|
AC_SUBST(ITCL_VERSION)
|
AC_SUBST(ITCL_VERSION)
|
AC_SUBST(ITCL_MAJOR_VERSION)
|
AC_SUBST(ITCL_MAJOR_VERSION)
|
AC_SUBST(ITCL_MINOR_VERSION)
|
AC_SUBST(ITCL_MINOR_VERSION)
|
AC_SUBST(ITCL_RELEASE_LEVEL)
|
AC_SUBST(ITCL_RELEASE_LEVEL)
|
|
|
AC_SUBST(ITCL_BUILD_LIB_SPEC)
|
AC_SUBST(ITCL_BUILD_LIB_SPEC)
|
AC_SUBST(ITCL_LIB_FILE)
|
AC_SUBST(ITCL_LIB_FILE)
|
AC_SUBST(ITCL_LIB_SPEC)
|
AC_SUBST(ITCL_LIB_SPEC)
|
AC_SUBST(ITCL_PKG_FILE)
|
AC_SUBST(ITCL_PKG_FILE)
|
AC_SUBST(ITCL_SRC_DIR)
|
AC_SUBST(ITCL_SRC_DIR)
|
AC_SUBST(ITCL_SH)
|
AC_SUBST(ITCL_SH)
|
AC_SUBST(ITCL_LIB_FULL_PATH)
|
AC_SUBST(ITCL_LIB_FULL_PATH)
|
|
|
AC_OUTPUT(Makefile pkgIndex.tcl ../itclConfig.sh)
|
AC_OUTPUT(Makefile pkgIndex.tcl ../itclConfig.sh)
|
|
|