#!/bin/bash -norc
#--------------------------------------------------------------------
# Sample configure.in for Tcl Extensions. The only places you should
# need to modify this file are marked by the string __CHANGE__
#--------------------------------------------------------------------
#-----------------------------------------------------------------------
# This initializes the environment with PACKAGE_NAME and PACKAGE_VERSION
# set as provided. These will also be added as -D defs in your Makefile
# so you can encode the package version directly into the source files.
#-----------------------------------------------------------------------
AC_INIT([tclgeomap], [2.11.4])
#--------------------------------------------------------------------
# Call TEA_INIT as the first TEA_ macro to set up initial vars.
# This will define a ${TEA_PLATFORM} variable == "unix" or "windows"
# as well as PKG_LIB_FILE and PKG_STUB_LIB_FILE.
#--------------------------------------------------------------------
TEA_INIT([3.2])
AC_PROG_LN_S
#--------------------------------------------------------------------
# Load the tclConfig.sh file
#--------------------------------------------------------------------
TEA_PATH_TCLCONFIG
TEA_LOAD_TCLCONFIG
#-----------------------------------------------------------------------
# Handle the --prefix=... option by defaulting to what Tcl gave.
# Must be called after TEA_LOAD_TCLCONFIG and before TEA_SETUP_COMPILER.
#-----------------------------------------------------------------------
TEA_PREFIX
#-----------------------------------------------------------------------
# Standard compiler checks.
# This sets up CC by using the CC env var, or looks for gcc otherwise.
# This also calls AC_PROG_CC, AC_PROG_INSTALL and a few others to create
# the basic setup necessary to compile executables.
#-----------------------------------------------------------------------
TEA_SETUP_COMPILER
#-----------------------------------------------------------------------
# __CHANGE__
# Specify the C source files to compile in TEA_ADD_SOURCES,
# public headers that need to be installed in TEA_ADD_HEADERS,
# stub library C source files to compile in TEA_ADD_STUB_SOURCES,
# and runtime Tcl library files in TEA_ADD_TCL_SOURCES.
# This defines PKG(_STUB)_SOURCES, PKG(_STUB)_OBJECTS, PKG_HEADERS
# and PKG_TCL_SOURCES.
#-----------------------------------------------------------------------
TEA_ADD_SOURCES([../tcl/tclgeomapTime.c
../tcl/tclAppInit.c
../tcl/tclgeomap.c
../tcl/tclgeomapLnArr.c
../tcl/tclgeomapPlace.c
../tcl/tclgeomapProj.c
../generic/geoLines.c
../generic/geoLnArrToMap.c
../generic/geoProj.c
../generic/geography.c
../generic/mapLines.c
../generic/geoTime.c])
TEA_ADD_HEADERS([../tcl/tclgeomap.h
../tcl/tclgeomapInt.h
../generic/geoLines.h
../generic/geoLnArrToMap.h
../generic/geoProj.h
../generic/geography.h
../generic/mapLines.h])
TEA_ADD_INCLUDES([-I\"`${CYGPATH} ${srcdir}/generic`\"])
TEA_ADD_LIBS([])
TEA_ADD_CFLAGS([])
TEA_ADD_TCL_SOURCES([../library/tclgeomap_procs.tcl])
#--------------------------------------------------------------------
# __CHANGE__
# A few miscellaneous platform-specific items:
#
# Define a special symbol for Windows (BUILD_tclgeomap 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.
#--------------------------------------------------------------------
PACKAGE_CFLAGS=
AC_SUBST(PACKAGE_CFLAGS)
if test "${TEA_PLATFORM}" = "windows" ; then
AC_DEFINE(BUILD_tclgeomap)
CLEANFILES="*.lib *.dll *.exp *.ilk *.pdb vc*.pch"
TEA_ADD_SOURCES([dllEntryPoint.c])
else
CLEANFILES=
fi
AC_SUBST(CLEANFILES)
#--------------------------------------------------------------------
# __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 TEA_PATH_TCLCONFIG/TEA_LOAD_TCLCONFIG
# so that we can extract TCL_SRC_DIR from the config file (in the case
# of private headers
#--------------------------------------------------------------------
TEA_PUBLIC_TCL_HEADERS
#TEA_PRIVATE_TCL_HEADERS
#--------------------------------------------------------------------
# We need to enable the threading macros found in tcl.h and tclInt.h.
# The use of the threading features is determined by the core the
# extension is loaded into, but we need to compile with these macros
# turned on.
#--------------------------------------------------------------------
AC_DEFINE(TCL_THREADS)
#--------------------------------------------------------------------
# Check whether --enable-threads or --disable-threads was given.
# This auto-enables if Tcl was compiled threaded.
#--------------------------------------------------------------------
#TEA_ENABLE_THREADS
#--------------------------------------------------------------------
# The statement below defines a collection of symbols related to
# building as a shared library instead of a static library.
#--------------------------------------------------------------------
TEA_ENABLE_SHARED
if test "`uname -s`" = "Darwin" ; then
TCL_SHLIB_LD_EXTRAS="-compatibility_version ${PACKAGE_VERSION} -current_version ${PACKAGE_VERSION}"
TCL_SHLIB_LD_EXTRAS="${TCL_SHLIB_LD_EXTRAS}"' -install_name ${DYLIB_INSTALL_DIR}/${tclgeomap_LIB_FILE} -seg1addr 0xa000000'
fi
#--------------------------------------------------------------------
# This macro figures out what flags to use with the compiler/linker
# when building shared/static debug/optimized objects. This information
# can be taken from the tclConfig.sh file, but this figures it all out.
#--------------------------------------------------------------------
TEA_CONFIG_CFLAGS
#--------------------------------------------------------------------
# Set the default compiler switches based on the --enable-symbols
# option.
#--------------------------------------------------------------------
TEA_ENABLE_SYMBOLS
#--------------------------------------------------------------------
# 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 TEA_ENABLE_SHARED, TEA_ENABLE_SYMBOLS,
# and TEA_LOAD_TCLCONFIG macros above.
#--------------------------------------------------------------------
TEA_MAKE_LIB
#--------------------------------------------------------------------
# __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.
#--------------------------------------------------------------------
tclgeomap_LIB_FILE=${PKG_LIB_FILE}
AC_SUBST(tclgeomap_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.
#--------------------------------------------------------------------
TEA_PROG_TCLSH
# pkglibdir must be a fully qualified path and (not ${exec_prefix}/lib)
eval pkglibdir="${libdir}/${PACKAGE_NAME}${PACKAGE_VERSION}"
if test "${TCL_LIB_VERSIONS_OK}" = "ok"; then
eval tclgeomap_LIB_FLAG="-ltclgeomap${PACKAGE_VERSION}${DBGX}"
else
eval tclgeomap_LIB_FLAG="-ltclgeomap`echo ${PACKAGE_VERSION} | tr -d .`${DBGX}"
fi
tclgeomap_BUILD_LIB_SPEC="-L`pwd` ${tclgeomap_LIB_FLAG}"
tclgeomap_LIB_SPEC="-L${pkglibdir} ${tclgeomap_LIB_FLAG}"
AC_SUBST(pkglibdir)
AC_SUBST(tclgeomap_BUILD_LIB_SPEC)
AC_SUBST(tclgeomap_LIB_SPEC)
# tclgeomap_SRC_DIR must be a fully qualified path
eval tclgeomap_SRC_DIR="$srcdir"
tclgeomap_SRC_DIR=`cd "${tclgeomap_SRC_DIR}"; pwd`
AC_SUBST(tclgeomap_SRC_DIR)
#--------------------------------------------------------------------
# Finally, substitute all of the various values into the Makefile.
#--------------------------------------------------------------------
AC_OUTPUT([Makefile pkgIndex.tcl])
syntax highlighted by Code2HTML, v. 0.9.1