206 lines
8.0 KiB
Bash
206 lines
8.0 KiB
Bash
#! /bin/bash -norc
|
|
#
|
|
# RCS: @(#) $Id: configure.in,v 1.8 2008/02/28 04:35:16 hobbs Exp $
|
|
#
|
|
#--------------------------------------------------------------------
|
|
# Sample configure.in for Tcl Extensions. The only places you should
|
|
# need to modify this file are marked by the string __CHANGE__
|
|
#--------------------------------------------------------------------
|
|
|
|
#-----------------------------------------------------------------------
|
|
# __CHANGE__
|
|
# Set your package name and version numbers here.
|
|
#
|
|
# 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([Tix], [8.4.3])
|
|
|
|
#--------------------------------------------------------------------
|
|
# 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.6])
|
|
|
|
AC_CONFIG_AUX_DIR(tclconfig)
|
|
|
|
#--------------------------------------------------------------------
|
|
# Load the tclConfig.sh file
|
|
#--------------------------------------------------------------------
|
|
|
|
TEA_PATH_TCLCONFIG
|
|
TEA_LOAD_TCLCONFIG
|
|
|
|
#--------------------------------------------------------------------
|
|
# Load the tkConfig.sh file if necessary (Tk extension)
|
|
#--------------------------------------------------------------------
|
|
|
|
TEA_PATH_TKCONFIG
|
|
TEA_LOAD_TKCONFIG
|
|
|
|
#-----------------------------------------------------------------------
|
|
# 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.
|
|
#-----------------------------------------------------------------------
|
|
|
|
# core sources
|
|
TEA_ADD_SOURCES([tixClass.c tixCmds.c tixCompat.c tixError.c tixGeometry.c
|
|
tixInit.c tixList.c tixMethod.c tixOption.c tixScroll.c
|
|
tixSmpLs.c tixUtils.c tixWidget.c])
|
|
# ditem sources
|
|
TEA_ADD_SOURCES([tixDItem.c tixDiITxt.c tixDiImg.c tixDiStyle.c tixDiText.c
|
|
tixDiWin.c])
|
|
# manager sources
|
|
TEA_ADD_SOURCES([tixForm.c tixFormMisc.c])
|
|
# widget sources
|
|
TEA_ADD_SOURCES([tixGrid.c tixGrData.c tixGrFmt.c tixGrRC.c tixGrSel.c
|
|
tixGrSort.c tixGrUtl.c tixHList.c tixHLCol.c tixHLInd.c
|
|
tixHLHdr.c tixNBFrame.c tixTList.c])
|
|
# misc sources
|
|
TEA_ADD_SOURCES([tixImgCmp.c tixImgXpm.c])
|
|
|
|
TEA_ADD_HEADERS([])
|
|
TEA_ADD_INCLUDES([-I. -I\"`${CYGPATH} ${srcdir}/generic`\"])
|
|
TEA_ADD_CFLAGS([])
|
|
TEA_ADD_STUB_SOURCES([])
|
|
TEA_ADD_TCL_SOURCES([])
|
|
|
|
#--------------------------------------------------------------------
|
|
# __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 called after TEA_PATH_TCLCONFIG/TEA_LOAD_TCLCONFIG
|
|
#--------------------------------------------------------------------
|
|
|
|
# needed for tclPort.h and such ... can be corrected
|
|
TEA_PRIVATE_TCL_HEADERS
|
|
TEA_PRIVATE_TK_HEADERS
|
|
|
|
#--------------------------------------------------------------------
|
|
# For Unix/Tk builds, make sure that the X libraries/headers are found.
|
|
#--------------------------------------------------------------------
|
|
|
|
TEA_PATH_X
|
|
|
|
#--------------------------------------------------------------------
|
|
# __CHANGE__
|
|
# A few miscellaneous platform-specific items:
|
|
#
|
|
# Define a special symbol for Windows (BUILD_tix in this case) so
|
|
# that we create the export library with the dll.
|
|
#
|
|
# 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.
|
|
#
|
|
# TEA_ADD any extra compiler/build info here.
|
|
#--------------------------------------------------------------------
|
|
|
|
if test "${TEA_PLATFORM}" = "windows" ; then
|
|
AC_DEFINE_UNQUOTED(BUILD_tix)
|
|
CLEANFILES="pkgIndex.tcl *.lib *.dll *.exp *.ilk *.pdb *.pch"
|
|
TEA_ADD_LIBS([gdi32.lib user32.lib advapi32.lib comdlg32.lib])
|
|
TEA_ADD_SOURCES([tixWCmpt.c tixWinWm.c tixWinXpm.c tixWinDraw.c])
|
|
TEA_ADD_INCLUDES([-I. -I\"`${CYGPATH} ${srcdir}/win`\"])
|
|
else
|
|
CLEANFILES="pkgIndex.tcl"
|
|
TEA_ADD_SOURCES([tixInputO.c tixUnixMwm.c])
|
|
TEA_ADD_SOURCES([tixUnixDraw.c tixUnixXpm.c tixUnixWm.c])
|
|
TEA_ADD_INCLUDES([-I. -I\"`${CYGPATH} ${srcdir}/unix`\"])
|
|
fi
|
|
if test "${TEA_WINDOWINGSYSTEM}" = "aqua"; then
|
|
TEA_ADD_INCLUDES([-I${TK_TOP_DIR_NATIVE}/macosx])
|
|
fi
|
|
AC_SUBST(CLEANFILES)
|
|
|
|
#--------------------------------------------------------------------
|
|
# Check whether --enable-threads or --disable-threads was given.
|
|
# So far only Tcl responds to this one.
|
|
#--------------------------------------------------------------------
|
|
|
|
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
|
|
|
|
#--------------------------------------------------------------------
|
|
# 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.
|
|
#--------------------------------------------------------------------
|
|
|
|
AC_DEFINE(USE_TCL_STUBS)
|
|
AC_DEFINE(USE_TK_STUBS)
|
|
|
|
#--------------------------------------------------------------------
|
|
# 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
|
|
|
|
#--------------------------------------------------------------------
|
|
# 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
|
|
TEA_PROG_WISH
|
|
|
|
#--------------------------------------------------------------------
|
|
# Finally, substitute all of the various values into the Makefile.
|
|
#--------------------------------------------------------------------
|
|
|
|
AC_OUTPUT([Makefile])
|