From 4deef84e6a3c5ba71e3ec2d7429fc347edbbc098 Mon Sep 17 00:00:00 2001 From: lecoanet Date: Wed, 16 Apr 2003 10:30:25 +0000 Subject: Update for the new make tool chain --- configure.in | 325 ++++++++++++++++++++++++++++++++++++++++++----------------- 1 file changed, 233 insertions(+), 92 deletions(-) (limited to 'configure.in') diff --git a/configure.in b/configure.in index 1e046f5..c08e040 100644 --- a/configure.in +++ b/configure.in @@ -1,99 +1,240 @@ +>dnl dnl Process this file with autoconf to produce a configure script. -AC_INIT(tkZinc.c) - -dnl builtin([include],acplcaux.m4) -# -# This one is for testing purposes +dnl autoconf 2.13 should work fine. However autoconf >= 2.53 and +dnl perhaps versions in between (2.50 and 2.52) are not directly usuable. +dnl +dnl +dnl This configure.in is derived from the Sample TEA template which is: +dnl +dnl Copyright (c) 1999 Scriptics Corporation. +dnl Copyright (c) 2002 ActiveState SRL. +dnl +dnl +dnl $Id$ + +#----------------------------------------------------------------------- +# Check the source path of the package +#----------------------------------------------------------------------- +AC_INIT + +#----------------------------------------------------------------------- +# Setup the CONFIGDIR to the path of the directory containing the +# configuration files +#----------------------------------------------------------------------- +AC_CONFIG_AUX_DIR(tclconfig) +CONFIGDIR=${srcdir}/tclconfig +AC_SUBST(CONFIGDIR) + +#----------------------------------------------------------------------- +# Define the PACKAGE variable +#-------------------------------------------------------------------- +PACKAGE=Tkzinc + +#-------------------------------------------------------------------- +# Call TEA_INIT as the first TEA_ macro to set up initial vars. +# This will define a ${TEA_PLATFORM} variable == "unix" or "windows". # -dnl ac_compile='echo ${CC-cc} $CFLAGS $LDFLAGS conftest.${ac_ext} -o conftest $LIBS; ${CC-cc} $CFLAGS $LDFLAGS conftest.${ac_ext} -o conftest $LIBS' -dnl ac_link='echo ${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS; ${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS' - -AC_CONFIG_HEADER(config.h) - -AC_PROG_CC -AC_CHECK_PROGS(PERL, perl, error) -changequote() -INSTALLARCHLIB=`perl -MConfig -e 'print $Config{installarchlib}'` -TKLIB=`perl -MTk -e 'print $Tk::library'` -INSTALLPRIVLIB=`perl -MConfig -e 'print $Config{installprivlib}'` -INSTALLMAN1DIR=`perl -MConfig -e 'print $Config{installman1dir}'` -INSTALLMAN3DIR=`perl -MConfig -e 'print $Config{installman3dir}'` -changequote([, ]) - -AC_SUBST(INSTALLARCHLIB) -AC_SUBST(TKLIB) -AC_SUBST(INSTALLPRIVLIB) -AC_SUBST(INSTALLMAN1DIR) -AC_SUBST(INSTALLMAN3DIR) - - -dnl for shared library stuff -# extract version information -changequote() -ZINC_VER=`sed -n -e 's/#define ZINCVER.*\([0-9]\)$/\1/p' patchlvl.h` -ZINC_MAJOR=`sed -n -e 's/#define ZINCREV.*\([0-9]\)$/\1/p' patchlvl.h` -ZINC_VERSION=`sed -n -e 's/#define ZINCVERSION.*\([0-9][a-z][0-9]\).*/\1/p' patchlvl.h` -changequote([, ]) -AC_SUBST(ZINC_VER) -AC_SUBST(ZINC_MAJOR) -AC_SUBST(ZINC_VERSION) - -builtin([include],acaux.m4) -AC_SYS_SHAREDLIB - -AC_PROG_INSTALL -AC_PROG_CPP -AC_PROG_RANLIB -AC_ISC_POSIX -AC_STDC_HEADERS -AC_CHECK_HEADERS(values.h stddef.h stdarg.h limits.h strings.h string.h) -AC_CHECK_HEADERS(unistd.h memory.h stdlib.h) -AC_CHECK_HEADERS(sys/types.h sys/time.h sys/timeb.h sys/times.h) -AC_CHECK_FUNCS(gettimeofday) - - -AC_PATH_XTRA +# Keep it here we will need ${TEA_PLATFORM} soon. +#-------------------------------------------------------------------- +TEA_INIT +#----------------------------------------------------------------------- +# Define the VERSION variable # -# Add any user supplied library directories to the X flags +# VERSION is constructed from MAJOR_VERSION, MINOR_VERSION and +# PATCHLEVEL. The windows variant does not containt a dot. +#----------------------------------------------------------------------- +MAJOR_VERSION=3 +MINOR_VERSION=2 +PATCHLEVEL=90 + +VERSION=${MAJOR_VERSION}.${MINOR_VERSION}.${PATCHLEVEL} + +AC_SUBST(VERSION) +AC_SUBST(PACKAGE) +AC_SUBST(Tkzinc_LIB_FILE) +AC_SUBST(Tkzincstub_LIB_FILE) + +#-------------------------------------------------------------------- +# This define a preprocessor macro -DVERSION=3.2.6i to include +# the package version in the sources. +#-------------------------------------------------------------------- +eval AC_DEFINE_UNQUOTED(VERSION, "${VERSION}") + +#-------------------------------------------------------------------- +# Load the tclConfig.sh file +#-------------------------------------------------------------------- +TEA_PATH_TCLCONFIG +TEA_LOAD_TCLCONFIG + +#-------------------------------------------------------------------- +# Load the tkConfig.sh file +#-------------------------------------------------------------------- +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 +AC_CYGWIN +AC_MINGW32 + +#-------------------------------------------------------------------- +# 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_LOAD_TCLCONFIG / TEA_LOAD_TKCONFIG # -ac_setup_local_x_libs_msg="Add the correct path to LOCAL_X_LIBS," -ac_retry_msg="and run configure again." -test -n "$LOCAL_X_LIBS" && LOCAL_X_LIBS="-L$LOCAL_X_LIBS" - +# Sorry but zinc needs the internal functionality provided by Tk +# even if this is less convenient and secure. +#-------------------------------------------------------------------- +TEA_PRIVATE_TCL_HEADERS +TEA_PRIVATE_TK_HEADERS + +#-------------------------------------------------------------------- +# A few miscellaneous platform-specific items: +# +# Define the special symbol BUILD_Tkzinc for Windows so +# that we create the export library with the dll. # -# We need to setup CFLAGS to suppress -g flags which will prevent the linker -# from finding the libraries. -# We need to setup LDFLAGS to add the libraries paths. +# Windows creates a few extra files that need to be cleaned up. # -TMP_LDFLAGS=$LDFLAGS -TMP_CFLAGS=$CFLAGS -TMP_LIBS=$LIBS -LDFLAGS="$LDFLAGS $X_LIBS $LOCAL_X_LIBS" -CFLAGS="" -LIBS="-lX11 $X_EXTRA_LIBS" -this_is_not_ok="" -XPM="" -AC_CHECK_LIB(Xpm, main, - [XPM="-lXpm"], - [echo "-lXpm not found," - echo $ac_setup_local_x_libs_msg - echo $ac_retry_msg - this_is_not_ok="1"]) -TMP_CPPFLAGS=$CPPFLAGS -CPPFLAGS="$CPPFLAGS -I $x_includes" -AC_CHECK_HEADERS(X11/xpm.h) -CPPFLAGS=$TMP_CPPFLAGS - -LIBS="-lXext -lX11 $X_EXTRA_LIBS" - -AC_CONST -AC_MINUS_C_MINUS_O - -AC_SUBST(XPM) -AC_SUBST(XMU) -AC_SUBST(LOCAL_X_LIBS) -AC_SUBST(CFLAGS) -AC_SUBST(LDFLAGS) - -AC_OUTPUT(Makefile) +# Define any extra compiler flags in the PACKAGE_CFLAGS variable. +# These will be appended to the current set of compiler flags for +# your system. +#-------------------------------------------------------------------- +if test "${TEA_PLATFORM}" = "windows" ; then + AC_DEFINE(BUILD_Tkzinc) + CLEANFILES="pkgIndex.tcl *.lib *.dll *.exp *.ilk *.pdb vc*.pch" + EXTRA_SOURCES='$(WIN_SOURCES)' +else + CLEANFILES="pkgIndex.tcl" + EXTRA_SOURCES='$(UNIX_SOURCES)' +fi +CLEANFILES="${CLEANFILES} doc/*.dvi doc/*.aux doc/*.idx doc/*.ilg doc/*.ind" +CLEANFILES="${CLEANFILES} doc/*.lof doc/*.log doc/*.out doc/*.toc doc/*.tpt" +CLEANFILES="${CLEANFILES} doc/refman doc/refman.pdf" +CLEANFILES="${CLEANFILES} Perl/Zinc.o Perl/Zinc.c Perl/Zinc.bs Perl/blib" +CLEANFILES="${CLEANFILES} Perl/pm_to_blib Perl/Makefile Perl/Makefile.PL" +CLEANFILES="${CLEANFILES} Perl/debug/Makefile Perl/debug/pm_to_blib Perl/debug/blib" +CLEANFILES="${CLEANFILES} Perl/demos/Makefile Perl/demos/pm_to_blib Perl/demos/blib" +CLEANFILES="${CLEANFILES} Python/Zinc.py" + +AC_SUBST(CLEANFILES) +AC_SUBST(EXTRA_SOURCES) + +#-------------------------------------------------------------------- +# Check whether --enable-threads or --disable-threads was given. +# This call disable threading support as a default. +#-------------------------------------------------------------------- +TEA_ENABLE_THREADS(no) + +#-------------------------------------------------------------------- +# 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 + +#-------------------------------------------------------------------- +# For Unix/Tk builds, make sure that the X libraries/headers are found. +# This must be called after TEA_CONFIG_CFLAGS as it adjusts LIBS. +#-------------------------------------------------------------------- +TEA_PATH_X + +#-------------------------------------------------------------------- +# This sets the tesselation library name and adjust LIBS to +# include this library. +#-------------------------------------------------------------------- +if test "${TEA_PLATFORM}" = "windows" ; then + Tess_LIB_FILE=tess.lib +else + Tess_LIB_FILE=libtess.a +fi +LIBS="${LIBS} -L. -ltess" +AC_SUBST(Tess_LIB_FILE) + +#-------------------------------------------------------------------- +# Tkzinc is always linked against the tcl and tk stubs libraries +#-------------------------------------------------------------------- +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 + +#-------------------------------------------------------------------- +# Add platform libs to LIBS or SHLIB_LD_LIBS as necessary. +#-------------------------------------------------------------------- +if test "${TEA_PLATFORM}" = "windows" ; then + LIBS="${LIBS} -lgdi32 -luser32 -lwsock32" +fi +#SHLIB_LD_LIBS="${SHLIB_LD_LIBS} -lxxxx" + +#-------------------------------------------------------------------- +# 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. +# Add WISH as well since Tkzinc is a Tk extension. +#-------------------------------------------------------------------- +TEA_PROG_TCLSH +TEA_PROG_WISH + +#-------------------------------------------------------------------- +# Define the SHAPE symbol to control the X shape extension support. +# This must be called after TEA_CONFIG_CFLAGS as it adjusts LIBS. +#-------------------------------------------------------------------- +ZINC_ENABLE_SHAPE + +#-------------------------------------------------------------------- +# Adjust the library set based on --enable-gl option. Define also +# the GL and GL_DAMAGE symbols to configure the code. +# This must be called after TEA_CONFIG_CFLAGS as it adjusts LIBS. +#-------------------------------------------------------------------- +ZINC_ENABLE_GL + +#-------------------------------------------------------------------- +# Define the OM symbol to control inclusion of the overlap manager +# support. +#-------------------------------------------------------------------- +ZINC_ENABLE_OM + +#-------------------------------------------------------------------- +# Define the PTK symbol to control whether zinc is built for Tk or +# for perl/Tk. +#-------------------------------------------------------------------- +ZINC_ENABLE_PTK + +#-------------------------------------------------------------------- +# Finally, substitute all of the various values into the Makefile. +# Add other files needing substitution after Makefile. +#-------------------------------------------------------------------- +AC_OUTPUT([Makefile Python/Zinc.py Perl/Makefile.PL]) -- cgit v1.1