aboutsummaryrefslogtreecommitdiff
path: root/tkzinc.m4
diff options
context:
space:
mode:
Diffstat (limited to 'tkzinc.m4')
-rw-r--r--tkzinc.m4228
1 files changed, 228 insertions, 0 deletions
diff --git a/tkzinc.m4 b/tkzinc.m4
new file mode 100644
index 0000000..8a342d6
--- /dev/null
+++ b/tkzinc.m4
@@ -0,0 +1,228 @@
+#
+# Include the TEA standard macro set
+#
+
+builtin(include,tclconfig/tcl.m4)
+
+#
+# Zinc specific macros below.
+#
+#
+# ALL the new macros here need to be modified to
+# detect the various packages needed and to get their paths.
+# Right now all this is statically defined in the macros.
+#
+#------------------------------------------------------------------------
+# ZINC_ENABLE_GL --
+#
+# Specify if openGL support should be used.
+# Code for managing a damage area can also be enabled.
+#
+# Arguments:
+# none
+#
+# Results:
+#
+# Adds the following arguments to configure:
+# --enable-gl=[yes,no,damage]
+#
+# Defines the following vars:
+# GL_INCLUDES OpenGL include files path
+# GL_LIBS additional libraries needed for GL
+# LIBS Modified to reflect the need of new
+# libraries
+# GL Defined if GL support is enabled
+# GL_DAMAGE Defined if damage support has been
+# requested
+#
+#------------------------------------------------------------------------
+
+AC_DEFUN(ZINC_ENABLE_GL, [
+ if test x"${TEA_INITED}" = x ; then
+ AC_MSG_ERROR([Must call TEA INIT before ENABLE_GL])
+ fi
+
+ AC_MSG_CHECKING([for build with GL])
+ AC_ARG_ENABLE(gl,
+ [ --enable-gl build with openGL support (yes,no,damage) [[no]]],
+ [tcl_ok=$enableval], [tcl_ok=no])
+
+ if test "$tcl_ok" = "no"; then
+ GL_LIBS=
+ GL_INCLUDES=
+ AC_MSG_RESULT([no])
+ else
+ if test "${TEA_PLATFORM}" = "windows" ; then
+ GL_LIBS=-lopengl32
+ else
+ #
+ # On Linux, the Nvidia GL libraries needs threads support via
+ # pthreads but not mesa. Need to auto-detect that and the
+ # availability of pthreads.
+ GL_LIBS="-lGL -lpthread"
+# GL_LIBS="-lGL"
+ GL_INCLUDES='/usr/include'
+ fi
+
+ AC_DEFINE(GL)
+ if test "$tcl_ok" = "damage"; then
+ AC_DEFINE(GL_DAMAGE)
+ fi
+
+ LIBS="$LIBS $GL_LIBS"
+
+ if test "$tcl_ok" = "yes"; then
+ AC_MSG_RESULT([yes (standard)])
+ else
+ AC_MSG_RESULT([yes (with damage support)])
+ fi
+ fi
+
+ AC_SUBST(GL_LIBS)
+ AC_SUBST(GL_INCLUDES)
+])
+
+#------------------------------------------------------------------------
+# ZINC_ENABLE_OM --
+#
+# Specify if the anti overlapping code should be included.
+#
+# Arguments:
+# none
+#
+# Results:
+#
+# Adds the following arguments to configure:
+# --enable-om=[yes,no]
+#
+# Defines the following vars:
+# Om_LIB_FILE Contains the platform depent library
+# name for the pluggable overlap manager
+# OM Defined if overlap manager support
+# is enabled
+#
+# Adjust LIBS to include the overlap manager default library.
+# May Modify LD_SEARCH_FLAGS to include the zinc install directory
+#
+#------------------------------------------------------------------------
+
+ AC_DEFUN(ZINC_ENABLE_OM, [
+ if test x"${TEA_INITED}" = x ; then
+ AC_MSG_ERROR([Must call TEA INIT before ENABLE_OM])
+ fi
+
+ AC_MSG_CHECKING([for build with the overlap manager])
+ AC_ARG_ENABLE(om,
+ [ --enable-om build with overlap manager support [[yes]]],
+ [tcl_ok=$enableval], [tcl_ok=yes])
+ if test "$tcl_ok" = "no"; then
+ Om_LIB_FILE=
+ AC_MSG_RESULT([no])
+ else
+ if test "${TEA_PLATFORM}" = "windows" ; then
+ Om_LIB_FILE=om.dll
+ bin_BINARIES="\$(Om_LIB_FILE) ${bin_BINARIES}"
+ else
+ Om_LIB_FILE=libom${TCL_SHLIB_SUFFIX}
+ aux_BINARIES="\$(Om_LIB_FILE) ${bin_BINARIES}"
+ fi
+ AC_DEFINE(OM)
+ AC_MSG_RESULT([yes])
+ LIBS="${LIBS} -L. -lom"
+ fi
+ AC_SUBST(Om_LIB_FILE)
+])
+
+#------------------------------------------------------------------------
+# ZINC_ENABLE_SHAPE --
+#
+# Specify if the X shape extension support should be included.
+#
+# Arguments:
+# none
+#
+# Results:
+#
+# Adds the following arguments to configure:
+# --enable-shape=[yes,no]
+#
+# Defines the following vars:
+# SHAPE Defined if shape support is enabled
+#
+# Adjust LIBS to include the X extension library
+#
+#------------------------------------------------------------------------
+
+AC_DEFUN(ZINC_ENABLE_SHAPE, [
+ if test x"${TEA_INITED}" = x ; then
+ AC_MSG_ERROR([Must call TEA INIT before ENABLE_SHAPE])
+ fi
+ AC_MSG_CHECKING([for build with X shape support])
+ AC_ARG_ENABLE(shape,
+ [ --enable-shape build with X shape support (if applicable) [[yes]]],
+ [tcl_ok=$enableval], [tcl_ok=yes])
+ if test "$tcl_ok" = "no"; then
+ AC_MSG_RESULT([no])
+ else
+ if test "${TEA_PLATFORM}" = "windows" ; then
+ AC_MSG_RESULT([no (not available on windows)])
+ else
+ AC_DEFINE(SHAPE)
+ AC_MSG_RESULT([yes])
+ LIBS="${LIBS} -lXext"
+ fi
+ fi
+])
+
+#------------------------------------------------------------------------
+# ZINC_ENABLE_PTK --
+#
+# Specify that zinc should be build for perl/Tk instead of Tk
+#
+# Arguments:
+# none
+#
+# Results:
+#
+# Adds the following arguments to configure:
+# --enable-ptk=[yes,no]
+#
+# Defines the following vars:
+# PTK Defined if compilation should be
+# done for perl/Tk
+# PERL_TK_LIB Path to perl/tk library (.pm)
+#
+# Modifies SHLIB_LD_LIBS, TCL_INCLUDES and TK_INCLUDES to
+# reflect the change in runtime environment.
+#
+#------------------------------------------------------------------------
+
+AC_DEFUN(ZINC_ENABLE_PTK, [
+ AC_MSG_CHECKING([for build with perl/Tk support])
+ AC_ARG_ENABLE(ptk,
+ [ --enable-ptk build with perl/Tk support [[no]]],
+ [tcl_ok=$enableval], [tcl_ok=no])
+ if test "$tcl_ok" = "no"; then
+ PERL_TK_LIB=
+ AC_MSG_RESULT([no])
+ else
+ #
+ # Locate the perl hierarchy and the corresponding perl/tk.
+ #
+ AC_CHECK_PROGS(PERL, perl, error)
+ changequote()
+ PERL_TK_LIB=`perl -MTk -e 'print $Tk::library'`
+ changequote([, ])
+
+ #
+ # Don't use stubs libraries with perl/Tk.
+ # Don't use either the includes from Tcl/Tk.
+ SHLIB_LD_LIBS="\${LIBS}"
+ TCL_INCLUDES=
+ TK_INCLUDES=-I${PERL_TK_LIB}/pTk
+ AC_DEFINE(PTK)
+ AC_MSG_RESULT([yes])
+ fi
+
+ AC_SUBST(PERL_TK_LIB)
+])