summaryrefslogtreecommitdiff
path: root/itcl/itcl/configure.in
diff options
context:
space:
mode:
Diffstat (limited to 'itcl/itcl/configure.in')
-rw-r--r--itcl/itcl/configure.in409
1 files changed, 409 insertions, 0 deletions
diff --git a/itcl/itcl/configure.in b/itcl/itcl/configure.in
new file mode 100644
index 00000000000..c33a8ffa904
--- /dev/null
+++ b/itcl/itcl/configure.in
@@ -0,0 +1,409 @@
+#--------------------------------------------------------------------
+# Sample configure.in for Tcl Extensions. The only places you should
+# need to modify this file are marked by the string __CHANGE__
+#--------------------------------------------------------------------
+
+#--------------------------------------------------------------------
+# __CHANGE__
+# This very first macro is used to verify that the configure script can
+# find the sources. The argument to AC_INIT should be a unique filename
+# for this package, and can be a relative path, such as:
+#
+# AC_INIT(../generic/tcl.h)
+#--------------------------------------------------------------------
+
+AC_INIT(generic/itcl.h)
+# CYGNUS LOCAL
+AC_CONFIG_AUX_DIR(../..)
+# END CYGNUS LOCAL
+
+#--------------------------------------------------------------------
+# __CHANGE__
+# Set your package name and version numbers here. The NODOT_VERSION is
+# required for constructing the library name on systems that don't like
+# dots in library names (Windows). The VERSION variable is used on the
+# other systems.
+#--------------------------------------------------------------------
+
+PACKAGE=itcl
+
+MAJOR_VERSION=3
+MINOR_VERSION=2
+PATCHLEVEL=.0
+
+VERSION=${MAJOR_VERSION}.${MINOR_VERSION}
+NODOT_VERSION=${MAJOR_VERSION}${MINOR_VERSION}
+
+
+AC_SUBST(PACKAGE)
+AC_SUBST(VERSION)
+
+#--------------------------------------------------------------------
+# We put this here so that you can compile with -DVERSION="1.2" to
+# encode the package version directly into the source files.
+#--------------------------------------------------------------------
+
+eval AC_DEFINE_UNQUOTED(VERSION, "${VERSION}")
+
+#------------------------------------------------------------------------
+# Handle the --prefix=... option
+#------------------------------------------------------------------------
+
+if test "${prefix}" = "NONE"; then
+ prefix=/usr/local
+fi
+if test "${exec_prefix}" = "NONE"; then
+ exec_prefix=$prefix
+fi
+
+#--------------------------------------------------------------------
+# Check whether --enable-gcc or --disable-gcc was given. Do this
+# before AC_CYGWIN is called so the compiler can
+# be fully tested by built-in autoconf tools.
+# This macro also calls AC_PROG_CC to set the compiler if --enable-gcc
+# was not used.
+#--------------------------------------------------------------------
+
+# CYGNUS LOCAL
+dnl SC_ENABLE_GCC
+AC_PROG_CC
+# END CYGNUS LOCAL
+AC_PROG_INSTALL
+
+#--------------------------------------------------------------------
+# Checks to see if the make program sets the $MAKE variable.
+#--------------------------------------------------------------------
+
+AC_PROG_MAKE_SET
+
+#--------------------------------------------------------------------
+# Find ranlib
+#--------------------------------------------------------------------
+
+AC_PROG_RANLIB
+
+#--------------------------------------------------------------------
+# This macro performs additional compiler tests.
+#--------------------------------------------------------------------
+
+AC_CYGWIN
+
+#--------------------------------------------------------------------
+# Determines the correct binary file extension (.o, .obj, .exe etc.)
+#--------------------------------------------------------------------
+
+AC_OBJEXT
+AC_EXEEXT
+
+#--------------------------------------------------------------------
+# "cygpath" is used on windows to generate native path names for include
+# files.
+# These variables should only be used with the compiler and linker since
+# they generate native path names.
+#
+# Unix tclConfig.sh points SRC_DIR at the top-level directory of
+# the Tcl sources, while the Windows tclConfig.sh points SRC_DIR at
+# the win subdirectory. Hence the different usages of SRC_DIR below.
+#
+# This must be done before calling SC_PUBLIC_TCL_HEADERS
+#
+# RELPATH is used to locate binary extensions relative to the lib directory.
+# It is only needed if mkIndex.tcl can't generate an installed pkgIndex.tcl
+# file for you.
+#--------------------------------------------------------------------
+
+case "${host}" in
+ *mingw32* | *windows32*)
+ AC_CHECK_PROG(CYGPATH, cygpath, cygpath -w, echo)
+ RELPATH=".. .. bin"
+ ;;
+ *)
+ CYGPATH=echo
+ RELPATH=..
+ ;;
+esac
+
+AC_SUBST(CYGPATH)
+AC_SUBST(RELPATH)
+
+#--------------------------------------------------------------------
+# Includes for this package
+#--------------------------------------------------------------------
+
+# CYGNUS LOCAL
+srcdir=`cd ${srcdir} ; pwd`
+ITCL_SRC_DIR_NATIVE=`${CYGPATH} ${srcdir}`
+# END CYGNUS LOCAL
+ITCL_GENERIC_DIR_NATIVE=`${CYGPATH} ${srcdir}/generic`
+ITCL_WIN_DIR_NATIVE=`${CYGPATH} ${srcdir}/win`
+ITCL_UNIX_DIR_NATIVE=`${CYGPATH} ${srcdir}/unix`
+
+case "${host}" in
+ *cygwin* | *mingw32* | *windows32*)
+ ITCL_PLATFORM_DIR_NATIVE=${ITCL_WIN_DIR_NATIVE}
+ ;;
+ *)
+ ITCL_PLATFORM_DIR_NATIVE=${ITCL_UNIX_DIR_NATIVE}
+ ;;
+esac
+
+ITCL_INCLUDES="-I\"${ITCL_GENERIC_DIR_NATIVE}\" -I\"${ITCL_PLATFORM_DIR_NATIVE}\""
+
+AC_SUBST(ITCL_GENERIC_DIR_NATIVE)
+AC_SUBST(ITCL_WIN_DIR_NATIVE)
+AC_SUBST(ITCL_UNIX_DIR_NATIVE)
+AC_SUBST(ITCL_INCLUDES)
+
+#--------------------------------------------------------------------
+# Load the tclConfig.sh file
+#--------------------------------------------------------------------
+
+SC_PATH_TCLCONFIG
+SC_LOAD_TCLCONFIG
+
+#--------------------------------------------------------------------
+# __CHANGE__
+# Choose which headers you need. Extension authors should try very
+# hard to only rely on the Tcl public header files. Internal headers
+# contain private data structures and are subject to change without
+# notice.
+# This must be done AFTER calling SC_PATH_TCLCONFIG/SC_LOAD_TCLCONFIG
+# so that we can extract TCL_SRC_DIR from the config file (in the case
+# of private headers
+#--------------------------------------------------------------------
+
+#SC_PUBLIC_TCL_HEADERS
+SC_PRIVATE_TCL_HEADERS
+
+#--------------------------------------------------------------------
+# __CHANGE__
+# A few miscellaneous platform-specific items:
+#
+# Define a special symbol for Windows (BUILD_itcl in this case) so
+# that we create the export library with the dll. See sha1.h on how
+# to use this.
+#
+# Windows creates a few extra files that need to be cleaned up.
+# You can add more files to clean if your extension creates any extra
+# files.
+#
+# Define any extra compiler flags in the PACKAGE_CFLAGS variable.
+# These will be appended to the current set of compiler flags for
+# your system.
+#--------------------------------------------------------------------
+
+case "${host}" in
+ *cygwin*| *mingw32* | *windows32*)
+ AC_DEFINE(BUILD_itcl)
+ CLEANFILES="*.lib *.dll *.exp *.ilk *.pdb vc50.pch"
+ PLATFORM_SOURCES='$(WIN_SOURCES)'
+ PLATFORM_OBJECTS='$(WIN_OBJECTS)'
+ PLATFORM_DIR='$(WIN_DIR)'
+ ;;
+ *)
+ CLEANFILES=
+ PLATFORM_SOURCES='$(UNIX_SOURCES)'
+ PLATFORM_OBJECTS='$(UNIX_OBJECTS)'
+ PLATFORM_DIR='$(UNIX_DIR)'
+ ;;
+esac
+
+AC_SUBST(CLEANFILES)
+AC_SUBST(PLATFORM_SOURCES)
+AC_SUBST(PLATFORM_OBJECTS)
+AC_SUBST(PLATFORM_DIR)
+
+#--------------------------------------------------------------------
+# Check whether --enable-threads or --disable-threads was given.
+# So far only Tcl responds to this one.
+#--------------------------------------------------------------------
+
+SC_ENABLE_THREADS
+
+#--------------------------------------------------------------------
+# The statement below defines a collection of symbols related to
+# building as a shared library instead of a static library.
+#--------------------------------------------------------------------
+
+SC_ENABLE_SHARED
+
+#--------------------------------------------------------------------
+# This macro figures out what flags to use with the compiler/linker
+# when building shared/static debug/optimized objects. This information
+# is all taken from the tclConfig.sh file.
+#--------------------------------------------------------------------
+
+CFLAGS_DEBUG=${TCL_CFLAGS_DEBUG}
+CFLAGS_OPTIMIZE=${TCL_CFLAGS_OPTIMIZE}
+LDFLAGS_DEBUG=${TCL_LDFLAGS_DEBUG}
+LDFLAGS_OPTIMIZE=${TCL_LDFLAGS_OPTIMIZE}
+SHLIB_LD=${TCL_SHLIB_LD}
+STLIB_LD=${TCL_STLIB_LD}
+SHLIB_CFLAGS=${TCL_SHLIB_CFLAGS}
+
+AC_SUBST(CFLAGS_DEBUG)
+AC_SUBST(CFLAGS_OPTIMIZE)
+AC_SUBST(STLIB_LD)
+AC_SUBST(SHLIB_LD)
+AC_SUBST(SHLIB_CFLAGS)
+AC_SUBST(SHLIB_LDFLAGS)
+
+#--------------------------------------------------------------------
+# Set the default compiler switches based on the --enable-symbols
+# option.
+#--------------------------------------------------------------------
+
+SC_ENABLE_SYMBOLS
+
+if test "${SHARED_BUILD}" = "1" ; then
+ CFLAGS='${CFLAGS_DEFAULT} ${CFLAGS_WARNING} ${SHLIB_CFLAGS}'
+else
+ CFLAGS='${CFLAGS_DEFAULT} ${CFLAGS_WARNING}'
+fi
+
+#--------------------------------------------------------------------
+# Everyone should be linking against the Tcl stub library. If you
+# can't for some reason, remove this definition. If you aren't using
+# stubs, you also need to modify the SHLIB_LD_LIBS setting below to
+# link against the non-stubbed Tcl library.
+#--------------------------------------------------------------------
+
+if test "${SHARED_BUILD}" = "1" ; then
+ AC_DEFINE(USE_TCL_STUBS)
+fi
+
+#--------------------------------------------------------------------
+# This macro generates a line to use when building a library. It
+# depends on values set by the SC_ENABLE_SHARED, SC_ENABLE_SYMBOLS,
+# and SC_LOAD_TCLCONFIG macros above.
+#--------------------------------------------------------------------
+
+SC_MAKE_LIB
+
+#--------------------------------------------------------------------
+# eval these two values to dereference the ${DBGX} variable.
+#--------------------------------------------------------------------
+
+eval "SHARED_LIB_SUFFIX=${TCL_SHARED_LIB_SUFFIX}"
+eval "UNSHARED_LIB_SUFFIX=${TCL_UNSHARED_LIB_SUFFIX}"
+
+#--------------------------------------------------------------------
+# Shared libraries and static libraries have different names.
+#--------------------------------------------------------------------
+
+# CYGNUS LOCAL
+
+if test "${SHARED_BUILD}" = "1" ; then
+ # FIXME: Need to devise a TCL_TOOL macro to deal with this!
+ case "${host}" in
+ *cygwin* | *mingw32* | *windows32*)
+ SHLIB_LD_LIBS="${TCL_BUILD_STUB_LIB_SPEC} ${TCL_SHLIB_LD_LIBS}"
+ # Need to link to the .a or .lib not the .dll!
+ TCL_TOOL_SHARED_LIB_LONGNAME(ITCL_SHLIB_FILE, ${PACKAGE}, ${SHARED_LIB_SUFFIX})
+ TCL_TOOL_STATIC_LIB_LONGNAME(ITCL_LIB_FILE, ${PACKAGE}, ${UNSHARED_LIB_SUFFIX})
+ ITCL_TARGET_FILE=${ITCL_SHLIB_FILE}
+ ;;
+ *)
+ SHLIB_LD_LIBS="${TCL_BUILD_LIB_SPEC}"
+ TCL_TOOL_SHARED_LIB_LONGNAME(ITCL_LIB_FILE, ${PACKAGE}, ${SHARED_LIB_SUFFIX})
+ ITCL_TARGET_FILE=${ITCL_LIB_FILE}
+ ;;
+ esac
+else
+ TCL_TOOL_STATIC_LIB_LONGNAME(ITCL_LIB_FILE, ${PACKAGE}, ${UNSHARED_LIB_SUFFIX})
+ ITCL_TARGET_FILE=${ITCL_LIB_FILE}
+fi
+
+TCL_TOOL_STATIC_LIB_LONGNAME(ITCL_STUB_LIB_FILE, ${PACKAGE}stub, ${UNSHARED_LIB_SUFFIX})
+
+AC_SUBST(ITCL_LIB_FILE)
+AC_SUBST(ITCL_STUB_LIB_FILE)
+
+TCL_TOOL_LIB_SHORTNAME(ITCL_LIB_FLAG, ${PACKAGE}, ${VERSION})
+TCL_TOOL_LIB_SHORTNAME(ITCL_STUB_LIB_FLAG, ${PACKAGE}stub, ${VERSION})
+
+TCL_TOOL_LIB_SPEC(ITCL_BUILD_LIB_SPEC, `pwd`, ${ITCL_LIB_FLAG})
+TCL_TOOL_LIB_SPEC(ITCL_BUILD_STUB_LIB_SPEC, `pwd`, ${ITCL_STUB_LIB_FLAG})
+AC_SUBST(ITCL_BUILD_LIB_SPEC)
+AC_SUBST(ITCL_BUILD_STUB_LIB_SPEC)
+
+TCL_TOOL_LIB_SPEC(ITCL_LIB_SPEC, ${exec_prefix}/lib, ${ITCL_LIB_FLAG})
+TCL_TOOL_LIB_SPEC(ITCL_STUB_LIB_SPEC, ${exec_prefix}/lib, ${ITCL_STUB_LIB_FLAG})
+AC_SUBST(ITCL_LIB_SPEC)
+AC_SUBST(ITCL_STUB_LIB_SPEC)
+
+TCL_TOOL_LIB_PATH(ITCL_LIB_FULL_PATH, `pwd`, ${ITCL_LIB_FILE})
+TCL_TOOL_LIB_PATH(ITCL_STUB_LIB_FULL_PATH, `pwd`, ${ITCL_STUB_LIB_FILE})
+AC_SUBST(ITCL_LIB_FULL_PATH)
+AC_SUBST(ITCL_STUB_LIB_FULL_PATH)
+
+itclstub_LIB_FILE=${ITCL_STUB_LIB_FILE}
+itcl_LIB_FILE=${ITCL_TARGET_FILE}
+
+# END CYGNUS LOCAL
+
+#--------------------------------------------------------------------
+# __CHANGE__
+# Change the name from exampeA_LIB_FILE to match your package name.
+# Use the stub_LIB_FILE substitution if your package creates a stub
+# library.
+#--------------------------------------------------------------------
+
+AC_SUBST(itclstub_LIB_FILE)
+AC_SUBST(itcl_LIB_FILE)
+AC_SUBST(SHLIB_LD_LIBS)
+
+#--------------------------------------------------------------------
+# Cache the stub library name so that the itk configure script can pick
+# it up.
+#--------------------------------------------------------------------
+
+AC_CACHE_VAL(ac_cv_itclstub_LIB_FILE, ac_cv_itclstub_LIB_FILE=${itclstub_LIB_FILE})
+
+#--------------------------------------------------------------------
+# Find tclsh so that we can run pkg_mkIndex to generate the pkgIndex.tcl
+# file during the install process. Don't run the TCLSH_PROG through
+# ${CYGPATH} because it's being used directly by make.
+# Require that we use a tclsh shell version 8.2 or later since earlier
+# versions have bugs in the pkg_mkIndex routine.
+#--------------------------------------------------------------------
+
+# CYGNUS LOCAL
+# A Tcl shell is not available when bootstrapping!
+dnl SC_PROG_TCLSH
+# END CYGNUS LOCAL
+
+#--------------------------------------------------------------------
+# Finally, substitute all of the various values into the Makefile.
+#--------------------------------------------------------------------
+
+# CYGNUS LOCAL
+
+# Note: The itclConfig.sh file below is not included in the net release.
+# We subst these variables to retain compatibility with the previous
+# version of itclConfig.sh.
+
+ITCL_VERSION=${VERSION}
+AC_SUBST(ITCL_VERSION)
+
+ITCL_MAJOR_VERSION=${MAJOR_VERSION}
+AC_SUBST(ITCL_MAJOR_VERSION)
+
+ITCL_MINOR_VERSION=${MINOR_VERSION}
+AC_SUBST(ITCL_MINOR_VERSION)
+
+ITCL_RELEASE_LEVEL=${PATCHLEVEL}
+AC_SUBST(ITCL_RELEASE_LEVEL)
+
+ITCL_SRC_DIR=${ITCL_SRC_DIR_NATIVE}
+AC_SUBST(ITCL_SRC_DIR)
+
+ITCL_SH=NONE
+AC_SUBST(ITCL_SH)
+
+
+AC_OUTPUT([Makefile \
+ itclConfig.sh \
+ pkgIndex.tcl])
+
+# END CYGNUS LOCAL