[gts] 09/25: Import Upstream version 0.7.6+darcs080704
Andreas Tille
tille at debian.org
Tue Jan 31 12:40:37 UTC 2017
This is an automated email from the git hooks/post-receive script.
tille pushed a commit to branch master
in repository gts.
commit b50c24dd57faf6c3265a55d95aa80ac47971e2ce
Author: Andreas Tille <tille at debian.org>
Date: Tue Jan 31 11:38:46 2017 +0100
Import Upstream version 0.7.6+darcs080704
---
AUTHORS | 3 +-
ChangeLog | 86 +
Makefile.am | 1 +
Makefile.in | 13 +-
aclocal.m4 | 1372 +-
config.guess | 78 +-
config.sub | 109 +-
configure | 13972 +++++++++----------
configure.in | 2 +-
doc/Makefile.in | 12 +-
doc/html/book1.html | 194 +-
doc/html/{c10545.html => c12.html} | 41 +-
doc/html/c12206.html | 180 -
doc/html/{c17114.html => c14.html} | 55 +-
doc/html/{c15264.html => c16.html} | 51 +-
doc/html/{c10545.html => c18.html} | 55 +-
doc/html/c4.html | 49 +-
doc/html/{c2915.html => c6.html} | 81 +-
doc/html/gts-binary-heaps.html | 1071 --
doc/html/gts-boolean-operations.html | 1631 ---
doc/html/gts-bounding-boxes-trees.html | 5621 --------
doc/html/gts-containee-classes.html | 1075 --
doc/html/gts-container-classes.html | 1447 --
...ay-and-constrained-delaunay-triangulations.html | 2046 ---
doc/html/gts-differential-geometry-operators.html | 960 --
doc/html/gts-edges.html | 2651 ----
doc/html/gts-extended-binary-heaps.html | 2091 ---
doc/html/gts-faces.html | 1593 ---
doc/html/gts-first-in-first-out-heaps.html | 1167 --
doc/html/gts-graph-class.html | 5154 -------
doc/html/gts-graph-partitioning.html | 2392 ----
doc/html/gts-hierarchical-surfaces.html | 1520 --
doc/html/gts-hierarchical-vertex-split.html | 1088 --
doc/html/gts-isosurfaces-from-3d-functions.html | 2550 ----
doc/html/gts-kd-trees.html | 528 -
.../gts-miscellaneous-macros-and-functions.html | 1946 ---
doc/html/gts-object-class.html | 2838 ----
doc/html/gts-out-of-core-simplification.html | 2086 ---
doc/html/gts-points.html | 4021 ------
doc/html/gts-progressive-graph.html | 2498 ----
doc/html/gts-progressive-surfaces.html | 2559 ----
doc/html/gts-segments.html | 1647 ---
doc/html/gts-simple-statistics.html | 823 --
.../gts-surface-simplification-and-refinement.html | 2302 ---
doc/html/gts-surfaces.html | 5639 --------
doc/html/gts-triangles.html | 4554 ------
doc/html/gts-vectors-and-matrices.html | 3819 -----
doc/html/gts-vertex-split.html | 1822 ---
doc/html/gts-vertices.html | 2528 ----
doc/html/gts-weighted-graph.html | 1399 --
doc/html/index.sgml | 0
examples/Makefile.in | 12 +-
examples/cartesian.c | 3 +-
examples/cleanup.c | 3 +-
examples/coarsen.c | 3 +-
examples/delaunay.c | 3 +-
examples/happrox.c | 3 +-
examples/iso.c | 3 +-
examples/merge.c | 1 +
examples/optimize.c | 3 +-
examples/partition.c | 3 +-
examples/refine.c | 3 +-
examples/set.c | 46 +-
examples/smooth.c | 3 +-
examples/sphere.c | 3 +-
examples/split.c | 3 +-
examples/stripe.c | 3 +-
examples/transform.c | 1 +
examples/traverse.c | 3 +-
examples/volume.c | 9 +-
gts.pc.in | 2 +-
ltmain.sh | 774 +-
src/Makefile.in | 12 +-
src/edge.c | 6 +-
src/eheap.c | 15 +-
src/gts.def | 1 +
src/gts.h | 17 +-
src/object.c | 59 -
src/partition.c | 2 +
src/point.c | 28 +
test/Makefile.in | 12 +-
test/boolean/Makefile.in | 12 +-
test/coarsen/Makefile.in | 12 +-
test/delaunay/Makefile.in | 12 +-
tools/Makefile.in | 12 +-
tools/gts2oogl.c | 3 +-
tools/gts2stl.c | 3 +-
tools/gtscheck.c | 3 +-
tools/gtscompare.c | 3 +-
tools/stl2gts.c | 3 +-
90 files changed, 8903 insertions(+), 83619 deletions(-)
diff --git a/AUTHORS b/AUTHORS
index 2d9a203..833dde4 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -11,5 +11,6 @@ Jerome Benoit: surface tesselation.
Wagner Toledo Correa: triangle strips.
Marcelo E. Magallon: Debian packages.
Wayne C Gramlich, Michael Loehr: 4x4 GtsMatrix implementation.
-Tim F.: "dual" marching tetrahedra.
+Tim Fenn: "dual" marching tetrahedra.
Tomas Akenine-Moller: fast triangle-box intersection test.
+Ivan Adam Vari: RPM packages.
diff --git a/ChangeLog b/ChangeLog
index 7844d00..c3e51d3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,89 @@
+Fri Jul 4 14:40:33 NZST 2008 Stephane Popinet <s.popinet at niwa.co.nz>
+ * Fixed typos in RPM spec file (I. Vari)
+
+Tue Jul 1 16:02:02 NZST 2008 Stephane Popinet <s.popinet at niwa.co.nz>
+ * RPM spec updated for Fedora (I. Vari)
+
+Tue Jan 8 09:45:25 NZDT 2008 Stephane Popinet <s.popinet at niwa.co.nz>
+ * RPM build fix (I. Vari)
+
+ Removed %{?_smp_mflags} from make due to intermittent
+ build errors on some SMP systems.
+
+Wed Dec 19 12:31:01 NZDT 2007 Stephane Popinet <s.popinet at niwa.co.nz>
+ * RPM spec file fix (Ivan Vari)
+
+Mon Nov 12 15:48:48 NZDT 2007 Stephane Popinet <s.popinet at niwa.co.nz>
+ * Fixed package (install) dependencies
+
+Tue Oct 30 14:53:14 NZDT 2007 Stephane Popinet <s.popinet at niwa.co.nz>
+ * Added specs for RPM packaging (thanks to Ivan Vari)
+
+Tue Oct 30 15:53:28 NZDT 2007 Stephane Popinet <s.popinet at niwa.co.nz>
+ * Added math library for netpbm library check.
+
+Fri Sep 14 09:56:41 NZST 2007 Stephane Popinet <s.popinet at niwa.co.nz>
+ * Explicit check when trying to partition a graph with too few nodes
+
+Wed Sep 12 16:23:28 NZST 2007 Stephane Popinet <s.popinet at niwa.co.nz>
+ * example/volume also computes the area
+
+Wed Sep 12 16:22:39 NZST 2007 Stephane Popinet <s.popinet at niwa.co.nz>
+ * New "all" option for example/set
+
+ For outputting all combinations of boolean operations.
+
+Fri Apr 13 16:02:10 NZST 2007 Stephane Popinet <s.popinet at niwa.co.nz>
+ * Added math lib to gts.pc
+
+Thu Feb 22 17:01:21 NZDT 2007 Stephane Popinet <s.popinet at niwa.co.nz>
+ * Force regeneration of ChangeLog before creating debian package
+
+Wed Feb 14 14:50:50 NZDT 2007 Stephane Popinet <s.popinet at niwa.co.nz>
+ * Fix for getopt_long and unknown arguments
+
+Tue Jan 23 11:48:30 NZDT 2007 Stephane Popinet <popinet at users.sf.net>
+ * New function gts_point_in_sphere()
+
+Fri Nov 24 16:04:32 NZDT 2006 Stephane Popinet <s.popinet at niwa.co.nz>
+ * Fixed function inlining mess
+
+ I made all inlined functions "static inline" in the gts.h header file.
+ This should fix the problem when linking GTS with non-optimised objects.
+
+Wed Oct 25 15:28:12 NZDT 2006 Stephane Popinet <s.popinet at niwa.co.nz>
+ * Removed g_ptr_array_foreach() call for compatibility with glib-1.2
+
+Thu Oct 19 10:32:43 NZDT 2006 Stephane Popinet <s.popinet at niwa.co.nz>
+ * Simplified Debian package dependencies
+
+ To make them compatible with Ubuntu. It's a bit messy though as I am not sure
+ what the issues are with binary compatibility of Ubuntu/Debian libraries etc...
+
+Wed Oct 18 16:45:35 NZDT 2006 Stephane Popinet <s.popinet at niwa.co.nz>
+ * Fix for memory leak in GtsEHeap with glib >= 2.10
+
+ The GMemChunk glib structure previously used for allocating GtsEHeapPair is
+ deprecated in glib 2.10.
+
+ Furthermore, it seems that the new slice allocator in glib 2.10 is not
+ backward compatible with GMemChunk (despite what is said in the doc). This
+ causes massive memory leaks.
+
+ The solution is to use good old g_malloc instead.
+
+Fri Oct 6 13:20:31 NZDT 2006 Stephane Popinet <s.popinet at niwa.co.nz>
+ * Fixed autogen.sh for Mac OSX
+
+Thu Jul 13 10:00:55 NZST 2006 Stephane Popinet <s.popinet at niwa.co.nz>
+ * Bug fix in gts_edge_swap() (thanks to Oliver Burghard)
+
+Wed Mar 29 16:43:17 NZST 2006 Stephane Popinet <s.popinet at niwa.co.nz>
+ tagged release_0_7_6
+
+Wed Mar 29 16:03:21 NZST 2006 Stephane Popinet <s.popinet at niwa.co.nz>
+ * Updated NEWS for release 0.7.6
+
Fri Mar 24 11:47:26 NZST 2006 Stephane Popinet <s.popinet at niwa.co.nz>
* Changed 'gtstransform' to 'transform' in Debian package
diff --git a/Makefile.am b/Makefile.am
index 0185e62..ab33213 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -9,6 +9,7 @@ ChangeLog:
darcs changes > ChangeLog
debian-snapshot:
+ darcs changes > ChangeLog
sh debian/changelog.sh
dpkg-buildpackage -rfakeroot -b
rm -f debian/repo/*
diff --git a/Makefile.in b/Makefile.in
index 87b6aa6..087f9eb 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -113,6 +113,7 @@ GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
GLIB_MKENUMS = @GLIB_MKENUMS@
GOBJECT_QUERY = @GOBJECT_QUERY@
+GREP = @GREP@
GTS_MAJOR_VERSION = @GTS_MAJOR_VERSION@
GTS_MICRO_VERSION = @GTS_MICRO_VERSION@
GTS_MINOR_VERSION = @GTS_MINOR_VERSION@
@@ -147,16 +148,14 @@ PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PKG_CONFIG = @PKG_CONFIG@
RANLIB = @RANLIB@
+SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
-ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
@@ -171,6 +170,9 @@ build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
exec_prefix = @exec_prefix@
glib_cflags = @glib_cflags@
glib_libs = @glib_libs@
@@ -183,17 +185,21 @@ host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
+htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
+localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
+psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
@@ -653,6 +659,7 @@ ChangeLog:
darcs changes > ChangeLog
debian-snapshot:
+ darcs changes > ChangeLog
sh debian/changelog.sh
dpkg-buildpackage -rfakeroot -b
rm -f debian/repo/*
diff --git a/aclocal.m4 b/aclocal.m4
index 110bf8d..d2fa947 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -44,20 +44,13 @@ AC_ARG_ENABLE(glibtest, [ --disable-glibtest do not try to compile and run
esac
done
- AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
+ PKG_PROG_PKG_CONFIG([0.7])
no_glib=""
- if test x$PKG_CONFIG != xno ; then
- if $PKG_CONFIG --atleast-pkgconfig-version 0.7 ; then
- :
- else
- echo *** pkg-config too old; version 0.7 or better required.
- no_glib=yes
- PKG_CONFIG=no
- fi
- else
+ if test "x$PKG_CONFIG" = x ; then
no_glib=yes
+ PKG_CONFIG=no
fi
min_glib_version=ifelse([$1], ,2.0.0,$1)
@@ -229,7 +222,7 @@ main ()
# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
-# serial 47 Debian 1.5.20-2 AC_PROG_LIBTOOL
+# serial 51 Debian 1.5.24-1ubuntu1 AC_PROG_LIBTOOL
# AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED)
@@ -379,6 +372,7 @@ test -z "$AR_FLAGS" && AR_FLAGS=cru
test -z "$AS" && AS=as
test -z "$CC" && CC=cc
test -z "$LTCC" && LTCC=$CC
+test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
test -z "$DLLTOOL" && DLLTOOL=dlltool
test -z "$LD" && LD=ld
test -z "$LN_S" && LN_S="ln -s"
@@ -391,17 +385,17 @@ test -z "$STRIP" && STRIP=:
test -z "$ac_objext" && ac_objext=o
# Determine commands to create old-style static archives.
-old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs'
+old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
old_postinstall_cmds='chmod 644 $oldlib'
old_postuninstall_cmds=
if test -n "$RANLIB"; then
case $host_os in
openbsd*)
- old_postinstall_cmds="\$RANLIB -t \$oldlib~$old_postinstall_cmds"
+ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
;;
*)
- old_postinstall_cmds="\$RANLIB \$oldlib~$old_postinstall_cmds"
+ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
;;
esac
old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
@@ -449,6 +443,9 @@ AC_DEFUN([_LT_AC_SYS_COMPILER],
# If no C compiler was specified, use CC.
LTCC=${LTCC-"$CC"}
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
# Allow CC to be a program name with arguments.
compiler=$CC
])# _LT_AC_SYS_COMPILER
@@ -475,9 +472,10 @@ cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
# Check for compiler boilerplate output or warnings with
# the simple compiler test code.
AC_DEFUN([_LT_COMPILER_BOILERPLATE],
-[ac_outfile=conftest.$ac_objext
-printf "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err
+[AC_REQUIRE([LT_AC_PROG_SED])dnl
+ac_outfile=conftest.$ac_objext
+echo "$lt_simple_compile_test_code" >conftest.$ac_ext
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
_lt_compiler_boilerplate=`cat conftest.err`
$rm conftest*
])# _LT_COMPILER_BOILERPLATE
@@ -488,9 +486,10 @@ $rm conftest*
# Check for linker boilerplate output or warnings with
# the simple link test code.
AC_DEFUN([_LT_LINKER_BOILERPLATE],
-[ac_outfile=conftest.$ac_objext
-printf "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err
+[AC_REQUIRE([LT_AC_PROG_SED])dnl
+ac_outfile=conftest.$ac_objext
+echo "$lt_simple_link_test_code" >conftest.$ac_ext
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
_lt_linker_boilerplate=`cat conftest.err`
$rm conftest*
])# _LT_LINKER_BOILERPLATE
@@ -505,12 +504,20 @@ $rm conftest*
# If we don't find anything, use the default library path according
# to the aix ld manual.
AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX],
-[AC_LINK_IFELSE(AC_LANG_PROGRAM,[
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
-}'`
+[AC_REQUIRE([LT_AC_PROG_SED])dnl
+AC_LINK_IFELSE(AC_LANG_PROGRAM,[
+lt_aix_libpath_sed='
+ /Import File Strings/,/^$/ {
+ /^0/ {
+ s/^0 *\(.*\)$/\1/
+ p
+ }
+ }'
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
-}'`; fi],[])
+if test -z "$aix_libpath"; then
+ aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+fi],[])
if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
])# _LT_AC_SYS_LIBPATH_AIX
@@ -741,13 +748,17 @@ ia64-*-hpux*)
rm -rf conftest*
;;
-x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*)
+x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
+s390*-*linux*|sparc*-*linux*)
# Find out which ABI we are using.
echo 'int i;' > conftest.$ac_ext
if AC_TRY_EVAL(ac_compile); then
case `/usr/bin/file conftest.o` in
*32-bit*)
case $host in
+ x86_64-*kfreebsd*-gnu)
+ LD="${LD-ld} -m elf_i386_fbsd"
+ ;;
x86_64-*linux*)
LD="${LD-ld} -m elf_i386"
;;
@@ -764,6 +775,9 @@ x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*)
;;
*64-bit*)
case $host in
+ x86_64-*kfreebsd*-gnu)
+ LD="${LD-ld} -m elf_x86_64_fbsd"
+ ;;
x86_64-*linux*)
LD="${LD-ld} -m elf_x86_64"
;;
@@ -796,6 +810,22 @@ x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*)
CFLAGS="$SAVE_CFLAGS"
fi
;;
+sparc*-*solaris*)
+ # Find out which ABI we are using.
+ echo 'int i;' > conftest.$ac_ext
+ if AC_TRY_EVAL(ac_compile); then
+ case `/usr/bin/file conftest.o` in
+ *64-bit*)
+ case $lt_cv_prog_gnu_ld in
+ yes*) LD="${LD-ld} -m elf64_sparc" ;;
+ *) LD="${LD-ld} -64" ;;
+ esac
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+
AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL],
[*-*-cygwin* | *-*-mingw* | *-*-pw32*)
AC_CHECK_TOOL(DLLTOOL, dlltool, false)
@@ -819,7 +849,7 @@ AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION],
AC_CACHE_CHECK([$1], [$2],
[$2=no
ifelse([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
lt_compiler_flag="$3"
# Insert the option either (1) after the last *FLAGS variable, or
# (2) before a word containing "conftest.", or (3) at the end.
@@ -838,9 +868,9 @@ AC_CACHE_CHECK([$1], [$2],
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
- $echo "X$_lt_compiler_boilerplate" | $Xsed >conftest.exp
- $SED '/^$/d' conftest.err >conftest.er2
- if test ! -s conftest.err || diff conftest.exp conftest.er2 >/dev/null; then
+ $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
$2=yes
fi
fi
@@ -860,19 +890,20 @@ fi
# ------------------------------------------------------------
# Check whether the given compiler option works
AC_DEFUN([AC_LIBTOOL_LINKER_OPTION],
-[AC_CACHE_CHECK([$1], [$2],
+[AC_REQUIRE([LT_AC_PROG_SED])dnl
+AC_CACHE_CHECK([$1], [$2],
[$2=no
save_LDFLAGS="$LDFLAGS"
LDFLAGS="$LDFLAGS $3"
- printf "$lt_simple_link_test_code" > conftest.$ac_ext
+ echo "$lt_simple_link_test_code" > conftest.$ac_ext
if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
# The linker can only warn and ignore the option if not recognized
# So say no if there are warnings
if test -s conftest.err; then
# Append any errors to the config.log.
cat conftest.err 1>&AS_MESSAGE_LOG_FD
- $echo "X$_lt_linker_boilerplate" | $Xsed > conftest.exp
- $SED '/^$/d' conftest.err >conftest.er2
+ $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
if diff conftest.exp conftest.er2 >/dev/null; then
$2=yes
fi
@@ -947,6 +978,12 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
;;
+
+ interix*)
+ # We know the value 262144 and hardcode it with a safety zone (like BSD)
+ lt_cv_sys_max_cmd_len=196608
+ ;;
+
osf*)
# Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
# due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
@@ -960,25 +997,39 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
esac
fi
;;
+ sco3.2v5*)
+ lt_cv_sys_max_cmd_len=102400
+ ;;
+ sysv5* | sco5v6* | sysv4.2uw2*)
+ kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
+ if test -n "$kargmax"; then
+ lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'`
+ else
+ lt_cv_sys_max_cmd_len=32768
+ fi
+ ;;
*)
- # If test is not a shell built-in, we'll probably end up computing a
- # maximum length that is only half of the actual maximum length, but
- # we can't tell.
- SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
- while (test "X"`$SHELL [$]0 --fallback-echo "X$teststring" 2>/dev/null` \
+ lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
+ if test -n "$lt_cv_sys_max_cmd_len"; then
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+ else
+ SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
+ while (test "X"`$SHELL [$]0 --fallback-echo "X$teststring" 2>/dev/null` \
= "XX$teststring") >/dev/null 2>&1 &&
- new_result=`expr "X$teststring" : ".*" 2>&1` &&
- lt_cv_sys_max_cmd_len=$new_result &&
- test $i != 17 # 1/2 MB should be enough
- do
- i=`expr $i + 1`
- teststring=$teststring$teststring
- done
- teststring=
- # Add a significant safety factor because C++ compilers can tack on massive
- # amounts of additional arguments before passing them to the linker.
- # It appears as though 1/2 is a usable value.
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
+ new_result=`expr "X$teststring" : ".*" 2>&1` &&
+ lt_cv_sys_max_cmd_len=$new_result &&
+ test $i != 17 # 1/2 MB should be enough
+ do
+ i=`expr $i + 1`
+ teststring=$teststring$teststring
+ done
+ teststring=
+ # Add a significant safety factor because C++ compilers can tack on massive
+ # amounts of additional arguments before passing them to the linker.
+ # It appears as though 1/2 is a usable value.
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
+ fi
;;
esac
])
@@ -991,7 +1042,7 @@ fi
# _LT_AC_CHECK_DLFCN
-# --------------------
+# ------------------
AC_DEFUN([_LT_AC_CHECK_DLFCN],
[AC_CHECK_HEADERS(dlfcn.h)dnl
])# _LT_AC_CHECK_DLFCN
@@ -999,7 +1050,7 @@ AC_DEFUN([_LT_AC_CHECK_DLFCN],
# _LT_AC_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
-# ------------------------------------------------------------------
+# ---------------------------------------------------------------------
AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF],
[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl
if test "$cross_compiling" = yes; then :
@@ -1065,6 +1116,8 @@ int main ()
else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
/* dlclose (self); */
}
+ else
+ puts (dlerror ());
exit (status);
}]
@@ -1075,7 +1128,7 @@ EOF
case x$lt_status in
x$lt_dlno_uscore) $1 ;;
x$lt_dlneed_uscore) $2 ;;
- x$lt_unknown|x*) $3 ;;
+ x$lt_dlunknown|x*) $3 ;;
esac
else :
# compilation failed
@@ -1087,7 +1140,7 @@ rm -fr conftest*
# AC_LIBTOOL_DLOPEN_SELF
-# -------------------
+# ----------------------
AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF],
[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl
if test "x$enable_dlopen" != xyes; then
@@ -1158,7 +1211,7 @@ else
test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
save_LDFLAGS="$LDFLAGS"
- eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
+ wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
save_LIBS="$LIBS"
LIBS="$lt_cv_dlopen_libs $LIBS"
@@ -1171,7 +1224,7 @@ else
])
if test "x$lt_cv_dlopen_self" = xyes; then
- LDFLAGS="$LDFLAGS $link_static_flag"
+ wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
lt_cv_dlopen_self_static, [dnl
_LT_AC_TRY_DLOPEN_SELF(
@@ -1203,7 +1256,8 @@ fi
# ---------------------------------
# Check to see if options -c and -o are simultaneously supported by compiler
AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O],
-[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
+[AC_REQUIRE([LT_AC_PROG_SED])dnl
+AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
[_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
[_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
@@ -1211,7 +1265,7 @@ AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
mkdir conftest
cd conftest
mkdir out
- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
lt_compiler_flag="-o out/conftest2.$ac_objext"
# Insert the option either (1) after the last *FLAGS variable, or
@@ -1231,9 +1285,9 @@ AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings
- $echo "X$_lt_compiler_boilerplate" | $Xsed > out/conftest.exp
- $SED '/^$/d' out/conftest.err >out/conftest.er2
- if test ! -s out/conftest.err || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+ $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
+ $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+ if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
fi
fi
@@ -1351,6 +1405,7 @@ else
darwin*)
if test -n "$STRIP" ; then
striplib="$STRIP -x"
+ old_striplib="$STRIP -S"
AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no])
@@ -1368,7 +1423,8 @@ fi
# -----------------------------
# PORTME Fill in your ld.so characteristics
AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER],
-[AC_MSG_CHECKING([dynamic linker characteristics])
+[AC_REQUIRE([LT_AC_PROG_SED])dnl
+AC_MSG_CHECKING([dynamic linker characteristics])
library_names_spec=
libname_spec='lib$name'
soname_spec=
@@ -1382,20 +1438,58 @@ shlibpath_overrides_runpath=unknown
version_type=none
dynamic_linker="$host_os ld.so"
sys_lib_dlsearch_path_spec="/lib /usr/lib"
+m4_if($1,[],[
if test "$GCC" = yes; then
- sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
- if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then
+ case $host_os in
+ darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
+ *) lt_awk_arg="/^libraries:/" ;;
+ esac
+ lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+ if echo "$lt_search_path_spec" | grep ';' >/dev/null ; then
# if the path contains ";" then we assume it to be the separator
# otherwise default to the standard path separator (i.e. ":") - it is
# assumed that no part of a normal pathname contains ";" but that should
# okay in the real world where ";" in dirpaths is itself problematic.
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+ lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e 's/;/ /g'`
else
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+ lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
fi
+ # Ok, now we have the path, separated by spaces, we can step through it
+ # and add multilib dir if necessary.
+ lt_tmp_lt_search_path_spec=
+ lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
+ for lt_sys_path in $lt_search_path_spec; do
+ if test -d "$lt_sys_path/$lt_multi_os_dir"; then
+ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
+ else
+ test -d "$lt_sys_path" && \
+ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
+ fi
+ done
+ lt_search_path_spec=`echo $lt_tmp_lt_search_path_spec | awk '
+BEGIN {RS=" "; FS="/|\n";} {
+ lt_foo="";
+ lt_count=0;
+ for (lt_i = NF; lt_i > 0; lt_i--) {
+ if ($lt_i != "" && $lt_i != ".") {
+ if ($lt_i == "..") {
+ lt_count++;
+ } else {
+ if (lt_count == 0) {
+ lt_foo="/" $lt_i lt_foo;
+ } else {
+ lt_count--;
+ }
+ }
+ }
+ }
+ if (lt_foo != "") { lt_freq[[lt_foo]]++; }
+ if (lt_freq[[lt_foo]] == 1) { print lt_foo; }
+}'`
+ sys_lib_search_path_spec=`echo $lt_search_path_spec`
else
sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
-fi
+fi])
need_lib_prefix=unknown
hardcode_into_libs=no
@@ -1552,12 +1646,8 @@ darwin* | rhapsody*)
shlibpath_overrides_runpath=yes
shlibpath_var=DYLD_LIBRARY_PATH
shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
- # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
- if test "$GCC" = yes; then
- sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
- else
- sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib'
- fi
+ m4_if([$1], [],[
+ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"])
sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
;;
@@ -1574,18 +1664,6 @@ freebsd1*)
dynamic_linker=no
;;
-kfreebsd*-gnu)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- dynamic_linker='GNU ld.so'
- ;;
-
freebsd* | dragonfly*)
# DragonFly does not have aout. When/if they implement a new
# versioning mechanism, adjust this.
@@ -1618,10 +1696,15 @@ freebsd* | dragonfly*)
shlibpath_overrides_runpath=yes
hardcode_into_libs=yes
;;
- *) # from 3.2 on
+ freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \
+ freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1)
shlibpath_overrides_runpath=no
hardcode_into_libs=yes
;;
+ *) # from 4.6 on, and DragonFly
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
esac
;;
@@ -1681,6 +1764,18 @@ hpux9* | hpux10* | hpux11*)
postinstall_cmds='chmod 555 $lib'
;;
+interix[[3-9]]*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+
irix5* | irix6* | nonstopux*)
case $host_os in
nonstopux*) version_type=nonstopux ;;
@@ -1724,7 +1819,7 @@ linux*oldld* | linux*aout* | linux*coff*)
;;
# This must be Linux ELF.
-linux*)
+linux* | k*bsd*-gnu)
version_type=linux
need_lib_prefix=no
need_version=no
@@ -1740,7 +1835,7 @@ linux*)
# Append ld.so.conf contents to the search path
if test -f /etc/ld.so.conf; then
- lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+ lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
fi
@@ -1765,18 +1860,6 @@ netbsdelf*-gnu)
dynamic_linker='NetBSD ld.elf_so'
;;
-knetbsd*-gnu)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- dynamic_linker='GNU ld.so'
- ;;
-
netbsd*)
version_type=sunos
need_lib_prefix=no
@@ -1814,6 +1897,7 @@ nto-qnx*)
openbsd*)
version_type=sunos
+ sys_lib_dlsearch_path_spec="/usr/lib"
need_lib_prefix=no
# Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
case $host_os in
@@ -1857,11 +1941,8 @@ osf3* | osf4* | osf5*)
sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
;;
-sco3.2v5*)
- version_type=osf
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
+rdos*)
+ dynamic_linker=no
;;
solaris*)
@@ -1889,7 +1970,7 @@ sunos4*)
need_version=yes
;;
-sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+sysv4 | sysv4.3*)
version_type=linux
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
soname_spec='${libname}${release}${shared_ext}$major'
@@ -1922,6 +2003,29 @@ sysv4*MP*)
fi
;;
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+ version_type=freebsd-elf
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ hardcode_into_libs=yes
+ if test "$with_gnu_ld" = yes; then
+ sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
+ shlibpath_overrides_runpath=no
+ else
+ sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
+ shlibpath_overrides_runpath=yes
+ case $host_os in
+ sco3.2v5*)
+ sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
+ ;;
+ esac
+ fi
+ sys_lib_dlsearch_path_spec='/usr/lib'
+ ;;
+
uts4*)
version_type=linux
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
@@ -1935,13 +2039,19 @@ uts4*)
esac
AC_MSG_RESULT([$dynamic_linker])
test "$dynamic_linker" = no && can_build_shared=no
+
+variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
+if test "$GCC" = yes; then
+ variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
+fi
])# AC_LIBTOOL_SYS_DYNAMIC_LINKER
# _LT_AC_TAGCONFIG
# ----------------
AC_DEFUN([_LT_AC_TAGCONFIG],
-[AC_ARG_WITH([tags],
+[AC_REQUIRE([LT_AC_PROG_SED])dnl
+AC_ARG_WITH([tags],
[AC_HELP_STRING([--with-tags@<:@=TAGS@:>@],
[include additional configurations @<:@automatic@:>@])],
[tagnames="$withval"])
@@ -1959,6 +2069,9 @@ if test -f "$ltmain" && test -n "$tagnames"; then
AC_MSG_WARN([using `LTCC=$LTCC', extracted from `$ofile'])
fi
fi
+ if test -z "$LTCFLAGS"; then
+ eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`"
+ fi
# Extract list of available tagged configurations in $ofile.
# Note that this assumes the entire list is on one line.
@@ -2087,7 +2200,7 @@ AC_ARG_ENABLE([shared],
# AC_DISABLE_SHARED
# -----------------
-#- set the default shared flag to --disable-shared
+# set the default shared flag to --disable-shared
AC_DEFUN([AC_DISABLE_SHARED],
[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
AC_ENABLE_SHARED(no)
@@ -2199,7 +2312,7 @@ m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP],
# AC_PATH_TOOL_PREFIX
# -------------------
-# find a file program which can recognise shared library
+# find a file program which can recognize shared library
AC_DEFUN([AC_PATH_TOOL_PREFIX],
[AC_REQUIRE([AC_PROG_EGREP])dnl
AC_MSG_CHECKING([for $1])
@@ -2262,7 +2375,7 @@ fi
# AC_PATH_MAGIC
# -------------
-# find a file program which can recognise a shared library
+# find a file program which can recognize a shared library
AC_DEFUN([AC_PATH_MAGIC],
[AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
if test -z "$lt_cv_path_MAGIC_CMD"; then
@@ -2395,7 +2508,7 @@ reload_cmds='$LD$reload_flag -o $output$reload_objs'
case $host_os in
darwin*)
if test "$GCC" = yes; then
- reload_cmds='$CC -nostdlib ${wl}-r -o $output$reload_objs'
+ reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
else
reload_cmds='$LD$reload_flag -o $output$reload_objs'
fi
@@ -2409,7 +2522,7 @@ esac
# how to check for library dependencies
# -- PORTME fill in with the dynamic library characteristics
AC_DEFUN([AC_DEPLIBS_CHECK_METHOD],
-[AC_CACHE_CHECK([how to recognise dependent libraries],
+[AC_CACHE_CHECK([how to recognize dependent libraries],
lt_cv_deplibs_check_method,
[lt_cv_file_magic_cmd='$MAGIC_CMD'
lt_cv_file_magic_test_file=
@@ -2448,16 +2561,22 @@ cygwin*)
mingw* | pw32*)
# Base MSYS/MinGW do not provide the 'file' command needed by
- # func_win32_libid shell function, so use a weaker test based on 'objdump'.
- lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
- lt_cv_file_magic_cmd='$OBJDUMP -f'
+ # func_win32_libid shell function, so use a weaker test based on 'objdump',
+ # unless we find 'file', for example because we are cross-compiling.
+ if ( file / ) >/dev/null 2>&1; then
+ lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+ lt_cv_file_magic_cmd='func_win32_libid'
+ else
+ lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
+ lt_cv_file_magic_cmd='$OBJDUMP -f'
+ fi
;;
darwin* | rhapsody*)
lt_cv_deplibs_check_method=pass_all
;;
-freebsd* | kfreebsd*-gnu | dragonfly*)
+freebsd* | dragonfly*)
if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
case $host_cpu in
i*86 )
@@ -2495,6 +2614,11 @@ hpux10.20* | hpux11*)
esac
;;
+interix[[3-9]]*)
+ # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
+ lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
+ ;;
+
irix5* | irix6* | nonstopux*)
case $LD in
*-32|*"-32 ") libmagic=32-bit;;
@@ -2506,11 +2630,11 @@ irix5* | irix6* | nonstopux*)
;;
# This must be Linux ELF.
-linux*)
+linux* | k*bsd*-gnu)
lt_cv_deplibs_check_method=pass_all
;;
-netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+netbsd* | netbsdelf*-gnu)
if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
else
@@ -2540,7 +2664,7 @@ osf3* | osf4* | osf5*)
lt_cv_deplibs_check_method=pass_all
;;
-sco3.2v5*)
+rdos*)
lt_cv_deplibs_check_method=pass_all
;;
@@ -2548,7 +2672,7 @@ solaris*)
lt_cv_deplibs_check_method=pass_all
;;
-sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+sysv4 | sysv4.3*)
case $host_vendor in
motorola)
lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]'
@@ -2569,10 +2693,13 @@ sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
siemens)
lt_cv_deplibs_check_method=pass_all
;;
+ pc)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
esac
;;
-sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[[78]]* | unixware7* | sysv4*uw2*)
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
lt_cv_deplibs_check_method=pass_all
;;
esac
@@ -2592,36 +2719,43 @@ AC_DEFUN([AC_PROG_NM],
# Let the user override the test.
lt_cv_path_NM="$NM"
else
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- tmp_nm="$ac_dir/${ac_tool_prefix}nm"
- if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
- # Check to see if the nm accepts a BSD-compat flag.
- # Adding the `sed 1q' prevents false positives on HP-UX, which says:
- # nm: unknown option "B" ignored
- # Tru64's nm complains that /dev/null is an invalid object file
- case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
- */dev/null* | *'Invalid file or object type'*)
- lt_cv_path_NM="$tmp_nm -B"
- break
- ;;
- *)
- case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
- */dev/null*)
- lt_cv_path_NM="$tmp_nm -p"
+ lt_nm_to_check="${ac_tool_prefix}nm"
+ if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
+ lt_nm_to_check="$lt_nm_to_check nm"
+ fi
+ for lt_tmp_nm in $lt_nm_to_check; do
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
+ IFS="$lt_save_ifs"
+ test -z "$ac_dir" && ac_dir=.
+ tmp_nm="$ac_dir/$lt_tmp_nm"
+ if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
+ # Check to see if the nm accepts a BSD-compat flag.
+ # Adding the `sed 1q' prevents false positives on HP-UX, which says:
+ # nm: unknown option "B" ignored
+ # Tru64's nm complains that /dev/null is an invalid object file
+ case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
+ */dev/null* | *'Invalid file or object type'*)
+ lt_cv_path_NM="$tmp_nm -B"
break
;;
*)
- lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
- continue # so that we can try to find one that supports BSD flags
+ case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
+ */dev/null*)
+ lt_cv_path_NM="$tmp_nm -p"
+ break
+ ;;
+ *)
+ lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
+ continue # so that we can try to find one that supports BSD flags
+ ;;
+ esac
;;
esac
- esac
- fi
+ fi
+ done
+ IFS="$lt_save_ifs"
done
- IFS="$lt_save_ifs"
test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm
fi])
NM="$lt_cv_path_NM"
@@ -2727,7 +2861,7 @@ _LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}CXX])
])# _LT_AC_LANG_CXX
# _LT_AC_PROG_CXXCPP
-# ---------------
+# ------------------
AC_DEFUN([_LT_AC_PROG_CXXCPP],
[
AC_REQUIRE([AC_PROG_CXX])
@@ -2776,7 +2910,7 @@ _LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}GCJ])
# AC_LIBTOOL_RC
-# --------------
+# -------------
# enable support for Windows resource files
AC_DEFUN([AC_LIBTOOL_RC],
[AC_REQUIRE([LT_AC_PROG_RC])
@@ -2802,10 +2936,10 @@ objext=o
_LT_AC_TAGVAR(objext, $1)=$objext
# Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;\n"
+lt_simple_compile_test_code="int some_variable = 0;"
# Code to be used in simple link tests
-lt_simple_link_test_code='int main(){return(0);}\n'
+lt_simple_link_test_code='int main(){return(0);}'
_LT_AC_SYS_COMPILER
@@ -2813,37 +2947,6 @@ _LT_AC_SYS_COMPILER
_LT_COMPILER_BOILERPLATE
_LT_LINKER_BOILERPLATE
-#
-# Check for any special shared library compilation flags.
-#
-_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)=
-if test "$GCC" = no; then
- case $host_os in
- sco3.2v5*)
- _LT_AC_TAGVAR(lt_prog_cc_shlib, $1)='-belf'
- ;;
- esac
-fi
-if test -n "$_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)"; then
- AC_MSG_WARN([`$CC' requires `$_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)' to build shared libraries])
- if echo "$old_CC $old_CFLAGS " | grep "[[ ]]$_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)[[ ]]" >/dev/null; then :
- else
- AC_MSG_WARN([add `$_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)' to the CC or CFLAGS env variable and reconfigure])
- _LT_AC_TAGVAR(lt_cv_prog_cc_can_build_shared, $1)=no
- fi
-fi
-
-
-#
-# Check to make sure the static flag actually works.
-#
-AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $_LT_AC_TAGVAR(lt_prog_compiler_static, $1) works],
- _LT_AC_TAGVAR(lt_prog_compiler_static_works, $1),
- $_LT_AC_TAGVAR(lt_prog_compiler_static, $1),
- [],
- [_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=])
-
-
AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1)
AC_LIBTOOL_PROG_COMPILER_PIC($1)
AC_LIBTOOL_PROG_CC_C_O($1)
@@ -2852,9 +2955,9 @@ AC_LIBTOOL_PROG_LD_SHLIBS($1)
AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
AC_LIBTOOL_SYS_LIB_STRIP
-AC_LIBTOOL_DLOPEN_SELF($1)
+AC_LIBTOOL_DLOPEN_SELF
-# Report which librarie types wil actually be built
+# Report which library types will actually be built
AC_MSG_CHECKING([if libtool supports shared libraries])
AC_MSG_RESULT([$can_build_shared])
@@ -2913,6 +3016,7 @@ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
_LT_AC_TAGVAR(hardcode_minus_L, $1)=no
+_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
_LT_AC_TAGVAR(hardcode_automatic, $1)=no
_LT_AC_TAGVAR(module_cmds, $1)=
_LT_AC_TAGVAR(module_expsym_cmds, $1)=
@@ -2937,10 +3041,10 @@ objext=o
_LT_AC_TAGVAR(objext, $1)=$objext
# Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;\n"
+lt_simple_compile_test_code="int some_variable = 0;"
# Code to be used in simple link tests
-lt_simple_link_test_code='int main(int, char *[]) { return(0); }\n'
+lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }'
# ltmain only uses $CC for tagged configurations so make sure $CC is set.
_LT_AC_SYS_COMPILER
@@ -2959,12 +3063,12 @@ lt_save_path_LD=$lt_cv_path_LD
if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
else
- unset lt_cv_prog_gnu_ld
+ $as_unset lt_cv_prog_gnu_ld
fi
if test -n "${lt_cv_path_LDCXX+set}"; then
lt_cv_path_LD=$lt_cv_path_LDCXX
else
- unset lt_cv_path_LD
+ $as_unset lt_cv_path_LD
fi
test -z "${LDCXX+set}" || LD=$LDCXX
CC=${CXX-"c++"}
@@ -3059,6 +3163,7 @@ case $host_os in
;;
esac
done
+ ;;
esac
exp_sym_flag='-bexport'
@@ -3085,7 +3190,7 @@ case $host_os in
strings "$collect2name" | grep resolve_lib_name >/dev/null
then
# We have reworked collect2
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+ :
else
# We have old collect2
_LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
@@ -3096,6 +3201,7 @@ case $host_os in
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
fi
+ ;;
esac
shared_flag='-shared'
if test "$aix_use_runtimelinking" = yes; then
@@ -3127,12 +3233,12 @@ case $host_os in
_LT_AC_SYS_LIBPATH_AIX
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
else
if test "$host_cpu" = ia64; then
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
_LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols"
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
else
# Determine the default libpath from the value encoded in an empty executable.
_LT_AC_SYS_LIBPATH_AIX
@@ -3141,16 +3247,26 @@ case $host_os in
# -berok will link without error, but may produce a broken library.
_LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
_LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
- # -bexpall does not export symbols beginning with underscore (_)
- _LT_AC_TAGVAR(always_export_symbols, $1)=yes
# Exported symbols can be pulled into shared objects from archives
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=' '
+ _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
# This is similar to how AIX traditionally builds its shared libraries.
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
fi
fi
;;
+
+ beos*)
+ if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
+ # Joseph Beckenbach <jrb3 at best.com> says some releases of gcc
+ # support --undefined. This deserves some investigation. FIXME
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ else
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
chorus*)
case $cc_basename in
*)
@@ -3160,7 +3276,6 @@ case $host_os in
esac
;;
-
cygwin* | mingw* | pw32*)
# _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
# as there is no search path for DLLs.
@@ -3170,7 +3285,7 @@ case $host_os in
_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib'
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
# If the export-symbols file already is a .def file (1st line
# is EXPORTS), use it as is; otherwise, prepend...
_LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
@@ -3179,7 +3294,7 @@ case $host_os in
echo EXPORTS > $output_objdir/$soname.def;
cat $export_symbols >> $output_objdir/$soname.def;
fi~
- $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib'
+ $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
else
_LT_AC_TAGVAR(ld_shlibs, $1)=no
fi
@@ -3234,10 +3349,10 @@ case $host_os in
case $cc_basename in
xlc*)
output_verbose_link_cmd='echo'
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring'
_LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
# Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
_LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
;;
*)
@@ -3271,7 +3386,7 @@ case $host_os in
freebsd-elf*)
_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
;;
- freebsd* | kfreebsd*-gnu | dragonfly*)
+ freebsd* | dragonfly*)
# FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
# conventions
_LT_AC_TAGVAR(ld_shlibs, $1)=yes
@@ -3316,34 +3431,21 @@ case $host_os in
;;
hpux10*|hpux11*)
if test $with_gnu_ld = no; then
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+
case $host_cpu in
- hppa*64*)
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
- ;;
- ia64*)
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- ;;
+ hppa*64*|ia64*) ;;
*)
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
;;
esac
fi
case $host_cpu in
- hppa*64*)
+ hppa*64*|ia64*)
_LT_AC_TAGVAR(hardcode_direct, $1)=no
_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
;;
- ia64*)
- _LT_AC_TAGVAR(hardcode_direct, $1)=no
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
- # but as the default
- # location of the library.
- ;;
*)
_LT_AC_TAGVAR(hardcode_direct, $1)=yes
_LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
@@ -3359,8 +3461,11 @@ case $host_os in
;;
aCC*)
case $host_cpu in
- hppa*64*|ia64*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs'
+ hppa*64*)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ ia64*)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
;;
*)
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
@@ -3380,8 +3485,11 @@ case $host_os in
if test "$GXX" = yes; then
if test $with_gnu_ld = no; then
case $host_cpu in
- ia64*|hppa*64*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs'
+ hppa*64*)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ ia64*)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
;;
*)
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
@@ -3395,6 +3503,20 @@ case $host_os in
;;
esac
;;
+ interix[[3-9]]*)
+ _LT_AC_TAGVAR(hardcode_direct, $1)=no
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+ # Instead, shared libraries are loaded at an image base (0x10000000 by
+ # default) and relocated if they conflict, which is a slow very memory
+ # consuming and fragmenting process. To avoid this, we pick a random,
+ # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+ # time. Moving up from 0x10000000 also allows more sbrk(2) space.
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ ;;
irix5* | irix6*)
case $cc_basename in
CC*)
@@ -3421,7 +3543,7 @@ case $host_os in
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
;;
- linux*)
+ linux* | k*bsd*-gnu)
case $cc_basename in
KCC*)
# Kuck and Associates, Inc. (KAI) C++ Compiler
@@ -3501,6 +3623,29 @@ case $host_os in
# dependencies.
output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
;;
+ *)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*)
+ # Sun C++ 5.9
+ _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs'
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols'
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+
+ # Not sure whether something based on
+ # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
+ # would be better.
+ output_verbose_link_cmd='echo'
+
+ # Archives containing C++ object files must be created using
+ # "CC -xar", where "CC" is the Sun C++ compiler. This is
+ # necessary to make sure instantiated templates are included
+ # in the archive.
+ _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
+ ;;
+ esac
+ ;;
esac
;;
lynxos*)
@@ -3523,7 +3668,7 @@ case $host_os in
;;
esac
;;
- netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+ netbsd* | netbsdelf*-gnu)
if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
_LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
wlarc=
@@ -3539,16 +3684,20 @@ case $host_os in
_LT_AC_TAGVAR(ld_shlibs, $1)=no
;;
openbsd*)
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ if test -f /usr/libexec/ld.so; then
+ _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
+ _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ fi
+ output_verbose_link_cmd='echo'
+ else
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
fi
- output_verbose_link_cmd='echo'
;;
osf3*)
case $cc_basename in
@@ -3677,19 +3826,6 @@ case $host_os in
# FIXME: insert proper C++ library support
_LT_AC_TAGVAR(ld_shlibs, $1)=no
;;
- sco*)
- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
- case $cc_basename in
- CC*)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- *)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- esac
- ;;
sunos4*)
case $cc_basename in
CC*)
@@ -3723,15 +3859,10 @@ case $host_os in
case $host_os in
solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
*)
- # The C++ compiler is used as linker so we must use $wl
- # flag to pass the commands to the underlying system
- # linker. We must also pass each convience library through
- # to the system linker between allextract/defaultextract.
- # The C++ compiler will combine linker options so we
- # cannot just pass the convience library names through
- # without $wl.
+ # The compiler driver will combine and reorder linker options,
+ # but understands `-z linker_flag'.
# Supported since Solaris 2.6 (maybe 2.5.1?)
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract'
+ _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
;;
esac
_LT_AC_TAGVAR(link_all_deplibs, $1)=yes
@@ -3778,12 +3909,69 @@ case $host_os in
fi
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
+ case $host_os in
+ solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
+ *)
+ _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+ ;;
+ esac
fi
;;
esac
;;
- sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[[78]]* | unixware7*)
+ sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
+ _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ runpath_var='LD_RUN_PATH'
+
+ case $cc_basename in
+ CC*)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ ;;
+ sysv5* | sco3.2v5* | sco5v6*)
+ # Note: We can NOT use -z defs as we might desire, because we do not
+ # link with -lc, and that would cause any symbols used from libc to
+ # always be unresolved, which means just about no library would
+ # ever link correctly. If we're not using GNU ld we use -z text
+ # though, which does catch some bad symbols but isn't as heavy-handed
+ # as -z defs.
+ # For security reasons, it is highly recommended that you always
+ # use absolute paths for naming shared libraries, and exclude the
+ # DT_RUNPATH tag from executables and libraries. But doing so
+ # requires that you compile everything twice, which is a pain.
+ # So that behaviour is only enabled if SCOABSPATH is set to a
+ # non-empty value in the environment. Most likely only useful for
+ # creating official distributions of packages.
+ # This is a hack until libtool officially supports absolute path
+ # names for shared libraries.
+ _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
+ _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
+ _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+ _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
+ runpath_var='LD_RUN_PATH'
+
+ case $cc_basename in
+ CC*)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
;;
tandem*)
case $cc_basename in
@@ -3820,8 +4008,6 @@ AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
AC_LIBTOOL_PROG_LD_SHLIBS($1)
AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
-AC_LIBTOOL_SYS_LIB_STRIP
-AC_LIBTOOL_DLOPEN_SELF($1)
AC_LIBTOOL_CONFIG($1)
@@ -3839,7 +4025,7 @@ lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
])# AC_LIBTOOL_LANG_CXX_CONFIG
# AC_LIBTOOL_POSTDEP_PREDEP([TAGNAME])
-# ------------------------
+# ------------------------------------
# Figure out "hidden" library dependencies from verbose
# compiler output when linking a shared library.
# Parse the compiler output and extract the necessary
@@ -3972,15 +4158,57 @@ $rm -f confest.$objext
# PORTME: override above test on systems where it is broken
ifelse([$1],[CXX],
[case $host_os in
+interix[[3-9]]*)
+ # Interix 3.5 installs completely hosed .la files for C++, so rather than
+ # hack all around it, let's just trust "g++" to DTRT.
+ _LT_AC_TAGVAR(predep_objects,$1)=
+ _LT_AC_TAGVAR(postdep_objects,$1)=
+ _LT_AC_TAGVAR(postdeps,$1)=
+ ;;
+
+linux*)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*)
+ # Sun C++ 5.9
+ #
+ # The more standards-conforming stlport4 library is
+ # incompatible with the Cstd library. Avoid specifying
+ # it if it's in CXXFLAGS. Ignore libCrun as
+ # -library=stlport4 depends on it.
+ case " $CXX $CXXFLAGS " in
+ *" -library=stlport4 "*)
+ solaris_use_stlport4=yes
+ ;;
+ esac
+ if test "$solaris_use_stlport4" != yes; then
+ _LT_AC_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
+ fi
+ ;;
+ esac
+ ;;
+
solaris*)
case $cc_basename in
CC*)
+ # The more standards-conforming stlport4 library is
+ # incompatible with the Cstd library. Avoid specifying
+ # it if it's in CXXFLAGS. Ignore libCrun as
+ # -library=stlport4 depends on it.
+ case " $CXX $CXXFLAGS " in
+ *" -library=stlport4 "*)
+ solaris_use_stlport4=yes
+ ;;
+ esac
+
# Adding this requires a known-good setup of shared libraries for
# Sun compiler versions before 5.6, else PIC objects from an old
# archive will be linked into the output, leading to subtle bugs.
- _LT_AC_TAGVAR(postdeps,$1)='-lCstd -lCrun'
+ if test "$solaris_use_stlport4" != yes; then
+ _LT_AC_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
+ fi
;;
esac
+ ;;
esac
])
@@ -3990,7 +4218,7 @@ esac
])# AC_LIBTOOL_POSTDEP_PREDEP
# AC_LIBTOOL_LANG_F77_CONFIG
-# ------------------------
+# --------------------------
# Ensure that the configuration vars for the C compiler are
# suitably defined. Those variables are subsequently used by
# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
@@ -4026,10 +4254,17 @@ objext=o
_LT_AC_TAGVAR(objext, $1)=$objext
# Code to be used in simple compile tests
-lt_simple_compile_test_code=" subroutine t\n return\n end\n"
+lt_simple_compile_test_code="\
+ subroutine t
+ return
+ end
+"
# Code to be used in simple link tests
-lt_simple_link_test_code=" program t\n end\n"
+lt_simple_link_test_code="\
+ program t
+ end
+"
# ltmain only uses $CC for tagged configurations so make sure $CC is set.
_LT_AC_SYS_COMPILER
@@ -4074,8 +4309,6 @@ AC_MSG_CHECKING([whether to build static libraries])
test "$enable_shared" = yes || enable_static=yes
AC_MSG_RESULT([$enable_static])
-test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
-
_LT_AC_TAGVAR(GCC, $1)="$G77"
_LT_AC_TAGVAR(LD, $1)="$LD"
@@ -4085,8 +4318,6 @@ AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
AC_LIBTOOL_PROG_LD_SHLIBS($1)
AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
-AC_LIBTOOL_SYS_LIB_STRIP
-
AC_LIBTOOL_CONFIG($1)
@@ -4112,10 +4343,10 @@ objext=o
_LT_AC_TAGVAR(objext, $1)=$objext
# Code to be used in simple compile tests
-lt_simple_compile_test_code="class foo {}\n"
+lt_simple_compile_test_code="class foo {}"
# Code to be used in simple link tests
-lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }\n'
+lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }'
# ltmain only uses $CC for tagged configurations so make sure $CC is set.
_LT_AC_SYS_COMPILER
@@ -4143,8 +4374,6 @@ AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
AC_LIBTOOL_PROG_LD_SHLIBS($1)
AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
-AC_LIBTOOL_SYS_LIB_STRIP
-AC_LIBTOOL_DLOPEN_SELF($1)
AC_LIBTOOL_CONFIG($1)
@@ -4154,7 +4383,7 @@ CC="$lt_save_CC"
# AC_LIBTOOL_LANG_RC_CONFIG
-# --------------------------
+# -------------------------
# Ensure that the configuration vars for the Windows resource compiler are
# suitably defined. Those variables are subsequently used by
# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
@@ -4170,7 +4399,7 @@ objext=o
_LT_AC_TAGVAR(objext, $1)=$objext
# Code to be used in simple compile tests
-lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }\n'
+lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
# Code to be used in simple link tests
lt_simple_link_test_code="$lt_simple_compile_test_code"
@@ -4217,7 +4446,7 @@ if test -f "$ltmain"; then
# Now quote all the things that may contain metacharacters while being
# careful not to overquote the AC_SUBSTed values. We take copies of the
# variables and quote the copies for generation of the libtool script.
- for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC NM \
+ for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
SED SHELL STRIP \
libname_spec library_names_spec soname_spec extract_expsyms_cmds \
old_striplib striplib file_magic_cmd finish_cmds finish_eval \
@@ -4259,6 +4488,7 @@ if test -f "$ltmain"; then
_LT_AC_TAGVAR(module_cmds, $1) \
_LT_AC_TAGVAR(module_expsym_cmds, $1) \
_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) \
+ _LT_AC_TAGVAR(fix_srcfile_path, $1) \
_LT_AC_TAGVAR(exclude_expsyms, $1) \
_LT_AC_TAGVAR(include_expsyms, $1); do
@@ -4305,7 +4535,7 @@ ifelse([$1], [],
# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP)
# NOTE: Changes made to this file will be lost: look at ltmain.sh.
#
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
# Free Software Foundation, Inc.
#
# This file is part of GNU Libtool:
@@ -4386,6 +4616,9 @@ AR_FLAGS=$lt_AR_FLAGS
# A C compiler.
LTCC=$lt_LTCC
+# LTCC compiler flags.
+LTCFLAGS=$lt_LTCFLAGS
+
# A language-specific compiler.
CC=$lt_[]_LT_AC_TAGVAR(compiler, $1)
@@ -4627,7 +4860,7 @@ sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
# Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path="$_LT_AC_TAGVAR(fix_srcfile_path, $1)"
+fix_srcfile_path=$lt_fix_srcfile_path
# Set to yes if exported symbols are required.
always_export_symbols=$_LT_AC_TAGVAR(always_export_symbols, $1)
@@ -4710,6 +4943,7 @@ fi
# ---------------------------------
AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE],
[AC_REQUIRE([AC_CANONICAL_HOST])
+AC_REQUIRE([LT_AC_PROG_SED])
AC_REQUIRE([AC_PROG_NM])
AC_REQUIRE([AC_OBJEXT])
# Check for command to grab the raw symbol name followed by C symbol from nm.
@@ -4746,7 +4980,7 @@ hpux*) # Its linker distinguishes data from code symbols
lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'"
;;
-linux*)
+linux* | k*bsd*-gnu)
if test "$host_cpu" = ia64; then
symcode='[[ABCDGIRSTW]]'
lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
@@ -4759,9 +4993,18 @@ irix* | nonstopux*)
osf*)
symcode='[[BCDEGQRST]]'
;;
-solaris* | sysv5*)
+solaris*)
symcode='[[BDRT]]'
;;
+sco3.2v5*)
+ symcode='[[DT]]'
+ ;;
+sysv4.2uw2*)
+ symcode='[[DT]]'
+ ;;
+sysv5* | sco5v6* | unixware* | OpenUNIX*)
+ symcode='[[ABDT]]'
+ ;;
sysv4)
symcode='[[DFNSTU]]'
;;
@@ -4927,12 +5170,14 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
# like `-m68040'.
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
;;
- beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+ beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
# PIC is the default for these OSes.
;;
- mingw* | os2* | pw32*)
+ mingw* | cygwin* | os2* | pw32*)
# This hack is so that the source file can tell whether it is being
# built for inclusion in a dll (and should export symbols for example).
+ # Although the cygwin gcc ignores -fPIC, still need this for old-style
+ # (--disable-auto-import) libraries
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'
;;
darwin* | rhapsody*)
@@ -4944,6 +5189,10 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
# DJGPP does not support shared libraries at all
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
;;
+ interix[[3-9]]*)
+ # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+ # Instead, we relocate shared libraries at runtime.
+ ;;
sysv4*MP*)
if test -d /usr/nec; then
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
@@ -5006,21 +5255,21 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
;;
esac
;;
- freebsd* | kfreebsd*-gnu | dragonfly*)
+ freebsd* | dragonfly*)
# FreeBSD uses GNU C++
;;
hpux9* | hpux10* | hpux11*)
case $cc_basename in
CC*)
_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="${ac_cv_prog_cc_wl}-a ${ac_cv_prog_cc_wl}archive"
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
if test "$host_cpu" != ia64; then
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
fi
;;
aCC*)
_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="${ac_cv_prog_cc_wl}-a ${ac_cv_prog_cc_wl}archive"
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
case $host_cpu in
hppa*64*|ia64*)
# +Z the default
@@ -5034,6 +5283,10 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
;;
esac
;;
+ interix*)
+ # This is c89, which is MS Visual C++ (no shared libs)
+ # Anyone wants to do a port?
+ ;;
irix5* | irix6* | nonstopux*)
case $cc_basename in
CC*)
@@ -5045,7 +5298,7 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
;;
esac
;;
- linux*)
+ linux* | k*bsd*-gnu)
case $cc_basename in
KCC*)
# KAI C++ Compiler
@@ -5072,6 +5325,14 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
;;
*)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*)
+ # Sun C++ 5.9
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+ ;;
+ esac
;;
esac
;;
@@ -5088,7 +5349,7 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
;;
esac
;;
- netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+ netbsd* | netbsdelf*-gnu)
;;
osf3* | osf4* | osf5*)
case $cc_basename in
@@ -5113,15 +5374,6 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
;;
psos*)
;;
- sco*)
- case $cc_basename in
- CC*)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
- ;;
- *)
- ;;
- esac
- ;;
solaris*)
case $cc_basename in
CC*)
@@ -5163,7 +5415,14 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
;;
esac
;;
- unixware*)
+ sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+ case $cc_basename in
+ CC*)
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+ esac
;;
vxworks*)
;;
@@ -5194,13 +5453,15 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
;;
- beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+ beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
# PIC is the default for these OSes.
;;
- mingw* | pw32* | os2*)
+ mingw* | cygwin* | pw32* | os2*)
# This hack is so that the source file can tell whether it is being
# built for inclusion in a dll (and should export symbols for example).
+ # Although the cygwin gcc ignores -fPIC, still need this for old-style
+ # (--disable-auto-import) libraries
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'
;;
@@ -5210,6 +5471,11 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
;;
+ interix[[3-9]]*)
+ # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+ # Instead, we relocate shared libraries at runtime.
+ ;;
+
msdosdjgpp*)
# Just because we use GCC doesn't mean we suddenly get shared libraries
# on systems that don't support them.
@@ -5263,7 +5529,7 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
esac
;;
- mingw* | pw32* | os2*)
+ mingw* | cygwin* | pw32* | os2*)
# This hack is so that the source file can tell whether it is being
# built for inclusion in a dll (and should export symbols for example).
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'
@@ -5296,7 +5562,7 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
;;
- linux*)
+ linux* | k*bsd*-gnu)
case $cc_basename in
icc* | ecc*)
_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
@@ -5315,6 +5581,22 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
# All Alpha code is PIC.
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
;;
+ *)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*)
+ # Sun C 5.9
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ ;;
+ *Sun\ F*)
+ # Sun Fortran 8.3 passes all unrecognized flags to the linker
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)=''
+ ;;
+ esac
+ ;;
esac
;;
@@ -5324,9 +5606,8 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
;;
- sco3.2v5*)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-Kpic'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-dn'
+ rdos*)
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
;;
solaris*)
@@ -5346,7 +5627,7 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
;;
- sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+ sysv4 | sysv4.2uw2* | sysv4.3*)
_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
@@ -5359,6 +5640,12 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
fi
;;
+ sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+
unicos*)
_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
_LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
@@ -5400,6 +5687,16 @@ case $host_os in
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])"
;;
esac
+
+#
+# Check to make sure the static flag actually works.
+#
+wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_AC_TAGVAR(lt_prog_compiler_static, $1)\"
+AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
+ _LT_AC_TAGVAR(lt_prog_compiler_static_works, $1),
+ $lt_tmp_static_flag,
+ [],
+ [_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=])
])
@@ -5407,7 +5704,8 @@ esac
# ------------------------------------
# See if the linker supports building shared libraries.
AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS],
-[AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
+[AC_REQUIRE([LT_AC_PROG_SED])dnl
+AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
ifelse([$1],[CXX],[
_LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
case $host_os in
@@ -5424,9 +5722,9 @@ ifelse([$1],[CXX],[
_LT_AC_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
;;
cygwin* | mingw*)
- _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]] /s/.* \([[^ ]]*\)/\1 DATA/;/^.* __nm__/s/^.* __nm__\([[^ ]]*\) [[^ ]]*/\1 DATA/;/^I /d;/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols'
+ _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;/^.*[[ ]]__nm__/s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
;;
- linux*)
+ linux* | k*bsd*-gnu)
_LT_AC_TAGVAR(link_all_deplibs, $1)=no
;;
*)
@@ -5481,6 +5779,10 @@ ifelse([$1],[CXX],[
with_gnu_ld=no
fi
;;
+ interix*)
+ # we just hope/assume this is gcc and not c89 (= MSVC++)
+ with_gnu_ld=yes
+ ;;
openbsd*)
with_gnu_ld=no
;;
@@ -5562,10 +5864,10 @@ EOF
_LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
_LT_AC_TAGVAR(always_export_symbols, $1)=no
_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
- _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]] /s/.* \([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols'
+ _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/'\'' -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib'
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
# If the export-symbols file already is a .def file (1st line
# is EXPORTS), use it as is; otherwise, prepend...
_LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
@@ -5574,13 +5876,28 @@ EOF
echo EXPORTS > $output_objdir/$soname.def;
cat $export_symbols >> $output_objdir/$soname.def;
fi~
- $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib'
+ $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
else
_LT_AC_TAGVAR(ld_shlibs, $1)=no
fi
;;
- linux*)
+ interix[[3-9]]*)
+ _LT_AC_TAGVAR(hardcode_direct, $1)=no
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+ # Instead, shared libraries are loaded at an image base (0x10000000 by
+ # default) and relocated if they conflict, which is a slow very memory
+ # consuming and fragmenting process. To avoid this, we pick a random,
+ # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+ # time. Moving up from 0x10000000 also allows more sbrk(2) space.
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ ;;
+
+ gnu* | linux* | k*bsd*-gnu)
if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
tmp_addflag=
case $cc_basename,$host_cpu in
@@ -5598,13 +5915,22 @@ EOF
ifc* | ifort*) # Intel Fortran compiler
tmp_addflag=' -nofor_main' ;;
esac
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*) # Sun C 5.9
+ _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+ tmp_sharedflag='-G' ;;
+ *Sun\ F*) # Sun Fortran 8.3
+ tmp_sharedflag='-G' ;;
+ *)
+ tmp_sharedflag='-shared' ;;
+ esac
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
if test $supports_anon_versioning = yes; then
_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $output_objdir/$libname.ver~
cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
$echo "local: *; };" >> $output_objdir/$libname.ver~
- $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
fi
_LT_AC_TAGVAR(link_all_deplibs, $1)=no
else
@@ -5612,7 +5938,7 @@ EOF
fi
;;
- netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+ netbsd* | netbsdelf*-gnu)
if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
_LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
wlarc=
@@ -5622,7 +5948,7 @@ EOF
fi
;;
- solaris* | sysv5*)
+ solaris*)
if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
_LT_AC_TAGVAR(ld_shlibs, $1)=no
cat <<EOF 1>&2
@@ -5643,6 +5969,33 @@ EOF
fi
;;
+ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
+ case `$LD -v 2>&1` in
+ *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ cat <<_LT_EOF 1>&2
+
+*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
+*** reliably create shared libraries on SCO systems. Therefore, libtool
+*** is disabling shared libraries support. We urge you to upgrade GNU
+*** binutils to release 2.16.91.0.3 or newer. Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+_LT_EOF
+ ;;
+ *)
+ if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib'
+ else
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ esac
+ ;;
+
sunos4*)
_LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
wlarc=
@@ -5676,7 +6029,7 @@ EOF
# Note: this linker hardcodes the directories in LIBPATH if there
# are no directories specified by -L.
_LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
- if test "$GCC" = yes && test -z "$link_static_flag"; then
+ if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
# Neither direct hardcoding nor static linking is supported with a
# broken collect2.
_LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
@@ -5710,6 +6063,7 @@ EOF
break
fi
done
+ ;;
esac
exp_sym_flag='-bexport'
@@ -5736,7 +6090,7 @@ EOF
strings "$collect2name" | grep resolve_lib_name >/dev/null
then
# We have reworked collect2
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+ :
else
# We have old collect2
_LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
@@ -5747,6 +6101,7 @@ EOF
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
fi
+ ;;
esac
shared_flag='-shared'
if test "$aix_use_runtimelinking" = yes; then
@@ -5759,11 +6114,11 @@ EOF
# chokes on -Wl,-G. The following line is correct:
shared_flag='-G'
else
- if test "$aix_use_runtimelinking" = yes; then
+ if test "$aix_use_runtimelinking" = yes; then
shared_flag='${wl}-G'
else
shared_flag='${wl}-bM:SRE'
- fi
+ fi
fi
fi
@@ -5777,12 +6132,12 @@ EOF
# Determine the default libpath from the value encoded in an empty executable.
_LT_AC_SYS_LIBPATH_AIX
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
else
if test "$host_cpu" = ia64; then
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
_LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols"
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
else
# Determine the default libpath from the value encoded in an empty executable.
_LT_AC_SYS_LIBPATH_AIX
@@ -5791,13 +6146,11 @@ EOF
# -berok will link without error, but may produce a broken library.
_LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
_LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
- # -bexpall does not export symbols beginning with underscore (_)
- _LT_AC_TAGVAR(always_export_symbols, $1)=yes
# Exported symbols can be pulled into shared objects from archives
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=' '
+ _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
# This is similar to how AIX traditionally builds its shared libraries.
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
fi
fi
;;
@@ -5830,7 +6183,7 @@ EOF
# The linker will automatically build a .lib file if we build a DLL.
_LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='true'
# FIXME: Should let the user specify the lib program.
- _LT_AC_TAGVAR(old_archive_cmds, $1)='lib /OUT:$oldlib$oldobjs$old_deplibs'
+ _LT_AC_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
_LT_AC_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`'
_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
;;
@@ -5872,10 +6225,10 @@ EOF
case $cc_basename in
xlc*)
output_verbose_link_cmd='echo'
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring'
_LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
# Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
_LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
;;
*)
@@ -5915,7 +6268,7 @@ EOF
;;
# FreeBSD 3 and greater uses gcc -shared to do shared libraries.
- freebsd* | kfreebsd*-gnu | dragonfly*)
+ freebsd* | dragonfly*)
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
_LT_AC_TAGVAR(hardcode_direct, $1)=yes
@@ -5938,47 +6291,62 @@ EOF
_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
;;
- hpux10* | hpux11*)
+ hpux10*)
+ if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+ fi
+ if test "$with_gnu_ld" = no; then
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+ _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+ fi
+ ;;
+
+ hpux11*)
if test "$GCC" = yes -a "$with_gnu_ld" = no; then
case $host_cpu in
- hppa*64*|ia64*)
+ hppa*64*)
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
;;
+ ia64*)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
*)
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
;;
esac
else
case $host_cpu in
- hppa*64*|ia64*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hppa*64*)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ ia64*)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
;;
*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
;;
esac
fi
if test "$with_gnu_ld" = no; then
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+
case $host_cpu in
- hppa*64*)
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+ hppa*64*|ia64*)
_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
- _LT_AC_TAGVAR(hardcode_direct, $1)=no
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
- ia64*)
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
_LT_AC_TAGVAR(hardcode_direct, $1)=no
_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
;;
*)
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
_LT_AC_TAGVAR(hardcode_direct, $1)=yes
_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
@@ -6002,7 +6370,7 @@ EOF
_LT_AC_TAGVAR(link_all_deplibs, $1)=yes
;;
- netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+ netbsd* | netbsdelf*-gnu)
if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
_LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
else
@@ -6022,24 +6390,28 @@ EOF
;;
openbsd*)
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ if test -f /usr/libexec/ld.so; then
+ _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ else
+ case $host_os in
+ openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ ;;
+ *)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ ;;
+ esac
+ fi
else
- case $host_os in
- openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- ;;
- *)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- ;;
- esac
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
fi
;;
@@ -6080,14 +6452,6 @@ EOF
_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
;;
- sco3.2v5*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
- runpath_var=LD_RUN_PATH
- hardcode_runpath_var=yes
- ;;
-
solaris*)
_LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text'
if test "$GCC" = yes; then
@@ -6106,17 +6470,16 @@ EOF
case $host_os in
solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
*)
- # The compiler driver will combine linker options so we
- # cannot just pass the convience library names through
- # without $wl, iff we do not link with $LD.
- # Luckily, gcc supports the same syntax we need for Sun Studio.
+ # The compiler driver will combine and reorder linker options,
+ # but understands `-z linker_flag'. GCC discards it without `$wl',
+ # but is careful enough not to reorder.
# Supported since Solaris 2.6 (maybe 2.5.1?)
- case $wlarc in
- '')
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' ;;
- *)
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;;
- esac ;;
+ if test "$GCC" = yes; then
+ _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+ else
+ _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
+ fi
+ ;;
esac
_LT_AC_TAGVAR(link_all_deplibs, $1)=yes
;;
@@ -6173,36 +6536,45 @@ EOF
fi
;;
- sysv4.2uw2*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=no
+ sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
+ _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+ _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- hardcode_runpath_var=yes
- runpath_var=LD_RUN_PATH
- ;;
+ runpath_var='LD_RUN_PATH'
- sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[[78]]* | unixware7*)
- _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z ${wl}text'
if test "$GCC" = yes; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
else
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
fi
- runpath_var='LD_RUN_PATH'
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
;;
- sysv5*)
- _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text'
- # $CC -shared without GNU ld will not create a library from C++
- # object files and a static libstdc++, better avoid it by now
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
+ sysv5* | sco3.2v5* | sco5v6*)
+ # Note: We can NOT use -z defs as we might desire, because we do not
+ # link with -lc, and that would cause any symbols used from libc to
+ # always be unresolved, which means just about no library would
+ # ever link correctly. If we're not using GNU ld we use -z text
+ # though, which does catch some bad symbols but isn't as heavy-handed
+ # as -z defs.
+ _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
+ _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
+ _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+ _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
runpath_var='LD_RUN_PATH'
+
+ if test "$GCC" = yes; then
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ fi
;;
uts4*)
@@ -6220,11 +6592,6 @@ EOF
AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)])
test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
- variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-fi
-
#
# Do we need to explicitly link libc?
#
@@ -6244,7 +6611,7 @@ x|xyes)
# to ld, don't add -lc before -lgcc.
AC_MSG_CHECKING([whether -lc should be explicitly linked in])
$rm conftest*
- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
soname=conftest
@@ -6252,6 +6619,7 @@ x|xyes)
libobjs=conftest.$ac_objext
deplibs=
wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)
+ pic_flag=$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)
compiler_flags=-v
linker_flags=-v
verstring=
@@ -6346,6 +6714,30 @@ AC_DEFUN([LT_AC_PROG_RC],
[AC_CHECK_TOOL(RC, windres, no)
])
+
+# Cheap backport of AS_EXECUTABLE_P and required macros
+# from Autoconf 2.59; we should not use $as_executable_p directly.
+
+# _AS_TEST_PREPARE
+# ----------------
+m4_ifndef([_AS_TEST_PREPARE],
+[m4_defun([_AS_TEST_PREPARE],
+[if test -x / >/dev/null 2>&1; then
+ as_executable_p='test -x'
+else
+ as_executable_p='test -f'
+fi
+])])# _AS_TEST_PREPARE
+
+# AS_EXECUTABLE_P
+# ---------------
+# Check whether a file is executable.
+m4_ifndef([AS_EXECUTABLE_P],
+[m4_defun([AS_EXECUTABLE_P],
+[AS_REQUIRE([_AS_TEST_PREPARE])dnl
+$as_executable_p $1[]dnl
+])])# AS_EXECUTABLE_P
+
# NOTE: This macro has been submitted for inclusion into #
# GNU Autoconf as AC_PROG_SED. When it is available in #
# a released version of Autoconf we should remove this #
@@ -6366,12 +6758,13 @@ do
test -z "$as_dir" && as_dir=.
for lt_ac_prog in sed gsed; do
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
+ if AS_EXECUTABLE_P(["$as_dir/$lt_ac_prog$ac_exec_ext"]); then
lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
fi
done
done
done
+IFS=$as_save_IFS
lt_ac_max=0
lt_ac_count=0
# Add /usr/xpg4/bin/sed as it is typically found on Solaris
@@ -6404,9 +6797,168 @@ for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
done
])
SED=$lt_cv_path_SED
+AC_SUBST([SED])
AC_MSG_RESULT([$SED])
])
+# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*-
+#
+# Copyright © 2004 Scott James Remnant <scott at netsplit.com>.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# PKG_PROG_PKG_CONFIG([MIN-VERSION])
+# ----------------------------------
+AC_DEFUN([PKG_PROG_PKG_CONFIG],
+[m4_pattern_forbid([^_?PKG_[A-Z_]+$])
+m4_pattern_allow([^PKG_CONFIG(_PATH)?$])
+AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])dnl
+if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
+ AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
+fi
+if test -n "$PKG_CONFIG"; then
+ _pkg_min_version=m4_default([$1], [0.9.0])
+ AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version])
+ if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
+ PKG_CONFIG=""
+ fi
+
+fi[]dnl
+])# PKG_PROG_PKG_CONFIG
+
+# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
+#
+# Check to see whether a particular set of modules exists. Similar
+# to PKG_CHECK_MODULES(), but does not set variables or print errors.
+#
+#
+# Similar to PKG_CHECK_MODULES, make sure that the first instance of
+# this or PKG_CHECK_MODULES is called, or make sure to call
+# PKG_CHECK_EXISTS manually
+# --------------------------------------------------------------
+AC_DEFUN([PKG_CHECK_EXISTS],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
+if test -n "$PKG_CONFIG" && \
+ AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then
+ m4_ifval([$2], [$2], [:])
+m4_ifvaln([$3], [else
+ $3])dnl
+fi])
+
+
+# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
+# ---------------------------------------------
+m4_define([_PKG_CONFIG],
+[if test -n "$PKG_CONFIG"; then
+ if test -n "$$1"; then
+ pkg_cv_[]$1="$$1"
+ else
+ PKG_CHECK_EXISTS([$3],
+ [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`],
+ [pkg_failed=yes])
+ fi
+else
+ pkg_failed=untried
+fi[]dnl
+])# _PKG_CONFIG
+
+# _PKG_SHORT_ERRORS_SUPPORTED
+# -----------------------------
+AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+ _pkg_short_errors_supported=yes
+else
+ _pkg_short_errors_supported=no
+fi[]dnl
+])# _PKG_SHORT_ERRORS_SUPPORTED
+
+
+# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
+# [ACTION-IF-NOT-FOUND])
+#
+#
+# Note that if there is a possibility the first call to
+# PKG_CHECK_MODULES might not happen, you should be sure to include an
+# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
+#
+#
+# --------------------------------------------------------------
+AC_DEFUN([PKG_CHECK_MODULES],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
+AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
+AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl
+
+pkg_failed=no
+AC_MSG_CHECKING([for $1])
+
+_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2])
+_PKG_CONFIG([$1][_LIBS], [libs], [$2])
+
+m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS
+and $1[]_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.])
+
+if test $pkg_failed = yes; then
+ _PKG_SHORT_ERRORS_SUPPORTED
+ if test $_pkg_short_errors_supported = yes; then
+ $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "$2"`
+ else
+ $1[]_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"`
+ fi
+ # Put the nasty error message in config.log where it belongs
+ echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
+
+ ifelse([$4], , [AC_MSG_ERROR(dnl
+[Package requirements ($2) were not met:
+
+$$1_PKG_ERRORS
+
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
+
+_PKG_TEXT
+])],
+ [AC_MSG_RESULT([no])
+ $4])
+elif test $pkg_failed = untried; then
+ ifelse([$4], , [AC_MSG_FAILURE(dnl
+[The pkg-config script could not be found or is too old. Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
+
+_PKG_TEXT
+
+To get pkg-config, see <http://pkg-config.freedesktop.org/>.])],
+ [$4])
+else
+ $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
+ $1[]_LIBS=$pkg_cv_[]$1[]_LIBS
+ AC_MSG_RESULT([yes])
+ ifelse([$3], , :, [$3])
+fi[]dnl
+])# PKG_CHECK_MODULES
+
# -*- Autoconf -*-
# Copyright (C) 2002, 2003 Free Software Foundation, Inc.
# Generated from amversion.in; do not edit by hand.
diff --git a/config.guess b/config.guess
index ad5281e..0f0fe71 100755
--- a/config.guess
+++ b/config.guess
@@ -1,9 +1,10 @@
#! /bin/sh
# Attempt to guess a canonical system name.
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-# 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation,
+# Inc.
-timestamp='2005-08-03'
+timestamp='2007-03-06'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@@ -106,7 +107,7 @@ set_cc_for_build='
trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
: ${TMPDIR=/tmp} ;
- { tmp=`(umask 077 && mktemp -d -q "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
+ { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
{ test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
{ tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
{ echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
@@ -160,6 +161,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
arm*) machine=arm-unknown ;;
sh3el) machine=shl-unknown ;;
sh3eb) machine=sh-unknown ;;
+ sh5el) machine=sh5le-unknown ;;
*) machine=${UNAME_MACHINE_ARCH}-unknown ;;
esac
# The Operating System including object format, if it has switched
@@ -206,8 +208,11 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
*:ekkoBSD:*:*)
echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
exit ;;
+ *:SolidBSD:*:*)
+ echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
+ exit ;;
macppc:MirBSD:*:*)
- echo powerppc-unknown-mirbsd${UNAME_RELEASE}
+ echo powerpc-unknown-mirbsd${UNAME_RELEASE}
exit ;;
*:MirBSD:*:*)
echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
@@ -764,12 +769,19 @@ EOF
echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
exit ;;
*:FreeBSD:*:*)
- echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
+ case ${UNAME_MACHINE} in
+ pc98)
+ echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+ amd64)
+ echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+ *)
+ echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+ esac
exit ;;
i*:CYGWIN*:*)
echo ${UNAME_MACHINE}-pc-cygwin
exit ;;
- i*:MINGW*:*)
+ *:MINGW*:*)
echo ${UNAME_MACHINE}-pc-mingw32
exit ;;
i*:windows32*:*)
@@ -779,9 +791,15 @@ EOF
i*:PW*:*)
echo ${UNAME_MACHINE}-pc-pw32
exit ;;
- x86:Interix*:[34]*)
- echo i586-pc-interix${UNAME_RELEASE}|sed -e 's/\..*//'
- exit ;;
+ *:Interix*:[3456]*)
+ case ${UNAME_MACHINE} in
+ x86)
+ echo i586-pc-interix${UNAME_RELEASE}
+ exit ;;
+ EM64T | authenticamd)
+ echo x86_64-unknown-interix${UNAME_RELEASE}
+ exit ;;
+ esac ;;
[345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
echo i${UNAME_MACHINE}-pc-mks
exit ;;
@@ -817,6 +835,9 @@ EOF
arm*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;;
+ avr32*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
cris:Linux:*:*)
echo cris-axis-linux-gnu
exit ;;
@@ -851,7 +872,11 @@ EOF
#endif
#endif
EOF
- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
+ eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
+ /^CPU/{
+ s: ::g
+ p
+ }'`"
test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
;;
mips64:Linux:*:*)
@@ -870,7 +895,11 @@ EOF
#endif
#endif
EOF
- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
+ eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
+ /^CPU/{
+ s: ::g
+ p
+ }'`"
test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
;;
or32:Linux:*:*)
@@ -919,9 +948,15 @@ EOF
sparc:Linux:*:* | sparc64:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;;
+ vax:Linux:*:*)
+ echo ${UNAME_MACHINE}-dec-linux-gnu
+ exit ;;
x86_64:Linux:*:*)
echo x86_64-unknown-linux-gnu
exit ;;
+ xtensa:Linux:*:*)
+ echo xtensa-unknown-linux-gnu
+ exit ;;
i*86:Linux:*:*)
# The BFD linker knows what the default object file format is, so
# first see if it will tell us. cd to the root directory to prevent
@@ -964,7 +999,7 @@ EOF
LIBC=gnulibc1
# endif
#else
- #ifdef __INTEL_COMPILER
+ #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC)
LIBC=gnu
#else
LIBC=gnuaout
@@ -974,7 +1009,11 @@ EOF
LIBC=dietlibc
#endif
EOF
- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
+ eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
+ /^LIBC/{
+ s: ::g
+ p
+ }'`"
test x"${LIBC}" != x && {
echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
exit
@@ -1176,6 +1215,15 @@ EOF
SX-6:SUPER-UX:*:*)
echo sx6-nec-superux${UNAME_RELEASE}
exit ;;
+ SX-7:SUPER-UX:*:*)
+ echo sx7-nec-superux${UNAME_RELEASE}
+ exit ;;
+ SX-8:SUPER-UX:*:*)
+ echo sx8-nec-superux${UNAME_RELEASE}
+ exit ;;
+ SX-8R:SUPER-UX:*:*)
+ echo sx8r-nec-superux${UNAME_RELEASE}
+ exit ;;
Power*:Rhapsody:*:*)
echo powerpc-apple-rhapsody${UNAME_RELEASE}
exit ;;
@@ -1185,7 +1233,6 @@ EOF
*:Darwin:*:*)
UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
case $UNAME_PROCESSOR in
- *86) UNAME_PROCESSOR=i686 ;;
unknown) UNAME_PROCESSOR=powerpc ;;
esac
echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
@@ -1264,6 +1311,9 @@ EOF
i*86:skyos:*:*)
echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
exit ;;
+ i*86:rdos:*:*)
+ echo ${UNAME_MACHINE}-pc-rdos
+ exit ;;
esac
#echo '(No uname command or uname output not recognized.)' 1>&2
diff --git a/config.sub b/config.sub
index 1c366df..5defff6 100755
--- a/config.sub
+++ b/config.sub
@@ -1,9 +1,10 @@
#! /bin/sh
# Configuration validation subroutine script.
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-# 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation,
+# Inc.
-timestamp='2005-07-08'
+timestamp='2007-01-18'
# This file is (in principle) common to ALL GNU software.
# The presence of a machine in this file suggests that SOME GNU software
@@ -119,8 +120,9 @@ esac
# Here we must recognize all the valid KERNEL-OS combinations.
maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
case $maybe_os in
- nto-qnx* | linux-gnu* | linux-dietlibc | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | \
- kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*)
+ nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
+ uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
+ storm-chaos* | os2-emx* | rtmk-nova*)
os=-$maybe_os
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
;;
@@ -171,6 +173,10 @@ case $os in
-hiux*)
os=-hiuxwe2
;;
+ -sco6)
+ os=-sco5v6
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
-sco5)
os=-sco3.2v5
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
@@ -187,6 +193,10 @@ case $os in
# Don't forget version if it is 3.2v4 or newer.
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
+ -sco5v6*)
+ # Don't forget version if it is 3.2v4 or newer.
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
-sco*)
os=-sco3.2v2
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
@@ -231,15 +241,16 @@ case $basic_machine in
| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
| am33_2.0 \
- | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \
+ | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
| bfin \
| c4x | clipper \
| d10v | d30v | dlx | dsp16xx \
- | fr30 | frv \
+ | fido | fr30 | frv \
| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
| i370 | i860 | i960 | ia64 \
| ip2k | iq2000 \
- | m32r | m32rle | m68000 | m68k | m88k | maxq | mcore \
+ | m32c | m32r | m32rle | m68000 | m68k | m88k \
+ | maxq | mb | microblaze | mcore | mep \
| mips | mipsbe | mipseb | mipsel | mipsle \
| mips16 \
| mips64 | mips64el \
@@ -257,28 +268,27 @@ case $basic_machine in
| mipsisa64sr71k | mipsisa64sr71kel \
| mipstx39 | mipstx39el \
| mn10200 | mn10300 \
- | ms1 \
+ | mt \
| msp430 \
+ | nios | nios2 \
| ns16k | ns32k \
| or32 \
| pdp10 | pdp11 | pj | pjl \
| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
| pyramid \
- | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \
+ | score \
+ | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
| sh64 | sh64le \
- | sparc | sparc64 | sparc64b | sparc86x | sparclet | sparclite \
- | sparcv8 | sparcv9 | sparcv9b \
- | strongarm \
+ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
+ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
+ | spu | strongarm \
| tahoe | thumb | tic4x | tic80 | tron \
| v850 | v850e \
| we32k \
- | x86 | xscale | xscalee[bl] | xstormy16 | xtensa \
+ | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
| z8k)
basic_machine=$basic_machine-unknown
;;
- m32c)
- basic_machine=$basic_machine-unknown
- ;;
m6811 | m68hc11 | m6812 | m68hc12)
# Motorola 68HC11/12.
basic_machine=$basic_machine-unknown
@@ -286,6 +296,9 @@ case $basic_machine in
;;
m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
;;
+ ms1)
+ basic_machine=mt-unknown
+ ;;
# We use `pc' rather than `unknown'
# because (1) that's what they normally are, and
@@ -305,18 +318,18 @@ case $basic_machine in
| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
| arm-* | armbe-* | armle-* | armeb-* | armv*-* \
- | avr-* \
+ | avr-* | avr32-* \
| bfin-* | bs2000-* \
| c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
| clipper-* | craynv-* | cydra-* \
| d10v-* | d30v-* | dlx-* \
| elxsi-* \
- | f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \
+ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
| h8300-* | h8500-* \
| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
| i*86-* | i860-* | i960-* | ia64-* \
| ip2k-* | iq2000-* \
- | m32r-* | m32rle-* \
+ | m32c-* | m32r-* | m32rle-* \
| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
| m88110-* | m88k-* | maxq-* | mcore-* \
| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
@@ -336,31 +349,30 @@ case $basic_machine in
| mipsisa64sr71k-* | mipsisa64sr71kel-* \
| mipstx39-* | mipstx39el-* \
| mmix-* \
- | ms1-* \
+ | mt-* \
| msp430-* \
+ | nios-* | nios2-* \
| none-* | np1-* | ns16k-* | ns32k-* \
| orion-* \
| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
| pyramid-* \
| romp-* | rs6000-* \
- | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | shbe-* \
+ | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
- | sparc-* | sparc64-* | sparc64b-* | sparc86x-* | sparclet-* \
+ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
| sparclite-* \
- | sparcv8-* | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \
+ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
| tahoe-* | thumb-* \
| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
| tron-* \
| v850-* | v850e-* | vax-* \
| we32k-* \
- | x86-* | x86_64-* | xps100-* | xscale-* | xscalee[bl]-* \
+ | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
| xstormy16-* | xtensa-* \
| ymp-* \
| z8k-*)
;;
- m32c-*)
- ;;
# Recognize the various machine names and aliases which stand
# for a CPU type and a company and sometimes even an OS.
386bsd)
@@ -696,6 +708,9 @@ case $basic_machine in
basic_machine=i386-pc
os=-msdos
;;
+ ms1-*)
+ basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
+ ;;
mvs)
basic_machine=i370-ibm
os=-mvs
@@ -803,6 +818,12 @@ case $basic_machine in
pc532 | pc532-*)
basic_machine=ns32k-pc532
;;
+ pc98)
+ basic_machine=i386-pc
+ ;;
+ pc98-*)
+ basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
pentium | p5 | k5 | k6 | nexgen | viac3)
basic_machine=i586-pc
;;
@@ -859,6 +880,10 @@ case $basic_machine in
basic_machine=i586-unknown
os=-pw32
;;
+ rdos)
+ basic_machine=i386-pc
+ os=-rdos
+ ;;
rom68k)
basic_machine=m68k-rom68k
os=-coff
@@ -885,6 +910,10 @@ case $basic_machine in
sb1el)
basic_machine=mipsisa64sb1el-unknown
;;
+ sde)
+ basic_machine=mipsisa32-sde
+ os=-elf
+ ;;
sei)
basic_machine=mips-sei
os=-seiux
@@ -896,6 +925,9 @@ case $basic_machine in
basic_machine=sh-hitachi
os=-hms
;;
+ sh5el)
+ basic_machine=sh5le-unknown
+ ;;
sh64)
basic_machine=sh64-unknown
;;
@@ -1101,7 +1133,7 @@ case $basic_machine in
sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele)
basic_machine=sh-unknown
;;
- sparc | sparcv8 | sparcv9 | sparcv9b)
+ sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
basic_machine=sparc-sun
;;
cydra)
@@ -1174,21 +1206,23 @@ case $os in
| -aos* \
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
- | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* | -openbsd* \
+ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
+ | -openbsd* | -solidbsd* \
| -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
| -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
| -chorusos* | -chorusrdb* \
| -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
- | -mingw32* | -linux-gnu* | -linux-uclibc* | -uxpv* | -beos* | -mpeix* | -udk* \
+ | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
+ | -uxpv* | -beos* | -mpeix* | -udk* \
| -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
| -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
| -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
| -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
| -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
| -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
- | -skyos* | -haiku*)
+ | -skyos* | -haiku* | -rdos* | -toppers* | -drops*)
# Remember, each alternative MUST END IN *, to match a version number.
;;
-qnx*)
@@ -1340,6 +1374,12 @@ else
# system, and we'll never get to this point.
case $basic_machine in
+ score-*)
+ os=-elf
+ ;;
+ spu-*)
+ os=-elf
+ ;;
*-acorn)
os=-riscix1.2
;;
@@ -1349,9 +1389,9 @@ case $basic_machine in
arm*-semi)
os=-aout
;;
- c4x-* | tic4x-*)
- os=-coff
- ;;
+ c4x-* | tic4x-*)
+ os=-coff
+ ;;
# This must come before the *-dec entry.
pdp10-*)
os=-tops20
@@ -1377,6 +1417,9 @@ case $basic_machine in
m68*-cisco)
os=-aout
;;
+ mep-*)
+ os=-elf
+ ;;
mips*-cisco)
os=-elf
;;
diff --git a/configure b/configure
index 8c5b846..2318e71 100755
--- a/configure
+++ b/configure
@@ -1,25 +1,54 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.59.
+# Generated by GNU Autoconf 2.61.
#
-# Copyright (C) 2003 Free Software Foundation, Inc.
+# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
+# 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
# This configure script is free software; the Free Software Foundation
# gives unlimited permission to copy, distribute and modify it.
## --------------------- ##
## M4sh Initialization. ##
## --------------------- ##
-# Be Bourne compatible
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
emulate sh
NULLCMD=:
# Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
# is contrary to our usage. Disable this feature.
alias -g '${1+"$@"}'='"$@"'
-elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
- set -o posix
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in
+ *posix*) set -o posix ;;
+esac
+
+fi
+
+
+
+
+# PATH needs CR
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ echo "#! /bin/sh" >conf$$.sh
+ echo "exit 0" >>conf$$.sh
+ chmod +x conf$$.sh
+ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+ PATH_SEPARATOR=';'
+ else
+ PATH_SEPARATOR=:
+ fi
+ rm -f conf$$.sh
fi
-DUALCASE=1; export DUALCASE # for MKS sh
# Support unset when possible.
if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
@@ -29,8 +58,43 @@ else
fi
+# IFS
+# We need space, tab and new line, in precisely that order. Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+as_nl='
+'
+IFS=" "" $as_nl"
+
+# Find who we are. Look in the path if we contain no directory separator.
+case $0 in
+ *[\\/]* ) as_myself=$0 ;;
+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
+IFS=$as_save_IFS
+
+ ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+ as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+ echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+ { (exit 1); exit 1; }
+fi
+
# Work around bugs in pre-3.0 UWIN ksh.
-$as_unset ENV MAIL MAILPATH
+for as_var in ENV MAIL MAILPATH
+do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+done
PS1='$ '
PS2='> '
PS4='+ '
@@ -44,18 +108,19 @@ do
if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
eval $as_var=C; export $as_var
else
- $as_unset $as_var
+ ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
fi
done
# Required to use basename.
-if expr a : '\(a\)' >/dev/null 2>&1; then
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
as_expr=expr
else
as_expr=false
fi
-if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
as_basename=basename
else
as_basename=false
@@ -63,157 +128,388 @@ fi
# Name of the executable.
-as_me=`$as_basename "$0" ||
+as_me=`$as_basename -- "$0" ||
$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)$' \| \
- . : '\(.\)' 2>/dev/null ||
+ X"$0" : 'X\(/\)' \| . 2>/dev/null ||
echo X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
- /^X\/\(\/\/\)$/{ s//\1/; q; }
- /^X\/\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
+ sed '/^.*\/\([^/][^/]*\)\/*$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+# CDPATH.
+$as_unset CDPATH
-# PATH needs CR, and LINENO needs CR and PATH.
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- echo "#! /bin/sh" >conf$$.sh
- echo "exit 0" >>conf$$.sh
- chmod +x conf$$.sh
- if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
- PATH_SEPARATOR=';'
- else
- PATH_SEPARATOR=:
- fi
- rm -f conf$$.sh
+if test "x$CONFIG_SHELL" = x; then
+ if (eval ":") 2>/dev/null; then
+ as_have_required=yes
+else
+ as_have_required=no
fi
+ if test $as_have_required = yes && (eval ":
+(as_func_return () {
+ (exit \$1)
+}
+as_func_success () {
+ as_func_return 0
+}
+as_func_failure () {
+ as_func_return 1
+}
+as_func_ret_success () {
+ return 0
+}
+as_func_ret_failure () {
+ return 1
+}
- as_lineno_1=$LINENO
- as_lineno_2=$LINENO
- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
- test "x$as_lineno_1" != "x$as_lineno_2" &&
- test "x$as_lineno_3" = "x$as_lineno_2" || {
- # Find who we are. Look in the path if we contain no path at all
- # relative or not.
- case $0 in
- *[\\/]* ) as_myself=$0 ;;
- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-done
+exitcode=0
+if as_func_success; then
+ :
+else
+ exitcode=1
+ echo as_func_success failed.
+fi
- ;;
- esac
- # We did not find ourselves, most probably we were run as `sh COMMAND'
- # in which case we are not to be found in the path.
- if test "x$as_myself" = x; then
- as_myself=$0
- fi
- if test ! -f "$as_myself"; then
- { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2
- { (exit 1); exit 1; }; }
- fi
- case $CONFIG_SHELL in
- '')
+if as_func_failure; then
+ exitcode=1
+ echo as_func_failure succeeded.
+fi
+
+if as_func_ret_success; then
+ :
+else
+ exitcode=1
+ echo as_func_ret_success failed.
+fi
+
+if as_func_ret_failure; then
+ exitcode=1
+ echo as_func_ret_failure succeeded.
+fi
+
+if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
+ :
+else
+ exitcode=1
+ echo positional parameters were not saved.
+fi
+
+test \$exitcode = 0) || { (exit 1); exit 1; }
+
+(
+ as_lineno_1=\$LINENO
+ as_lineno_2=\$LINENO
+ test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" &&
+ test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; }
+") 2> /dev/null; then
+ :
+else
+ as_candidate_shells=
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
- for as_base in sh bash ksh sh5; do
- case $as_dir in
+ case $as_dir in
/*)
- if ("$as_dir/$as_base" -c '
+ for as_base in sh bash ksh sh5; do
+ as_candidate_shells="$as_candidate_shells $as_dir/$as_base"
+ done;;
+ esac
+done
+IFS=$as_save_IFS
+
+
+ for as_shell in $as_candidate_shells $SHELL; do
+ # Try only shells that exist, to save several forks.
+ if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
+ { ("$as_shell") 2> /dev/null <<\_ASEOF
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in
+ *posix*) set -o posix ;;
+esac
+
+fi
+
+
+:
+_ASEOF
+}; then
+ CONFIG_SHELL=$as_shell
+ as_have_required=yes
+ if { "$as_shell" 2> /dev/null <<\_ASEOF
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in
+ *posix*) set -o posix ;;
+esac
+
+fi
+
+
+:
+(as_func_return () {
+ (exit $1)
+}
+as_func_success () {
+ as_func_return 0
+}
+as_func_failure () {
+ as_func_return 1
+}
+as_func_ret_success () {
+ return 0
+}
+as_func_ret_failure () {
+ return 1
+}
+
+exitcode=0
+if as_func_success; then
+ :
+else
+ exitcode=1
+ echo as_func_success failed.
+fi
+
+if as_func_failure; then
+ exitcode=1
+ echo as_func_failure succeeded.
+fi
+
+if as_func_ret_success; then
+ :
+else
+ exitcode=1
+ echo as_func_ret_success failed.
+fi
+
+if as_func_ret_failure; then
+ exitcode=1
+ echo as_func_ret_failure succeeded.
+fi
+
+if ( set x; as_func_ret_success y && test x = "$1" ); then
+ :
+else
+ exitcode=1
+ echo positional parameters were not saved.
+fi
+
+test $exitcode = 0) || { (exit 1); exit 1; }
+
+(
as_lineno_1=$LINENO
as_lineno_2=$LINENO
- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
test "x$as_lineno_1" != "x$as_lineno_2" &&
- test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then
- $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
- $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
- CONFIG_SHELL=$as_dir/$as_base
- export CONFIG_SHELL
- exec "$CONFIG_SHELL" "$0" ${1+"$@"}
- fi;;
- esac
- done
-done
-;;
- esac
+ test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; }
+
+_ASEOF
+}; then
+ break
+fi
+
+fi
+
+ done
+
+ if test "x$CONFIG_SHELL" != x; then
+ for as_var in BASH_ENV ENV
+ do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+ done
+ export CONFIG_SHELL
+ exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
+fi
+
+
+ if test $as_have_required = no; then
+ echo This script requires a shell more modern than all the
+ echo shells that I found on your system. Please install a
+ echo modern shell, or manually run the script under such a
+ echo shell if you do have one.
+ { (exit 1); exit 1; }
+fi
+
+
+fi
+
+fi
+
+
+
+(eval "as_func_return () {
+ (exit \$1)
+}
+as_func_success () {
+ as_func_return 0
+}
+as_func_failure () {
+ as_func_return 1
+}
+as_func_ret_success () {
+ return 0
+}
+as_func_ret_failure () {
+ return 1
+}
+
+exitcode=0
+if as_func_success; then
+ :
+else
+ exitcode=1
+ echo as_func_success failed.
+fi
+
+if as_func_failure; then
+ exitcode=1
+ echo as_func_failure succeeded.
+fi
+
+if as_func_ret_success; then
+ :
+else
+ exitcode=1
+ echo as_func_ret_success failed.
+fi
+
+if as_func_ret_failure; then
+ exitcode=1
+ echo as_func_ret_failure succeeded.
+fi
+
+if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
+ :
+else
+ exitcode=1
+ echo positional parameters were not saved.
+fi
+
+test \$exitcode = 0") || {
+ echo No shell found that supports shell functions.
+ echo Please tell autoconf at gnu.org about your system,
+ echo including any error possibly output before this
+ echo message
+}
+
+
+
+ as_lineno_1=$LINENO
+ as_lineno_2=$LINENO
+ test "x$as_lineno_1" != "x$as_lineno_2" &&
+ test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
# Create $as_me.lineno as a copy of $as_myself, but with $LINENO
# uniformly replaced by the line number. The first 'sed' inserts a
- # line-number line before each line; the second 'sed' does the real
- # work. The second script uses 'N' to pair each line-number line
- # with the numbered line, and appends trailing '-' during
- # substitution so that $LINENO is not a special case at line end.
+ # line-number line after each line using $LINENO; the second 'sed'
+ # does the real work. The second script uses 'N' to pair each
+ # line-number line with the line containing $LINENO, and appends
+ # trailing '-' during substitution so that $LINENO is not a special
+ # case at line end.
# (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
- # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-)
- sed '=' <$as_myself |
+ # scripts with optimization help from Paolo Bonzini. Blame Lee
+ # E. McMahon (1931-1989) for sed's syntax. :-)
+ sed -n '
+ p
+ /[$]LINENO/=
+ ' <$as_myself |
sed '
+ s/[$]LINENO.*/&-/
+ t lineno
+ b
+ :lineno
N
- s,$,-,
- : loop
- s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
+ :loop
+ s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
t loop
- s,-$,,
- s,^['$as_cr_digits']*\n,,
+ s/-\n.*//
' >$as_me.lineno &&
- chmod +x $as_me.lineno ||
+ chmod +x "$as_me.lineno" ||
{ echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
{ (exit 1); exit 1; }; }
# Don't try to exec as it changes $[0], causing all sort of problems
# (the dirname of $[0] is not the place where we might find the
- # original and so on. Autoconf is especially sensible to this).
- . ./$as_me.lineno
+ # original and so on. Autoconf is especially sensitive to this).
+ . "./$as_me.lineno"
# Exit status is that of the last command.
exit
}
-case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
- *c*,-n*) ECHO_N= ECHO_C='
-' ECHO_T=' ' ;;
- *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;;
- *) ECHO_N= ECHO_C='\c' ECHO_T= ;;
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+ as_dirname=dirname
+else
+ as_dirname=false
+fi
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in
+-n*)
+ case `echo 'x\c'` in
+ *c*) ECHO_T=' ';; # ECHO_T is single tab character.
+ *) ECHO_C='\c';;
+ esac;;
+*)
+ ECHO_N='-n';;
esac
-if expr a : '\(a\)' >/dev/null 2>&1; then
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
as_expr=expr
else
as_expr=false
fi
rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+ rm -f conf$$.dir/conf$$.file
+else
+ rm -f conf$$.dir
+ mkdir conf$$.dir
+fi
echo >conf$$.file
if ln -s conf$$.file conf$$ 2>/dev/null; then
- # We could just check for DJGPP; but this test a) works b) is more generic
- # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
- if test -f conf$$.exe; then
- # Don't use ln at all; we don't have any links
+ as_ln_s='ln -s'
+ # ... but there are two gotchas:
+ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+ # In both cases, we have to default to `cp -p'.
+ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
as_ln_s='cp -p'
- else
- as_ln_s='ln -s'
- fi
elif ln conf$$.file conf$$ 2>/dev/null; then
as_ln_s=ln
else
as_ln_s='cp -p'
fi
-rm -f conf$$ conf$$.exe conf$$.file
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
if mkdir -p . 2>/dev/null; then
as_mkdir_p=:
@@ -222,7 +518,28 @@ else
as_mkdir_p=false
fi
-as_executable_p="test -f"
+if test -x / >/dev/null 2>&1; then
+ as_test_x='test -x'
+else
+ if ls -dL / >/dev/null 2>&1; then
+ as_ls_L_option=L
+ else
+ as_ls_L_option=
+ fi
+ as_test_x='
+ eval sh -c '\''
+ if test -d "$1"; then
+ test -d "$1/.";
+ else
+ case $1 in
+ -*)set "./$1";;
+ esac;
+ case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
+ ???[sx]*):;;*)false;;esac;fi
+ '\'' sh
+ '
+fi
+as_executable_p=$as_test_x
# Sed expression to map a string onto a valid CPP name.
as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -231,15 +548,6 @@ as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-# IFS
-# We need space, tab and new line, in precisely that order.
-as_nl='
-'
-IFS=" $as_nl"
-
-# CDPATH.
-$as_unset CDPATH
-
# Check that we are running under the correct shell.
@@ -395,29 +703,26 @@ tagnames=${tagnames+${tagnames},}CXX
tagnames=${tagnames+${tagnames},}F77
+exec 7<&0 </dev/null 6>&1
+
# Name of the host.
# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
# so uname gets run too.
ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
-exec 6>&1
-
#
# Initializations.
#
ac_default_prefix=/usr/local
+ac_clean_files=
ac_config_libobj_dir=.
+LIBOBJS=
cross_compiling=no
subdirs=
MFLAGS=
MAKEFLAGS=
SHELL=${CONFIG_SHELL-/bin/sh}
-# Maximum number of lines to put in a shell here document.
-# This variable seems obsolete. It should probably be removed, and
-# only ac_max_sed_lines should be used.
-: ${ac_max_here_lines=38}
-
# Identity of this package.
PACKAGE_NAME=
PACKAGE_TARNAME=
@@ -429,42 +734,185 @@ ac_unique_file="src/gts.h"
# Factoring default headers for most tests.
ac_includes_default="\
#include <stdio.h>
-#if HAVE_SYS_TYPES_H
+#ifdef HAVE_SYS_TYPES_H
# include <sys/types.h>
#endif
-#if HAVE_SYS_STAT_H
+#ifdef HAVE_SYS_STAT_H
# include <sys/stat.h>
#endif
-#if STDC_HEADERS
+#ifdef STDC_HEADERS
# include <stdlib.h>
# include <stddef.h>
#else
-# if HAVE_STDLIB_H
+# ifdef HAVE_STDLIB_H
# include <stdlib.h>
# endif
#endif
-#if HAVE_STRING_H
-# if !STDC_HEADERS && HAVE_MEMORY_H
+#ifdef HAVE_STRING_H
+# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
# include <memory.h>
# endif
# include <string.h>
#endif
-#if HAVE_STRINGS_H
+#ifdef HAVE_STRINGS_H
# include <strings.h>
#endif
-#if HAVE_INTTYPES_H
+#ifdef HAVE_INTTYPES_H
# include <inttypes.h>
-#else
-# if HAVE_STDINT_H
-# include <stdint.h>
-# endif
#endif
-#if HAVE_UNISTD_H
+#ifdef HAVE_STDINT_H
+# include <stdint.h>
+#endif
+#ifdef HAVE_UNISTD_H
# include <unistd.h>
#endif"
-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS GTS_MAJOR_VERSION GTS_MINOR_VERSION GTS_MICRO_VERSION GTS_VERSION LT_RELEASE LT_CURRENT LT_REVISION LT_AGE INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DA [...]
+ac_subst_vars='SHELL
+PATH_SEPARATOR
+PACKAGE_NAME
+PACKAGE_TARNAME
+PACKAGE_VERSION
+PACKAGE_STRING
+PACKAGE_BUGREPORT
+exec_prefix
+prefix
+program_transform_name
+bindir
+sbindir
+libexecdir
+datarootdir
+datadir
+sysconfdir
+sharedstatedir
+localstatedir
+includedir
+oldincludedir
+docdir
+infodir
+htmldir
+dvidir
+pdfdir
+psdir
+libdir
+localedir
+mandir
+DEFS
+ECHO_C
+ECHO_N
+ECHO_T
+LIBS
+build_alias
+host_alias
+target_alias
+GTS_MAJOR_VERSION
+GTS_MINOR_VERSION
+GTS_MICRO_VERSION
+GTS_VERSION
+LT_RELEASE
+LT_CURRENT
+LT_REVISION
+LT_AGE
+INSTALL_PROGRAM
+INSTALL_SCRIPT
+INSTALL_DATA
+CYGPATH_W
+PACKAGE
+VERSION
+ACLOCAL
+AUTOCONF
+AUTOMAKE
+AUTOHEADER
+MAKEINFO
+AMTAR
+install_sh
+STRIP
+INSTALL_STRIP_PROGRAM
+mkdir_p
+AWK
+SET_MAKE
+am__leading_dot
+build
+build_cpu
+build_vendor
+build_os
+host
+host_cpu
+host_vendor
+host_os
+CC
+CFLAGS
+LDFLAGS
+CPPFLAGS
+ac_ct_CC
+EXEEXT
+OBJEXT
+DEPDIR
+am__include
+am__quote
+AMDEP_TRUE
+AMDEP_FALSE
+AMDEPBACKSLASH
+CCDEPMODE
+am__fastdepCC_TRUE
+am__fastdepCC_FALSE
+SED
+GREP
+EGREP
+LN_S
+ECHO
+AR
+RANLIB
+CPP
+CXX
+CXXFLAGS
+ac_ct_CXX
+CXXDEPMODE
+am__fastdepCXX_TRUE
+am__fastdepCXX_FALSE
+CXXCPP
+F77
+FFLAGS
+ac_ct_F77
+LIBTOOL
+MAINTAINER_MODE_TRUE
+MAINTAINER_MODE_FALSE
+MAINT
+HAS_NETPBM_TRUE
+HAS_NETPBM_FALSE
+PKG_CONFIG
+GLIB_CFLAGS
+GLIB_LIBS
+GLIB_GENMARSHAL
+GOBJECT_QUERY
+GLIB_MKENUMS
+GLIB_CONFIG
+glib_cflags
+glib_libs
+glib_thread_cflags
+glib_thread_libs
+glib_module_cflags
+glib_module_libs
+GLIB_DEPLIBS
+LIBOBJS
+LTLIBOBJS'
ac_subst_files=''
+ ac_precious_vars='build_alias
+host_alias
+target_alias
+CC
+CFLAGS
+LDFLAGS
+LIBS
+CPPFLAGS
+CPP
+CXX
+CXXFLAGS
+CCC
+CXXCPP
+F77
+FFLAGS
+PKG_CONFIG'
+
# Initialize some variables set by options.
ac_init_help=
@@ -491,34 +939,48 @@ x_libraries=NONE
# and all the variables that are supposed to be based on exec_prefix
# by default will actually change.
# Use braces instead of parens because sh, perl, etc. also accept them.
+# (The list follows the same order as the GNU Coding Standards.)
bindir='${exec_prefix}/bin'
sbindir='${exec_prefix}/sbin'
libexecdir='${exec_prefix}/libexec'
-datadir='${prefix}/share'
+datarootdir='${prefix}/share'
+datadir='${datarootdir}'
sysconfdir='${prefix}/etc'
sharedstatedir='${prefix}/com'
localstatedir='${prefix}/var'
-libdir='${exec_prefix}/lib'
includedir='${prefix}/include'
oldincludedir='/usr/include'
-infodir='${prefix}/info'
-mandir='${prefix}/man'
+docdir='${datarootdir}/doc/${PACKAGE}'
+infodir='${datarootdir}/info'
+htmldir='${docdir}'
+dvidir='${docdir}'
+pdfdir='${docdir}'
+psdir='${docdir}'
+libdir='${exec_prefix}/lib'
+localedir='${datarootdir}/locale'
+mandir='${datarootdir}/man'
ac_prev=
+ac_dashdash=
for ac_option
do
# If the previous option needs an argument, assign it.
if test -n "$ac_prev"; then
- eval "$ac_prev=\$ac_option"
+ eval $ac_prev=\$ac_option
ac_prev=
continue
fi
- ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'`
+ case $ac_option in
+ *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+ *) ac_optarg=yes ;;
+ esac
# Accept the important Cygnus configure options, so we can diagnose typos.
- case $ac_option in
+ case $ac_dashdash$ac_option in
+ --)
+ ac_dashdash=yes ;;
-bindir | --bindir | --bindi | --bind | --bin | --bi)
ac_prev=bindir ;;
@@ -540,33 +1002,45 @@ do
--config-cache | -C)
cache_file=config.cache ;;
- -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
+ -datadir | --datadir | --datadi | --datad)
ac_prev=datadir ;;
- -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
- | --da=*)
+ -datadir=* | --datadir=* | --datadi=* | --datad=*)
datadir=$ac_optarg ;;
+ -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
+ | --dataroo | --dataro | --datar)
+ ac_prev=datarootdir ;;
+ -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
+ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
+ datarootdir=$ac_optarg ;;
+
-disable-* | --disable-*)
ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
# Reject names that are not valid shell variable names.
- expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+ expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null &&
{ echo "$as_me: error: invalid feature name: $ac_feature" >&2
{ (exit 1); exit 1; }; }
- ac_feature=`echo $ac_feature | sed 's/-/_/g'`
- eval "enable_$ac_feature=no" ;;
+ ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'`
+ eval enable_$ac_feature=no ;;
+
+ -docdir | --docdir | --docdi | --doc | --do)
+ ac_prev=docdir ;;
+ -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
+ docdir=$ac_optarg ;;
+
+ -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
+ ac_prev=dvidir ;;
+ -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
+ dvidir=$ac_optarg ;;
-enable-* | --enable-*)
ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
# Reject names that are not valid shell variable names.
- expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+ expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null &&
{ echo "$as_me: error: invalid feature name: $ac_feature" >&2
{ (exit 1); exit 1; }; }
- ac_feature=`echo $ac_feature | sed 's/-/_/g'`
- case $ac_option in
- *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
- *) ac_optarg=yes ;;
- esac
- eval "enable_$ac_feature='$ac_optarg'" ;;
+ ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'`
+ eval enable_$ac_feature=\$ac_optarg ;;
-exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
| --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
@@ -593,6 +1067,12 @@ do
-host=* | --host=* | --hos=* | --ho=*)
host_alias=$ac_optarg ;;
+ -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
+ ac_prev=htmldir ;;
+ -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
+ | --ht=*)
+ htmldir=$ac_optarg ;;
+
-includedir | --includedir | --includedi | --included | --include \
| --includ | --inclu | --incl | --inc)
ac_prev=includedir ;;
@@ -617,13 +1097,16 @@ do
| --libexe=* | --libex=* | --libe=*)
libexecdir=$ac_optarg ;;
+ -localedir | --localedir | --localedi | --localed | --locale)
+ ac_prev=localedir ;;
+ -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
+ localedir=$ac_optarg ;;
+
-localstatedir | --localstatedir | --localstatedi | --localstated \
- | --localstate | --localstat | --localsta | --localst \
- | --locals | --local | --loca | --loc | --lo)
+ | --localstate | --localstat | --localsta | --localst | --locals)
ac_prev=localstatedir ;;
-localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
- | --localstate=* | --localstat=* | --localsta=* | --localst=* \
- | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
localstatedir=$ac_optarg ;;
-mandir | --mandir | --mandi | --mand | --man | --ma | --m)
@@ -688,6 +1171,16 @@ do
| --progr-tra=* | --program-tr=* | --program-t=*)
program_transform_name=$ac_optarg ;;
+ -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
+ ac_prev=pdfdir ;;
+ -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
+ pdfdir=$ac_optarg ;;
+
+ -psdir | --psdir | --psdi | --psd | --ps)
+ ac_prev=psdir ;;
+ -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
+ psdir=$ac_optarg ;;
+
-q | -quiet | --quiet | --quie | --qui | --qu | --q \
| -silent | --silent | --silen | --sile | --sil)
silent=yes ;;
@@ -740,24 +1233,20 @@ do
-with-* | --with-*)
ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
# Reject names that are not valid shell variable names.
- expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+ expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null &&
{ echo "$as_me: error: invalid package name: $ac_package" >&2
{ (exit 1); exit 1; }; }
- ac_package=`echo $ac_package| sed 's/-/_/g'`
- case $ac_option in
- *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
- *) ac_optarg=yes ;;
- esac
- eval "with_$ac_package='$ac_optarg'" ;;
+ ac_package=`echo $ac_package | sed 's/[-.]/_/g'`
+ eval with_$ac_package=\$ac_optarg ;;
-without-* | --without-*)
ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'`
# Reject names that are not valid shell variable names.
- expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+ expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null &&
{ echo "$as_me: error: invalid package name: $ac_package" >&2
{ (exit 1); exit 1; }; }
- ac_package=`echo $ac_package | sed 's/-/_/g'`
- eval "with_$ac_package=no" ;;
+ ac_package=`echo $ac_package | sed 's/[-.]/_/g'`
+ eval with_$ac_package=no ;;
--x)
# Obsolete; use --with-x.
@@ -788,8 +1277,7 @@ Try \`$0 --help' for more information." >&2
expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
{ echo "$as_me: error: invalid variable name: $ac_envvar" >&2
{ (exit 1); exit 1; }; }
- ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`
- eval "$ac_envvar='$ac_optarg'"
+ eval $ac_envvar=\$ac_optarg
export $ac_envvar ;;
*)
@@ -809,27 +1297,19 @@ if test -n "$ac_prev"; then
{ (exit 1); exit 1; }; }
fi
-# Be sure to have absolute paths.
-for ac_var in exec_prefix prefix
+# Be sure to have absolute directory names.
+for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
+ datadir sysconfdir sharedstatedir localstatedir includedir \
+ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
+ libdir localedir mandir
do
- eval ac_val=$`echo $ac_var`
+ eval ac_val=\$$ac_var
case $ac_val in
- [\\/$]* | ?:[\\/]* | NONE | '' ) ;;
- *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
- { (exit 1); exit 1; }; };;
- esac
-done
-
-# Be sure to have absolute paths.
-for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \
- localstatedir libdir includedir oldincludedir infodir mandir
-do
- eval ac_val=$`echo $ac_var`
- case $ac_val in
- [\\/$]* | ?:[\\/]* ) ;;
- *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
- { (exit 1); exit 1; }; };;
+ [\\/$]* | ?:[\\/]* ) continue;;
+ NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
esac
+ { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
+ { (exit 1); exit 1; }; }
done
# There might be people who depend on the old broken behavior: `$host'
@@ -856,94 +1336,76 @@ test -n "$host_alias" && ac_tool_prefix=$host_alias-
test "$silent" = yes && exec 6>/dev/null
+ac_pwd=`pwd` && test -n "$ac_pwd" &&
+ac_ls_di=`ls -di .` &&
+ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
+ { echo "$as_me: error: Working directory cannot be determined" >&2
+ { (exit 1); exit 1; }; }
+test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
+ { echo "$as_me: error: pwd does not report name of working directory" >&2
+ { (exit 1); exit 1; }; }
+
+
# Find the source files, if location was not specified.
if test -z "$srcdir"; then
ac_srcdir_defaulted=yes
- # Try the directory containing this script, then its parent.
- ac_confdir=`(dirname "$0") 2>/dev/null ||
+ # Try the directory containing this script, then the parent directory.
+ ac_confdir=`$as_dirname -- "$0" ||
$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$0" : 'X\(//\)[^/]' \| \
X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
+ X"$0" : 'X\(/\)' \| . 2>/dev/null ||
echo X"$0" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
srcdir=$ac_confdir
- if test ! -r $srcdir/$ac_unique_file; then
+ if test ! -r "$srcdir/$ac_unique_file"; then
srcdir=..
fi
else
ac_srcdir_defaulted=no
fi
-if test ! -r $srcdir/$ac_unique_file; then
- if test "$ac_srcdir_defaulted" = yes; then
- { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2
- { (exit 1); exit 1; }; }
- else
- { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
+if test ! -r "$srcdir/$ac_unique_file"; then
+ test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
+ { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
{ (exit 1); exit 1; }; }
- fi
fi
-(cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null ||
- { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2
+ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
+ac_abs_confdir=`(
+ cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2
{ (exit 1); exit 1; }; }
-srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'`
-ac_env_build_alias_set=${build_alias+set}
-ac_env_build_alias_value=$build_alias
-ac_cv_env_build_alias_set=${build_alias+set}
-ac_cv_env_build_alias_value=$build_alias
-ac_env_host_alias_set=${host_alias+set}
-ac_env_host_alias_value=$host_alias
-ac_cv_env_host_alias_set=${host_alias+set}
-ac_cv_env_host_alias_value=$host_alias
-ac_env_target_alias_set=${target_alias+set}
-ac_env_target_alias_value=$target_alias
-ac_cv_env_target_alias_set=${target_alias+set}
-ac_cv_env_target_alias_value=$target_alias
-ac_env_CC_set=${CC+set}
-ac_env_CC_value=$CC
-ac_cv_env_CC_set=${CC+set}
-ac_cv_env_CC_value=$CC
-ac_env_CFLAGS_set=${CFLAGS+set}
-ac_env_CFLAGS_value=$CFLAGS
-ac_cv_env_CFLAGS_set=${CFLAGS+set}
-ac_cv_env_CFLAGS_value=$CFLAGS
-ac_env_LDFLAGS_set=${LDFLAGS+set}
-ac_env_LDFLAGS_value=$LDFLAGS
-ac_cv_env_LDFLAGS_set=${LDFLAGS+set}
-ac_cv_env_LDFLAGS_value=$LDFLAGS
-ac_env_CPPFLAGS_set=${CPPFLAGS+set}
-ac_env_CPPFLAGS_value=$CPPFLAGS
-ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set}
-ac_cv_env_CPPFLAGS_value=$CPPFLAGS
-ac_env_CPP_set=${CPP+set}
-ac_env_CPP_value=$CPP
-ac_cv_env_CPP_set=${CPP+set}
-ac_cv_env_CPP_value=$CPP
-ac_env_CXX_set=${CXX+set}
-ac_env_CXX_value=$CXX
-ac_cv_env_CXX_set=${CXX+set}
-ac_cv_env_CXX_value=$CXX
-ac_env_CXXFLAGS_set=${CXXFLAGS+set}
-ac_env_CXXFLAGS_value=$CXXFLAGS
-ac_cv_env_CXXFLAGS_set=${CXXFLAGS+set}
-ac_cv_env_CXXFLAGS_value=$CXXFLAGS
-ac_env_CXXCPP_set=${CXXCPP+set}
-ac_env_CXXCPP_value=$CXXCPP
-ac_cv_env_CXXCPP_set=${CXXCPP+set}
-ac_cv_env_CXXCPP_value=$CXXCPP
-ac_env_F77_set=${F77+set}
-ac_env_F77_value=$F77
-ac_cv_env_F77_set=${F77+set}
-ac_cv_env_F77_value=$F77
-ac_env_FFLAGS_set=${FFLAGS+set}
-ac_env_FFLAGS_value=$FFLAGS
-ac_cv_env_FFLAGS_set=${FFLAGS+set}
-ac_cv_env_FFLAGS_value=$FFLAGS
+ pwd)`
+# When building in place, set srcdir=.
+if test "$ac_abs_confdir" = "$ac_pwd"; then
+ srcdir=.
+fi
+# Remove unnecessary trailing slashes from srcdir.
+# Double slashes in file names in object file debugging info
+# mess up M-x gdb in Emacs.
+case $srcdir in
+*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
+esac
+for ac_var in $ac_precious_vars; do
+ eval ac_env_${ac_var}_set=\${${ac_var}+set}
+ eval ac_env_${ac_var}_value=\$${ac_var}
+ eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
+ eval ac_cv_env_${ac_var}_value=\$${ac_var}
+done
#
# Report the --help message.
@@ -972,9 +1434,6 @@ Configuration:
-n, --no-create do not create output files
--srcdir=DIR find the sources in DIR [configure dir or \`..']
-_ACEOF
-
- cat <<_ACEOF
Installation directories:
--prefix=PREFIX install architecture-independent files in PREFIX
[$ac_default_prefix]
@@ -992,15 +1451,22 @@ Fine tuning of the installation directories:
--bindir=DIR user executables [EPREFIX/bin]
--sbindir=DIR system admin executables [EPREFIX/sbin]
--libexecdir=DIR program executables [EPREFIX/libexec]
- --datadir=DIR read-only architecture-independent data [PREFIX/share]
--sysconfdir=DIR read-only single-machine data [PREFIX/etc]
--sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
--localstatedir=DIR modifiable single-machine data [PREFIX/var]
--libdir=DIR object code libraries [EPREFIX/lib]
--includedir=DIR C header files [PREFIX/include]
--oldincludedir=DIR C header files for non-gcc [/usr/include]
- --infodir=DIR info documentation [PREFIX/info]
- --mandir=DIR man documentation [PREFIX/man]
+ --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
+ --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
+ --infodir=DIR info documentation [DATAROOTDIR/info]
+ --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
+ --mandir=DIR man documentation [DATAROOTDIR/man]
+ --docdir=DIR documentation root [DATAROOTDIR/doc/PACKAGE]
+ --htmldir=DIR html documentation [DOCDIR]
+ --dvidir=DIR dvi documentation [DOCDIR]
+ --pdfdir=DIR pdf documentation [DOCDIR]
+ --psdir=DIR ps documentation [DOCDIR]
_ACEOF
cat <<\_ACEOF
@@ -1023,10 +1489,8 @@ if test -n "$ac_init_help"; then
Optional Features:
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
- --enable-shared[=PKGS]
- build shared libraries [default=yes]
- --enable-static[=PKGS]
- build static libraries [default=yes]
+ --enable-shared[=PKGS] build shared libraries [default=yes]
+ --enable-static[=PKGS] build static libraries [default=yes]
--enable-fast-install[=PKGS]
optimize for fast installation [default=yes]
--disable-dependency-tracking speeds up one-time build
@@ -1043,8 +1507,7 @@ Optional Packages:
--with-gnu-ld assume the C compiler uses GNU ld [default=no]
--with-pic try to use only PIC/non-PIC objects [default=use
both]
- --with-tags[=TAGS]
- include additional configurations [automatic]
+ --with-tags[=TAGS] include additional configurations [automatic]
--with-glib-prefix=PFX Prefix where GLIB is installed (optional)
--with-glib-exec-prefix=PFX Exec prefix where GLIB is installed (optional)
@@ -1053,131 +1516,101 @@ Some influential environment variables:
CFLAGS C compiler flags
LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
nonstandard directory <lib dir>
- CPPFLAGS C/C++ preprocessor flags, e.g. -I<include dir> if you have
- headers in a nonstandard directory <include dir>
+ LIBS libraries to pass to the linker, e.g. -l<library>
+ CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
+ you have headers in a nonstandard directory <include dir>
CPP C preprocessor
CXX C++ compiler command
CXXFLAGS C++ compiler flags
CXXCPP C++ preprocessor
F77 Fortran 77 compiler command
FFLAGS Fortran 77 compiler flags
+ PKG_CONFIG path to pkg-config utility
Use these variables to override the choices made by `configure' or to help
it to find libraries and programs with nonstandard names/locations.
_ACEOF
+ac_status=$?
fi
if test "$ac_init_help" = "recursive"; then
# If there are subdirs, report their specific --help.
- ac_popdir=`pwd`
for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
- test -d $ac_dir || continue
+ test -d "$ac_dir" || continue
ac_builddir=.
-if test "$ac_dir" != .; then
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
- # A "../" for each directory in $ac_dir_suffix.
- ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
-else
- ac_dir_suffix= ac_top_builddir=
-fi
+ # A ".." for each directory in $ac_dir_suffix.
+ ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'`
+ case $ac_top_builddir_sub in
+ "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+ esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
case $srcdir in
- .) # No --srcdir option. We are building in place.
+ .) # We are building in place.
ac_srcdir=.
- if test -z "$ac_top_builddir"; then
- ac_top_srcdir=.
- else
- ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
- fi ;;
- [\\/]* | ?:[\\/]* ) # Absolute path.
+ ac_top_srcdir=$ac_top_builddir_sub
+ ac_abs_top_srcdir=$ac_pwd ;;
+ [\\/]* | ?:[\\/]* ) # Absolute name.
ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir ;;
- *) # Relative path.
- ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_builddir$srcdir ;;
-esac
-
-# Do not use `cd foo && pwd` to compute absolute paths, because
-# the directories may not exist.
-case `pwd` in
-.) ac_abs_builddir="$ac_dir";;
-*)
- case "$ac_dir" in
- .) ac_abs_builddir=`pwd`;;
- [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
- *) ac_abs_builddir=`pwd`/"$ac_dir";;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_builddir=${ac_top_builddir}.;;
-*)
- case ${ac_top_builddir}. in
- .) ac_abs_top_builddir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
- *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_srcdir=$ac_srcdir;;
-*)
- case $ac_srcdir in
- .) ac_abs_srcdir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
- *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_srcdir=$ac_top_srcdir;;
-*)
- case $ac_top_srcdir in
- .) ac_abs_top_srcdir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
- *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
- esac;;
+ ac_top_srcdir=$srcdir
+ ac_abs_top_srcdir=$srcdir ;;
+ *) # Relative name.
+ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_top_build_prefix$srcdir
+ ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
esac
-
- cd $ac_dir
- # Check for guested configure; otherwise get Cygnus style configure.
- if test -f $ac_srcdir/configure.gnu; then
- echo
- $SHELL $ac_srcdir/configure.gnu --help=recursive
- elif test -f $ac_srcdir/configure; then
- echo
- $SHELL $ac_srcdir/configure --help=recursive
- elif test -f $ac_srcdir/configure.ac ||
- test -f $ac_srcdir/configure.in; then
- echo
- $ac_configure --help
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
+
+ cd "$ac_dir" || { ac_status=$?; continue; }
+ # Check for guested configure.
+ if test -f "$ac_srcdir/configure.gnu"; then
+ echo &&
+ $SHELL "$ac_srcdir/configure.gnu" --help=recursive
+ elif test -f "$ac_srcdir/configure"; then
+ echo &&
+ $SHELL "$ac_srcdir/configure" --help=recursive
else
echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
- fi
- cd "$ac_popdir"
+ fi || ac_status=$?
+ cd "$ac_pwd" || { ac_status=$?; break; }
done
fi
-test -n "$ac_init_help" && exit 0
+test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
+configure
+generated by GNU Autoconf 2.61
-Copyright (C) 2003 Free Software Foundation, Inc.
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
+2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
This configure script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it.
_ACEOF
- exit 0
+ exit
fi
-exec 5>config.log
-cat >&5 <<_ACEOF
+cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by $as_me, which was
-generated by GNU Autoconf 2.59. Invocation command line was
+generated by GNU Autoconf 2.61. Invocation command line was
$ $0 $@
_ACEOF
+exec 5>>config.log
{
cat <<_ASUNAME
## --------- ##
@@ -1196,7 +1629,7 @@ uname -v = `(uname -v) 2>/dev/null || echo unknown`
/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
-hostinfo = `(hostinfo) 2>/dev/null || echo unknown`
+/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown`
/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
@@ -1210,6 +1643,7 @@ do
test -z "$as_dir" && as_dir=.
echo "PATH: $as_dir"
done
+IFS=$as_save_IFS
} >&5
@@ -1231,7 +1665,6 @@ _ACEOF
ac_configure_args=
ac_configure_args0=
ac_configure_args1=
-ac_sep=
ac_must_keep_next=false
for ac_pass in 1 2
do
@@ -1242,7 +1675,7 @@ do
-q | -quiet | --quiet | --quie | --qui | --qu | --q \
| -silent | --silent | --silen | --sile | --sil)
continue ;;
- *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
+ *\'*)
ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
esac
case $ac_pass in
@@ -1264,9 +1697,7 @@ do
-* ) ac_must_keep_next=true ;;
esac
fi
- ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'"
- # Get rid of the leading space.
- ac_sep=" "
+ ac_configure_args="$ac_configure_args '$ac_arg'"
;;
esac
done
@@ -1277,8 +1708,8 @@ $as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_
# When interrupted or exit'd, cleanup temporary files, and complete
# config.log. We remove comments because anyway the quotes in there
# would cause problems or look ugly.
-# WARNING: Be sure not to use single quotes in there, as some shells,
-# such as our DU 5.0 friend, will then `close' the trap.
+# WARNING: Use '\'' to represent an apostrophe within the trap.
+# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
trap 'exit_status=$?
# Save into config.log some information that might help in debugging.
{
@@ -1291,20 +1722,34 @@ trap 'exit_status=$?
_ASBOX
echo
# The following way of writing the cache mishandles newlines in values,
-{
+(
+ for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
+ eval ac_val=\$$ac_var
+ case $ac_val in #(
+ *${as_nl}*)
+ case $ac_var in #(
+ *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
+echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
+ esac
+ case $ac_var in #(
+ _ | IFS | as_nl) ;; #(
+ *) $as_unset $ac_var ;;
+ esac ;;
+ esac
+ done
(set) 2>&1 |
- case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in
- *ac_space=\ *)
+ case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
+ *${as_nl}ac_space=\ *)
sed -n \
- "s/'"'"'/'"'"'\\\\'"'"''"'"'/g;
- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p"
- ;;
+ "s/'\''/'\''\\\\'\'''\''/g;
+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
+ ;; #(
*)
- sed -n \
- "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
+ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
;;
- esac;
-}
+ esac |
+ sort
+)
echo
cat <<\_ASBOX
@@ -1315,22 +1760,28 @@ _ASBOX
echo
for ac_var in $ac_subst_vars
do
- eval ac_val=$`echo $ac_var`
- echo "$ac_var='"'"'$ac_val'"'"'"
+ eval ac_val=\$$ac_var
+ case $ac_val in
+ *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+ esac
+ echo "$ac_var='\''$ac_val'\''"
done | sort
echo
if test -n "$ac_subst_files"; then
cat <<\_ASBOX
-## ------------- ##
-## Output files. ##
-## ------------- ##
+## ------------------- ##
+## File substitutions. ##
+## ------------------- ##
_ASBOX
echo
for ac_var in $ac_subst_files
do
- eval ac_val=$`echo $ac_var`
- echo "$ac_var='"'"'$ac_val'"'"'"
+ eval ac_val=\$$ac_var
+ case $ac_val in
+ *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+ esac
+ echo "$ac_var='\''$ac_val'\''"
done | sort
echo
fi
@@ -1342,26 +1793,24 @@ _ASBOX
## ----------- ##
_ASBOX
echo
- sed "/^$/d" confdefs.h | sort
+ cat confdefs.h
echo
fi
test "$ac_signal" != 0 &&
echo "$as_me: caught signal $ac_signal"
echo "$as_me: exit $exit_status"
} >&5
- rm -f core *.core &&
- rm -rf conftest* confdefs* conf$$* $ac_clean_files &&
+ rm -f core *.core core.conftest.* &&
+ rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
exit $exit_status
- ' 0
+' 0
for ac_signal in 1 2 13 15; do
trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal
done
ac_signal=0
# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -rf conftest* confdefs.h
-# AIX cpp loses on an empty file, so make sure it contains at least a newline.
-echo >confdefs.h
+rm -f -r conftest* confdefs.h
# Predefined preprocessor variables.
@@ -1392,14 +1841,17 @@ _ACEOF
# Let the site file select an alternate cache file if it wants to.
# Prefer explicitly selected file to automatically selected ones.
-if test -z "$CONFIG_SITE"; then
- if test "x$prefix" != xNONE; then
- CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
- else
- CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
- fi
+if test -n "$CONFIG_SITE"; then
+ set x "$CONFIG_SITE"
+elif test "x$prefix" != xNONE; then
+ set x "$prefix/share/config.site" "$prefix/etc/config.site"
+else
+ set x "$ac_default_prefix/share/config.site" \
+ "$ac_default_prefix/etc/config.site"
fi
-for ac_site_file in $CONFIG_SITE; do
+shift
+for ac_site_file
+do
if test -r "$ac_site_file"; then
{ echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
echo "$as_me: loading site script $ac_site_file" >&6;}
@@ -1415,8 +1867,8 @@ if test -r "$cache_file"; then
{ echo "$as_me:$LINENO: loading cache $cache_file" >&5
echo "$as_me: loading cache $cache_file" >&6;}
case $cache_file in
- [\\/]* | ?:[\\/]* ) . $cache_file;;
- *) . ./$cache_file;;
+ [\\/]* | ?:[\\/]* ) . "$cache_file";;
+ *) . "./$cache_file";;
esac
fi
else
@@ -1428,12 +1880,11 @@ fi
# Check that the precious variables saved in the cache have kept the same
# value.
ac_cache_corrupted=false
-for ac_var in `(set) 2>&1 |
- sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do
+for ac_var in $ac_precious_vars; do
eval ac_old_set=\$ac_cv_env_${ac_var}_set
eval ac_new_set=\$ac_env_${ac_var}_set
- eval ac_old_val="\$ac_cv_env_${ac_var}_value"
- eval ac_new_val="\$ac_env_${ac_var}_value"
+ eval ac_old_val=\$ac_cv_env_${ac_var}_value
+ eval ac_new_val=\$ac_env_${ac_var}_value
case $ac_old_set,$ac_new_set in
set,)
{ echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
@@ -1458,8 +1909,7 @@ echo "$as_me: current value: $ac_new_val" >&2;}
# Pass precious variables to config.status.
if test "$ac_new_set" = set; then
case $ac_new_val in
- *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
- ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
+ *\'*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
*) ac_arg=$ac_var=$ac_new_val ;;
esac
case " $ac_configure_args " in
@@ -1476,12 +1926,6 @@ echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start ov
{ (exit 1); exit 1; }; }
fi
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
@@ -1498,6 +1942,11 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
@@ -1540,29 +1989,35 @@ PACKAGE=gts
am__api_version="1.8"
ac_aux_dir=
-for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
- if test -f $ac_dir/install-sh; then
+for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
+ if test -f "$ac_dir/install-sh"; then
ac_aux_dir=$ac_dir
ac_install_sh="$ac_aux_dir/install-sh -c"
break
- elif test -f $ac_dir/install.sh; then
+ elif test -f "$ac_dir/install.sh"; then
ac_aux_dir=$ac_dir
ac_install_sh="$ac_aux_dir/install.sh -c"
break
- elif test -f $ac_dir/shtool; then
+ elif test -f "$ac_dir/shtool"; then
ac_aux_dir=$ac_dir
ac_install_sh="$ac_aux_dir/shtool install -c"
break
fi
done
if test -z "$ac_aux_dir"; then
- { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&5
-echo "$as_me: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&2;}
+ { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&5
+echo "$as_me: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&2;}
{ (exit 1); exit 1; }; }
fi
-ac_config_guess="$SHELL $ac_aux_dir/config.guess"
-ac_config_sub="$SHELL $ac_aux_dir/config.sub"
-ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure.
+
+# These three variables are undocumented and unsupported,
+# and are intended to be withdrawn in a future Autoconf release.
+# They can cause serious problems if a builder's source tree is in a directory
+# whose full name contains unusual characters.
+ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var.
+ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var.
+ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
+
# Find a good install program. We prefer a C program (faster),
# so one script is as good as another. But avoid the broken or
@@ -1577,8 +2032,8 @@ ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure.
# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
# OS/2's system install, which has a completely different semantic
# ./install, which can be erroneously created by make from ./install.sh.
-echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
-echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
+echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; }
if test -z "$INSTALL"; then
if test "${ac_cv_path_install+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -1600,7 +2055,7 @@ case $as_dir/ in
# by default.
for ac_prog in ginstall scoinst install; do
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
if test $ac_prog = install &&
grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
# AIX install. It has an incompatible calling convention.
@@ -1619,21 +2074,22 @@ case $as_dir/ in
;;
esac
done
+IFS=$as_save_IFS
fi
if test "${ac_cv_path_install+set}" = set; then
INSTALL=$ac_cv_path_install
else
- # As a last resort, use the slow shell script. We don't cache a
- # path for INSTALL within a source directory, because that will
+ # As a last resort, use the slow shell script. Don't cache a
+ # value for INSTALL within a source directory, because that will
# break other packages using the cache if that directory is
- # removed, or if the path is relative.
+ # removed, or if the value is a relative name.
INSTALL=$ac_install_sh
fi
fi
-echo "$as_me:$LINENO: result: $INSTALL" >&5
-echo "${ECHO_T}$INSTALL" >&6
+{ echo "$as_me:$LINENO: result: $INSTALL" >&5
+echo "${ECHO_T}$INSTALL" >&6; }
# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
# It thinks the first close brace ends the variable substitution.
@@ -1643,8 +2099,8 @@ test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-echo "$as_me:$LINENO: checking whether build environment is sane" >&5
-echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether build environment is sane" >&5
+echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6; }
# Just in case
sleep 1
echo timestamp > conftest.file
@@ -1686,20 +2142,20 @@ echo "$as_me: error: newly created file is older than distributed files!
Check your system clock" >&2;}
{ (exit 1); exit 1; }; }
fi
-echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+{ echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
test "$program_prefix" != NONE &&
- program_transform_name="s,^,$program_prefix,;$program_transform_name"
+ program_transform_name="s&^&$program_prefix&;$program_transform_name"
# Use a double $ so make ignores it.
test "$program_suffix" != NONE &&
- program_transform_name="s,\$,$program_suffix,;$program_transform_name"
+ program_transform_name="s&\$&$program_suffix&;$program_transform_name"
# Double any \ or $. echo might interpret backslashes.
# By default was `s,x,x', remove it if useless.
cat <<\_ACEOF >conftest.sed
s/[\\$]/&&/g;s/;s,x,x,$//
_ACEOF
program_transform_name=`echo $program_transform_name | sed -f conftest.sed`
-rm conftest.sed
+rm -f conftest.sed
# expand $ac_aux_dir to an absolute path
am_aux_dir=`cd $ac_aux_dir && pwd`
@@ -1743,8 +2199,8 @@ for ac_prog in gawk mawk nawk awk
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
if test "${ac_cv_prog_AWK+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -1757,54 +2213,57 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_AWK="$ac_prog"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
fi
fi
AWK=$ac_cv_prog_AWK
if test -n "$AWK"; then
- echo "$as_me:$LINENO: result: $AWK" >&5
-echo "${ECHO_T}$AWK" >&6
+ { echo "$as_me:$LINENO: result: $AWK" >&5
+echo "${ECHO_T}$AWK" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
+
test -n "$AWK" && break
done
-echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
-echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6
-set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,:./+-,___p_,'`
-if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then
+{ echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
+echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; }
+set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
+if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >conftest.make <<\_ACEOF
+SHELL = /bin/sh
all:
- @echo 'ac_maketemp="$(MAKE)"'
+ @echo '@@@%%%=$(MAKE)=@@@%%%'
_ACEOF
# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
-eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=`
-if test -n "$ac_maketemp"; then
- eval ac_cv_prog_make_${ac_make}_set=yes
-else
- eval ac_cv_prog_make_${ac_make}_set=no
-fi
+case `${MAKE-make} -f conftest.make 2>/dev/null` in
+ *@@@%%%=?*=@@@%%%*)
+ eval ac_cv_prog_make_${ac_make}_set=yes;;
+ *)
+ eval ac_cv_prog_make_${ac_make}_set=no;;
+esac
rm -f conftest.make
fi
-if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
- echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
+ { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
SET_MAKE=
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
SET_MAKE="MAKE=${MAKE-make}"
fi
@@ -1869,8 +2328,8 @@ if test "$cross_compiling" != no; then
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
set dummy ${ac_tool_prefix}strip; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
if test "${ac_cv_prog_STRIP+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -1883,32 +2342,34 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_STRIP="${ac_tool_prefix}strip"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
fi
fi
STRIP=$ac_cv_prog_STRIP
if test -n "$STRIP"; then
- echo "$as_me:$LINENO: result: $STRIP" >&5
-echo "${ECHO_T}$STRIP" >&6
+ { echo "$as_me:$LINENO: result: $STRIP" >&5
+echo "${ECHO_T}$STRIP" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
+
fi
if test -z "$ac_cv_prog_STRIP"; then
ac_ct_STRIP=$STRIP
# Extract the first word of "strip", so it can be a program name with args.
set dummy strip; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -1921,27 +2382,41 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_STRIP="strip"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
- test -z "$ac_cv_prog_ac_ct_STRIP" && ac_cv_prog_ac_ct_STRIP=":"
fi
fi
ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
if test -n "$ac_ct_STRIP"; then
- echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
-echo "${ECHO_T}$ac_ct_STRIP" >&6
+ { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
+echo "${ECHO_T}$ac_ct_STRIP" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
- STRIP=$ac_ct_STRIP
+ if test "x$ac_ct_STRIP" = x; then
+ STRIP=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf at gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf at gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+ STRIP=$ac_ct_STRIP
+ fi
else
STRIP="$ac_cv_prog_STRIP"
fi
@@ -1956,7 +2431,7 @@ INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
# Specify a configuration file
- ac_config_headers="$ac_config_headers config.h"
+ac_config_headers="$ac_config_headers config.h"
@@ -1985,10 +2460,9 @@ cat >>confdefs.h <<_ACEOF
_ACEOF
-# Check whether --enable-shared or --disable-shared was given.
+# Check whether --enable-shared was given.
if test "${enable_shared+set}" = set; then
- enableval="$enable_shared"
- p=${PACKAGE-default}
+ enableval=$enable_shared; p=${PACKAGE-default}
case $enableval in
yes) enable_shared=yes ;;
no) enable_shared=no ;;
@@ -2007,12 +2481,12 @@ if test "${enable_shared+set}" = set; then
esac
else
enable_shared=yes
-fi;
+fi
-# Check whether --enable-static or --disable-static was given.
+
+# Check whether --enable-static was given.
if test "${enable_static+set}" = set; then
- enableval="$enable_static"
- p=${PACKAGE-default}
+ enableval=$enable_static; p=${PACKAGE-default}
case $enableval in
yes) enable_static=yes ;;
no) enable_static=no ;;
@@ -2031,12 +2505,12 @@ if test "${enable_static+set}" = set; then
esac
else
enable_static=yes
-fi;
+fi
-# Check whether --enable-fast-install or --disable-fast-install was given.
+
+# Check whether --enable-fast-install was given.
if test "${enable_fast_install+set}" = set; then
- enableval="$enable_fast_install"
- p=${PACKAGE-default}
+ enableval=$enable_fast_install; p=${PACKAGE-default}
case $enableval in
yes) enable_fast_install=yes ;;
no) enable_fast_install=no ;;
@@ -2055,65 +2529,95 @@ if test "${enable_fast_install+set}" = set; then
esac
else
enable_fast_install=yes
-fi;
+fi
+
# Make sure we can run config.sub.
-$ac_config_sub sun4 >/dev/null 2>&1 ||
- { { echo "$as_me:$LINENO: error: cannot run $ac_config_sub" >&5
-echo "$as_me: error: cannot run $ac_config_sub" >&2;}
+$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
+ { { echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5
+echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;}
{ (exit 1); exit 1; }; }
-echo "$as_me:$LINENO: checking build system type" >&5
-echo $ECHO_N "checking build system type... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking build system type" >&5
+echo $ECHO_N "checking build system type... $ECHO_C" >&6; }
if test "${ac_cv_build+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
- ac_cv_build_alias=$build_alias
-test -z "$ac_cv_build_alias" &&
- ac_cv_build_alias=`$ac_config_guess`
-test -z "$ac_cv_build_alias" &&
+ ac_build_alias=$build_alias
+test "x$ac_build_alias" = x &&
+ ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
+test "x$ac_build_alias" = x &&
{ { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5
echo "$as_me: error: cannot guess build type; you must specify one" >&2;}
{ (exit 1); exit 1; }; }
-ac_cv_build=`$ac_config_sub $ac_cv_build_alias` ||
- { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_build_alias failed" >&5
-echo "$as_me: error: $ac_config_sub $ac_cv_build_alias failed" >&2;}
+ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
+ { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5
+echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;}
{ (exit 1); exit 1; }; }
fi
-echo "$as_me:$LINENO: result: $ac_cv_build" >&5
-echo "${ECHO_T}$ac_cv_build" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_build" >&5
+echo "${ECHO_T}$ac_cv_build" >&6; }
+case $ac_cv_build in
+*-*-*) ;;
+*) { { echo "$as_me:$LINENO: error: invalid value of canonical build" >&5
+echo "$as_me: error: invalid value of canonical build" >&2;}
+ { (exit 1); exit 1; }; };;
+esac
build=$ac_cv_build
-build_cpu=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-build_vendor=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-build_os=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-
-
-echo "$as_me:$LINENO: checking host system type" >&5
-echo $ECHO_N "checking host system type... $ECHO_C" >&6
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_build
+shift
+build_cpu=$1
+build_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+build_os=$*
+IFS=$ac_save_IFS
+case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
+
+
+{ echo "$as_me:$LINENO: checking host system type" >&5
+echo $ECHO_N "checking host system type... $ECHO_C" >&6; }
if test "${ac_cv_host+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
- ac_cv_host_alias=$host_alias
-test -z "$ac_cv_host_alias" &&
- ac_cv_host_alias=$ac_cv_build_alias
-ac_cv_host=`$ac_config_sub $ac_cv_host_alias` ||
- { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_host_alias failed" >&5
-echo "$as_me: error: $ac_config_sub $ac_cv_host_alias failed" >&2;}
+ if test "x$host_alias" = x; then
+ ac_cv_host=$ac_cv_build
+else
+ ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
+ { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5
+echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;}
{ (exit 1); exit 1; }; }
+fi
fi
-echo "$as_me:$LINENO: result: $ac_cv_host" >&5
-echo "${ECHO_T}$ac_cv_host" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_host" >&5
+echo "${ECHO_T}$ac_cv_host" >&6; }
+case $ac_cv_host in
+*-*-*) ;;
+*) { { echo "$as_me:$LINENO: error: invalid value of canonical host" >&5
+echo "$as_me: error: invalid value of canonical host" >&2;}
+ { (exit 1); exit 1; }; };;
+esac
host=$ac_cv_host
-host_cpu=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-host_vendor=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-host_os=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_host
+shift
+host_cpu=$1
+host_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+host_os=$*
+IFS=$ac_save_IFS
+case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
DEPDIR="${am__leading_dot}deps"
- ac_config_commands="$ac_config_commands depfiles"
+ac_config_commands="$ac_config_commands depfiles"
am_make=${MAKE-make}
@@ -2123,8 +2627,8 @@ am__doit:
.PHONY: am__doit
END
# If we don't find an include directive, just comment out the code.
-echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5
-echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5
+echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6; }
am__include="#"
am__quote=
_am_result=none
@@ -2151,15 +2655,15 @@ if test "$am__include" = "#"; then
fi
-echo "$as_me:$LINENO: result: $_am_result" >&5
-echo "${ECHO_T}$_am_result" >&6
+{ echo "$as_me:$LINENO: result: $_am_result" >&5
+echo "${ECHO_T}$_am_result" >&6; }
rm -f confinc confmf
-# Check whether --enable-dependency-tracking or --disable-dependency-tracking was given.
+# Check whether --enable-dependency-tracking was given.
if test "${enable_dependency_tracking+set}" = set; then
- enableval="$enable_dependency_tracking"
+ enableval=$enable_dependency_tracking;
+fi
-fi;
if test "x$enable_dependency_tracking" != xno; then
am_depcomp="$ac_aux_dir/depcomp"
AMDEPBACKSLASH='\'
@@ -2184,8 +2688,8 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
set dummy ${ac_tool_prefix}gcc; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
if test "${ac_cv_prog_CC+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -2198,32 +2702,34 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_CC="${ac_tool_prefix}gcc"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
- echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6
+ { echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
+
fi
if test -z "$ac_cv_prog_CC"; then
ac_ct_CC=$CC
# Extract the first word of "gcc", so it can be a program name with args.
set dummy gcc; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -2236,36 +2742,51 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_CC="gcc"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
fi
fi
ac_ct_CC=$ac_cv_prog_ac_ct_CC
if test -n "$ac_ct_CC"; then
- echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-echo "${ECHO_T}$ac_ct_CC" >&6
+ { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+echo "${ECHO_T}$ac_ct_CC" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
- CC=$ac_ct_CC
+ if test "x$ac_ct_CC" = x; then
+ CC=""
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf at gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf at gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+ CC=$ac_ct_CC
+ fi
else
CC="$ac_cv_prog_CC"
fi
if test -z "$CC"; then
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
set dummy ${ac_tool_prefix}cc; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
if test "${ac_cv_prog_CC+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -2278,74 +2799,34 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_CC="${ac_tool_prefix}cc"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
- echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
-fi
-if test -z "$ac_cv_prog_CC"; then
- ac_ct_CC=$CC
- # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_CC"; then
- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_CC="cc"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
- echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-echo "${ECHO_T}$ac_ct_CC" >&6
+ { echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
- CC=$ac_ct_CC
-else
- CC="$ac_cv_prog_CC"
-fi
+ fi
fi
if test -z "$CC"; then
# Extract the first word of "cc", so it can be a program name with args.
set dummy cc; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
if test "${ac_cv_prog_CC+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -2359,7 +2840,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
ac_prog_rejected=yes
continue
@@ -2370,6 +2851,7 @@ do
fi
done
done
+IFS=$as_save_IFS
if test $ac_prog_rejected = yes; then
# We found a bogon in the path, so make sure we never use it.
@@ -2387,22 +2869,23 @@ fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
- echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6
+ { echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
+
fi
if test -z "$CC"; then
if test -n "$ac_tool_prefix"; then
- for ac_prog in cl
+ for ac_prog in cl.exe
do
# Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
if test "${ac_cv_prog_CC+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -2415,36 +2898,38 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
- echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6
+ { echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
+
test -n "$CC" && break
done
fi
if test -z "$CC"; then
ac_ct_CC=$CC
- for ac_prog in cl
+ for ac_prog in cl.exe
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -2457,29 +2942,45 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_CC="$ac_prog"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
fi
fi
ac_ct_CC=$ac_cv_prog_ac_ct_CC
if test -n "$ac_ct_CC"; then
- echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-echo "${ECHO_T}$ac_ct_CC" >&6
+ { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+echo "${ECHO_T}$ac_ct_CC" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
+
test -n "$ac_ct_CC" && break
done
- CC=$ac_ct_CC
+ if test "x$ac_ct_CC" = x; then
+ CC=""
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf at gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf at gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+ CC=$ac_ct_CC
+ fi
fi
fi
@@ -2492,21 +2993,35 @@ See \`config.log' for more details." >&2;}
{ (exit 1); exit 1; }; }
# Provide some information about the compiler.
-echo "$as_me:$LINENO:" \
- "checking for C compiler version" >&5
+echo "$as_me:$LINENO: checking for C compiler version" >&5
ac_compiler=`set X $ac_compile; echo $2`
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
- (eval $ac_compiler --version </dev/null >&5) 2>&5
+{ (ac_try="$ac_compiler --version >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compiler --version >&5") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v </dev/null >&5\"") >&5
- (eval $ac_compiler -v </dev/null >&5) 2>&5
+{ (ac_try="$ac_compiler -v >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compiler -v >&5") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V </dev/null >&5\"") >&5
- (eval $ac_compiler -V </dev/null >&5) 2>&5
+{ (ac_try="$ac_compiler -V >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compiler -V >&5") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
@@ -2531,47 +3046,77 @@ ac_clean_files="$ac_clean_files a.out a.exe b.out"
# Try to create an executable without -o first, disregard a.out.
# It will help us diagnose broken compilers, and finding out an intuition
# of exeext.
-echo "$as_me:$LINENO: checking for C compiler default output file name" >&5
-echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for C compiler default output file name" >&5
+echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6; }
ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
-if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5
- (eval $ac_link_default) 2>&5
+#
+# List of possible output files, starting from the most likely.
+# The algorithm is not robust to junk in `.', hence go to wildcards (a.*)
+# only as a last resort. b.out is created by i960 compilers.
+ac_files='a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out'
+#
+# The IRIX 6 linker writes into existing files which may not be
+# executable, retaining their permissions. Remove them first so a
+# subsequent execution test works.
+ac_rmfiles=
+for ac_file in $ac_files
+do
+ case $ac_file in
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;;
+ * ) ac_rmfiles="$ac_rmfiles $ac_file";;
+ esac
+done
+rm -f $ac_rmfiles
+
+if { (ac_try="$ac_link_default"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link_default") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; then
- # Find the output, starting from the most likely. This scheme is
-# not robust to junk in `.', hence go to wildcards (a.*) only as a last
-# resort.
-
-# Be careful to initialize this variable, since it used to be cached.
-# Otherwise an old cache value of `no' led to `EXEEXT = no' in a Makefile.
-ac_cv_exeext=
-# b.out is created by i960 compilers.
-for ac_file in a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out
+ # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
+# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
+# in a Makefile. We should not override ac_cv_exeext if it was cached,
+# so that the user can short-circuit this test for compilers unknown to
+# Autoconf.
+for ac_file in $ac_files ''
do
test -f "$ac_file" || continue
case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj )
- ;;
- conftest.$ac_ext )
- # This is the source file.
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj )
;;
[ab].out )
# We found the default executable, but exeext='' is most
# certainly right.
break;;
*.* )
- ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
- # FIXME: I believe we export ac_cv_exeext for Libtool,
- # but it would be cool to find out if it's true. Does anybody
- # maintain Libtool? --akim.
- export ac_cv_exeext
+ if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
+ then :; else
+ ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+ fi
+ # We set ac_cv_exeext here because the later test for it is not
+ # safe: cross compilers may not add the suffix if given an `-o'
+ # argument, so we may need to know it at that point already.
+ # Even if this section looks crufty: it has the advantage of
+ # actually working.
break;;
* )
break;;
esac
done
+test "$ac_cv_exeext" = no && ac_cv_exeext=
+
else
+ ac_file=''
+fi
+
+{ echo "$as_me:$LINENO: result: $ac_file" >&5
+echo "${ECHO_T}$ac_file" >&6; }
+if test -z "$ac_file"; then
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
@@ -2583,19 +3128,21 @@ See \`config.log' for more details." >&2;}
fi
ac_exeext=$ac_cv_exeext
-echo "$as_me:$LINENO: result: $ac_file" >&5
-echo "${ECHO_T}$ac_file" >&6
-# Check the compiler produces executables we can run. If not, either
+# Check that the compiler produces executables we can run. If not, either
# the compiler is broken, or we cross compile.
-echo "$as_me:$LINENO: checking whether the C compiler works" >&5
-echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether the C compiler works" >&5
+echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6; }
# FIXME: These cross compiler hacks should be removed for Autoconf 3.0
# If not cross compiling, check that we can run a simple program.
if test "$cross_compiling" != yes; then
if { ac_try='./$ac_file'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
@@ -2614,22 +3161,27 @@ See \`config.log' for more details." >&2;}
fi
fi
fi
-echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+{ echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
rm -f a.out a.exe conftest$ac_cv_exeext b.out
ac_clean_files=$ac_clean_files_save
-# Check the compiler produces executables we can run. If not, either
+# Check that the compiler produces executables we can run. If not, either
# the compiler is broken, or we cross compile.
-echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
-echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6
-echo "$as_me:$LINENO: result: $cross_compiling" >&5
-echo "${ECHO_T}$cross_compiling" >&6
-
-echo "$as_me:$LINENO: checking for suffix of executables" >&5
-echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
+{ echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
+echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: result: $cross_compiling" >&5
+echo "${ECHO_T}$cross_compiling" >&6; }
+
+{ echo "$as_me:$LINENO: checking for suffix of executables" >&5
+echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6; }
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; then
@@ -2640,9 +3192,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
for ac_file in conftest.exe conftest conftest.*; do
test -f "$ac_file" || continue
case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;;
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;;
*.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
- export ac_cv_exeext
break;;
* ) break;;
esac
@@ -2656,14 +3207,14 @@ See \`config.log' for more details." >&2;}
fi
rm -f conftest$ac_cv_exeext
-echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
-echo "${ECHO_T}$ac_cv_exeext" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
+echo "${ECHO_T}$ac_cv_exeext" >&6; }
rm -f conftest.$ac_ext
EXEEXT=$ac_cv_exeext
ac_exeext=$EXEEXT
-echo "$as_me:$LINENO: checking for suffix of object files" >&5
-echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for suffix of object files" >&5
+echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6; }
if test "${ac_cv_objext+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -2683,14 +3234,20 @@ main ()
}
_ACEOF
rm -f conftest.o conftest.obj
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; then
- for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do
+ for ac_file in conftest.o conftest.obj conftest.*; do
+ test -f "$ac_file" || continue;
case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg ) ;;
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf ) ;;
*) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
break;;
esac
@@ -2708,12 +3265,12 @@ fi
rm -f conftest.$ac_cv_objext conftest.$ac_ext
fi
-echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
-echo "${ECHO_T}$ac_cv_objext" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
+echo "${ECHO_T}$ac_cv_objext" >&6; }
OBJEXT=$ac_cv_objext
ac_objext=$OBJEXT
-echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
-echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
+echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; }
if test "${ac_cv_c_compiler_gnu+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -2736,49 +3293,49 @@ main ()
}
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
ac_compiler_gnu=yes
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-ac_compiler_gnu=no
+ ac_compiler_gnu=no
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
ac_cv_c_compiler_gnu=$ac_compiler_gnu
fi
-echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
-echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
+echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; }
GCC=`test $ac_compiler_gnu = yes && echo yes`
ac_test_CFLAGS=${CFLAGS+set}
ac_save_CFLAGS=$CFLAGS
-CFLAGS="-g"
-echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
-echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
+echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; }
if test "${ac_cv_prog_cc_g+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
- cat >conftest.$ac_ext <<_ACEOF
+ ac_save_c_werror_flag=$ac_c_werror_flag
+ ac_c_werror_flag=yes
+ ac_cv_prog_cc_g=no
+ CFLAGS="-g"
+ cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
@@ -2794,37 +3351,118 @@ main ()
}
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_prog_cc_g=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ CFLAGS=""
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ :
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_c_werror_flag=$ac_save_c_werror_flag
+ CFLAGS="-g"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
ac_cv_prog_cc_g=yes
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-ac_cv_prog_cc_g=no
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ ac_c_werror_flag=$ac_save_c_werror_flag
fi
-echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
-echo "${ECHO_T}$ac_cv_prog_cc_g" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
+echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; }
if test "$ac_test_CFLAGS" = set; then
CFLAGS=$ac_save_CFLAGS
elif test $ac_cv_prog_cc_g = yes; then
@@ -2840,12 +3478,12 @@ else
CFLAGS=
fi
fi
-echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5
-echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6
-if test "${ac_cv_prog_cc_stdc+set}" = set; then
+{ echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5
+echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; }
+if test "${ac_cv_prog_cc_c89+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
- ac_cv_prog_cc_stdc=no
+ ac_cv_prog_cc_c89=no
ac_save_CC=$CC
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
@@ -2879,12 +3517,17 @@ static char *f (char * (*g) (char **, int), char **p, ...)
/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
function prototypes and stuff, but not '\xHH' hex character constants.
These don't provoke an error unfortunately, instead are silently treated
- as 'x'. The following induces an error, until -std1 is added to get
+ as 'x'. The following induces an error, until -std is added to get
proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an
array size at least. It's necessary to write '\x00'==0 to get something
- that's true only with -std1. */
+ that's true only with -std. */
int osf4_cc_array ['\x00' == 0 ? 1 : -1];
+/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
+ inside strings and character constants. */
+#define FOO(x) 'x'
+int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
+
int test (int i, double x);
struct s1 {int (*f) (int a);};
struct s2 {int (*f) (double a);};
@@ -2899,201 +3542,57 @@ return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
return 0;
}
_ACEOF
-# Don't try gcc -ansi; that turns off useful extensions and
-# breaks some systems' header files.
-# AIX -qlanglvl=ansi
-# Ultrix and OSF/1 -std1
-# HP-UX 10.20 and later -Ae
-# HP-UX older versions -Aa -D_HPUX_SOURCE
-# SVR4 -Xc -D__EXTENSIONS__
-for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
+for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
+ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
do
CC="$ac_save_CC $ac_arg"
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_prog_cc_stdc=$ac_arg
-break
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_prog_cc_c89=$ac_arg
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
+
fi
-rm -f conftest.err conftest.$ac_objext
+
+rm -f core conftest.err conftest.$ac_objext
+ test "x$ac_cv_prog_cc_c89" != "xno" && break
done
-rm -f conftest.$ac_ext conftest.$ac_objext
+rm -f conftest.$ac_ext
CC=$ac_save_CC
fi
-
-case "x$ac_cv_prog_cc_stdc" in
- x|xno)
- echo "$as_me:$LINENO: result: none needed" >&5
-echo "${ECHO_T}none needed" >&6 ;;
+# AC_CACHE_VAL
+case "x$ac_cv_prog_cc_c89" in
+ x)
+ { echo "$as_me:$LINENO: result: none needed" >&5
+echo "${ECHO_T}none needed" >&6; } ;;
+ xno)
+ { echo "$as_me:$LINENO: result: unsupported" >&5
+echo "${ECHO_T}unsupported" >&6; } ;;
*)
- echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5
-echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6
- CC="$CC $ac_cv_prog_cc_stdc" ;;
+ CC="$CC $ac_cv_prog_cc_c89"
+ { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5
+echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;;
esac
-# Some people use a C++ compiler to compile C. Since we use `exit',
-# in C++ we need to declare it. In case someone uses the same compiler
-# for both compiling C and C++ we need to have the C++ compiler decide
-# the declaration of exit, since it's the most demanding environment.
-cat >conftest.$ac_ext <<_ACEOF
-#ifndef __cplusplus
- choke me
-#endif
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- for ac_declaration in \
- '' \
- 'extern "C" void std::exit (int) throw (); using std::exit;' \
- 'extern "C" void std::exit (int); using std::exit;' \
- 'extern "C" void exit (int) throw ();' \
- 'extern "C" void exit (int);' \
- 'void exit (int);'
-do
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_declaration
-#include <stdlib.h>
-int
-main ()
-{
-exit (42);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- :
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-continue
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_declaration
-int
-main ()
-{
-exit (42);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-rm -f conftest*
-if test -n "$ac_declaration"; then
- echo '#ifdef __cplusplus' >>confdefs.h
- echo $ac_declaration >>confdefs.h
- echo '#endif' >>confdefs.h
-fi
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
@@ -3102,8 +3601,8 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
depcc="$CC" am_compiler_list=
-echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
-echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
+echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; }
if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -3192,8 +3691,8 @@ else
fi
fi
-echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5
-echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6
+{ echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5
+echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6; }
CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
@@ -3209,8 +3708,8 @@ else
fi
-echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5
-echo $ECHO_N "checking for a sed that does not truncate output... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5
+echo $ECHO_N "checking for a sed that does not truncate output... $ECHO_C" >&6; }
if test "${lt_cv_path_SED+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -3223,12 +3722,13 @@ do
test -z "$as_dir" && as_dir=.
for lt_ac_prog in sed gsed; do
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
+ if { test -f "$as_dir/$lt_ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$lt_ac_prog$ac_exec_ext"; }; then
lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
fi
done
done
done
+IFS=$as_save_IFS
lt_ac_max=0
lt_ac_count=0
# Add /usr/xpg4/bin/sed as it is typically found on Solaris
@@ -3263,37 +3763,185 @@ done
fi
SED=$lt_cv_path_SED
-echo "$as_me:$LINENO: result: $SED" >&5
-echo "${ECHO_T}$SED" >&6
-echo "$as_me:$LINENO: checking for egrep" >&5
-echo $ECHO_N "checking for egrep... $ECHO_C" >&6
-if test "${ac_cv_prog_egrep+set}" = set; then
+{ echo "$as_me:$LINENO: result: $SED" >&5
+echo "${ECHO_T}$SED" >&6; }
+
+{ echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5
+echo $ECHO_N "checking for grep that handles long lines and -e... $ECHO_C" >&6; }
+if test "${ac_cv_path_GREP+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ # Extract the first word of "grep ggrep" to use in msg output
+if test -z "$GREP"; then
+set dummy grep ggrep; ac_prog_name=$2
+if test "${ac_cv_path_GREP+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_path_GREP_found=false
+# Loop through the user's path and test for each of PROGNAME-LIST
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in grep ggrep; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
+ { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
+ # Check for GNU ac_path_GREP and select it if it is found.
+ # Check for GNU $ac_path_GREP
+case `"$ac_path_GREP" --version 2>&1` in
+*GNU*)
+ ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
+*)
+ ac_count=0
+ echo $ECHO_N "0123456789$ECHO_C" >"conftest.in"
+ while :
+ do
+ cat "conftest.in" "conftest.in" >"conftest.tmp"
+ mv "conftest.tmp" "conftest.in"
+ cp "conftest.in" "conftest.nl"
+ echo 'GREP' >> "conftest.nl"
+ "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+ ac_count=`expr $ac_count + 1`
+ if test $ac_count -gt ${ac_path_GREP_max-0}; then
+ # Best one so far, save it but keep looking for a better one
+ ac_cv_path_GREP="$ac_path_GREP"
+ ac_path_GREP_max=$ac_count
+ fi
+ # 10*(2^10) chars as input seems more than enough
+ test $ac_count -gt 10 && break
+ done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+
+ $ac_path_GREP_found && break 3
+ done
+done
+
+done
+IFS=$as_save_IFS
+
+
+fi
+
+GREP="$ac_cv_path_GREP"
+if test -z "$GREP"; then
+ { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
+echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+else
+ ac_cv_path_GREP=$GREP
+fi
+
+
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5
+echo "${ECHO_T}$ac_cv_path_GREP" >&6; }
+ GREP="$ac_cv_path_GREP"
+
+
+{ echo "$as_me:$LINENO: checking for egrep" >&5
+echo $ECHO_N "checking for egrep... $ECHO_C" >&6; }
+if test "${ac_cv_path_EGREP+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
+ then ac_cv_path_EGREP="$GREP -E"
+ else
+ # Extract the first word of "egrep" to use in msg output
+if test -z "$EGREP"; then
+set dummy egrep; ac_prog_name=$2
+if test "${ac_cv_path_EGREP+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
- if echo a | (grep -E '(a|b)') >/dev/null 2>&1
- then ac_cv_prog_egrep='grep -E'
- else ac_cv_prog_egrep='egrep'
+ ac_path_EGREP_found=false
+# Loop through the user's path and test for each of PROGNAME-LIST
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in egrep; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
+ { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
+ # Check for GNU ac_path_EGREP and select it if it is found.
+ # Check for GNU $ac_path_EGREP
+case `"$ac_path_EGREP" --version 2>&1` in
+*GNU*)
+ ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
+*)
+ ac_count=0
+ echo $ECHO_N "0123456789$ECHO_C" >"conftest.in"
+ while :
+ do
+ cat "conftest.in" "conftest.in" >"conftest.tmp"
+ mv "conftest.tmp" "conftest.in"
+ cp "conftest.in" "conftest.nl"
+ echo 'EGREP' >> "conftest.nl"
+ "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+ ac_count=`expr $ac_count + 1`
+ if test $ac_count -gt ${ac_path_EGREP_max-0}; then
+ # Best one so far, save it but keep looking for a better one
+ ac_cv_path_EGREP="$ac_path_EGREP"
+ ac_path_EGREP_max=$ac_count
fi
+ # 10*(2^10) chars as input seems more than enough
+ test $ac_count -gt 10 && break
+ done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+
+ $ac_path_EGREP_found && break 3
+ done
+done
+
+done
+IFS=$as_save_IFS
+
+
+fi
+
+EGREP="$ac_cv_path_EGREP"
+if test -z "$EGREP"; then
+ { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
+echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+else
+ ac_cv_path_EGREP=$EGREP
+fi
+
+
+ fi
fi
-echo "$as_me:$LINENO: result: $ac_cv_prog_egrep" >&5
-echo "${ECHO_T}$ac_cv_prog_egrep" >&6
- EGREP=$ac_cv_prog_egrep
+{ echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5
+echo "${ECHO_T}$ac_cv_path_EGREP" >&6; }
+ EGREP="$ac_cv_path_EGREP"
-# Check whether --with-gnu-ld or --without-gnu-ld was given.
+# Check whether --with-gnu-ld was given.
if test "${with_gnu_ld+set}" = set; then
- withval="$with_gnu_ld"
- test "$withval" = no || with_gnu_ld=yes
+ withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
else
with_gnu_ld=no
-fi;
+fi
+
ac_prog=ld
if test "$GCC" = yes; then
# Check if gcc -print-prog-name=ld gives a path.
- echo "$as_me:$LINENO: checking for ld used by $CC" >&5
-echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking for ld used by $CC" >&5
+echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; }
case $host in
*-*-mingw*)
# gcc leaves a trailing carriage return which upsets mingw
@@ -3322,11 +3970,11 @@ echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6
;;
esac
elif test "$with_gnu_ld" = yes; then
- echo "$as_me:$LINENO: checking for GNU ld" >&5
-echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking for GNU ld" >&5
+echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; }
else
- echo "$as_me:$LINENO: checking for non-GNU ld" >&5
-echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking for non-GNU ld" >&5
+echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; }
fi
if test "${lt_cv_path_LD+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -3359,17 +4007,17 @@ fi
LD="$lt_cv_path_LD"
if test -n "$LD"; then
- echo "$as_me:$LINENO: result: $LD" >&5
-echo "${ECHO_T}$LD" >&6
+ { echo "$as_me:$LINENO: result: $LD" >&5
+echo "${ECHO_T}$LD" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
{ (exit 1); exit 1; }; }
-echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
-echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
+echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; }
if test "${lt_cv_prog_gnu_ld+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -3383,20 +4031,20 @@ case `$LD -v 2>&1 </dev/null` in
;;
esac
fi
-echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
-echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6
+{ echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
+echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; }
with_gnu_ld=$lt_cv_prog_gnu_ld
-echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5
-echo $ECHO_N "checking for $LD option to reload object files... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5
+echo $ECHO_N "checking for $LD option to reload object files... $ECHO_C" >&6; }
if test "${lt_cv_ld_reload_flag+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
lt_cv_ld_reload_flag='-r'
fi
-echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5
-echo "${ECHO_T}$lt_cv_ld_reload_flag" >&6
+{ echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5
+echo "${ECHO_T}$lt_cv_ld_reload_flag" >&6; }
reload_flag=$lt_cv_ld_reload_flag
case $reload_flag in
"" | " "*) ;;
@@ -3406,15 +4054,15 @@ reload_cmds='$LD$reload_flag -o $output$reload_objs'
case $host_os in
darwin*)
if test "$GCC" = yes; then
- reload_cmds='$CC -nostdlib ${wl}-r -o $output$reload_objs'
+ reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
else
reload_cmds='$LD$reload_flag -o $output$reload_objs'
fi
;;
esac
-echo "$as_me:$LINENO: checking for BSD-compatible nm" >&5
-echo $ECHO_N "checking for BSD-compatible nm... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for BSD-compatible nm" >&5
+echo $ECHO_N "checking for BSD-compatible nm... $ECHO_C" >&6; }
if test "${lt_cv_path_NM+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -3422,56 +4070,63 @@ else
# Let the user override the test.
lt_cv_path_NM="$NM"
else
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- tmp_nm="$ac_dir/${ac_tool_prefix}nm"
- if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
- # Check to see if the nm accepts a BSD-compat flag.
- # Adding the `sed 1q' prevents false positives on HP-UX, which says:
- # nm: unknown option "B" ignored
- # Tru64's nm complains that /dev/null is an invalid object file
- case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
- */dev/null* | *'Invalid file or object type'*)
- lt_cv_path_NM="$tmp_nm -B"
- break
- ;;
- *)
- case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
- */dev/null*)
- lt_cv_path_NM="$tmp_nm -p"
+ lt_nm_to_check="${ac_tool_prefix}nm"
+ if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
+ lt_nm_to_check="$lt_nm_to_check nm"
+ fi
+ for lt_tmp_nm in $lt_nm_to_check; do
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
+ IFS="$lt_save_ifs"
+ test -z "$ac_dir" && ac_dir=.
+ tmp_nm="$ac_dir/$lt_tmp_nm"
+ if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
+ # Check to see if the nm accepts a BSD-compat flag.
+ # Adding the `sed 1q' prevents false positives on HP-UX, which says:
+ # nm: unknown option "B" ignored
+ # Tru64's nm complains that /dev/null is an invalid object file
+ case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
+ */dev/null* | *'Invalid file or object type'*)
+ lt_cv_path_NM="$tmp_nm -B"
break
;;
*)
- lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
- continue # so that we can try to find one that supports BSD flags
+ case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
+ */dev/null*)
+ lt_cv_path_NM="$tmp_nm -p"
+ break
+ ;;
+ *)
+ lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
+ continue # so that we can try to find one that supports BSD flags
+ ;;
+ esac
;;
esac
- esac
- fi
+ fi
+ done
+ IFS="$lt_save_ifs"
done
- IFS="$lt_save_ifs"
test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm
fi
fi
-echo "$as_me:$LINENO: result: $lt_cv_path_NM" >&5
-echo "${ECHO_T}$lt_cv_path_NM" >&6
+{ echo "$as_me:$LINENO: result: $lt_cv_path_NM" >&5
+echo "${ECHO_T}$lt_cv_path_NM" >&6; }
NM="$lt_cv_path_NM"
-echo "$as_me:$LINENO: checking whether ln -s works" >&5
-echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether ln -s works" >&5
+echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6; }
LN_S=$as_ln_s
if test "$LN_S" = "ln -s"; then
- echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+ { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
else
- echo "$as_me:$LINENO: result: no, using $LN_S" >&5
-echo "${ECHO_T}no, using $LN_S" >&6
+ { echo "$as_me:$LINENO: result: no, using $LN_S" >&5
+echo "${ECHO_T}no, using $LN_S" >&6; }
fi
-echo "$as_me:$LINENO: checking how to recognise dependent libraries" >&5
-echo $ECHO_N "checking how to recognise dependent libraries... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking how to recognize dependent libraries" >&5
+echo $ECHO_N "checking how to recognize dependent libraries... $ECHO_C" >&6; }
if test "${lt_cv_deplibs_check_method+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -3512,16 +4167,22 @@ cygwin*)
mingw* | pw32*)
# Base MSYS/MinGW do not provide the 'file' command needed by
- # func_win32_libid shell function, so use a weaker test based on 'objdump'.
- lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
- lt_cv_file_magic_cmd='$OBJDUMP -f'
+ # func_win32_libid shell function, so use a weaker test based on 'objdump',
+ # unless we find 'file', for example because we are cross-compiling.
+ if ( file / ) >/dev/null 2>&1; then
+ lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+ lt_cv_file_magic_cmd='func_win32_libid'
+ else
+ lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
+ lt_cv_file_magic_cmd='$OBJDUMP -f'
+ fi
;;
darwin* | rhapsody*)
lt_cv_deplibs_check_method=pass_all
;;
-freebsd* | kfreebsd*-gnu | dragonfly*)
+freebsd* | dragonfly*)
if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
case $host_cpu in
i*86 )
@@ -3559,6 +4220,11 @@ hpux10.20* | hpux11*)
esac
;;
+interix[3-9]*)
+ # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
+ lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$'
+ ;;
+
irix5* | irix6* | nonstopux*)
case $LD in
*-32|*"-32 ") libmagic=32-bit;;
@@ -3570,11 +4236,11 @@ irix5* | irix6* | nonstopux*)
;;
# This must be Linux ELF.
-linux*)
+linux* | k*bsd*-gnu)
lt_cv_deplibs_check_method=pass_all
;;
-netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+netbsd* | netbsdelf*-gnu)
if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
else
@@ -3604,7 +4270,7 @@ osf3* | osf4* | osf5*)
lt_cv_deplibs_check_method=pass_all
;;
-sco3.2v5*)
+rdos*)
lt_cv_deplibs_check_method=pass_all
;;
@@ -3612,7 +4278,7 @@ solaris*)
lt_cv_deplibs_check_method=pass_all
;;
-sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+sysv4 | sysv4.3*)
case $host_vendor in
motorola)
lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
@@ -3633,17 +4299,20 @@ sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
siemens)
lt_cv_deplibs_check_method=pass_all
;;
+ pc)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
esac
;;
-sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[78]* | unixware7* | sysv4*uw2*)
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
lt_cv_deplibs_check_method=pass_all
;;
esac
fi
-echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5
-echo "${ECHO_T}$lt_cv_deplibs_check_method" >&6
+{ echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5
+echo "${ECHO_T}$lt_cv_deplibs_check_method" >&6; }
file_magic_cmd=$lt_cv_file_magic_cmd
deplibs_check_method=$lt_cv_deplibs_check_method
test -z "$deplibs_check_method" && deplibs_check_method=unknown
@@ -3654,15 +4323,18 @@ test -z "$deplibs_check_method" && deplibs_check_method=unknown
# If no C compiler was specified, use CC.
LTCC=${LTCC-"$CC"}
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
# Allow CC to be a program name with arguments.
compiler=$CC
-# Check whether --enable-libtool-lock or --disable-libtool-lock was given.
+# Check whether --enable-libtool-lock was given.
if test "${enable_libtool_lock+set}" = set; then
- enableval="$enable_libtool_lock"
+ enableval=$enable_libtool_lock;
+fi
-fi;
test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
# Some flags need to be propagated to the compiler or linker for good
@@ -3689,7 +4361,7 @@ ia64-*-hpux*)
;;
*-*-irix6*)
# Find out which ABI we are using.
- echo '#line 3692 "configure"' > conftest.$ac_ext
+ echo '#line 4364 "configure"' > conftest.$ac_ext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
@@ -3724,7 +4396,8 @@ ia64-*-hpux*)
rm -rf conftest*
;;
-x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*)
+x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
+s390*-*linux*|sparc*-*linux*)
# Find out which ABI we are using.
echo 'int i;' > conftest.$ac_ext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
@@ -3735,6 +4408,9 @@ x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*)
case `/usr/bin/file conftest.o` in
*32-bit*)
case $host in
+ x86_64-*kfreebsd*-gnu)
+ LD="${LD-ld} -m elf_i386_fbsd"
+ ;;
x86_64-*linux*)
LD="${LD-ld} -m elf_i386"
;;
@@ -3751,6 +4427,9 @@ x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*)
;;
*64-bit*)
case $host in
+ x86_64-*kfreebsd*-gnu)
+ LD="${LD-ld} -m elf_x86_64_fbsd"
+ ;;
x86_64-*linux*)
LD="${LD-ld} -m elf_x86_64"
;;
@@ -3774,8 +4453,8 @@ x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*)
# On SCO OpenServer 5, we need -belf to get full-featured binaries.
SAVE_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -belf"
- echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5
-echo $ECHO_N "checking whether the C compiler needs -belf... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5
+echo $ECHO_N "checking whether the C compiler needs -belf... $ECHO_C" >&6; }
if test "${lt_cv_cc_needs_belf+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -3801,34 +4480,32 @@ main ()
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
lt_cv_cc_needs_belf=yes
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-lt_cv_cc_needs_belf=no
+ lt_cv_cc_needs_belf=no
fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
@@ -3837,13 +4514,33 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $
ac_compiler_gnu=$ac_cv_c_compiler_gnu
fi
-echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5
-echo "${ECHO_T}$lt_cv_cc_needs_belf" >&6
+{ echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5
+echo "${ECHO_T}$lt_cv_cc_needs_belf" >&6; }
if test x"$lt_cv_cc_needs_belf" != x"yes"; then
# this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
CFLAGS="$SAVE_CFLAGS"
fi
;;
+sparc*-*solaris*)
+ # Find out which ABI we are using.
+ echo 'int i;' > conftest.$ac_ext
+ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ case `/usr/bin/file conftest.o` in
+ *64-bit*)
+ case $lt_cv_prog_gnu_ld in
+ yes*) LD="${LD-ld} -m elf64_sparc" ;;
+ *) LD="${LD-ld} -64" ;;
+ esac
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+
esac
@@ -3855,8 +4552,8 @@ ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
-echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
-echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
+echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6; }
# On Suns, sometimes $CPP names a directory.
if test -n "$CPP" && test -d "$CPP"; then
CPP=
@@ -3890,24 +4587,22 @@ cat >>conftest.$ac_ext <<_ACEOF
#endif
Syntax error
_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
:
else
echo "$as_me: failed program was:" >&5
@@ -3916,9 +4611,10 @@ sed 's/^/| /' conftest.$ac_ext >&5
# Broken: fails on valid input.
continue
fi
+
rm -f conftest.err conftest.$ac_ext
- # OK, works on sane cases. Now check whether non-existent headers
+ # OK, works on sane cases. Now check whether nonexistent headers
# can be detected and how.
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
@@ -3928,24 +4624,22 @@ cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include <ac_nonexistent.h>
_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
# Broken: success on invalid input.
continue
else
@@ -3956,6 +4650,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
ac_preproc_ok=:
break
fi
+
rm -f conftest.err conftest.$ac_ext
done
@@ -3973,8 +4668,8 @@ fi
else
ac_cv_prog_CPP=$CPP
fi
-echo "$as_me:$LINENO: result: $CPP" >&5
-echo "${ECHO_T}$CPP" >&6
+{ echo "$as_me:$LINENO: result: $CPP" >&5
+echo "${ECHO_T}$CPP" >&6; }
ac_preproc_ok=false
for ac_c_preproc_warn_flag in '' yes
do
@@ -3997,24 +4692,22 @@ cat >>conftest.$ac_ext <<_ACEOF
#endif
Syntax error
_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
:
else
echo "$as_me: failed program was:" >&5
@@ -4023,9 +4716,10 @@ sed 's/^/| /' conftest.$ac_ext >&5
# Broken: fails on valid input.
continue
fi
+
rm -f conftest.err conftest.$ac_ext
- # OK, works on sane cases. Now check whether non-existent headers
+ # OK, works on sane cases. Now check whether nonexistent headers
# can be detected and how.
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
@@ -4035,24 +4729,22 @@ cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include <ac_nonexistent.h>
_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
# Broken: success on invalid input.
continue
else
@@ -4063,6 +4755,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
ac_preproc_ok=:
break
fi
+
rm -f conftest.err conftest.$ac_ext
done
@@ -4085,8 +4778,8 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $
ac_compiler_gnu=$ac_cv_c_compiler_gnu
-echo "$as_me:$LINENO: checking for ANSI C header files" >&5
-echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5
+echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; }
if test "${ac_cv_header_stdc+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -4110,34 +4803,31 @@ main ()
}
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
ac_cv_header_stdc=yes
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-ac_cv_header_stdc=no
+ ac_cv_header_stdc=no
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
if test $ac_cv_header_stdc = yes; then
# SunOS 4.x string.h does not declare mem*, contrary to ANSI.
@@ -4193,6 +4883,7 @@ cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include <ctype.h>
+#include <stdlib.h>
#if ((' ' & 0x0FF) == 0x020)
# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
@@ -4212,18 +4903,27 @@ main ()
for (i = 0; i < 256; i++)
if (XOR (islower (i), ISLOWER (i))
|| toupper (i) != TOUPPER (i))
- exit(2);
- exit (0);
+ return 2;
+ return 0;
}
_ACEOF
rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
@@ -4236,12 +4936,14 @@ sed 's/^/| /' conftest.$ac_ext >&5
( exit $ac_status )
ac_cv_header_stdc=no
fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
fi
+
+
fi
fi
-echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
-echo "${ECHO_T}$ac_cv_header_stdc" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
+echo "${ECHO_T}$ac_cv_header_stdc" >&6; }
if test $ac_cv_header_stdc = yes; then
cat >>confdefs.h <<\_ACEOF
@@ -4264,9 +4966,9 @@ for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
inttypes.h stdint.h unistd.h
do
as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >conftest.$ac_ext <<_ACEOF
@@ -4280,37 +4982,35 @@ $ac_includes_default
#include <$ac_header>
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
eval "$as_ac_Header=yes"
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-eval "$as_ac_Header=no"
+ eval "$as_ac_Header=no"
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
if test `eval echo '${'$as_ac_Header'}'` = yes; then
cat >>confdefs.h <<_ACEOF
#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
@@ -4325,18 +5025,19 @@ done
for ac_header in dlfcn.h
do
as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ { echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
echo $ECHO_N "(cached) $ECHO_C" >&6
fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
else
# Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
@@ -4347,40 +5048,37 @@ $ac_includes_default
#include <$ac_header>
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
ac_header_compiler=yes
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-ac_header_compiler=no
+ ac_header_compiler=no
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
# Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
@@ -4389,24 +5087,22 @@ cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include <$ac_header>
_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
ac_header_preproc=yes
else
echo "$as_me: failed program was:" >&5
@@ -4414,9 +5110,10 @@ sed 's/^/| /' conftest.$ac_ext >&5
ac_header_preproc=no
fi
+
rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
# So? What about this header?
case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
@@ -4440,25 +5137,19 @@ echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\
echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
{ echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
- (
- cat <<\_ASBOX
-## ------------------------------------------ ##
-## Report this to the AC_PACKAGE_NAME lists. ##
-## ------------------------------------------ ##
-_ASBOX
- ) |
- sed "s/^/$as_me: WARNING: /" >&2
+
;;
esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
eval "$as_ac_Header=\$ac_header_preproc"
fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
fi
if test `eval echo '${'$as_ac_Header'}'` = yes; then
@@ -4470,18 +5161,22 @@ fi
done
-ac_ext=cc
+ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-if test -n "$ac_tool_prefix"; then
- for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC
+if test -z "$CXX"; then
+ if test -n "$CCC"; then
+ CXX=$CCC
+ else
+ if test -n "$ac_tool_prefix"; then
+ for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
do
# Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
if test "${ac_cv_prog_CXX+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -4494,36 +5189,38 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
fi
fi
CXX=$ac_cv_prog_CXX
if test -n "$CXX"; then
- echo "$as_me:$LINENO: result: $CXX" >&5
-echo "${ECHO_T}$CXX" >&6
+ { echo "$as_me:$LINENO: result: $CXX" >&5
+echo "${ECHO_T}$CXX" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
+
test -n "$CXX" && break
done
fi
if test -z "$CXX"; then
ac_ct_CXX=$CXX
- for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC
+ for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -4536,55 +5233,85 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_CXX="$ac_prog"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
fi
fi
ac_ct_CXX=$ac_cv_prog_ac_ct_CXX
if test -n "$ac_ct_CXX"; then
- echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5
-echo "${ECHO_T}$ac_ct_CXX" >&6
+ { echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5
+echo "${ECHO_T}$ac_ct_CXX" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
+
test -n "$ac_ct_CXX" && break
done
-test -n "$ac_ct_CXX" || ac_ct_CXX="g++"
- CXX=$ac_ct_CXX
+ if test "x$ac_ct_CXX" = x; then
+ CXX="g++"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf at gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf at gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+ CXX=$ac_ct_CXX
+ fi
fi
-
+ fi
+fi
# Provide some information about the compiler.
-echo "$as_me:$LINENO:" \
- "checking for C++ compiler version" >&5
+echo "$as_me:$LINENO: checking for C++ compiler version" >&5
ac_compiler=`set X $ac_compile; echo $2`
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
- (eval $ac_compiler --version </dev/null >&5) 2>&5
+{ (ac_try="$ac_compiler --version >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compiler --version >&5") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v </dev/null >&5\"") >&5
- (eval $ac_compiler -v </dev/null >&5) 2>&5
+{ (ac_try="$ac_compiler -v >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compiler -v >&5") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V </dev/null >&5\"") >&5
- (eval $ac_compiler -V </dev/null >&5) 2>&5
+{ (ac_try="$ac_compiler -V >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compiler -V >&5") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
-echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5
-echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5
+echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6; }
if test "${ac_cv_cxx_compiler_gnu+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -4607,49 +5334,49 @@ main ()
}
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
ac_compiler_gnu=yes
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-ac_compiler_gnu=no
+ ac_compiler_gnu=no
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
ac_cv_cxx_compiler_gnu=$ac_compiler_gnu
fi
-echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5
-echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5
+echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6; }
GXX=`test $ac_compiler_gnu = yes && echo yes`
ac_test_CXXFLAGS=${CXXFLAGS+set}
ac_save_CXXFLAGS=$CXXFLAGS
-CXXFLAGS="-g"
-echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5
-echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5
+echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6; }
if test "${ac_cv_prog_cxx_g+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
- cat >conftest.$ac_ext <<_ACEOF
+ ac_save_cxx_werror_flag=$ac_cxx_werror_flag
+ ac_cxx_werror_flag=yes
+ ac_cv_prog_cxx_g=no
+ CXXFLAGS="-g"
+ cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
@@ -4665,157 +5392,134 @@ main ()
}
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
ac_cv_prog_cxx_g=yes
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-ac_cv_prog_cxx_g=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5
-echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6
-if test "$ac_test_CXXFLAGS" = set; then
- CXXFLAGS=$ac_save_CXXFLAGS
-elif test $ac_cv_prog_cxx_g = yes; then
- if test "$GXX" = yes; then
- CXXFLAGS="-g -O2"
- else
- CXXFLAGS="-g"
- fi
-else
- if test "$GXX" = yes; then
- CXXFLAGS="-O2"
- else
- CXXFLAGS=
- fi
-fi
-for ac_declaration in \
- '' \
- 'extern "C" void std::exit (int) throw (); using std::exit;' \
- 'extern "C" void std::exit (int); using std::exit;' \
- 'extern "C" void exit (int) throw ();' \
- 'extern "C" void exit (int);' \
- 'void exit (int);'
-do
- cat >conftest.$ac_ext <<_ACEOF
+ CXXFLAGS=""
+ cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
-$ac_declaration
-#include <stdlib.h>
+
int
main ()
{
-exit (42);
+
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
:
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-continue
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- cat >conftest.$ac_ext <<_ACEOF
+ ac_cxx_werror_flag=$ac_save_cxx_werror_flag
+ CXXFLAGS="-g"
+ cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
-$ac_declaration
+
int
main ()
{
-exit (42);
+
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- break
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_prog_cxx_g=yes
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
+
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-rm -f conftest*
-if test -n "$ac_declaration"; then
- echo '#ifdef __cplusplus' >>confdefs.h
- echo $ac_declaration >>confdefs.h
- echo '#endif' >>confdefs.h
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
-ac_ext=cc
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ ac_cxx_werror_flag=$ac_save_cxx_werror_flag
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5
+echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6; }
+if test "$ac_test_CXXFLAGS" = set; then
+ CXXFLAGS=$ac_save_CXXFLAGS
+elif test $ac_cv_prog_cxx_g = yes; then
+ if test "$GXX" = yes; then
+ CXXFLAGS="-g -O2"
+ else
+ CXXFLAGS="-g"
+ fi
+else
+ if test "$GXX" = yes; then
+ CXXFLAGS="-O2"
+ else
+ CXXFLAGS=
+ fi
+fi
+ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
@@ -4823,8 +5527,8 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
depcc="$CXX" am_compiler_list=
-echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
-echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
+echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; }
if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -4913,8 +5617,8 @@ else
fi
fi
-echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5
-echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6
+{ echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5
+echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6; }
CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type
@@ -4935,13 +5639,13 @@ fi
if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
(test "X$CXX" != "Xg++"))) ; then
- ac_ext=cc
+ ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5
-echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5
+echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6; }
if test -z "$CXXCPP"; then
if test "${ac_cv_prog_CXXCPP+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -4971,24 +5675,22 @@ cat >>conftest.$ac_ext <<_ACEOF
#endif
Syntax error
_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_cxx_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ }; then
:
else
echo "$as_me: failed program was:" >&5
@@ -4997,9 +5699,10 @@ sed 's/^/| /' conftest.$ac_ext >&5
# Broken: fails on valid input.
continue
fi
+
rm -f conftest.err conftest.$ac_ext
- # OK, works on sane cases. Now check whether non-existent headers
+ # OK, works on sane cases. Now check whether nonexistent headers
# can be detected and how.
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
@@ -5009,24 +5712,22 @@ cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include <ac_nonexistent.h>
_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_cxx_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ }; then
# Broken: success on invalid input.
continue
else
@@ -5037,6 +5738,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
ac_preproc_ok=:
break
fi
+
rm -f conftest.err conftest.$ac_ext
done
@@ -5054,8 +5756,8 @@ fi
else
ac_cv_prog_CXXCPP=$CXXCPP
fi
-echo "$as_me:$LINENO: result: $CXXCPP" >&5
-echo "${ECHO_T}$CXXCPP" >&6
+{ echo "$as_me:$LINENO: result: $CXXCPP" >&5
+echo "${ECHO_T}$CXXCPP" >&6; }
ac_preproc_ok=false
for ac_cxx_preproc_warn_flag in '' yes
do
@@ -5078,24 +5780,22 @@ cat >>conftest.$ac_ext <<_ACEOF
#endif
Syntax error
_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_cxx_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ }; then
:
else
echo "$as_me: failed program was:" >&5
@@ -5104,9 +5804,10 @@ sed 's/^/| /' conftest.$ac_ext >&5
# Broken: fails on valid input.
continue
fi
+
rm -f conftest.err conftest.$ac_ext
- # OK, works on sane cases. Now check whether non-existent headers
+ # OK, works on sane cases. Now check whether nonexistent headers
# can be detected and how.
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
@@ -5116,24 +5817,22 @@ cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include <ac_nonexistent.h>
_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_cxx_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ }; then
# Broken: success on invalid input.
continue
else
@@ -5144,6 +5843,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
ac_preproc_ok=:
break
fi
+
rm -f conftest.err conftest.$ac_ext
done
@@ -5159,7 +5859,7 @@ See \`config.log' for more details." >&2;}
{ (exit 1); exit 1; }; }
fi
-ac_ext=cc
+ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
@@ -5173,12 +5873,12 @@ ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5'
ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_f77_compiler_gnu
if test -n "$ac_tool_prefix"; then
- for ac_prog in g77 f77 xlf frt pgf77 fort77 fl32 af77 f90 xlf90 pgf90 epcf90 f95 fort xlf95 ifc efc pgf95 lf95 gfortran
+ for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgf95 lf95 ftn
do
# Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
if test "${ac_cv_prog_F77+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -5191,36 +5891,38 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_F77="$ac_tool_prefix$ac_prog"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
fi
fi
F77=$ac_cv_prog_F77
if test -n "$F77"; then
- echo "$as_me:$LINENO: result: $F77" >&5
-echo "${ECHO_T}$F77" >&6
+ { echo "$as_me:$LINENO: result: $F77" >&5
+echo "${ECHO_T}$F77" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
+
test -n "$F77" && break
done
fi
if test -z "$F77"; then
ac_ct_F77=$F77
- for ac_prog in g77 f77 xlf frt pgf77 fort77 fl32 af77 f90 xlf90 pgf90 epcf90 f95 fort xlf95 ifc efc pgf95 lf95 gfortran
+ for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgf95 lf95 ftn
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
if test "${ac_cv_prog_ac_ct_F77+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -5233,48 +5935,78 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_F77="$ac_prog"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
fi
fi
ac_ct_F77=$ac_cv_prog_ac_ct_F77
if test -n "$ac_ct_F77"; then
- echo "$as_me:$LINENO: result: $ac_ct_F77" >&5
-echo "${ECHO_T}$ac_ct_F77" >&6
+ { echo "$as_me:$LINENO: result: $ac_ct_F77" >&5
+echo "${ECHO_T}$ac_ct_F77" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
+
test -n "$ac_ct_F77" && break
done
- F77=$ac_ct_F77
+ if test "x$ac_ct_F77" = x; then
+ F77=""
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf at gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf at gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+ F77=$ac_ct_F77
+ fi
fi
# Provide some information about the compiler.
-echo "$as_me:5263:" \
- "checking for Fortran 77 compiler version" >&5
+echo "$as_me:$LINENO: checking for Fortran 77 compiler version" >&5
ac_compiler=`set X $ac_compile; echo $2`
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
- (eval $ac_compiler --version </dev/null >&5) 2>&5
+{ (ac_try="$ac_compiler --version >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compiler --version >&5") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v </dev/null >&5\"") >&5
- (eval $ac_compiler -v </dev/null >&5) 2>&5
+{ (ac_try="$ac_compiler -v >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compiler -v >&5") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V </dev/null >&5\"") >&5
- (eval $ac_compiler -V </dev/null >&5) 2>&5
+{ (ac_try="$ac_compiler -V >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compiler -V >&5") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
@@ -5284,8 +6016,8 @@ rm -f a.out
# input file. (Note that this only needs to work for GNU compilers.)
ac_save_ext=$ac_ext
ac_ext=F
-echo "$as_me:$LINENO: checking whether we are using the GNU Fortran 77 compiler" >&5
-echo $ECHO_N "checking whether we are using the GNU Fortran 77 compiler... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether we are using the GNU Fortran 77 compiler" >&5
+echo $ECHO_N "checking whether we are using the GNU Fortran 77 compiler... $ECHO_C" >&6; }
if test "${ac_cv_f77_compiler_gnu+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -5298,45 +6030,42 @@ else
end
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_f77_werror_flag" || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ (exit $ac_status); } && {
+ test -z "$ac_f77_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
ac_compiler_gnu=yes
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-ac_compiler_gnu=no
+ ac_compiler_gnu=no
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
ac_cv_f77_compiler_gnu=$ac_compiler_gnu
fi
-echo "$as_me:$LINENO: result: $ac_cv_f77_compiler_gnu" >&5
-echo "${ECHO_T}$ac_cv_f77_compiler_gnu" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_f77_compiler_gnu" >&5
+echo "${ECHO_T}$ac_cv_f77_compiler_gnu" >&6; }
ac_ext=$ac_save_ext
ac_test_FFLAGS=${FFLAGS+set}
ac_save_FFLAGS=$FFLAGS
FFLAGS=
-echo "$as_me:$LINENO: checking whether $F77 accepts -g" >&5
-echo $ECHO_N "checking whether $F77 accepts -g... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether $F77 accepts -g" >&5
+echo $ECHO_N "checking whether $F77 accepts -g... $ECHO_C" >&6; }
if test "${ac_cv_prog_f77_g+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -5347,38 +6076,35 @@ cat >conftest.$ac_ext <<_ACEOF
end
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_f77_werror_flag" || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ (exit $ac_status); } && {
+ test -z "$ac_f77_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
ac_cv_prog_f77_g=yes
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-ac_cv_prog_f77_g=no
+ ac_cv_prog_f77_g=no
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
-echo "$as_me:$LINENO: result: $ac_cv_prog_f77_g" >&5
-echo "${ECHO_T}$ac_cv_prog_f77_g" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_prog_f77_g" >&5
+echo "${ECHO_T}$ac_cv_prog_f77_g" >&6; }
if test "$ac_test_FFLAGS" = set; then
FFLAGS=$ac_save_FFLAGS
elif test $ac_cv_prog_f77_g = yes; then
@@ -5407,8 +6133,8 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers!
# find the maximum length of command line arguments
-echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5
-echo $ECHO_N "checking the maximum length of command line arguments... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5
+echo $ECHO_N "checking the maximum length of command line arguments... $ECHO_C" >&6; }
if test "${lt_cv_sys_max_cmd_len+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -5461,6 +6187,12 @@ else
lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
;;
+
+ interix*)
+ # We know the value 262144 and hardcode it with a safety zone (like BSD)
+ lt_cv_sys_max_cmd_len=196608
+ ;;
+
osf*)
# Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
# due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
@@ -5474,44 +6206,59 @@ else
esac
fi
;;
+ sco3.2v5*)
+ lt_cv_sys_max_cmd_len=102400
+ ;;
+ sysv5* | sco5v6* | sysv4.2uw2*)
+ kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
+ if test -n "$kargmax"; then
+ lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'`
+ else
+ lt_cv_sys_max_cmd_len=32768
+ fi
+ ;;
*)
- # If test is not a shell built-in, we'll probably end up computing a
- # maximum length that is only half of the actual maximum length, but
- # we can't tell.
- SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
- while (test "X"`$SHELL $0 --fallback-echo "X$teststring" 2>/dev/null` \
+ lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
+ if test -n "$lt_cv_sys_max_cmd_len"; then
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+ else
+ SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
+ while (test "X"`$SHELL $0 --fallback-echo "X$teststring" 2>/dev/null` \
= "XX$teststring") >/dev/null 2>&1 &&
- new_result=`expr "X$teststring" : ".*" 2>&1` &&
- lt_cv_sys_max_cmd_len=$new_result &&
- test $i != 17 # 1/2 MB should be enough
- do
- i=`expr $i + 1`
- teststring=$teststring$teststring
- done
- teststring=
- # Add a significant safety factor because C++ compilers can tack on massive
- # amounts of additional arguments before passing them to the linker.
- # It appears as though 1/2 is a usable value.
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
+ new_result=`expr "X$teststring" : ".*" 2>&1` &&
+ lt_cv_sys_max_cmd_len=$new_result &&
+ test $i != 17 # 1/2 MB should be enough
+ do
+ i=`expr $i + 1`
+ teststring=$teststring$teststring
+ done
+ teststring=
+ # Add a significant safety factor because C++ compilers can tack on massive
+ # amounts of additional arguments before passing them to the linker.
+ # It appears as though 1/2 is a usable value.
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
+ fi
;;
esac
fi
if test -n $lt_cv_sys_max_cmd_len ; then
- echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5
-echo "${ECHO_T}$lt_cv_sys_max_cmd_len" >&6
+ { echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5
+echo "${ECHO_T}$lt_cv_sys_max_cmd_len" >&6; }
else
- echo "$as_me:$LINENO: result: none" >&5
-echo "${ECHO_T}none" >&6
+ { echo "$as_me:$LINENO: result: none" >&5
+echo "${ECHO_T}none" >&6; }
fi
+
# Check for command to grab the raw symbol name followed by C symbol from nm.
-echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5
-echo $ECHO_N "checking command to parse $NM output from $compiler object... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5
+echo $ECHO_N "checking command to parse $NM output from $compiler object... $ECHO_C" >&6; }
if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -5546,7 +6293,7 @@ hpux*) # Its linker distinguishes data from code symbols
lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'"
;;
-linux*)
+linux* | k*bsd*-gnu)
if test "$host_cpu" = ia64; then
symcode='[ABCDGIRSTW]'
lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
@@ -5559,9 +6306,18 @@ irix* | nonstopux*)
osf*)
symcode='[BCDEGQRST]'
;;
-solaris* | sysv5*)
+solaris*)
symcode='[BDRT]'
;;
+sco3.2v5*)
+ symcode='[DT]'
+ ;;
+sysv4.2uw2*)
+ symcode='[DT]'
+ ;;
+sysv5* | sco5v6* | unixware* | OpenUNIX*)
+ symcode='[ABDT]'
+ ;;
sysv4)
symcode='[DFNSTU]'
;;
@@ -5706,15 +6462,15 @@ if test -z "$lt_cv_sys_global_symbol_pipe"; then
lt_cv_sys_global_symbol_to_cdecl=
fi
if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
- echo "$as_me:$LINENO: result: failed" >&5
-echo "${ECHO_T}failed" >&6
+ { echo "$as_me:$LINENO: result: failed" >&5
+echo "${ECHO_T}failed" >&6; }
else
- echo "$as_me:$LINENO: result: ok" >&5
-echo "${ECHO_T}ok" >&6
+ { echo "$as_me:$LINENO: result: ok" >&5
+echo "${ECHO_T}ok" >&6; }
fi
-echo "$as_me:$LINENO: checking for objdir" >&5
-echo $ECHO_N "checking for objdir... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for objdir" >&5
+echo $ECHO_N "checking for objdir... $ECHO_C" >&6; }
if test "${lt_cv_objdir+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -5728,8 +6484,8 @@ else
fi
rmdir .libs 2>/dev/null
fi
-echo "$as_me:$LINENO: result: $lt_cv_objdir" >&5
-echo "${ECHO_T}$lt_cv_objdir" >&6
+{ echo "$as_me:$LINENO: result: $lt_cv_objdir" >&5
+echo "${ECHO_T}$lt_cv_objdir" >&6; }
objdir=$lt_cv_objdir
@@ -5780,8 +6536,8 @@ with_gnu_ld="$lt_cv_prog_gnu_ld"
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
set dummy ${ac_tool_prefix}ar; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
if test "${ac_cv_prog_AR+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -5794,32 +6550,34 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_AR="${ac_tool_prefix}ar"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
fi
fi
AR=$ac_cv_prog_AR
if test -n "$AR"; then
- echo "$as_me:$LINENO: result: $AR" >&5
-echo "${ECHO_T}$AR" >&6
+ { echo "$as_me:$LINENO: result: $AR" >&5
+echo "${ECHO_T}$AR" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
+
fi
if test -z "$ac_cv_prog_AR"; then
ac_ct_AR=$AR
# Extract the first word of "ar", so it can be a program name with args.
set dummy ar; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
if test "${ac_cv_prog_ac_ct_AR+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -5832,27 +6590,41 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_AR="ar"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
- test -z "$ac_cv_prog_ac_ct_AR" && ac_cv_prog_ac_ct_AR="false"
fi
fi
ac_ct_AR=$ac_cv_prog_ac_ct_AR
if test -n "$ac_ct_AR"; then
- echo "$as_me:$LINENO: result: $ac_ct_AR" >&5
-echo "${ECHO_T}$ac_ct_AR" >&6
+ { echo "$as_me:$LINENO: result: $ac_ct_AR" >&5
+echo "${ECHO_T}$ac_ct_AR" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
- AR=$ac_ct_AR
+ if test "x$ac_ct_AR" = x; then
+ AR="false"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf at gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf at gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+ AR=$ac_ct_AR
+ fi
else
AR="$ac_cv_prog_AR"
fi
@@ -5860,8 +6632,8 @@ fi
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
if test "${ac_cv_prog_RANLIB+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -5874,32 +6646,34 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
fi
fi
RANLIB=$ac_cv_prog_RANLIB
if test -n "$RANLIB"; then
- echo "$as_me:$LINENO: result: $RANLIB" >&5
-echo "${ECHO_T}$RANLIB" >&6
+ { echo "$as_me:$LINENO: result: $RANLIB" >&5
+echo "${ECHO_T}$RANLIB" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
+
fi
if test -z "$ac_cv_prog_RANLIB"; then
ac_ct_RANLIB=$RANLIB
# Extract the first word of "ranlib", so it can be a program name with args.
set dummy ranlib; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -5912,27 +6686,41 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_RANLIB="ranlib"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
- test -z "$ac_cv_prog_ac_ct_RANLIB" && ac_cv_prog_ac_ct_RANLIB=":"
fi
fi
ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
if test -n "$ac_ct_RANLIB"; then
- echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
-echo "${ECHO_T}$ac_ct_RANLIB" >&6
+ { echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
+echo "${ECHO_T}$ac_ct_RANLIB" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
- RANLIB=$ac_ct_RANLIB
+ if test "x$ac_ct_RANLIB" = x; then
+ RANLIB=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf at gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf at gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+ RANLIB=$ac_ct_RANLIB
+ fi
else
RANLIB="$ac_cv_prog_RANLIB"
fi
@@ -5940,8 +6728,8 @@ fi
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
set dummy ${ac_tool_prefix}strip; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
if test "${ac_cv_prog_STRIP+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -5954,32 +6742,34 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_STRIP="${ac_tool_prefix}strip"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
fi
fi
STRIP=$ac_cv_prog_STRIP
if test -n "$STRIP"; then
- echo "$as_me:$LINENO: result: $STRIP" >&5
-echo "${ECHO_T}$STRIP" >&6
+ { echo "$as_me:$LINENO: result: $STRIP" >&5
+echo "${ECHO_T}$STRIP" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
+
fi
if test -z "$ac_cv_prog_STRIP"; then
ac_ct_STRIP=$STRIP
# Extract the first word of "strip", so it can be a program name with args.
set dummy strip; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -5992,27 +6782,41 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_STRIP="strip"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
- test -z "$ac_cv_prog_ac_ct_STRIP" && ac_cv_prog_ac_ct_STRIP=":"
fi
fi
ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
if test -n "$ac_ct_STRIP"; then
- echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
-echo "${ECHO_T}$ac_ct_STRIP" >&6
+ { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
+echo "${ECHO_T}$ac_ct_STRIP" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
- STRIP=$ac_ct_STRIP
+ if test "x$ac_ct_STRIP" = x; then
+ STRIP=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf at gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf at gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+ STRIP=$ac_ct_STRIP
+ fi
else
STRIP="$ac_cv_prog_STRIP"
fi
@@ -6027,6 +6831,7 @@ test -z "$AR_FLAGS" && AR_FLAGS=cru
test -z "$AS" && AS=as
test -z "$CC" && CC=cc
test -z "$LTCC" && LTCC=$CC
+test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
test -z "$DLLTOOL" && DLLTOOL=dlltool
test -z "$LD" && LD=ld
test -z "$LN_S" && LN_S="ln -s"
@@ -6039,17 +6844,17 @@ test -z "$STRIP" && STRIP=:
test -z "$ac_objext" && ac_objext=o
# Determine commands to create old-style static archives.
-old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs'
+old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
old_postinstall_cmds='chmod 644 $oldlib'
old_postuninstall_cmds=
if test -n "$RANLIB"; then
case $host_os in
openbsd*)
- old_postinstall_cmds="\$RANLIB -t \$oldlib~$old_postinstall_cmds"
+ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
;;
*)
- old_postinstall_cmds="\$RANLIB \$oldlib~$old_postinstall_cmds"
+ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
;;
esac
old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
@@ -6070,8 +6875,8 @@ cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
case $deplibs_check_method in
file_magic*)
if test "$file_magic_cmd" = '$MAGIC_CMD'; then
- echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5
-echo $ECHO_N "checking for ${ac_tool_prefix}file... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5
+echo $ECHO_N "checking for ${ac_tool_prefix}file... $ECHO_C" >&6; }
if test "${lt_cv_path_MAGIC_CMD+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -6123,17 +6928,17 @@ fi
MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
if test -n "$MAGIC_CMD"; then
- echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
-echo "${ECHO_T}$MAGIC_CMD" >&6
+ { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
+echo "${ECHO_T}$MAGIC_CMD" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
if test -z "$lt_cv_path_MAGIC_CMD"; then
if test -n "$ac_tool_prefix"; then
- echo "$as_me:$LINENO: checking for file" >&5
-echo $ECHO_N "checking for file... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking for file" >&5
+echo $ECHO_N "checking for file... $ECHO_C" >&6; }
if test "${lt_cv_path_MAGIC_CMD+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -6185,11 +6990,11 @@ fi
MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
if test -n "$MAGIC_CMD"; then
- echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
-echo "${ECHO_T}$MAGIC_CMD" >&6
+ { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
+echo "${ECHO_T}$MAGIC_CMD" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
else
@@ -6204,21 +7009,21 @@ esac
enable_dlopen=no
enable_win32_dll=no
-# Check whether --enable-libtool-lock or --disable-libtool-lock was given.
+# Check whether --enable-libtool-lock was given.
if test "${enable_libtool_lock+set}" = set; then
- enableval="$enable_libtool_lock"
+ enableval=$enable_libtool_lock;
+fi
-fi;
test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
-# Check whether --with-pic or --without-pic was given.
+# Check whether --with-pic was given.
if test "${with_pic+set}" = set; then
- withval="$with_pic"
- pic_mode="$withval"
+ withval=$with_pic; pic_mode="$withval"
else
pic_mode=default
-fi;
+fi
+
test -z "$pic_mode" && pic_mode=default
# Use C for the default configuration in the libtool script
@@ -6239,98 +7044,36 @@ objext=o
objext=$objext
# Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;\n"
+lt_simple_compile_test_code="int some_variable = 0;"
# Code to be used in simple link tests
-lt_simple_link_test_code='int main(){return(0);}\n'
+lt_simple_link_test_code='int main(){return(0);}'
# If no C compiler was specified, use CC.
LTCC=${LTCC-"$CC"}
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
# Allow CC to be a program name with arguments.
compiler=$CC
# save warnings/boilerplate of simple test code
ac_outfile=conftest.$ac_objext
-printf "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err
+echo "$lt_simple_compile_test_code" >conftest.$ac_ext
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
_lt_compiler_boilerplate=`cat conftest.err`
$rm conftest*
ac_outfile=conftest.$ac_objext
-printf "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err
+echo "$lt_simple_link_test_code" >conftest.$ac_ext
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
_lt_linker_boilerplate=`cat conftest.err`
$rm conftest*
-#
-# Check for any special shared library compilation flags.
-#
-lt_prog_cc_shlib=
-if test "$GCC" = no; then
- case $host_os in
- sco3.2v5*)
- lt_prog_cc_shlib='-belf'
- ;;
- esac
-fi
-if test -n "$lt_prog_cc_shlib"; then
- { echo "$as_me:$LINENO: WARNING: \`$CC' requires \`$lt_prog_cc_shlib' to build shared libraries" >&5
-echo "$as_me: WARNING: \`$CC' requires \`$lt_prog_cc_shlib' to build shared libraries" >&2;}
- if echo "$old_CC $old_CFLAGS " | grep "[ ]$lt_prog_cc_shlib[ ]" >/dev/null; then :
- else
- { echo "$as_me:$LINENO: WARNING: add \`$lt_prog_cc_shlib' to the CC or CFLAGS env variable and reconfigure" >&5
-echo "$as_me: WARNING: add \`$lt_prog_cc_shlib' to the CC or CFLAGS env variable and reconfigure" >&2;}
- lt_cv_prog_cc_can_build_shared=no
- fi
-fi
-
-
-#
-# Check to make sure the static flag actually works.
-#
-echo "$as_me:$LINENO: checking if $compiler static flag $lt_prog_compiler_static works" >&5
-echo $ECHO_N "checking if $compiler static flag $lt_prog_compiler_static works... $ECHO_C" >&6
-if test "${lt_prog_compiler_static_works+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_prog_compiler_static_works=no
- save_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS $lt_prog_compiler_static"
- printf "$lt_simple_link_test_code" > conftest.$ac_ext
- if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
- # The linker can only warn and ignore the option if not recognized
- # So say no if there are warnings
- if test -s conftest.err; then
- # Append any errors to the config.log.
- cat conftest.err 1>&5
- $echo "X$_lt_linker_boilerplate" | $Xsed > conftest.exp
- $SED '/^$/d' conftest.err >conftest.er2
- if diff conftest.exp conftest.er2 >/dev/null; then
- lt_prog_compiler_static_works=yes
- fi
- else
- lt_prog_compiler_static_works=yes
- fi
- fi
- $rm conftest*
- LDFLAGS="$save_LDFLAGS"
-
-fi
-echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works" >&5
-echo "${ECHO_T}$lt_prog_compiler_static_works" >&6
-
-if test x"$lt_prog_compiler_static_works" = xyes; then
- :
-else
- lt_prog_compiler_static=
-fi
-
-
-
lt_prog_compiler_no_builtin_flag=
@@ -6338,14 +7081,14 @@ if test "$GCC" = yes; then
lt_prog_compiler_no_builtin_flag=' -fno-builtin'
-echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
-echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
+echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; }
if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
lt_cv_prog_compiler_rtti_exceptions=no
ac_outfile=conftest.$ac_objext
- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
lt_compiler_flag="-fno-rtti -fno-exceptions"
# Insert the option either (1) after the last *FLAGS variable, or
# (2) before a word containing "conftest.", or (3) at the end.
@@ -6356,25 +7099,25 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:6359: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:7102: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:6363: \$? = $ac_status" >&5
+ echo "$as_me:7106: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
- $echo "X$_lt_compiler_boilerplate" | $Xsed >conftest.exp
- $SED '/^$/d' conftest.err >conftest.er2
- if test ! -s conftest.err || diff conftest.exp conftest.er2 >/dev/null; then
+ $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
lt_cv_prog_compiler_rtti_exceptions=yes
fi
fi
$rm conftest*
fi
-echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6
+{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
+echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6; }
if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions"
@@ -6388,8 +7131,8 @@ lt_prog_compiler_wl=
lt_prog_compiler_pic=
lt_prog_compiler_static=
-echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
-echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
+echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
if test "$GCC" = yes; then
lt_prog_compiler_wl='-Wl,'
@@ -6411,13 +7154,15 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'
;;
- beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+ beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
# PIC is the default for these OSes.
;;
- mingw* | pw32* | os2*)
+ mingw* | cygwin* | pw32* | os2*)
# This hack is so that the source file can tell whether it is being
# built for inclusion in a dll (and should export symbols for example).
+ # Although the cygwin gcc ignores -fPIC, still need this for old-style
+ # (--disable-auto-import) libraries
lt_prog_compiler_pic='-DDLL_EXPORT'
;;
@@ -6427,6 +7172,11 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
lt_prog_compiler_pic='-fno-common'
;;
+ interix[3-9]*)
+ # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+ # Instead, we relocate shared libraries at runtime.
+ ;;
+
msdosdjgpp*)
# Just because we use GCC doesn't mean we suddenly get shared libraries
# on systems that don't support them.
@@ -6480,7 +7230,7 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
esac
;;
- mingw* | pw32* | os2*)
+ mingw* | cygwin* | pw32* | os2*)
# This hack is so that the source file can tell whether it is being
# built for inclusion in a dll (and should export symbols for example).
lt_prog_compiler_pic='-DDLL_EXPORT'
@@ -6513,7 +7263,7 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
lt_prog_compiler_static='-Bstatic'
;;
- linux*)
+ linux* | k*bsd*-gnu)
case $cc_basename in
icc* | ecc*)
lt_prog_compiler_wl='-Wl,'
@@ -6532,6 +7282,22 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
# All Alpha code is PIC.
lt_prog_compiler_static='-non_shared'
;;
+ *)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*)
+ # Sun C 5.9
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-Bstatic'
+ lt_prog_compiler_wl='-Wl,'
+ ;;
+ *Sun\ F*)
+ # Sun Fortran 8.3 passes all unrecognized flags to the linker
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-Bstatic'
+ lt_prog_compiler_wl=''
+ ;;
+ esac
+ ;;
esac
;;
@@ -6541,9 +7307,8 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
lt_prog_compiler_static='-non_shared'
;;
- sco3.2v5*)
- lt_prog_compiler_pic='-Kpic'
- lt_prog_compiler_static='-dn'
+ rdos*)
+ lt_prog_compiler_static='-non_shared'
;;
solaris*)
@@ -6563,7 +7328,7 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
lt_prog_compiler_static='-Bstatic'
;;
- sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+ sysv4 | sysv4.2uw2* | sysv4.3*)
lt_prog_compiler_wl='-Wl,'
lt_prog_compiler_pic='-KPIC'
lt_prog_compiler_static='-Bstatic'
@@ -6576,6 +7341,12 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
fi
;;
+ sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-Bstatic'
+ ;;
+
unicos*)
lt_prog_compiler_wl='-Wl,'
lt_prog_compiler_can_build_shared=no
@@ -6592,22 +7363,22 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
esac
fi
-echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic" >&6
+{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5
+echo "${ECHO_T}$lt_prog_compiler_pic" >&6; }
#
# Check to make sure the PIC flag actually works.
#
if test -n "$lt_prog_compiler_pic"; then
-echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
-echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic works... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
+echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic works... $ECHO_C" >&6; }
if test "${lt_prog_compiler_pic_works+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
lt_prog_compiler_pic_works=no
ac_outfile=conftest.$ac_objext
- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
lt_compiler_flag="$lt_prog_compiler_pic -DPIC"
# Insert the option either (1) after the last *FLAGS variable, or
# (2) before a word containing "conftest.", or (3) at the end.
@@ -6618,25 +7389,25 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:6621: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:7392: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:6625: \$? = $ac_status" >&5
+ echo "$as_me:7396: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
- $echo "X$_lt_compiler_boilerplate" | $Xsed >conftest.exp
- $SED '/^$/d' conftest.err >conftest.er2
- if test ! -s conftest.err || diff conftest.exp conftest.er2 >/dev/null; then
+ $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
lt_prog_compiler_pic_works=yes
fi
fi
$rm conftest*
fi
-echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_works" >&6
+{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works" >&5
+echo "${ECHO_T}$lt_prog_compiler_pic_works" >&6; }
if test x"$lt_prog_compiler_pic_works" = xyes; then
case $lt_prog_compiler_pic in
@@ -6659,17 +7430,59 @@ case $host_os in
;;
esac
-echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
-echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6
-if test "${lt_cv_prog_compiler_c_o+set}" = set; then
+#
+# Check to make sure the static flag actually works.
+#
+wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
+{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
+echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; }
+if test "${lt_prog_compiler_static_works+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
- lt_cv_prog_compiler_c_o=no
- $rm -r conftest 2>/dev/null
- mkdir conftest
- cd conftest
+ lt_prog_compiler_static_works=no
+ save_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
+ echo "$lt_simple_link_test_code" > conftest.$ac_ext
+ if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+ # The linker can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ if test -s conftest.err; then
+ # Append any errors to the config.log.
+ cat conftest.err 1>&5
+ $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if diff conftest.exp conftest.er2 >/dev/null; then
+ lt_prog_compiler_static_works=yes
+ fi
+ else
+ lt_prog_compiler_static_works=yes
+ fi
+ fi
+ $rm conftest*
+ LDFLAGS="$save_LDFLAGS"
+
+fi
+{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works" >&5
+echo "${ECHO_T}$lt_prog_compiler_static_works" >&6; }
+
+if test x"$lt_prog_compiler_static_works" = xyes; then
+ :
+else
+ lt_prog_compiler_static=
+fi
+
+
+{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
+echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; }
+if test "${lt_cv_prog_compiler_c_o+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ lt_cv_prog_compiler_c_o=no
+ $rm -r conftest 2>/dev/null
+ mkdir conftest
+ cd conftest
mkdir out
- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
lt_compiler_flag="-o out/conftest2.$ac_objext"
# Insert the option either (1) after the last *FLAGS variable, or
@@ -6680,18 +7493,18 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:6683: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:7496: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:6687: \$? = $ac_status" >&5
+ echo "$as_me:7500: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings
- $echo "X$_lt_compiler_boilerplate" | $Xsed > out/conftest.exp
- $SED '/^$/d' out/conftest.err >out/conftest.er2
- if test ! -s out/conftest.err || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+ $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
+ $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+ if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
lt_cv_prog_compiler_c_o=yes
fi
fi
@@ -6706,23 +7519,23 @@ else
$rm conftest*
fi
-echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_c_o" >&6
+{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5
+echo "${ECHO_T}$lt_cv_prog_compiler_c_o" >&6; }
hard_links="nottested"
if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then
# do not overwrite the value of need_locks provided by the user
- echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
-echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
+echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; }
hard_links=yes
$rm conftest*
ln conftest.a conftest.b 2>/dev/null && hard_links=no
touch conftest.a
ln conftest.a conftest.b 2>&5 || hard_links=no
ln conftest.a conftest.b 2>/dev/null && hard_links=no
- echo "$as_me:$LINENO: result: $hard_links" >&5
-echo "${ECHO_T}$hard_links" >&6
+ { echo "$as_me:$LINENO: result: $hard_links" >&5
+echo "${ECHO_T}$hard_links" >&6; }
if test "$hard_links" = no; then
{ echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
@@ -6732,8 +7545,8 @@ else
need_locks=no
fi
-echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; }
runpath_var=
allow_undefined_flag=
@@ -6791,6 +7604,10 @@ cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
with_gnu_ld=no
fi
;;
+ interix*)
+ # we just hope/assume this is gcc and not c89 (= MSVC++)
+ with_gnu_ld=yes
+ ;;
openbsd*)
with_gnu_ld=no
;;
@@ -6872,10 +7689,10 @@ EOF
allow_undefined_flag=unsupported
always_export_symbols=no
enable_shared_with_static_runtimes=yes
- export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols'
+ export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib'
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
# If the export-symbols file already is a .def file (1st line
# is EXPORTS), use it as is; otherwise, prepend...
archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
@@ -6884,13 +7701,28 @@ EOF
echo EXPORTS > $output_objdir/$soname.def;
cat $export_symbols >> $output_objdir/$soname.def;
fi~
- $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib'
+ $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
else
ld_shlibs=no
fi
;;
- linux*)
+ interix[3-9]*)
+ hardcode_direct=no
+ hardcode_shlibpath_var=no
+ hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+ export_dynamic_flag_spec='${wl}-E'
+ # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+ # Instead, shared libraries are loaded at an image base (0x10000000 by
+ # default) and relocated if they conflict, which is a slow very memory
+ # consuming and fragmenting process. To avoid this, we pick a random,
+ # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+ # time. Moving up from 0x10000000 also allows more sbrk(2) space.
+ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ ;;
+
+ gnu* | linux* | k*bsd*-gnu)
if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
tmp_addflag=
case $cc_basename,$host_cpu in
@@ -6908,13 +7740,22 @@ EOF
ifc* | ifort*) # Intel Fortran compiler
tmp_addflag=' -nofor_main' ;;
esac
- archive_cmds='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*) # Sun C 5.9
+ whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+ tmp_sharedflag='-G' ;;
+ *Sun\ F*) # Sun Fortran 8.3
+ tmp_sharedflag='-G' ;;
+ *)
+ tmp_sharedflag='-shared' ;;
+ esac
+ archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
if test $supports_anon_versioning = yes; then
archive_expsym_cmds='$echo "{ global:" > $output_objdir/$libname.ver~
cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
$echo "local: *; };" >> $output_objdir/$libname.ver~
- $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
fi
link_all_deplibs=no
else
@@ -6922,7 +7763,7 @@ EOF
fi
;;
- netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+ netbsd* | netbsdelf*-gnu)
if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
wlarc=
@@ -6932,7 +7773,7 @@ EOF
fi
;;
- solaris* | sysv5*)
+ solaris*)
if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
ld_shlibs=no
cat <<EOF 1>&2
@@ -6953,6 +7794,33 @@ EOF
fi
;;
+ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
+ case `$LD -v 2>&1` in
+ *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
+ ld_shlibs=no
+ cat <<_LT_EOF 1>&2
+
+*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
+*** reliably create shared libraries on SCO systems. Therefore, libtool
+*** is disabling shared libraries support. We urge you to upgrade GNU
+*** binutils to release 2.16.91.0.3 or newer. Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+_LT_EOF
+ ;;
+ *)
+ if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+ hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib'
+ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib'
+ else
+ ld_shlibs=no
+ fi
+ ;;
+ esac
+ ;;
+
sunos4*)
archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
wlarc=
@@ -6986,7 +7854,7 @@ EOF
# Note: this linker hardcodes the directories in LIBPATH if there
# are no directories specified by -L.
hardcode_minus_L=yes
- if test "$GCC" = yes && test -z "$link_static_flag"; then
+ if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
# Neither direct hardcoding nor static linking is supported with a
# broken collect2.
hardcode_direct=unsupported
@@ -7020,6 +7888,7 @@ EOF
break
fi
done
+ ;;
esac
exp_sym_flag='-bexport'
@@ -7046,7 +7915,7 @@ EOF
strings "$collect2name" | grep resolve_lib_name >/dev/null
then
# We have reworked collect2
- hardcode_direct=yes
+ :
else
# We have old collect2
hardcode_direct=unsupported
@@ -7057,6 +7926,7 @@ EOF
hardcode_libdir_flag_spec='-L$libdir'
hardcode_libdir_separator=
fi
+ ;;
esac
shared_flag='-shared'
if test "$aix_use_runtimelinking" = yes; then
@@ -7069,11 +7939,11 @@ EOF
# chokes on -Wl,-G. The following line is correct:
shared_flag='-G'
else
- if test "$aix_use_runtimelinking" = yes; then
+ if test "$aix_use_runtimelinking" = yes; then
shared_flag='${wl}-G'
else
shared_flag='${wl}-bM:SRE'
- fi
+ fi
fi
fi
@@ -7101,48 +7971,54 @@ main ()
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
-
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
-}'`
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+
+lt_aix_libpath_sed='
+ /Import File Strings/,/^$/ {
+ /^0/ {
+ s/^0 *\(.*\)$/\1/
+ p
+ }
+ }'
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
-}'`; fi
+if test -z "$aix_libpath"; then
+ aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+fi
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
+
fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
- archive_expsym_cmds="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+ archive_expsym_cmds="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
else
if test "$host_cpu" = ia64; then
hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
allow_undefined_flag="-z nodefs"
- archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols"
+ archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
else
# Determine the default libpath from the value encoded in an empty executable.
cat >conftest.$ac_ext <<_ACEOF
@@ -7161,38 +8037,44 @@ main ()
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
-
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
-}'`
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+
+lt_aix_libpath_sed='
+ /Import File Strings/,/^$/ {
+ /^0/ {
+ s/^0 *\(.*\)$/\1/
+ p
+ }
+ }'
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
-}'`; fi
+if test -z "$aix_libpath"; then
+ aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+fi
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
+
fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
@@ -7201,13 +8083,11 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
# -berok will link without error, but may produce a broken library.
no_undefined_flag=' ${wl}-bernotok'
allow_undefined_flag=' ${wl}-berok'
- # -bexpall does not export symbols beginning with underscore (_)
- always_export_symbols=yes
# Exported symbols can be pulled into shared objects from archives
- whole_archive_flag_spec=' '
+ whole_archive_flag_spec='$convenience'
archive_cmds_need_lc=yes
# This is similar to how AIX traditionally builds its shared libraries.
- archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+ archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
fi
fi
;;
@@ -7240,7 +8120,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
# The linker will automatically build a .lib file if we build a DLL.
old_archive_From_new_cmds='true'
# FIXME: Should let the user specify the lib program.
- old_archive_cmds='lib /OUT:$oldlib$oldobjs$old_deplibs'
+ old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
fix_srcfile_path='`cygpath -w "$srcfile"`'
enable_shared_with_static_runtimes=yes
;;
@@ -7282,10 +8162,10 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
case $cc_basename in
xlc*)
output_verbose_link_cmd='echo'
- archive_cmds='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
+ archive_cmds='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring'
module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
# Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
- archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
;;
*)
@@ -7325,7 +8205,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
;;
# FreeBSD 3 and greater uses gcc -shared to do shared libraries.
- freebsd* | kfreebsd*-gnu | dragonfly*)
+ freebsd* | dragonfly*)
archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
hardcode_libdir_flag_spec='-R$libdir'
hardcode_direct=yes
@@ -7348,47 +8228,62 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
export_dynamic_flag_spec='${wl}-E'
;;
- hpux10* | hpux11*)
+ hpux10*)
+ if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+ archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+ fi
+ if test "$with_gnu_ld" = no; then
+ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+ hardcode_libdir_separator=:
+
+ hardcode_direct=yes
+ export_dynamic_flag_spec='${wl}-E'
+
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ hardcode_minus_L=yes
+ fi
+ ;;
+
+ hpux11*)
if test "$GCC" = yes -a "$with_gnu_ld" = no; then
case $host_cpu in
- hppa*64*|ia64*)
+ hppa*64*)
archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
;;
+ ia64*)
+ archive_cmds='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
*)
archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
;;
esac
else
case $host_cpu in
- hppa*64*|ia64*)
- archive_cmds='$LD -b +h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hppa*64*)
+ archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ ia64*)
+ archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
;;
*)
- archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+ archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
;;
esac
fi
if test "$with_gnu_ld" = no; then
+ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+ hardcode_libdir_separator=:
+
case $host_cpu in
- hppa*64*)
- hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+ hppa*64*|ia64*)
hardcode_libdir_flag_spec_ld='+b $libdir'
- hardcode_libdir_separator=:
- hardcode_direct=no
- hardcode_shlibpath_var=no
- ;;
- ia64*)
- hardcode_libdir_flag_spec='-L$libdir'
hardcode_direct=no
hardcode_shlibpath_var=no
-
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L=yes
;;
*)
- hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator=:
hardcode_direct=yes
export_dynamic_flag_spec='${wl}-E'
@@ -7412,7 +8307,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
link_all_deplibs=yes
;;
- netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+ netbsd* | netbsdelf*-gnu)
if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
else
@@ -7432,24 +8327,28 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
;;
openbsd*)
- hardcode_direct=yes
- hardcode_shlibpath_var=no
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
- hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
- export_dynamic_flag_spec='${wl}-E'
+ if test -f /usr/libexec/ld.so; then
+ hardcode_direct=yes
+ hardcode_shlibpath_var=no
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
+ hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+ export_dynamic_flag_spec='${wl}-E'
+ else
+ case $host_os in
+ openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
+ archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_libdir_flag_spec='-R$libdir'
+ ;;
+ *)
+ archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+ ;;
+ esac
+ fi
else
- case $host_os in
- openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
- archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec='-R$libdir'
- ;;
- *)
- archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
- ;;
- esac
+ ld_shlibs=no
fi
;;
@@ -7490,14 +8389,6 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
hardcode_libdir_separator=:
;;
- sco3.2v5*)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_shlibpath_var=no
- export_dynamic_flag_spec='${wl}-Bexport'
- runpath_var=LD_RUN_PATH
- hardcode_runpath_var=yes
- ;;
-
solaris*)
no_undefined_flag=' -z text'
if test "$GCC" = yes; then
@@ -7516,17 +8407,16 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
case $host_os in
solaris2.[0-5] | solaris2.[0-5].*) ;;
*)
- # The compiler driver will combine linker options so we
- # cannot just pass the convience library names through
- # without $wl, iff we do not link with $LD.
- # Luckily, gcc supports the same syntax we need for Sun Studio.
+ # The compiler driver will combine and reorder linker options,
+ # but understands `-z linker_flag'. GCC discards it without `$wl',
+ # but is careful enough not to reorder.
# Supported since Solaris 2.6 (maybe 2.5.1?)
- case $wlarc in
- '')
- whole_archive_flag_spec='-z allextract$convenience -z defaultextract' ;;
- *)
- whole_archive_flag_spec='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;;
- esac ;;
+ if test "$GCC" = yes; then
+ whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+ else
+ whole_archive_flag_spec='-z allextract$convenience -z defaultextract'
+ fi
+ ;;
esac
link_all_deplibs=yes
;;
@@ -7583,36 +8473,45 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
fi
;;
- sysv4.2uw2*)
- archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct=yes
- hardcode_minus_L=no
+ sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
+ no_undefined_flag='${wl}-z,text'
+ archive_cmds_need_lc=no
hardcode_shlibpath_var=no
- hardcode_runpath_var=yes
- runpath_var=LD_RUN_PATH
- ;;
+ runpath_var='LD_RUN_PATH'
- sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[78]* | unixware7*)
- no_undefined_flag='${wl}-z ${wl}text'
if test "$GCC" = yes; then
- archive_cmds='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
else
- archive_cmds='$CC -G ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
fi
- runpath_var='LD_RUN_PATH'
- hardcode_shlibpath_var=no
;;
- sysv5*)
- no_undefined_flag=' -z text'
- # $CC -shared without GNU ld will not create a library from C++
- # object files and a static libstdc++, better avoid it by now
- archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
- archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
- hardcode_libdir_flag_spec=
+ sysv5* | sco3.2v5* | sco5v6*)
+ # Note: We can NOT use -z defs as we might desire, because we do not
+ # link with -lc, and that would cause any symbols used from libc to
+ # always be unresolved, which means just about no library would
+ # ever link correctly. If we're not using GNU ld we use -z text
+ # though, which does catch some bad symbols but isn't as heavy-handed
+ # as -z defs.
+ no_undefined_flag='${wl}-z,text'
+ allow_undefined_flag='${wl}-z,nodefs'
+ archive_cmds_need_lc=no
hardcode_shlibpath_var=no
+ hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
+ hardcode_libdir_separator=':'
+ link_all_deplibs=yes
+ export_dynamic_flag_spec='${wl}-Bexport'
runpath_var='LD_RUN_PATH'
+
+ if test "$GCC" = yes; then
+ archive_cmds='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ archive_cmds='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ fi
;;
uts4*)
@@ -7627,15 +8526,10 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
esac
fi
-echo "$as_me:$LINENO: result: $ld_shlibs" >&5
-echo "${ECHO_T}$ld_shlibs" >&6
+{ echo "$as_me:$LINENO: result: $ld_shlibs" >&5
+echo "${ECHO_T}$ld_shlibs" >&6; }
test "$ld_shlibs" = no && can_build_shared=no
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
- variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-fi
-
#
# Do we need to explicitly link libc?
#
@@ -7653,10 +8547,10 @@ x|xyes)
# Test whether the compiler implicitly links with -lc since on some
# systems, -lgcc has to come before -lc. If gcc already passes -lc
# to ld, don't add -lc before -lgcc.
- echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
-echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
+echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; }
$rm conftest*
- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
@@ -7668,6 +8562,7 @@ echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&
libobjs=conftest.$ac_objext
deplibs=
wl=$lt_prog_compiler_wl
+ pic_flag=$lt_prog_compiler_pic
compiler_flags=-v
linker_flags=-v
verstring=
@@ -7690,16 +8585,16 @@ echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&
cat conftest.err 1>&5
fi
$rm conftest*
- echo "$as_me:$LINENO: result: $archive_cmds_need_lc" >&5
-echo "${ECHO_T}$archive_cmds_need_lc" >&6
+ { echo "$as_me:$LINENO: result: $archive_cmds_need_lc" >&5
+echo "${ECHO_T}$archive_cmds_need_lc" >&6; }
;;
esac
fi
;;
esac
-echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
-echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
+echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; }
library_names_spec=
libname_spec='lib$name'
soname_spec=
@@ -7713,17 +8608,55 @@ shlibpath_overrides_runpath=unknown
version_type=none
dynamic_linker="$host_os ld.so"
sys_lib_dlsearch_path_spec="/lib /usr/lib"
+
if test "$GCC" = yes; then
- sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
- if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then
+ case $host_os in
+ darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
+ *) lt_awk_arg="/^libraries:/" ;;
+ esac
+ lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+ if echo "$lt_search_path_spec" | grep ';' >/dev/null ; then
# if the path contains ";" then we assume it to be the separator
# otherwise default to the standard path separator (i.e. ":") - it is
# assumed that no part of a normal pathname contains ";" but that should
# okay in the real world where ";" in dirpaths is itself problematic.
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+ lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e 's/;/ /g'`
else
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+ lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
fi
+ # Ok, now we have the path, separated by spaces, we can step through it
+ # and add multilib dir if necessary.
+ lt_tmp_lt_search_path_spec=
+ lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
+ for lt_sys_path in $lt_search_path_spec; do
+ if test -d "$lt_sys_path/$lt_multi_os_dir"; then
+ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
+ else
+ test -d "$lt_sys_path" && \
+ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
+ fi
+ done
+ lt_search_path_spec=`echo $lt_tmp_lt_search_path_spec | awk '
+BEGIN {RS=" "; FS="/|\n";} {
+ lt_foo="";
+ lt_count=0;
+ for (lt_i = NF; lt_i > 0; lt_i--) {
+ if ($lt_i != "" && $lt_i != ".") {
+ if ($lt_i == "..") {
+ lt_count++;
+ } else {
+ if (lt_count == 0) {
+ lt_foo="/" $lt_i lt_foo;
+ } else {
+ lt_count--;
+ }
+ }
+ }
+ }
+ if (lt_foo != "") { lt_freq[lt_foo]++; }
+ if (lt_freq[lt_foo] == 1) { print lt_foo; }
+}'`
+ sys_lib_search_path_spec=`echo $lt_search_path_spec`
else
sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
fi
@@ -7883,12 +8816,8 @@ darwin* | rhapsody*)
shlibpath_overrides_runpath=yes
shlibpath_var=DYLD_LIBRARY_PATH
shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
- # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
- if test "$GCC" = yes; then
- sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
- else
- sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib'
- fi
+
+ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"
sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
;;
@@ -7905,18 +8834,6 @@ freebsd1*)
dynamic_linker=no
;;
-kfreebsd*-gnu)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- dynamic_linker='GNU ld.so'
- ;;
-
freebsd* | dragonfly*)
# DragonFly does not have aout. When/if they implement a new
# versioning mechanism, adjust this.
@@ -7949,10 +8866,15 @@ freebsd* | dragonfly*)
shlibpath_overrides_runpath=yes
hardcode_into_libs=yes
;;
- *) # from 3.2 on
+ freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
+ freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
shlibpath_overrides_runpath=no
hardcode_into_libs=yes
;;
+ *) # from 4.6 on, and DragonFly
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
esac
;;
@@ -8012,6 +8934,18 @@ hpux9* | hpux10* | hpux11*)
postinstall_cmds='chmod 555 $lib'
;;
+interix[3-9]*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+
irix5* | irix6* | nonstopux*)
case $host_os in
nonstopux*) version_type=nonstopux ;;
@@ -8055,7 +8989,7 @@ linux*oldld* | linux*aout* | linux*coff*)
;;
# This must be Linux ELF.
-linux*)
+linux* | k*bsd*-gnu)
version_type=linux
need_lib_prefix=no
need_version=no
@@ -8071,7 +9005,7 @@ linux*)
# Append ld.so.conf contents to the search path
if test -f /etc/ld.so.conf; then
- lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+ lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
fi
@@ -8096,18 +9030,6 @@ netbsdelf*-gnu)
dynamic_linker='NetBSD ld.elf_so'
;;
-knetbsd*-gnu)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- dynamic_linker='GNU ld.so'
- ;;
-
netbsd*)
version_type=sunos
need_lib_prefix=no
@@ -8145,6 +9067,7 @@ nto-qnx*)
openbsd*)
version_type=sunos
+ sys_lib_dlsearch_path_spec="/usr/lib"
need_lib_prefix=no
# Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
case $host_os in
@@ -8188,11 +9111,8 @@ osf3* | osf4* | osf5*)
sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
;;
-sco3.2v5*)
- version_type=osf
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
+rdos*)
+ dynamic_linker=no
;;
solaris*)
@@ -8220,7 +9140,7 @@ sunos4*)
need_version=yes
;;
-sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+sysv4 | sysv4.3*)
version_type=linux
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
soname_spec='${libname}${release}${shared_ext}$major'
@@ -8253,6 +9173,29 @@ sysv4*MP*)
fi
;;
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+ version_type=freebsd-elf
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ hardcode_into_libs=yes
+ if test "$with_gnu_ld" = yes; then
+ sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
+ shlibpath_overrides_runpath=no
+ else
+ sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
+ shlibpath_overrides_runpath=yes
+ case $host_os in
+ sco3.2v5*)
+ sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
+ ;;
+ esac
+ fi
+ sys_lib_dlsearch_path_spec='/usr/lib'
+ ;;
+
uts4*)
version_type=linux
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
@@ -8264,12 +9207,17 @@ uts4*)
dynamic_linker=no
;;
esac
-echo "$as_me:$LINENO: result: $dynamic_linker" >&5
-echo "${ECHO_T}$dynamic_linker" >&6
+{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5
+echo "${ECHO_T}$dynamic_linker" >&6; }
test "$dynamic_linker" = no && can_build_shared=no
-echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
-echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6
+variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
+if test "$GCC" = yes; then
+ variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
+fi
+
+{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
+echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; }
hardcode_action=
if test -n "$hardcode_libdir_flag_spec" || \
test -n "$runpath_var" || \
@@ -8293,8 +9241,8 @@ else
# directories.
hardcode_action=unsupported
fi
-echo "$as_me:$LINENO: result: $hardcode_action" >&5
-echo "${ECHO_T}$hardcode_action" >&6
+{ echo "$as_me:$LINENO: result: $hardcode_action" >&5
+echo "${ECHO_T}$hardcode_action" >&6; }
if test "$hardcode_action" = relink; then
# Fast installation is not supported
@@ -8307,29 +9255,30 @@ fi
striplib=
old_striplib=
-echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5
-echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5
+echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6; }
if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then
test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
test -z "$striplib" && striplib="$STRIP --strip-unneeded"
- echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+ { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
else
# FIXME - insert some real tests, host_os isn't really good enough
case $host_os in
darwin*)
if test -n "$STRIP" ; then
striplib="$STRIP -x"
- echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+ old_striplib="$STRIP -S"
+ { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
;;
*)
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
;;
esac
fi
@@ -8361,8 +9310,8 @@ else
darwin*)
# if libdl is installed we need to link against it
- echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
-echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
+echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; }
if test "${ac_cv_lib_dl_dlopen+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -8375,55 +9324,53 @@ cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
-/* Override any gcc2 internal prototype to avoid an error. */
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
#ifdef __cplusplus
extern "C"
#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
char dlopen ();
int
main ()
{
-dlopen ();
+return dlopen ();
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
ac_cv_lib_dl_dlopen=yes
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-ac_cv_lib_dl_dlopen=no
+ ac_cv_lib_dl_dlopen=no
fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
-echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
+echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; }
if test $ac_cv_lib_dl_dlopen = yes; then
lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
else
@@ -8437,8 +9384,8 @@ fi
;;
*)
- echo "$as_me:$LINENO: checking for shl_load" >&5
-echo $ECHO_N "checking for shl_load... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking for shl_load" >&5
+echo $ECHO_N "checking for shl_load... $ECHO_C" >&6; }
if test "${ac_cv_func_shl_load+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -8465,72 +9412,64 @@ cat >>conftest.$ac_ext <<_ACEOF
#undef shl_load
-/* Override any gcc2 internal prototype to avoid an error. */
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
#ifdef __cplusplus
extern "C"
-{
#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
char shl_load ();
/* The GNU C library defines this for functions which it implements
to always fail with ENOSYS. Some functions are actually named
something starting with __ and the normal name is an alias. */
-#if defined (__stub_shl_load) || defined (__stub___shl_load)
+#if defined __stub_shl_load || defined __stub___shl_load
choke me
-#else
-char (*f) () = shl_load;
-#endif
-#ifdef __cplusplus
-}
#endif
int
main ()
{
-return f != shl_load;
+return shl_load ();
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
ac_cv_func_shl_load=yes
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-ac_cv_func_shl_load=no
+ ac_cv_func_shl_load=no
fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
fi
-echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5
-echo "${ECHO_T}$ac_cv_func_shl_load" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5
+echo "${ECHO_T}$ac_cv_func_shl_load" >&6; }
if test $ac_cv_func_shl_load = yes; then
lt_cv_dlopen="shl_load"
else
- echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5
-echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5
+echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6; }
if test "${ac_cv_lib_dld_shl_load+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -8543,60 +9482,58 @@ cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
-/* Override any gcc2 internal prototype to avoid an error. */
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
#ifdef __cplusplus
extern "C"
#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
char shl_load ();
int
main ()
{
-shl_load ();
+return shl_load ();
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
ac_cv_lib_dld_shl_load=yes
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-ac_cv_lib_dld_shl_load=no
+ ac_cv_lib_dld_shl_load=no
fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5
-echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5
+echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6; }
if test $ac_cv_lib_dld_shl_load = yes; then
lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"
else
- echo "$as_me:$LINENO: checking for dlopen" >&5
-echo $ECHO_N "checking for dlopen... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking for dlopen" >&5
+echo $ECHO_N "checking for dlopen... $ECHO_C" >&6; }
if test "${ac_cv_func_dlopen+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -8623,72 +9560,64 @@ cat >>conftest.$ac_ext <<_ACEOF
#undef dlopen
-/* Override any gcc2 internal prototype to avoid an error. */
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
#ifdef __cplusplus
extern "C"
-{
#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
char dlopen ();
/* The GNU C library defines this for functions which it implements
to always fail with ENOSYS. Some functions are actually named
something starting with __ and the normal name is an alias. */
-#if defined (__stub_dlopen) || defined (__stub___dlopen)
+#if defined __stub_dlopen || defined __stub___dlopen
choke me
-#else
-char (*f) () = dlopen;
-#endif
-#ifdef __cplusplus
-}
#endif
int
main ()
{
-return f != dlopen;
+return dlopen ();
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
ac_cv_func_dlopen=yes
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-ac_cv_func_dlopen=no
+ ac_cv_func_dlopen=no
fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
fi
-echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5
-echo "${ECHO_T}$ac_cv_func_dlopen" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5
+echo "${ECHO_T}$ac_cv_func_dlopen" >&6; }
if test $ac_cv_func_dlopen = yes; then
lt_cv_dlopen="dlopen"
else
- echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
-echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
+echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; }
if test "${ac_cv_lib_dl_dlopen+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -8701,60 +9630,58 @@ cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
-/* Override any gcc2 internal prototype to avoid an error. */
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
#ifdef __cplusplus
extern "C"
#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
char dlopen ();
int
main ()
{
-dlopen ();
+return dlopen ();
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
ac_cv_lib_dl_dlopen=yes
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-ac_cv_lib_dl_dlopen=no
+ ac_cv_lib_dl_dlopen=no
fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
-echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
+echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; }
if test $ac_cv_lib_dl_dlopen = yes; then
lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
else
- echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5
-echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5
+echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6; }
if test "${ac_cv_lib_svld_dlopen+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -8767,60 +9694,58 @@ cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
-/* Override any gcc2 internal prototype to avoid an error. */
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
#ifdef __cplusplus
extern "C"
#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
char dlopen ();
int
main ()
{
-dlopen ();
+return dlopen ();
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
ac_cv_lib_svld_dlopen=yes
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-ac_cv_lib_svld_dlopen=no
+ ac_cv_lib_svld_dlopen=no
fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5
-echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5
+echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6; }
if test $ac_cv_lib_svld_dlopen = yes; then
lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
else
- echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5
-echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5
+echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6; }
if test "${ac_cv_lib_dld_dld_link+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -8833,55 +9758,53 @@ cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
-/* Override any gcc2 internal prototype to avoid an error. */
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
#ifdef __cplusplus
extern "C"
#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
char dld_link ();
int
main ()
{
-dld_link ();
+return dld_link ();
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
ac_cv_lib_dld_dld_link=yes
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-ac_cv_lib_dld_dld_link=no
+ ac_cv_lib_dld_dld_link=no
fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5
-echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5
+echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6; }
if test $ac_cv_lib_dld_dld_link = yes; then
lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"
fi
@@ -8916,13 +9839,13 @@ fi
test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
save_LDFLAGS="$LDFLAGS"
- eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
+ wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
save_LIBS="$LIBS"
LIBS="$lt_cv_dlopen_libs $LIBS"
- echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5
-echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5
+echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6; }
if test "${lt_cv_dlopen_self+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -8932,7 +9855,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<EOF
-#line 8935 "configure"
+#line 9858 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -8989,6 +9912,8 @@ int main ()
else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
/* dlclose (self); */
}
+ else
+ puts (dlerror ());
exit (status);
}
@@ -9003,7 +9928,7 @@ EOF
case x$lt_status in
x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;;
x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;;
- x$lt_unknown|x*) lt_cv_dlopen_self=no ;;
+ x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;;
esac
else :
# compilation failed
@@ -9014,13 +9939,13 @@ rm -fr conftest*
fi
-echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5
-echo "${ECHO_T}$lt_cv_dlopen_self" >&6
+{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5
+echo "${ECHO_T}$lt_cv_dlopen_self" >&6; }
if test "x$lt_cv_dlopen_self" = xyes; then
- LDFLAGS="$LDFLAGS $link_static_flag"
- echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5
-echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6
+ wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
+ { echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5
+echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6; }
if test "${lt_cv_dlopen_self_static+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -9030,7 +9955,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<EOF
-#line 9033 "configure"
+#line 9958 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -9087,6 +10012,8 @@ int main ()
else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
/* dlclose (self); */
}
+ else
+ puts (dlerror ());
exit (status);
}
@@ -9101,7 +10028,7 @@ EOF
case x$lt_status in
x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;;
x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;;
- x$lt_unknown|x*) lt_cv_dlopen_self_static=no ;;
+ x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;;
esac
else :
# compilation failed
@@ -9112,8 +10039,8 @@ rm -fr conftest*
fi
-echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5
-echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6
+{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5
+echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6; }
fi
CPPFLAGS="$save_CPPFLAGS"
@@ -9134,14 +10061,14 @@ echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6
fi
-# Report which librarie types wil actually be built
-echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5
-echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6
-echo "$as_me:$LINENO: result: $can_build_shared" >&5
-echo "${ECHO_T}$can_build_shared" >&6
+# Report which library types will actually be built
+{ echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5
+echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: result: $can_build_shared" >&5
+echo "${ECHO_T}$can_build_shared" >&6; }
-echo "$as_me:$LINENO: checking whether to build shared libraries" >&5
-echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether to build shared libraries" >&5
+echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; }
test "$can_build_shared" = "no" && enable_shared=no
# On AIX, shared libraries and static libraries use the same namespace, and
@@ -9161,15 +10088,15 @@ aix4* | aix5*)
fi
;;
esac
-echo "$as_me:$LINENO: result: $enable_shared" >&5
-echo "${ECHO_T}$enable_shared" >&6
+{ echo "$as_me:$LINENO: result: $enable_shared" >&5
+echo "${ECHO_T}$enable_shared" >&6; }
-echo "$as_me:$LINENO: checking whether to build static libraries" >&5
-echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether to build static libraries" >&5
+echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; }
# Make sure either enable_shared or enable_static is yes.
test "$enable_shared" = yes || enable_static=yes
-echo "$as_me:$LINENO: result: $enable_static" >&5
-echo "${ECHO_T}$enable_static" >&6
+{ echo "$as_me:$LINENO: result: $enable_static" >&5
+echo "${ECHO_T}$enable_static" >&6; }
# The else clause should only fire when bootstrapping the
# libtool distribution, otherwise you forgot to ship ltmain.sh
@@ -9184,7 +10111,7 @@ if test -f "$ltmain"; then
# Now quote all the things that may contain metacharacters while being
# careful not to overquote the AC_SUBSTed values. We take copies of the
# variables and quote the copies for generation of the libtool script.
- for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC NM \
+ for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
SED SHELL STRIP \
libname_spec library_names_spec soname_spec extract_expsyms_cmds \
old_striplib striplib file_magic_cmd finish_cmds finish_eval \
@@ -9226,6 +10153,7 @@ if test -f "$ltmain"; then
module_cmds \
module_expsym_cmds \
lt_cv_prog_compiler_c_o \
+ fix_srcfile_path \
exclude_expsyms \
include_expsyms; do
@@ -9270,7 +10198,7 @@ echo "$as_me: creating $ofile" >&6;}
# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP)
# NOTE: Changes made to this file will be lost: look at ltmain.sh.
#
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
# Free Software Foundation, Inc.
#
# This file is part of GNU Libtool:
@@ -9350,6 +10278,9 @@ AR_FLAGS=$lt_AR_FLAGS
# A C compiler.
LTCC=$lt_LTCC
+# LTCC compiler flags.
+LTCFLAGS=$lt_LTCFLAGS
+
# A language-specific compiler.
CC=$lt_compiler
@@ -9591,7 +10522,7 @@ sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
# Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path="$fix_srcfile_path"
+fix_srcfile_path=$lt_fix_srcfile_path
# Set to yes if exported symbols are required.
always_export_symbols=$always_export_symbols
@@ -9658,11 +10589,11 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
CC="$lt_save_CC"
-# Check whether --with-tags or --without-tags was given.
+# Check whether --with-tags was given.
if test "${with_tags+set}" = set; then
- withval="$with_tags"
- tagnames="$withval"
-fi;
+ withval=$with_tags; tagnames="$withval"
+fi
+
if test -f "$ltmain" && test -n "$tagnames"; then
if test ! -f "${ofile}"; then
@@ -9680,6 +10611,9 @@ echo "$as_me: WARNING: output file \`$ofile' does not look like a libtool script
echo "$as_me: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&2;}
fi
fi
+ if test -z "$LTCFLAGS"; then
+ eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`"
+ fi
# Extract list of available tagged configurations in $ofile.
# Note that this assumes the entire list is on one line.
@@ -9713,7 +10647,7 @@ echo "$as_me: error: tag name \"$tagname\" already exists" >&2;}
if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
(test "X$CXX" != "Xg++"))) ; then
- ac_ext=cc
+ ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
@@ -9732,6 +10666,7 @@ hardcode_libdir_flag_spec_CXX=
hardcode_libdir_flag_spec_ld_CXX=
hardcode_libdir_separator_CXX=
hardcode_minus_L_CXX=no
+hardcode_shlibpath_var_CXX=unsupported
hardcode_automatic_CXX=no
module_cmds_CXX=
module_expsym_cmds_CXX=
@@ -9756,30 +10691,33 @@ objext=o
objext_CXX=$objext
# Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;\n"
+lt_simple_compile_test_code="int some_variable = 0;"
# Code to be used in simple link tests
-lt_simple_link_test_code='int main(int, char *) { return(0); }\n'
+lt_simple_link_test_code='int main(int, char *[]) { return(0); }'
# ltmain only uses $CC for tagged configurations so make sure $CC is set.
# If no C compiler was specified, use CC.
LTCC=${LTCC-"$CC"}
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
# Allow CC to be a program name with arguments.
compiler=$CC
# save warnings/boilerplate of simple test code
ac_outfile=conftest.$ac_objext
-printf "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err
+echo "$lt_simple_compile_test_code" >conftest.$ac_ext
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
_lt_compiler_boilerplate=`cat conftest.err`
$rm conftest*
ac_outfile=conftest.$ac_objext
-printf "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err
+echo "$lt_simple_link_test_code" >conftest.$ac_ext
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
_lt_linker_boilerplate=`cat conftest.err`
$rm conftest*
@@ -9794,12 +10732,12 @@ lt_save_path_LD=$lt_cv_path_LD
if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
else
- unset lt_cv_prog_gnu_ld
+ $as_unset lt_cv_prog_gnu_ld
fi
if test -n "${lt_cv_path_LDCXX+set}"; then
lt_cv_path_LD=$lt_cv_path_LDCXX
else
- unset lt_cv_path_LD
+ $as_unset lt_cv_path_LD
fi
test -z "${LDCXX+set}" || LD=$LDCXX
CC=${CXX-"c++"}
@@ -9828,18 +10766,18 @@ if test "$GXX" = yes; then
# Set up default GNU C++ configuration
-# Check whether --with-gnu-ld or --without-gnu-ld was given.
+# Check whether --with-gnu-ld was given.
if test "${with_gnu_ld+set}" = set; then
- withval="$with_gnu_ld"
- test "$withval" = no || with_gnu_ld=yes
+ withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
else
with_gnu_ld=no
-fi;
+fi
+
ac_prog=ld
if test "$GCC" = yes; then
# Check if gcc -print-prog-name=ld gives a path.
- echo "$as_me:$LINENO: checking for ld used by $CC" >&5
-echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking for ld used by $CC" >&5
+echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; }
case $host in
*-*-mingw*)
# gcc leaves a trailing carriage return which upsets mingw
@@ -9868,11 +10806,11 @@ echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6
;;
esac
elif test "$with_gnu_ld" = yes; then
- echo "$as_me:$LINENO: checking for GNU ld" >&5
-echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking for GNU ld" >&5
+echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; }
else
- echo "$as_me:$LINENO: checking for non-GNU ld" >&5
-echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking for non-GNU ld" >&5
+echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; }
fi
if test "${lt_cv_path_LD+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -9905,17 +10843,17 @@ fi
LD="$lt_cv_path_LD"
if test -n "$LD"; then
- echo "$as_me:$LINENO: result: $LD" >&5
-echo "${ECHO_T}$LD" >&6
+ { echo "$as_me:$LINENO: result: $LD" >&5
+echo "${ECHO_T}$LD" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
{ (exit 1); exit 1; }; }
-echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
-echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
+echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; }
if test "${lt_cv_prog_gnu_ld+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -9929,8 +10867,8 @@ case `$LD -v 2>&1 </dev/null` in
;;
esac
fi
-echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
-echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6
+{ echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
+echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; }
with_gnu_ld=$lt_cv_prog_gnu_ld
@@ -9980,8 +10918,8 @@ else
fi
# PORTME: fill in a description of your system's C++ link characteristics
-echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; }
ld_shlibs_CXX=yes
case $host_os in
aix3*)
@@ -10010,6 +10948,7 @@ case $host_os in
;;
esac
done
+ ;;
esac
exp_sym_flag='-bexport'
@@ -10036,7 +10975,7 @@ case $host_os in
strings "$collect2name" | grep resolve_lib_name >/dev/null
then
# We have reworked collect2
- hardcode_direct_CXX=yes
+ :
else
# We have old collect2
hardcode_direct_CXX=unsupported
@@ -10047,6 +10986,7 @@ case $host_os in
hardcode_libdir_flag_spec_CXX='-L$libdir'
hardcode_libdir_separator_CXX=
fi
+ ;;
esac
shared_flag='-shared'
if test "$aix_use_runtimelinking" = yes; then
@@ -10091,49 +11031,55 @@ main ()
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
-
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
-}'`
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+
+lt_aix_libpath_sed='
+ /Import File Strings/,/^$/ {
+ /^0/ {
+ s/^0 *\(.*\)$/\1/
+ p
+ }
+ }'
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
-}'`; fi
+if test -z "$aix_libpath"; then
+ aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+fi
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
+
fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath"
- archive_expsym_cmds_CXX="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+ archive_expsym_cmds_CXX="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
else
if test "$host_cpu" = ia64; then
hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib'
allow_undefined_flag_CXX="-z nodefs"
- archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols"
+ archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
else
# Determine the default libpath from the value encoded in an empty executable.
cat >conftest.$ac_ext <<_ACEOF
@@ -10152,38 +11098,44 @@ main ()
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
-
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
-}'`
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+
+lt_aix_libpath_sed='
+ /Import File Strings/,/^$/ {
+ /^0/ {
+ s/^0 *\(.*\)$/\1/
+ p
+ }
+ }'
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
-}'`; fi
+if test -z "$aix_libpath"; then
+ aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+fi
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
+
fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
@@ -10192,16 +11144,26 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
# -berok will link without error, but may produce a broken library.
no_undefined_flag_CXX=' ${wl}-bernotok'
allow_undefined_flag_CXX=' ${wl}-berok'
- # -bexpall does not export symbols beginning with underscore (_)
- always_export_symbols_CXX=yes
# Exported symbols can be pulled into shared objects from archives
- whole_archive_flag_spec_CXX=' '
+ whole_archive_flag_spec_CXX='$convenience'
archive_cmds_need_lc_CXX=yes
# This is similar to how AIX traditionally builds its shared libraries.
- archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+ archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
fi
fi
;;
+
+ beos*)
+ if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+ allow_undefined_flag_CXX=unsupported
+ # Joseph Beckenbach <jrb3 at best.com> says some releases of gcc
+ # support --undefined. This deserves some investigation. FIXME
+ archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ else
+ ld_shlibs_CXX=no
+ fi
+ ;;
+
chorus*)
case $cc_basename in
*)
@@ -10211,7 +11173,6 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
esac
;;
-
cygwin* | mingw* | pw32*)
# _LT_AC_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless,
# as there is no search path for DLLs.
@@ -10221,7 +11182,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
enable_shared_with_static_runtimes_CXX=yes
if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
- archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib'
+ archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
# If the export-symbols file already is a .def file (1st line
# is EXPORTS), use it as is; otherwise, prepend...
archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
@@ -10230,7 +11191,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
echo EXPORTS > $output_objdir/$soname.def;
cat $export_symbols >> $output_objdir/$soname.def;
fi~
- $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib'
+ $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
else
ld_shlibs_CXX=no
fi
@@ -10285,10 +11246,10 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
case $cc_basename in
xlc*)
output_verbose_link_cmd='echo'
- archive_cmds_CXX='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
+ archive_cmds_CXX='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring'
module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
# Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
- archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
;;
*)
@@ -10322,7 +11283,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
freebsd-elf*)
archive_cmds_need_lc_CXX=no
;;
- freebsd* | kfreebsd*-gnu | dragonfly*)
+ freebsd* | dragonfly*)
# FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
# conventions
ld_shlibs_CXX=yes
@@ -10367,33 +11328,20 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
;;
hpux10*|hpux11*)
if test $with_gnu_ld = no; then
+ hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir'
+ hardcode_libdir_separator_CXX=:
+
case $host_cpu in
- hppa*64*)
- hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir'
- hardcode_libdir_flag_spec_ld_CXX='+b $libdir'
- hardcode_libdir_separator_CXX=:
- ;;
- ia64*)
- hardcode_libdir_flag_spec_CXX='-L$libdir'
- ;;
+ hppa*64*|ia64*) ;;
*)
- hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator_CXX=:
export_dynamic_flag_spec_CXX='${wl}-E'
;;
esac
fi
case $host_cpu in
- hppa*64*)
- hardcode_direct_CXX=no
- hardcode_shlibpath_var_CXX=no
- ;;
- ia64*)
+ hppa*64*|ia64*)
hardcode_direct_CXX=no
hardcode_shlibpath_var_CXX=no
- hardcode_minus_L_CXX=yes # Not in the search PATH,
- # but as the default
- # location of the library.
;;
*)
hardcode_direct_CXX=yes
@@ -10410,8 +11358,11 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
;;
aCC*)
case $host_cpu in
- hppa*64*|ia64*)
- archive_cmds_CXX='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs'
+ hppa*64*)
+ archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ ia64*)
+ archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
;;
*)
archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
@@ -10431,8 +11382,11 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
if test "$GXX" = yes; then
if test $with_gnu_ld = no; then
case $host_cpu in
- ia64*|hppa*64*)
- archive_cmds_CXX='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs'
+ hppa*64*)
+ archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ ia64*)
+ archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
;;
*)
archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
@@ -10446,6 +11400,20 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
;;
esac
;;
+ interix[3-9]*)
+ hardcode_direct_CXX=no
+ hardcode_shlibpath_var_CXX=no
+ hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
+ export_dynamic_flag_spec_CXX='${wl}-E'
+ # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+ # Instead, shared libraries are loaded at an image base (0x10000000 by
+ # default) and relocated if they conflict, which is a slow very memory
+ # consuming and fragmenting process. To avoid this, we pick a random,
+ # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+ # time. Moving up from 0x10000000 also allows more sbrk(2) space.
+ archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ archive_expsym_cmds_CXX='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ ;;
irix5* | irix6*)
case $cc_basename in
CC*)
@@ -10472,7 +11440,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
hardcode_libdir_separator_CXX=:
;;
- linux*)
+ linux* | k*bsd*-gnu)
case $cc_basename in
KCC*)
# Kuck and Associates, Inc. (KAI) C++ Compiler
@@ -10552,6 +11520,29 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
# dependencies.
output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
;;
+ *)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*)
+ # Sun C++ 5.9
+ no_undefined_flag_CXX=' -zdefs'
+ archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ archive_expsym_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols'
+ hardcode_libdir_flag_spec_CXX='-R$libdir'
+ whole_archive_flag_spec_CXX='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+
+ # Not sure whether something based on
+ # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
+ # would be better.
+ output_verbose_link_cmd='echo'
+
+ # Archives containing C++ object files must be created using
+ # "CC -xar", where "CC" is the Sun C++ compiler. This is
+ # necessary to make sure instantiated templates are included
+ # in the archive.
+ old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs'
+ ;;
+ esac
+ ;;
esac
;;
lynxos*)
@@ -10574,7 +11565,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
;;
esac
;;
- netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+ netbsd* | netbsdelf*-gnu)
if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
wlarc=
@@ -10590,16 +11581,20 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
ld_shlibs_CXX=no
;;
openbsd*)
- hardcode_direct_CXX=yes
- hardcode_shlibpath_var_CXX=no
- archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
- hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
- export_dynamic_flag_spec_CXX='${wl}-E'
- whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ if test -f /usr/libexec/ld.so; then
+ hardcode_direct_CXX=yes
+ hardcode_shlibpath_var_CXX=no
+ archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+ hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
+ export_dynamic_flag_spec_CXX='${wl}-E'
+ whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ fi
+ output_verbose_link_cmd='echo'
+ else
+ ld_shlibs_CXX=no
fi
- output_verbose_link_cmd='echo'
;;
osf3*)
case $cc_basename in
@@ -10728,19 +11723,6 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
# FIXME: insert proper C++ library support
ld_shlibs_CXX=no
;;
- sco*)
- archive_cmds_need_lc_CXX=no
- case $cc_basename in
- CC*)
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- *)
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- esac
- ;;
sunos4*)
case $cc_basename in
CC*)
@@ -10774,15 +11756,10 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
case $host_os in
solaris2.[0-5] | solaris2.[0-5].*) ;;
*)
- # The C++ compiler is used as linker so we must use $wl
- # flag to pass the commands to the underlying system
- # linker. We must also pass each convience library through
- # to the system linker between allextract/defaultextract.
- # The C++ compiler will combine linker options so we
- # cannot just pass the convience library names through
- # without $wl.
+ # The compiler driver will combine and reorder linker options,
+ # but understands `-z linker_flag'.
# Supported since Solaris 2.6 (maybe 2.5.1?)
- whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract'
+ whole_archive_flag_spec_CXX='-z allextract$convenience -z defaultextract'
;;
esac
link_all_deplibs_CXX=yes
@@ -10829,12 +11806,69 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
fi
hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir'
+ case $host_os in
+ solaris2.[0-5] | solaris2.[0-5].*) ;;
+ *)
+ whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+ ;;
+ esac
fi
;;
esac
;;
- sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[78]* | unixware7*)
+ sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
+ no_undefined_flag_CXX='${wl}-z,text'
+ archive_cmds_need_lc_CXX=no
+ hardcode_shlibpath_var_CXX=no
+ runpath_var='LD_RUN_PATH'
+
+ case $cc_basename in
+ CC*)
+ archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
+ archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ ;;
+ sysv5* | sco3.2v5* | sco5v6*)
+ # Note: We can NOT use -z defs as we might desire, because we do not
+ # link with -lc, and that would cause any symbols used from libc to
+ # always be unresolved, which means just about no library would
+ # ever link correctly. If we're not using GNU ld we use -z text
+ # though, which does catch some bad symbols but isn't as heavy-handed
+ # as -z defs.
+ # For security reasons, it is highly recommended that you always
+ # use absolute paths for naming shared libraries, and exclude the
+ # DT_RUNPATH tag from executables and libraries. But doing so
+ # requires that you compile everything twice, which is a pain.
+ # So that behaviour is only enabled if SCOABSPATH is set to a
+ # non-empty value in the environment. Most likely only useful for
+ # creating official distributions of packages.
+ # This is a hack until libtool officially supports absolute path
+ # names for shared libraries.
+ no_undefined_flag_CXX='${wl}-z,text'
+ allow_undefined_flag_CXX='${wl}-z,nodefs'
archive_cmds_need_lc_CXX=no
+ hardcode_shlibpath_var_CXX=no
+ hardcode_libdir_flag_spec_CXX='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
+ hardcode_libdir_separator_CXX=':'
+ link_all_deplibs_CXX=yes
+ export_dynamic_flag_spec_CXX='${wl}-Bexport'
+ runpath_var='LD_RUN_PATH'
+
+ case $cc_basename in
+ CC*)
+ archive_cmds_CXX='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
+ archive_cmds_CXX='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
;;
tandem*)
case $cc_basename in
@@ -10858,8 +11892,8 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
ld_shlibs_CXX=no
;;
esac
-echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5
-echo "${ECHO_T}$ld_shlibs_CXX" >&6
+{ echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5
+echo "${ECHO_T}$ld_shlibs_CXX" >&6; }
test "$ld_shlibs_CXX" = no && can_build_shared=no
GCC_CXX="$GXX"
@@ -10969,15 +12003,57 @@ $rm -f confest.$objext
# PORTME: override above test on systems where it is broken
case $host_os in
+interix[3-9]*)
+ # Interix 3.5 installs completely hosed .la files for C++, so rather than
+ # hack all around it, let's just trust "g++" to DTRT.
+ predep_objects_CXX=
+ postdep_objects_CXX=
+ postdeps_CXX=
+ ;;
+
+linux*)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*)
+ # Sun C++ 5.9
+ #
+ # The more standards-conforming stlport4 library is
+ # incompatible with the Cstd library. Avoid specifying
+ # it if it's in CXXFLAGS. Ignore libCrun as
+ # -library=stlport4 depends on it.
+ case " $CXX $CXXFLAGS " in
+ *" -library=stlport4 "*)
+ solaris_use_stlport4=yes
+ ;;
+ esac
+ if test "$solaris_use_stlport4" != yes; then
+ postdeps_CXX='-library=Cstd -library=Crun'
+ fi
+ ;;
+ esac
+ ;;
+
solaris*)
case $cc_basename in
CC*)
+ # The more standards-conforming stlport4 library is
+ # incompatible with the Cstd library. Avoid specifying
+ # it if it's in CXXFLAGS. Ignore libCrun as
+ # -library=stlport4 depends on it.
+ case " $CXX $CXXFLAGS " in
+ *" -library=stlport4 "*)
+ solaris_use_stlport4=yes
+ ;;
+ esac
+
# Adding this requires a known-good setup of shared libraries for
# Sun compiler versions before 5.6, else PIC objects from an old
# archive will be linked into the output, leading to subtle bugs.
- postdeps_CXX='-lCstd -lCrun'
+ if test "$solaris_use_stlport4" != yes; then
+ postdeps_CXX='-library=Cstd -library=Crun'
+ fi
;;
esac
+ ;;
esac
@@ -10989,8 +12065,8 @@ lt_prog_compiler_wl_CXX=
lt_prog_compiler_pic_CXX=
lt_prog_compiler_static_CXX=
-echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
-echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
+echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
# C++ specific cases for pic, static, wl, etc.
if test "$GXX" = yes; then
@@ -11011,12 +12087,14 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
# like `-m68040'.
lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4'
;;
- beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+ beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
# PIC is the default for these OSes.
;;
- mingw* | os2* | pw32*)
+ mingw* | cygwin* | os2* | pw32*)
# This hack is so that the source file can tell whether it is being
# built for inclusion in a dll (and should export symbols for example).
+ # Although the cygwin gcc ignores -fPIC, still need this for old-style
+ # (--disable-auto-import) libraries
lt_prog_compiler_pic_CXX='-DDLL_EXPORT'
;;
darwin* | rhapsody*)
@@ -11028,6 +12106,10 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
# DJGPP does not support shared libraries at all
lt_prog_compiler_pic_CXX=
;;
+ interix[3-9]*)
+ # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+ # Instead, we relocate shared libraries at runtime.
+ ;;
sysv4*MP*)
if test -d /usr/nec; then
lt_prog_compiler_pic_CXX=-Kconform_pic
@@ -11090,21 +12172,21 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
;;
esac
;;
- freebsd* | kfreebsd*-gnu | dragonfly*)
+ freebsd* | dragonfly*)
# FreeBSD uses GNU C++
;;
hpux9* | hpux10* | hpux11*)
case $cc_basename in
CC*)
lt_prog_compiler_wl_CXX='-Wl,'
- lt_prog_compiler_static_CXX="${ac_cv_prog_cc_wl}-a ${ac_cv_prog_cc_wl}archive"
+ lt_prog_compiler_static_CXX='${wl}-a ${wl}archive'
if test "$host_cpu" != ia64; then
lt_prog_compiler_pic_CXX='+Z'
fi
;;
aCC*)
lt_prog_compiler_wl_CXX='-Wl,'
- lt_prog_compiler_static_CXX="${ac_cv_prog_cc_wl}-a ${ac_cv_prog_cc_wl}archive"
+ lt_prog_compiler_static_CXX='${wl}-a ${wl}archive'
case $host_cpu in
hppa*64*|ia64*)
# +Z the default
@@ -11118,6 +12200,10 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
;;
esac
;;
+ interix*)
+ # This is c89, which is MS Visual C++ (no shared libs)
+ # Anyone wants to do a port?
+ ;;
irix5* | irix6* | nonstopux*)
case $cc_basename in
CC*)
@@ -11129,7 +12215,7 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
;;
esac
;;
- linux*)
+ linux* | k*bsd*-gnu)
case $cc_basename in
KCC*)
# KAI C++ Compiler
@@ -11156,6 +12242,14 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
lt_prog_compiler_static_CXX='-non_shared'
;;
*)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*)
+ # Sun C++ 5.9
+ lt_prog_compiler_pic_CXX='-KPIC'
+ lt_prog_compiler_static_CXX='-Bstatic'
+ lt_prog_compiler_wl_CXX='-Qoption ld '
+ ;;
+ esac
;;
esac
;;
@@ -11172,7 +12266,7 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
;;
esac
;;
- netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+ netbsd* | netbsdelf*-gnu)
;;
osf3* | osf4* | osf5*)
case $cc_basename in
@@ -11197,15 +12291,6 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
;;
psos*)
;;
- sco*)
- case $cc_basename in
- CC*)
- lt_prog_compiler_pic_CXX='-fPIC'
- ;;
- *)
- ;;
- esac
- ;;
solaris*)
case $cc_basename in
CC*)
@@ -11247,7 +12332,14 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
;;
esac
;;
- unixware*)
+ sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+ case $cc_basename in
+ CC*)
+ lt_prog_compiler_wl_CXX='-Wl,'
+ lt_prog_compiler_pic_CXX='-KPIC'
+ lt_prog_compiler_static_CXX='-Bstatic'
+ ;;
+ esac
;;
vxworks*)
;;
@@ -11257,22 +12349,22 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
esac
fi
-echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_CXX" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_CXX" >&6
+{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_CXX" >&5
+echo "${ECHO_T}$lt_prog_compiler_pic_CXX" >&6; }
#
# Check to make sure the PIC flag actually works.
#
if test -n "$lt_prog_compiler_pic_CXX"; then
-echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5
-echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5
+echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... $ECHO_C" >&6; }
if test "${lt_prog_compiler_pic_works_CXX+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
lt_prog_compiler_pic_works_CXX=no
ac_outfile=conftest.$ac_objext
- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC"
# Insert the option either (1) after the last *FLAGS variable, or
# (2) before a word containing "conftest.", or (3) at the end.
@@ -11283,25 +12375,25 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:11286: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:12378: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:11290: \$? = $ac_status" >&5
+ echo "$as_me:12382: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
- $echo "X$_lt_compiler_boilerplate" | $Xsed >conftest.exp
- $SED '/^$/d' conftest.err >conftest.er2
- if test ! -s conftest.err || diff conftest.exp conftest.er2 >/dev/null; then
+ $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
lt_prog_compiler_pic_works_CXX=yes
fi
fi
$rm conftest*
fi
-echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_CXX" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_works_CXX" >&6
+{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_CXX" >&5
+echo "${ECHO_T}$lt_prog_compiler_pic_works_CXX" >&6; }
if test x"$lt_prog_compiler_pic_works_CXX" = xyes; then
case $lt_prog_compiler_pic_CXX in
@@ -11324,8 +12416,50 @@ case $host_os in
;;
esac
-echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
-echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6
+#
+# Check to make sure the static flag actually works.
+#
+wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\"
+{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
+echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; }
+if test "${lt_prog_compiler_static_works_CXX+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ lt_prog_compiler_static_works_CXX=no
+ save_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
+ echo "$lt_simple_link_test_code" > conftest.$ac_ext
+ if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+ # The linker can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ if test -s conftest.err; then
+ # Append any errors to the config.log.
+ cat conftest.err 1>&5
+ $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if diff conftest.exp conftest.er2 >/dev/null; then
+ lt_prog_compiler_static_works_CXX=yes
+ fi
+ else
+ lt_prog_compiler_static_works_CXX=yes
+ fi
+ fi
+ $rm conftest*
+ LDFLAGS="$save_LDFLAGS"
+
+fi
+{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_CXX" >&5
+echo "${ECHO_T}$lt_prog_compiler_static_works_CXX" >&6; }
+
+if test x"$lt_prog_compiler_static_works_CXX" = xyes; then
+ :
+else
+ lt_prog_compiler_static_CXX=
+fi
+
+
+{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
+echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; }
if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -11334,7 +12468,7 @@ else
mkdir conftest
cd conftest
mkdir out
- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
lt_compiler_flag="-o out/conftest2.$ac_objext"
# Insert the option either (1) after the last *FLAGS variable, or
@@ -11345,18 +12479,18 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:11348: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:12482: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:11352: \$? = $ac_status" >&5
+ echo "$as_me:12486: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings
- $echo "X$_lt_compiler_boilerplate" | $Xsed > out/conftest.exp
- $SED '/^$/d' out/conftest.err >out/conftest.er2
- if test ! -s out/conftest.err || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+ $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
+ $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+ if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
lt_cv_prog_compiler_c_o_CXX=yes
fi
fi
@@ -11371,23 +12505,23 @@ else
$rm conftest*
fi
-echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_CXX" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_c_o_CXX" >&6
+{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_CXX" >&5
+echo "${ECHO_T}$lt_cv_prog_compiler_c_o_CXX" >&6; }
hard_links="nottested"
if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then
# do not overwrite the value of need_locks provided by the user
- echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
-echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
+echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; }
hard_links=yes
$rm conftest*
ln conftest.a conftest.b 2>/dev/null && hard_links=no
touch conftest.a
ln conftest.a conftest.b 2>&5 || hard_links=no
ln conftest.a conftest.b 2>/dev/null && hard_links=no
- echo "$as_me:$LINENO: result: $hard_links" >&5
-echo "${ECHO_T}$hard_links" >&6
+ { echo "$as_me:$LINENO: result: $hard_links" >&5
+echo "${ECHO_T}$hard_links" >&6; }
if test "$hard_links" = no; then
{ echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
@@ -11397,8 +12531,8 @@ else
need_locks=no
fi
-echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; }
export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
case $host_os in
@@ -11415,9 +12549,9 @@ echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared librar
export_symbols_cmds_CXX="$ltdll_cmds"
;;
cygwin* | mingw*)
- export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/;/^.* __nm__/s/^.* __nm__\([^ ]*\) [^ ]*/\1 DATA/;/^I /d;/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols'
+ export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;/^.*[ ]__nm__/s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
;;
- linux*)
+ linux* | k*bsd*-gnu)
link_all_deplibs_CXX=no
;;
*)
@@ -11425,15 +12559,10 @@ echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared librar
;;
esac
-echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5
-echo "${ECHO_T}$ld_shlibs_CXX" >&6
+{ echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5
+echo "${ECHO_T}$ld_shlibs_CXX" >&6; }
test "$ld_shlibs_CXX" = no && can_build_shared=no
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
- variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-fi
-
#
# Do we need to explicitly link libc?
#
@@ -11451,10 +12580,10 @@ x|xyes)
# Test whether the compiler implicitly links with -lc since on some
# systems, -lgcc has to come before -lc. If gcc already passes -lc
# to ld, don't add -lc before -lgcc.
- echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
-echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
+echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; }
$rm conftest*
- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
@@ -11466,6 +12595,7 @@ echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&
libobjs=conftest.$ac_objext
deplibs=
wl=$lt_prog_compiler_wl_CXX
+ pic_flag=$lt_prog_compiler_pic_CXX
compiler_flags=-v
linker_flags=-v
verstring=
@@ -11488,16 +12618,16 @@ echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&
cat conftest.err 1>&5
fi
$rm conftest*
- echo "$as_me:$LINENO: result: $archive_cmds_need_lc_CXX" >&5
-echo "${ECHO_T}$archive_cmds_need_lc_CXX" >&6
+ { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_CXX" >&5
+echo "${ECHO_T}$archive_cmds_need_lc_CXX" >&6; }
;;
esac
fi
;;
esac
-echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
-echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
+echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; }
library_names_spec=
libname_spec='lib$name'
soname_spec=
@@ -11511,20 +12641,7 @@ shlibpath_overrides_runpath=unknown
version_type=none
dynamic_linker="$host_os ld.so"
sys_lib_dlsearch_path_spec="/lib /usr/lib"
-if test "$GCC" = yes; then
- sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
- if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then
- # if the path contains ";" then we assume it to be the separator
- # otherwise default to the standard path separator (i.e. ":") - it is
- # assumed that no part of a normal pathname contains ";" but that should
- # okay in the real world where ";" in dirpaths is itself problematic.
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
- else
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
- fi
-else
- sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
-fi
+
need_lib_prefix=unknown
hardcode_into_libs=no
@@ -11681,12 +12798,7 @@ darwin* | rhapsody*)
shlibpath_overrides_runpath=yes
shlibpath_var=DYLD_LIBRARY_PATH
shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
- # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
- if test "$GCC" = yes; then
- sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
- else
- sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib'
- fi
+
sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
;;
@@ -11703,18 +12815,6 @@ freebsd1*)
dynamic_linker=no
;;
-kfreebsd*-gnu)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- dynamic_linker='GNU ld.so'
- ;;
-
freebsd* | dragonfly*)
# DragonFly does not have aout. When/if they implement a new
# versioning mechanism, adjust this.
@@ -11747,10 +12847,15 @@ freebsd* | dragonfly*)
shlibpath_overrides_runpath=yes
hardcode_into_libs=yes
;;
- *) # from 3.2 on
+ freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
+ freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
shlibpath_overrides_runpath=no
hardcode_into_libs=yes
;;
+ *) # from 4.6 on, and DragonFly
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
esac
;;
@@ -11810,6 +12915,18 @@ hpux9* | hpux10* | hpux11*)
postinstall_cmds='chmod 555 $lib'
;;
+interix[3-9]*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+
irix5* | irix6* | nonstopux*)
case $host_os in
nonstopux*) version_type=nonstopux ;;
@@ -11853,7 +12970,7 @@ linux*oldld* | linux*aout* | linux*coff*)
;;
# This must be Linux ELF.
-linux*)
+linux* | k*bsd*-gnu)
version_type=linux
need_lib_prefix=no
need_version=no
@@ -11869,7 +12986,7 @@ linux*)
# Append ld.so.conf contents to the search path
if test -f /etc/ld.so.conf; then
- lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+ lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
fi
@@ -11894,18 +13011,6 @@ netbsdelf*-gnu)
dynamic_linker='NetBSD ld.elf_so'
;;
-knetbsd*-gnu)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- dynamic_linker='GNU ld.so'
- ;;
-
netbsd*)
version_type=sunos
need_lib_prefix=no
@@ -11943,6 +13048,7 @@ nto-qnx*)
openbsd*)
version_type=sunos
+ sys_lib_dlsearch_path_spec="/usr/lib"
need_lib_prefix=no
# Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
case $host_os in
@@ -11986,11 +13092,8 @@ osf3* | osf4* | osf5*)
sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
;;
-sco3.2v5*)
- version_type=osf
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
+rdos*)
+ dynamic_linker=no
;;
solaris*)
@@ -12018,7 +13121,7 @@ sunos4*)
need_version=yes
;;
-sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+sysv4 | sysv4.3*)
version_type=linux
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
soname_spec='${libname}${release}${shared_ext}$major'
@@ -12051,6 +13154,29 @@ sysv4*MP*)
fi
;;
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+ version_type=freebsd-elf
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ hardcode_into_libs=yes
+ if test "$with_gnu_ld" = yes; then
+ sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
+ shlibpath_overrides_runpath=no
+ else
+ sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
+ shlibpath_overrides_runpath=yes
+ case $host_os in
+ sco3.2v5*)
+ sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
+ ;;
+ esac
+ fi
+ sys_lib_dlsearch_path_spec='/usr/lib'
+ ;;
+
uts4*)
version_type=linux
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
@@ -12062,12 +13188,17 @@ uts4*)
dynamic_linker=no
;;
esac
-echo "$as_me:$LINENO: result: $dynamic_linker" >&5
-echo "${ECHO_T}$dynamic_linker" >&6
+{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5
+echo "${ECHO_T}$dynamic_linker" >&6; }
test "$dynamic_linker" = no && can_build_shared=no
-echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
-echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6
+variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
+if test "$GCC" = yes; then
+ variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
+fi
+
+{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
+echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; }
hardcode_action_CXX=
if test -n "$hardcode_libdir_flag_spec_CXX" || \
test -n "$runpath_var_CXX" || \
@@ -12091,8 +13222,8 @@ else
# directories.
hardcode_action_CXX=unsupported
fi
-echo "$as_me:$LINENO: result: $hardcode_action_CXX" >&5
-echo "${ECHO_T}$hardcode_action_CXX" >&6
+{ echo "$as_me:$LINENO: result: $hardcode_action_CXX" >&5
+echo "${ECHO_T}$hardcode_action_CXX" >&6; }
if test "$hardcode_action_CXX" = relink; then
# Fast installation is not supported
@@ -12103,1196 +13234,372 @@ elif test "$shlibpath_overrides_runpath" = yes ||
enable_fast_install=needless
fi
-striplib=
-old_striplib=
-echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5
-echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6
-if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then
- test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
- test -z "$striplib" && striplib="$STRIP --strip-unneeded"
- echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
-else
-# FIXME - insert some real tests, host_os isn't really good enough
- case $host_os in
- darwin*)
- if test -n "$STRIP" ; then
- striplib="$STRIP -x"
- echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
- else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
- ;;
- *)
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
- ;;
- esac
-fi
-if test "x$enable_dlopen" != xyes; then
- enable_dlopen=unknown
- enable_dlopen_self=unknown
- enable_dlopen_self_static=unknown
-else
- lt_cv_dlopen=no
- lt_cv_dlopen_libs=
+# The else clause should only fire when bootstrapping the
+# libtool distribution, otherwise you forgot to ship ltmain.sh
+# with your package, and you will get complaints that there are
+# no rules to generate ltmain.sh.
+if test -f "$ltmain"; then
+ # See if we are running on zsh, and set the options which allow our commands through
+ # without removal of \ escapes.
+ if test -n "${ZSH_VERSION+set}" ; then
+ setopt NO_GLOB_SUBST
+ fi
+ # Now quote all the things that may contain metacharacters while being
+ # careful not to overquote the AC_SUBSTed values. We take copies of the
+ # variables and quote the copies for generation of the libtool script.
+ for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
+ SED SHELL STRIP \
+ libname_spec library_names_spec soname_spec extract_expsyms_cmds \
+ old_striplib striplib file_magic_cmd finish_cmds finish_eval \
+ deplibs_check_method reload_flag reload_cmds need_locks \
+ lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
+ lt_cv_sys_global_symbol_to_c_name_address \
+ sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
+ old_postinstall_cmds old_postuninstall_cmds \
+ compiler_CXX \
+ CC_CXX \
+ LD_CXX \
+ lt_prog_compiler_wl_CXX \
+ lt_prog_compiler_pic_CXX \
+ lt_prog_compiler_static_CXX \
+ lt_prog_compiler_no_builtin_flag_CXX \
+ export_dynamic_flag_spec_CXX \
+ thread_safe_flag_spec_CXX \
+ whole_archive_flag_spec_CXX \
+ enable_shared_with_static_runtimes_CXX \
+ old_archive_cmds_CXX \
+ old_archive_from_new_cmds_CXX \
+ predep_objects_CXX \
+ postdep_objects_CXX \
+ predeps_CXX \
+ postdeps_CXX \
+ compiler_lib_search_path_CXX \
+ archive_cmds_CXX \
+ archive_expsym_cmds_CXX \
+ postinstall_cmds_CXX \
+ postuninstall_cmds_CXX \
+ old_archive_from_expsyms_cmds_CXX \
+ allow_undefined_flag_CXX \
+ no_undefined_flag_CXX \
+ export_symbols_cmds_CXX \
+ hardcode_libdir_flag_spec_CXX \
+ hardcode_libdir_flag_spec_ld_CXX \
+ hardcode_libdir_separator_CXX \
+ hardcode_automatic_CXX \
+ module_cmds_CXX \
+ module_expsym_cmds_CXX \
+ lt_cv_prog_compiler_c_o_CXX \
+ fix_srcfile_path_CXX \
+ exclude_expsyms_CXX \
+ include_expsyms_CXX; do
- case $host_os in
- beos*)
- lt_cv_dlopen="load_add_on"
- lt_cv_dlopen_libs=
- lt_cv_dlopen_self=yes
+ case $var in
+ old_archive_cmds_CXX | \
+ old_archive_from_new_cmds_CXX | \
+ archive_cmds_CXX | \
+ archive_expsym_cmds_CXX | \
+ module_cmds_CXX | \
+ module_expsym_cmds_CXX | \
+ old_archive_from_expsyms_cmds_CXX | \
+ export_symbols_cmds_CXX | \
+ extract_expsyms_cmds | reload_cmds | finish_cmds | \
+ postinstall_cmds | postuninstall_cmds | \
+ old_postinstall_cmds | old_postuninstall_cmds | \
+ sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
+ # Double-quote double-evaled strings.
+ eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
+ ;;
+ *)
+ eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
+ ;;
+ esac
+ done
+
+ case $lt_echo in
+ *'\$0 --fallback-echo"')
+ lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'`
;;
+ esac
- mingw* | pw32*)
- lt_cv_dlopen="LoadLibrary"
- lt_cv_dlopen_libs=
- ;;
+cfgfile="$ofile"
- cygwin*)
- lt_cv_dlopen="dlopen"
- lt_cv_dlopen_libs=
- ;;
+ cat <<__EOF__ >> "$cfgfile"
+# ### BEGIN LIBTOOL TAG CONFIG: $tagname
- darwin*)
- # if libdl is installed we need to link against it
- echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
-echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
+# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char dlopen ();
-int
-main ()
-{
-dlopen ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_lib_dl_dlopen=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+# Shell to use when invoking shell scripts.
+SHELL=$lt_SHELL
-ac_cv_lib_dl_dlopen=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
-echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6
-if test $ac_cv_lib_dl_dlopen = yes; then
- lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
-else
+# Whether or not to build shared libraries.
+build_libtool_libs=$enable_shared
- lt_cv_dlopen="dyld"
- lt_cv_dlopen_libs=
- lt_cv_dlopen_self=yes
+# Whether or not to build static libraries.
+build_old_libs=$enable_static
-fi
+# Whether or not to add -lc for building shared libraries.
+build_libtool_need_lc=$archive_cmds_need_lc_CXX
- ;;
+# Whether or not to disallow shared libs when runtime libs are static
+allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX
- *)
- echo "$as_me:$LINENO: checking for shl_load" >&5
-echo $ECHO_N "checking for shl_load... $ECHO_C" >&6
-if test "${ac_cv_func_shl_load+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define shl_load to an innocuous variant, in case <limits.h> declares shl_load.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define shl_load innocuous_shl_load
+# Whether or not to optimize for fast installation.
+fast_install=$enable_fast_install
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char shl_load (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
+# The host system.
+host_alias=$host_alias
+host=$host
+host_os=$host_os
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
+# The build system.
+build_alias=$build_alias
+build=$build
+build_os=$build_os
-#undef shl_load
+# An echo program that does not interpret backslashes.
+echo=$lt_echo
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char shl_load ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_shl_load) || defined (__stub___shl_load)
-choke me
-#else
-char (*f) () = shl_load;
-#endif
-#ifdef __cplusplus
-}
-#endif
+# The archiver.
+AR=$lt_AR
+AR_FLAGS=$lt_AR_FLAGS
-int
-main ()
-{
-return f != shl_load;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_func_shl_load=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+# A C compiler.
+LTCC=$lt_LTCC
-ac_cv_func_shl_load=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5
-echo "${ECHO_T}$ac_cv_func_shl_load" >&6
-if test $ac_cv_func_shl_load = yes; then
- lt_cv_dlopen="shl_load"
-else
- echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5
-echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6
-if test "${ac_cv_lib_dld_shl_load+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldld $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
+# LTCC compiler flags.
+LTCFLAGS=$lt_LTCFLAGS
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char shl_load ();
-int
-main ()
-{
-shl_load ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_lib_dld_shl_load=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+# A language-specific compiler.
+CC=$lt_compiler_CXX
-ac_cv_lib_dld_shl_load=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5
-echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6
-if test $ac_cv_lib_dld_shl_load = yes; then
- lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"
-else
- echo "$as_me:$LINENO: checking for dlopen" >&5
-echo $ECHO_N "checking for dlopen... $ECHO_C" >&6
-if test "${ac_cv_func_dlopen+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define dlopen to an innocuous variant, in case <limits.h> declares dlopen.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define dlopen innocuous_dlopen
+# Is the compiler the GNU C compiler?
+with_gcc=$GCC_CXX
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char dlopen (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
+# An ERE matcher.
+EGREP=$lt_EGREP
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
+# The linker used to build libraries.
+LD=$lt_LD_CXX
-#undef dlopen
+# Whether we need hard or soft links.
+LN_S=$lt_LN_S
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char dlopen ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_dlopen) || defined (__stub___dlopen)
-choke me
-#else
-char (*f) () = dlopen;
-#endif
-#ifdef __cplusplus
-}
-#endif
+# A BSD-compatible nm program.
+NM=$lt_NM
-int
-main ()
-{
-return f != dlopen;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_func_dlopen=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+# A symbol stripping program
+STRIP=$lt_STRIP
-ac_cv_func_dlopen=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5
-echo "${ECHO_T}$ac_cv_func_dlopen" >&6
-if test $ac_cv_func_dlopen = yes; then
- lt_cv_dlopen="dlopen"
-else
- echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
-echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
+# Used to examine libraries when file_magic_cmd begins "file"
+MAGIC_CMD=$MAGIC_CMD
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char dlopen ();
-int
-main ()
-{
-dlopen ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_lib_dl_dlopen=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+# Used on cygwin: DLL creation program.
+DLLTOOL="$DLLTOOL"
-ac_cv_lib_dl_dlopen=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
-echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6
-if test $ac_cv_lib_dl_dlopen = yes; then
- lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
-else
- echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5
-echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6
-if test "${ac_cv_lib_svld_dlopen+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lsvld $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
+# Used on cygwin: object dumper.
+OBJDUMP="$OBJDUMP"
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char dlopen ();
-int
-main ()
-{
-dlopen ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_lib_svld_dlopen=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+# Used on cygwin: assembler.
+AS="$AS"
-ac_cv_lib_svld_dlopen=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5
-echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6
-if test $ac_cv_lib_svld_dlopen = yes; then
- lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
-else
- echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5
-echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6
-if test "${ac_cv_lib_dld_dld_link+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldld $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
+# The name of the directory that contains temporary libtool files.
+objdir=$objdir
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char dld_link ();
-int
-main ()
-{
-dld_link ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_lib_dld_dld_link=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+# How to create reloadable object files.
+reload_flag=$lt_reload_flag
+reload_cmds=$lt_reload_cmds
-ac_cv_lib_dld_dld_link=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5
-echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6
-if test $ac_cv_lib_dld_dld_link = yes; then
- lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"
-fi
+# How to pass a linker flag through the compiler.
+wl=$lt_lt_prog_compiler_wl_CXX
+# Object file suffix (normally "o").
+objext="$ac_objext"
-fi
+# Old archive suffix (normally "a").
+libext="$libext"
+# Shared library suffix (normally ".so").
+shrext_cmds='$shrext_cmds'
-fi
+# Executable file suffix (normally "").
+exeext="$exeext"
+# Additional compiler flags for building library objects.
+pic_flag=$lt_lt_prog_compiler_pic_CXX
+pic_mode=$pic_mode
-fi
+# What is the maximum length of a command?
+max_cmd_len=$lt_cv_sys_max_cmd_len
+# Does compiler simultaneously support -c and -o options?
+compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX
-fi
+# Must we lock files when doing compilation?
+need_locks=$lt_need_locks
+# Do we need the lib prefix for modules?
+need_lib_prefix=$need_lib_prefix
-fi
+# Do we need a version for libraries?
+need_version=$need_version
- ;;
- esac
+# Whether dlopen is supported.
+dlopen_support=$enable_dlopen
- if test "x$lt_cv_dlopen" != xno; then
- enable_dlopen=yes
- else
- enable_dlopen=no
- fi
+# Whether dlopen of programs is supported.
+dlopen_self=$enable_dlopen_self
- case $lt_cv_dlopen in
- dlopen)
- save_CPPFLAGS="$CPPFLAGS"
- test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
+# Whether dlopen of statically linked programs is supported.
+dlopen_self_static=$enable_dlopen_self_static
- save_LDFLAGS="$LDFLAGS"
- eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
+# Compiler flag to prevent dynamic linking.
+link_static_flag=$lt_lt_prog_compiler_static_CXX
- save_LIBS="$LIBS"
- LIBS="$lt_cv_dlopen_libs $LIBS"
+# Compiler flag to turn off builtin functions.
+no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX
- echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5
-echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6
-if test "${lt_cv_dlopen_self+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test "$cross_compiling" = yes; then :
- lt_cv_dlopen_self=cross
-else
- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
- lt_status=$lt_dlunknown
- cat > conftest.$ac_ext <<EOF
-#line 12733 "configure"
-#include "confdefs.h"
+# Compiler flag to allow reflexive dlopens.
+export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
+# Compiler flag to generate shared objects directly from archives.
+whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX
-#include <stdio.h>
+# Compiler flag to generate thread-safe objects.
+thread_safe_flag_spec=$lt_thread_safe_flag_spec_CXX
-#ifdef RTLD_GLOBAL
-# define LT_DLGLOBAL RTLD_GLOBAL
-#else
-# ifdef DL_GLOBAL
-# define LT_DLGLOBAL DL_GLOBAL
-# else
-# define LT_DLGLOBAL 0
-# endif
-#endif
+# Library versioning type.
+version_type=$version_type
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
- find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-# ifdef RTLD_LAZY
-# define LT_DLLAZY_OR_NOW RTLD_LAZY
-# else
-# ifdef DL_LAZY
-# define LT_DLLAZY_OR_NOW DL_LAZY
-# else
-# ifdef RTLD_NOW
-# define LT_DLLAZY_OR_NOW RTLD_NOW
-# else
-# ifdef DL_NOW
-# define LT_DLLAZY_OR_NOW DL_NOW
-# else
-# define LT_DLLAZY_OR_NOW 0
-# endif
-# endif
-# endif
-# endif
-#endif
+# Format of library name prefix.
+libname_spec=$lt_libname_spec
-#ifdef __cplusplus
-extern "C" void exit (int);
-#endif
+# List of archive names. First name is the real one, the rest are links.
+# The last name is the one that the linker finds with -lNAME.
+library_names_spec=$lt_library_names_spec
-void fnord() { int i=42;}
-int main ()
-{
- void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
- int status = $lt_dlunknown;
+# The coded name of the library, if different from the real name.
+soname_spec=$lt_soname_spec
- if (self)
- {
- if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
- else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
- /* dlclose (self); */
- }
+# Commands used to build and install an old-style archive.
+RANLIB=$lt_RANLIB
+old_archive_cmds=$lt_old_archive_cmds_CXX
+old_postinstall_cmds=$lt_old_postinstall_cmds
+old_postuninstall_cmds=$lt_old_postuninstall_cmds
- exit (status);
-}
-EOF
- if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then
- (./conftest; exit; ) >&5 2>/dev/null
- lt_status=$?
- case x$lt_status in
- x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;;
- x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;;
- x$lt_unknown|x*) lt_cv_dlopen_self=no ;;
- esac
- else :
- # compilation failed
- lt_cv_dlopen_self=no
- fi
-fi
-rm -fr conftest*
+# Create an old-style archive from a shared archive.
+old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX
+# Create a temporary old-style archive to link instead of a shared archive.
+old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX
-fi
-echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5
-echo "${ECHO_T}$lt_cv_dlopen_self" >&6
+# Commands used to build and install a shared archive.
+archive_cmds=$lt_archive_cmds_CXX
+archive_expsym_cmds=$lt_archive_expsym_cmds_CXX
+postinstall_cmds=$lt_postinstall_cmds
+postuninstall_cmds=$lt_postuninstall_cmds
- if test "x$lt_cv_dlopen_self" = xyes; then
- LDFLAGS="$LDFLAGS $link_static_flag"
- echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5
-echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6
-if test "${lt_cv_dlopen_self_static+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test "$cross_compiling" = yes; then :
- lt_cv_dlopen_self_static=cross
-else
- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
- lt_status=$lt_dlunknown
- cat > conftest.$ac_ext <<EOF
-#line 12831 "configure"
-#include "confdefs.h"
+# Commands used to build a loadable module (assumed same as above if empty)
+module_cmds=$lt_module_cmds_CXX
+module_expsym_cmds=$lt_module_expsym_cmds_CXX
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
+# Commands to strip libraries.
+old_striplib=$lt_old_striplib
+striplib=$lt_striplib
-#include <stdio.h>
+# Dependencies to place before the objects being linked to create a
+# shared library.
+predep_objects=$lt_predep_objects_CXX
-#ifdef RTLD_GLOBAL
-# define LT_DLGLOBAL RTLD_GLOBAL
-#else
-# ifdef DL_GLOBAL
-# define LT_DLGLOBAL DL_GLOBAL
-# else
-# define LT_DLGLOBAL 0
-# endif
-#endif
+# Dependencies to place after the objects being linked to create a
+# shared library.
+postdep_objects=$lt_postdep_objects_CXX
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
- find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-# ifdef RTLD_LAZY
-# define LT_DLLAZY_OR_NOW RTLD_LAZY
-# else
-# ifdef DL_LAZY
-# define LT_DLLAZY_OR_NOW DL_LAZY
-# else
-# ifdef RTLD_NOW
-# define LT_DLLAZY_OR_NOW RTLD_NOW
-# else
-# ifdef DL_NOW
-# define LT_DLLAZY_OR_NOW DL_NOW
-# else
-# define LT_DLLAZY_OR_NOW 0
-# endif
-# endif
-# endif
-# endif
-#endif
+# Dependencies to place before the objects being linked to create a
+# shared library.
+predeps=$lt_predeps_CXX
-#ifdef __cplusplus
-extern "C" void exit (int);
-#endif
+# Dependencies to place after the objects being linked to create a
+# shared library.
+postdeps=$lt_postdeps_CXX
-void fnord() { int i=42;}
-int main ()
-{
- void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
- int status = $lt_dlunknown;
+# The library search path used internally by the compiler when linking
+# a shared library.
+compiler_lib_search_path=$lt_compiler_lib_search_path_CXX
- if (self)
- {
- if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
- else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
- /* dlclose (self); */
- }
+# Method to check whether dependent libraries are shared objects.
+deplibs_check_method=$lt_deplibs_check_method
- exit (status);
-}
-EOF
- if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then
- (./conftest; exit; ) >&5 2>/dev/null
- lt_status=$?
- case x$lt_status in
- x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;;
- x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;;
- x$lt_unknown|x*) lt_cv_dlopen_self_static=no ;;
- esac
- else :
- # compilation failed
- lt_cv_dlopen_self_static=no
- fi
-fi
-rm -fr conftest*
+# Command to use when deplibs_check_method == file_magic.
+file_magic_cmd=$lt_file_magic_cmd
+# Flag that allows shared libraries with undefined symbols to be built.
+allow_undefined_flag=$lt_allow_undefined_flag_CXX
-fi
-echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5
-echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6
- fi
+# Flag that forces no undefined symbols.
+no_undefined_flag=$lt_no_undefined_flag_CXX
- CPPFLAGS="$save_CPPFLAGS"
- LDFLAGS="$save_LDFLAGS"
- LIBS="$save_LIBS"
- ;;
- esac
+# Commands used to finish a libtool library installation in a directory.
+finish_cmds=$lt_finish_cmds
- case $lt_cv_dlopen_self in
- yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
- *) enable_dlopen_self=unknown ;;
- esac
+# Same as above, but a single script fragment to be evaled but not shown.
+finish_eval=$lt_finish_eval
- case $lt_cv_dlopen_self_static in
- yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
- *) enable_dlopen_self_static=unknown ;;
- esac
-fi
+# Take the output of nm and produce a listing of raw symbols and C names.
+global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
+# Transform the output of nm in a proper C declaration
+global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
-# The else clause should only fire when bootstrapping the
-# libtool distribution, otherwise you forgot to ship ltmain.sh
-# with your package, and you will get complaints that there are
-# no rules to generate ltmain.sh.
-if test -f "$ltmain"; then
- # See if we are running on zsh, and set the options which allow our commands through
- # without removal of \ escapes.
- if test -n "${ZSH_VERSION+set}" ; then
- setopt NO_GLOB_SUBST
- fi
- # Now quote all the things that may contain metacharacters while being
- # careful not to overquote the AC_SUBSTed values. We take copies of the
- # variables and quote the copies for generation of the libtool script.
- for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC NM \
- SED SHELL STRIP \
- libname_spec library_names_spec soname_spec extract_expsyms_cmds \
- old_striplib striplib file_magic_cmd finish_cmds finish_eval \
- deplibs_check_method reload_flag reload_cmds need_locks \
- lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
- lt_cv_sys_global_symbol_to_c_name_address \
- sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
- old_postinstall_cmds old_postuninstall_cmds \
- compiler_CXX \
- CC_CXX \
- LD_CXX \
- lt_prog_compiler_wl_CXX \
- lt_prog_compiler_pic_CXX \
- lt_prog_compiler_static_CXX \
- lt_prog_compiler_no_builtin_flag_CXX \
- export_dynamic_flag_spec_CXX \
- thread_safe_flag_spec_CXX \
- whole_archive_flag_spec_CXX \
- enable_shared_with_static_runtimes_CXX \
- old_archive_cmds_CXX \
- old_archive_from_new_cmds_CXX \
- predep_objects_CXX \
- postdep_objects_CXX \
- predeps_CXX \
- postdeps_CXX \
- compiler_lib_search_path_CXX \
- archive_cmds_CXX \
- archive_expsym_cmds_CXX \
- postinstall_cmds_CXX \
- postuninstall_cmds_CXX \
- old_archive_from_expsyms_cmds_CXX \
- allow_undefined_flag_CXX \
- no_undefined_flag_CXX \
- export_symbols_cmds_CXX \
- hardcode_libdir_flag_spec_CXX \
- hardcode_libdir_flag_spec_ld_CXX \
- hardcode_libdir_separator_CXX \
- hardcode_automatic_CXX \
- module_cmds_CXX \
- module_expsym_cmds_CXX \
- lt_cv_prog_compiler_c_o_CXX \
- exclude_expsyms_CXX \
- include_expsyms_CXX; do
+# Transform the output of nm in a C name address pair
+global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
- case $var in
- old_archive_cmds_CXX | \
- old_archive_from_new_cmds_CXX | \
- archive_cmds_CXX | \
- archive_expsym_cmds_CXX | \
- module_cmds_CXX | \
- module_expsym_cmds_CXX | \
- old_archive_from_expsyms_cmds_CXX | \
- export_symbols_cmds_CXX | \
- extract_expsyms_cmds | reload_cmds | finish_cmds | \
- postinstall_cmds | postuninstall_cmds | \
- old_postinstall_cmds | old_postuninstall_cmds | \
- sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
- # Double-quote double-evaled strings.
- eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
- ;;
- *)
- eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
- ;;
- esac
- done
+# This is the shared library runtime path variable.
+runpath_var=$runpath_var
- case $lt_echo in
- *'\$0 --fallback-echo"')
- lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'`
- ;;
- esac
+# This is the shared library path variable.
+shlibpath_var=$shlibpath_var
-cfgfile="$ofile"
+# Is shlibpath searched before the hard-coded library search path?
+shlibpath_overrides_runpath=$shlibpath_overrides_runpath
- cat <<__EOF__ >> "$cfgfile"
-# ### BEGIN LIBTOOL TAG CONFIG: $tagname
+# How to hardcode a shared library path into an executable.
+hardcode_action=$hardcode_action_CXX
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+# Whether we should hardcode library paths into libraries.
+hardcode_into_libs=$hardcode_into_libs
-# Shell to use when invoking shell scripts.
-SHELL=$lt_SHELL
+# Flag to hardcode \$libdir into a binary during linking.
+# This must work even if \$libdir does not exist.
+hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX
-# Whether or not to build shared libraries.
-build_libtool_libs=$enable_shared
+# If ld is used when linking, flag to hardcode \$libdir into
+# a binary during linking. This must work even if \$libdir does
+# not exist.
+hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_CXX
-# Whether or not to build static libraries.
-build_old_libs=$enable_static
+# Whether we need a single -rpath flag with a separated argument.
+hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=$archive_cmds_need_lc_CXX
+# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
+# resulting binary.
+hardcode_direct=$hardcode_direct_CXX
-# Whether or not to disallow shared libs when runtime libs are static
-allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX
+# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
+# resulting binary.
+hardcode_minus_L=$hardcode_minus_L_CXX
-# Whether or not to optimize for fast installation.
-fast_install=$enable_fast_install
+# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
+# the resulting binary.
+hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX
-# The host system.
-host_alias=$host_alias
-host=$host
-host_os=$host_os
+# Set to yes if building a shared library automatically hardcodes DIR into the library
+# and all subsequent libraries and executables linked against it.
+hardcode_automatic=$hardcode_automatic_CXX
-# The build system.
-build_alias=$build_alias
-build=$build
-build_os=$build_os
-
-# An echo program that does not interpret backslashes.
-echo=$lt_echo
-
-# The archiver.
-AR=$lt_AR
-AR_FLAGS=$lt_AR_FLAGS
-
-# A C compiler.
-LTCC=$lt_LTCC
-
-# A language-specific compiler.
-CC=$lt_compiler_CXX
-
-# Is the compiler the GNU C compiler?
-with_gcc=$GCC_CXX
-
-# An ERE matcher.
-EGREP=$lt_EGREP
-
-# The linker used to build libraries.
-LD=$lt_LD_CXX
-
-# Whether we need hard or soft links.
-LN_S=$lt_LN_S
-
-# A BSD-compatible nm program.
-NM=$lt_NM
-
-# A symbol stripping program
-STRIP=$lt_STRIP
-
-# Used to examine libraries when file_magic_cmd begins "file"
-MAGIC_CMD=$MAGIC_CMD
-
-# Used on cygwin: DLL creation program.
-DLLTOOL="$DLLTOOL"
-
-# Used on cygwin: object dumper.
-OBJDUMP="$OBJDUMP"
-
-# Used on cygwin: assembler.
-AS="$AS"
-
-# The name of the directory that contains temporary libtool files.
-objdir=$objdir
-
-# How to create reloadable object files.
-reload_flag=$lt_reload_flag
-reload_cmds=$lt_reload_cmds
-
-# How to pass a linker flag through the compiler.
-wl=$lt_lt_prog_compiler_wl_CXX
-
-# Object file suffix (normally "o").
-objext="$ac_objext"
-
-# Old archive suffix (normally "a").
-libext="$libext"
-
-# Shared library suffix (normally ".so").
-shrext_cmds='$shrext_cmds'
-
-# Executable file suffix (normally "").
-exeext="$exeext"
-
-# Additional compiler flags for building library objects.
-pic_flag=$lt_lt_prog_compiler_pic_CXX
-pic_mode=$pic_mode
-
-# What is the maximum length of a command?
-max_cmd_len=$lt_cv_sys_max_cmd_len
-
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX
-
-# Must we lock files when doing compilation?
-need_locks=$lt_need_locks
-
-# Do we need the lib prefix for modules?
-need_lib_prefix=$need_lib_prefix
-
-# Do we need a version for libraries?
-need_version=$need_version
-
-# Whether dlopen is supported.
-dlopen_support=$enable_dlopen
-
-# Whether dlopen of programs is supported.
-dlopen_self=$enable_dlopen_self
-
-# Whether dlopen of statically linked programs is supported.
-dlopen_self_static=$enable_dlopen_self_static
-
-# Compiler flag to prevent dynamic linking.
-link_static_flag=$lt_lt_prog_compiler_static_CXX
-
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX
-
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX
-
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX
-
-# Compiler flag to generate thread-safe objects.
-thread_safe_flag_spec=$lt_thread_safe_flag_spec_CXX
-
-# Library versioning type.
-version_type=$version_type
-
-# Format of library name prefix.
-libname_spec=$lt_libname_spec
-
-# List of archive names. First name is the real one, the rest are links.
-# The last name is the one that the linker finds with -lNAME.
-library_names_spec=$lt_library_names_spec
-
-# The coded name of the library, if different from the real name.
-soname_spec=$lt_soname_spec
-
-# Commands used to build and install an old-style archive.
-RANLIB=$lt_RANLIB
-old_archive_cmds=$lt_old_archive_cmds_CXX
-old_postinstall_cmds=$lt_old_postinstall_cmds
-old_postuninstall_cmds=$lt_old_postuninstall_cmds
-
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX
-
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX
-
-# Commands used to build and install a shared archive.
-archive_cmds=$lt_archive_cmds_CXX
-archive_expsym_cmds=$lt_archive_expsym_cmds_CXX
-postinstall_cmds=$lt_postinstall_cmds
-postuninstall_cmds=$lt_postuninstall_cmds
-
-# Commands used to build a loadable module (assumed same as above if empty)
-module_cmds=$lt_module_cmds_CXX
-module_expsym_cmds=$lt_module_expsym_cmds_CXX
-
-# Commands to strip libraries.
-old_striplib=$lt_old_striplib
-striplib=$lt_striplib
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predep_objects=$lt_predep_objects_CXX
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdep_objects=$lt_postdep_objects_CXX
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predeps=$lt_predeps_CXX
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdeps=$lt_postdeps_CXX
-
-# The library search path used internally by the compiler when linking
-# a shared library.
-compiler_lib_search_path=$lt_compiler_lib_search_path_CXX
-
-# Method to check whether dependent libraries are shared objects.
-deplibs_check_method=$lt_deplibs_check_method
-
-# Command to use when deplibs_check_method == file_magic.
-file_magic_cmd=$lt_file_magic_cmd
-
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=$lt_allow_undefined_flag_CXX
-
-# Flag that forces no undefined symbols.
-no_undefined_flag=$lt_no_undefined_flag_CXX
-
-# Commands used to finish a libtool library installation in a directory.
-finish_cmds=$lt_finish_cmds
-
-# Same as above, but a single script fragment to be evaled but not shown.
-finish_eval=$lt_finish_eval
-
-# Take the output of nm and produce a listing of raw symbols and C names.
-global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
-
-# Transform the output of nm in a proper C declaration
-global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
-
-# Transform the output of nm in a C name address pair
-global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
-
-# This is the shared library runtime path variable.
-runpath_var=$runpath_var
-
-# This is the shared library path variable.
-shlibpath_var=$shlibpath_var
-
-# Is shlibpath searched before the hard-coded library search path?
-shlibpath_overrides_runpath=$shlibpath_overrides_runpath
-
-# How to hardcode a shared library path into an executable.
-hardcode_action=$hardcode_action_CXX
-
-# Whether we should hardcode library paths into libraries.
-hardcode_into_libs=$hardcode_into_libs
-
-# Flag to hardcode \$libdir into a binary during linking.
-# This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX
-
-# If ld is used when linking, flag to hardcode \$libdir into
-# a binary during linking. This must work even if \$libdir does
-# not exist.
-hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_CXX
-
-# Whether we need a single -rpath flag with a separated argument.
-hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX
-
-# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
-# resulting binary.
-hardcode_direct=$hardcode_direct_CXX
-
-# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
-# resulting binary.
-hardcode_minus_L=$hardcode_minus_L_CXX
-
-# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
-# the resulting binary.
-hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX
-
-# Set to yes if building a shared library automatically hardcodes DIR into the library
-# and all subsequent libraries and executables linked against it.
-hardcode_automatic=$hardcode_automatic_CXX
-
-# Variables whose values should be saved in libtool wrapper scripts and
-# restored at relink time.
-variables_saved_for_relink="$variables_saved_for_relink"
+# Variables whose values should be saved in libtool wrapper scripts and
+# restored at relink time.
+variables_saved_for_relink="$variables_saved_for_relink"
# Whether libtool must link a program against all its dependency libraries.
link_all_deplibs=$link_all_deplibs_CXX
@@ -13304,7 +13611,7 @@ sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
# Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path="$fix_srcfile_path_CXX"
+fix_srcfile_path=$lt_fix_srcfile_path
# Set to yes if exported symbols are required.
always_export_symbols=$always_export_symbols_CXX
@@ -13395,30 +13702,40 @@ objext=o
objext_F77=$objext
# Code to be used in simple compile tests
-lt_simple_compile_test_code=" subroutine t\n return\n end\n"
+lt_simple_compile_test_code="\
+ subroutine t
+ return
+ end
+"
# Code to be used in simple link tests
-lt_simple_link_test_code=" program t\n end\n"
+lt_simple_link_test_code="\
+ program t
+ end
+"
# ltmain only uses $CC for tagged configurations so make sure $CC is set.
# If no C compiler was specified, use CC.
LTCC=${LTCC-"$CC"}
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
# Allow CC to be a program name with arguments.
compiler=$CC
# save warnings/boilerplate of simple test code
ac_outfile=conftest.$ac_objext
-printf "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err
+echo "$lt_simple_compile_test_code" >conftest.$ac_ext
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
_lt_compiler_boilerplate=`cat conftest.err`
$rm conftest*
ac_outfile=conftest.$ac_objext
-printf "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err
+echo "$lt_simple_link_test_code" >conftest.$ac_ext
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
_lt_linker_boilerplate=`cat conftest.err`
$rm conftest*
@@ -13439,13 +13756,13 @@ done
cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
-echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5
-echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6
-echo "$as_me:$LINENO: result: $can_build_shared" >&5
-echo "${ECHO_T}$can_build_shared" >&6
+{ echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5
+echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: result: $can_build_shared" >&5
+echo "${ECHO_T}$can_build_shared" >&6; }
-echo "$as_me:$LINENO: checking whether to build shared libraries" >&5
-echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether to build shared libraries" >&5
+echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; }
test "$can_build_shared" = "no" && enable_shared=no
# On AIX, shared libraries and static libraries use the same namespace, and
@@ -13464,17 +13781,15 @@ aix4* | aix5*)
fi
;;
esac
-echo "$as_me:$LINENO: result: $enable_shared" >&5
-echo "${ECHO_T}$enable_shared" >&6
+{ echo "$as_me:$LINENO: result: $enable_shared" >&5
+echo "${ECHO_T}$enable_shared" >&6; }
-echo "$as_me:$LINENO: checking whether to build static libraries" >&5
-echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether to build static libraries" >&5
+echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; }
# Make sure either enable_shared or enable_static is yes.
test "$enable_shared" = yes || enable_static=yes
-echo "$as_me:$LINENO: result: $enable_static" >&5
-echo "${ECHO_T}$enable_static" >&6
-
-test "$ld_shlibs_F77" = no && can_build_shared=no
+{ echo "$as_me:$LINENO: result: $enable_static" >&5
+echo "${ECHO_T}$enable_static" >&6; }
GCC_F77="$G77"
LD_F77="$LD"
@@ -13483,8 +13798,8 @@ lt_prog_compiler_wl_F77=
lt_prog_compiler_pic_F77=
lt_prog_compiler_static_F77=
-echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
-echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
+echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
if test "$GCC" = yes; then
lt_prog_compiler_wl_F77='-Wl,'
@@ -13506,13 +13821,15 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
lt_prog_compiler_pic_F77='-m68020 -resident32 -malways-restore-a4'
;;
- beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+ beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
# PIC is the default for these OSes.
;;
- mingw* | pw32* | os2*)
+ mingw* | cygwin* | pw32* | os2*)
# This hack is so that the source file can tell whether it is being
# built for inclusion in a dll (and should export symbols for example).
+ # Although the cygwin gcc ignores -fPIC, still need this for old-style
+ # (--disable-auto-import) libraries
lt_prog_compiler_pic_F77='-DDLL_EXPORT'
;;
@@ -13522,6 +13839,11 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
lt_prog_compiler_pic_F77='-fno-common'
;;
+ interix[3-9]*)
+ # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+ # Instead, we relocate shared libraries at runtime.
+ ;;
+
msdosdjgpp*)
# Just because we use GCC doesn't mean we suddenly get shared libraries
# on systems that don't support them.
@@ -13575,7 +13897,7 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
esac
;;
- mingw* | pw32* | os2*)
+ mingw* | cygwin* | pw32* | os2*)
# This hack is so that the source file can tell whether it is being
# built for inclusion in a dll (and should export symbols for example).
lt_prog_compiler_pic_F77='-DDLL_EXPORT'
@@ -13608,7 +13930,7 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
lt_prog_compiler_static_F77='-Bstatic'
;;
- linux*)
+ linux* | k*bsd*-gnu)
case $cc_basename in
icc* | ecc*)
lt_prog_compiler_wl_F77='-Wl,'
@@ -13627,6 +13949,22 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
# All Alpha code is PIC.
lt_prog_compiler_static_F77='-non_shared'
;;
+ *)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*)
+ # Sun C 5.9
+ lt_prog_compiler_pic_F77='-KPIC'
+ lt_prog_compiler_static_F77='-Bstatic'
+ lt_prog_compiler_wl_F77='-Wl,'
+ ;;
+ *Sun\ F*)
+ # Sun Fortran 8.3 passes all unrecognized flags to the linker
+ lt_prog_compiler_pic_F77='-KPIC'
+ lt_prog_compiler_static_F77='-Bstatic'
+ lt_prog_compiler_wl_F77=''
+ ;;
+ esac
+ ;;
esac
;;
@@ -13636,9 +13974,8 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
lt_prog_compiler_static_F77='-non_shared'
;;
- sco3.2v5*)
- lt_prog_compiler_pic_F77='-Kpic'
- lt_prog_compiler_static_F77='-dn'
+ rdos*)
+ lt_prog_compiler_static_F77='-non_shared'
;;
solaris*)
@@ -13658,7 +13995,7 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
lt_prog_compiler_static_F77='-Bstatic'
;;
- sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+ sysv4 | sysv4.2uw2* | sysv4.3*)
lt_prog_compiler_wl_F77='-Wl,'
lt_prog_compiler_pic_F77='-KPIC'
lt_prog_compiler_static_F77='-Bstatic'
@@ -13671,9 +14008,15 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
fi
;;
- unicos*)
+ sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
lt_prog_compiler_wl_F77='-Wl,'
- lt_prog_compiler_can_build_shared_F77=no
+ lt_prog_compiler_pic_F77='-KPIC'
+ lt_prog_compiler_static_F77='-Bstatic'
+ ;;
+
+ unicos*)
+ lt_prog_compiler_wl_F77='-Wl,'
+ lt_prog_compiler_can_build_shared_F77=no
;;
uts4*)
@@ -13687,22 +14030,22 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
esac
fi
-echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_F77" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_F77" >&6
+{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_F77" >&5
+echo "${ECHO_T}$lt_prog_compiler_pic_F77" >&6; }
#
# Check to make sure the PIC flag actually works.
#
if test -n "$lt_prog_compiler_pic_F77"; then
-echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works" >&5
-echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works" >&5
+echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works... $ECHO_C" >&6; }
if test "${lt_prog_compiler_pic_works_F77+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
lt_prog_compiler_pic_works_F77=no
ac_outfile=conftest.$ac_objext
- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
lt_compiler_flag="$lt_prog_compiler_pic_F77"
# Insert the option either (1) after the last *FLAGS variable, or
# (2) before a word containing "conftest.", or (3) at the end.
@@ -13713,25 +14056,25 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:13716: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:14059: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:13720: \$? = $ac_status" >&5
+ echo "$as_me:14063: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
- $echo "X$_lt_compiler_boilerplate" | $Xsed >conftest.exp
- $SED '/^$/d' conftest.err >conftest.er2
- if test ! -s conftest.err || diff conftest.exp conftest.er2 >/dev/null; then
+ $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
lt_prog_compiler_pic_works_F77=yes
fi
fi
$rm conftest*
fi
-echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_F77" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_works_F77" >&6
+{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_F77" >&5
+echo "${ECHO_T}$lt_prog_compiler_pic_works_F77" >&6; }
if test x"$lt_prog_compiler_pic_works_F77" = xyes; then
case $lt_prog_compiler_pic_F77 in
@@ -13754,8 +14097,50 @@ case $host_os in
;;
esac
-echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
-echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6
+#
+# Check to make sure the static flag actually works.
+#
+wl=$lt_prog_compiler_wl_F77 eval lt_tmp_static_flag=\"$lt_prog_compiler_static_F77\"
+{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
+echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; }
+if test "${lt_prog_compiler_static_works_F77+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ lt_prog_compiler_static_works_F77=no
+ save_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
+ echo "$lt_simple_link_test_code" > conftest.$ac_ext
+ if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+ # The linker can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ if test -s conftest.err; then
+ # Append any errors to the config.log.
+ cat conftest.err 1>&5
+ $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if diff conftest.exp conftest.er2 >/dev/null; then
+ lt_prog_compiler_static_works_F77=yes
+ fi
+ else
+ lt_prog_compiler_static_works_F77=yes
+ fi
+ fi
+ $rm conftest*
+ LDFLAGS="$save_LDFLAGS"
+
+fi
+{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_F77" >&5
+echo "${ECHO_T}$lt_prog_compiler_static_works_F77" >&6; }
+
+if test x"$lt_prog_compiler_static_works_F77" = xyes; then
+ :
+else
+ lt_prog_compiler_static_F77=
+fi
+
+
+{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
+echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; }
if test "${lt_cv_prog_compiler_c_o_F77+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -13764,7 +14149,7 @@ else
mkdir conftest
cd conftest
mkdir out
- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
lt_compiler_flag="-o out/conftest2.$ac_objext"
# Insert the option either (1) after the last *FLAGS variable, or
@@ -13775,18 +14160,18 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:13778: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:14163: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:13782: \$? = $ac_status" >&5
+ echo "$as_me:14167: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings
- $echo "X$_lt_compiler_boilerplate" | $Xsed > out/conftest.exp
- $SED '/^$/d' out/conftest.err >out/conftest.er2
- if test ! -s out/conftest.err || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+ $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
+ $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+ if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
lt_cv_prog_compiler_c_o_F77=yes
fi
fi
@@ -13801,23 +14186,23 @@ else
$rm conftest*
fi
-echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_F77" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_c_o_F77" >&6
+{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_F77" >&5
+echo "${ECHO_T}$lt_cv_prog_compiler_c_o_F77" >&6; }
hard_links="nottested"
if test "$lt_cv_prog_compiler_c_o_F77" = no && test "$need_locks" != no; then
# do not overwrite the value of need_locks provided by the user
- echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
-echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
+echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; }
hard_links=yes
$rm conftest*
ln conftest.a conftest.b 2>/dev/null && hard_links=no
touch conftest.a
ln conftest.a conftest.b 2>&5 || hard_links=no
ln conftest.a conftest.b 2>/dev/null && hard_links=no
- echo "$as_me:$LINENO: result: $hard_links" >&5
-echo "${ECHO_T}$hard_links" >&6
+ { echo "$as_me:$LINENO: result: $hard_links" >&5
+echo "${ECHO_T}$hard_links" >&6; }
if test "$hard_links" = no; then
{ echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
@@ -13827,8 +14212,8 @@ else
need_locks=no
fi
-echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; }
runpath_var=
allow_undefined_flag_F77=
@@ -13886,6 +14271,10 @@ cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
with_gnu_ld=no
fi
;;
+ interix*)
+ # we just hope/assume this is gcc and not c89 (= MSVC++)
+ with_gnu_ld=yes
+ ;;
openbsd*)
with_gnu_ld=no
;;
@@ -13967,10 +14356,10 @@ EOF
allow_undefined_flag_F77=unsupported
always_export_symbols_F77=no
enable_shared_with_static_runtimes_F77=yes
- export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols'
+ export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
- archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib'
+ archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
# If the export-symbols file already is a .def file (1st line
# is EXPORTS), use it as is; otherwise, prepend...
archive_expsym_cmds_F77='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
@@ -13979,13 +14368,28 @@ EOF
echo EXPORTS > $output_objdir/$soname.def;
cat $export_symbols >> $output_objdir/$soname.def;
fi~
- $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib'
+ $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
else
ld_shlibs_F77=no
fi
;;
- linux*)
+ interix[3-9]*)
+ hardcode_direct_F77=no
+ hardcode_shlibpath_var_F77=no
+ hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir'
+ export_dynamic_flag_spec_F77='${wl}-E'
+ # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+ # Instead, shared libraries are loaded at an image base (0x10000000 by
+ # default) and relocated if they conflict, which is a slow very memory
+ # consuming and fragmenting process. To avoid this, we pick a random,
+ # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+ # time. Moving up from 0x10000000 also allows more sbrk(2) space.
+ archive_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ archive_expsym_cmds_F77='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ ;;
+
+ gnu* | linux* | k*bsd*-gnu)
if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
tmp_addflag=
case $cc_basename,$host_cpu in
@@ -14003,13 +14407,22 @@ EOF
ifc* | ifort*) # Intel Fortran compiler
tmp_addflag=' -nofor_main' ;;
esac
- archive_cmds_F77='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*) # Sun C 5.9
+ whole_archive_flag_spec_F77='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+ tmp_sharedflag='-G' ;;
+ *Sun\ F*) # Sun Fortran 8.3
+ tmp_sharedflag='-G' ;;
+ *)
+ tmp_sharedflag='-shared' ;;
+ esac
+ archive_cmds_F77='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
if test $supports_anon_versioning = yes; then
archive_expsym_cmds_F77='$echo "{ global:" > $output_objdir/$libname.ver~
cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
$echo "local: *; };" >> $output_objdir/$libname.ver~
- $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
fi
link_all_deplibs_F77=no
else
@@ -14017,7 +14430,7 @@ EOF
fi
;;
- netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+ netbsd* | netbsdelf*-gnu)
if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
archive_cmds_F77='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
wlarc=
@@ -14027,7 +14440,7 @@ EOF
fi
;;
- solaris* | sysv5*)
+ solaris*)
if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
ld_shlibs_F77=no
cat <<EOF 1>&2
@@ -14048,6 +14461,33 @@ EOF
fi
;;
+ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
+ case `$LD -v 2>&1` in
+ *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
+ ld_shlibs_F77=no
+ cat <<_LT_EOF 1>&2
+
+*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
+*** reliably create shared libraries on SCO systems. Therefore, libtool
+*** is disabling shared libraries support. We urge you to upgrade GNU
+*** binutils to release 2.16.91.0.3 or newer. Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+_LT_EOF
+ ;;
+ *)
+ if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+ hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
+ archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib'
+ archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib'
+ else
+ ld_shlibs_F77=no
+ fi
+ ;;
+ esac
+ ;;
+
sunos4*)
archive_cmds_F77='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
wlarc=
@@ -14081,7 +14521,7 @@ EOF
# Note: this linker hardcodes the directories in LIBPATH if there
# are no directories specified by -L.
hardcode_minus_L_F77=yes
- if test "$GCC" = yes && test -z "$link_static_flag"; then
+ if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
# Neither direct hardcoding nor static linking is supported with a
# broken collect2.
hardcode_direct_F77=unsupported
@@ -14115,6 +14555,7 @@ EOF
break
fi
done
+ ;;
esac
exp_sym_flag='-bexport'
@@ -14141,7 +14582,7 @@ EOF
strings "$collect2name" | grep resolve_lib_name >/dev/null
then
# We have reworked collect2
- hardcode_direct_F77=yes
+ :
else
# We have old collect2
hardcode_direct_F77=unsupported
@@ -14152,6 +14593,7 @@ EOF
hardcode_libdir_flag_spec_F77='-L$libdir'
hardcode_libdir_separator_F77=
fi
+ ;;
esac
shared_flag='-shared'
if test "$aix_use_runtimelinking" = yes; then
@@ -14164,11 +14606,11 @@ EOF
# chokes on -Wl,-G. The following line is correct:
shared_flag='-G'
else
- if test "$aix_use_runtimelinking" = yes; then
+ if test "$aix_use_runtimelinking" = yes; then
shared_flag='${wl}-G'
else
shared_flag='${wl}-bM:SRE'
- fi
+ fi
fi
fi
@@ -14186,48 +14628,54 @@ EOF
end
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_f77_werror_flag" || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
-
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
-}'`
+ (exit $ac_status); } && {
+ test -z "$ac_f77_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+
+lt_aix_libpath_sed='
+ /Import File Strings/,/^$/ {
+ /^0/ {
+ s/^0 *\(.*\)$/\1/
+ p
+ }
+ }'
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
-}'`; fi
+if test -z "$aix_libpath"; then
+ aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+fi
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
+
fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath"
- archive_expsym_cmds_F77="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+ archive_expsym_cmds_F77="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
else
if test "$host_cpu" = ia64; then
hardcode_libdir_flag_spec_F77='${wl}-R $libdir:/usr/lib:/lib'
allow_undefined_flag_F77="-z nodefs"
- archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols"
+ archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
else
# Determine the default libpath from the value encoded in an empty executable.
cat >conftest.$ac_ext <<_ACEOF
@@ -14236,38 +14684,44 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
end
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_f77_werror_flag" || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
-
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
-}'`
+ (exit $ac_status); } && {
+ test -z "$ac_f77_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+
+lt_aix_libpath_sed='
+ /Import File Strings/,/^$/ {
+ /^0/ {
+ s/^0 *\(.*\)$/\1/
+ p
+ }
+ }'
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
-}'`; fi
+if test -z "$aix_libpath"; then
+ aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+fi
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
+
fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
@@ -14276,13 +14730,11 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
# -berok will link without error, but may produce a broken library.
no_undefined_flag_F77=' ${wl}-bernotok'
allow_undefined_flag_F77=' ${wl}-berok'
- # -bexpall does not export symbols beginning with underscore (_)
- always_export_symbols_F77=yes
# Exported symbols can be pulled into shared objects from archives
- whole_archive_flag_spec_F77=' '
+ whole_archive_flag_spec_F77='$convenience'
archive_cmds_need_lc_F77=yes
# This is similar to how AIX traditionally builds its shared libraries.
- archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+ archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
fi
fi
;;
@@ -14315,7 +14767,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
# The linker will automatically build a .lib file if we build a DLL.
old_archive_From_new_cmds_F77='true'
# FIXME: Should let the user specify the lib program.
- old_archive_cmds_F77='lib /OUT:$oldlib$oldobjs$old_deplibs'
+ old_archive_cmds_F77='lib -OUT:$oldlib$oldobjs$old_deplibs'
fix_srcfile_path_F77='`cygpath -w "$srcfile"`'
enable_shared_with_static_runtimes_F77=yes
;;
@@ -14357,10 +14809,10 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
case $cc_basename in
xlc*)
output_verbose_link_cmd='echo'
- archive_cmds_F77='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
+ archive_cmds_F77='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring'
module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
# Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
- archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
;;
*)
@@ -14400,7 +14852,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
;;
# FreeBSD 3 and greater uses gcc -shared to do shared libraries.
- freebsd* | kfreebsd*-gnu | dragonfly*)
+ freebsd* | dragonfly*)
archive_cmds_F77='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
hardcode_libdir_flag_spec_F77='-R$libdir'
hardcode_direct_F77=yes
@@ -14423,47 +14875,62 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
export_dynamic_flag_spec_F77='${wl}-E'
;;
- hpux10* | hpux11*)
+ hpux10*)
+ if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+ archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ archive_cmds_F77='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+ fi
+ if test "$with_gnu_ld" = no; then
+ hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir'
+ hardcode_libdir_separator_F77=:
+
+ hardcode_direct_F77=yes
+ export_dynamic_flag_spec_F77='${wl}-E'
+
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ hardcode_minus_L_F77=yes
+ fi
+ ;;
+
+ hpux11*)
if test "$GCC" = yes -a "$with_gnu_ld" = no; then
case $host_cpu in
- hppa*64*|ia64*)
+ hppa*64*)
archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
;;
+ ia64*)
+ archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
*)
archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
;;
esac
else
case $host_cpu in
- hppa*64*|ia64*)
- archive_cmds_F77='$LD -b +h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hppa*64*)
+ archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ ia64*)
+ archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
;;
*)
- archive_cmds_F77='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+ archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
;;
esac
fi
if test "$with_gnu_ld" = no; then
+ hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir'
+ hardcode_libdir_separator_F77=:
+
case $host_cpu in
- hppa*64*)
- hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir'
+ hppa*64*|ia64*)
hardcode_libdir_flag_spec_ld_F77='+b $libdir'
- hardcode_libdir_separator_F77=:
- hardcode_direct_F77=no
- hardcode_shlibpath_var_F77=no
- ;;
- ia64*)
- hardcode_libdir_flag_spec_F77='-L$libdir'
hardcode_direct_F77=no
hardcode_shlibpath_var_F77=no
-
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L_F77=yes
;;
*)
- hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator_F77=:
hardcode_direct_F77=yes
export_dynamic_flag_spec_F77='${wl}-E'
@@ -14487,7 +14954,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
link_all_deplibs_F77=yes
;;
- netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+ netbsd* | netbsdelf*-gnu)
if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
else
@@ -14507,24 +14974,28 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
;;
openbsd*)
- hardcode_direct_F77=yes
- hardcode_shlibpath_var_F77=no
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
- hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir'
- export_dynamic_flag_spec_F77='${wl}-E'
+ if test -f /usr/libexec/ld.so; then
+ hardcode_direct_F77=yes
+ hardcode_shlibpath_var_F77=no
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
+ hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir'
+ export_dynamic_flag_spec_F77='${wl}-E'
+ else
+ case $host_os in
+ openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
+ archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_libdir_flag_spec_F77='-R$libdir'
+ ;;
+ *)
+ archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir'
+ ;;
+ esac
+ fi
else
- case $host_os in
- openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
- archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec_F77='-R$libdir'
- ;;
- *)
- archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir'
- ;;
- esac
+ ld_shlibs_F77=no
fi
;;
@@ -14565,14 +15036,6 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
hardcode_libdir_separator_F77=:
;;
- sco3.2v5*)
- archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_shlibpath_var_F77=no
- export_dynamic_flag_spec_F77='${wl}-Bexport'
- runpath_var=LD_RUN_PATH
- hardcode_runpath_var=yes
- ;;
-
solaris*)
no_undefined_flag_F77=' -z text'
if test "$GCC" = yes; then
@@ -14591,17 +15054,16 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
case $host_os in
solaris2.[0-5] | solaris2.[0-5].*) ;;
*)
- # The compiler driver will combine linker options so we
- # cannot just pass the convience library names through
- # without $wl, iff we do not link with $LD.
- # Luckily, gcc supports the same syntax we need for Sun Studio.
+ # The compiler driver will combine and reorder linker options,
+ # but understands `-z linker_flag'. GCC discards it without `$wl',
+ # but is careful enough not to reorder.
# Supported since Solaris 2.6 (maybe 2.5.1?)
- case $wlarc in
- '')
- whole_archive_flag_spec_F77='-z allextract$convenience -z defaultextract' ;;
- *)
- whole_archive_flag_spec_F77='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;;
- esac ;;
+ if test "$GCC" = yes; then
+ whole_archive_flag_spec_F77='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+ else
+ whole_archive_flag_spec_F77='-z allextract$convenience -z defaultextract'
+ fi
+ ;;
esac
link_all_deplibs_F77=yes
;;
@@ -14658,36 +15120,45 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
fi
;;
- sysv4.2uw2*)
- archive_cmds_F77='$LD -G -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct_F77=yes
- hardcode_minus_L_F77=no
+ sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
+ no_undefined_flag_F77='${wl}-z,text'
+ archive_cmds_need_lc_F77=no
hardcode_shlibpath_var_F77=no
- hardcode_runpath_var=yes
- runpath_var=LD_RUN_PATH
- ;;
+ runpath_var='LD_RUN_PATH'
- sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[78]* | unixware7*)
- no_undefined_flag_F77='${wl}-z ${wl}text'
if test "$GCC" = yes; then
- archive_cmds_F77='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_cmds_F77='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
else
- archive_cmds_F77='$CC -G ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_cmds_F77='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
fi
- runpath_var='LD_RUN_PATH'
- hardcode_shlibpath_var_F77=no
;;
- sysv5*)
- no_undefined_flag_F77=' -z text'
- # $CC -shared without GNU ld will not create a library from C++
- # object files and a static libstdc++, better avoid it by now
- archive_cmds_F77='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
- archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
- hardcode_libdir_flag_spec_F77=
+ sysv5* | sco3.2v5* | sco5v6*)
+ # Note: We can NOT use -z defs as we might desire, because we do not
+ # link with -lc, and that would cause any symbols used from libc to
+ # always be unresolved, which means just about no library would
+ # ever link correctly. If we're not using GNU ld we use -z text
+ # though, which does catch some bad symbols but isn't as heavy-handed
+ # as -z defs.
+ no_undefined_flag_F77='${wl}-z,text'
+ allow_undefined_flag_F77='${wl}-z,nodefs'
+ archive_cmds_need_lc_F77=no
hardcode_shlibpath_var_F77=no
+ hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
+ hardcode_libdir_separator_F77=':'
+ link_all_deplibs_F77=yes
+ export_dynamic_flag_spec_F77='${wl}-Bexport'
runpath_var='LD_RUN_PATH'
+
+ if test "$GCC" = yes; then
+ archive_cmds_F77='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ archive_cmds_F77='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ fi
;;
uts4*)
@@ -14702,15 +15173,10 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
esac
fi
-echo "$as_me:$LINENO: result: $ld_shlibs_F77" >&5
-echo "${ECHO_T}$ld_shlibs_F77" >&6
+{ echo "$as_me:$LINENO: result: $ld_shlibs_F77" >&5
+echo "${ECHO_T}$ld_shlibs_F77" >&6; }
test "$ld_shlibs_F77" = no && can_build_shared=no
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
- variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-fi
-
#
# Do we need to explicitly link libc?
#
@@ -14728,10 +15194,10 @@ x|xyes)
# Test whether the compiler implicitly links with -lc since on some
# systems, -lgcc has to come before -lc. If gcc already passes -lc
# to ld, don't add -lc before -lgcc.
- echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
-echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
+echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; }
$rm conftest*
- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
@@ -14743,6 +15209,7 @@ echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&
libobjs=conftest.$ac_objext
deplibs=
wl=$lt_prog_compiler_wl_F77
+ pic_flag=$lt_prog_compiler_pic_F77
compiler_flags=-v
linker_flags=-v
verstring=
@@ -14765,16 +15232,16 @@ echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&
cat conftest.err 1>&5
fi
$rm conftest*
- echo "$as_me:$LINENO: result: $archive_cmds_need_lc_F77" >&5
-echo "${ECHO_T}$archive_cmds_need_lc_F77" >&6
+ { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_F77" >&5
+echo "${ECHO_T}$archive_cmds_need_lc_F77" >&6; }
;;
esac
fi
;;
esac
-echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
-echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
+echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; }
library_names_spec=
libname_spec='lib$name'
soname_spec=
@@ -14788,20 +15255,7 @@ shlibpath_overrides_runpath=unknown
version_type=none
dynamic_linker="$host_os ld.so"
sys_lib_dlsearch_path_spec="/lib /usr/lib"
-if test "$GCC" = yes; then
- sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
- if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then
- # if the path contains ";" then we assume it to be the separator
- # otherwise default to the standard path separator (i.e. ":") - it is
- # assumed that no part of a normal pathname contains ";" but that should
- # okay in the real world where ";" in dirpaths is itself problematic.
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
- else
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
- fi
-else
- sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
-fi
+
need_lib_prefix=unknown
hardcode_into_libs=no
@@ -14958,12 +15412,7 @@ darwin* | rhapsody*)
shlibpath_overrides_runpath=yes
shlibpath_var=DYLD_LIBRARY_PATH
shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
- # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
- if test "$GCC" = yes; then
- sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
- else
- sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib'
- fi
+
sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
;;
@@ -14980,18 +15429,6 @@ freebsd1*)
dynamic_linker=no
;;
-kfreebsd*-gnu)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- dynamic_linker='GNU ld.so'
- ;;
-
freebsd* | dragonfly*)
# DragonFly does not have aout. When/if they implement a new
# versioning mechanism, adjust this.
@@ -15024,10 +15461,15 @@ freebsd* | dragonfly*)
shlibpath_overrides_runpath=yes
hardcode_into_libs=yes
;;
- *) # from 3.2 on
+ freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
+ freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
shlibpath_overrides_runpath=no
hardcode_into_libs=yes
;;
+ *) # from 4.6 on, and DragonFly
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
esac
;;
@@ -15087,6 +15529,18 @@ hpux9* | hpux10* | hpux11*)
postinstall_cmds='chmod 555 $lib'
;;
+interix[3-9]*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+
irix5* | irix6* | nonstopux*)
case $host_os in
nonstopux*) version_type=nonstopux ;;
@@ -15130,7 +15584,7 @@ linux*oldld* | linux*aout* | linux*coff*)
;;
# This must be Linux ELF.
-linux*)
+linux* | k*bsd*-gnu)
version_type=linux
need_lib_prefix=no
need_version=no
@@ -15146,7 +15600,7 @@ linux*)
# Append ld.so.conf contents to the search path
if test -f /etc/ld.so.conf; then
- lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+ lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
fi
@@ -15171,18 +15625,6 @@ netbsdelf*-gnu)
dynamic_linker='NetBSD ld.elf_so'
;;
-knetbsd*-gnu)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- dynamic_linker='GNU ld.so'
- ;;
-
netbsd*)
version_type=sunos
need_lib_prefix=no
@@ -15220,6 +15662,7 @@ nto-qnx*)
openbsd*)
version_type=sunos
+ sys_lib_dlsearch_path_spec="/usr/lib"
need_lib_prefix=no
# Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
case $host_os in
@@ -15263,11 +15706,8 @@ osf3* | osf4* | osf5*)
sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
;;
-sco3.2v5*)
- version_type=osf
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
+rdos*)
+ dynamic_linker=no
;;
solaris*)
@@ -15295,7 +15735,7 @@ sunos4*)
need_version=yes
;;
-sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+sysv4 | sysv4.3*)
version_type=linux
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
soname_spec='${libname}${release}${shared_ext}$major'
@@ -15328,6 +15768,29 @@ sysv4*MP*)
fi
;;
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+ version_type=freebsd-elf
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ hardcode_into_libs=yes
+ if test "$with_gnu_ld" = yes; then
+ sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
+ shlibpath_overrides_runpath=no
+ else
+ sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
+ shlibpath_overrides_runpath=yes
+ case $host_os in
+ sco3.2v5*)
+ sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
+ ;;
+ esac
+ fi
+ sys_lib_dlsearch_path_spec='/usr/lib'
+ ;;
+
uts4*)
version_type=linux
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
@@ -15339,12 +15802,17 @@ uts4*)
dynamic_linker=no
;;
esac
-echo "$as_me:$LINENO: result: $dynamic_linker" >&5
-echo "${ECHO_T}$dynamic_linker" >&6
+{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5
+echo "${ECHO_T}$dynamic_linker" >&6; }
test "$dynamic_linker" = no && can_build_shared=no
-echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
-echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6
+variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
+if test "$GCC" = yes; then
+ variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
+fi
+
+{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
+echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; }
hardcode_action_F77=
if test -n "$hardcode_libdir_flag_spec_F77" || \
test -n "$runpath_var_F77" || \
@@ -15368,8 +15836,8 @@ else
# directories.
hardcode_action_F77=unsupported
fi
-echo "$as_me:$LINENO: result: $hardcode_action_F77" >&5
-echo "${ECHO_T}$hardcode_action_F77" >&6
+{ echo "$as_me:$LINENO: result: $hardcode_action_F77" >&5
+echo "${ECHO_T}$hardcode_action_F77" >&6; }
if test "$hardcode_action_F77" = relink; then
# Fast installation is not supported
@@ -15380,36 +15848,6 @@ elif test "$shlibpath_overrides_runpath" = yes ||
enable_fast_install=needless
fi
-striplib=
-old_striplib=
-echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5
-echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6
-if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then
- test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
- test -z "$striplib" && striplib="$STRIP --strip-unneeded"
- echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
-else
-# FIXME - insert some real tests, host_os isn't really good enough
- case $host_os in
- darwin*)
- if test -n "$STRIP" ; then
- striplib="$STRIP -x"
- echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
- else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
- ;;
- *)
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
- ;;
- esac
-fi
-
-
# The else clause should only fire when bootstrapping the
# libtool distribution, otherwise you forgot to ship ltmain.sh
@@ -15424,7 +15862,7 @@ if test -f "$ltmain"; then
# Now quote all the things that may contain metacharacters while being
# careful not to overquote the AC_SUBSTed values. We take copies of the
# variables and quote the copies for generation of the libtool script.
- for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC NM \
+ for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
SED SHELL STRIP \
libname_spec library_names_spec soname_spec extract_expsyms_cmds \
old_striplib striplib file_magic_cmd finish_cmds finish_eval \
@@ -15466,6 +15904,7 @@ if test -f "$ltmain"; then
module_cmds_F77 \
module_expsym_cmds_F77 \
lt_cv_prog_compiler_c_o_F77 \
+ fix_srcfile_path_F77 \
exclude_expsyms_F77 \
include_expsyms_F77; do
@@ -15542,6 +15981,9 @@ AR_FLAGS=$lt_AR_FLAGS
# A C compiler.
LTCC=$lt_LTCC
+# LTCC compiler flags.
+LTCFLAGS=$lt_LTCFLAGS
+
# A language-specific compiler.
CC=$lt_compiler_F77
@@ -15783,7 +16225,7 @@ sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
# Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path="$fix_srcfile_path_F77"
+fix_srcfile_path=$lt_fix_srcfile_path
# Set to yes if exported symbols are required.
always_export_symbols=$always_export_symbols_F77
@@ -15833,7 +16275,6 @@ CC="$lt_save_CC"
if test -n "$GCJ" && test "X$GCJ" != "Xno"; then
-
# Source file extension for Java test sources.
ac_ext=java
@@ -15842,30 +16283,33 @@ objext=o
objext_GCJ=$objext
# Code to be used in simple compile tests
-lt_simple_compile_test_code="class foo {}\n"
+lt_simple_compile_test_code="class foo {}"
# Code to be used in simple link tests
-lt_simple_link_test_code='public class conftest { public static void main(String[] argv) {}; }\n'
+lt_simple_link_test_code='public class conftest { public static void main(String[] argv) {}; }'
# ltmain only uses $CC for tagged configurations so make sure $CC is set.
# If no C compiler was specified, use CC.
LTCC=${LTCC-"$CC"}
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
# Allow CC to be a program name with arguments.
compiler=$CC
# save warnings/boilerplate of simple test code
ac_outfile=conftest.$ac_objext
-printf "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err
+echo "$lt_simple_compile_test_code" >conftest.$ac_ext
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
_lt_compiler_boilerplate=`cat conftest.err`
$rm conftest*
ac_outfile=conftest.$ac_objext
-printf "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err
+echo "$lt_simple_link_test_code" >conftest.$ac_ext
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
_lt_linker_boilerplate=`cat conftest.err`
$rm conftest*
@@ -15898,14 +16342,14 @@ if test "$GCC" = yes; then
lt_prog_compiler_no_builtin_flag_GCJ=' -fno-builtin'
-echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
-echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
+echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; }
if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
lt_cv_prog_compiler_rtti_exceptions=no
ac_outfile=conftest.$ac_objext
- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
lt_compiler_flag="-fno-rtti -fno-exceptions"
# Insert the option either (1) after the last *FLAGS variable, or
# (2) before a word containing "conftest.", or (3) at the end.
@@ -15916,25 +16360,25 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:15919: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:16363: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:15923: \$? = $ac_status" >&5
+ echo "$as_me:16367: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
- $echo "X$_lt_compiler_boilerplate" | $Xsed >conftest.exp
- $SED '/^$/d' conftest.err >conftest.er2
- if test ! -s conftest.err || diff conftest.exp conftest.er2 >/dev/null; then
+ $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
lt_cv_prog_compiler_rtti_exceptions=yes
fi
fi
$rm conftest*
fi
-echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6
+{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
+echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6; }
if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
lt_prog_compiler_no_builtin_flag_GCJ="$lt_prog_compiler_no_builtin_flag_GCJ -fno-rtti -fno-exceptions"
@@ -15948,8 +16392,8 @@ lt_prog_compiler_wl_GCJ=
lt_prog_compiler_pic_GCJ=
lt_prog_compiler_static_GCJ=
-echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
-echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
+echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
if test "$GCC" = yes; then
lt_prog_compiler_wl_GCJ='-Wl,'
@@ -15971,13 +16415,15 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
lt_prog_compiler_pic_GCJ='-m68020 -resident32 -malways-restore-a4'
;;
- beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+ beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
# PIC is the default for these OSes.
;;
- mingw* | pw32* | os2*)
+ mingw* | cygwin* | pw32* | os2*)
# This hack is so that the source file can tell whether it is being
# built for inclusion in a dll (and should export symbols for example).
+ # Although the cygwin gcc ignores -fPIC, still need this for old-style
+ # (--disable-auto-import) libraries
lt_prog_compiler_pic_GCJ='-DDLL_EXPORT'
;;
@@ -15987,6 +16433,11 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
lt_prog_compiler_pic_GCJ='-fno-common'
;;
+ interix[3-9]*)
+ # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+ # Instead, we relocate shared libraries at runtime.
+ ;;
+
msdosdjgpp*)
# Just because we use GCC doesn't mean we suddenly get shared libraries
# on systems that don't support them.
@@ -16040,7 +16491,7 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
esac
;;
- mingw* | pw32* | os2*)
+ mingw* | cygwin* | pw32* | os2*)
# This hack is so that the source file can tell whether it is being
# built for inclusion in a dll (and should export symbols for example).
lt_prog_compiler_pic_GCJ='-DDLL_EXPORT'
@@ -16073,7 +16524,7 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
lt_prog_compiler_static_GCJ='-Bstatic'
;;
- linux*)
+ linux* | k*bsd*-gnu)
case $cc_basename in
icc* | ecc*)
lt_prog_compiler_wl_GCJ='-Wl,'
@@ -16092,8 +16543,24 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
# All Alpha code is PIC.
lt_prog_compiler_static_GCJ='-non_shared'
;;
- esac
- ;;
+ *)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*)
+ # Sun C 5.9
+ lt_prog_compiler_pic_GCJ='-KPIC'
+ lt_prog_compiler_static_GCJ='-Bstatic'
+ lt_prog_compiler_wl_GCJ='-Wl,'
+ ;;
+ *Sun\ F*)
+ # Sun Fortran 8.3 passes all unrecognized flags to the linker
+ lt_prog_compiler_pic_GCJ='-KPIC'
+ lt_prog_compiler_static_GCJ='-Bstatic'
+ lt_prog_compiler_wl_GCJ=''
+ ;;
+ esac
+ ;;
+ esac
+ ;;
osf3* | osf4* | osf5*)
lt_prog_compiler_wl_GCJ='-Wl,'
@@ -16101,9 +16568,8 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
lt_prog_compiler_static_GCJ='-non_shared'
;;
- sco3.2v5*)
- lt_prog_compiler_pic_GCJ='-Kpic'
- lt_prog_compiler_static_GCJ='-dn'
+ rdos*)
+ lt_prog_compiler_static_GCJ='-non_shared'
;;
solaris*)
@@ -16123,7 +16589,7 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
lt_prog_compiler_static_GCJ='-Bstatic'
;;
- sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+ sysv4 | sysv4.2uw2* | sysv4.3*)
lt_prog_compiler_wl_GCJ='-Wl,'
lt_prog_compiler_pic_GCJ='-KPIC'
lt_prog_compiler_static_GCJ='-Bstatic'
@@ -16136,6 +16602,12 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
fi
;;
+ sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+ lt_prog_compiler_wl_GCJ='-Wl,'
+ lt_prog_compiler_pic_GCJ='-KPIC'
+ lt_prog_compiler_static_GCJ='-Bstatic'
+ ;;
+
unicos*)
lt_prog_compiler_wl_GCJ='-Wl,'
lt_prog_compiler_can_build_shared_GCJ=no
@@ -16152,22 +16624,22 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
esac
fi
-echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_GCJ" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_GCJ" >&6
+{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_GCJ" >&5
+echo "${ECHO_T}$lt_prog_compiler_pic_GCJ" >&6; }
#
# Check to make sure the PIC flag actually works.
#
if test -n "$lt_prog_compiler_pic_GCJ"; then
-echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works" >&5
-echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works" >&5
+echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works... $ECHO_C" >&6; }
if test "${lt_prog_compiler_pic_works_GCJ+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
lt_prog_compiler_pic_works_GCJ=no
ac_outfile=conftest.$ac_objext
- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
lt_compiler_flag="$lt_prog_compiler_pic_GCJ"
# Insert the option either (1) after the last *FLAGS variable, or
# (2) before a word containing "conftest.", or (3) at the end.
@@ -16178,25 +16650,25 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:16181: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:16653: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:16185: \$? = $ac_status" >&5
+ echo "$as_me:16657: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
- $echo "X$_lt_compiler_boilerplate" | $Xsed >conftest.exp
- $SED '/^$/d' conftest.err >conftest.er2
- if test ! -s conftest.err || diff conftest.exp conftest.er2 >/dev/null; then
+ $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
lt_prog_compiler_pic_works_GCJ=yes
fi
fi
$rm conftest*
fi
-echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_GCJ" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_works_GCJ" >&6
+{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_GCJ" >&5
+echo "${ECHO_T}$lt_prog_compiler_pic_works_GCJ" >&6; }
if test x"$lt_prog_compiler_pic_works_GCJ" = xyes; then
case $lt_prog_compiler_pic_GCJ in
@@ -16219,8 +16691,50 @@ case $host_os in
;;
esac
-echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
-echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6
+#
+# Check to make sure the static flag actually works.
+#
+wl=$lt_prog_compiler_wl_GCJ eval lt_tmp_static_flag=\"$lt_prog_compiler_static_GCJ\"
+{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
+echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; }
+if test "${lt_prog_compiler_static_works_GCJ+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ lt_prog_compiler_static_works_GCJ=no
+ save_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
+ echo "$lt_simple_link_test_code" > conftest.$ac_ext
+ if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+ # The linker can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ if test -s conftest.err; then
+ # Append any errors to the config.log.
+ cat conftest.err 1>&5
+ $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if diff conftest.exp conftest.er2 >/dev/null; then
+ lt_prog_compiler_static_works_GCJ=yes
+ fi
+ else
+ lt_prog_compiler_static_works_GCJ=yes
+ fi
+ fi
+ $rm conftest*
+ LDFLAGS="$save_LDFLAGS"
+
+fi
+{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_GCJ" >&5
+echo "${ECHO_T}$lt_prog_compiler_static_works_GCJ" >&6; }
+
+if test x"$lt_prog_compiler_static_works_GCJ" = xyes; then
+ :
+else
+ lt_prog_compiler_static_GCJ=
+fi
+
+
+{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
+echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; }
if test "${lt_cv_prog_compiler_c_o_GCJ+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -16229,7 +16743,7 @@ else
mkdir conftest
cd conftest
mkdir out
- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
lt_compiler_flag="-o out/conftest2.$ac_objext"
# Insert the option either (1) after the last *FLAGS variable, or
@@ -16240,18 +16754,18 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:16243: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:16757: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:16247: \$? = $ac_status" >&5
+ echo "$as_me:16761: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings
- $echo "X$_lt_compiler_boilerplate" | $Xsed > out/conftest.exp
- $SED '/^$/d' out/conftest.err >out/conftest.er2
- if test ! -s out/conftest.err || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+ $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
+ $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+ if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
lt_cv_prog_compiler_c_o_GCJ=yes
fi
fi
@@ -16266,23 +16780,23 @@ else
$rm conftest*
fi
-echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_GCJ" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_c_o_GCJ" >&6
+{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_GCJ" >&5
+echo "${ECHO_T}$lt_cv_prog_compiler_c_o_GCJ" >&6; }
hard_links="nottested"
if test "$lt_cv_prog_compiler_c_o_GCJ" = no && test "$need_locks" != no; then
# do not overwrite the value of need_locks provided by the user
- echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
-echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
+echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; }
hard_links=yes
$rm conftest*
ln conftest.a conftest.b 2>/dev/null && hard_links=no
touch conftest.a
ln conftest.a conftest.b 2>&5 || hard_links=no
ln conftest.a conftest.b 2>/dev/null && hard_links=no
- echo "$as_me:$LINENO: result: $hard_links" >&5
-echo "${ECHO_T}$hard_links" >&6
+ { echo "$as_me:$LINENO: result: $hard_links" >&5
+echo "${ECHO_T}$hard_links" >&6; }
if test "$hard_links" = no; then
{ echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
@@ -16292,8 +16806,8 @@ else
need_locks=no
fi
-echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; }
runpath_var=
allow_undefined_flag_GCJ=
@@ -16351,6 +16865,10 @@ cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
with_gnu_ld=no
fi
;;
+ interix*)
+ # we just hope/assume this is gcc and not c89 (= MSVC++)
+ with_gnu_ld=yes
+ ;;
openbsd*)
with_gnu_ld=no
;;
@@ -16432,10 +16950,10 @@ EOF
allow_undefined_flag_GCJ=unsupported
always_export_symbols_GCJ=no
enable_shared_with_static_runtimes_GCJ=yes
- export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols'
+ export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
- archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib'
+ archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
# If the export-symbols file already is a .def file (1st line
# is EXPORTS), use it as is; otherwise, prepend...
archive_expsym_cmds_GCJ='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
@@ -16444,13 +16962,28 @@ EOF
echo EXPORTS > $output_objdir/$soname.def;
cat $export_symbols >> $output_objdir/$soname.def;
fi~
- $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib'
+ $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
else
ld_shlibs_GCJ=no
fi
;;
- linux*)
+ interix[3-9]*)
+ hardcode_direct_GCJ=no
+ hardcode_shlibpath_var_GCJ=no
+ hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir'
+ export_dynamic_flag_spec_GCJ='${wl}-E'
+ # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+ # Instead, shared libraries are loaded at an image base (0x10000000 by
+ # default) and relocated if they conflict, which is a slow very memory
+ # consuming and fragmenting process. To avoid this, we pick a random,
+ # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+ # time. Moving up from 0x10000000 also allows more sbrk(2) space.
+ archive_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ archive_expsym_cmds_GCJ='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ ;;
+
+ gnu* | linux* | k*bsd*-gnu)
if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
tmp_addflag=
case $cc_basename,$host_cpu in
@@ -16468,13 +17001,22 @@ EOF
ifc* | ifort*) # Intel Fortran compiler
tmp_addflag=' -nofor_main' ;;
esac
- archive_cmds_GCJ='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*) # Sun C 5.9
+ whole_archive_flag_spec_GCJ='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+ tmp_sharedflag='-G' ;;
+ *Sun\ F*) # Sun Fortran 8.3
+ tmp_sharedflag='-G' ;;
+ *)
+ tmp_sharedflag='-shared' ;;
+ esac
+ archive_cmds_GCJ='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
if test $supports_anon_versioning = yes; then
archive_expsym_cmds_GCJ='$echo "{ global:" > $output_objdir/$libname.ver~
cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
$echo "local: *; };" >> $output_objdir/$libname.ver~
- $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
fi
link_all_deplibs_GCJ=no
else
@@ -16482,7 +17024,7 @@ EOF
fi
;;
- netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+ netbsd* | netbsdelf*-gnu)
if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
archive_cmds_GCJ='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
wlarc=
@@ -16492,7 +17034,7 @@ EOF
fi
;;
- solaris* | sysv5*)
+ solaris*)
if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
ld_shlibs_GCJ=no
cat <<EOF 1>&2
@@ -16513,6 +17055,33 @@ EOF
fi
;;
+ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
+ case `$LD -v 2>&1` in
+ *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
+ ld_shlibs_GCJ=no
+ cat <<_LT_EOF 1>&2
+
+*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
+*** reliably create shared libraries on SCO systems. Therefore, libtool
+*** is disabling shared libraries support. We urge you to upgrade GNU
+*** binutils to release 2.16.91.0.3 or newer. Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+_LT_EOF
+ ;;
+ *)
+ if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+ hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
+ archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib'
+ archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib'
+ else
+ ld_shlibs_GCJ=no
+ fi
+ ;;
+ esac
+ ;;
+
sunos4*)
archive_cmds_GCJ='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
wlarc=
@@ -16546,7 +17115,7 @@ EOF
# Note: this linker hardcodes the directories in LIBPATH if there
# are no directories specified by -L.
hardcode_minus_L_GCJ=yes
- if test "$GCC" = yes && test -z "$link_static_flag"; then
+ if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
# Neither direct hardcoding nor static linking is supported with a
# broken collect2.
hardcode_direct_GCJ=unsupported
@@ -16580,6 +17149,7 @@ EOF
break
fi
done
+ ;;
esac
exp_sym_flag='-bexport'
@@ -16606,7 +17176,7 @@ EOF
strings "$collect2name" | grep resolve_lib_name >/dev/null
then
# We have reworked collect2
- hardcode_direct_GCJ=yes
+ :
else
# We have old collect2
hardcode_direct_GCJ=unsupported
@@ -16617,6 +17187,7 @@ EOF
hardcode_libdir_flag_spec_GCJ='-L$libdir'
hardcode_libdir_separator_GCJ=
fi
+ ;;
esac
shared_flag='-shared'
if test "$aix_use_runtimelinking" = yes; then
@@ -16629,11 +17200,11 @@ EOF
# chokes on -Wl,-G. The following line is correct:
shared_flag='-G'
else
- if test "$aix_use_runtimelinking" = yes; then
+ if test "$aix_use_runtimelinking" = yes; then
shared_flag='${wl}-G'
else
shared_flag='${wl}-bM:SRE'
- fi
+ fi
fi
fi
@@ -16661,48 +17232,54 @@ main ()
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
-
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
-}'`
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+
+lt_aix_libpath_sed='
+ /Import File Strings/,/^$/ {
+ /^0/ {
+ s/^0 *\(.*\)$/\1/
+ p
+ }
+ }'
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
-}'`; fi
+if test -z "$aix_libpath"; then
+ aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+fi
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
+
fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath"
- archive_expsym_cmds_GCJ="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+ archive_expsym_cmds_GCJ="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
else
if test "$host_cpu" = ia64; then
hardcode_libdir_flag_spec_GCJ='${wl}-R $libdir:/usr/lib:/lib'
allow_undefined_flag_GCJ="-z nodefs"
- archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols"
+ archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
else
# Determine the default libpath from the value encoded in an empty executable.
cat >conftest.$ac_ext <<_ACEOF
@@ -16721,38 +17298,44 @@ main ()
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
-
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
-}'`
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+
+lt_aix_libpath_sed='
+ /Import File Strings/,/^$/ {
+ /^0/ {
+ s/^0 *\(.*\)$/\1/
+ p
+ }
+ }'
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
-}'`; fi
+if test -z "$aix_libpath"; then
+ aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+fi
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
+
fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
@@ -16761,13 +17344,11 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
# -berok will link without error, but may produce a broken library.
no_undefined_flag_GCJ=' ${wl}-bernotok'
allow_undefined_flag_GCJ=' ${wl}-berok'
- # -bexpall does not export symbols beginning with underscore (_)
- always_export_symbols_GCJ=yes
# Exported symbols can be pulled into shared objects from archives
- whole_archive_flag_spec_GCJ=' '
+ whole_archive_flag_spec_GCJ='$convenience'
archive_cmds_need_lc_GCJ=yes
# This is similar to how AIX traditionally builds its shared libraries.
- archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+ archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
fi
fi
;;
@@ -16800,7 +17381,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
# The linker will automatically build a .lib file if we build a DLL.
old_archive_From_new_cmds_GCJ='true'
# FIXME: Should let the user specify the lib program.
- old_archive_cmds_GCJ='lib /OUT:$oldlib$oldobjs$old_deplibs'
+ old_archive_cmds_GCJ='lib -OUT:$oldlib$oldobjs$old_deplibs'
fix_srcfile_path_GCJ='`cygpath -w "$srcfile"`'
enable_shared_with_static_runtimes_GCJ=yes
;;
@@ -16842,10 +17423,10 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
case $cc_basename in
xlc*)
output_verbose_link_cmd='echo'
- archive_cmds_GCJ='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
+ archive_cmds_GCJ='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring'
module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
# Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
- archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
;;
*)
@@ -16885,7 +17466,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
;;
# FreeBSD 3 and greater uses gcc -shared to do shared libraries.
- freebsd* | kfreebsd*-gnu | dragonfly*)
+ freebsd* | dragonfly*)
archive_cmds_GCJ='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
hardcode_libdir_flag_spec_GCJ='-R$libdir'
hardcode_direct_GCJ=yes
@@ -16908,47 +17489,62 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
export_dynamic_flag_spec_GCJ='${wl}-E'
;;
- hpux10* | hpux11*)
+ hpux10*)
+ if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+ archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ archive_cmds_GCJ='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+ fi
+ if test "$with_gnu_ld" = no; then
+ hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir'
+ hardcode_libdir_separator_GCJ=:
+
+ hardcode_direct_GCJ=yes
+ export_dynamic_flag_spec_GCJ='${wl}-E'
+
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ hardcode_minus_L_GCJ=yes
+ fi
+ ;;
+
+ hpux11*)
if test "$GCC" = yes -a "$with_gnu_ld" = no; then
case $host_cpu in
- hppa*64*|ia64*)
+ hppa*64*)
archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
;;
+ ia64*)
+ archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
*)
archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
;;
esac
else
case $host_cpu in
- hppa*64*|ia64*)
- archive_cmds_GCJ='$LD -b +h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hppa*64*)
+ archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ ia64*)
+ archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
;;
*)
- archive_cmds_GCJ='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+ archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
;;
esac
fi
if test "$with_gnu_ld" = no; then
+ hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir'
+ hardcode_libdir_separator_GCJ=:
+
case $host_cpu in
- hppa*64*)
- hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir'
+ hppa*64*|ia64*)
hardcode_libdir_flag_spec_ld_GCJ='+b $libdir'
- hardcode_libdir_separator_GCJ=:
- hardcode_direct_GCJ=no
- hardcode_shlibpath_var_GCJ=no
- ;;
- ia64*)
- hardcode_libdir_flag_spec_GCJ='-L$libdir'
hardcode_direct_GCJ=no
hardcode_shlibpath_var_GCJ=no
-
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L_GCJ=yes
;;
*)
- hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator_GCJ=:
hardcode_direct_GCJ=yes
export_dynamic_flag_spec_GCJ='${wl}-E'
@@ -16972,7 +17568,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
link_all_deplibs_GCJ=yes
;;
- netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+ netbsd* | netbsdelf*-gnu)
if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
else
@@ -16992,24 +17588,28 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
;;
openbsd*)
- hardcode_direct_GCJ=yes
- hardcode_shlibpath_var_GCJ=no
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
- hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir'
- export_dynamic_flag_spec_GCJ='${wl}-E'
+ if test -f /usr/libexec/ld.so; then
+ hardcode_direct_GCJ=yes
+ hardcode_shlibpath_var_GCJ=no
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
+ hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir'
+ export_dynamic_flag_spec_GCJ='${wl}-E'
+ else
+ case $host_os in
+ openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
+ archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_libdir_flag_spec_GCJ='-R$libdir'
+ ;;
+ *)
+ archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir'
+ ;;
+ esac
+ fi
else
- case $host_os in
- openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
- archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec_GCJ='-R$libdir'
- ;;
- *)
- archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir'
- ;;
- esac
+ ld_shlibs_GCJ=no
fi
;;
@@ -17050,14 +17650,6 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
hardcode_libdir_separator_GCJ=:
;;
- sco3.2v5*)
- archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_shlibpath_var_GCJ=no
- export_dynamic_flag_spec_GCJ='${wl}-Bexport'
- runpath_var=LD_RUN_PATH
- hardcode_runpath_var=yes
- ;;
-
solaris*)
no_undefined_flag_GCJ=' -z text'
if test "$GCC" = yes; then
@@ -17076,17 +17668,16 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
case $host_os in
solaris2.[0-5] | solaris2.[0-5].*) ;;
*)
- # The compiler driver will combine linker options so we
- # cannot just pass the convience library names through
- # without $wl, iff we do not link with $LD.
- # Luckily, gcc supports the same syntax we need for Sun Studio.
+ # The compiler driver will combine and reorder linker options,
+ # but understands `-z linker_flag'. GCC discards it without `$wl',
+ # but is careful enough not to reorder.
# Supported since Solaris 2.6 (maybe 2.5.1?)
- case $wlarc in
- '')
- whole_archive_flag_spec_GCJ='-z allextract$convenience -z defaultextract' ;;
- *)
- whole_archive_flag_spec_GCJ='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;;
- esac ;;
+ if test "$GCC" = yes; then
+ whole_archive_flag_spec_GCJ='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+ else
+ whole_archive_flag_spec_GCJ='-z allextract$convenience -z defaultextract'
+ fi
+ ;;
esac
link_all_deplibs_GCJ=yes
;;
@@ -17143,36 +17734,45 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
fi
;;
- sysv4.2uw2*)
- archive_cmds_GCJ='$LD -G -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct_GCJ=yes
- hardcode_minus_L_GCJ=no
+ sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
+ no_undefined_flag_GCJ='${wl}-z,text'
+ archive_cmds_need_lc_GCJ=no
hardcode_shlibpath_var_GCJ=no
- hardcode_runpath_var=yes
- runpath_var=LD_RUN_PATH
- ;;
+ runpath_var='LD_RUN_PATH'
- sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[78]* | unixware7*)
- no_undefined_flag_GCJ='${wl}-z ${wl}text'
if test "$GCC" = yes; then
- archive_cmds_GCJ='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_cmds_GCJ='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
else
- archive_cmds_GCJ='$CC -G ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_cmds_GCJ='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
fi
- runpath_var='LD_RUN_PATH'
- hardcode_shlibpath_var_GCJ=no
;;
- sysv5*)
- no_undefined_flag_GCJ=' -z text'
- # $CC -shared without GNU ld will not create a library from C++
- # object files and a static libstdc++, better avoid it by now
- archive_cmds_GCJ='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
- archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
- hardcode_libdir_flag_spec_GCJ=
+ sysv5* | sco3.2v5* | sco5v6*)
+ # Note: We can NOT use -z defs as we might desire, because we do not
+ # link with -lc, and that would cause any symbols used from libc to
+ # always be unresolved, which means just about no library would
+ # ever link correctly. If we're not using GNU ld we use -z text
+ # though, which does catch some bad symbols but isn't as heavy-handed
+ # as -z defs.
+ no_undefined_flag_GCJ='${wl}-z,text'
+ allow_undefined_flag_GCJ='${wl}-z,nodefs'
+ archive_cmds_need_lc_GCJ=no
hardcode_shlibpath_var_GCJ=no
+ hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
+ hardcode_libdir_separator_GCJ=':'
+ link_all_deplibs_GCJ=yes
+ export_dynamic_flag_spec_GCJ='${wl}-Bexport'
runpath_var='LD_RUN_PATH'
+
+ if test "$GCC" = yes; then
+ archive_cmds_GCJ='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ archive_cmds_GCJ='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ fi
;;
uts4*)
@@ -17187,15 +17787,10 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
esac
fi
-echo "$as_me:$LINENO: result: $ld_shlibs_GCJ" >&5
-echo "${ECHO_T}$ld_shlibs_GCJ" >&6
+{ echo "$as_me:$LINENO: result: $ld_shlibs_GCJ" >&5
+echo "${ECHO_T}$ld_shlibs_GCJ" >&6; }
test "$ld_shlibs_GCJ" = no && can_build_shared=no
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
- variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-fi
-
#
# Do we need to explicitly link libc?
#
@@ -17213,10 +17808,10 @@ x|xyes)
# Test whether the compiler implicitly links with -lc since on some
# systems, -lgcc has to come before -lc. If gcc already passes -lc
# to ld, don't add -lc before -lgcc.
- echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
-echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
+echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; }
$rm conftest*
- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
@@ -17228,6 +17823,7 @@ echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&
libobjs=conftest.$ac_objext
deplibs=
wl=$lt_prog_compiler_wl_GCJ
+ pic_flag=$lt_prog_compiler_pic_GCJ
compiler_flags=-v
linker_flags=-v
verstring=
@@ -17250,16 +17846,16 @@ echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&
cat conftest.err 1>&5
fi
$rm conftest*
- echo "$as_me:$LINENO: result: $archive_cmds_need_lc_GCJ" >&5
-echo "${ECHO_T}$archive_cmds_need_lc_GCJ" >&6
+ { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_GCJ" >&5
+echo "${ECHO_T}$archive_cmds_need_lc_GCJ" >&6; }
;;
esac
fi
;;
esac
-echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
-echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
+echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; }
library_names_spec=
libname_spec='lib$name'
soname_spec=
@@ -17273,20 +17869,7 @@ shlibpath_overrides_runpath=unknown
version_type=none
dynamic_linker="$host_os ld.so"
sys_lib_dlsearch_path_spec="/lib /usr/lib"
-if test "$GCC" = yes; then
- sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
- if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then
- # if the path contains ";" then we assume it to be the separator
- # otherwise default to the standard path separator (i.e. ":") - it is
- # assumed that no part of a normal pathname contains ";" but that should
- # okay in the real world where ";" in dirpaths is itself problematic.
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
- else
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
- fi
-else
- sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
-fi
+
need_lib_prefix=unknown
hardcode_into_libs=no
@@ -17349,1348 +17932,534 @@ aix4* | aix5*)
;;
amigaos*)
- library_names_spec='$libname.ixlibrary $libname.a'
- # Create ${libname}_ixlibrary.a entries in /sys/libs.
- finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
- ;;
-
-beos*)
- library_names_spec='${libname}${shared_ext}'
- dynamic_linker="$host_os ld.so"
- shlibpath_var=LIBRARY_PATH
- ;;
-
-bsdi[45]*)
- version_type=linux
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
- sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
- # the default ld.so.conf also contains /usr/contrib/lib and
- # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
- # libtool to hard-code these into programs
- ;;
-
-cygwin* | mingw* | pw32*)
- version_type=windows
- shrext_cmds=".dll"
- need_version=no
- need_lib_prefix=no
-
- case $GCC,$host_os in
- yes,cygwin* | yes,mingw* | yes,pw32*)
- library_names_spec='$libname.dll.a'
- # DLL is installed to $(libdir)/../bin by postinstall_cmds
- postinstall_cmds='base_file=`basename \${file}`~
- dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
- dldir=$destdir/`dirname \$dlpath`~
- test -d \$dldir || mkdir -p \$dldir~
- $install_prog $dir/$dlname \$dldir/$dlname~
- chmod a+x \$dldir/$dlname'
- postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
- dlpath=$dir/\$dldll~
- $rm \$dlpath'
- shlibpath_overrides_runpath=yes
-
- case $host_os in
- cygwin*)
- # Cygwin DLLs use 'cyg' prefix rather than 'lib'
- soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
- ;;
- mingw*)
- # MinGW DLLs use traditional 'lib' prefix
- soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
- if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then
- # It is most probably a Windows format PATH printed by
- # mingw gcc, but we are running on Cygwin. Gcc prints its search
- # path with ; separators, and with drive letters. We can handle the
- # drive letters (cygwin fileutils understands them), so leave them,
- # especially as we might pass files found there to a mingw objdump,
- # which wouldn't understand a cygwinified path. Ahh.
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
- else
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
- fi
- ;;
- pw32*)
- # pw32 DLLs use 'pw' prefix rather than 'lib'
- library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- ;;
- esac
- ;;
-
- *)
- library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
- ;;
- esac
- dynamic_linker='Win32 ld.exe'
- # FIXME: first we should search . and the directory the executable is in
- shlibpath_var=PATH
- ;;
-
-darwin* | rhapsody*)
- dynamic_linker="$host_os dyld"
- version_type=darwin
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext'
- soname_spec='${libname}${release}${major}$shared_ext'
- shlibpath_overrides_runpath=yes
- shlibpath_var=DYLD_LIBRARY_PATH
- shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
- # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
- if test "$GCC" = yes; then
- sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
- else
- sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib'
- fi
- sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
- ;;
-
-dgux*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- ;;
-
-freebsd1*)
- dynamic_linker=no
- ;;
-
-kfreebsd*-gnu)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- dynamic_linker='GNU ld.so'
- ;;
-
-freebsd* | dragonfly*)
- # DragonFly does not have aout. When/if they implement a new
- # versioning mechanism, adjust this.
- if test -x /usr/bin/objformat; then
- objformat=`/usr/bin/objformat`
- else
- case $host_os in
- freebsd[123]*) objformat=aout ;;
- *) objformat=elf ;;
- esac
- fi
- version_type=freebsd-$objformat
- case $version_type in
- freebsd-elf*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
- need_version=no
- need_lib_prefix=no
- ;;
- freebsd-*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
- need_version=yes
- ;;
- esac
- shlibpath_var=LD_LIBRARY_PATH
- case $host_os in
- freebsd2*)
- shlibpath_overrides_runpath=yes
- ;;
- freebsd3.[01]* | freebsdelf3.[01]*)
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
- *) # from 3.2 on
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
- esac
- ;;
-
-gnu*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- hardcode_into_libs=yes
- ;;
-
-hpux9* | hpux10* | hpux11*)
- # Give a soname corresponding to the major version so that dld.sl refuses to
- # link against other versions.
- version_type=sunos
- need_lib_prefix=no
- need_version=no
- case $host_cpu in
- ia64*)
- shrext_cmds='.so'
- hardcode_into_libs=yes
- dynamic_linker="$host_os dld.so"
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- if test "X$HPUX_IA64_MODE" = X32; then
- sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
- else
- sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
- fi
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
- ;;
- hppa*64*)
- shrext_cmds='.sl'
- hardcode_into_libs=yes
- dynamic_linker="$host_os dld.sl"
- shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
- ;;
- *)
- shrext_cmds='.sl'
- dynamic_linker="$host_os dld.sl"
- shlibpath_var=SHLIB_PATH
- shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- ;;
- esac
- # HP-UX runs *really* slowly unless shared libraries are mode 555.
- postinstall_cmds='chmod 555 $lib'
- ;;
-
-irix5* | irix6* | nonstopux*)
- case $host_os in
- nonstopux*) version_type=nonstopux ;;
- *)
- if test "$lt_cv_prog_gnu_ld" = yes; then
- version_type=linux
- else
- version_type=irix
- fi ;;
- esac
- need_lib_prefix=no
- need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
- case $host_os in
- irix5* | nonstopux*)
- libsuff= shlibsuff=
- ;;
- *)
- case $LD in # libtool.m4 will add one of these switches to LD
- *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
- libsuff= shlibsuff= libmagic=32-bit;;
- *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
- libsuff=32 shlibsuff=N32 libmagic=N32;;
- *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
- libsuff=64 shlibsuff=64 libmagic=64-bit;;
- *) libsuff= shlibsuff= libmagic=never-match;;
- esac
- ;;
- esac
- shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
- shlibpath_overrides_runpath=no
- sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
- sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
- hardcode_into_libs=yes
- ;;
-
-# No shared lib support for Linux oldld, aout, or coff.
-linux*oldld* | linux*aout* | linux*coff*)
- dynamic_linker=no
- ;;
-
-# This must be Linux ELF.
-linux*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- # This implies no fast_install, which is unacceptable.
- # Some rework will be needed to allow for fast_install
- # before this can be enabled.
- hardcode_into_libs=yes
-
- # Append ld.so.conf contents to the search path
- if test -f /etc/ld.so.conf; then
- lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
- sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
- fi
-
- # We used to test for /lib/ld.so.1 and disable shared libraries on
- # powerpc, because MkLinux only supported shared libraries with the
- # GNU dynamic linker. Since this was broken with cross compilers,
- # most powerpc-linux boxes support dynamic linking these days and
- # people can always --disable-shared, the test was removed, and we
- # assume the GNU/Linux dynamic linker is in use.
- dynamic_linker='GNU/Linux ld.so'
- ;;
-
-netbsdelf*-gnu)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- dynamic_linker='NetBSD ld.elf_so'
- ;;
-
-knetbsd*-gnu)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- dynamic_linker='GNU ld.so'
- ;;
-
-netbsd*)
- version_type=sunos
- need_lib_prefix=no
- need_version=no
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
- dynamic_linker='NetBSD (a.out) ld.so'
- else
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- dynamic_linker='NetBSD ld.elf_so'
- fi
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
-
-newsos6)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- ;;
-
-nto-qnx*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- ;;
-
-openbsd*)
- version_type=sunos
- need_lib_prefix=no
- # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
- case $host_os in
- openbsd3.3 | openbsd3.3.*) need_version=yes ;;
- *) need_version=no ;;
- esac
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- case $host_os in
- openbsd2.[89] | openbsd2.[89].*)
- shlibpath_overrides_runpath=no
- ;;
- *)
- shlibpath_overrides_runpath=yes
- ;;
- esac
- else
- shlibpath_overrides_runpath=yes
- fi
- ;;
-
-os2*)
- libname_spec='$name'
- shrext_cmds=".dll"
- need_lib_prefix=no
- library_names_spec='$libname${shared_ext} $libname.a'
- dynamic_linker='OS/2 ld.exe'
- shlibpath_var=LIBPATH
- ;;
-
-osf3* | osf4* | osf5*)
- version_type=osf
- need_lib_prefix=no
- need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
- sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
- ;;
-
-sco3.2v5*)
- version_type=osf
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- ;;
-
-solaris*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- # ldd complains unless libraries are executable
- postinstall_cmds='chmod +x $lib'
- ;;
-
-sunos4*)
- version_type=sunos
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- if test "$with_gnu_ld" = yes; then
- need_lib_prefix=no
- fi
- need_version=yes
- ;;
-
-sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- case $host_vendor in
- sni)
- shlibpath_overrides_runpath=no
- need_lib_prefix=no
- export_dynamic_flag_spec='${wl}-Blargedynsym'
- runpath_var=LD_RUN_PATH
- ;;
- siemens)
- need_lib_prefix=no
- ;;
- motorola)
- need_lib_prefix=no
- need_version=no
- shlibpath_overrides_runpath=no
- sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
- ;;
- esac
- ;;
-
-sysv4*MP*)
- if test -d /usr/nec ;then
- version_type=linux
- library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
- soname_spec='$libname${shared_ext}.$major'
- shlibpath_var=LD_LIBRARY_PATH
- fi
- ;;
-
-uts4*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- ;;
-
-*)
- dynamic_linker=no
- ;;
-esac
-echo "$as_me:$LINENO: result: $dynamic_linker" >&5
-echo "${ECHO_T}$dynamic_linker" >&6
-test "$dynamic_linker" = no && can_build_shared=no
-
-echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
-echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6
-hardcode_action_GCJ=
-if test -n "$hardcode_libdir_flag_spec_GCJ" || \
- test -n "$runpath_var_GCJ" || \
- test "X$hardcode_automatic_GCJ" = "Xyes" ; then
-
- # We can hardcode non-existant directories.
- if test "$hardcode_direct_GCJ" != no &&
- # If the only mechanism to avoid hardcoding is shlibpath_var, we
- # have to relink, otherwise we might link with an installed library
- # when we should be linking with a yet-to-be-installed one
- ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, GCJ)" != no &&
- test "$hardcode_minus_L_GCJ" != no; then
- # Linking always hardcodes the temporary library directory.
- hardcode_action_GCJ=relink
- else
- # We can link without hardcoding, and we can hardcode nonexisting dirs.
- hardcode_action_GCJ=immediate
- fi
-else
- # We cannot hardcode anything, or else we can only hardcode existing
- # directories.
- hardcode_action_GCJ=unsupported
-fi
-echo "$as_me:$LINENO: result: $hardcode_action_GCJ" >&5
-echo "${ECHO_T}$hardcode_action_GCJ" >&6
-
-if test "$hardcode_action_GCJ" = relink; then
- # Fast installation is not supported
- enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
- test "$enable_shared" = no; then
- # Fast installation is not necessary
- enable_fast_install=needless
-fi
-
-striplib=
-old_striplib=
-echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5
-echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6
-if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then
- test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
- test -z "$striplib" && striplib="$STRIP --strip-unneeded"
- echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
-else
-# FIXME - insert some real tests, host_os isn't really good enough
- case $host_os in
- darwin*)
- if test -n "$STRIP" ; then
- striplib="$STRIP -x"
- echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
- else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
- ;;
- *)
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
- ;;
- esac
-fi
-
-if test "x$enable_dlopen" != xyes; then
- enable_dlopen=unknown
- enable_dlopen_self=unknown
- enable_dlopen_self_static=unknown
-else
- lt_cv_dlopen=no
- lt_cv_dlopen_libs=
-
- case $host_os in
- beos*)
- lt_cv_dlopen="load_add_on"
- lt_cv_dlopen_libs=
- lt_cv_dlopen_self=yes
- ;;
-
- mingw* | pw32*)
- lt_cv_dlopen="LoadLibrary"
- lt_cv_dlopen_libs=
- ;;
-
- cygwin*)
- lt_cv_dlopen="dlopen"
- lt_cv_dlopen_libs=
- ;;
-
- darwin*)
- # if libdl is installed we need to link against it
- echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
-echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char dlopen ();
-int
-main ()
-{
-dlopen ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_lib_dl_dlopen=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_lib_dl_dlopen=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
-echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6
-if test $ac_cv_lib_dl_dlopen = yes; then
- lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
-else
-
- lt_cv_dlopen="dyld"
- lt_cv_dlopen_libs=
- lt_cv_dlopen_self=yes
-
-fi
-
- ;;
-
- *)
- echo "$as_me:$LINENO: checking for shl_load" >&5
-echo $ECHO_N "checking for shl_load... $ECHO_C" >&6
-if test "${ac_cv_func_shl_load+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define shl_load to an innocuous variant, in case <limits.h> declares shl_load.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define shl_load innocuous_shl_load
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char shl_load (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef shl_load
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char shl_load ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_shl_load) || defined (__stub___shl_load)
-choke me
-#else
-char (*f) () = shl_load;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != shl_load;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_func_shl_load=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_func_shl_load=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5
-echo "${ECHO_T}$ac_cv_func_shl_load" >&6
-if test $ac_cv_func_shl_load = yes; then
- lt_cv_dlopen="shl_load"
-else
- echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5
-echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6
-if test "${ac_cv_lib_dld_shl_load+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldld $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char shl_load ();
-int
-main ()
-{
-shl_load ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_lib_dld_shl_load=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_lib_dld_shl_load=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5
-echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6
-if test $ac_cv_lib_dld_shl_load = yes; then
- lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"
-else
- echo "$as_me:$LINENO: checking for dlopen" >&5
-echo $ECHO_N "checking for dlopen... $ECHO_C" >&6
-if test "${ac_cv_func_dlopen+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define dlopen to an innocuous variant, in case <limits.h> declares dlopen.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define dlopen innocuous_dlopen
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char dlopen (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef dlopen
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char dlopen ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_dlopen) || defined (__stub___dlopen)
-choke me
-#else
-char (*f) () = dlopen;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != dlopen;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_func_dlopen=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_func_dlopen=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5
-echo "${ECHO_T}$ac_cv_func_dlopen" >&6
-if test $ac_cv_func_dlopen = yes; then
- lt_cv_dlopen="dlopen"
-else
- echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
-echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char dlopen ();
-int
-main ()
-{
-dlopen ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_lib_dl_dlopen=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_lib_dl_dlopen=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
-echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6
-if test $ac_cv_lib_dl_dlopen = yes; then
- lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
-else
- echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5
-echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6
-if test "${ac_cv_lib_svld_dlopen+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lsvld $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char dlopen ();
-int
-main ()
-{
-dlopen ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_lib_svld_dlopen=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_lib_svld_dlopen=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5
-echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6
-if test $ac_cv_lib_svld_dlopen = yes; then
- lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
-else
- echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5
-echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6
-if test "${ac_cv_lib_dld_dld_link+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldld $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char dld_link ();
-int
-main ()
-{
-dld_link ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_lib_dld_dld_link=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_lib_dld_dld_link=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5
-echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6
-if test $ac_cv_lib_dld_dld_link = yes; then
- lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"
-fi
-
+ library_names_spec='$libname.ixlibrary $libname.a'
+ # Create ${libname}_ixlibrary.a entries in /sys/libs.
+ finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+ ;;
-fi
+beos*)
+ library_names_spec='${libname}${shared_ext}'
+ dynamic_linker="$host_os ld.so"
+ shlibpath_var=LIBRARY_PATH
+ ;;
+bsdi[45]*)
+ version_type=linux
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
+ sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
+ # the default ld.so.conf also contains /usr/contrib/lib and
+ # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
+ # libtool to hard-code these into programs
+ ;;
-fi
+cygwin* | mingw* | pw32*)
+ version_type=windows
+ shrext_cmds=".dll"
+ need_version=no
+ need_lib_prefix=no
+ case $GCC,$host_os in
+ yes,cygwin* | yes,mingw* | yes,pw32*)
+ library_names_spec='$libname.dll.a'
+ # DLL is installed to $(libdir)/../bin by postinstall_cmds
+ postinstall_cmds='base_file=`basename \${file}`~
+ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
+ dldir=$destdir/`dirname \$dlpath`~
+ test -d \$dldir || mkdir -p \$dldir~
+ $install_prog $dir/$dlname \$dldir/$dlname~
+ chmod a+x \$dldir/$dlname'
+ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+ dlpath=$dir/\$dldll~
+ $rm \$dlpath'
+ shlibpath_overrides_runpath=yes
-fi
+ case $host_os in
+ cygwin*)
+ # Cygwin DLLs use 'cyg' prefix rather than 'lib'
+ soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+ sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
+ ;;
+ mingw*)
+ # MinGW DLLs use traditional 'lib' prefix
+ soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+ sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+ if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then
+ # It is most probably a Windows format PATH printed by
+ # mingw gcc, but we are running on Cygwin. Gcc prints its search
+ # path with ; separators, and with drive letters. We can handle the
+ # drive letters (cygwin fileutils understands them), so leave them,
+ # especially as we might pass files found there to a mingw objdump,
+ # which wouldn't understand a cygwinified path. Ahh.
+ sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+ else
+ sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+ fi
+ ;;
+ pw32*)
+ # pw32 DLLs use 'pw' prefix rather than 'lib'
+ library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+ ;;
+ esac
+ ;;
+ *)
+ library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
+ ;;
+ esac
+ dynamic_linker='Win32 ld.exe'
+ # FIXME: first we should search . and the directory the executable is in
+ shlibpath_var=PATH
+ ;;
-fi
+darwin* | rhapsody*)
+ dynamic_linker="$host_os dyld"
+ version_type=darwin
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext'
+ soname_spec='${libname}${release}${major}$shared_ext'
+ shlibpath_overrides_runpath=yes
+ shlibpath_var=DYLD_LIBRARY_PATH
+ shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
+ sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
+ ;;
-fi
+dgux*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
- ;;
- esac
+freebsd1*)
+ dynamic_linker=no
+ ;;
- if test "x$lt_cv_dlopen" != xno; then
- enable_dlopen=yes
+freebsd* | dragonfly*)
+ # DragonFly does not have aout. When/if they implement a new
+ # versioning mechanism, adjust this.
+ if test -x /usr/bin/objformat; then
+ objformat=`/usr/bin/objformat`
else
- enable_dlopen=no
+ case $host_os in
+ freebsd[123]*) objformat=aout ;;
+ *) objformat=elf ;;
+ esac
fi
+ version_type=freebsd-$objformat
+ case $version_type in
+ freebsd-elf*)
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+ need_version=no
+ need_lib_prefix=no
+ ;;
+ freebsd-*)
+ library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
+ need_version=yes
+ ;;
+ esac
+ shlibpath_var=LD_LIBRARY_PATH
+ case $host_os in
+ freebsd2*)
+ shlibpath_overrides_runpath=yes
+ ;;
+ freebsd3.[01]* | freebsdelf3.[01]*)
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+ freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
+ freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+ *) # from 4.6 on, and DragonFly
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+ esac
+ ;;
- case $lt_cv_dlopen in
- dlopen)
- save_CPPFLAGS="$CPPFLAGS"
- test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
-
- save_LDFLAGS="$LDFLAGS"
- eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
-
- save_LIBS="$LIBS"
- LIBS="$lt_cv_dlopen_libs $LIBS"
+gnu*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ hardcode_into_libs=yes
+ ;;
- echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5
-echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6
-if test "${lt_cv_dlopen_self+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test "$cross_compiling" = yes; then :
- lt_cv_dlopen_self=cross
-else
- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
- lt_status=$lt_dlunknown
- cat > conftest.$ac_ext <<EOF
-#line 18495 "configure"
-#include "confdefs.h"
+hpux9* | hpux10* | hpux11*)
+ # Give a soname corresponding to the major version so that dld.sl refuses to
+ # link against other versions.
+ version_type=sunos
+ need_lib_prefix=no
+ need_version=no
+ case $host_cpu in
+ ia64*)
+ shrext_cmds='.so'
+ hardcode_into_libs=yes
+ dynamic_linker="$host_os dld.so"
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ if test "X$HPUX_IA64_MODE" = X32; then
+ sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
+ else
+ sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+ fi
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+ ;;
+ hppa*64*)
+ shrext_cmds='.sl'
+ hardcode_into_libs=yes
+ dynamic_linker="$host_os dld.sl"
+ shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
+ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+ ;;
+ *)
+ shrext_cmds='.sl'
+ dynamic_linker="$host_os dld.sl"
+ shlibpath_var=SHLIB_PATH
+ shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ ;;
+ esac
+ # HP-UX runs *really* slowly unless shared libraries are mode 555.
+ postinstall_cmds='chmod 555 $lib'
+ ;;
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
+interix[3-9]*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
-#include <stdio.h>
+irix5* | irix6* | nonstopux*)
+ case $host_os in
+ nonstopux*) version_type=nonstopux ;;
+ *)
+ if test "$lt_cv_prog_gnu_ld" = yes; then
+ version_type=linux
+ else
+ version_type=irix
+ fi ;;
+ esac
+ need_lib_prefix=no
+ need_version=no
+ soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
+ case $host_os in
+ irix5* | nonstopux*)
+ libsuff= shlibsuff=
+ ;;
+ *)
+ case $LD in # libtool.m4 will add one of these switches to LD
+ *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
+ libsuff= shlibsuff= libmagic=32-bit;;
+ *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
+ libsuff=32 shlibsuff=N32 libmagic=N32;;
+ *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
+ libsuff=64 shlibsuff=64 libmagic=64-bit;;
+ *) libsuff= shlibsuff= libmagic=never-match;;
+ esac
+ ;;
+ esac
+ shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
+ shlibpath_overrides_runpath=no
+ sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
+ sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
+ hardcode_into_libs=yes
+ ;;
-#ifdef RTLD_GLOBAL
-# define LT_DLGLOBAL RTLD_GLOBAL
-#else
-# ifdef DL_GLOBAL
-# define LT_DLGLOBAL DL_GLOBAL
-# else
-# define LT_DLGLOBAL 0
-# endif
-#endif
+# No shared lib support for Linux oldld, aout, or coff.
+linux*oldld* | linux*aout* | linux*coff*)
+ dynamic_linker=no
+ ;;
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
- find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-# ifdef RTLD_LAZY
-# define LT_DLLAZY_OR_NOW RTLD_LAZY
-# else
-# ifdef DL_LAZY
-# define LT_DLLAZY_OR_NOW DL_LAZY
-# else
-# ifdef RTLD_NOW
-# define LT_DLLAZY_OR_NOW RTLD_NOW
-# else
-# ifdef DL_NOW
-# define LT_DLLAZY_OR_NOW DL_NOW
-# else
-# define LT_DLLAZY_OR_NOW 0
-# endif
-# endif
-# endif
-# endif
-#endif
+# This must be Linux ELF.
+linux* | k*bsd*-gnu)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ # This implies no fast_install, which is unacceptable.
+ # Some rework will be needed to allow for fast_install
+ # before this can be enabled.
+ hardcode_into_libs=yes
-#ifdef __cplusplus
-extern "C" void exit (int);
-#endif
+ # Append ld.so.conf contents to the search path
+ if test -f /etc/ld.so.conf; then
+ lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+ sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+ fi
-void fnord() { int i=42;}
-int main ()
-{
- void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
- int status = $lt_dlunknown;
+ # We used to test for /lib/ld.so.1 and disable shared libraries on
+ # powerpc, because MkLinux only supported shared libraries with the
+ # GNU dynamic linker. Since this was broken with cross compilers,
+ # most powerpc-linux boxes support dynamic linking these days and
+ # people can always --disable-shared, the test was removed, and we
+ # assume the GNU/Linux dynamic linker is in use.
+ dynamic_linker='GNU/Linux ld.so'
+ ;;
- if (self)
- {
- if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
- else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
- /* dlclose (self); */
- }
+netbsdelf*-gnu)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ dynamic_linker='NetBSD ld.elf_so'
+ ;;
- exit (status);
-}
-EOF
- if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then
- (./conftest; exit; ) >&5 2>/dev/null
- lt_status=$?
- case x$lt_status in
- x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;;
- x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;;
- x$lt_unknown|x*) lt_cv_dlopen_self=no ;;
- esac
- else :
- # compilation failed
- lt_cv_dlopen_self=no
+netbsd*)
+ version_type=sunos
+ need_lib_prefix=no
+ need_version=no
+ if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+ dynamic_linker='NetBSD (a.out) ld.so'
+ else
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ dynamic_linker='NetBSD ld.elf_so'
fi
-fi
-rm -fr conftest*
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+newsos6)
+ version_type=linux
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ ;;
-fi
-echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5
-echo "${ECHO_T}$lt_cv_dlopen_self" >&6
+nto-qnx*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ ;;
- if test "x$lt_cv_dlopen_self" = xyes; then
- LDFLAGS="$LDFLAGS $link_static_flag"
- echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5
-echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6
-if test "${lt_cv_dlopen_self_static+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test "$cross_compiling" = yes; then :
- lt_cv_dlopen_self_static=cross
-else
- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
- lt_status=$lt_dlunknown
- cat > conftest.$ac_ext <<EOF
-#line 18593 "configure"
-#include "confdefs.h"
+openbsd*)
+ version_type=sunos
+ sys_lib_dlsearch_path_spec="/usr/lib"
+ need_lib_prefix=no
+ # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
+ case $host_os in
+ openbsd3.3 | openbsd3.3.*) need_version=yes ;;
+ *) need_version=no ;;
+ esac
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ case $host_os in
+ openbsd2.[89] | openbsd2.[89].*)
+ shlibpath_overrides_runpath=no
+ ;;
+ *)
+ shlibpath_overrides_runpath=yes
+ ;;
+ esac
+ else
+ shlibpath_overrides_runpath=yes
+ fi
+ ;;
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
+os2*)
+ libname_spec='$name'
+ shrext_cmds=".dll"
+ need_lib_prefix=no
+ library_names_spec='$libname${shared_ext} $libname.a'
+ dynamic_linker='OS/2 ld.exe'
+ shlibpath_var=LIBPATH
+ ;;
-#include <stdio.h>
+osf3* | osf4* | osf5*)
+ version_type=osf
+ need_lib_prefix=no
+ need_version=no
+ soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
+ sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
+ ;;
-#ifdef RTLD_GLOBAL
-# define LT_DLGLOBAL RTLD_GLOBAL
-#else
-# ifdef DL_GLOBAL
-# define LT_DLGLOBAL DL_GLOBAL
-# else
-# define LT_DLGLOBAL 0
-# endif
-#endif
+rdos*)
+ dynamic_linker=no
+ ;;
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
- find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-# ifdef RTLD_LAZY
-# define LT_DLLAZY_OR_NOW RTLD_LAZY
-# else
-# ifdef DL_LAZY
-# define LT_DLLAZY_OR_NOW DL_LAZY
-# else
-# ifdef RTLD_NOW
-# define LT_DLLAZY_OR_NOW RTLD_NOW
-# else
-# ifdef DL_NOW
-# define LT_DLLAZY_OR_NOW DL_NOW
-# else
-# define LT_DLLAZY_OR_NOW 0
-# endif
-# endif
-# endif
-# endif
-#endif
+solaris*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ # ldd complains unless libraries are executable
+ postinstall_cmds='chmod +x $lib'
+ ;;
-#ifdef __cplusplus
-extern "C" void exit (int);
-#endif
+sunos4*)
+ version_type=sunos
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ if test "$with_gnu_ld" = yes; then
+ need_lib_prefix=no
+ fi
+ need_version=yes
+ ;;
-void fnord() { int i=42;}
-int main ()
-{
- void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
- int status = $lt_dlunknown;
+sysv4 | sysv4.3*)
+ version_type=linux
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ case $host_vendor in
+ sni)
+ shlibpath_overrides_runpath=no
+ need_lib_prefix=no
+ export_dynamic_flag_spec='${wl}-Blargedynsym'
+ runpath_var=LD_RUN_PATH
+ ;;
+ siemens)
+ need_lib_prefix=no
+ ;;
+ motorola)
+ need_lib_prefix=no
+ need_version=no
+ shlibpath_overrides_runpath=no
+ sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
+ ;;
+ esac
+ ;;
- if (self)
- {
- if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
- else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
- /* dlclose (self); */
- }
+sysv4*MP*)
+ if test -d /usr/nec ;then
+ version_type=linux
+ library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
+ soname_spec='$libname${shared_ext}.$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ fi
+ ;;
- exit (status);
-}
-EOF
- if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then
- (./conftest; exit; ) >&5 2>/dev/null
- lt_status=$?
- case x$lt_status in
- x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;;
- x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;;
- x$lt_unknown|x*) lt_cv_dlopen_self_static=no ;;
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+ version_type=freebsd-elf
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ hardcode_into_libs=yes
+ if test "$with_gnu_ld" = yes; then
+ sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
+ shlibpath_overrides_runpath=no
+ else
+ sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
+ shlibpath_overrides_runpath=yes
+ case $host_os in
+ sco3.2v5*)
+ sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
+ ;;
esac
- else :
- # compilation failed
- lt_cv_dlopen_self_static=no
fi
-fi
-rm -fr conftest*
+ sys_lib_dlsearch_path_spec='/usr/lib'
+ ;;
+
+uts4*)
+ version_type=linux
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
+*)
+ dynamic_linker=no
+ ;;
+esac
+{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5
+echo "${ECHO_T}$dynamic_linker" >&6; }
+test "$dynamic_linker" = no && can_build_shared=no
+variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
+if test "$GCC" = yes; then
+ variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
fi
-echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5
-echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6
- fi
- CPPFLAGS="$save_CPPFLAGS"
- LDFLAGS="$save_LDFLAGS"
- LIBS="$save_LIBS"
- ;;
- esac
+{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
+echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; }
+hardcode_action_GCJ=
+if test -n "$hardcode_libdir_flag_spec_GCJ" || \
+ test -n "$runpath_var_GCJ" || \
+ test "X$hardcode_automatic_GCJ" = "Xyes" ; then
- case $lt_cv_dlopen_self in
- yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
- *) enable_dlopen_self=unknown ;;
- esac
+ # We can hardcode non-existant directories.
+ if test "$hardcode_direct_GCJ" != no &&
+ # If the only mechanism to avoid hardcoding is shlibpath_var, we
+ # have to relink, otherwise we might link with an installed library
+ # when we should be linking with a yet-to-be-installed one
+ ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, GCJ)" != no &&
+ test "$hardcode_minus_L_GCJ" != no; then
+ # Linking always hardcodes the temporary library directory.
+ hardcode_action_GCJ=relink
+ else
+ # We can link without hardcoding, and we can hardcode nonexisting dirs.
+ hardcode_action_GCJ=immediate
+ fi
+else
+ # We cannot hardcode anything, or else we can only hardcode existing
+ # directories.
+ hardcode_action_GCJ=unsupported
+fi
+{ echo "$as_me:$LINENO: result: $hardcode_action_GCJ" >&5
+echo "${ECHO_T}$hardcode_action_GCJ" >&6; }
- case $lt_cv_dlopen_self_static in
- yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
- *) enable_dlopen_self_static=unknown ;;
- esac
+if test "$hardcode_action_GCJ" = relink; then
+ # Fast installation is not supported
+ enable_fast_install=no
+elif test "$shlibpath_overrides_runpath" = yes ||
+ test "$enable_shared" = no; then
+ # Fast installation is not necessary
+ enable_fast_install=needless
fi
@@ -18707,7 +18476,7 @@ if test -f "$ltmain"; then
# Now quote all the things that may contain metacharacters while being
# careful not to overquote the AC_SUBSTed values. We take copies of the
# variables and quote the copies for generation of the libtool script.
- for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC NM \
+ for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
SED SHELL STRIP \
libname_spec library_names_spec soname_spec extract_expsyms_cmds \
old_striplib striplib file_magic_cmd finish_cmds finish_eval \
@@ -18749,6 +18518,7 @@ if test -f "$ltmain"; then
module_cmds_GCJ \
module_expsym_cmds_GCJ \
lt_cv_prog_compiler_c_o_GCJ \
+ fix_srcfile_path_GCJ \
exclude_expsyms_GCJ \
include_expsyms_GCJ; do
@@ -18825,6 +18595,9 @@ AR_FLAGS=$lt_AR_FLAGS
# A C compiler.
LTCC=$lt_LTCC
+# LTCC compiler flags.
+LTCFLAGS=$lt_LTCFLAGS
+
# A language-specific compiler.
CC=$lt_compiler_GCJ
@@ -19066,7 +18839,7 @@ sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
# Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path="$fix_srcfile_path_GCJ"
+fix_srcfile_path=$lt_fix_srcfile_path
# Set to yes if exported symbols are required.
always_export_symbols=$always_export_symbols_GCJ
@@ -19115,7 +18888,6 @@ CC="$lt_save_CC"
RC)
-
# Source file extension for RC test sources.
ac_ext=rc
@@ -19124,7 +18896,7 @@ objext=o
objext_RC=$objext
# Code to be used in simple compile tests
-lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }\n'
+lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
# Code to be used in simple link tests
lt_simple_link_test_code="$lt_simple_compile_test_code"
@@ -19134,20 +18906,23 @@ lt_simple_link_test_code="$lt_simple_compile_test_code"
# If no C compiler was specified, use CC.
LTCC=${LTCC-"$CC"}
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
# Allow CC to be a program name with arguments.
compiler=$CC
# save warnings/boilerplate of simple test code
ac_outfile=conftest.$ac_objext
-printf "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err
+echo "$lt_simple_compile_test_code" >conftest.$ac_ext
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
_lt_compiler_boilerplate=`cat conftest.err`
$rm conftest*
ac_outfile=conftest.$ac_objext
-printf "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err
+echo "$lt_simple_link_test_code" >conftest.$ac_ext
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
_lt_linker_boilerplate=`cat conftest.err`
$rm conftest*
@@ -19182,7 +18957,7 @@ if test -f "$ltmain"; then
# Now quote all the things that may contain metacharacters while being
# careful not to overquote the AC_SUBSTed values. We take copies of the
# variables and quote the copies for generation of the libtool script.
- for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC NM \
+ for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
SED SHELL STRIP \
libname_spec library_names_spec soname_spec extract_expsyms_cmds \
old_striplib striplib file_magic_cmd finish_cmds finish_eval \
@@ -19224,6 +18999,7 @@ if test -f "$ltmain"; then
module_cmds_RC \
module_expsym_cmds_RC \
lt_cv_prog_compiler_c_o_RC \
+ fix_srcfile_path_RC \
exclude_expsyms_RC \
include_expsyms_RC; do
@@ -19300,6 +19076,9 @@ AR_FLAGS=$lt_AR_FLAGS
# A C compiler.
LTCC=$lt_LTCC
+# LTCC compiler flags.
+LTCFLAGS=$lt_LTCFLAGS
+
# A language-specific compiler.
CC=$lt_compiler_RC
@@ -19541,7 +19320,7 @@ sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
# Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path="$fix_srcfile_path_RC"
+fix_srcfile_path=$lt_fix_srcfile_path
# Set to yes if exported symbols are required.
always_export_symbols=$always_export_symbols_RC
@@ -19641,17 +19420,17 @@ LIBTOOL='$(SHELL) $(top_builddir)/libtool'
-echo "$as_me:$LINENO: checking whether to enable maintainer-specific portions of Makefiles" >&5
-echo $ECHO_N "checking whether to enable maintainer-specific portions of Makefiles... $ECHO_C" >&6
- # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
+{ echo "$as_me:$LINENO: checking whether to enable maintainer-specific portions of Makefiles" >&5
+echo $ECHO_N "checking whether to enable maintainer-specific portions of Makefiles... $ECHO_C" >&6; }
+ # Check whether --enable-maintainer-mode was given.
if test "${enable_maintainer_mode+set}" = set; then
- enableval="$enable_maintainer_mode"
- USE_MAINTAINER_MODE=$enableval
+ enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval
else
USE_MAINTAINER_MODE=no
-fi;
- echo "$as_me:$LINENO: result: $USE_MAINTAINER_MODE" >&5
-echo "${ECHO_T}$USE_MAINTAINER_MODE" >&6
+fi
+
+ { echo "$as_me:$LINENO: result: $USE_MAINTAINER_MODE" >&5
+echo "${ECHO_T}$USE_MAINTAINER_MODE" >&6; }
if test $USE_MAINTAINER_MODE = yes; then
@@ -19674,8 +19453,8 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
set dummy ${ac_tool_prefix}gcc; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
if test "${ac_cv_prog_CC+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -19688,32 +19467,34 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_CC="${ac_tool_prefix}gcc"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
- echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6
+ { echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
+
fi
if test -z "$ac_cv_prog_CC"; then
ac_ct_CC=$CC
# Extract the first word of "gcc", so it can be a program name with args.
set dummy gcc; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -19726,36 +19507,51 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_CC="gcc"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
fi
fi
ac_ct_CC=$ac_cv_prog_ac_ct_CC
if test -n "$ac_ct_CC"; then
- echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-echo "${ECHO_T}$ac_ct_CC" >&6
+ { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+echo "${ECHO_T}$ac_ct_CC" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
- CC=$ac_ct_CC
+ if test "x$ac_ct_CC" = x; then
+ CC=""
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf at gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf at gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+ CC=$ac_ct_CC
+ fi
else
CC="$ac_cv_prog_CC"
fi
if test -z "$CC"; then
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
set dummy ${ac_tool_prefix}cc; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
if test "${ac_cv_prog_CC+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -19768,74 +19564,34 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_CC="${ac_tool_prefix}cc"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
- echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
-fi
-if test -z "$ac_cv_prog_CC"; then
- ac_ct_CC=$CC
- # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_CC"; then
- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_CC="cc"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
- echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-echo "${ECHO_T}$ac_ct_CC" >&6
+ { echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
- CC=$ac_ct_CC
-else
- CC="$ac_cv_prog_CC"
-fi
+ fi
fi
if test -z "$CC"; then
# Extract the first word of "cc", so it can be a program name with args.
set dummy cc; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
if test "${ac_cv_prog_CC+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -19849,7 +19605,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
ac_prog_rejected=yes
continue
@@ -19860,6 +19616,7 @@ do
fi
done
done
+IFS=$as_save_IFS
if test $ac_prog_rejected = yes; then
# We found a bogon in the path, so make sure we never use it.
@@ -19877,22 +19634,23 @@ fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
- echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6
+ { echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
+
fi
if test -z "$CC"; then
if test -n "$ac_tool_prefix"; then
- for ac_prog in cl
+ for ac_prog in cl.exe
do
# Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
if test "${ac_cv_prog_CC+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -19905,36 +19663,38 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
- echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6
+ { echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
+
test -n "$CC" && break
done
fi
if test -z "$CC"; then
ac_ct_CC=$CC
- for ac_prog in cl
+ for ac_prog in cl.exe
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -19947,29 +19707,45 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_CC="$ac_prog"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
fi
fi
ac_ct_CC=$ac_cv_prog_ac_ct_CC
if test -n "$ac_ct_CC"; then
- echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-echo "${ECHO_T}$ac_ct_CC" >&6
+ { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+echo "${ECHO_T}$ac_ct_CC" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
+
test -n "$ac_ct_CC" && break
done
- CC=$ac_ct_CC
+ if test "x$ac_ct_CC" = x; then
+ CC=""
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf at gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf at gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+ CC=$ac_ct_CC
+ fi
fi
fi
@@ -19982,27 +19758,41 @@ See \`config.log' for more details." >&2;}
{ (exit 1); exit 1; }; }
# Provide some information about the compiler.
-echo "$as_me:$LINENO:" \
- "checking for C compiler version" >&5
+echo "$as_me:$LINENO: checking for C compiler version" >&5
ac_compiler=`set X $ac_compile; echo $2`
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
- (eval $ac_compiler --version </dev/null >&5) 2>&5
+{ (ac_try="$ac_compiler --version >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compiler --version >&5") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v </dev/null >&5\"") >&5
- (eval $ac_compiler -v </dev/null >&5) 2>&5
+{ (ac_try="$ac_compiler -v >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compiler -v >&5") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V </dev/null >&5\"") >&5
- (eval $ac_compiler -V </dev/null >&5) 2>&5
+{ (ac_try="$ac_compiler -V >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compiler -V >&5") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
-echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
-echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
+echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; }
if test "${ac_cv_c_compiler_gnu+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -20025,49 +19815,49 @@ main ()
}
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
ac_compiler_gnu=yes
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-ac_compiler_gnu=no
+ ac_compiler_gnu=no
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
ac_cv_c_compiler_gnu=$ac_compiler_gnu
fi
-echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
-echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
+echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; }
GCC=`test $ac_compiler_gnu = yes && echo yes`
ac_test_CFLAGS=${CFLAGS+set}
ac_save_CFLAGS=$CFLAGS
-CFLAGS="-g"
-echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
-echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
+echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; }
if test "${ac_cv_prog_cc_g+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
- cat >conftest.$ac_ext <<_ACEOF
+ ac_save_c_werror_flag=$ac_c_werror_flag
+ ac_c_werror_flag=yes
+ ac_cv_prog_cc_g=no
+ CFLAGS="-g"
+ cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
@@ -20083,37 +19873,118 @@ main ()
}
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_prog_cc_g=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ CFLAGS=""
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ :
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_c_werror_flag=$ac_save_c_werror_flag
+ CFLAGS="-g"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
ac_cv_prog_cc_g=yes
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-ac_cv_prog_cc_g=no
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ ac_c_werror_flag=$ac_save_c_werror_flag
fi
-echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
-echo "${ECHO_T}$ac_cv_prog_cc_g" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
+echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; }
if test "$ac_test_CFLAGS" = set; then
CFLAGS=$ac_save_CFLAGS
elif test $ac_cv_prog_cc_g = yes; then
@@ -20129,12 +20000,12 @@ else
CFLAGS=
fi
fi
-echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5
-echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6
-if test "${ac_cv_prog_cc_stdc+set}" = set; then
+{ echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5
+echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; }
+if test "${ac_cv_prog_cc_c89+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
- ac_cv_prog_cc_stdc=no
+ ac_cv_prog_cc_c89=no
ac_save_CC=$CC
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
@@ -20168,12 +20039,17 @@ static char *f (char * (*g) (char **, int), char **p, ...)
/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
function prototypes and stuff, but not '\xHH' hex character constants.
These don't provoke an error unfortunately, instead are silently treated
- as 'x'. The following induces an error, until -std1 is added to get
+ as 'x'. The following induces an error, until -std is added to get
proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an
array size at least. It's necessary to write '\x00'==0 to get something
- that's true only with -std1. */
+ that's true only with -std. */
int osf4_cc_array ['\x00' == 0 ? 1 : -1];
+/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
+ inside strings and character constants. */
+#define FOO(x) 'x'
+int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
+
int test (int i, double x);
struct s1 {int (*f) (int a);};
struct s2 {int (*f) (double a);};
@@ -20188,201 +20064,57 @@ return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
return 0;
}
_ACEOF
-# Don't try gcc -ansi; that turns off useful extensions and
-# breaks some systems' header files.
-# AIX -qlanglvl=ansi
-# Ultrix and OSF/1 -std1
-# HP-UX 10.20 and later -Ae
-# HP-UX older versions -Aa -D_HPUX_SOURCE
-# SVR4 -Xc -D__EXTENSIONS__
-for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
+for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
+ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
do
CC="$ac_save_CC $ac_arg"
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_prog_cc_stdc=$ac_arg
-break
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_prog_cc_c89=$ac_arg
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
+
fi
-rm -f conftest.err conftest.$ac_objext
+
+rm -f core conftest.err conftest.$ac_objext
+ test "x$ac_cv_prog_cc_c89" != "xno" && break
done
-rm -f conftest.$ac_ext conftest.$ac_objext
+rm -f conftest.$ac_ext
CC=$ac_save_CC
fi
-
-case "x$ac_cv_prog_cc_stdc" in
- x|xno)
- echo "$as_me:$LINENO: result: none needed" >&5
-echo "${ECHO_T}none needed" >&6 ;;
+# AC_CACHE_VAL
+case "x$ac_cv_prog_cc_c89" in
+ x)
+ { echo "$as_me:$LINENO: result: none needed" >&5
+echo "${ECHO_T}none needed" >&6; } ;;
+ xno)
+ { echo "$as_me:$LINENO: result: unsupported" >&5
+echo "${ECHO_T}unsupported" >&6; } ;;
*)
- echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5
-echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6
- CC="$CC $ac_cv_prog_cc_stdc" ;;
+ CC="$CC $ac_cv_prog_cc_c89"
+ { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5
+echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;;
esac
-# Some people use a C++ compiler to compile C. Since we use `exit',
-# in C++ we need to declare it. In case someone uses the same compiler
-# for both compiling C and C++ we need to have the C++ compiler decide
-# the declaration of exit, since it's the most demanding environment.
-cat >conftest.$ac_ext <<_ACEOF
-#ifndef __cplusplus
- choke me
-#endif
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- for ac_declaration in \
- '' \
- 'extern "C" void std::exit (int) throw (); using std::exit;' \
- 'extern "C" void std::exit (int); using std::exit;' \
- 'extern "C" void exit (int) throw ();' \
- 'extern "C" void exit (int);' \
- 'void exit (int);'
-do
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_declaration
-#include <stdlib.h>
-int
-main ()
-{
-exit (42);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- :
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-continue
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_declaration
-int
-main ()
-{
-exit (42);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-rm -f conftest*
-if test -n "$ac_declaration"; then
- echo '#ifdef __cplusplus' >>confdefs.h
- echo $ac_declaration >>confdefs.h
- echo '#endif' >>confdefs.h
-fi
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
@@ -20391,8 +20123,8 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
depcc="$CC" am_compiler_list=
-echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
-echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
+echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; }
if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -20481,8 +20213,8 @@ else
fi
fi
-echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5
-echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6
+{ echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5
+echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6; }
CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
@@ -20507,8 +20239,8 @@ for ac_prog in gawk mawk nawk awk
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
if test "${ac_cv_prog_AWK+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -20521,35 +20253,36 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_AWK="$ac_prog"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
fi
fi
AWK=$ac_cv_prog_AWK
if test -n "$AWK"; then
- echo "$as_me:$LINENO: result: $AWK" >&5
-echo "${ECHO_T}$AWK" >&6
+ { echo "$as_me:$LINENO: result: $AWK" >&5
+echo "${ECHO_T}$AWK" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
+
test -n "$AWK" && break
done
-echo "$as_me:$LINENO: checking for library containing strerror" >&5
-echo $ECHO_N "checking for library containing strerror... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for library containing strerror" >&5
+echo $ECHO_N "checking for library containing strerror... $ECHO_C" >&6; }
if test "${ac_cv_search_strerror+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
ac_func_search_save_LIBS=$LIBS
-ac_cv_search_strerror=no
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
@@ -20557,118 +20290,78 @@ cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
-/* Override any gcc2 internal prototype to avoid an error. */
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
#ifdef __cplusplus
extern "C"
#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
char strerror ();
int
main ()
{
-strerror ();
+return strerror ();
;
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
+for ac_lib in '' cposix; do
+ if test -z "$ac_lib"; then
+ ac_res="none required"
+ else
+ ac_res=-l$ac_lib
+ LIBS="-l$ac_lib $ac_func_search_save_LIBS"
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_search_strerror="none required"
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+ ac_cv_search_strerror=$ac_res
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-if test "$ac_cv_search_strerror" = no; then
- for ac_lib in cposix; do
- LIBS="-l$ac_lib $ac_func_search_save_LIBS"
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char strerror ();
-int
-main ()
-{
-strerror ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_search_strerror="-l$ac_lib"
-break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+fi
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext
+ if test "${ac_cv_search_strerror+set}" = set; then
+ break
fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- done
+done
+if test "${ac_cv_search_strerror+set}" = set; then
+ :
+else
+ ac_cv_search_strerror=no
fi
+rm conftest.$ac_ext
LIBS=$ac_func_search_save_LIBS
fi
-echo "$as_me:$LINENO: result: $ac_cv_search_strerror" >&5
-echo "${ECHO_T}$ac_cv_search_strerror" >&6
-if test "$ac_cv_search_strerror" != no; then
- test "$ac_cv_search_strerror" = "none required" || LIBS="$ac_cv_search_strerror $LIBS"
+{ echo "$as_me:$LINENO: result: $ac_cv_search_strerror" >&5
+echo "${ECHO_T}$ac_cv_search_strerror" >&6; }
+ac_res=$ac_cv_search_strerror
+if test "$ac_res" != no; then
+ test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
fi
-echo "$as_me:$LINENO: checking for ANSI C header files" >&5
-echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5
+echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; }
if test "${ac_cv_header_stdc+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -20692,34 +20385,31 @@ main ()
}
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
ac_cv_header_stdc=yes
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-ac_cv_header_stdc=no
+ ac_cv_header_stdc=no
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
if test $ac_cv_header_stdc = yes; then
# SunOS 4.x string.h does not declare mem*, contrary to ANSI.
@@ -20775,6 +20465,7 @@ cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include <ctype.h>
+#include <stdlib.h>
#if ((' ' & 0x0FF) == 0x020)
# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
@@ -20794,18 +20485,27 @@ main ()
for (i = 0; i < 256; i++)
if (XOR (islower (i), ISLOWER (i))
|| toupper (i) != TOUPPER (i))
- exit(2);
- exit (0);
+ return 2;
+ return 0;
}
_ACEOF
rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
@@ -20818,12 +20518,14 @@ sed 's/^/| /' conftest.$ac_ext >&5
( exit $ac_status )
ac_cv_header_stdc=no
fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
fi
+
+
fi
fi
-echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
-echo "${ECHO_T}$ac_cv_header_stdc" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
+echo "${ECHO_T}$ac_cv_header_stdc" >&6; }
if test $ac_cv_header_stdc = yes; then
cat >>confdefs.h <<\_ACEOF
@@ -20833,13 +20535,13 @@ _ACEOF
fi
-echo "$as_me:$LINENO: checking for pgm_init in -lnetpbm" >&5
-echo $ECHO_N "checking for pgm_init in -lnetpbm... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for pgm_init in -lnetpbm" >&5
+echo $ECHO_N "checking for pgm_init in -lnetpbm... $ECHO_C" >&6; }
if test "${ac_cv_lib_netpbm_pgm_init+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
ac_check_lib_save_LIBS=$LIBS
-LIBS="-lnetpbm $LIBS"
+LIBS="-lnetpbm -lm $LIBS"
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
@@ -20847,55 +20549,53 @@ cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
-/* Override any gcc2 internal prototype to avoid an error. */
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
#ifdef __cplusplus
extern "C"
#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
char pgm_init ();
int
main ()
{
-pgm_init ();
+return pgm_init ();
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
ac_cv_lib_netpbm_pgm_init=yes
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-ac_cv_lib_netpbm_pgm_init=no
+ ac_cv_lib_netpbm_pgm_init=no
fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_netpbm_pgm_init" >&5
-echo "${ECHO_T}$ac_cv_lib_netpbm_pgm_init" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_netpbm_pgm_init" >&5
+echo "${ECHO_T}$ac_cv_lib_netpbm_pgm_init" >&6; }
if test $ac_cv_lib_netpbm_pgm_init = yes; then
netpbm="true"
else
@@ -20914,13 +20614,13 @@ else
fi
-# Check whether --enable-glibtest or --disable-glibtest was given.
+# Check whether --enable-glibtest was given.
if test "${enable_glibtest+set}" = set; then
- enableval="$enable_glibtest"
-
+ enableval=$enable_glibtest;
else
enable_glibtest=yes
-fi;
+fi
+
pkg_config_args=glib-2.0
for module in . gthread gmodule
@@ -20941,10 +20641,14 @@ fi;
esac
done
- # Extract the first word of "pkg-config", so it can be a program name with args.
-set dummy pkg-config; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+
+
+if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
+set dummy ${ac_tool_prefix}pkg-config; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
if test "${ac_cv_path_PKG_CONFIG+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -20959,46 +20663,115 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
- test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no"
;;
esac
fi
PKG_CONFIG=$ac_cv_path_PKG_CONFIG
-
if test -n "$PKG_CONFIG"; then
- echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5
-echo "${ECHO_T}$PKG_CONFIG" >&6
+ { echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5
+echo "${ECHO_T}$PKG_CONFIG" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
- no_glib=""
+fi
+if test -z "$ac_cv_path_PKG_CONFIG"; then
+ ac_pt_PKG_CONFIG=$PKG_CONFIG
+ # Extract the first word of "pkg-config", so it can be a program name with args.
+set dummy pkg-config; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_path_ac_pt_PKG_CONFIG+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ case $ac_pt_PKG_CONFIG in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
- if test x$PKG_CONFIG != xno ; then
- if $PKG_CONFIG --atleast-pkgconfig-version 0.7 ; then
- :
- else
- echo *** pkg-config too old; version 0.7 or better required.
- no_glib=yes
- PKG_CONFIG=no
- fi
+ ;;
+esac
+fi
+ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG
+if test -n "$ac_pt_PKG_CONFIG"; then
+ { echo "$as_me:$LINENO: result: $ac_pt_PKG_CONFIG" >&5
+echo "${ECHO_T}$ac_pt_PKG_CONFIG" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+ if test "x$ac_pt_PKG_CONFIG" = x; then
+ PKG_CONFIG=""
else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf at gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf at gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+ PKG_CONFIG=$ac_pt_PKG_CONFIG
+ fi
+else
+ PKG_CONFIG="$ac_cv_path_PKG_CONFIG"
+fi
+
+fi
+if test -n "$PKG_CONFIG"; then
+ _pkg_min_version=0.7
+ { echo "$as_me:$LINENO: checking pkg-config is at least version $_pkg_min_version" >&5
+echo $ECHO_N "checking pkg-config is at least version $_pkg_min_version... $ECHO_C" >&6; }
+ if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
+ { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+ else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+ PKG_CONFIG=""
+ fi
+
+fi
+
+ no_glib=""
+
+ if test "x$PKG_CONFIG" = x ; then
no_glib=yes
+ PKG_CONFIG=no
fi
min_glib_version=2.4.0
- echo "$as_me:$LINENO: checking for GLIB - version >= $min_glib_version" >&5
-echo $ECHO_N "checking for GLIB - version >= $min_glib_version... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking for GLIB - version >= $min_glib_version" >&5
+echo $ECHO_N "checking for GLIB - version >= $min_glib_version... $ECHO_C" >&6; }
if test x$PKG_CONFIG != xno ; then
## don't try to run the test against uninstalled libtool libs
@@ -21116,13 +20889,22 @@ main ()
_ACEOF
rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
@@ -21135,19 +20917,21 @@ sed 's/^/| /' conftest.$ac_ext >&5
( exit $ac_status )
no_glib=yes
fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
fi
+
+
CFLAGS="$ac_save_CFLAGS"
LIBS="$ac_save_LIBS"
fi
fi
if test "x$no_glib" = x ; then
- echo "$as_me:$LINENO: result: yes (version $glib_config_major_version.$glib_config_minor_version.$glib_config_micro_version)" >&5
-echo "${ECHO_T}yes (version $glib_config_major_version.$glib_config_minor_version.$glib_config_micro_version)" >&6
+ { echo "$as_me:$LINENO: result: yes (version $glib_config_major_version.$glib_config_minor_version.$glib_config_micro_version)" >&5
+echo "${ECHO_T}yes (version $glib_config_major_version.$glib_config_minor_version.$glib_config_micro_version)" >&6; }
has_glib2=yes
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
if test "$PKG_CONFIG" = "no" ; then
echo "*** A new enough version of pkg-config was not found."
echo "*** See http://www.freedesktop.org/software/pkgconfig/"
@@ -21179,26 +20963,23 @@ main ()
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
+ cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
echo "*** The test program compiled, but did not run. This usually means"
echo "*** that the run-time linker is not finding GLIB or finding the wrong"
echo "*** version of GLIB. If it is not finding GLIB, you'll need to set your"
@@ -21212,10 +20993,11 @@ else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
- echo "*** The test program failed to compile or link. See the file config.log for the"
+ echo "*** The test program failed to compile or link. See the file config.log for the"
echo "*** exact error that occured. This usually means GLIB is incorrectly installed."
fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
CFLAGS="$ac_save_CFLAGS"
LIBS="$ac_save_LIBS"
@@ -21258,28 +21040,28 @@ echo "$as_me: error:
GLIB_REQUIRED_VERSION=1.2.8
-# Check whether --with-glib-prefix or --without-glib-prefix was given.
+# Check whether --with-glib-prefix was given.
if test "${with_glib_prefix+set}" = set; then
- withval="$with_glib_prefix"
- glib_config_prefix="$withval"
+ withval=$with_glib_prefix; glib_config_prefix="$withval"
else
glib_config_prefix=""
-fi;
+fi
-# Check whether --with-glib-exec-prefix or --without-glib-exec-prefix was given.
+
+# Check whether --with-glib-exec-prefix was given.
if test "${with_glib_exec_prefix+set}" = set; then
- withval="$with_glib_exec_prefix"
- glib_config_exec_prefix="$withval"
+ withval=$with_glib_exec_prefix; glib_config_exec_prefix="$withval"
else
glib_config_exec_prefix=""
-fi;
-# Check whether --enable-glibtest or --disable-glibtest was given.
-if test "${enable_glibtest+set}" = set; then
- enableval="$enable_glibtest"
+fi
+# Check whether --enable-glibtest was given.
+if test "${enable_glibtest+set}" = set; then
+ enableval=$enable_glibtest;
else
enable_glibtest=yes
-fi;
+fi
+
if test x$glib_config_exec_prefix != x ; then
glib_config_args="$glib_config_args --exec-prefix=$glib_config_exec_prefix"
@@ -21308,8 +21090,8 @@ fi;
# Extract the first word of "glib-config", so it can be a program name with args.
set dummy glib-config; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
if test "${ac_cv_path_GLIB_CONFIG+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -21324,31 +21106,32 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_GLIB_CONFIG="$as_dir/$ac_word$ac_exec_ext"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
test -z "$ac_cv_path_GLIB_CONFIG" && ac_cv_path_GLIB_CONFIG="no"
;;
esac
fi
GLIB_CONFIG=$ac_cv_path_GLIB_CONFIG
-
if test -n "$GLIB_CONFIG"; then
- echo "$as_me:$LINENO: result: $GLIB_CONFIG" >&5
-echo "${ECHO_T}$GLIB_CONFIG" >&6
+ { echo "$as_me:$LINENO: result: $GLIB_CONFIG" >&5
+echo "${ECHO_T}$GLIB_CONFIG" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
+
min_glib_version=$GLIB_REQUIRED_VERSION
- echo "$as_me:$LINENO: checking for GLIB - version >= $min_glib_version" >&5
-echo $ECHO_N "checking for GLIB - version >= $min_glib_version... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking for GLIB - version >= $min_glib_version" >&5
+echo $ECHO_N "checking for GLIB - version >= $min_glib_version... $ECHO_C" >&6; }
no_glib=""
if test "$GLIB_CONFIG" = "no" ; then
no_glib=yes
@@ -21451,13 +21234,22 @@ main ()
_ACEOF
rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
@@ -21470,19 +21262,21 @@ sed 's/^/| /' conftest.$ac_ext >&5
( exit $ac_status )
no_glib=yes
fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
fi
+
+
CFLAGS="$ac_save_CFLAGS"
LIBS="$ac_save_LIBS"
fi
fi
if test "x$no_glib" = x ; then
- echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+ { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
:
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
if test "$GLIB_CONFIG" = "no" ; then
echo "*** The glib-config script installed by GLIB could not be found"
echo "*** If GLIB was installed in PREFIX, make sure PREFIX/bin is in"
@@ -21514,26 +21308,23 @@ main ()
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
echo "*** The test program compiled, but did not run. This usually means"
echo "*** that the run-time linker is not finding GLIB or finding the wrong"
echo "*** version of GLIB. If it is not finding GLIB, you'll need to set your"
@@ -21552,12 +21343,13 @@ else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
- echo "*** The test program failed to compile or link. See the file config.log for the"
+ echo "*** The test program failed to compile or link. See the file config.log for the"
echo "*** exact error that occured. This usually means GLIB was incorrectly installed"
echo "*** or that you have moved GLIB since it was installed. In the latter case, you"
echo "*** may want to edit the glib-config script: $GLIB_CONFIG"
fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
CFLAGS="$ac_save_CFLAGS"
LIBS="$ac_save_LIBS"
@@ -21642,7 +21434,7 @@ LDFLAGS="$LDFLAGS $glib_libs"
- ac_config_commands="$ac_config_commands default-1"
+ac_config_commands="$ac_config_commands default-1"
cat >conftest.$ac_ext <<_ACEOF
@@ -21663,26 +21455,22 @@ main ()
}
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
cat >>confdefs.h <<\_ACEOF
#define CPP_HAS_WARNING 1
@@ -21692,28 +21480,30 @@ else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-{ echo "$as_me:$LINENO: WARNING: \"C preprocessor does not support warning directive.\"" >&5
+ { echo "$as_me:$LINENO: WARNING: \"C preprocessor does not support warning directive.\"" >&5
echo "$as_me: WARNING: \"C preprocessor does not support warning directive.\"" >&2;}
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
for ac_header in fpu_control.h
do
as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ { echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
echo $ECHO_N "(cached) $ECHO_C" >&6
fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
else
# Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
@@ -21724,40 +21514,37 @@ $ac_includes_default
#include <$ac_header>
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
ac_header_compiler=yes
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-ac_header_compiler=no
+ ac_header_compiler=no
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
# Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
@@ -21766,24 +21553,22 @@ cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include <$ac_header>
_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
ac_header_preproc=yes
else
echo "$as_me: failed program was:" >&5
@@ -21791,9 +21576,10 @@ sed 's/^/| /' conftest.$ac_ext >&5
ac_header_preproc=no
fi
+
rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
# So? What about this header?
case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
@@ -21817,25 +21603,19 @@ echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\
echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
{ echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
- (
- cat <<\_ASBOX
-## ------------------------------------------ ##
-## Report this to the AC_PACKAGE_NAME lists. ##
-## ------------------------------------------ ##
-_ASBOX
- ) |
- sed "s/^/$as_me: WARNING: /" >&2
+
;;
esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
eval "$as_ac_Header=\$ac_header_preproc"
fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
fi
if test `eval echo '${'$as_ac_Header'}'` = yes; then
@@ -21854,18 +21634,19 @@ done
for ac_header in floatingpoint.h
do
as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ { echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
echo $ECHO_N "(cached) $ECHO_C" >&6
fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
else
# Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
@@ -21876,40 +21657,37 @@ $ac_includes_default
#include <$ac_header>
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
ac_header_compiler=yes
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-ac_header_compiler=no
+ ac_header_compiler=no
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
# Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
@@ -21918,24 +21696,22 @@ cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include <$ac_header>
_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
ac_header_preproc=yes
else
echo "$as_me: failed program was:" >&5
@@ -21943,9 +21719,10 @@ sed 's/^/| /' conftest.$ac_ext >&5
ac_header_preproc=no
fi
+
rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
# So? What about this header?
case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
@@ -21969,25 +21746,19 @@ echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\
echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
{ echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
- (
- cat <<\_ASBOX
-## ------------------------------------------ ##
-## Report this to the AC_PACKAGE_NAME lists. ##
-## ------------------------------------------ ##
-_ASBOX
- ) |
- sed "s/^/$as_me: WARNING: /" >&2
+
;;
esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
eval "$as_ac_Header=\$ac_header_preproc"
fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
fi
if test `eval echo '${'$as_ac_Header'}'` = yes; then
@@ -22006,18 +21777,19 @@ done
for ac_header in unistd.h
do
as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ { echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
echo $ECHO_N "(cached) $ECHO_C" >&6
fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
else
# Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
@@ -22028,40 +21800,37 @@ $ac_includes_default
#include <$ac_header>
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
ac_header_compiler=yes
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-ac_header_compiler=no
+ ac_header_compiler=no
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
# Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
@@ -22070,24 +21839,22 @@ cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include <$ac_header>
_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
ac_header_preproc=yes
else
echo "$as_me: failed program was:" >&5
@@ -22095,9 +21862,10 @@ sed 's/^/| /' conftest.$ac_ext >&5
ac_header_preproc=no
fi
+
rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
# So? What about this header?
case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
@@ -22121,25 +21889,19 @@ echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\
echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
{ echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
- (
- cat <<\_ASBOX
-## ------------------------------------------ ##
-## Report this to the AC_PACKAGE_NAME lists. ##
-## ------------------------------------------ ##
-_ASBOX
- ) |
- sed "s/^/$as_me: WARNING: /" >&2
+
;;
esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
eval "$as_ac_Header=\$ac_header_preproc"
fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
fi
if test `eval echo '${'$as_ac_Header'}'` = yes; then
@@ -22158,18 +21920,19 @@ done
for ac_header in getopt.h
do
as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ { echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
echo $ECHO_N "(cached) $ECHO_C" >&6
fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
else
# Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
@@ -22180,40 +21943,37 @@ $ac_includes_default
#include <$ac_header>
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
ac_header_compiler=yes
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-ac_header_compiler=no
+ ac_header_compiler=no
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
# Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
@@ -22222,24 +21982,22 @@ cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include <$ac_header>
_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
ac_header_preproc=yes
else
echo "$as_me: failed program was:" >&5
@@ -22247,9 +22005,10 @@ sed 's/^/| /' conftest.$ac_ext >&5
ac_header_preproc=no
fi
+
rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
# So? What about this header?
case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
@@ -22273,25 +22032,19 @@ echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\
echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
{ echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
- (
- cat <<\_ASBOX
-## ------------------------------------------ ##
-## Report this to the AC_PACKAGE_NAME lists. ##
-## ------------------------------------------ ##
-_ASBOX
- ) |
- sed "s/^/$as_me: WARNING: /" >&2
+
;;
esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
eval "$as_ac_Header=\$ac_header_preproc"
fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
fi
if test `eval echo '${'$as_ac_Header'}'` = yes; then
@@ -22311,9 +22064,9 @@ done
for ac_func in getopt_long
do
as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
+{ echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >conftest.$ac_ext <<_ACEOF
@@ -22339,67 +22092,60 @@ cat >>conftest.$ac_ext <<_ACEOF
#undef $ac_func
-/* Override any gcc2 internal prototype to avoid an error. */
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
#ifdef __cplusplus
extern "C"
-{
#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
char $ac_func ();
/* The GNU C library defines this for functions which it implements
to always fail with ENOSYS. Some functions are actually named
something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+#if defined __stub_$ac_func || defined __stub___$ac_func
choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
#endif
int
main ()
{
-return f != $ac_func;
+return $ac_func ();
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
eval "$as_ac_var=yes"
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-eval "$as_ac_var=no"
+ eval "$as_ac_var=no"
fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
+ac_res=`eval echo '${'$as_ac_var'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
if test `eval echo '${'$as_ac_var'}'` = yes; then
cat >>confdefs.h <<_ACEOF
#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
@@ -22409,7 +22155,7 @@ fi
done
- ac_config_files="$ac_config_files Makefile gts.pc gts.spec src/Makefile src/gts-config tools/Makefile doc/Makefile examples/Makefile test/Makefile test/boolean/Makefile test/delaunay/Makefile test/coarsen/Makefile"
+ac_config_files="$ac_config_files Makefile gts.pc gts.spec src/Makefile src/gts-config tools/Makefile doc/Makefile examples/Makefile test/Makefile test/boolean/Makefile test/delaunay/Makefile test/coarsen/Makefile"
cat >confcache <<\_ACEOF
# This file is a shell script that caches the results of configure
@@ -22429,39 +22175,58 @@ _ACEOF
# The following way of writing the cache mishandles newlines in values,
# but we know of no workaround that is simple, portable, and efficient.
-# So, don't put newlines in cache variables' values.
+# So, we kill variables containing newlines.
# Ultrix sh set writes to stderr and can't be redirected directly,
# and sets the high bit in the cache file unless we assign to the vars.
-{
+(
+ for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
+ eval ac_val=\$$ac_var
+ case $ac_val in #(
+ *${as_nl}*)
+ case $ac_var in #(
+ *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
+echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
+ esac
+ case $ac_var in #(
+ _ | IFS | as_nl) ;; #(
+ *) $as_unset $ac_var ;;
+ esac ;;
+ esac
+ done
+
(set) 2>&1 |
- case `(ac_space=' '; set | grep ac_space) 2>&1` in
- *ac_space=\ *)
+ case $as_nl`(ac_space=' '; set) 2>&1` in #(
+ *${as_nl}ac_space=\ *)
# `set' does not quote correctly, so add quotes (double-quote
# substitution turns \\\\ into \\, and sed turns \\ into \).
sed -n \
"s/'/'\\\\''/g;
s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
- ;;
+ ;; #(
*)
# `set' quotes correctly as required by POSIX, so do not add quotes.
- sed -n \
- "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
+ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
;;
- esac;
-} |
+ esac |
+ sort
+) |
sed '
+ /^ac_cv_env_/b end
t clear
- : clear
+ :clear
s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
t end
- /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
- : end' >>confcache
-if diff $cache_file confcache >/dev/null 2>&1; then :; else
- if test -w $cache_file; then
- test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file"
+ s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
+ :end' >>confcache
+if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
+ if test -w "$cache_file"; then
+ test "x$cache_file" != "x/dev/null" &&
+ { echo "$as_me:$LINENO: updating cache $cache_file" >&5
+echo "$as_me: updating cache $cache_file" >&6;}
cat confcache >$cache_file
else
- echo "not updating unwritable cache $cache_file"
+ { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5
+echo "$as_me: not updating unwritable cache $cache_file" >&6;}
fi
fi
rm -f confcache
@@ -22470,32 +22235,18 @@ test "x$prefix" = xNONE && prefix=$ac_default_prefix
# Let make expand exec_prefix.
test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-# VPATH may cause trouble with some makes, so we remove $(srcdir),
-# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
-# trailing colons and then remove the whole line if VPATH becomes empty
-# (actually we leave an empty line to preserve line numbers).
-if test "x$srcdir" = x.; then
- ac_vpsub='/^[ ]*VPATH[ ]*=/{
-s/:*\$(srcdir):*/:/;
-s/:*\${srcdir}:*/:/;
-s/:*@srcdir@:*/:/;
-s/^\([^=]*=[ ]*\):*/\1/;
-s/:*$//;
-s/^[^=]*=[ ]*$//;
-}'
-fi
-
DEFS=-DHAVE_CONFIG_H
ac_libobjs=
ac_ltlibobjs=
for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
# 1. Remove the extension, and $U if already installed.
- ac_i=`echo "$ac_i" |
- sed 's/\$U\././;s/\.o$//;s/\.obj$//'`
- # 2. Add them.
- ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext"
- ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo'
+ ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
+ ac_i=`echo "$ac_i" | sed "$ac_script"`
+ # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR
+ # will be set to the directory where LIBOBJS objects are built.
+ ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext"
+ ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo'
done
LIBOBJS=$ac_libobjs
@@ -22568,17 +22319,45 @@ cat >>$CONFIG_STATUS <<\_ACEOF
## M4sh Initialization. ##
## --------------------- ##
-# Be Bourne compatible
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
emulate sh
NULLCMD=:
# Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
# is contrary to our usage. Disable this feature.
alias -g '${1+"$@"}'='"$@"'
-elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
- set -o posix
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in
+ *posix*) set -o posix ;;
+esac
+
+fi
+
+
+
+
+# PATH needs CR
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ echo "#! /bin/sh" >conf$$.sh
+ echo "exit 0" >>conf$$.sh
+ chmod +x conf$$.sh
+ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+ PATH_SEPARATOR=';'
+ else
+ PATH_SEPARATOR=:
+ fi
+ rm -f conf$$.sh
fi
-DUALCASE=1; export DUALCASE # for MKS sh
# Support unset when possible.
if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
@@ -22588,8 +22367,43 @@ else
fi
+# IFS
+# We need space, tab and new line, in precisely that order. Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+as_nl='
+'
+IFS=" "" $as_nl"
+
+# Find who we are. Look in the path if we contain no directory separator.
+case $0 in
+ *[\\/]* ) as_myself=$0 ;;
+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
+IFS=$as_save_IFS
+
+ ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+ as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+ echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+ { (exit 1); exit 1; }
+fi
+
# Work around bugs in pre-3.0 UWIN ksh.
-$as_unset ENV MAIL MAILPATH
+for as_var in ENV MAIL MAILPATH
+do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+done
PS1='$ '
PS2='> '
PS4='+ '
@@ -22603,18 +22417,19 @@ do
if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
eval $as_var=C; export $as_var
else
- $as_unset $as_var
+ ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
fi
done
# Required to use basename.
-if expr a : '\(a\)' >/dev/null 2>&1; then
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
as_expr=expr
else
as_expr=false
fi
-if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
as_basename=basename
else
as_basename=false
@@ -22622,159 +22437,120 @@ fi
# Name of the executable.
-as_me=`$as_basename "$0" ||
+as_me=`$as_basename -- "$0" ||
$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)$' \| \
- . : '\(.\)' 2>/dev/null ||
+ X"$0" : 'X\(/\)' \| . 2>/dev/null ||
echo X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
- /^X\/\(\/\/\)$/{ s//\1/; q; }
- /^X\/\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
-
+ sed '/^.*\/\([^/][^/]*\)\/*$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
-# PATH needs CR, and LINENO needs CR and PATH.
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- echo "#! /bin/sh" >conf$$.sh
- echo "exit 0" >>conf$$.sh
- chmod +x conf$$.sh
- if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
- PATH_SEPARATOR=';'
- else
- PATH_SEPARATOR=:
- fi
- rm -f conf$$.sh
-fi
+# CDPATH.
+$as_unset CDPATH
- as_lineno_1=$LINENO
- as_lineno_2=$LINENO
- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
- test "x$as_lineno_1" != "x$as_lineno_2" &&
- test "x$as_lineno_3" = "x$as_lineno_2" || {
- # Find who we are. Look in the path if we contain no path at all
- # relative or not.
- case $0 in
- *[\\/]* ) as_myself=$0 ;;
- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-done
- ;;
- esac
- # We did not find ourselves, most probably we were run as `sh COMMAND'
- # in which case we are not to be found in the path.
- if test "x$as_myself" = x; then
- as_myself=$0
- fi
- if test ! -f "$as_myself"; then
- { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5
-echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;}
- { (exit 1); exit 1; }; }
- fi
- case $CONFIG_SHELL in
- '')
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for as_base in sh bash ksh sh5; do
- case $as_dir in
- /*)
- if ("$as_dir/$as_base" -c '
as_lineno_1=$LINENO
as_lineno_2=$LINENO
- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
test "x$as_lineno_1" != "x$as_lineno_2" &&
- test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then
- $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
- $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
- CONFIG_SHELL=$as_dir/$as_base
- export CONFIG_SHELL
- exec "$CONFIG_SHELL" "$0" ${1+"$@"}
- fi;;
- esac
- done
-done
-;;
- esac
+ test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
# Create $as_me.lineno as a copy of $as_myself, but with $LINENO
# uniformly replaced by the line number. The first 'sed' inserts a
- # line-number line before each line; the second 'sed' does the real
- # work. The second script uses 'N' to pair each line-number line
- # with the numbered line, and appends trailing '-' during
- # substitution so that $LINENO is not a special case at line end.
+ # line-number line after each line using $LINENO; the second 'sed'
+ # does the real work. The second script uses 'N' to pair each
+ # line-number line with the line containing $LINENO, and appends
+ # trailing '-' during substitution so that $LINENO is not a special
+ # case at line end.
# (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
- # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-)
- sed '=' <$as_myself |
+ # scripts with optimization help from Paolo Bonzini. Blame Lee
+ # E. McMahon (1931-1989) for sed's syntax. :-)
+ sed -n '
+ p
+ /[$]LINENO/=
+ ' <$as_myself |
sed '
+ s/[$]LINENO.*/&-/
+ t lineno
+ b
+ :lineno
N
- s,$,-,
- : loop
- s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
+ :loop
+ s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
t loop
- s,-$,,
- s,^['$as_cr_digits']*\n,,
+ s/-\n.*//
' >$as_me.lineno &&
- chmod +x $as_me.lineno ||
- { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5
-echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;}
+ chmod +x "$as_me.lineno" ||
+ { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
{ (exit 1); exit 1; }; }
# Don't try to exec as it changes $[0], causing all sort of problems
# (the dirname of $[0] is not the place where we might find the
- # original and so on. Autoconf is especially sensible to this).
- . ./$as_me.lineno
+ # original and so on. Autoconf is especially sensitive to this).
+ . "./$as_me.lineno"
# Exit status is that of the last command.
exit
}
-case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
- *c*,-n*) ECHO_N= ECHO_C='
-' ECHO_T=' ' ;;
- *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;;
- *) ECHO_N= ECHO_C='\c' ECHO_T= ;;
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+ as_dirname=dirname
+else
+ as_dirname=false
+fi
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in
+-n*)
+ case `echo 'x\c'` in
+ *c*) ECHO_T=' ';; # ECHO_T is single tab character.
+ *) ECHO_C='\c';;
+ esac;;
+*)
+ ECHO_N='-n';;
esac
-if expr a : '\(a\)' >/dev/null 2>&1; then
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
as_expr=expr
else
as_expr=false
fi
rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+ rm -f conf$$.dir/conf$$.file
+else
+ rm -f conf$$.dir
+ mkdir conf$$.dir
+fi
echo >conf$$.file
if ln -s conf$$.file conf$$ 2>/dev/null; then
- # We could just check for DJGPP; but this test a) works b) is more generic
- # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
- if test -f conf$$.exe; then
- # Don't use ln at all; we don't have any links
+ as_ln_s='ln -s'
+ # ... but there are two gotchas:
+ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+ # In both cases, we have to default to `cp -p'.
+ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
as_ln_s='cp -p'
- else
- as_ln_s='ln -s'
- fi
elif ln conf$$.file conf$$ 2>/dev/null; then
as_ln_s=ln
else
as_ln_s='cp -p'
fi
-rm -f conf$$ conf$$.exe conf$$.file
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
if mkdir -p . 2>/dev/null; then
as_mkdir_p=:
@@ -22783,7 +22559,28 @@ else
as_mkdir_p=false
fi
-as_executable_p="test -f"
+if test -x / >/dev/null 2>&1; then
+ as_test_x='test -x'
+else
+ if ls -dL / >/dev/null 2>&1; then
+ as_ls_L_option=L
+ else
+ as_ls_L_option=
+ fi
+ as_test_x='
+ eval sh -c '\''
+ if test -d "$1"; then
+ test -d "$1/.";
+ else
+ case $1 in
+ -*)set "./$1";;
+ esac;
+ case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
+ ???[sx]*):;;*)false;;esac;fi
+ '\'' sh
+ '
+fi
+as_executable_p=$as_test_x
# Sed expression to map a string onto a valid CPP name.
as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -22791,32 +22588,15 @@ as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
# Sed expression to map a string onto a valid variable name.
as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-# IFS
-# We need space, tab and new line, in precisely that order.
-as_nl='
-'
-IFS=" $as_nl"
-
-# CDPATH.
-$as_unset CDPATH
-
-exec 6>&1
-
-# Open the log real soon, to keep \$[0] and so on meaningful, and to
-# report actual input values of CONFIG_FILES etc. instead of their
-# values after options handling. Logging --version etc. is OK.
-exec 5>>config.log
-{
- echo
- sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
-## Running $as_me. ##
-_ASBOX
-} >&5
-cat >&5 <<_CSEOF
-
+
+exec 6>&1
+
+# Save the log message, to keep $[0] and so on meaningful, and to
+# report actual input values of CONFIG_FILES etc. instead of their
+# values after options handling.
+ac_log="
This file was extended by $as_me, which was
-generated by GNU Autoconf 2.59. Invocation command line was
+generated by GNU Autoconf 2.61. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
CONFIG_HEADERS = $CONFIG_HEADERS
@@ -22824,30 +22604,20 @@ generated by GNU Autoconf 2.59. Invocation command line was
CONFIG_COMMANDS = $CONFIG_COMMANDS
$ $0 $@
-_CSEOF
-echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5
-echo >&5
+on `(hostname || uname -n) 2>/dev/null | sed 1q`
+"
+
_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF
# Files that config.status was made for.
-if test -n "$ac_config_files"; then
- echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS
-fi
-
-if test -n "$ac_config_headers"; then
- echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS
-fi
-
-if test -n "$ac_config_links"; then
- echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS
-fi
+config_files="$ac_config_files"
+config_headers="$ac_config_headers"
+config_commands="$ac_config_commands"
-if test -n "$ac_config_commands"; then
- echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS
-fi
+_ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF
-
ac_cs_usage="\
\`$as_me' instantiates files from templates according to the
current configuration.
@@ -22855,7 +22625,7 @@ current configuration.
Usage: $0 [OPTIONS] [FILE]...
-h, --help print this help, then exit
- -V, --version print version number, then exit
+ -V, --version print version number and configuration settings, then exit
-q, --quiet do not print progress messages
-d, --debug don't remove temporary files
--recheck update $as_me by reconfiguring in the same conditions
@@ -22874,19 +22644,21 @@ Configuration commands:
$config_commands
Report bugs to <bug-autoconf at gnu.org>."
-_ACEOF
+_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF
ac_cs_version="\\
config.status
-configured by $0, generated by GNU Autoconf 2.59,
- with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
+configured by $0, generated by GNU Autoconf 2.61,
+ with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
-Copyright (C) 2003 Free Software Foundation, Inc.
+Copyright (C) 2006 Free Software Foundation, Inc.
This config.status script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it."
-srcdir=$srcdir
-INSTALL="$INSTALL"
+
+ac_pwd='$ac_pwd'
+srcdir='$srcdir'
+INSTALL='$INSTALL'
_ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF
@@ -22897,39 +22669,24 @@ while test $# != 0
do
case $1 in
--*=*)
- ac_option=`expr "x$1" : 'x\([^=]*\)='`
- ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'`
+ ac_option=`expr "X$1" : 'X\([^=]*\)='`
+ ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
ac_shift=:
;;
- -*)
+ *)
ac_option=$1
ac_optarg=$2
ac_shift=shift
;;
- *) # This is not an option, so the user has probably given explicit
- # arguments.
- ac_option=$1
- ac_need_defaults=false;;
esac
case $ac_option in
# Handling of the options.
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
-recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
ac_cs_recheck=: ;;
- --version | --vers* | -V )
- echo "$ac_cs_version"; exit 0 ;;
- --he | --h)
- # Conflict between --help and --header
- { { echo "$as_me:$LINENO: error: ambiguous option: $1
-Try \`$0 --help' for more information." >&5
-echo "$as_me: error: ambiguous option: $1
-Try \`$0 --help' for more information." >&2;}
- { (exit 1); exit 1; }; };;
- --help | --hel | -h )
- echo "$ac_cs_usage"; exit 0 ;;
- --debug | --d* | -d )
+ --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
+ echo "$ac_cs_version"; exit ;;
+ --debug | --debu | --deb | --de | --d | -d )
debug=: ;;
--file | --fil | --fi | --f )
$ac_shift
@@ -22939,18 +22696,24 @@ Try \`$0 --help' for more information." >&2;}
$ac_shift
CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg"
ac_need_defaults=false;;
+ --he | --h)
+ # Conflict between --help and --header
+ { echo "$as_me: error: ambiguous option: $1
+Try \`$0 --help' for more information." >&2
+ { (exit 1); exit 1; }; };;
+ --help | --hel | -h )
+ echo "$ac_cs_usage"; exit ;;
-q | -quiet | --quiet | --quie | --qui | --qu | --q \
| -silent | --silent | --silen | --sile | --sil | --si | --s)
ac_cs_silent=: ;;
# This is an error.
- -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1
-Try \`$0 --help' for more information." >&5
-echo "$as_me: error: unrecognized option: $1
-Try \`$0 --help' for more information." >&2;}
+ -*) { echo "$as_me: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&2
{ (exit 1); exit 1; }; } ;;
- *) ac_config_targets="$ac_config_targets $1" ;;
+ *) ac_config_targets="$ac_config_targets $1"
+ ac_need_defaults=false ;;
esac
shift
@@ -22966,17 +22729,28 @@ fi
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF
if \$ac_cs_recheck; then
- echo "running $SHELL $0 " $ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6
- exec $SHELL $0 $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+ echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6
+ CONFIG_SHELL=$SHELL
+ export CONFIG_SHELL
+ exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
fi
_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+exec 5>>config.log
+{
+ echo
+ sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
+## Running $as_me. ##
+_ASBOX
+ echo "$ac_log"
+} >&5
+_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF
#
-# INIT-COMMANDS section.
+# INIT-COMMANDS
#
-
AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
gts_defines="
@@ -22988,34 +22762,35 @@ AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
_ACEOF
-
-
cat >>$CONFIG_STATUS <<\_ACEOF
+
+# Handling of arguments.
for ac_config_target in $ac_config_targets
do
- case "$ac_config_target" in
- # Handling of arguments.
- "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
- "gts.pc" ) CONFIG_FILES="$CONFIG_FILES gts.pc" ;;
- "gts.spec" ) CONFIG_FILES="$CONFIG_FILES gts.spec" ;;
- "src/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
- "src/gts-config" ) CONFIG_FILES="$CONFIG_FILES src/gts-config" ;;
- "tools/Makefile" ) CONFIG_FILES="$CONFIG_FILES tools/Makefile" ;;
- "doc/Makefile" ) CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;;
- "examples/Makefile" ) CONFIG_FILES="$CONFIG_FILES examples/Makefile" ;;
- "test/Makefile" ) CONFIG_FILES="$CONFIG_FILES test/Makefile" ;;
- "test/boolean/Makefile" ) CONFIG_FILES="$CONFIG_FILES test/boolean/Makefile" ;;
- "test/delaunay/Makefile" ) CONFIG_FILES="$CONFIG_FILES test/delaunay/Makefile" ;;
- "test/coarsen/Makefile" ) CONFIG_FILES="$CONFIG_FILES test/coarsen/Makefile" ;;
- "depfiles" ) CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
- "default-1" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;;
- "config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
+ case $ac_config_target in
+ "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
+ "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
+ "default-1") CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;;
+ "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+ "gts.pc") CONFIG_FILES="$CONFIG_FILES gts.pc" ;;
+ "gts.spec") CONFIG_FILES="$CONFIG_FILES gts.spec" ;;
+ "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
+ "src/gts-config") CONFIG_FILES="$CONFIG_FILES src/gts-config" ;;
+ "tools/Makefile") CONFIG_FILES="$CONFIG_FILES tools/Makefile" ;;
+ "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;;
+ "examples/Makefile") CONFIG_FILES="$CONFIG_FILES examples/Makefile" ;;
+ "test/Makefile") CONFIG_FILES="$CONFIG_FILES test/Makefile" ;;
+ "test/boolean/Makefile") CONFIG_FILES="$CONFIG_FILES test/boolean/Makefile" ;;
+ "test/delaunay/Makefile") CONFIG_FILES="$CONFIG_FILES test/delaunay/Makefile" ;;
+ "test/coarsen/Makefile") CONFIG_FILES="$CONFIG_FILES test/coarsen/Makefile" ;;
+
*) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
{ (exit 1); exit 1; }; };;
esac
done
+
# If the user did not use the arguments to specify the items to instantiate,
# then the envvar interface is used. Set only those that are not.
# We use the long form for the default assignment because of an extremely
@@ -23027,377 +22802,483 @@ if $ac_need_defaults; then
fi
# Have a temporary directory for convenience. Make it in the build tree
-# simply because there is no reason to put it here, and in addition,
+# simply because there is no reason against having it here, and in addition,
# creating and moving files from /tmp can sometimes cause problems.
-# Create a temporary directory, and hook for its removal unless debugging.
+# Hook for its removal unless debugging.
+# Note that there is a small window in which the directory will not be cleaned:
+# after its creation but before its name has been assigned to `$tmp'.
$debug ||
{
- trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0
+ tmp=
+ trap 'exit_status=$?
+ { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
+' 0
trap '{ (exit 1); exit 1; }' 1 2 13 15
}
-
# Create a (secure) tmp directory for tmp files.
{
- tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` &&
+ tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
test -n "$tmp" && test -d "$tmp"
} ||
{
- tmp=./confstat$$-$RANDOM
- (umask 077 && mkdir $tmp)
+ tmp=./conf$$-$RANDOM
+ (umask 077 && mkdir "$tmp")
} ||
{
echo "$me: cannot create a temporary directory in ." >&2
{ (exit 1); exit 1; }
}
-_ACEOF
-
-cat >>$CONFIG_STATUS <<_ACEOF
-
#
-# CONFIG_FILES section.
+# Set up the sed scripts for CONFIG_FILES section.
#
# No need to generate the scripts if there are no CONFIG_FILES.
# This happens for instance when ./config.status config.h
-if test -n "\$CONFIG_FILES"; then
- # Protect against being on the right side of a sed subst in config.status.
- sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g;
- s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF
-s, at SHELL@,$SHELL,;t t
-s, at PATH_SEPARATOR@,$PATH_SEPARATOR,;t t
-s, at PACKAGE_NAME@,$PACKAGE_NAME,;t t
-s, at PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t
-s, at PACKAGE_VERSION@,$PACKAGE_VERSION,;t t
-s, at PACKAGE_STRING@,$PACKAGE_STRING,;t t
-s, at PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t
-s, at exec_prefix@,$exec_prefix,;t t
-s, at prefix@,$prefix,;t t
-s, at program_transform_name@,$program_transform_name,;t t
-s, at bindir@,$bindir,;t t
-s, at sbindir@,$sbindir,;t t
-s, at libexecdir@,$libexecdir,;t t
-s, at datadir@,$datadir,;t t
-s, at sysconfdir@,$sysconfdir,;t t
-s, at sharedstatedir@,$sharedstatedir,;t t
-s, at localstatedir@,$localstatedir,;t t
-s, at libdir@,$libdir,;t t
-s, at includedir@,$includedir,;t t
-s, at oldincludedir@,$oldincludedir,;t t
-s, at infodir@,$infodir,;t t
-s, at mandir@,$mandir,;t t
-s, at build_alias@,$build_alias,;t t
-s, at host_alias@,$host_alias,;t t
-s, at target_alias@,$target_alias,;t t
-s, at DEFS@,$DEFS,;t t
-s, at ECHO_C@,$ECHO_C,;t t
-s, at ECHO_N@,$ECHO_N,;t t
-s, at ECHO_T@,$ECHO_T,;t t
-s, at LIBS@,$LIBS,;t t
-s, at GTS_MAJOR_VERSION@,$GTS_MAJOR_VERSION,;t t
-s, at GTS_MINOR_VERSION@,$GTS_MINOR_VERSION,;t t
-s, at GTS_MICRO_VERSION@,$GTS_MICRO_VERSION,;t t
-s, at GTS_VERSION@,$GTS_VERSION,;t t
-s, at LT_RELEASE@,$LT_RELEASE,;t t
-s, at LT_CURRENT@,$LT_CURRENT,;t t
-s, at LT_REVISION@,$LT_REVISION,;t t
-s, at LT_AGE@,$LT_AGE,;t t
-s, at INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t
-s, at INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t
-s, at INSTALL_DATA@,$INSTALL_DATA,;t t
-s, at CYGPATH_W@,$CYGPATH_W,;t t
-s, at PACKAGE@,$PACKAGE,;t t
-s, at VERSION@,$VERSION,;t t
-s, at ACLOCAL@,$ACLOCAL,;t t
-s, at AUTOCONF@,$AUTOCONF,;t t
-s, at AUTOMAKE@,$AUTOMAKE,;t t
-s, at AUTOHEADER@,$AUTOHEADER,;t t
-s, at MAKEINFO@,$MAKEINFO,;t t
-s, at AMTAR@,$AMTAR,;t t
-s, at install_sh@,$install_sh,;t t
-s, at STRIP@,$STRIP,;t t
-s, at ac_ct_STRIP@,$ac_ct_STRIP,;t t
-s, at INSTALL_STRIP_PROGRAM@,$INSTALL_STRIP_PROGRAM,;t t
-s, at mkdir_p@,$mkdir_p,;t t
-s, at AWK@,$AWK,;t t
-s, at SET_MAKE@,$SET_MAKE,;t t
-s, at am__leading_dot@,$am__leading_dot,;t t
-s, at build@,$build,;t t
-s, at build_cpu@,$build_cpu,;t t
-s, at build_vendor@,$build_vendor,;t t
-s, at build_os@,$build_os,;t t
-s, at host@,$host,;t t
-s, at host_cpu@,$host_cpu,;t t
-s, at host_vendor@,$host_vendor,;t t
-s, at host_os@,$host_os,;t t
-s, at CC@,$CC,;t t
-s, at CFLAGS@,$CFLAGS,;t t
-s, at LDFLAGS@,$LDFLAGS,;t t
-s, at CPPFLAGS@,$CPPFLAGS,;t t
-s, at ac_ct_CC@,$ac_ct_CC,;t t
-s, at EXEEXT@,$EXEEXT,;t t
-s, at OBJEXT@,$OBJEXT,;t t
-s, at DEPDIR@,$DEPDIR,;t t
-s, at am__include@,$am__include,;t t
-s, at am__quote@,$am__quote,;t t
-s, at AMDEP_TRUE@,$AMDEP_TRUE,;t t
-s, at AMDEP_FALSE@,$AMDEP_FALSE,;t t
-s, at AMDEPBACKSLASH@,$AMDEPBACKSLASH,;t t
-s, at CCDEPMODE@,$CCDEPMODE,;t t
-s, at am__fastdepCC_TRUE@,$am__fastdepCC_TRUE,;t t
-s, at am__fastdepCC_FALSE@,$am__fastdepCC_FALSE,;t t
-s, at EGREP@,$EGREP,;t t
-s, at LN_S@,$LN_S,;t t
-s, at ECHO@,$ECHO,;t t
-s, at AR@,$AR,;t t
-s, at ac_ct_AR@,$ac_ct_AR,;t t
-s, at RANLIB@,$RANLIB,;t t
-s, at ac_ct_RANLIB@,$ac_ct_RANLIB,;t t
-s, at CPP@,$CPP,;t t
-s, at CXX@,$CXX,;t t
-s, at CXXFLAGS@,$CXXFLAGS,;t t
-s, at ac_ct_CXX@,$ac_ct_CXX,;t t
-s, at CXXDEPMODE@,$CXXDEPMODE,;t t
-s, at am__fastdepCXX_TRUE@,$am__fastdepCXX_TRUE,;t t
-s, at am__fastdepCXX_FALSE@,$am__fastdepCXX_FALSE,;t t
-s, at CXXCPP@,$CXXCPP,;t t
-s, at F77@,$F77,;t t
-s, at FFLAGS@,$FFLAGS,;t t
-s, at ac_ct_F77@,$ac_ct_F77,;t t
-s, at LIBTOOL@,$LIBTOOL,;t t
-s, at MAINTAINER_MODE_TRUE@,$MAINTAINER_MODE_TRUE,;t t
-s, at MAINTAINER_MODE_FALSE@,$MAINTAINER_MODE_FALSE,;t t
-s, at MAINT@,$MAINT,;t t
-s, at HAS_NETPBM_TRUE@,$HAS_NETPBM_TRUE,;t t
-s, at HAS_NETPBM_FALSE@,$HAS_NETPBM_FALSE,;t t
-s, at PKG_CONFIG@,$PKG_CONFIG,;t t
-s, at GLIB_CFLAGS@,$GLIB_CFLAGS,;t t
-s, at GLIB_LIBS@,$GLIB_LIBS,;t t
-s, at GLIB_GENMARSHAL@,$GLIB_GENMARSHAL,;t t
-s, at GOBJECT_QUERY@,$GOBJECT_QUERY,;t t
-s, at GLIB_MKENUMS@,$GLIB_MKENUMS,;t t
-s, at GLIB_CONFIG@,$GLIB_CONFIG,;t t
-s, at glib_cflags@,$glib_cflags,;t t
-s, at glib_libs@,$glib_libs,;t t
-s, at glib_thread_cflags@,$glib_thread_cflags,;t t
-s, at glib_thread_libs@,$glib_thread_libs,;t t
-s, at glib_module_cflags@,$glib_module_cflags,;t t
-s, at glib_module_libs@,$glib_module_libs,;t t
-s, at GLIB_DEPLIBS@,$GLIB_DEPLIBS,;t t
-s, at LIBOBJS@,$LIBOBJS,;t t
-s, at LTLIBOBJS@,$LTLIBOBJS,;t t
-CEOF
+if test -n "$CONFIG_FILES"; then
_ACEOF
- cat >>$CONFIG_STATUS <<\_ACEOF
- # Split the substitutions into bite-sized pieces for seds with
- # small command number limits, like on Digital OSF/1 and HP-UX.
- ac_max_sed_lines=48
- ac_sed_frag=1 # Number of current file.
- ac_beg=1 # First line for current file.
- ac_end=$ac_max_sed_lines # Line after last line for current file.
- ac_more_lines=:
- ac_sed_cmds=
- while $ac_more_lines; do
- if test $ac_beg -gt 1; then
- sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
- else
- sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
- fi
- if test ! -s $tmp/subs.frag; then
- ac_more_lines=false
- else
- # The purpose of the label and of the branching condition is to
- # speed up the sed processing (if there are no `@' at all, there
- # is no need to browse any of the substitutions).
- # These are the two extra sed commands mentioned above.
- (echo ':t
- /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed
- if test -z "$ac_sed_cmds"; then
- ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed"
- else
- ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed"
- fi
- ac_sed_frag=`expr $ac_sed_frag + 1`
- ac_beg=$ac_end
- ac_end=`expr $ac_end + $ac_max_sed_lines`
- fi
- done
- if test -z "$ac_sed_cmds"; then
- ac_sed_cmds=cat
+
+
+ac_delim='%!_!# '
+for ac_last_try in false false false false false :; do
+ cat >conf$$subs.sed <<_ACEOF
+SHELL!$SHELL$ac_delim
+PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim
+PACKAGE_NAME!$PACKAGE_NAME$ac_delim
+PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim
+PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim
+PACKAGE_STRING!$PACKAGE_STRING$ac_delim
+PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim
+exec_prefix!$exec_prefix$ac_delim
+prefix!$prefix$ac_delim
+program_transform_name!$program_transform_name$ac_delim
+bindir!$bindir$ac_delim
+sbindir!$sbindir$ac_delim
+libexecdir!$libexecdir$ac_delim
+datarootdir!$datarootdir$ac_delim
+datadir!$datadir$ac_delim
+sysconfdir!$sysconfdir$ac_delim
+sharedstatedir!$sharedstatedir$ac_delim
+localstatedir!$localstatedir$ac_delim
+includedir!$includedir$ac_delim
+oldincludedir!$oldincludedir$ac_delim
+docdir!$docdir$ac_delim
+infodir!$infodir$ac_delim
+htmldir!$htmldir$ac_delim
+dvidir!$dvidir$ac_delim
+pdfdir!$pdfdir$ac_delim
+psdir!$psdir$ac_delim
+libdir!$libdir$ac_delim
+localedir!$localedir$ac_delim
+mandir!$mandir$ac_delim
+DEFS!$DEFS$ac_delim
+ECHO_C!$ECHO_C$ac_delim
+ECHO_N!$ECHO_N$ac_delim
+ECHO_T!$ECHO_T$ac_delim
+LIBS!$LIBS$ac_delim
+build_alias!$build_alias$ac_delim
+host_alias!$host_alias$ac_delim
+target_alias!$target_alias$ac_delim
+GTS_MAJOR_VERSION!$GTS_MAJOR_VERSION$ac_delim
+GTS_MINOR_VERSION!$GTS_MINOR_VERSION$ac_delim
+GTS_MICRO_VERSION!$GTS_MICRO_VERSION$ac_delim
+GTS_VERSION!$GTS_VERSION$ac_delim
+LT_RELEASE!$LT_RELEASE$ac_delim
+LT_CURRENT!$LT_CURRENT$ac_delim
+LT_REVISION!$LT_REVISION$ac_delim
+LT_AGE!$LT_AGE$ac_delim
+INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim
+INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim
+INSTALL_DATA!$INSTALL_DATA$ac_delim
+CYGPATH_W!$CYGPATH_W$ac_delim
+PACKAGE!$PACKAGE$ac_delim
+VERSION!$VERSION$ac_delim
+ACLOCAL!$ACLOCAL$ac_delim
+AUTOCONF!$AUTOCONF$ac_delim
+AUTOMAKE!$AUTOMAKE$ac_delim
+AUTOHEADER!$AUTOHEADER$ac_delim
+MAKEINFO!$MAKEINFO$ac_delim
+AMTAR!$AMTAR$ac_delim
+install_sh!$install_sh$ac_delim
+STRIP!$STRIP$ac_delim
+INSTALL_STRIP_PROGRAM!$INSTALL_STRIP_PROGRAM$ac_delim
+mkdir_p!$mkdir_p$ac_delim
+AWK!$AWK$ac_delim
+SET_MAKE!$SET_MAKE$ac_delim
+am__leading_dot!$am__leading_dot$ac_delim
+build!$build$ac_delim
+build_cpu!$build_cpu$ac_delim
+build_vendor!$build_vendor$ac_delim
+build_os!$build_os$ac_delim
+host!$host$ac_delim
+host_cpu!$host_cpu$ac_delim
+host_vendor!$host_vendor$ac_delim
+host_os!$host_os$ac_delim
+CC!$CC$ac_delim
+CFLAGS!$CFLAGS$ac_delim
+LDFLAGS!$LDFLAGS$ac_delim
+CPPFLAGS!$CPPFLAGS$ac_delim
+ac_ct_CC!$ac_ct_CC$ac_delim
+EXEEXT!$EXEEXT$ac_delim
+OBJEXT!$OBJEXT$ac_delim
+DEPDIR!$DEPDIR$ac_delim
+am__include!$am__include$ac_delim
+am__quote!$am__quote$ac_delim
+AMDEP_TRUE!$AMDEP_TRUE$ac_delim
+AMDEP_FALSE!$AMDEP_FALSE$ac_delim
+AMDEPBACKSLASH!$AMDEPBACKSLASH$ac_delim
+CCDEPMODE!$CCDEPMODE$ac_delim
+am__fastdepCC_TRUE!$am__fastdepCC_TRUE$ac_delim
+am__fastdepCC_FALSE!$am__fastdepCC_FALSE$ac_delim
+SED!$SED$ac_delim
+GREP!$GREP$ac_delim
+EGREP!$EGREP$ac_delim
+LN_S!$LN_S$ac_delim
+ECHO!$ECHO$ac_delim
+AR!$AR$ac_delim
+RANLIB!$RANLIB$ac_delim
+CPP!$CPP$ac_delim
+CXX!$CXX$ac_delim
+_ACEOF
+
+ if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then
+ break
+ elif $ac_last_try; then
+ { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
+echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
+ { (exit 1); exit 1; }; }
+ else
+ ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
fi
-fi # test -n "$CONFIG_FILES"
+done
+
+ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed`
+if test -n "$ac_eof"; then
+ ac_eof=`echo "$ac_eof" | sort -nru | sed 1q`
+ ac_eof=`expr $ac_eof + 1`
+fi
+
+cat >>$CONFIG_STATUS <<_ACEOF
+cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
+_ACEOF
+sed '
+s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g
+s/^/s,@/; s/!/@,|#_!!_#|/
+:n
+t n
+s/'"$ac_delim"'$/,g/; t
+s/$/\\/; p
+N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n
+' >>$CONFIG_STATUS <conf$$subs.sed
+rm -f conf$$subs.sed
+cat >>$CONFIG_STATUS <<_ACEOF
+CEOF$ac_eof
+_ACEOF
+
+
+ac_delim='%!_!# '
+for ac_last_try in false false false false false :; do
+ cat >conf$$subs.sed <<_ACEOF
+CXXFLAGS!$CXXFLAGS$ac_delim
+ac_ct_CXX!$ac_ct_CXX$ac_delim
+CXXDEPMODE!$CXXDEPMODE$ac_delim
+am__fastdepCXX_TRUE!$am__fastdepCXX_TRUE$ac_delim
+am__fastdepCXX_FALSE!$am__fastdepCXX_FALSE$ac_delim
+CXXCPP!$CXXCPP$ac_delim
+F77!$F77$ac_delim
+FFLAGS!$FFLAGS$ac_delim
+ac_ct_F77!$ac_ct_F77$ac_delim
+LIBTOOL!$LIBTOOL$ac_delim
+MAINTAINER_MODE_TRUE!$MAINTAINER_MODE_TRUE$ac_delim
+MAINTAINER_MODE_FALSE!$MAINTAINER_MODE_FALSE$ac_delim
+MAINT!$MAINT$ac_delim
+HAS_NETPBM_TRUE!$HAS_NETPBM_TRUE$ac_delim
+HAS_NETPBM_FALSE!$HAS_NETPBM_FALSE$ac_delim
+PKG_CONFIG!$PKG_CONFIG$ac_delim
+GLIB_CFLAGS!$GLIB_CFLAGS$ac_delim
+GLIB_LIBS!$GLIB_LIBS$ac_delim
+GLIB_GENMARSHAL!$GLIB_GENMARSHAL$ac_delim
+GOBJECT_QUERY!$GOBJECT_QUERY$ac_delim
+GLIB_MKENUMS!$GLIB_MKENUMS$ac_delim
+GLIB_CONFIG!$GLIB_CONFIG$ac_delim
+glib_cflags!$glib_cflags$ac_delim
+glib_libs!$glib_libs$ac_delim
+glib_thread_cflags!$glib_thread_cflags$ac_delim
+glib_thread_libs!$glib_thread_libs$ac_delim
+glib_module_cflags!$glib_module_cflags$ac_delim
+glib_module_libs!$glib_module_libs$ac_delim
+GLIB_DEPLIBS!$GLIB_DEPLIBS$ac_delim
+LIBOBJS!$LIBOBJS$ac_delim
+LTLIBOBJS!$LTLIBOBJS$ac_delim
+_ACEOF
+
+ if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 31; then
+ break
+ elif $ac_last_try; then
+ { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
+echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
+ { (exit 1); exit 1; }; }
+ else
+ ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
+ fi
+done
+
+ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed`
+if test -n "$ac_eof"; then
+ ac_eof=`echo "$ac_eof" | sort -nru | sed 1q`
+ ac_eof=`expr $ac_eof + 1`
+fi
+cat >>$CONFIG_STATUS <<_ACEOF
+cat >"\$tmp/subs-2.sed" <<\CEOF$ac_eof
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b end
+_ACEOF
+sed '
+s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g
+s/^/s,@/; s/!/@,|#_!!_#|/
+:n
+t n
+s/'"$ac_delim"'$/,g/; t
+s/$/\\/; p
+N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n
+' >>$CONFIG_STATUS <conf$$subs.sed
+rm -f conf$$subs.sed
+cat >>$CONFIG_STATUS <<_ACEOF
+:end
+s/|#_!!_#|//g
+CEOF$ac_eof
_ACEOF
+
+
+# VPATH may cause trouble with some makes, so we remove $(srcdir),
+# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# trailing colons and then remove the whole line if VPATH becomes empty
+# (actually we leave an empty line to preserve line numbers).
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=/{
+s/:*\$(srcdir):*/:/
+s/:*\${srcdir}:*/:/
+s/:*@srcdir@:*/:/
+s/^\([^=]*=[ ]*\):*/\1/
+s/:*$//
+s/^[^=]*=[ ]*$//
+}'
+fi
+
cat >>$CONFIG_STATUS <<\_ACEOF
-for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue
- # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
- case $ac_file in
- - | *:- | *:-:* ) # input from stdin
- cat >$tmp/stdin
- ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
- *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
- * ) ac_file_in=$ac_file.in ;;
+fi # test -n "$CONFIG_FILES"
+
+
+for ac_tag in :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS
+do
+ case $ac_tag in
+ :[FHLC]) ac_mode=$ac_tag; continue;;
+ esac
+ case $ac_mode$ac_tag in
+ :[FHL]*:*);;
+ :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5
+echo "$as_me: error: Invalid tag $ac_tag." >&2;}
+ { (exit 1); exit 1; }; };;
+ :[FH]-) ac_tag=-:-;;
+ :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
+ esac
+ ac_save_IFS=$IFS
+ IFS=:
+ set x $ac_tag
+ IFS=$ac_save_IFS
+ shift
+ ac_file=$1
+ shift
+
+ case $ac_mode in
+ :L) ac_source=$1;;
+ :[FH])
+ ac_file_inputs=
+ for ac_f
+ do
+ case $ac_f in
+ -) ac_f="$tmp/stdin";;
+ *) # Look for the file first in the build tree, then in the source tree
+ # (if the path is not absolute). The absolute path cannot be DOS-style,
+ # because $ac_f cannot contain `:'.
+ test -f "$ac_f" ||
+ case $ac_f in
+ [\\/$]*) false;;
+ *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
+ esac ||
+ { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5
+echo "$as_me: error: cannot find input file: $ac_f" >&2;}
+ { (exit 1); exit 1; }; };;
+ esac
+ ac_file_inputs="$ac_file_inputs $ac_f"
+ done
+
+ # Let's still pretend it is `configure' which instantiates (i.e., don't
+ # use $as_me), people would be surprised to read:
+ # /* config.h. Generated by config.status. */
+ configure_input="Generated from "`IFS=:
+ echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure."
+ if test x"$ac_file" != x-; then
+ configure_input="$ac_file. $configure_input"
+ { echo "$as_me:$LINENO: creating $ac_file" >&5
+echo "$as_me: creating $ac_file" >&6;}
+ fi
+
+ case $ac_tag in
+ *:-:* | *:-) cat >"$tmp/stdin";;
+ esac
+ ;;
esac
- # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories.
- ac_dir=`(dirname "$ac_file") 2>/dev/null ||
+ ac_dir=`$as_dirname -- "$ac_file" ||
$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$ac_file" : 'X\(//\)[^/]' \| \
X"$ac_file" : 'X\(//\)$' \| \
- X"$ac_file" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
+ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
echo X"$ac_file" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- { if $as_mkdir_p; then
- mkdir -p "$ac_dir"
- else
- as_dir="$ac_dir"
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ { as_dir="$ac_dir"
+ case $as_dir in #(
+ -*) as_dir=./$as_dir;;
+ esac
+ test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
as_dirs=
- while test ! -d "$as_dir"; do
- as_dirs="$as_dir $as_dirs"
- as_dir=`(dirname "$as_dir") 2>/dev/null ||
+ while :; do
+ case $as_dir in #(
+ *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #(
+ *) as_qdir=$as_dir;;
+ esac
+ as_dirs="'$as_qdir' $as_dirs"
+ as_dir=`$as_dirname -- "$as_dir" ||
$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$as_dir" : 'X\(//\)[^/]' \| \
X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
+ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ test -d "$as_dir" && break
done
- test ! -n "$as_dirs" || mkdir $as_dirs
- fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
-echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
+ test -z "$as_dirs" || eval "mkdir $as_dirs"
+ } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
+echo "$as_me: error: cannot create directory $as_dir" >&2;}
{ (exit 1); exit 1; }; }; }
-
ac_builddir=.
-if test "$ac_dir" != .; then
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
- # A "../" for each directory in $ac_dir_suffix.
- ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
-else
- ac_dir_suffix= ac_top_builddir=
-fi
+ # A ".." for each directory in $ac_dir_suffix.
+ ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'`
+ case $ac_top_builddir_sub in
+ "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+ esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
case $srcdir in
- .) # No --srcdir option. We are building in place.
+ .) # We are building in place.
ac_srcdir=.
- if test -z "$ac_top_builddir"; then
- ac_top_srcdir=.
- else
- ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
- fi ;;
- [\\/]* | ?:[\\/]* ) # Absolute path.
+ ac_top_srcdir=$ac_top_builddir_sub
+ ac_abs_top_srcdir=$ac_pwd ;;
+ [\\/]* | ?:[\\/]* ) # Absolute name.
ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir ;;
- *) # Relative path.
- ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_builddir$srcdir ;;
+ ac_top_srcdir=$srcdir
+ ac_abs_top_srcdir=$srcdir ;;
+ *) # Relative name.
+ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_top_build_prefix$srcdir
+ ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
esac
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-# Do not use `cd foo && pwd` to compute absolute paths, because
-# the directories may not exist.
-case `pwd` in
-.) ac_abs_builddir="$ac_dir";;
-*)
- case "$ac_dir" in
- .) ac_abs_builddir=`pwd`;;
- [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
- *) ac_abs_builddir=`pwd`/"$ac_dir";;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_builddir=${ac_top_builddir}.;;
-*)
- case ${ac_top_builddir}. in
- .) ac_abs_top_builddir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
- *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_srcdir=$ac_srcdir;;
-*)
- case $ac_srcdir in
- .) ac_abs_srcdir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
- *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_srcdir=$ac_top_srcdir;;
-*)
- case $ac_top_srcdir in
- .) ac_abs_top_srcdir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
- *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
- esac;;
-esac
+ case $ac_mode in
+ :F)
+ #
+ # CONFIG_FILE
+ #
case $INSTALL in
[\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
- *) ac_INSTALL=$ac_top_builddir$INSTALL ;;
+ *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
esac
+_ACEOF
- # Let's still pretend it is `configure' which instantiates (i.e., don't
- # use $as_me), people would be surprised to read:
- # /* config.h. Generated by config.status. */
- if test x"$ac_file" = x-; then
- configure_input=
- else
- configure_input="$ac_file. "
- fi
- configure_input=$configure_input"Generated from `echo $ac_file_in |
- sed 's,.*/,,'` by configure."
-
- # First look for the input files in the build tree, otherwise in the
- # src tree.
- ac_file_inputs=`IFS=:
- for f in $ac_file_in; do
- case $f in
- -) echo $tmp/stdin ;;
- [\\/$]*)
- # Absolute (can't be DOS-style, as IFS=:)
- test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
-echo "$as_me: error: cannot find input file: $f" >&2;}
- { (exit 1); exit 1; }; }
- echo "$f";;
- *) # Relative
- if test -f "$f"; then
- # Build tree
- echo "$f"
- elif test -f "$srcdir/$f"; then
- # Source tree
- echo "$srcdir/$f"
- else
- # /dev/null tree
- { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
-echo "$as_me: error: cannot find input file: $f" >&2;}
- { (exit 1); exit 1; }; }
- fi;;
- esac
- done` || { (exit 1); exit 1; }
+cat >>$CONFIG_STATUS <<\_ACEOF
+# If the template does not know about datarootdir, expand it.
+# FIXME: This hack should be removed a few years after 2.60.
+ac_datarootdir_hack=; ac_datarootdir_seen=
- if test x"$ac_file" != x-; then
- { echo "$as_me:$LINENO: creating $ac_file" >&5
-echo "$as_me: creating $ac_file" >&6;}
- rm -f "$ac_file"
- fi
+case `sed -n '/datarootdir/ {
+ p
+ q
+}
+/@datadir@/p
+/@docdir@/p
+/@infodir@/p
+/@localedir@/p
+/@mandir@/p
+' $ac_file_inputs` in
+*datarootdir*) ac_datarootdir_seen=yes;;
+*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
+ { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
+echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF
+ ac_datarootdir_hack='
+ s&@datadir@&$datadir&g
+ s&@docdir@&$docdir&g
+ s&@infodir@&$infodir&g
+ s&@localedir@&$localedir&g
+ s&@mandir@&$mandir&g
+ s&\\\${datarootdir}&$datarootdir&g' ;;
+esac
_ACEOF
+
+# Neutralize VPATH when `$srcdir' = `.'.
+# Shell code in configure.ac might set extrasub.
+# FIXME: do we really want to maintain this feature?
cat >>$CONFIG_STATUS <<_ACEOF
sed "$ac_vpsub
$extrasub
@@ -23405,248 +23286,130 @@ _ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF
:t
/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-s, at configure_input@,$configure_input,;t t
-s, at srcdir@,$ac_srcdir,;t t
-s, at abs_srcdir@,$ac_abs_srcdir,;t t
-s, at top_srcdir@,$ac_top_srcdir,;t t
-s, at abs_top_srcdir@,$ac_abs_top_srcdir,;t t
-s, at builddir@,$ac_builddir,;t t
-s, at abs_builddir@,$ac_abs_builddir,;t t
-s, at top_builddir@,$ac_top_builddir,;t t
-s, at abs_top_builddir@,$ac_abs_top_builddir,;t t
-s, at INSTALL@,$ac_INSTALL,;t t
-" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out
- rm -f $tmp/stdin
- if test x"$ac_file" != x-; then
- mv $tmp/out $ac_file
- else
- cat $tmp/out
- rm -f $tmp/out
- fi
-
-done
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
-
-#
-# CONFIG_HEADER section.
-#
-
-# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where
-# NAME is the cpp macro being defined and VALUE is the value it is being given.
-#
-# ac_d sets the value in "#define NAME VALUE" lines.
-ac_dA='s,^\([ ]*\)#\([ ]*define[ ][ ]*\)'
-ac_dB='[ ].*$,\1#\2'
-ac_dC=' '
-ac_dD=',;t'
-# ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE".
-ac_uA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)'
-ac_uB='$,\1#\2define\3'
-ac_uC=' '
-ac_uD=',;t'
-
-for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue
- # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+s&@configure_input@&$configure_input&;t t
+s&@top_builddir@&$ac_top_builddir_sub&;t t
+s&@srcdir@&$ac_srcdir&;t t
+s&@abs_srcdir@&$ac_abs_srcdir&;t t
+s&@top_srcdir@&$ac_top_srcdir&;t t
+s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
+s&@builddir@&$ac_builddir&;t t
+s&@abs_builddir@&$ac_abs_builddir&;t t
+s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
+s&@INSTALL@&$ac_INSTALL&;t t
+$ac_datarootdir_hack
+" $ac_file_inputs | sed -f "$tmp/subs-1.sed" | sed -f "$tmp/subs-2.sed" >$tmp/out
+
+test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
+ { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
+ { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
+ { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined. Please make sure it is defined." >&5
+echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined. Please make sure it is defined." >&2;}
+
+ rm -f "$tmp/stdin"
case $ac_file in
- - | *:- | *:-:* ) # input from stdin
- cat >$tmp/stdin
- ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
- *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
- * ) ac_file_in=$ac_file.in ;;
+ -) cat "$tmp/out"; rm -f "$tmp/out";;
+ *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;;
esac
-
- test x"$ac_file" != x- && { echo "$as_me:$LINENO: creating $ac_file" >&5
-echo "$as_me: creating $ac_file" >&6;}
-
- # First look for the input files in the build tree, otherwise in the
- # src tree.
- ac_file_inputs=`IFS=:
- for f in $ac_file_in; do
- case $f in
- -) echo $tmp/stdin ;;
- [\\/$]*)
- # Absolute (can't be DOS-style, as IFS=:)
- test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
-echo "$as_me: error: cannot find input file: $f" >&2;}
- { (exit 1); exit 1; }; }
- # Do quote $f, to prevent DOS paths from being IFS'd.
- echo "$f";;
- *) # Relative
- if test -f "$f"; then
- # Build tree
- echo "$f"
- elif test -f "$srcdir/$f"; then
- # Source tree
- echo "$srcdir/$f"
- else
- # /dev/null tree
- { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
-echo "$as_me: error: cannot find input file: $f" >&2;}
- { (exit 1); exit 1; }; }
- fi;;
- esac
- done` || { (exit 1); exit 1; }
- # Remove the trailing spaces.
- sed 's/[ ]*$//' $ac_file_inputs >$tmp/in
-
+ ;;
+ :H)
+ #
+ # CONFIG_HEADER
+ #
_ACEOF
-# Transform confdefs.h into two sed scripts, `conftest.defines' and
-# `conftest.undefs', that substitutes the proper values into
-# config.h.in to produce config.h. The first handles `#define'
-# templates, and the second `#undef' templates.
-# And first: Protect against being on the right side of a sed subst in
-# config.status. Protect against being in an unquoted here document
-# in config.status.
-rm -f conftest.defines conftest.undefs
-# Using a here document instead of a string reduces the quoting nightmare.
-# Putting comments in sed scripts is not portable.
-#
-# `end' is used to avoid that the second main sed command (meant for
-# 0-ary CPP macros) applies to n-ary macro definitions.
-# See the Autoconf documentation for `clear'.
-cat >confdef2sed.sed <<\_ACEOF
-s/[\\&,]/\\&/g
-s,[\\$`],\\&,g
-t clear
-: clear
-s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*\)\(([^)]*)\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1\2${ac_dC}\3${ac_dD},gp
-t end
-s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp
-: end
-_ACEOF
-# If some macros were called several times there might be several times
-# the same #defines, which is useless. Nevertheless, we may not want to
-# sort them, since we want the *last* AC-DEFINE to be honored.
-uniq confdefs.h | sed -n -f confdef2sed.sed >conftest.defines
-sed 's/ac_d/ac_u/g' conftest.defines >conftest.undefs
-rm -f confdef2sed.sed
-
-# This sed command replaces #undef with comments. This is necessary, for
+# Transform confdefs.h into a sed script `conftest.defines', that
+# substitutes the proper values into config.h.in to produce config.h.
+rm -f conftest.defines conftest.tail
+# First, append a space to every undef/define line, to ease matching.
+echo 's/$/ /' >conftest.defines
+# Then, protect against being on the right side of a sed subst, or in
+# an unquoted here document, in config.status. If some macros were
+# called several times there might be several #defines for the same
+# symbol, which is useless. But do not sort them, since the last
+# AC_DEFINE must be honored.
+ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
+# These sed commands are passed to sed as "A NAME B PARAMS C VALUE D", where
+# NAME is the cpp macro being defined, VALUE is the value it is being given.
+# PARAMS is the parameter list in the macro definition--in most cases, it's
+# just an empty string.
+ac_dA='s,^\\([ #]*\\)[^ ]*\\([ ]*'
+ac_dB='\\)[ (].*,\\1define\\2'
+ac_dC=' '
+ac_dD=' ,'
+
+uniq confdefs.h |
+ sed -n '
+ t rset
+ :rset
+ s/^[ ]*#[ ]*define[ ][ ]*//
+ t ok
+ d
+ :ok
+ s/[\\&,]/\\&/g
+ s/^\('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/ '"$ac_dA"'\1'"$ac_dB"'\2'"${ac_dC}"'\3'"$ac_dD"'/p
+ s/^\('"$ac_word_re"'\)[ ]*\(.*\)/'"$ac_dA"'\1'"$ac_dB$ac_dC"'\2'"$ac_dD"'/p
+ ' >>conftest.defines
+
+# Remove the space that was appended to ease matching.
+# Then replace #undef with comments. This is necessary, for
# example, in the case of _POSIX_SOURCE, which is predefined and required
# on some systems where configure will not decide to define it.
-cat >>conftest.undefs <<\_ACEOF
-s,^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */,
-_ACEOF
-
-# Break up conftest.defines because some shells have a limit on the size
-# of here documents, and old seds have small limits too (100 cmds).
-echo ' # Handle all the #define templates only if necessary.' >>$CONFIG_STATUS
-echo ' if grep "^[ ]*#[ ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS
-echo ' # If there are no defines, we may have an empty if/fi' >>$CONFIG_STATUS
-echo ' :' >>$CONFIG_STATUS
-rm -f conftest.tail
-while grep . conftest.defines >/dev/null
+# (The regexp can be short, since the line contains either #define or #undef.)
+echo 's/ $//
+s,^[ #]*u.*,/* & */,' >>conftest.defines
+
+# Break up conftest.defines:
+ac_max_sed_lines=50
+
+# First sed command is: sed -f defines.sed $ac_file_inputs >"$tmp/out1"
+# Second one is: sed -f defines.sed "$tmp/out1" >"$tmp/out2"
+# Third one will be: sed -f defines.sed "$tmp/out2" >"$tmp/out1"
+# et cetera.
+ac_in='$ac_file_inputs'
+ac_out='"$tmp/out1"'
+ac_nxt='"$tmp/out2"'
+
+while :
do
- # Write a limited-size here document to $tmp/defines.sed.
- echo ' cat >$tmp/defines.sed <<CEOF' >>$CONFIG_STATUS
- # Speed up: don't consider the non `#define' lines.
- echo '/^[ ]*#[ ]*define/!b' >>$CONFIG_STATUS
- # Work around the forget-to-reset-the-flag bug.
- echo 't clr' >>$CONFIG_STATUS
- echo ': clr' >>$CONFIG_STATUS
- sed ${ac_max_here_lines}q conftest.defines >>$CONFIG_STATUS
+ # Write a here document:
+ cat >>$CONFIG_STATUS <<_ACEOF
+ # First, check the format of the line:
+ cat >"\$tmp/defines.sed" <<\\CEOF
+/^[ ]*#[ ]*undef[ ][ ]*$ac_word_re[ ]*\$/b def
+/^[ ]*#[ ]*define[ ][ ]*$ac_word_re[( ]/b def
+b
+:def
+_ACEOF
+ sed ${ac_max_sed_lines}q conftest.defines >>$CONFIG_STATUS
echo 'CEOF
- sed -f $tmp/defines.sed $tmp/in >$tmp/out
- rm -f $tmp/in
- mv $tmp/out $tmp/in
-' >>$CONFIG_STATUS
- sed 1,${ac_max_here_lines}d conftest.defines >conftest.tail
+ sed -f "$tmp/defines.sed"' "$ac_in >$ac_out" >>$CONFIG_STATUS
+ ac_in=$ac_out; ac_out=$ac_nxt; ac_nxt=$ac_in
+ sed 1,${ac_max_sed_lines}d conftest.defines >conftest.tail
+ grep . conftest.tail >/dev/null || break
rm -f conftest.defines
mv conftest.tail conftest.defines
done
-rm -f conftest.defines
-echo ' fi # grep' >>$CONFIG_STATUS
-echo >>$CONFIG_STATUS
-
-# Break up conftest.undefs because some shells have a limit on the size
-# of here documents, and old seds have small limits too (100 cmds).
-echo ' # Handle all the #undef templates' >>$CONFIG_STATUS
-rm -f conftest.tail
-while grep . conftest.undefs >/dev/null
-do
- # Write a limited-size here document to $tmp/undefs.sed.
- echo ' cat >$tmp/undefs.sed <<CEOF' >>$CONFIG_STATUS
- # Speed up: don't consider the non `#undef'
- echo '/^[ ]*#[ ]*undef/!b' >>$CONFIG_STATUS
- # Work around the forget-to-reset-the-flag bug.
- echo 't clr' >>$CONFIG_STATUS
- echo ': clr' >>$CONFIG_STATUS
- sed ${ac_max_here_lines}q conftest.undefs >>$CONFIG_STATUS
- echo 'CEOF
- sed -f $tmp/undefs.sed $tmp/in >$tmp/out
- rm -f $tmp/in
- mv $tmp/out $tmp/in
-' >>$CONFIG_STATUS
- sed 1,${ac_max_here_lines}d conftest.undefs >conftest.tail
- rm -f conftest.undefs
- mv conftest.tail conftest.undefs
-done
-rm -f conftest.undefs
+rm -f conftest.defines conftest.tail
+echo "ac_result=$ac_in" >>$CONFIG_STATUS
cat >>$CONFIG_STATUS <<\_ACEOF
- # Let's still pretend it is `configure' which instantiates (i.e., don't
- # use $as_me), people would be surprised to read:
- # /* config.h. Generated by config.status. */
- if test x"$ac_file" = x-; then
- echo "/* Generated by configure. */" >$tmp/config.h
- else
- echo "/* $ac_file. Generated by configure. */" >$tmp/config.h
- fi
- cat $tmp/in >>$tmp/config.h
- rm -f $tmp/in
if test x"$ac_file" != x-; then
- if diff $ac_file $tmp/config.h >/dev/null 2>&1; then
+ echo "/* $configure_input */" >"$tmp/config.h"
+ cat "$ac_result" >>"$tmp/config.h"
+ if diff $ac_file "$tmp/config.h" >/dev/null 2>&1; then
{ echo "$as_me:$LINENO: $ac_file is unchanged" >&5
echo "$as_me: $ac_file is unchanged" >&6;}
else
- ac_dir=`(dirname "$ac_file") 2>/dev/null ||
-$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$ac_file" : 'X\(//\)[^/]' \| \
- X"$ac_file" : 'X\(//\)$' \| \
- X"$ac_file" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$ac_file" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- { if $as_mkdir_p; then
- mkdir -p "$ac_dir"
- else
- as_dir="$ac_dir"
- as_dirs=
- while test ! -d "$as_dir"; do
- as_dirs="$as_dir $as_dirs"
- as_dir=`(dirname "$as_dir") 2>/dev/null ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- done
- test ! -n "$as_dirs" || mkdir $as_dirs
- fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
-echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
- { (exit 1); exit 1; }; }; }
-
rm -f $ac_file
- mv $tmp/config.h $ac_file
+ mv "$tmp/config.h" $ac_file
fi
else
- cat $tmp/config.h
- rm -f $tmp/config.h
+ echo "/* $configure_input */"
+ cat "$ac_result"
fi
+ rm -f "$tmp/out12"
# Compute $ac_file's index in $config_headers.
_am_stamp_count=1
for _am_header in $config_headers :; do
@@ -23657,135 +23420,39 @@ for _am_header in $config_headers :; do
_am_stamp_count=`expr $_am_stamp_count + 1` ;;
esac
done
-echo "timestamp for $ac_file" >`(dirname $ac_file) 2>/dev/null ||
+echo "timestamp for $ac_file" >`$as_dirname -- $ac_file ||
$as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X$ac_file : 'X\(//\)[^/]' \| \
X$ac_file : 'X\(//\)$' \| \
- X$ac_file : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
+ X$ac_file : 'X\(/\)' \| . 2>/dev/null ||
echo X$ac_file |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`/stamp-h$_am_stamp_count
-done
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
-
-#
-# CONFIG_COMMANDS section.
-#
-for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue
- ac_dest=`echo "$ac_file" | sed 's,:.*,,'`
- ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'`
- ac_dir=`(dirname "$ac_dest") 2>/dev/null ||
-$as_expr X"$ac_dest" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$ac_dest" : 'X\(//\)[^/]' \| \
- X"$ac_dest" : 'X\(//\)$' \| \
- X"$ac_dest" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$ac_dest" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- { if $as_mkdir_p; then
- mkdir -p "$ac_dir"
- else
- as_dir="$ac_dir"
- as_dirs=
- while test ! -d "$as_dir"; do
- as_dirs="$as_dir $as_dirs"
- as_dir=`(dirname "$as_dir") 2>/dev/null ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- done
- test ! -n "$as_dirs" || mkdir $as_dirs
- fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
-echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
- { (exit 1); exit 1; }; }; }
-
- ac_builddir=.
-
-if test "$ac_dir" != .; then
- ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
- # A "../" for each directory in $ac_dir_suffix.
- ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
-else
- ac_dir_suffix= ac_top_builddir=
-fi
-
-case $srcdir in
- .) # No --srcdir option. We are building in place.
- ac_srcdir=.
- if test -z "$ac_top_builddir"; then
- ac_top_srcdir=.
- else
- ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
- fi ;;
- [\\/]* | ?:[\\/]* ) # Absolute path.
- ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir ;;
- *) # Relative path.
- ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_builddir$srcdir ;;
-esac
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`/stamp-h$_am_stamp_count
+ ;;
-# Do not use `cd foo && pwd` to compute absolute paths, because
-# the directories may not exist.
-case `pwd` in
-.) ac_abs_builddir="$ac_dir";;
-*)
- case "$ac_dir" in
- .) ac_abs_builddir=`pwd`;;
- [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
- *) ac_abs_builddir=`pwd`/"$ac_dir";;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_builddir=${ac_top_builddir}.;;
-*)
- case ${ac_top_builddir}. in
- .) ac_abs_top_builddir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
- *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_srcdir=$ac_srcdir;;
-*)
- case $ac_srcdir in
- .) ac_abs_srcdir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
- *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_srcdir=$ac_top_srcdir;;
-*)
- case $ac_top_srcdir in
- .) ac_abs_top_srcdir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
- *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
- esac;;
-esac
+ :C) { echo "$as_me:$LINENO: executing $ac_file commands" >&5
+echo "$as_me: executing $ac_file commands" >&6;}
+ ;;
+ esac
- { echo "$as_me:$LINENO: executing $ac_dest commands" >&5
-echo "$as_me: executing $ac_dest commands" >&6;}
- case $ac_dest in
- depfiles ) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do
+ case $ac_file$ac_mode in
+ "depfiles":C) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do
# Strip MF so we end up with the name of the file.
mf=`echo "$mf" | sed -e 's/:.*$//'`
# Check whether this is an Automake generated Makefile or not.
@@ -23795,18 +23462,29 @@ echo "$as_me: executing $ac_dest commands" >&6;}
# each Makefile.in and add a new line on top of each file to say so.
# So let's grep whole file.
if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then
- dirpart=`(dirname "$mf") 2>/dev/null ||
+ dirpart=`$as_dirname -- "$mf" ||
$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$mf" : 'X\(//\)[^/]' \| \
X"$mf" : 'X\(//\)$' \| \
- X"$mf" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
+ X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
echo X"$mf" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
else
continue
fi
@@ -23834,49 +23512,76 @@ echo X"$mf" |
sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
# Make sure the directory exists.
test -f "$dirpart/$file" && continue
- fdir=`(dirname "$file") 2>/dev/null ||
+ fdir=`$as_dirname -- "$file" ||
$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$file" : 'X\(//\)[^/]' \| \
X"$file" : 'X\(//\)$' \| \
- X"$file" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
+ X"$file" : 'X\(/\)' \| . 2>/dev/null ||
echo X"$file" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- { if $as_mkdir_p; then
- mkdir -p $dirpart/$fdir
- else
- as_dir=$dirpart/$fdir
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ { as_dir=$dirpart/$fdir
+ case $as_dir in #(
+ -*) as_dir=./$as_dir;;
+ esac
+ test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
as_dirs=
- while test ! -d "$as_dir"; do
- as_dirs="$as_dir $as_dirs"
- as_dir=`(dirname "$as_dir") 2>/dev/null ||
+ while :; do
+ case $as_dir in #(
+ *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #(
+ *) as_qdir=$as_dir;;
+ esac
+ as_dirs="'$as_qdir' $as_dirs"
+ as_dir=`$as_dirname -- "$as_dir" ||
$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$as_dir" : 'X\(//\)[^/]' \| \
X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
+ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ test -d "$as_dir" && break
done
- test ! -n "$as_dirs" || mkdir $as_dirs
- fi || { { echo "$as_me:$LINENO: error: cannot create directory $dirpart/$fdir" >&5
-echo "$as_me: error: cannot create directory $dirpart/$fdir" >&2;}
+ test -z "$as_dirs" || eval "mkdir $as_dirs"
+ } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
+echo "$as_me: error: cannot create directory $as_dir" >&2;}
{ (exit 1); exit 1; }; }; }
-
# echo "creating $dirpart/$file"
echo '# dummy' > "$dirpart/$file"
done
done
;;
- default-1 )
+ "default-1":C)
echo creating src/gtsconfig.h
cat >src/gtsconfig.h <<\__EOF
/* gtsconfig.h
@@ -23936,11 +23641,10 @@ $gts_defines
#endif /* GTSCONFIG_H */
__EOF
;;
+
esac
-done
-_ACEOF
+done # for ac_tag
-cat >>$CONFIG_STATUS <<\_ACEOF
{ (exit 0); exit 0; }
_ACEOF
diff --git a/configure.in b/configure.in
index a2b2196..7322fea 100644
--- a/configure.in
+++ b/configure.in
@@ -68,7 +68,7 @@ AC_ISC_POSIX
AC_HEADER_STDC
AC_CHECK_LIB(netpbm, pgm_init, netpbm="true",
- AC_MSG_WARN([libnetpbm not found. Some programs will not be available.]))
+ AC_MSG_WARN([libnetpbm not found. Some programs will not be available.]), [-lm])
AM_CONDITIONAL(HAS_NETPBM, test x$netpbm = xtrue)
AM_PATH_GLIB_2_0(2.4.0, has_glib2=yes, has_glib2=no, gthread gmodule)
diff --git a/doc/Makefile.in b/doc/Makefile.in
index f648a01..23e89b7 100644
--- a/doc/Makefile.in
+++ b/doc/Makefile.in
@@ -83,6 +83,7 @@ GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
GLIB_MKENUMS = @GLIB_MKENUMS@
GOBJECT_QUERY = @GOBJECT_QUERY@
+GREP = @GREP@
GTS_MAJOR_VERSION = @GTS_MAJOR_VERSION@
GTS_MICRO_VERSION = @GTS_MICRO_VERSION@
GTS_MINOR_VERSION = @GTS_MINOR_VERSION@
@@ -117,16 +118,14 @@ PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PKG_CONFIG = @PKG_CONFIG@
RANLIB = @RANLIB@
+SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
-ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
@@ -141,6 +140,9 @@ build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
exec_prefix = @exec_prefix@
glib_cflags = @glib_cflags@
glib_libs = @glib_libs@
@@ -153,17 +155,21 @@ host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
+htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
+localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
+psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
diff --git a/doc/html/book1.html b/doc/html/book1.html
index f8d8335..dfe8c5e 100644
--- a/doc/html/book1.html
+++ b/doc/html/book1.html
@@ -80,215 +80,31 @@ CLASS="TOC"
HREF="c4.html"
>Basic Macros, functions and data structures</A
></DT
-><DD
-><DL
-><DT
-><A
-HREF="gts-binary-heaps.html"
->Binary heaps</A
-> -- efficient data structure for priority heaps.</DT
-><DT
-><A
-HREF="gts-extended-binary-heaps.html"
->Extended binary heaps</A
-> -- efficient data structure for priority heaps allowing removal of elements.</DT
><DT
><A
-HREF="gts-first-in-first-out-heaps.html"
->First In First Out heaps</A
-> -- </DT
-><DT
-><A
-HREF="gts-vectors-and-matrices.html"
->Vectors and matrices</A
-> -- simple operations on vectors and matrices.</DT
-><DT
-><A
-HREF="gts-simple-statistics.html"
->Simple statistics</A
-> -- a basic structure for computing min, max, average and variance.</DT
-><DT
-><A
-HREF="gts-miscellaneous-macros-and-functions.html"
->Miscellaneous macros and functions</A
-> -- Various utilities.</DT
-></DL
-></DD
-><DT
-><A
-HREF="c2915.html"
+HREF="c6.html"
>Geometrical Object Hierarchy</A
></DT
-><DD
-><DL
-><DT
-><A
-HREF="gts-object-class.html"
->Object class</A
-> -- parent class for all GTS objects.</DT
-><DT
-><A
-HREF="gts-container-classes.html"
->Container classes</A
-> -- </DT
><DT
><A
-HREF="gts-containee-classes.html"
->Containee classes</A
-> -- </DT
-><DT
-><A
-HREF="gts-points.html"
->Points</A
-> -- point object and related functions.</DT
-><DT
-><A
-HREF="gts-vertices.html"
->Vertices</A
-> -- vertex object and related functions.</DT
-><DT
-><A
-HREF="gts-segments.html"
->Segments</A
-> -- segment object and related functions.</DT
-><DT
-><A
-HREF="gts-edges.html"
->Edges</A
-> -- edge object and related functions.</DT
-><DT
-><A
-HREF="gts-triangles.html"
->Triangles</A
-> -- triangle object and related functions.</DT
-><DT
-><A
-HREF="gts-faces.html"
->Faces</A
-> -- face object and related functions.</DT
-><DT
-><A
-HREF="gts-surfaces.html"
->Surfaces</A
-> -- surface object and related functions.</DT
-></DL
-></DD
-><DT
-><A
-HREF="c10545.html"
+HREF="c12.html"
>Geometrical data structures</A
></DT
-><DD
-><DL
-><DT
-><A
-HREF="gts-kd-trees.html"
->Kd-Trees</A
-> -- an efficient way of doing point location queries.</DT
><DT
><A
-HREF="gts-bounding-boxes-trees.html"
->Bounding boxes trees</A
-> -- implementation of axis-aligned bounding-box trees.</DT
-></DL
-></DD
-><DT
-><A
-HREF="c12206.html"
+HREF="c14.html"
>Surface operations</A
></DT
-><DD
-><DL
><DT
><A
-HREF="gts-boolean-operations.html"
->Boolean operations</A
-> -- set operations between surfaces: union, intersection, difference.</DT
-><DT
-><A
-HREF="gts-surface-simplification-and-refinement.html"
->Surface simplification and refinement</A
-> -- reducing or increasing the number of edges of a triangulated surface.</DT
-><DT
-><A
-HREF="gts-out-of-core-simplification.html"
->Out-of-core simplification</A
-> -- objects for simplification based on vertex clustering.</DT
-><DT
-><A
-HREF="gts-isosurfaces-from-3d-functions.html"
->Isosurfaces from 3D functions</A
-> -- computing triangulated isosurfaces of a given function f(x,y,z).</DT
-><DT
-><A
-HREF="gts-delaunay-and-constrained-delaunay-triangulations.html"
->Delaunay and constrained Delaunay triangulations</A
-> -- implementation of a dynamic Delaunay triangulation algorithm.</DT
-><DT
-><A
-HREF="gts-differential-geometry-operators.html"
->Differential geometry operators</A
-> -- </DT
-></DL
-></DD
-><DT
-><A
-HREF="c15264.html"
+HREF="c16.html"
>Progressive and Hierarchical surfaces</A
></DT
-><DD
-><DL
><DT
><A
-HREF="gts-vertex-split.html"
->Vertex split</A
-> -- object encoding a reversible edge-collapse operation.</DT
-><DT
-><A
-HREF="gts-progressive-surfaces.html"
->Progressive surfaces</A
-> -- continuous level-of-detail for surfaces.</DT
-><DT
-><A
-HREF="gts-hierarchical-vertex-split.html"
->Hierarchical vertex split</A
-> -- hierarchical extension of the vertex split.</DT
-><DT
-><A
-HREF="gts-hierarchical-surfaces.html"
->Hierarchical surfaces</A
-> -- extension of progressive surfaces allowing arbitrary sequences of vertex split or collapse.</DT
-></DL
-></DD
-><DT
-><A
-HREF="c17114.html"
+HREF="c18.html"
>Graph and operations on graphs</A
></DT
-><DD
-><DL
-><DT
-><A
-HREF="gts-graph-class.html"
->Graph class</A
-> -- </DT
-><DT
-><A
-HREF="gts-weighted-graph.html"
->Weighted graph</A
-> -- </DT
-><DT
-><A
-HREF="gts-progressive-graph.html"
->Progressive graph</A
-> -- </DT
-><DT
-><A
-HREF="gts-graph-partitioning.html"
->Graph partitioning</A
-> -- </DT
-></DL
-></DD
></DL
></DIV
></DIV
diff --git a/doc/html/c10545.html b/doc/html/c12.html
similarity index 75%
copy from doc/html/c10545.html
copy to doc/html/c12.html
index fbb1b15..eed6467 100644
--- a/doc/html/c10545.html
+++ b/doc/html/c12.html
@@ -10,11 +10,11 @@ REL="HOME"
TITLE="GTS Library Reference Manual"
HREF="book1.html"><LINK
REL="PREVIOUS"
-TITLE="Surfaces"
-HREF="gts-surfaces.html"><LINK
+TITLE="Geometrical Object Hierarchy"
+HREF="c6.html"><LINK
REL="NEXT"
-TITLE="Kd-Trees"
-HREF="gts-kd-trees.html"><STYLE
+TITLE="Surface operations"
+HREF="c14.html"><STYLE
TYPE="text/css"
>.synopsis, .classsynopsis {
background: #eeeeee;
@@ -64,7 +64,7 @@ VALIGN="middle"
><TD
><A
ACCESSKEY="p"
-HREF="gts-surfaces.html"
+HREF="c6.html"
><IMG
SRC="left.png"
WIDTH="24"
@@ -90,7 +90,7 @@ align="center"
><TD
><A
ACCESSKEY="n"
-HREF="gts-kd-trees.html"
+HREF="c14.html"
><IMG
SRC="right.png"
WIDTH="24"
@@ -104,28 +104,9 @@ ALT="Next"></A
CLASS="CHAPTER"
><H1
><A
-NAME="AEN10545"
+NAME="AEN12"
></A
>Geometrical data structures</H1
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
-><A
-HREF="gts-kd-trees.html"
->Kd-Trees</A
-> -- an efficient way of doing point location queries.</DT
-><DT
-><A
-HREF="gts-bounding-boxes-trees.html"
->Bounding boxes trees</A
-> -- implementation of axis-aligned bounding-box trees.</DT
-></DL
-></DIV
></DIV
><TABLE
CLASS="navigation"
@@ -139,18 +120,18 @@ VALIGN="middle"
ALIGN="left"
><A
ACCESSKEY="p"
-HREF="gts-surfaces.html"
+HREF="c6.html"
><B
-><<< Surfaces</B
+><<< Geometrical Object Hierarchy</B
></A
></TD
><TD
ALIGN="right"
><A
ACCESSKEY="n"
-HREF="gts-kd-trees.html"
+HREF="c14.html"
><B
->Kd-Trees >>></B
+>Surface operations >>></B
></A
></TD
></TR
diff --git a/doc/html/c12206.html b/doc/html/c12206.html
deleted file mode 100644
index a34300e..0000000
--- a/doc/html/c12206.html
+++ /dev/null
@@ -1,180 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
-<HTML
-><HEAD
-><TITLE
->Surface operations</TITLE
-><META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
-REL="HOME"
-TITLE="GTS Library Reference Manual"
-HREF="book1.html"><LINK
-REL="PREVIOUS"
-TITLE="Bounding boxes trees"
-HREF="gts-bounding-boxes-trees.html"><LINK
-REL="NEXT"
-TITLE="Boolean operations"
-HREF="gts-boolean-operations.html"><STYLE
-TYPE="text/css"
->.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</STYLE
-></HEAD
-><BODY
-CLASS="CHAPTER"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><TABLE
-WIDTH="100%"
-CLASS="navigation"
-SUMMARY="Navigation header"
-CELLPADDING="2"
-CELLSPACING="2"
-><TR
-VALIGN="middle"
-><TD
-><A
-ACCESSKEY="p"
-HREF="gts-bounding-boxes-trees.html"
-><IMG
-SRC="left.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Prev"></A
-></TD
-><TD
-><A
-ACCESSKEY="h"
-HREF="book1.html"
-><IMG
-SRC="home.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Home"></A
-></TD
-><TH
-WIDTH="100%"
-align="center"
->GTS Library Reference Manual</TH
-><TD
-><A
-ACCESSKEY="n"
-HREF="gts-boolean-operations.html"
-><IMG
-SRC="right.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Next"></A
-></TD
-></TR
-></TABLE
-><DIV
-CLASS="CHAPTER"
-><H1
-><A
-NAME="AEN12206"
-></A
->Surface operations</H1
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
-><A
-HREF="gts-boolean-operations.html"
->Boolean operations</A
-> -- set operations between surfaces: union, intersection, difference.</DT
-><DT
-><A
-HREF="gts-surface-simplification-and-refinement.html"
->Surface simplification and refinement</A
-> -- reducing or increasing the number of edges of a triangulated surface.</DT
-><DT
-><A
-HREF="gts-out-of-core-simplification.html"
->Out-of-core simplification</A
-> -- objects for simplification based on vertex clustering.</DT
-><DT
-><A
-HREF="gts-isosurfaces-from-3d-functions.html"
->Isosurfaces from 3D functions</A
-> -- computing triangulated isosurfaces of a given function f(x,y,z).</DT
-><DT
-><A
-HREF="gts-delaunay-and-constrained-delaunay-triangulations.html"
->Delaunay and constrained Delaunay triangulations</A
-> -- implementation of a dynamic Delaunay triangulation algorithm.</DT
-><DT
-><A
-HREF="gts-differential-geometry-operators.html"
->Differential geometry operators</A
-> -- </DT
-></DL
-></DIV
-></DIV
-><TABLE
-CLASS="navigation"
-WIDTH="100%"
-SUMMARY="Navigation footer"
-CELLPADDING="2"
-CELLSPACING="2"
-><TR
-VALIGN="middle"
-><TD
-ALIGN="left"
-><A
-ACCESSKEY="p"
-HREF="gts-bounding-boxes-trees.html"
-><B
-><<< Bounding boxes trees</B
-></A
-></TD
-><TD
-ALIGN="right"
-><A
-ACCESSKEY="n"
-HREF="gts-boolean-operations.html"
-><B
->Boolean operations >>></B
-></A
-></TD
-></TR
-></TABLE
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/c17114.html b/doc/html/c14.html
similarity index 68%
rename from doc/html/c17114.html
rename to doc/html/c14.html
index 9e32eda..436db79 100644
--- a/doc/html/c17114.html
+++ b/doc/html/c14.html
@@ -2,7 +2,7 @@
<HTML
><HEAD
><TITLE
->Graph and operations on graphs</TITLE
+>Surface operations</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
@@ -10,11 +10,11 @@ REL="HOME"
TITLE="GTS Library Reference Manual"
HREF="book1.html"><LINK
REL="PREVIOUS"
-TITLE="Hierarchical surfaces"
-HREF="gts-hierarchical-surfaces.html"><LINK
+TITLE="Geometrical data structures"
+HREF="c12.html"><LINK
REL="NEXT"
-TITLE="Graph class"
-HREF="gts-graph-class.html"><STYLE
+TITLE="Progressive and Hierarchical surfaces"
+HREF="c16.html"><STYLE
TYPE="text/css"
>.synopsis, .classsynopsis {
background: #eeeeee;
@@ -64,7 +64,7 @@ VALIGN="middle"
><TD
><A
ACCESSKEY="p"
-HREF="gts-hierarchical-surfaces.html"
+HREF="c12.html"
><IMG
SRC="left.png"
WIDTH="24"
@@ -90,7 +90,7 @@ align="center"
><TD
><A
ACCESSKEY="n"
-HREF="gts-graph-class.html"
+HREF="c16.html"
><IMG
SRC="right.png"
WIDTH="24"
@@ -104,38 +104,9 @@ ALT="Next"></A
CLASS="CHAPTER"
><H1
><A
-NAME="AEN17114"
+NAME="AEN14"
></A
->Graph and operations on graphs</H1
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
-><A
-HREF="gts-graph-class.html"
->Graph class</A
-> -- </DT
-><DT
-><A
-HREF="gts-weighted-graph.html"
->Weighted graph</A
-> -- </DT
-><DT
-><A
-HREF="gts-progressive-graph.html"
->Progressive graph</A
-> -- </DT
-><DT
-><A
-HREF="gts-graph-partitioning.html"
->Graph partitioning</A
-> -- </DT
-></DL
-></DIV
+>Surface operations</H1
></DIV
><TABLE
CLASS="navigation"
@@ -149,18 +120,18 @@ VALIGN="middle"
ALIGN="left"
><A
ACCESSKEY="p"
-HREF="gts-hierarchical-surfaces.html"
+HREF="c12.html"
><B
-><<< Hierarchical surfaces</B
+><<< Geometrical data structures</B
></A
></TD
><TD
ALIGN="right"
><A
ACCESSKEY="n"
-HREF="gts-graph-class.html"
+HREF="c16.html"
><B
->Graph class >>></B
+>Progressive and Hierarchical surfaces >>></B
></A
></TD
></TR
diff --git a/doc/html/c15264.html b/doc/html/c16.html
similarity index 63%
rename from doc/html/c15264.html
rename to doc/html/c16.html
index 1876bcf..0ec85ab 100644
--- a/doc/html/c15264.html
+++ b/doc/html/c16.html
@@ -10,11 +10,11 @@ REL="HOME"
TITLE="GTS Library Reference Manual"
HREF="book1.html"><LINK
REL="PREVIOUS"
-TITLE="Differential geometry operators"
-HREF="gts-differential-geometry-operators.html"><LINK
+TITLE="Surface operations"
+HREF="c14.html"><LINK
REL="NEXT"
-TITLE="Vertex split"
-HREF="gts-vertex-split.html"><STYLE
+TITLE="Graph and operations on graphs"
+HREF="c18.html"><STYLE
TYPE="text/css"
>.synopsis, .classsynopsis {
background: #eeeeee;
@@ -64,7 +64,7 @@ VALIGN="middle"
><TD
><A
ACCESSKEY="p"
-HREF="gts-differential-geometry-operators.html"
+HREF="c14.html"
><IMG
SRC="left.png"
WIDTH="24"
@@ -90,7 +90,7 @@ align="center"
><TD
><A
ACCESSKEY="n"
-HREF="gts-vertex-split.html"
+HREF="c18.html"
><IMG
SRC="right.png"
WIDTH="24"
@@ -104,38 +104,9 @@ ALT="Next"></A
CLASS="CHAPTER"
><H1
><A
-NAME="AEN15264"
+NAME="AEN16"
></A
>Progressive and Hierarchical surfaces</H1
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
-><A
-HREF="gts-vertex-split.html"
->Vertex split</A
-> -- object encoding a reversible edge-collapse operation.</DT
-><DT
-><A
-HREF="gts-progressive-surfaces.html"
->Progressive surfaces</A
-> -- continuous level-of-detail for surfaces.</DT
-><DT
-><A
-HREF="gts-hierarchical-vertex-split.html"
->Hierarchical vertex split</A
-> -- hierarchical extension of the vertex split.</DT
-><DT
-><A
-HREF="gts-hierarchical-surfaces.html"
->Hierarchical surfaces</A
-> -- extension of progressive surfaces allowing arbitrary sequences of vertex split or collapse.</DT
-></DL
-></DIV
></DIV
><TABLE
CLASS="navigation"
@@ -149,18 +120,18 @@ VALIGN="middle"
ALIGN="left"
><A
ACCESSKEY="p"
-HREF="gts-differential-geometry-operators.html"
+HREF="c14.html"
><B
-><<< Differential geometry operators</B
+><<< Surface operations</B
></A
></TD
><TD
ALIGN="right"
><A
ACCESSKEY="n"
-HREF="gts-vertex-split.html"
+HREF="c18.html"
><B
->Vertex split >>></B
+>Graph and operations on graphs >>></B
></A
></TD
></TR
diff --git a/doc/html/c10545.html b/doc/html/c18.html
similarity index 66%
rename from doc/html/c10545.html
rename to doc/html/c18.html
index fbb1b15..e51f888 100644
--- a/doc/html/c10545.html
+++ b/doc/html/c18.html
@@ -2,7 +2,7 @@
<HTML
><HEAD
><TITLE
->Geometrical data structures</TITLE
+>Graph and operations on graphs</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
@@ -10,11 +10,8 @@ REL="HOME"
TITLE="GTS Library Reference Manual"
HREF="book1.html"><LINK
REL="PREVIOUS"
-TITLE="Surfaces"
-HREF="gts-surfaces.html"><LINK
-REL="NEXT"
-TITLE="Kd-Trees"
-HREF="gts-kd-trees.html"><STYLE
+TITLE="Progressive and Hierarchical surfaces"
+HREF="c16.html"><STYLE
TYPE="text/css"
>.synopsis, .classsynopsis {
background: #eeeeee;
@@ -64,7 +61,7 @@ VALIGN="middle"
><TD
><A
ACCESSKEY="p"
-HREF="gts-surfaces.html"
+HREF="c16.html"
><IMG
SRC="left.png"
WIDTH="24"
@@ -87,45 +84,15 @@ ALT="Home"></A
WIDTH="100%"
align="center"
>GTS Library Reference Manual</TH
-><TD
-><A
-ACCESSKEY="n"
-HREF="gts-kd-trees.html"
-><IMG
-SRC="right.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Next"></A
-></TD
></TR
></TABLE
><DIV
CLASS="CHAPTER"
><H1
><A
-NAME="AEN10545"
+NAME="AEN18"
></A
->Geometrical data structures</H1
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
-><A
-HREF="gts-kd-trees.html"
->Kd-Trees</A
-> -- an efficient way of doing point location queries.</DT
-><DT
-><A
-HREF="gts-bounding-boxes-trees.html"
->Bounding boxes trees</A
-> -- implementation of axis-aligned bounding-box trees.</DT
-></DL
-></DIV
+>Graph and operations on graphs</H1
></DIV
><TABLE
CLASS="navigation"
@@ -139,19 +106,13 @@ VALIGN="middle"
ALIGN="left"
><A
ACCESSKEY="p"
-HREF="gts-surfaces.html"
+HREF="c16.html"
><B
-><<< Surfaces</B
+><<< Progressive and Hierarchical surfaces</B
></A
></TD
><TD
ALIGN="right"
-><A
-ACCESSKEY="n"
-HREF="gts-kd-trees.html"
-><B
->Kd-Trees >>></B
-></A
></TD
></TR
></TABLE
diff --git a/doc/html/c4.html b/doc/html/c4.html
index 4218524..920e17c 100644
--- a/doc/html/c4.html
+++ b/doc/html/c4.html
@@ -13,8 +13,8 @@ REL="PREVIOUS"
TITLE="GTS Library Reference Manual"
HREF="book1.html"><LINK
REL="NEXT"
-TITLE="Binary heaps"
-HREF="gts-binary-heaps.html"><STYLE
+TITLE="Geometrical Object Hierarchy"
+HREF="c6.html"><STYLE
TYPE="text/css"
>.synopsis, .classsynopsis {
background: #eeeeee;
@@ -90,7 +90,7 @@ align="center"
><TD
><A
ACCESSKEY="n"
-HREF="gts-binary-heaps.html"
+HREF="c6.html"
><IMG
SRC="right.png"
WIDTH="24"
@@ -107,45 +107,6 @@ CLASS="CHAPTER"
NAME="AEN4"
></A
>Basic Macros, functions and data structures</H1
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
-><A
-HREF="gts-binary-heaps.html"
->Binary heaps</A
-> -- efficient data structure for priority heaps.</DT
-><DT
-><A
-HREF="gts-extended-binary-heaps.html"
->Extended binary heaps</A
-> -- efficient data structure for priority heaps allowing removal of elements.</DT
-><DT
-><A
-HREF="gts-first-in-first-out-heaps.html"
->First In First Out heaps</A
-> -- </DT
-><DT
-><A
-HREF="gts-vectors-and-matrices.html"
->Vectors and matrices</A
-> -- simple operations on vectors and matrices.</DT
-><DT
-><A
-HREF="gts-simple-statistics.html"
->Simple statistics</A
-> -- a basic structure for computing min, max, average and variance.</DT
-><DT
-><A
-HREF="gts-miscellaneous-macros-and-functions.html"
->Miscellaneous macros and functions</A
-> -- Various utilities.</DT
-></DL
-></DIV
></DIV
><TABLE
CLASS="navigation"
@@ -168,9 +129,9 @@ HREF="book1.html"
ALIGN="right"
><A
ACCESSKEY="n"
-HREF="gts-binary-heaps.html"
+HREF="c6.html"
><B
->Binary heaps >>></B
+>Geometrical Object Hierarchy >>></B
></A
></TD
></TR
diff --git a/doc/html/c2915.html b/doc/html/c6.html
similarity index 70%
rename from doc/html/c2915.html
rename to doc/html/c6.html
index 18de2db..d63d485 100644
--- a/doc/html/c2915.html
+++ b/doc/html/c6.html
@@ -10,11 +10,11 @@ REL="HOME"
TITLE="GTS Library Reference Manual"
HREF="book1.html"><LINK
REL="PREVIOUS"
-TITLE="Miscellaneous macros and functions"
-HREF="gts-miscellaneous-macros-and-functions.html"><LINK
+TITLE="Basic Macros, functions and data structures"
+HREF="c4.html"><LINK
REL="NEXT"
-TITLE="Object class"
-HREF="gts-object-class.html"><STYLE
+TITLE="Geometrical data structures"
+HREF="c12.html"><STYLE
TYPE="text/css"
>.synopsis, .classsynopsis {
background: #eeeeee;
@@ -64,7 +64,7 @@ VALIGN="middle"
><TD
><A
ACCESSKEY="p"
-HREF="gts-miscellaneous-macros-and-functions.html"
+HREF="c4.html"
><IMG
SRC="left.png"
WIDTH="24"
@@ -90,7 +90,7 @@ align="center"
><TD
><A
ACCESSKEY="n"
-HREF="gts-object-class.html"
+HREF="c12.html"
><IMG
SRC="right.png"
WIDTH="24"
@@ -104,68 +104,9 @@ ALT="Next"></A
CLASS="CHAPTER"
><H1
><A
-NAME="AEN2915"
+NAME="AEN6"
></A
>Geometrical Object Hierarchy</H1
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
-><A
-HREF="gts-object-class.html"
->Object class</A
-> -- parent class for all GTS objects.</DT
-><DT
-><A
-HREF="gts-container-classes.html"
->Container classes</A
-> -- </DT
-><DT
-><A
-HREF="gts-containee-classes.html"
->Containee classes</A
-> -- </DT
-><DT
-><A
-HREF="gts-points.html"
->Points</A
-> -- point object and related functions.</DT
-><DT
-><A
-HREF="gts-vertices.html"
->Vertices</A
-> -- vertex object and related functions.</DT
-><DT
-><A
-HREF="gts-segments.html"
->Segments</A
-> -- segment object and related functions.</DT
-><DT
-><A
-HREF="gts-edges.html"
->Edges</A
-> -- edge object and related functions.</DT
-><DT
-><A
-HREF="gts-triangles.html"
->Triangles</A
-> -- triangle object and related functions.</DT
-><DT
-><A
-HREF="gts-faces.html"
->Faces</A
-> -- face object and related functions.</DT
-><DT
-><A
-HREF="gts-surfaces.html"
->Surfaces</A
-> -- surface object and related functions.</DT
-></DL
-></DIV
><P
> GTS uses a simple object system implemented in C which allows all
the basic paradigms of object-oriented programming: inheritance of
@@ -211,18 +152,18 @@ VALIGN="middle"
ALIGN="left"
><A
ACCESSKEY="p"
-HREF="gts-miscellaneous-macros-and-functions.html"
+HREF="c4.html"
><B
-><<< Miscellaneous macros and functions</B
+><<< Basic Macros, functions and data structures</B
></A
></TD
><TD
ALIGN="right"
><A
ACCESSKEY="n"
-HREF="gts-object-class.html"
+HREF="c12.html"
><B
->Object class >>></B
+>Geometrical data structures >>></B
></A
></TD
></TR
diff --git a/doc/html/gts-binary-heaps.html b/doc/html/gts-binary-heaps.html
deleted file mode 100644
index 463e39f..0000000
--- a/doc/html/gts-binary-heaps.html
+++ /dev/null
@@ -1,1071 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
-<HTML
-><HEAD
-><TITLE
->Binary heaps</TITLE
-><META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
-REL="HOME"
-TITLE="GTS Library Reference Manual"
-HREF="book1.html"><LINK
-REL="UP"
-TITLE="Basic Macros, functions and data structures"
-HREF="c4.html"><LINK
-REL="PREVIOUS"
-TITLE="Basic Macros, functions and data structures"
-HREF="c4.html"><LINK
-REL="NEXT"
-TITLE="Extended binary heaps"
-HREF="gts-extended-binary-heaps.html"><STYLE
-TYPE="text/css"
->.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</STYLE
-></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><TABLE
-WIDTH="100%"
-CLASS="navigation"
-SUMMARY="Navigation header"
-CELLPADDING="2"
-CELLSPACING="2"
-><TR
-VALIGN="middle"
-><TD
-><A
-ACCESSKEY="p"
-HREF="c4.html"
-><IMG
-SRC="left.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Prev"></A
-></TD
-><TD
-><A
-ACCESSKEY="u"
-HREF="c4.html"
-><IMG
-SRC="up.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Up"></A
-></TD
-><TD
-><A
-ACCESSKEY="h"
-HREF="book1.html"
-><IMG
-SRC="home.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Home"></A
-></TD
-><TH
-WIDTH="100%"
-align="center"
->GTS Library Reference Manual</TH
-><TD
-><A
-ACCESSKEY="n"
-HREF="gts-extended-binary-heaps.html"
-><IMG
-SRC="right.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Next"></A
-></TD
-></TR
-></TABLE
-><H1
-><A
-NAME="GTS-BINARY-HEAPS"
-></A
->Binary heaps</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN11"
-></A
-><H2
->Name</H2
->Binary heaps -- efficient data structure for priority heaps.</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN14"
-></A
-><H2
->Synopsis</H2
-><PRE
-CLASS="SYNOPSIS"
->
#include <gts.h>
-
-
- <A
-HREF="gts-binary-heaps.html#GTSHEAP"
->GtsHeap</A
->;
-
-<A
-HREF="gts-binary-heaps.html#GTSHEAP"
->GtsHeap</A
->* <A
-HREF="gts-binary-heaps.html#GTS-HEAP-NEW"
->gts_heap_new</A
-> (<GTKDOCLINK
-HREF="GCOMPAREFUNC"
->GCompareFunc</GTKDOCLINK
-> compare_func);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-binary-heaps.html#GTS-HEAP-INSERT"
->gts_heap_insert</A
-> (<A
-HREF="gts-binary-heaps.html#GTSHEAP"
->GtsHeap</A
-> *heap,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> p);
-<GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> <A
-HREF="gts-binary-heaps.html#GTS-HEAP-REMOVE-TOP"
->gts_heap_remove_top</A
-> (<A
-HREF="gts-binary-heaps.html#GTSHEAP"
->GtsHeap</A
-> *heap);
-<GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> <A
-HREF="gts-binary-heaps.html#GTS-HEAP-TOP"
->gts_heap_top</A
-> (<A
-HREF="gts-binary-heaps.html#GTSHEAP"
->GtsHeap</A
-> *heap);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-binary-heaps.html#GTS-HEAP-FREEZE"
->gts_heap_freeze</A
-> (<A
-HREF="gts-binary-heaps.html#GTSHEAP"
->GtsHeap</A
-> *heap);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-binary-heaps.html#GTS-HEAP-THAW"
->gts_heap_thaw</A
-> (<A
-HREF="gts-binary-heaps.html#GTSHEAP"
->GtsHeap</A
-> *heap);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-binary-heaps.html#GTS-HEAP-FOREACH"
->gts_heap_foreach</A
-> (<A
-HREF="gts-binary-heaps.html#GTSHEAP"
->GtsHeap</A
-> *heap,
- <GTKDOCLINK
-HREF="GFUNC"
->GFunc</GTKDOCLINK
-> func,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> user_data);
-<GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> <A
-HREF="gts-binary-heaps.html#GTS-HEAP-SIZE"
->gts_heap_size</A
-> (<A
-HREF="gts-binary-heaps.html#GTSHEAP"
->GtsHeap</A
-> *heap);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-binary-heaps.html#GTS-HEAP-DESTROY"
->gts_heap_destroy</A
-> (<A
-HREF="gts-binary-heaps.html#GTSHEAP"
->GtsHeap</A
-> *heap);</PRE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN48"
-></A
-><H2
->Description</H2
-><P
->The basic operations <A
-HREF="gts-binary-heaps.html#GTS-HEAP-INSERT"
-><CODE
-CLASS="FUNCTION"
->gts_heap_insert()</CODE
-></A
-> and <A
-HREF="gts-binary-heaps.html#GTS-HEAP-REMOVE-TOP"
-><CODE
-CLASS="FUNCTION"
->gts_heap_remove_top()</CODE
-></A
-> are performed in O(log n) time. Calling <A
-HREF="gts-binary-heaps.html#GTS-HEAP-FREEZE"
-><CODE
-CLASS="FUNCTION"
->gts_heap_freeze()</CODE
-></A
->, inserting elements using <A
-HREF="gts-binary-heaps.html#GTS-HEAP-INSERT"
-><CODE
-CLASS="FUNCTION"
->gts_heap_insert()</CODE
-></A
-> and calling <A
-HREF="gts-binary-heaps.html#GTS-HEAP-THAW"
-><CODE
-CLASS="FUNCTION"
->gts_heap_thaw()</CODE
-></A
-> allows to build the binary heap in O(n) time.</P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN61"
-></A
-><H2
->Details</H2
-><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN63"
-></A
-><H3
-><A
-NAME="GTSHEAP"
-></A
->GtsHeap</H3
-><PRE
-CLASS="PROGRAMLISTING"
->typedef struct _GtsHeap GtsHeap;</PRE
-><P
->An opaque data structure describing a binary heap.</P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN70"
-></A
-><H3
-><A
-NAME="GTS-HEAP-NEW"
-></A
->gts_heap_new ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-binary-heaps.html#GTSHEAP"
->GtsHeap</A
->* gts_heap_new (<GTKDOCLINK
-HREF="GCOMPAREFUNC"
->GCompareFunc</GTKDOCLINK
-> compare_func);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN81"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->compare_func</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a GCompareFunc.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN86"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a new <A
-HREF="gts-binary-heaps.html#GTSHEAP"
-><SPAN
-CLASS="TYPE"
->GtsHeap</SPAN
-></A
-> using <CODE
-CLASS="PARAMETER"
->compare_func</CODE
-> as a sorting function.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN94"
-></A
-><H3
-><A
-NAME="GTS-HEAP-INSERT"
-></A
->gts_heap_insert ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_heap_insert (<A
-HREF="gts-binary-heaps.html#GTSHEAP"
->GtsHeap</A
-> *heap,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> p);</PRE
-><P
->Inserts a new element <CODE
-CLASS="PARAMETER"
->p</CODE
-> in the heap.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN107"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->heap</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-binary-heaps.html#GTSHEAP"
-><SPAN
-CLASS="TYPE"
->GtsHeap</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN114"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->p</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a pointer to add to the heap.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN119"
-></A
-><H3
-><A
-NAME="GTS-HEAP-REMOVE-TOP"
-></A
->gts_heap_remove_top ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> gts_heap_remove_top (<A
-HREF="gts-binary-heaps.html#GTSHEAP"
->GtsHeap</A
-> *heap);</PRE
-><P
->Removes the element at the top of the heap.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN130"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->heap</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-binary-heaps.html#GTSHEAP"
-><SPAN
-CLASS="TYPE"
->GtsHeap</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN137"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the element at the top of the heap.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN142"
-></A
-><H3
-><A
-NAME="GTS-HEAP-TOP"
-></A
->gts_heap_top ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> gts_heap_top (<A
-HREF="gts-binary-heaps.html#GTSHEAP"
->GtsHeap</A
-> *heap);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN153"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->heap</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-binary-heaps.html#GTSHEAP"
-><SPAN
-CLASS="TYPE"
->GtsHeap</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN160"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the element at the top of the heap.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN165"
-></A
-><H3
-><A
-NAME="GTS-HEAP-FREEZE"
-></A
->gts_heap_freeze ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_heap_freeze (<A
-HREF="gts-binary-heaps.html#GTSHEAP"
->GtsHeap</A
-> *heap);</PRE
-><P
->Freezes the heap. Any subsequent operation will not preserve the heap
-property. Used in conjunction with <A
-HREF="gts-binary-heaps.html#GTS-HEAP-INSERT"
-><CODE
-CLASS="FUNCTION"
->gts_heap_insert()</CODE
-></A
-> and <A
-HREF="gts-binary-heaps.html#GTS-HEAP-THAW"
-><CODE
-CLASS="FUNCTION"
->gts_heap_thaw()</CODE
-></A
->
-to create a heap in O(n) time.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN180"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->heap</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-binary-heaps.html#GTSHEAP"
-><SPAN
-CLASS="TYPE"
->GtsHeap</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN187"
-></A
-><H3
-><A
-NAME="GTS-HEAP-THAW"
-></A
->gts_heap_thaw ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_heap_thaw (<A
-HREF="gts-binary-heaps.html#GTSHEAP"
->GtsHeap</A
-> *heap);</PRE
-><P
->If <CODE
-CLASS="PARAMETER"
->heap</CODE
-> has been frozen previously using <A
-HREF="gts-binary-heaps.html#GTS-HEAP-FREEZE"
-><CODE
-CLASS="FUNCTION"
->gts_heap_freeze()</CODE
-></A
->, reorder it
-in O(n) time and unfreeze it.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN201"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->heap</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-binary-heaps.html#GTSHEAP"
-><SPAN
-CLASS="TYPE"
->GtsHeap</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN208"
-></A
-><H3
-><A
-NAME="GTS-HEAP-FOREACH"
-></A
->gts_heap_foreach ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_heap_foreach (<A
-HREF="gts-binary-heaps.html#GTSHEAP"
->GtsHeap</A
-> *heap,
- <GTKDOCLINK
-HREF="GFUNC"
->GFunc</GTKDOCLINK
-> func,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> user_data);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN221"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->heap</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-binary-heaps.html#GTSHEAP"
-><SPAN
-CLASS="TYPE"
->GtsHeap</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN228"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->func</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the function to call for each element in the heap.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN233"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->user_data</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> to pass to <CODE
-CLASS="PARAMETER"
->func</CODE
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN239"
-></A
-><H3
-><A
-NAME="GTS-HEAP-SIZE"
-></A
->gts_heap_size ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> gts_heap_size (<A
-HREF="gts-binary-heaps.html#GTSHEAP"
->GtsHeap</A
-> *heap);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN250"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->heap</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-binary-heaps.html#GTSHEAP"
-><SPAN
-CLASS="TYPE"
->GtsHeap</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN257"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the number of items in <CODE
-CLASS="PARAMETER"
->heap</CODE
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN263"
-></A
-><H3
-><A
-NAME="GTS-HEAP-DESTROY"
-></A
->gts_heap_destroy ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_heap_destroy (<A
-HREF="gts-binary-heaps.html#GTSHEAP"
->GtsHeap</A
-> *heap);</PRE
-><P
->Free all the memory allocated for <CODE
-CLASS="PARAMETER"
->heap</CODE
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN275"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->heap</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-binary-heaps.html#GTSHEAP"
-><SPAN
-CLASS="TYPE"
->GtsHeap</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-></DIV
-><TABLE
-CLASS="navigation"
-WIDTH="100%"
-SUMMARY="Navigation footer"
-CELLPADDING="2"
-CELLSPACING="2"
-><TR
-VALIGN="middle"
-><TD
-ALIGN="left"
-><A
-ACCESSKEY="p"
-HREF="c4.html"
-><B
-><<< Basic Macros, functions and data structures</B
-></A
-></TD
-><TD
-ALIGN="right"
-><A
-ACCESSKEY="n"
-HREF="gts-extended-binary-heaps.html"
-><B
->Extended binary heaps >>></B
-></A
-></TD
-></TR
-></TABLE
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/gts-boolean-operations.html b/doc/html/gts-boolean-operations.html
deleted file mode 100644
index 56226a3..0000000
--- a/doc/html/gts-boolean-operations.html
+++ /dev/null
@@ -1,1631 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
-<HTML
-><HEAD
-><TITLE
->Boolean operations</TITLE
-><META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
-REL="HOME"
-TITLE="GTS Library Reference Manual"
-HREF="book1.html"><LINK
-REL="UP"
-TITLE="Surface operations"
-HREF="c12206.html"><LINK
-REL="PREVIOUS"
-TITLE="Surface operations"
-HREF="c12206.html"><LINK
-REL="NEXT"
-TITLE="Surface simplification and refinement"
-HREF="gts-surface-simplification-and-refinement.html"><STYLE
-TYPE="text/css"
->.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</STYLE
-></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><TABLE
-WIDTH="100%"
-CLASS="navigation"
-SUMMARY="Navigation header"
-CELLPADDING="2"
-CELLSPACING="2"
-><TR
-VALIGN="middle"
-><TD
-><A
-ACCESSKEY="p"
-HREF="c12206.html"
-><IMG
-SRC="left.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Prev"></A
-></TD
-><TD
-><A
-ACCESSKEY="u"
-HREF="c12206.html"
-><IMG
-SRC="up.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Up"></A
-></TD
-><TD
-><A
-ACCESSKEY="h"
-HREF="book1.html"
-><IMG
-SRC="home.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Home"></A
-></TD
-><TH
-WIDTH="100%"
-align="center"
->GTS Library Reference Manual</TH
-><TD
-><A
-ACCESSKEY="n"
-HREF="gts-surface-simplification-and-refinement.html"
-><IMG
-SRC="right.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Next"></A
-></TD
-></TR
-></TABLE
-><H1
-><A
-NAME="GTS-BOOLEAN-OPERATIONS"
-></A
->Boolean operations</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN12213"
-></A
-><H2
->Name</H2
->Boolean operations -- set operations between surfaces: union, intersection, difference.</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN12216"
-></A
-><H2
->Synopsis</H2
-><PRE
-CLASS="SYNOPSIS"
->
#include <gts.h>
-
-
-#define <A
-HREF="gts-boolean-operations.html#GTS-SURFACE-INTER-CLASS:CAPS"
->GTS_SURFACE_INTER_CLASS</A
-> (klass)
-#define <A
-HREF="gts-boolean-operations.html#GTS-SURFACE-INTER:CAPS"
->GTS_SURFACE_INTER</A
-> (obj)
-#define <A
-HREF="gts-boolean-operations.html#GTS-IS-SURFACE-INTER:CAPS"
->GTS_IS_SURFACE_INTER</A
-> (obj)
- <A
-HREF="gts-boolean-operations.html#GTSSURFACEINTERCLASS"
->GtsSurfaceInterClass</A
->;
- <A
-HREF="gts-boolean-operations.html#GTSSURFACEINTER"
->GtsSurfaceInter</A
->;
-
-<GTKDOCLINK
-HREF="GSLIST"
->GSList</GTKDOCLINK
->* <A
-HREF="gts-boolean-operations.html#GTS-SURFACE-INTERSECTION"
->gts_surface_intersection</A
-> (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s1,
- <A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s2,
- <GTKDOCLINK
-HREF="GNODE"
->GNode</GTKDOCLINK
-> *faces_tree1,
- <GTKDOCLINK
-HREF="GNODE"
->GNode</GTKDOCLINK
-> *faces_tree2);
-<A
-HREF="gts-boolean-operations.html#GTSSURFACEINTERCLASS"
->GtsSurfaceInterClass</A
->* <A
-HREF="gts-boolean-operations.html#GTS-SURFACE-INTER-CLASS"
->gts_surface_inter_class</A
->
- (void);
-<A
-HREF="gts-boolean-operations.html#GTSSURFACEINTER"
->GtsSurfaceInter</A
->* <A
-HREF="gts-boolean-operations.html#GTS-SURFACE-INTER-NEW"
->gts_surface_inter_new</A
-> (<A
-HREF="gts-boolean-operations.html#GTSSURFACEINTERCLASS"
->GtsSurfaceInterClass</A
-> *klass,
- <A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s1,
- <A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s2,
- <GTKDOCLINK
-HREF="GNODE"
->GNode</GTKDOCLINK
-> *faces_tree1,
- <GTKDOCLINK
-HREF="GNODE"
->GNode</GTKDOCLINK
-> *faces_tree2,
- <GTKDOCLINK
-HREF="GBOOLEAN"
->gboolean</GTKDOCLINK
-> is_open1,
- <GTKDOCLINK
-HREF="GBOOLEAN"
->gboolean</GTKDOCLINK
-> is_open2);
-<GTKDOCLINK
-HREF="GBOOLEAN"
->gboolean</GTKDOCLINK
-> <A
-HREF="gts-boolean-operations.html#GTS-SURFACE-INTER-CHECK"
->gts_surface_inter_check</A
-> (<A
-HREF="gts-boolean-operations.html#GTSSURFACEINTER"
->GtsSurfaceInter</A
-> *si,
- <GTKDOCLINK
-HREF="GBOOLEAN"
->gboolean</GTKDOCLINK
-> *closed);
-enum <A
-HREF="gts-boolean-operations.html#GTSBOOLEANOPERATION"
->GtsBooleanOperation</A
->;
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-boolean-operations.html#GTS-SURFACE-INTER-BOOLEAN"
->gts_surface_inter_boolean</A
-> (<A
-HREF="gts-boolean-operations.html#GTSSURFACEINTER"
->GtsSurfaceInter</A
-> *si,
- <A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *surface,
- <A
-HREF="gts-boolean-operations.html#GTSBOOLEANOPERATION"
->GtsBooleanOperation</A
-> op);
-<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
->* <A
-HREF="gts-boolean-operations.html#GTS-SURFACE-IS-SELF-INTERSECTING"
->gts_surface_is_self_intersecting</A
->
- (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s);</PRE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN12254"
-></A
-><H2
->Description</H2
-><P
->The three-dimensional curve intersection of two surfaces is described by a <A
-HREF="gts-boolean-operations.html#GTSSURFACEINTER"
-><SPAN
-CLASS="TYPE"
->GtsSurfaceInter</SPAN
-></A
-> object. This object contains additional information which allows to compute all the set operations between the two surfaces.</P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN12259"
-></A
-><H2
->Details</H2
-><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN12261"
-></A
-><H3
-><A
-NAME="GTS-SURFACE-INTER-CLASS:CAPS"
-></A
->GTS_SURFACE_INTER_CLASS()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_SURFACE_INTER_CLASS(klass)</PRE
-><P
->Casts <CODE
-CLASS="PARAMETER"
->klass</CODE
-> to <A
-HREF="gts-boolean-operations.html#GTSSURFACEINTERCLASS"
-><SPAN
-CLASS="TYPE"
->GtsSurfaceInterClass</SPAN
-></A
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN12273"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->klass</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a descendant of <A
-HREF="gts-boolean-operations.html#GTSSURFACEINTERCLASS"
-><SPAN
-CLASS="TYPE"
->GtsSurfaceInterClass</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN12280"
-></A
-><H3
-><A
-NAME="GTS-SURFACE-INTER:CAPS"
-></A
->GTS_SURFACE_INTER()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_SURFACE_INTER(obj)</PRE
-><P
->Casts <CODE
-CLASS="PARAMETER"
->obj</CODE
-> to <A
-HREF="gts-boolean-operations.html#GTSSURFACEINTER"
-><SPAN
-CLASS="TYPE"
->GtsSurfaceInter</SPAN
-></A
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN12292"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->obj</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a descendant of <A
-HREF="gts-boolean-operations.html#GTSSURFACEINTER"
-><SPAN
-CLASS="TYPE"
->GtsSurfaceInter</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN12299"
-></A
-><H3
-><A
-NAME="GTS-IS-SURFACE-INTER:CAPS"
-></A
->GTS_IS_SURFACE_INTER()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_IS_SURFACE_INTER(obj)</PRE
-><P
->Evaluates to <TT
-CLASS="LITERAL"
->TRUE</TT
-> if <CODE
-CLASS="PARAMETER"
->obj</CODE
-> is a <A
-HREF="gts-boolean-operations.html#GTSSURFACEINTER"
-><SPAN
-CLASS="TYPE"
->GtsSurfaceInter</SPAN
-></A
->, <TT
-CLASS="LITERAL"
->FALSE</TT
-> otherwise.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN12313"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->obj</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-object-class.html#GTSOBJECT"
-><SPAN
-CLASS="TYPE"
->GtsObject</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN12320"
-></A
-><H3
-><A
-NAME="GTSSURFACEINTERCLASS"
-></A
->GtsSurfaceInterClass</H3
-><PRE
-CLASS="PROGRAMLISTING"
->typedef struct {
- GtsObjectClass parent_class;
-} GtsSurfaceInterClass;</PRE
-><P
->The surface intersection class.</P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN12327"
-></A
-><H3
-><A
-NAME="GTSSURFACEINTER"
-></A
->GtsSurfaceInter</H3
-><PRE
-CLASS="PROGRAMLISTING"
->typedef struct {
- GtsObject object;
-
- GtsSurface * s1;
- GtsSurface * s2;
- GSList * edges;
-} GtsSurfaceInter;</PRE
-><P
->The surface intersection object.</P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN12335"><SPAN
-STYLE="white-space: nowrap"
-><A
-HREF="gts-object-class.html#GTSOBJECT"
->GtsObject</A
-> <CODE
-CLASS="STRUCTFIELD"
->object</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->Parent object.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN12341"><SPAN
-STYLE="white-space: nowrap"
-><A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *<CODE
-CLASS="STRUCTFIELD"
->s1</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->Local triangulation of the intersecting faces of the first surface.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN12347"><SPAN
-STYLE="white-space: nowrap"
-><A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *<CODE
-CLASS="STRUCTFIELD"
->s2</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->Local triangulation of the intersecting faces of the second surface.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN12353"><SPAN
-STYLE="white-space: nowrap"
-><GTKDOCLINK
-HREF="GSLIST"
->GSList</GTKDOCLINK
-> *<CODE
-CLASS="STRUCTFIELD"
->edges</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->List of <A
-HREF="gts-edges.html#GTSEDGE"
-><SPAN
-CLASS="TYPE"
->GtsEdge</SPAN
-></A
-> defining the 3D curve intersection of the two surfaces.
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN12361"
-></A
-><H3
-><A
-NAME="GTS-SURFACE-INTERSECTION"
-></A
->gts_surface_intersection ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GSLIST"
->GSList</GTKDOCLINK
->* gts_surface_intersection (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s1,
- <A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s2,
- <GTKDOCLINK
-HREF="GNODE"
->GNode</GTKDOCLINK
-> *faces_tree1,
- <GTKDOCLINK
-HREF="GNODE"
->GNode</GTKDOCLINK
-> *faces_tree2);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN12375"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->s1</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN12382"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->s2</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN12389"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->faces_tree1</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a bounding box tree (see <A
-HREF="gts-bounding-boxes-trees.html#GTS-BB-TREE-NEW"
-><CODE
-CLASS="FUNCTION"
->gts_bb_tree_new()</CODE
-></A
->) for
-the faces of <CODE
-CLASS="PARAMETER"
->s1</CODE
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN12397"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->faces_tree2</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a bounding box tree for the faces of <CODE
-CLASS="PARAMETER"
->s2</CODE
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN12403"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a list of <A
-HREF="gts-edges.html#GTSEDGE"
-><SPAN
-CLASS="TYPE"
->GtsEdge</SPAN
-></A
-> defining the curve intersection of the
-two surfaces.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN12410"
-></A
-><H3
-><A
-NAME="GTS-SURFACE-INTER-CLASS"
-></A
->gts_surface_inter_class ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-boolean-operations.html#GTSSURFACEINTERCLASS"
->GtsSurfaceInterClass</A
->* gts_surface_inter_class
- (void);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN12420"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the <A
-HREF="gts-boolean-operations.html#GTSSURFACEINTERCLASS"
-><SPAN
-CLASS="TYPE"
->GtsSurfaceInterClass</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN12427"
-></A
-><H3
-><A
-NAME="GTS-SURFACE-INTER-NEW"
-></A
->gts_surface_inter_new ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-boolean-operations.html#GTSSURFACEINTER"
->GtsSurfaceInter</A
->* gts_surface_inter_new (<A
-HREF="gts-boolean-operations.html#GTSSURFACEINTERCLASS"
->GtsSurfaceInterClass</A
-> *klass,
- <A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s1,
- <A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s2,
- <GTKDOCLINK
-HREF="GNODE"
->GNode</GTKDOCLINK
-> *faces_tree1,
- <GTKDOCLINK
-HREF="GNODE"
->GNode</GTKDOCLINK
-> *faces_tree2,
- <GTKDOCLINK
-HREF="GBOOLEAN"
->gboolean</GTKDOCLINK
-> is_open1,
- <GTKDOCLINK
-HREF="GBOOLEAN"
->gboolean</GTKDOCLINK
-> is_open2);</PRE
-><P
->When triangulating the cut faces, the new faces inherit the
-attributes of these original faces through their <GTKDOCLINK
-HREF="ATTRIBUTES"
-><CODE
-CLASS="FUNCTION"
->attributes()</CODE
-></GTKDOCLINK
->
-method.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN12446"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->klass</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-boolean-operations.html#GTSSURFACEINTERCLASS"
-><SPAN
-CLASS="TYPE"
->GtsSurfaceInterClass</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN12453"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->s1</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN12460"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->s2</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN12467"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->faces_tree1</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a bounding box tree (see <A
-HREF="gts-bounding-boxes-trees.html#GTS-BB-TREE-NEW"
-><CODE
-CLASS="FUNCTION"
->gts_bb_tree_new()</CODE
-></A
->) for
-the faces of <CODE
-CLASS="PARAMETER"
->s1</CODE
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN12475"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->faces_tree2</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a bounding box tree for the faces of <CODE
-CLASS="PARAMETER"
->s2</CODE
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN12481"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->is_open1</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> whether <CODE
-CLASS="PARAMETER"
->s1</CODE
-> is an "open" surface.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN12487"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->is_open2</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> whether <CODE
-CLASS="PARAMETER"
->s2</CODE
-> is an "open" surface.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN12493"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a new <A
-HREF="gts-boolean-operations.html#GTSSURFACEINTER"
-><SPAN
-CLASS="TYPE"
->GtsSurfaceInter</SPAN
-></A
-> describing the intersection of <CODE
-CLASS="PARAMETER"
->s1</CODE
->
-and <CODE
-CLASS="PARAMETER"
->s2</CODE
->. </P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN12502"
-></A
-><H3
-><A
-NAME="GTS-SURFACE-INTER-CHECK"
-></A
->gts_surface_inter_check ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GBOOLEAN"
->gboolean</GTKDOCLINK
-> gts_surface_inter_check (<A
-HREF="gts-boolean-operations.html#GTSSURFACEINTER"
->GtsSurfaceInter</A
-> *si,
- <GTKDOCLINK
-HREF="GBOOLEAN"
->gboolean</GTKDOCLINK
-> *closed);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN12514"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->si</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-boolean-operations.html#GTSSURFACEINTER"
-><SPAN
-CLASS="TYPE"
->GtsSurfaceInter</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN12521"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->closed</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> is set to <TT
-CLASS="LITERAL"
->TRUE</TT
-> if <CODE
-CLASS="PARAMETER"
->si</CODE
->->edges is a closed curve, <TT
-CLASS="LITERAL"
->FALSE</TT
->
-otherwise.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN12529"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> <TT
-CLASS="LITERAL"
->TRUE</TT
-> if the curve described by <CODE
-CLASS="PARAMETER"
->si</CODE
-> is an orientable
-manifold, <TT
-CLASS="LITERAL"
->FALSE</TT
-> otherwise. </P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN12537"
-></A
-><H3
-><A
-NAME="GTSBOOLEANOPERATION"
-></A
->enum GtsBooleanOperation</H3
-><PRE
-CLASS="PROGRAMLISTING"
->typedef enum { GTS_1_OUT_2,
- GTS_1_IN_2,
- GTS_2_OUT_1,
- GTS_2_IN_1 } GtsBooleanOperation;</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN12546"><SPAN
-STYLE="white-space: nowrap"
-><TT
-CLASS="LITERAL"
->GTS_1_OUT_2</TT
-></SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> identifies the part of the first surface which lies
-outside the second surface.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN12551"><SPAN
-STYLE="white-space: nowrap"
-><TT
-CLASS="LITERAL"
->GTS_1_IN_2</TT
-></SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> identifies the part of the first surface which lies
-inside the second surface.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN12556"><SPAN
-STYLE="white-space: nowrap"
-><TT
-CLASS="LITERAL"
->GTS_2_OUT_1</TT
-></SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> identifies the part of the second surface which lies
-outside the first surface.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN12561"><SPAN
-STYLE="white-space: nowrap"
-><TT
-CLASS="LITERAL"
->GTS_2_IN_1</TT
-></SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> identifies the part of the second surface which lies
-inside the first surface.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN12566"
-></A
-><H3
-><A
-NAME="GTS-SURFACE-INTER-BOOLEAN"
-></A
->gts_surface_inter_boolean ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_surface_inter_boolean (<A
-HREF="gts-boolean-operations.html#GTSSURFACEINTER"
->GtsSurfaceInter</A
-> *si,
- <A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *surface,
- <A
-HREF="gts-boolean-operations.html#GTSBOOLEANOPERATION"
->GtsBooleanOperation</A
-> op);</PRE
-><P
->Adds to <CODE
-CLASS="PARAMETER"
->surface</CODE
-> the part of the surface described by <CODE
-CLASS="PARAMETER"
->si</CODE
-> and <CODE
-CLASS="PARAMETER"
->op</CODE
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN12582"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->si</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-boolean-operations.html#GTSSURFACEINTER"
-><SPAN
-CLASS="TYPE"
->GtsSurfaceInter</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN12589"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->surface</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN12596"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->op</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-boolean-operations.html#GTSBOOLEANOPERATION"
-><SPAN
-CLASS="TYPE"
->GtsBooleanOperation</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN12603"
-></A
-><H3
-><A
-NAME="GTS-SURFACE-IS-SELF-INTERSECTING"
-></A
->gts_surface_is_self_intersecting ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
->* gts_surface_is_self_intersecting
- (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN12614"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->s</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN12621"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a new <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
-> containing the faces of <CODE
-CLASS="PARAMETER"
->s</CODE
-> which are
-self-intersecting or <TT
-CLASS="LITERAL"
->NULL</TT
-> if no faces of <CODE
-CLASS="PARAMETER"
->s</CODE
-> are self-intersecting.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-></DIV
-><TABLE
-CLASS="navigation"
-WIDTH="100%"
-SUMMARY="Navigation footer"
-CELLPADDING="2"
-CELLSPACING="2"
-><TR
-VALIGN="middle"
-><TD
-ALIGN="left"
-><A
-ACCESSKEY="p"
-HREF="c12206.html"
-><B
-><<< Surface operations</B
-></A
-></TD
-><TD
-ALIGN="right"
-><A
-ACCESSKEY="n"
-HREF="gts-surface-simplification-and-refinement.html"
-><B
->Surface simplification and refinement >>></B
-></A
-></TD
-></TR
-></TABLE
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/gts-bounding-boxes-trees.html b/doc/html/gts-bounding-boxes-trees.html
deleted file mode 100644
index 1823d00..0000000
--- a/doc/html/gts-bounding-boxes-trees.html
+++ /dev/null
@@ -1,5621 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
-<HTML
-><HEAD
-><TITLE
->Bounding boxes trees</TITLE
-><META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
-REL="HOME"
-TITLE="GTS Library Reference Manual"
-HREF="book1.html"><LINK
-REL="UP"
-TITLE="Geometrical data structures"
-HREF="c10545.html"><LINK
-REL="PREVIOUS"
-TITLE="Kd-Trees"
-HREF="gts-kd-trees.html"><LINK
-REL="NEXT"
-TITLE="Surface operations"
-HREF="c12206.html"><STYLE
-TYPE="text/css"
->.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</STYLE
-></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><TABLE
-WIDTH="100%"
-CLASS="navigation"
-SUMMARY="Navigation header"
-CELLPADDING="2"
-CELLSPACING="2"
-><TR
-VALIGN="middle"
-><TD
-><A
-ACCESSKEY="p"
-HREF="gts-kd-trees.html"
-><IMG
-SRC="left.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Prev"></A
-></TD
-><TD
-><A
-ACCESSKEY="u"
-HREF="c10545.html"
-><IMG
-SRC="up.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Up"></A
-></TD
-><TD
-><A
-ACCESSKEY="h"
-HREF="book1.html"
-><IMG
-SRC="home.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Home"></A
-></TD
-><TH
-WIDTH="100%"
-align="center"
->GTS Library Reference Manual</TH
-><TD
-><A
-ACCESSKEY="n"
-HREF="c12206.html"
-><IMG
-SRC="right.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Next"></A
-></TD
-></TR
-></TABLE
-><H1
-><A
-NAME="GTS-BOUNDING-BOXES-TREES"
-></A
->Bounding boxes trees</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN10663"
-></A
-><H2
->Name</H2
->Bounding boxes trees -- implementation of axis-aligned bounding-box trees.</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN10666"
-></A
-><H2
->Synopsis</H2
-><PRE
-CLASS="SYNOPSIS"
->
#include <gts.h>
-
-
-#define <A
-HREF="gts-bounding-boxes-trees.html#GTS-BBOX-CLASS:CAPS"
->GTS_BBOX_CLASS</A
-> (klass)
-#define <A
-HREF="gts-bounding-boxes-trees.html#GTS-BBOX:CAPS"
->GTS_BBOX</A
-> (obj)
-#define <A
-HREF="gts-bounding-boxes-trees.html#GTS-IS-BBOX:CAPS"
->GTS_IS_BBOX</A
-> (obj)
- <A
-HREF="gts-bounding-boxes-trees.html#GTSBBOXCLASS"
->GtsBBoxClass</A
->;
- <A
-HREF="gts-bounding-boxes-trees.html#GTSBBOX"
->GtsBBox</A
->;
-
-<A
-HREF="gts-bounding-boxes-trees.html#GTSBBOXCLASS"
->GtsBBoxClass</A
->* <A
-HREF="gts-bounding-boxes-trees.html#GTS-BBOX-CLASS"
->gts_bbox_class</A
-> (void);
-<A
-HREF="gts-bounding-boxes-trees.html#GTSBBOX"
->GtsBBox</A
->* <A
-HREF="gts-bounding-boxes-trees.html#GTS-BBOX-NEW"
->gts_bbox_new</A
-> (<A
-HREF="gts-bounding-boxes-trees.html#GTSBBOXCLASS"
->GtsBBoxClass</A
-> *klass,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> bounded,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> x1,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> y1,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> z1,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> x2,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> y2,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> z2);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-bounding-boxes-trees.html#GTS-BBOX-SET"
->gts_bbox_set</A
-> (<A
-HREF="gts-bounding-boxes-trees.html#GTSBBOX"
->GtsBBox</A
-> *bbox,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> bounded,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> x1,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> y1,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> z1,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> x2,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> y2,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> z2);
-<A
-HREF="gts-bounding-boxes-trees.html#GTSBBOX"
->GtsBBox</A
->* <A
-HREF="gts-bounding-boxes-trees.html#GTS-BBOX-SEGMENT"
->gts_bbox_segment</A
-> (<A
-HREF="gts-bounding-boxes-trees.html#GTSBBOXCLASS"
->GtsBBoxClass</A
-> *klass,
- <A
-HREF="gts-segments.html#GTSSEGMENT"
->GtsSegment</A
-> *s);
-<A
-HREF="gts-bounding-boxes-trees.html#GTSBBOX"
->GtsBBox</A
->* <A
-HREF="gts-bounding-boxes-trees.html#GTS-BBOX-TRIANGLE"
->gts_bbox_triangle</A
-> (<A
-HREF="gts-bounding-boxes-trees.html#GTSBBOXCLASS"
->GtsBBoxClass</A
-> *klass,
- <A
-HREF="gts-triangles.html#GTSTRIANGLE"
->GtsTriangle</A
-> *t);
-<A
-HREF="gts-bounding-boxes-trees.html#GTSBBOX"
->GtsBBox</A
->* <A
-HREF="gts-bounding-boxes-trees.html#GTS-BBOX-SURFACE"
->gts_bbox_surface</A
-> (<A
-HREF="gts-bounding-boxes-trees.html#GTSBBOXCLASS"
->GtsBBoxClass</A
-> *klass,
- <A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *surface);
-<A
-HREF="gts-bounding-boxes-trees.html#GTSBBOX"
->GtsBBox</A
->* <A
-HREF="gts-bounding-boxes-trees.html#GTS-BBOX-POINTS"
->gts_bbox_points</A
-> (<A
-HREF="gts-bounding-boxes-trees.html#GTSBBOXCLASS"
->GtsBBoxClass</A
-> *klass,
- <GTKDOCLINK
-HREF="GSLIST"
->GSList</GTKDOCLINK
-> *points);
-<A
-HREF="gts-bounding-boxes-trees.html#GTSBBOX"
->GtsBBox</A
->* <A
-HREF="gts-bounding-boxes-trees.html#GTS-BBOX-BBOXES"
->gts_bbox_bboxes</A
-> (<A
-HREF="gts-bounding-boxes-trees.html#GTSBBOXCLASS"
->GtsBBoxClass</A
-> *klass,
- <GTKDOCLINK
-HREF="GSLIST"
->GSList</GTKDOCLINK
-> *bboxes);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-bounding-boxes-trees.html#GTS-BBOX-DRAW"
->gts_bbox_draw</A
-> (<A
-HREF="gts-bounding-boxes-trees.html#GTSBBOX"
->GtsBBox</A
-> *bb,
- <GTKDOCLINK
-HREF="FILE:CAPS"
->FILE</GTKDOCLINK
-> *fptr);
-#define <A
-HREF="gts-bounding-boxes-trees.html#GTS-BBOX-POINT-IS-INSIDE"
->gts_bbox_point_is_inside</A
-> (bbox, p)
-<GTKDOCLINK
-HREF="GBOOLEAN"
->gboolean</GTKDOCLINK
-> <A
-HREF="gts-bounding-boxes-trees.html#GTS-BBOXES-ARE-OVERLAPPING"
->gts_bboxes_are_overlapping</A
-> (<A
-HREF="gts-bounding-boxes-trees.html#GTSBBOX"
->GtsBBox</A
-> *bb1,
- <A
-HREF="gts-bounding-boxes-trees.html#GTSBBOX"
->GtsBBox</A
-> *bb2);
-<GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> <A
-HREF="gts-bounding-boxes-trees.html#GTS-BBOX-DIAGONAL2"
->gts_bbox_diagonal2</A
-> (<A
-HREF="gts-bounding-boxes-trees.html#GTSBBOX"
->GtsBBox</A
-> *bb);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-bounding-boxes-trees.html#GTS-BBOX-POINT-DISTANCE2"
->gts_bbox_point_distance2</A
-> (<A
-HREF="gts-bounding-boxes-trees.html#GTSBBOX"
->GtsBBox</A
-> *bb,
- <A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *p,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> *min,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> *max);
-<GTKDOCLINK
-HREF="GBOOLEAN"
->gboolean</GTKDOCLINK
-> <A
-HREF="gts-bounding-boxes-trees.html#GTS-BBOX-IS-STABBED"
->gts_bbox_is_stabbed</A
-> (<A
-HREF="gts-bounding-boxes-trees.html#GTSBBOX"
->GtsBBox</A
-> *bb,
- <A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *p);
-<GTKDOCLINK
-HREF="GBOOLEAN"
->gboolean</GTKDOCLINK
-> <A
-HREF="gts-bounding-boxes-trees.html#GTS-BBOX-OVERLAPS-TRIANGLE"
->gts_bbox_overlaps_triangle</A
-> (<A
-HREF="gts-bounding-boxes-trees.html#GTSBBOX"
->GtsBBox</A
-> *bb,
- <A
-HREF="gts-triangles.html#GTSTRIANGLE"
->GtsTriangle</A
-> *t);
-
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> (<A
-HREF="gts-bounding-boxes-trees.html#GTSBBTREETRAVERSEFUNC"
->*GtsBBTreeTraverseFunc</A
->) (<A
-HREF="gts-bounding-boxes-trees.html#GTSBBOX"
->GtsBBox</A
-> *bb1,
- <A
-HREF="gts-bounding-boxes-trees.html#GTSBBOX"
->GtsBBox</A
-> *bb2,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> data);
-<GTKDOCLINK
-HREF="GNODE"
->GNode</GTKDOCLINK
->* <A
-HREF="gts-bounding-boxes-trees.html#GTS-BB-TREE-NEW"
->gts_bb_tree_new</A
-> (<GTKDOCLINK
-HREF="GSLIST"
->GSList</GTKDOCLINK
-> *bboxes);
-<GTKDOCLINK
-HREF="GNODE"
->GNode</GTKDOCLINK
->* <A
-HREF="gts-bounding-boxes-trees.html#GTS-BB-TREE-SURFACE"
->gts_bb_tree_surface</A
-> (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s);
-<GTKDOCLINK
-HREF="GSLIST"
->GSList</GTKDOCLINK
->* <A
-HREF="gts-bounding-boxes-trees.html#GTS-BB-TREE-OVERLAP"
->gts_bb_tree_overlap</A
-> (<GTKDOCLINK
-HREF="GNODE"
->GNode</GTKDOCLINK
-> *tree,
- <A
-HREF="gts-bounding-boxes-trees.html#GTSBBOX"
->GtsBBox</A
-> *bbox);
-<GTKDOCLINK
-HREF="GBOOLEAN"
->gboolean</GTKDOCLINK
-> <A
-HREF="gts-bounding-boxes-trees.html#GTS-BB-TREE-IS-OVERLAPPING"
->gts_bb_tree_is_overlapping</A
-> (<GTKDOCLINK
-HREF="GNODE"
->GNode</GTKDOCLINK
-> *tree,
- <A
-HREF="gts-bounding-boxes-trees.html#GTSBBOX"
->GtsBBox</A
-> *bbox);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-bounding-boxes-trees.html#GTS-BB-TREE-TRAVERSE-OVERLAPPING"
->gts_bb_tree_traverse_overlapping</A
->
- (<GTKDOCLINK
-HREF="GNODE"
->GNode</GTKDOCLINK
-> *tree1,
- <GTKDOCLINK
-HREF="GNODE"
->GNode</GTKDOCLINK
-> *tree2,
- <A
-HREF="gts-bounding-boxes-trees.html#GTSBBTREETRAVERSEFUNC"
->GtsBBTreeTraverseFunc</A
-> func,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> data);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-bounding-boxes-trees.html#GTS-BB-TREE-DRAW"
->gts_bb_tree_draw</A
-> (<GTKDOCLINK
-HREF="GNODE"
->GNode</GTKDOCLINK
-> *tree,
- <GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> depth,
- <GTKDOCLINK
-HREF="FILE:CAPS"
->FILE</GTKDOCLINK
-> *fptr);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-bounding-boxes-trees.html#GTS-BB-TREE-DESTROY"
->gts_bb_tree_destroy</A
-> (<GTKDOCLINK
-HREF="GNODE"
->GNode</GTKDOCLINK
-> *tree,
- <GTKDOCLINK
-HREF="GBOOLEAN"
->gboolean</GTKDOCLINK
-> free_leaves);
-
-<GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> (<A
-HREF="gts-bounding-boxes-trees.html#GTSBBOXDISTFUNC"
->*GtsBBoxDistFunc</A
->) (<A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *p,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> bounded);
-<A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
->* (<A
-HREF="gts-bounding-boxes-trees.html#GTSBBOXCLOSESTFUNC"
->*GtsBBoxClosestFunc</A
->) (<A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *p,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> bounded);
-<GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> <A
-HREF="gts-bounding-boxes-trees.html#GTS-BB-TREE-POINT-DISTANCE"
->gts_bb_tree_point_distance</A
-> (<GTKDOCLINK
-HREF="GNODE"
->GNode</GTKDOCLINK
-> *tree,
- <A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *p,
- <A
-HREF="gts-bounding-boxes-trees.html#GTSBBOXDISTFUNC"
->GtsBBoxDistFunc</A
-> distance,
- <A
-HREF="gts-bounding-boxes-trees.html#GTSBBOX"
->GtsBBox</A
-> **bbox);
-<A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
->* <A
-HREF="gts-bounding-boxes-trees.html#GTS-BB-TREE-POINT-CLOSEST"
->gts_bb_tree_point_closest</A
-> (<GTKDOCLINK
-HREF="GNODE"
->GNode</GTKDOCLINK
-> *tree,
- <A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *p,
- <A
-HREF="gts-bounding-boxes-trees.html#GTSBBOXCLOSESTFUNC"
->GtsBBoxClosestFunc</A
-> closest,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> *distance);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-bounding-boxes-trees.html#GTS-BB-TREE-SEGMENT-DISTANCE"
->gts_bb_tree_segment_distance</A
-> (<GTKDOCLINK
-HREF="GNODE"
->GNode</GTKDOCLINK
-> *tree,
- <A
-HREF="gts-segments.html#GTSSEGMENT"
->GtsSegment</A
-> *s,
- <A
-HREF="gts-bounding-boxes-trees.html#GTSBBOXDISTFUNC"
->GtsBBoxDistFunc</A
-> distance,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> delta,
- <A
-HREF="gts-simple-statistics.html#GTSRANGE"
->GtsRange</A
-> *range);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-bounding-boxes-trees.html#GTS-BB-TREE-TRIANGLE-DISTANCE"
->gts_bb_tree_triangle_distance</A
-> (<GTKDOCLINK
-HREF="GNODE"
->GNode</GTKDOCLINK
-> *tree,
- <A
-HREF="gts-triangles.html#GTSTRIANGLE"
->GtsTriangle</A
-> *t,
- <A
-HREF="gts-bounding-boxes-trees.html#GTSBBOXDISTFUNC"
->GtsBBoxDistFunc</A
-> distance,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> delta,
- <A
-HREF="gts-simple-statistics.html#GTSRANGE"
->GtsRange</A
-> *range);
-<GTKDOCLINK
-HREF="GSLIST"
->GSList</GTKDOCLINK
->* <A
-HREF="gts-bounding-boxes-trees.html#GTS-BB-TREE-POINT-CLOSEST-BBOXES"
->gts_bb_tree_point_closest_bboxes</A
->
- (<GTKDOCLINK
-HREF="GNODE"
->GNode</GTKDOCLINK
-> *tree,
- <A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *p);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-bounding-boxes-trees.html#GTS-BB-TREE-SURFACE-BOUNDARY-DISTANCE"
->gts_bb_tree_surface_boundary_distance</A
->
- (<GTKDOCLINK
-HREF="GNODE"
->GNode</GTKDOCLINK
-> *tree,
- <A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s,
- <A
-HREF="gts-bounding-boxes-trees.html#GTSBBOXDISTFUNC"
->GtsBBoxDistFunc</A
-> distance,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> delta,
- <A
-HREF="gts-simple-statistics.html#GTSRANGE"
->GtsRange</A
-> *range);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-bounding-boxes-trees.html#GTS-BB-TREE-SURFACE-DISTANCE"
->gts_bb_tree_surface_distance</A
-> (<GTKDOCLINK
-HREF="GNODE"
->GNode</GTKDOCLINK
-> *tree,
- <A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s,
- <A
-HREF="gts-bounding-boxes-trees.html#GTSBBOXDISTFUNC"
->GtsBBoxDistFunc</A
-> distance,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> delta,
- <A
-HREF="gts-simple-statistics.html#GTSRANGE"
->GtsRange</A
-> *range);
-
-<GTKDOCLINK
-HREF="GSLIST"
->GSList</GTKDOCLINK
->* <A
-HREF="gts-bounding-boxes-trees.html#GTS-BB-TREE-STABBED"
->gts_bb_tree_stabbed</A
-> (<GTKDOCLINK
-HREF="GNODE"
->GNode</GTKDOCLINK
-> *tree,
- <A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *p);</PRE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN10832"
-></A
-><H2
->Description</H2
-><P
->Axis-aligned bounding box trees can be used for intersection/collision detection using <A
-HREF="gts-bounding-boxes-trees.html#GTS-BB-TREE-TRAVERSE-OVERLAPPING"
-><CODE
-CLASS="FUNCTION"
->gts_bb_tree_traverse_overlapping()</CODE
-></A
->, or to compute the minimum distance between an object and a collection of others using <A
-HREF="gts-bounding-boxes-trees.html#GTS-BB-TREE-POINT-DISTANCE"
-><CODE
-CLASS="FUNCTION"
->gts_bb_tree_point_distance()</CODE
-></A
->, <A
-HREF="gts-bounding-boxes-trees.html#GTS-BB-TREE-SEGMENT-DISTANCE"
-><CODE
-CLASS="FUNCTION"
->gts_bb_tree_segment_distance()</CODE
-></A
->, <A
-HREF="gts-bounding-boxes-trees.html#GTS-BB-TREE-TRIANGLE-DISTANCE"
-><CODE
-CLASS="FUNCTION"
->gts_bb_tree_triangle_distance()</CODE
-></A
-> or <A
-HREF="gts-bounding-boxes-trees.html#GTS-BB-TREE-SURFACE-DISTANCE"
-><CODE
-CLASS="FUNCTION"
->gts_bb_tree_surface_distance()</CODE
-></A
->.</P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN10845"
-></A
-><H2
->Details</H2
-><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN10847"
-></A
-><H3
-><A
-NAME="GTS-BBOX-CLASS:CAPS"
-></A
->GTS_BBOX_CLASS()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_BBOX_CLASS(klass)</PRE
-><P
->Casts <CODE
-CLASS="PARAMETER"
->klass</CODE
-> to <A
-HREF="gts-bounding-boxes-trees.html#GTSBBOXCLASS"
-><SPAN
-CLASS="TYPE"
->GtsBBoxClass</SPAN
-></A
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN10859"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->klass</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a descendant of <A
-HREF="gts-bounding-boxes-trees.html#GTSBBOXCLASS"
-><SPAN
-CLASS="TYPE"
->GtsBBoxClass</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN10866"
-></A
-><H3
-><A
-NAME="GTS-BBOX:CAPS"
-></A
->GTS_BBOX()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_BBOX(obj)</PRE
-><P
->Casts <CODE
-CLASS="PARAMETER"
->obj</CODE
-> to <A
-HREF="gts-bounding-boxes-trees.html#GTSBBOX"
-><SPAN
-CLASS="TYPE"
->GtsBBox</SPAN
-></A
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN10878"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->obj</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-object-class.html#GTSOBJECT"
-><SPAN
-CLASS="TYPE"
->GtsObject</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN10885"
-></A
-><H3
-><A
-NAME="GTS-IS-BBOX:CAPS"
-></A
->GTS_IS_BBOX()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_IS_BBOX(obj)</PRE
-><P
->Evaluates to <TT
-CLASS="LITERAL"
->TRUE</TT
-> if <CODE
-CLASS="PARAMETER"
->obj</CODE
-> is a <A
-HREF="gts-bounding-boxes-trees.html#GTSBBOX"
-><SPAN
-CLASS="TYPE"
->GtsBBox</SPAN
-></A
->, <TT
-CLASS="LITERAL"
->FALSE</TT
-> otherwise.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN10899"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->obj</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-object-class.html#GTSOBJECT"
-><SPAN
-CLASS="TYPE"
->GtsObject</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN10906"
-></A
-><H3
-><A
-NAME="GTSBBOXCLASS"
-></A
->GtsBBoxClass</H3
-><PRE
-CLASS="PROGRAMLISTING"
->typedef struct {
- GtsObjectClass parent_class;
-} GtsBBoxClass;</PRE
-><P
->The bounding box class derived from <A
-HREF="gts-object-class.html#GTSOBJECTCLASS"
-><SPAN
-CLASS="TYPE"
->GtsObjectClass</SPAN
-></A
->.</P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN10915"
-></A
-><H3
-><A
-NAME="GTSBBOX"
-></A
->GtsBBox</H3
-><PRE
-CLASS="PROGRAMLISTING"
->typedef struct {
- GtsObject object;
- gpointer bounded;
- gdouble x1, y1, z1;
- gdouble x2, y2, z2;
-} GtsBBox;</PRE
-><P
->The bounding box structure.</P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN10923"><SPAN
-STYLE="white-space: nowrap"
-><A
-HREF="gts-object-class.html#GTSOBJECT"
->GtsObject</A
-> <CODE
-CLASS="STRUCTFIELD"
->object</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->Parent object.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN10929"><SPAN
-STYLE="white-space: nowrap"
-><GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> <CODE
-CLASS="STRUCTFIELD"
->bounded</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->Bounded object.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN10935"><SPAN
-STYLE="white-space: nowrap"
-><GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> <CODE
-CLASS="STRUCTFIELD"
->x1</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->x coordinate of the lower-left front corner.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN10941"><SPAN
-STYLE="white-space: nowrap"
-><GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> <CODE
-CLASS="STRUCTFIELD"
->y1</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->y coordinate of the lower-left front corner.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN10947"><SPAN
-STYLE="white-space: nowrap"
-><GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> <CODE
-CLASS="STRUCTFIELD"
->z1</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->z coordinate of the lower-left front corner.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN10953"><SPAN
-STYLE="white-space: nowrap"
-><GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> <CODE
-CLASS="STRUCTFIELD"
->x2</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->x coordinate of the upper-right back corner.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN10959"><SPAN
-STYLE="white-space: nowrap"
-><GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> <CODE
-CLASS="STRUCTFIELD"
->y2</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->y coordinate of the upper-right back corner.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN10965"><SPAN
-STYLE="white-space: nowrap"
-><GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> <CODE
-CLASS="STRUCTFIELD"
->z2</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->z coordinate of the upper-right back corner.
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN10971"
-></A
-><H3
-><A
-NAME="GTS-BBOX-CLASS"
-></A
->gts_bbox_class ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-bounding-boxes-trees.html#GTSBBOXCLASS"
->GtsBBoxClass</A
->* gts_bbox_class (void);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN10981"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the <A
-HREF="gts-bounding-boxes-trees.html#GTSBBOXCLASS"
-><SPAN
-CLASS="TYPE"
->GtsBBoxClass</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN10988"
-></A
-><H3
-><A
-NAME="GTS-BBOX-NEW"
-></A
->gts_bbox_new ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-bounding-boxes-trees.html#GTSBBOX"
->GtsBBox</A
->* gts_bbox_new (<A
-HREF="gts-bounding-boxes-trees.html#GTSBBOXCLASS"
->GtsBBoxClass</A
-> *klass,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> bounded,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> x1,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> y1,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> z1,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> x2,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> y2,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> z2);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN11006"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->klass</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-bounding-boxes-trees.html#GTSBBOXCLASS"
-><SPAN
-CLASS="TYPE"
->GtsBBoxClass</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN11013"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->bounded</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the object to be bounded.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN11018"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->x1</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> x-coordinate of the lower left corner.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN11023"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->y1</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> y-coordinate of the lower left corner.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN11028"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->z1</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> z-coordinate of the lower left corner.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN11033"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->x2</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> x-coordinate of the upper right corner.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN11038"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->y2</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> y-coordinate of the upper right corner.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN11043"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->z2</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> z-coordinate of the upper right corner.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN11048"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a new <A
-HREF="gts-bounding-boxes-trees.html#GTSBBOX"
-><SPAN
-CLASS="TYPE"
->GtsBBox</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN11055"
-></A
-><H3
-><A
-NAME="GTS-BBOX-SET"
-></A
->gts_bbox_set ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_bbox_set (<A
-HREF="gts-bounding-boxes-trees.html#GTSBBOX"
->GtsBBox</A
-> *bbox,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> bounded,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> x1,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> y1,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> z1,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> x2,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> y2,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> z2);</PRE
-><P
->Sets fields of <CODE
-CLASS="PARAMETER"
->bbox</CODE
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN11074"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->bbox</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-bounding-boxes-trees.html#GTSBBOX"
-><SPAN
-CLASS="TYPE"
->GtsBBox</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN11081"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->bounded</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the object to be bounded.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN11086"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->x1</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> x-coordinate of the lower left corner.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN11091"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->y1</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> y-coordinate of the lower left corner.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN11096"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->z1</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> z-coordinate of the lower left corner.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN11101"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->x2</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> x-coordinate of the upper right corner.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN11106"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->y2</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> y-coordinate of the upper right corner.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN11111"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->z2</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> z-coordinate of the upper right corner.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN11116"
-></A
-><H3
-><A
-NAME="GTS-BBOX-SEGMENT"
-></A
->gts_bbox_segment ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-bounding-boxes-trees.html#GTSBBOX"
->GtsBBox</A
->* gts_bbox_segment (<A
-HREF="gts-bounding-boxes-trees.html#GTSBBOXCLASS"
->GtsBBoxClass</A
-> *klass,
- <A
-HREF="gts-segments.html#GTSSEGMENT"
->GtsSegment</A
-> *s);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN11128"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->klass</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-bounding-boxes-trees.html#GTSBBOXCLASS"
-><SPAN
-CLASS="TYPE"
->GtsBBoxClass</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN11135"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->s</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-segments.html#GTSSEGMENT"
-><SPAN
-CLASS="TYPE"
->GtsSegment</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN11142"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a new <A
-HREF="gts-bounding-boxes-trees.html#GTSBBOX"
-><SPAN
-CLASS="TYPE"
->GtsBBox</SPAN
-></A
-> bounding box of <CODE
-CLASS="PARAMETER"
->s</CODE
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN11150"
-></A
-><H3
-><A
-NAME="GTS-BBOX-TRIANGLE"
-></A
->gts_bbox_triangle ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-bounding-boxes-trees.html#GTSBBOX"
->GtsBBox</A
->* gts_bbox_triangle (<A
-HREF="gts-bounding-boxes-trees.html#GTSBBOXCLASS"
->GtsBBoxClass</A
-> *klass,
- <A
-HREF="gts-triangles.html#GTSTRIANGLE"
->GtsTriangle</A
-> *t);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN11162"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->klass</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-bounding-boxes-trees.html#GTSBBOXCLASS"
-><SPAN
-CLASS="TYPE"
->GtsBBoxClass</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN11169"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->t</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-triangles.html#GTSTRIANGLE"
-><SPAN
-CLASS="TYPE"
->GtsTriangle</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN11176"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a new <A
-HREF="gts-bounding-boxes-trees.html#GTSBBOX"
-><SPAN
-CLASS="TYPE"
->GtsBBox</SPAN
-></A
-> bounding box of <CODE
-CLASS="PARAMETER"
->t</CODE
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN11184"
-></A
-><H3
-><A
-NAME="GTS-BBOX-SURFACE"
-></A
->gts_bbox_surface ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-bounding-boxes-trees.html#GTSBBOX"
->GtsBBox</A
->* gts_bbox_surface (<A
-HREF="gts-bounding-boxes-trees.html#GTSBBOXCLASS"
->GtsBBoxClass</A
-> *klass,
- <A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *surface);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN11196"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->klass</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-bounding-boxes-trees.html#GTSBBOXCLASS"
-><SPAN
-CLASS="TYPE"
->GtsBBoxClass</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN11203"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->surface</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN11210"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a new <A
-HREF="gts-bounding-boxes-trees.html#GTSBBOX"
-><SPAN
-CLASS="TYPE"
->GtsBBox</SPAN
-></A
-> bounding box of <CODE
-CLASS="PARAMETER"
->surface</CODE
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN11218"
-></A
-><H3
-><A
-NAME="GTS-BBOX-POINTS"
-></A
->gts_bbox_points ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-bounding-boxes-trees.html#GTSBBOX"
->GtsBBox</A
->* gts_bbox_points (<A
-HREF="gts-bounding-boxes-trees.html#GTSBBOXCLASS"
->GtsBBoxClass</A
-> *klass,
- <GTKDOCLINK
-HREF="GSLIST"
->GSList</GTKDOCLINK
-> *points);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN11230"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->klass</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-bounding-boxes-trees.html#GTSBBOXCLASS"
-><SPAN
-CLASS="TYPE"
->GtsBBoxClass</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN11237"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->points</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a list of <A
-HREF="gts-points.html#GTSPOINT"
-><SPAN
-CLASS="TYPE"
->GtsPoint</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN11244"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a new <A
-HREF="gts-bounding-boxes-trees.html#GTSBBOX"
-><SPAN
-CLASS="TYPE"
->GtsBBox</SPAN
-></A
-> bounding box of <CODE
-CLASS="PARAMETER"
->points</CODE
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN11252"
-></A
-><H3
-><A
-NAME="GTS-BBOX-BBOXES"
-></A
->gts_bbox_bboxes ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-bounding-boxes-trees.html#GTSBBOX"
->GtsBBox</A
->* gts_bbox_bboxes (<A
-HREF="gts-bounding-boxes-trees.html#GTSBBOXCLASS"
->GtsBBoxClass</A
-> *klass,
- <GTKDOCLINK
-HREF="GSLIST"
->GSList</GTKDOCLINK
-> *bboxes);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN11264"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->klass</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-bounding-boxes-trees.html#GTSBBOXCLASS"
-><SPAN
-CLASS="TYPE"
->GtsBBoxClass</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN11271"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->bboxes</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a list of <A
-HREF="gts-bounding-boxes-trees.html#GTSBBOX"
-><SPAN
-CLASS="TYPE"
->GtsBBox</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN11278"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a new <A
-HREF="gts-bounding-boxes-trees.html#GTSBBOX"
-><SPAN
-CLASS="TYPE"
->GtsBBox</SPAN
-></A
-> bounding box of all the bounding boxes in
-<CODE
-CLASS="PARAMETER"
->bboxes</CODE
->. </P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN11286"
-></A
-><H3
-><A
-NAME="GTS-BBOX-DRAW"
-></A
->gts_bbox_draw ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_bbox_draw (<A
-HREF="gts-bounding-boxes-trees.html#GTSBBOX"
->GtsBBox</A
-> *bb,
- <GTKDOCLINK
-HREF="FILE:CAPS"
->FILE</GTKDOCLINK
-> *fptr);</PRE
-><P
->Writes in file <CODE
-CLASS="PARAMETER"
->fptr</CODE
-> an OOGL (Geomview) description of <CODE
-CLASS="PARAMETER"
->bb</CODE
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN11300"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->bb</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-bounding-boxes-trees.html#GTSBBOX"
-><SPAN
-CLASS="TYPE"
->GtsBBox</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN11307"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->fptr</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a file pointer.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN11312"
-></A
-><H3
-><A
-NAME="GTS-BBOX-POINT-IS-INSIDE"
-></A
->gts_bbox_point_is_inside()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define gts_bbox_point_is_inside(bbox, p)</PRE
-><P
->Evaluates to <TT
-CLASS="LITERAL"
->TRUE</TT
-> if <CODE
-CLASS="PARAMETER"
->p</CODE
-> is inside (or on the boundary) of <CODE
-CLASS="PARAMETER"
->bbox</CODE
->, <TT
-CLASS="LITERAL"
->FALSE</TT
-> otherwise.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN11325"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->bbox</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-bounding-boxes-trees.html#GTSBBOX"
-><SPAN
-CLASS="TYPE"
->GtsBBox</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN11332"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->p</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-points.html#GTSPOINT"
-><SPAN
-CLASS="TYPE"
->GtsPoint</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN11339"
-></A
-><H3
-><A
-NAME="GTS-BBOXES-ARE-OVERLAPPING"
-></A
->gts_bboxes_are_overlapping ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GBOOLEAN"
->gboolean</GTKDOCLINK
-> gts_bboxes_are_overlapping (<A
-HREF="gts-bounding-boxes-trees.html#GTSBBOX"
->GtsBBox</A
-> *bb1,
- <A
-HREF="gts-bounding-boxes-trees.html#GTSBBOX"
->GtsBBox</A
-> *bb2);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN11351"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->bb1</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-bounding-boxes-trees.html#GTSBBOX"
-><SPAN
-CLASS="TYPE"
->GtsBBox</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN11358"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->bb2</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-bounding-boxes-trees.html#GTSBBOX"
-><SPAN
-CLASS="TYPE"
->GtsBBox</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN11365"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> <TT
-CLASS="LITERAL"
->TRUE</TT
-> if the bounding boxes <CODE
-CLASS="PARAMETER"
->bb1</CODE
-> and <CODE
-CLASS="PARAMETER"
->bb2</CODE
-> are overlapping
-(including just touching), <TT
-CLASS="LITERAL"
->FALSE</TT
-> otherwise.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN11374"
-></A
-><H3
-><A
-NAME="GTS-BBOX-DIAGONAL2"
-></A
->gts_bbox_diagonal2 ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> gts_bbox_diagonal2 (<A
-HREF="gts-bounding-boxes-trees.html#GTSBBOX"
->GtsBBox</A
-> *bb);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN11385"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->bb</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-bounding-boxes-trees.html#GTSBBOX"
-><SPAN
-CLASS="TYPE"
->GtsBBox</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN11392"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the squared length of the diagonal of <CODE
-CLASS="PARAMETER"
->bb</CODE
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN11398"
-></A
-><H3
-><A
-NAME="GTS-BBOX-POINT-DISTANCE2"
-></A
->gts_bbox_point_distance2 ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_bbox_point_distance2 (<A
-HREF="gts-bounding-boxes-trees.html#GTSBBOX"
->GtsBBox</A
-> *bb,
- <A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *p,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> *min,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> *max);</PRE
-><P
->Sets <CODE
-CLASS="PARAMETER"
->min</CODE
-> and <CODE
-CLASS="PARAMETER"
->max</CODE
-> to lower and upper bounds for the square of the
-Euclidean distance between the object contained in <CODE
-CLASS="PARAMETER"
->bb</CODE
-> and <CODE
-CLASS="PARAMETER"
->p</CODE
->. For these
-bounds to make any sense the bounding box must be "tight" i.e. each of the
-6 faces of the box must at least be touched by one point of the bounded
-object.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN11416"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->bb</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-bounding-boxes-trees.html#GTSBBOX"
-><SPAN
-CLASS="TYPE"
->GtsBBox</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN11423"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->p</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-points.html#GTSPOINT"
-><SPAN
-CLASS="TYPE"
->GtsPoint</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN11430"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->min</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a pointer on a gdouble.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN11435"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->max</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a pointer on a gdouble.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN11440"
-></A
-><H3
-><A
-NAME="GTS-BBOX-IS-STABBED"
-></A
->gts_bbox_is_stabbed ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GBOOLEAN"
->gboolean</GTKDOCLINK
-> gts_bbox_is_stabbed (<A
-HREF="gts-bounding-boxes-trees.html#GTSBBOX"
->GtsBBox</A
-> *bb,
- <A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *p);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN11452"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->bb</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-bounding-boxes-trees.html#GTSBBOX"
-><SPAN
-CLASS="TYPE"
->GtsBBox</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN11459"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->p</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-points.html#GTSPOINT"
-><SPAN
-CLASS="TYPE"
->GtsPoint</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN11466"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> <TT
-CLASS="LITERAL"
->TRUE</TT
-> if the ray starting at <CODE
-CLASS="PARAMETER"
->p</CODE
-> and ending at (+infty,
-<CODE
-CLASS="PARAMETER"
->p</CODE
->->y, <CODE
-CLASS="PARAMETER"
->p</CODE
->->z) intersects with <CODE
-CLASS="PARAMETER"
->bb</CODE
->, <TT
-CLASS="LITERAL"
->FALSE</TT
-> otherwise.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN11477"
-></A
-><H3
-><A
-NAME="GTS-BBOX-OVERLAPS-TRIANGLE"
-></A
->gts_bbox_overlaps_triangle ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GBOOLEAN"
->gboolean</GTKDOCLINK
-> gts_bbox_overlaps_triangle (<A
-HREF="gts-bounding-boxes-trees.html#GTSBBOX"
->GtsBBox</A
-> *bb,
- <A
-HREF="gts-triangles.html#GTSTRIANGLE"
->GtsTriangle</A
-> *t);</PRE
-><P
->This is a wrapper around the fast overlap test of Tomas
-Akenine-Moller (http://www.cs.lth.se/home/Tomas_Akenine_Moller/).</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN11489"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->bb</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-bounding-boxes-trees.html#GTSBBOX"
-><SPAN
-CLASS="TYPE"
->GtsBBox</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN11496"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->t</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-triangles.html#GTSTRIANGLE"
-><SPAN
-CLASS="TYPE"
->GtsTriangle</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN11503"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> <TT
-CLASS="LITERAL"
->TRUE</TT
-> if <CODE
-CLASS="PARAMETER"
->bb</CODE
-> overlaps with <CODE
-CLASS="PARAMETER"
->t</CODE
->, <TT
-CLASS="LITERAL"
->FALSE</TT
-> otherwise.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN11512"
-></A
-><H3
-><A
-NAME="GTSBBTREETRAVERSEFUNC"
-></A
->GtsBBTreeTraverseFunc ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> (*GtsBBTreeTraverseFunc) (<A
-HREF="gts-bounding-boxes-trees.html#GTSBBOX"
->GtsBBox</A
-> *bb1,
- <A
-HREF="gts-bounding-boxes-trees.html#GTSBBOX"
->GtsBBox</A
-> *bb2,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> data);</PRE
-><P
->User function called for each pair of overlapping bounding
-boxes. See <A
-HREF="gts-bounding-boxes-trees.html#GTS-BB-TREE-TRAVERSE-OVERLAPPING"
-><CODE
-CLASS="FUNCTION"
->gts_bb_tree_traverse_overlapping()</CODE
-></A
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN11527"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->bb1</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-bounding-boxes-trees.html#GTSBBOX"
-><SPAN
-CLASS="TYPE"
->GtsBBox</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN11534"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->bb2</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> another <A
-HREF="gts-bounding-boxes-trees.html#GTSBBOX"
-><SPAN
-CLASS="TYPE"
->GtsBBox</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN11541"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->data</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> user data passed to the function.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN11546"
-></A
-><H3
-><A
-NAME="GTS-BB-TREE-NEW"
-></A
->gts_bb_tree_new ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GNODE"
->GNode</GTKDOCLINK
->* gts_bb_tree_new (<GTKDOCLINK
-HREF="GSLIST"
->GSList</GTKDOCLINK
-> *bboxes);</PRE
-><P
->Builds a new hierarchy of bounding boxes for <CODE
-CLASS="PARAMETER"
->bboxes</CODE
->. At each
-level, the GNode->data field contains a <A
-HREF="gts-bounding-boxes-trees.html#GTSBBOX"
-><SPAN
-CLASS="TYPE"
->GtsBBox</SPAN
-></A
-> bounding box of
-all the children. The tree is binary and is built by repeatedly
-cutting in two approximately equal halves the bounding boxes at
-each level until a leaf node (i.e. a bounding box given in <CODE
-CLASS="PARAMETER"
->bboxes</CODE
->)
-is reached. In order to minimize the depth of the tree, the cutting
-direction is always chosen as perpendicular to the longest
-dimension of the bounding box.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN11561"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->bboxes</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a list of <A
-HREF="gts-bounding-boxes-trees.html#GTSBBOX"
-><SPAN
-CLASS="TYPE"
->GtsBBox</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN11568"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a new hierarchy of bounding boxes. </P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN11573"
-></A
-><H3
-><A
-NAME="GTS-BB-TREE-SURFACE"
-></A
->gts_bb_tree_surface ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GNODE"
->GNode</GTKDOCLINK
->* gts_bb_tree_surface (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN11584"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->s</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN11591"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a new hierarchy of bounding boxes bounding the faces of <CODE
-CLASS="PARAMETER"
->s</CODE
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN11597"
-></A
-><H3
-><A
-NAME="GTS-BB-TREE-OVERLAP"
-></A
->gts_bb_tree_overlap ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GSLIST"
->GSList</GTKDOCLINK
->* gts_bb_tree_overlap (<GTKDOCLINK
-HREF="GNODE"
->GNode</GTKDOCLINK
-> *tree,
- <A
-HREF="gts-bounding-boxes-trees.html#GTSBBOX"
->GtsBBox</A
-> *bbox);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN11609"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->tree</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a bounding box tree.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN11614"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->bbox</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-bounding-boxes-trees.html#GTSBBOX"
-><SPAN
-CLASS="TYPE"
->GtsBBox</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN11621"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a list of bounding boxes, leaves of <CODE
-CLASS="PARAMETER"
->tree</CODE
-> which overlap <CODE
-CLASS="PARAMETER"
->bbox</CODE
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN11628"
-></A
-><H3
-><A
-NAME="GTS-BB-TREE-IS-OVERLAPPING"
-></A
->gts_bb_tree_is_overlapping ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GBOOLEAN"
->gboolean</GTKDOCLINK
-> gts_bb_tree_is_overlapping (<GTKDOCLINK
-HREF="GNODE"
->GNode</GTKDOCLINK
-> *tree,
- <A
-HREF="gts-bounding-boxes-trees.html#GTSBBOX"
->GtsBBox</A
-> *bbox);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN11640"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->tree</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a bounding box tree.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN11645"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->bbox</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-bounding-boxes-trees.html#GTSBBOX"
-><SPAN
-CLASS="TYPE"
->GtsBBox</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN11652"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> <TT
-CLASS="LITERAL"
->TRUE</TT
-> if any leaf of <CODE
-CLASS="PARAMETER"
->tree</CODE
-> overlaps <CODE
-CLASS="PARAMETER"
->bbox</CODE
->, <TT
-CLASS="LITERAL"
->FALSE</TT
-> otherwise.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN11661"
-></A
-><H3
-><A
-NAME="GTS-BB-TREE-TRAVERSE-OVERLAPPING"
-></A
->gts_bb_tree_traverse_overlapping ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_bb_tree_traverse_overlapping
- (<GTKDOCLINK
-HREF="GNODE"
->GNode</GTKDOCLINK
-> *tree1,
- <GTKDOCLINK
-HREF="GNODE"
->GNode</GTKDOCLINK
-> *tree2,
- <A
-HREF="gts-bounding-boxes-trees.html#GTSBBTREETRAVERSEFUNC"
->GtsBBTreeTraverseFunc</A
-> func,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> data);</PRE
-><P
->Calls <CODE
-CLASS="PARAMETER"
->func</CODE
-> for each overlapping pair of leaves of <CODE
-CLASS="PARAMETER"
->tree1</CODE
-> and <CODE
-CLASS="PARAMETER"
->tree2</CODE
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN11678"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->tree1</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a bounding box tree.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN11683"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->tree2</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a bounding box tree.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN11688"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->func</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-bounding-boxes-trees.html#GTSBBTREETRAVERSEFUNC"
-><SPAN
-CLASS="TYPE"
->GtsBBTreeTraverseFunc</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN11695"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->data</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> user data to be passed to <CODE
-CLASS="PARAMETER"
->func</CODE
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN11701"
-></A
-><H3
-><A
-NAME="GTS-BB-TREE-DRAW"
-></A
->gts_bb_tree_draw ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_bb_tree_draw (<GTKDOCLINK
-HREF="GNODE"
->GNode</GTKDOCLINK
-> *tree,
- <GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> depth,
- <GTKDOCLINK
-HREF="FILE:CAPS"
->FILE</GTKDOCLINK
-> *fptr);</PRE
-><P
->Write in <CODE
-CLASS="PARAMETER"
->fptr</CODE
-> an OOGL (Geomview) description of <CODE
-CLASS="PARAMETER"
->tree</CODE
-> for the
-depth specified by <CODE
-CLASS="PARAMETER"
->depth</CODE
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN11717"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->tree</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a bounding box tree.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN11722"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->depth</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a specified depth.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN11727"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->fptr</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a file pointer.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN11732"
-></A
-><H3
-><A
-NAME="GTS-BB-TREE-DESTROY"
-></A
->gts_bb_tree_destroy ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_bb_tree_destroy (<GTKDOCLINK
-HREF="GNODE"
->GNode</GTKDOCLINK
-> *tree,
- <GTKDOCLINK
-HREF="GBOOLEAN"
->gboolean</GTKDOCLINK
-> free_leaves);</PRE
-><P
->Destroys all the bounding boxes created by <CODE
-CLASS="PARAMETER"
->tree</CODE
-> and destroys the
-tree itself. If <CODE
-CLASS="PARAMETER"
->free_leaves</CODE
-> is set to <TT
-CLASS="LITERAL"
->TRUE</TT
->, destroys boxes given
-by the user when creating the tree (i.e. leaves of the tree).</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN11747"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->tree</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a bounding box tree.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN11752"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->free_leaves</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> if <TT
-CLASS="LITERAL"
->TRUE</TT
-> the bounding boxes given by the user are freed.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN11758"
-></A
-><H3
-><A
-NAME="GTSBBOXDISTFUNC"
-></A
->GtsBBoxDistFunc ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> (*GtsBBoxDistFunc) (<A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *p,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> bounded);</PRE
-><P
->User function returning the (minimum) distance between the object
-defined by <CODE
-CLASS="PARAMETER"
->bounded</CODE
-> and point <CODE
-CLASS="PARAMETER"
->p</CODE
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN11772"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->p</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-points.html#GTSPOINT"
-><SPAN
-CLASS="TYPE"
->GtsPoint</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN11779"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->bounded</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> an object bounded by a <A
-HREF="gts-bounding-boxes-trees.html#GTSBBOX"
-><SPAN
-CLASS="TYPE"
->GtsBBox</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN11786"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the distance between <CODE
-CLASS="PARAMETER"
->p</CODE
-> and <CODE
-CLASS="PARAMETER"
->bounded</CODE
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN11793"
-></A
-><H3
-><A
-NAME="GTSBBOXCLOSESTFUNC"
-></A
->GtsBBoxClosestFunc ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
->* (*GtsBBoxClosestFunc) (<A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *p,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> bounded);</PRE
-><P
->User function returning a <A
-HREF="gts-points.html#GTSPOINT"
-><SPAN
-CLASS="TYPE"
->GtsPoint</SPAN
-></A
-> belonging to the object defined
-by <CODE
-CLASS="PARAMETER"
->bounded</CODE
-> and closest to <CODE
-CLASS="PARAMETER"
->p</CODE
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN11809"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->p</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-points.html#GTSPOINT"
-><SPAN
-CLASS="TYPE"
->GtsPoint</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN11816"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->bounded</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> an object bounded by a <A
-HREF="gts-bounding-boxes-trees.html#GTSBBOX"
-><SPAN
-CLASS="TYPE"
->GtsBBox</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN11823"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-points.html#GTSPOINT"
-><SPAN
-CLASS="TYPE"
->GtsPoint</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN11830"
-></A
-><H3
-><A
-NAME="GTS-BB-TREE-POINT-DISTANCE"
-></A
->gts_bb_tree_point_distance ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> gts_bb_tree_point_distance (<GTKDOCLINK
-HREF="GNODE"
->GNode</GTKDOCLINK
-> *tree,
- <A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *p,
- <A
-HREF="gts-bounding-boxes-trees.html#GTSBBOXDISTFUNC"
->GtsBBoxDistFunc</A
-> distance,
- <A
-HREF="gts-bounding-boxes-trees.html#GTSBBOX"
->GtsBBox</A
-> **bbox);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN11844"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->tree</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a bounding box tree.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN11849"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->p</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-points.html#GTSPOINT"
-><SPAN
-CLASS="TYPE"
->GtsPoint</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN11856"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->distance</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-bounding-boxes-trees.html#GTSBBOXDISTFUNC"
-><SPAN
-CLASS="TYPE"
->GtsBBoxDistFunc</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN11863"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->bbox</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> if not <TT
-CLASS="LITERAL"
->NULL</TT
-> is set to the bounding box containing the closest
-object.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN11869"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the distance as evaluated by <CODE
-CLASS="PARAMETER"
->distance</CODE
-> between <CODE
-CLASS="PARAMETER"
->p</CODE
-> and the closest
-object in <CODE
-CLASS="PARAMETER"
->tree</CODE
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN11877"
-></A
-><H3
-><A
-NAME="GTS-BB-TREE-POINT-CLOSEST"
-></A
->gts_bb_tree_point_closest ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
->* gts_bb_tree_point_closest (<GTKDOCLINK
-HREF="GNODE"
->GNode</GTKDOCLINK
-> *tree,
- <A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *p,
- <A
-HREF="gts-bounding-boxes-trees.html#GTSBBOXCLOSESTFUNC"
->GtsBBoxClosestFunc</A
-> closest,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> *distance);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN11891"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->tree</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a bounding box tree.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN11896"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->p</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-points.html#GTSPOINT"
-><SPAN
-CLASS="TYPE"
->GtsPoint</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN11903"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->closest</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-bounding-boxes-trees.html#GTSBBOXCLOSESTFUNC"
-><SPAN
-CLASS="TYPE"
->GtsBBoxClosestFunc</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN11910"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->distance</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> if not <TT
-CLASS="LITERAL"
->NULL</TT
-> is set to the distance between <CODE
-CLASS="PARAMETER"
->p</CODE
-> and the
-new <A
-HREF="gts-points.html#GTSPOINT"
-><SPAN
-CLASS="TYPE"
->GtsPoint</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN11919"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a new <A
-HREF="gts-points.html#GTSPOINT"
-><SPAN
-CLASS="TYPE"
->GtsPoint</SPAN
-></A
->, closest point to <CODE
-CLASS="PARAMETER"
->p</CODE
-> and belonging to an object of
-<CODE
-CLASS="PARAMETER"
->tree</CODE
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN11928"
-></A
-><H3
-><A
-NAME="GTS-BB-TREE-SEGMENT-DISTANCE"
-></A
->gts_bb_tree_segment_distance ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_bb_tree_segment_distance (<GTKDOCLINK
-HREF="GNODE"
->GNode</GTKDOCLINK
-> *tree,
- <A
-HREF="gts-segments.html#GTSSEGMENT"
->GtsSegment</A
-> *s,
- <A
-HREF="gts-bounding-boxes-trees.html#GTSBBOXDISTFUNC"
->GtsBBoxDistFunc</A
-> distance,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> delta,
- <A
-HREF="gts-simple-statistics.html#GTSRANGE"
->GtsRange</A
-> *range);</PRE
-><P
->Given a segment <CODE
-CLASS="PARAMETER"
->s</CODE
->, points are sampled regularly on its length
-using <CODE
-CLASS="PARAMETER"
->delta</CODE
-> as increment. The distance from each of these points
-to the closest object of <CODE
-CLASS="PARAMETER"
->tree</CODE
-> is computed using <CODE
-CLASS="PARAMETER"
->distance</CODE
-> and the
-<A
-HREF="gts-bounding-boxes-trees.html#GTS-BB-TREE-POINT-DISTANCE"
-><CODE
-CLASS="FUNCTION"
->gts_bb_tree_point_distance()</CODE
-></A
-> function. The fields of <CODE
-CLASS="PARAMETER"
->range</CODE
-> are
-filled with the number of points sampled, the minimum, average and
-maximum value and the standard deviation.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN11950"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->tree</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a bounding box tree.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN11955"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->s</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-segments.html#GTSSEGMENT"
-><SPAN
-CLASS="TYPE"
->GtsSegment</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN11962"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->distance</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-bounding-boxes-trees.html#GTSBBOXDISTFUNC"
-><SPAN
-CLASS="TYPE"
->GtsBBoxDistFunc</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN11969"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->delta</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> spatial scale of the sampling to be used.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN11974"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->range</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-simple-statistics.html#GTSRANGE"
-><SPAN
-CLASS="TYPE"
->GtsRange</SPAN
-></A
-> to be filled with the results.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN11981"
-></A
-><H3
-><A
-NAME="GTS-BB-TREE-TRIANGLE-DISTANCE"
-></A
->gts_bb_tree_triangle_distance ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_bb_tree_triangle_distance (<GTKDOCLINK
-HREF="GNODE"
->GNode</GTKDOCLINK
-> *tree,
- <A
-HREF="gts-triangles.html#GTSTRIANGLE"
->GtsTriangle</A
-> *t,
- <A
-HREF="gts-bounding-boxes-trees.html#GTSBBOXDISTFUNC"
->GtsBBoxDistFunc</A
-> distance,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> delta,
- <A
-HREF="gts-simple-statistics.html#GTSRANGE"
->GtsRange</A
-> *range);</PRE
-><P
->Given a triangle <CODE
-CLASS="PARAMETER"
->t</CODE
->, points are sampled regularly on its surface
-using <CODE
-CLASS="PARAMETER"
->delta</CODE
-> as increment. The distance from each of these points
-to the closest object of <CODE
-CLASS="PARAMETER"
->tree</CODE
-> is computed using <CODE
-CLASS="PARAMETER"
->distance</CODE
-> and the
-<A
-HREF="gts-bounding-boxes-trees.html#GTS-BB-TREE-POINT-DISTANCE"
-><CODE
-CLASS="FUNCTION"
->gts_bb_tree_point_distance()</CODE
-></A
-> function. The fields of <CODE
-CLASS="PARAMETER"
->range</CODE
-> are
-filled with the number of points sampled, the minimum, average and
-maximum value and the standard deviation.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN12003"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->tree</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a bounding box tree.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN12008"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->t</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-triangles.html#GTSTRIANGLE"
-><SPAN
-CLASS="TYPE"
->GtsTriangle</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN12015"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->distance</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-bounding-boxes-trees.html#GTSBBOXDISTFUNC"
-><SPAN
-CLASS="TYPE"
->GtsBBoxDistFunc</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN12022"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->delta</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> spatial scale of the sampling to be used.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN12027"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->range</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-simple-statistics.html#GTSRANGE"
-><SPAN
-CLASS="TYPE"
->GtsRange</SPAN
-></A
-> to be filled with the results.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN12034"
-></A
-><H3
-><A
-NAME="GTS-BB-TREE-POINT-CLOSEST-BBOXES"
-></A
->gts_bb_tree_point_closest_bboxes ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GSLIST"
->GSList</GTKDOCLINK
->* gts_bb_tree_point_closest_bboxes
- (<GTKDOCLINK
-HREF="GNODE"
->GNode</GTKDOCLINK
-> *tree,
- <A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *p);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN12046"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->tree</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a bounding box tree.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN12051"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->p</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-points.html#GTSPOINT"
-><SPAN
-CLASS="TYPE"
->GtsPoint</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN12058"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a list of <A
-HREF="gts-bounding-boxes-trees.html#GTSBBOX"
-><SPAN
-CLASS="TYPE"
->GtsBBox</SPAN
-></A
->. One of the bounding boxes is assured to contain
-the object of <CODE
-CLASS="PARAMETER"
->tree</CODE
-> closest to <CODE
-CLASS="PARAMETER"
->p</CODE
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN12067"
-></A
-><H3
-><A
-NAME="GTS-BB-TREE-SURFACE-BOUNDARY-DISTANCE"
-></A
->gts_bb_tree_surface_boundary_distance ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_bb_tree_surface_boundary_distance
- (<GTKDOCLINK
-HREF="GNODE"
->GNode</GTKDOCLINK
-> *tree,
- <A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s,
- <A
-HREF="gts-bounding-boxes-trees.html#GTSBBOXDISTFUNC"
->GtsBBoxDistFunc</A
-> distance,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> delta,
- <A
-HREF="gts-simple-statistics.html#GTSRANGE"
->GtsRange</A
-> *range);</PRE
-><P
->Calls <A
-HREF="gts-bounding-boxes-trees.html#GTS-BB-TREE-SEGMENT-DISTANCE"
-><CODE
-CLASS="FUNCTION"
->gts_bb_tree_segment_distance()</CODE
-></A
-> for each edge boundary of <CODE
-CLASS="PARAMETER"
->s</CODE
->.
-The fields of <CODE
-CLASS="PARAMETER"
->range</CODE
-> are filled with the minimum, maximum and
-average distance. The average distance is defined as the sum of the
-average distances for each boundary edge weighthed by their length
-and divided by the total length of the boundaries. The standard
-deviation is defined accordingly. The <CODE
-CLASS="PARAMETER"
->n</CODE
-> field of <CODE
-CLASS="PARAMETER"
->range</CODE
-> is filled
-with the number of sampled points used.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN12088"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->tree</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a bounding box tree.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN12093"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->s</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN12100"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->distance</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-bounding-boxes-trees.html#GTSBBOXDISTFUNC"
-><SPAN
-CLASS="TYPE"
->GtsBBoxDistFunc</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN12107"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->delta</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a sampling increment defined as the percentage of the diagonal
-of the root bounding box of <CODE
-CLASS="PARAMETER"
->tree</CODE
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN12113"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->range</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-simple-statistics.html#GTSRANGE"
-><SPAN
-CLASS="TYPE"
->GtsRange</SPAN
-></A
-> to be filled with the results.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN12120"
-></A
-><H3
-><A
-NAME="GTS-BB-TREE-SURFACE-DISTANCE"
-></A
->gts_bb_tree_surface_distance ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_bb_tree_surface_distance (<GTKDOCLINK
-HREF="GNODE"
->GNode</GTKDOCLINK
-> *tree,
- <A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s,
- <A
-HREF="gts-bounding-boxes-trees.html#GTSBBOXDISTFUNC"
->GtsBBoxDistFunc</A
-> distance,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> delta,
- <A
-HREF="gts-simple-statistics.html#GTSRANGE"
->GtsRange</A
-> *range);</PRE
-><P
->Calls <A
-HREF="gts-bounding-boxes-trees.html#GTS-BB-TREE-TRIANGLE-DISTANCE"
-><CODE
-CLASS="FUNCTION"
->gts_bb_tree_triangle_distance()</CODE
-></A
-> for each face of <CODE
-CLASS="PARAMETER"
->s</CODE
->. The
-fields of <CODE
-CLASS="PARAMETER"
->range</CODE
-> are filled with the minimum, maximum and average
-distance. The average distance is defined as the sum of the average
-distances for each triangle weighthed by their area and divided by
-the total area of the surface. The standard deviation is defined
-accordingly. The <CODE
-CLASS="PARAMETER"
->n</CODE
-> field of <CODE
-CLASS="PARAMETER"
->range</CODE
-> is filled with the number of
-sampled points used.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN12141"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->tree</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a bounding box tree.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN12146"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->s</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN12153"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->distance</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-bounding-boxes-trees.html#GTSBBOXDISTFUNC"
-><SPAN
-CLASS="TYPE"
->GtsBBoxDistFunc</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN12160"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->delta</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a sampling increment defined as the percentage of the diagonal
-of the root bounding box of <CODE
-CLASS="PARAMETER"
->tree</CODE
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN12166"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->range</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-simple-statistics.html#GTSRANGE"
-><SPAN
-CLASS="TYPE"
->GtsRange</SPAN
-></A
-> to be filled with the results.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN12173"
-></A
-><H3
-><A
-NAME="GTS-BB-TREE-STABBED"
-></A
->gts_bb_tree_stabbed ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GSLIST"
->GSList</GTKDOCLINK
->* gts_bb_tree_stabbed (<GTKDOCLINK
-HREF="GNODE"
->GNode</GTKDOCLINK
-> *tree,
- <A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *p);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN12185"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->tree</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a bounding box tree.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN12190"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->p</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-points.html#GTSPOINT"
-><SPAN
-CLASS="TYPE"
->GtsPoint</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN12197"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a list of bounding boxes, leaves of <CODE
-CLASS="PARAMETER"
->tree</CODE
-> which are
-stabbed by the ray defined by <CODE
-CLASS="PARAMETER"
->p</CODE
-> (see <A
-HREF="gts-bounding-boxes-trees.html#GTS-BBOX-IS-STABBED"
-><CODE
-CLASS="FUNCTION"
->gts_bbox_is_stabbed()</CODE
-></A
->).</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-></DIV
-><TABLE
-CLASS="navigation"
-WIDTH="100%"
-SUMMARY="Navigation footer"
-CELLPADDING="2"
-CELLSPACING="2"
-><TR
-VALIGN="middle"
-><TD
-ALIGN="left"
-><A
-ACCESSKEY="p"
-HREF="gts-kd-trees.html"
-><B
-><<< Kd-Trees</B
-></A
-></TD
-><TD
-ALIGN="right"
-><A
-ACCESSKEY="n"
-HREF="c12206.html"
-><B
->Surface operations >>></B
-></A
-></TD
-></TR
-></TABLE
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/gts-containee-classes.html b/doc/html/gts-containee-classes.html
deleted file mode 100644
index eeeea6c..0000000
--- a/doc/html/gts-containee-classes.html
+++ /dev/null
@@ -1,1075 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
-<HTML
-><HEAD
-><TITLE
->Containee classes</TITLE
-><META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
-REL="HOME"
-TITLE="GTS Library Reference Manual"
-HREF="book1.html"><LINK
-REL="UP"
-TITLE="Geometrical Object Hierarchy"
-HREF="c2915.html"><LINK
-REL="PREVIOUS"
-TITLE="Container classes"
-HREF="gts-container-classes.html"><LINK
-REL="NEXT"
-TITLE="Points"
-HREF="gts-points.html"><STYLE
-TYPE="text/css"
->.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</STYLE
-></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><TABLE
-WIDTH="100%"
-CLASS="navigation"
-SUMMARY="Navigation header"
-CELLPADDING="2"
-CELLSPACING="2"
-><TR
-VALIGN="middle"
-><TD
-><A
-ACCESSKEY="p"
-HREF="gts-container-classes.html"
-><IMG
-SRC="left.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Prev"></A
-></TD
-><TD
-><A
-ACCESSKEY="u"
-HREF="c2915.html"
-><IMG
-SRC="up.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Up"></A
-></TD
-><TD
-><A
-ACCESSKEY="h"
-HREF="book1.html"
-><IMG
-SRC="home.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Home"></A
-></TD
-><TH
-WIDTH="100%"
-align="center"
->GTS Library Reference Manual</TH
-><TD
-><A
-ACCESSKEY="n"
-HREF="gts-points.html"
-><IMG
-SRC="right.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Next"></A
-></TD
-></TR
-></TABLE
-><H1
-><A
-NAME="GTS-CONTAINEE-CLASSES"
-></A
->Containee classes</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN4086"
-></A
-><H2
->Name</H2
->Containee classes -- </DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN4089"
-></A
-><H2
->Synopsis</H2
-><PRE
-CLASS="SYNOPSIS"
->
#include <gts.h>
-
-
-#define <A
-HREF="gts-containee-classes.html#GTS-CONTAINEE-CLASS:CAPS"
->GTS_CONTAINEE_CLASS</A
-> (klass)
-#define <A
-HREF="gts-containee-classes.html#GTS-CONTAINEE:CAPS"
->GTS_CONTAINEE</A
-> (obj)
-#define <A
-HREF="gts-containee-classes.html#GTS-IS-CONTAINEE:CAPS"
->GTS_IS_CONTAINEE</A
-> (obj)
- <A
-HREF="gts-containee-classes.html#GTSCONTAINEECLASS"
->GtsContaineeClass</A
->;
- <A
-HREF="gts-containee-classes.html#GTSCONTAINEE"
->GtsContainee</A
->;
-
-<A
-HREF="gts-containee-classes.html#GTSCONTAINEECLASS"
->GtsContaineeClass</A
->* <A
-HREF="gts-containee-classes.html#GTS-CONTAINEE-CLASS"
->gts_containee_class</A
-> (void);
-<A
-HREF="gts-containee-classes.html#GTSCONTAINEE"
->GtsContainee</A
->* <A
-HREF="gts-containee-classes.html#GTS-CONTAINEE-NEW"
->gts_containee_new</A
-> (<A
-HREF="gts-containee-classes.html#GTSCONTAINEECLASS"
->GtsContaineeClass</A
-> *klass);
-<GTKDOCLINK
-HREF="GBOOLEAN"
->gboolean</GTKDOCLINK
-> <A
-HREF="gts-containee-classes.html#GTS-CONTAINEE-IS-CONTAINED"
->gts_containee_is_contained</A
-> (<A
-HREF="gts-containee-classes.html#GTSCONTAINEE"
->GtsContainee</A
-> *item,
- <A
-HREF="gts-container-classes.html#GTSCONTAINER"
->GtsContainer</A
-> *c);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-containee-classes.html#GTS-CONTAINEE-REPLACE"
->gts_containee_replace</A
-> (<A
-HREF="gts-containee-classes.html#GTSCONTAINEE"
->GtsContainee</A
-> *item,
- <A
-HREF="gts-containee-classes.html#GTSCONTAINEE"
->GtsContainee</A
-> *with);
-
-#define <A
-HREF="gts-containee-classes.html#GTS-SLIST-CONTAINEE-CLASS:CAPS"
->GTS_SLIST_CONTAINEE_CLASS</A
-> (klass)
-#define <A
-HREF="gts-containee-classes.html#GTS-SLIST-CONTAINEE:CAPS"
->GTS_SLIST_CONTAINEE</A
-> (obj)
-#define <A
-HREF="gts-containee-classes.html#GTS-IS-SLIST-CONTAINEE:CAPS"
->GTS_IS_SLIST_CONTAINEE</A
-> (obj)
- <A
-HREF="gts-containee-classes.html#GTSSLISTCONTAINEECLASS"
->GtsSListContaineeClass</A
->;
- <A
-HREF="gts-containee-classes.html#GTSSLISTCONTAINEE"
->GtsSListContainee</A
->;
-
-<A
-HREF="gts-containee-classes.html#GTSSLISTCONTAINEECLASS"
->GtsSListContaineeClass</A
->* <A
-HREF="gts-containee-classes.html#GTS-SLIST-CONTAINEE-CLASS"
->gts_slist_containee_class</A
->
- (void);</PRE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN4117"
-></A
-><H2
->Description</H2
-><P
-></P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN4120"
-></A
-><H2
->Details</H2
-><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN4122"
-></A
-><H3
-><A
-NAME="GTS-CONTAINEE-CLASS:CAPS"
-></A
->GTS_CONTAINEE_CLASS()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_CONTAINEE_CLASS(klass)</PRE
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN4130"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->klass</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN4135"
-></A
-><H3
-><A
-NAME="GTS-CONTAINEE:CAPS"
-></A
->GTS_CONTAINEE()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_CONTAINEE(obj)</PRE
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN4143"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->obj</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN4148"
-></A
-><H3
-><A
-NAME="GTS-IS-CONTAINEE:CAPS"
-></A
->GTS_IS_CONTAINEE()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_IS_CONTAINEE(obj)</PRE
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN4156"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->obj</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN4161"
-></A
-><H3
-><A
-NAME="GTSCONTAINEECLASS"
-></A
->GtsContaineeClass</H3
-><PRE
-CLASS="PROGRAMLISTING"
->typedef struct {
- GtsObjectClass parent_class;
-
- void (* add_container) (GtsContainee *, GtsContainer *);
- void (* remove_container) (GtsContainee *, GtsContainer *);
- void (* foreach) (GtsContainee *, GtsFunc, gpointer);
- gboolean (* is_contained) (GtsContainee *, GtsContainer *);
- void (* replace) (GtsContainee *, GtsContainee *);
-} GtsContaineeClass;</PRE
-><P
-></P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN4168"
-></A
-><H3
-><A
-NAME="GTSCONTAINEE"
-></A
->GtsContainee</H3
-><PRE
-CLASS="PROGRAMLISTING"
->typedef struct {
- GtsObject object;
-} GtsContainee;</PRE
-><P
->The containee object.</P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN4176"><SPAN
-STYLE="white-space: nowrap"
-><A
-HREF="gts-object-class.html#GTSOBJECT"
->GtsObject</A
-> <CODE
-CLASS="STRUCTFIELD"
->object</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->The parent object.
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN4182"
-></A
-><H3
-><A
-NAME="GTS-CONTAINEE-CLASS"
-></A
->gts_containee_class ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-containee-classes.html#GTSCONTAINEECLASS"
->GtsContaineeClass</A
->* gts_containee_class (void);</PRE
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN4191"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN4196"
-></A
-><H3
-><A
-NAME="GTS-CONTAINEE-NEW"
-></A
->gts_containee_new ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-containee-classes.html#GTSCONTAINEE"
->GtsContainee</A
->* gts_containee_new (<A
-HREF="gts-containee-classes.html#GTSCONTAINEECLASS"
->GtsContaineeClass</A
-> *klass);</PRE
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN4206"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->klass</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-></P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN4211"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN4216"
-></A
-><H3
-><A
-NAME="GTS-CONTAINEE-IS-CONTAINED"
-></A
->gts_containee_is_contained ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GBOOLEAN"
->gboolean</GTKDOCLINK
-> gts_containee_is_contained (<A
-HREF="gts-containee-classes.html#GTSCONTAINEE"
->GtsContainee</A
-> *item,
- <A
-HREF="gts-container-classes.html#GTSCONTAINER"
->GtsContainer</A
-> *c);</PRE
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN4227"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->item</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-></P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN4232"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->c</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-></P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN4237"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN4242"
-></A
-><H3
-><A
-NAME="GTS-CONTAINEE-REPLACE"
-></A
->gts_containee_replace ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_containee_replace (<A
-HREF="gts-containee-classes.html#GTSCONTAINEE"
->GtsContainee</A
-> *item,
- <A
-HREF="gts-containee-classes.html#GTSCONTAINEE"
->GtsContainee</A
-> *with);</PRE
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN4253"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->item</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-></P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN4258"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->with</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN4263"
-></A
-><H3
-><A
-NAME="GTS-SLIST-CONTAINEE-CLASS:CAPS"
-></A
->GTS_SLIST_CONTAINEE_CLASS()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_SLIST_CONTAINEE_CLASS(klass)</PRE
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN4271"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->klass</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN4276"
-></A
-><H3
-><A
-NAME="GTS-SLIST-CONTAINEE:CAPS"
-></A
->GTS_SLIST_CONTAINEE()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_SLIST_CONTAINEE(obj)</PRE
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN4284"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->obj</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN4289"
-></A
-><H3
-><A
-NAME="GTS-IS-SLIST-CONTAINEE:CAPS"
-></A
->GTS_IS_SLIST_CONTAINEE()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_IS_SLIST_CONTAINEE(obj)</PRE
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN4297"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->obj</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN4302"
-></A
-><H3
-><A
-NAME="GTSSLISTCONTAINEECLASS"
-></A
->GtsSListContaineeClass</H3
-><PRE
-CLASS="PROGRAMLISTING"
->typedef struct {
- GtsContaineeClass parent_class;
-} GtsSListContaineeClass;</PRE
-><P
-></P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN4309"
-></A
-><H3
-><A
-NAME="GTSSLISTCONTAINEE"
-></A
->GtsSListContainee</H3
-><PRE
-CLASS="PROGRAMLISTING"
->typedef struct {
- GtsContainee containee;
-
- GSList * containers;
-} GtsSListContainee;</PRE
-><P
->The singly-linked list containee object.</P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN4317"><SPAN
-STYLE="white-space: nowrap"
-><A
-HREF="gts-containee-classes.html#GTSCONTAINEE"
->GtsContainee</A
-> <CODE
-CLASS="STRUCTFIELD"
->containee</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->The parent object.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN4323"><SPAN
-STYLE="white-space: nowrap"
-><GTKDOCLINK
-HREF="GSLIST"
->GSList</GTKDOCLINK
-> *<CODE
-CLASS="STRUCTFIELD"
->containers</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->A list of <A
-HREF="gts-container-classes.html#GTSCONTAINER"
-><SPAN
-CLASS="TYPE"
->GtsContainer</SPAN
-></A
-> containing this object.
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN4331"
-></A
-><H3
-><A
-NAME="GTS-SLIST-CONTAINEE-CLASS"
-></A
->gts_slist_containee_class ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-containee-classes.html#GTSSLISTCONTAINEECLASS"
->GtsSListContaineeClass</A
->* gts_slist_containee_class
- (void);</PRE
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN4340"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-></DIV
-><TABLE
-CLASS="navigation"
-WIDTH="100%"
-SUMMARY="Navigation footer"
-CELLPADDING="2"
-CELLSPACING="2"
-><TR
-VALIGN="middle"
-><TD
-ALIGN="left"
-><A
-ACCESSKEY="p"
-HREF="gts-container-classes.html"
-><B
-><<< Container classes</B
-></A
-></TD
-><TD
-ALIGN="right"
-><A
-ACCESSKEY="n"
-HREF="gts-points.html"
-><B
->Points >>></B
-></A
-></TD
-></TR
-></TABLE
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/gts-container-classes.html b/doc/html/gts-container-classes.html
deleted file mode 100644
index 0c2e667..0000000
--- a/doc/html/gts-container-classes.html
+++ /dev/null
@@ -1,1447 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
-<HTML
-><HEAD
-><TITLE
->Container classes</TITLE
-><META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
-REL="HOME"
-TITLE="GTS Library Reference Manual"
-HREF="book1.html"><LINK
-REL="UP"
-TITLE="Geometrical Object Hierarchy"
-HREF="c2915.html"><LINK
-REL="PREVIOUS"
-TITLE="Object class"
-HREF="gts-object-class.html"><LINK
-REL="NEXT"
-TITLE="Containee classes"
-HREF="gts-containee-classes.html"><STYLE
-TYPE="text/css"
->.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</STYLE
-></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><TABLE
-WIDTH="100%"
-CLASS="navigation"
-SUMMARY="Navigation header"
-CELLPADDING="2"
-CELLSPACING="2"
-><TR
-VALIGN="middle"
-><TD
-><A
-ACCESSKEY="p"
-HREF="gts-object-class.html"
-><IMG
-SRC="left.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Prev"></A
-></TD
-><TD
-><A
-ACCESSKEY="u"
-HREF="c2915.html"
-><IMG
-SRC="up.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Up"></A
-></TD
-><TD
-><A
-ACCESSKEY="h"
-HREF="book1.html"
-><IMG
-SRC="home.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Home"></A
-></TD
-><TH
-WIDTH="100%"
-align="center"
->GTS Library Reference Manual</TH
-><TD
-><A
-ACCESSKEY="n"
-HREF="gts-containee-classes.html"
-><IMG
-SRC="right.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Next"></A
-></TD
-></TR
-></TABLE
-><H1
-><A
-NAME="GTS-CONTAINER-CLASSES"
-></A
->Container classes</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN3713"
-></A
-><H2
->Name</H2
->Container classes -- </DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN3716"
-></A
-><H2
->Synopsis</H2
-><PRE
-CLASS="SYNOPSIS"
->
#include <gts.h>
-
-
-#define <A
-HREF="gts-container-classes.html#GTS-CONTAINER-CLASS:CAPS"
->GTS_CONTAINER_CLASS</A
-> (klass)
-#define <A
-HREF="gts-container-classes.html#GTS-CONTAINER:CAPS"
->GTS_CONTAINER</A
-> (obj)
-#define <A
-HREF="gts-container-classes.html#GTS-IS-CONTAINER:CAPS"
->GTS_IS_CONTAINER</A
-> (obj)
- <A
-HREF="gts-container-classes.html#GTSCONTAINERCLASS"
->GtsContainerClass</A
->;
- <A
-HREF="gts-container-classes.html#GTSCONTAINER"
->GtsContainer</A
->;
-
-<A
-HREF="gts-container-classes.html#GTSCONTAINERCLASS"
->GtsContainerClass</A
->* <A
-HREF="gts-container-classes.html#GTS-CONTAINER-CLASS"
->gts_container_class</A
-> (void);
-<A
-HREF="gts-container-classes.html#GTSCONTAINER"
->GtsContainer</A
->* <A
-HREF="gts-container-classes.html#GTS-CONTAINER-NEW"
->gts_container_new</A
-> (<A
-HREF="gts-container-classes.html#GTSCONTAINERCLASS"
->GtsContainerClass</A
-> *klass);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-container-classes.html#GTS-CONTAINER-ADD"
->gts_container_add</A
-> (<A
-HREF="gts-container-classes.html#GTSCONTAINER"
->GtsContainer</A
-> *c,
- <A
-HREF="gts-containee-classes.html#GTSCONTAINEE"
->GtsContainee</A
-> *item);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-container-classes.html#GTS-CONTAINER-REMOVE"
->gts_container_remove</A
-> (<A
-HREF="gts-container-classes.html#GTSCONTAINER"
->GtsContainer</A
-> *c,
- <A
-HREF="gts-containee-classes.html#GTSCONTAINEE"
->GtsContainee</A
-> *item);
-<GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> <A
-HREF="gts-container-classes.html#GTS-CONTAINER-SIZE"
->gts_container_size</A
-> (<A
-HREF="gts-container-classes.html#GTSCONTAINER"
->GtsContainer</A
-> *c);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-container-classes.html#GTS-CONTAINER-FOREACH"
->gts_container_foreach</A
-> (<A
-HREF="gts-container-classes.html#GTSCONTAINER"
->GtsContainer</A
-> *c,
- <A
-HREF="gts-surfaces.html#GTSFUNC"
->GtsFunc</A
-> func,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> data);
-
-#define <A
-HREF="gts-container-classes.html#GTS-HASH-CONTAINER-CLASS:CAPS"
->GTS_HASH_CONTAINER_CLASS</A
-> (klass)
-#define <A
-HREF="gts-container-classes.html#GTS-HASH-CONTAINER:CAPS"
->GTS_HASH_CONTAINER</A
-> (obj)
-#define <A
-HREF="gts-container-classes.html#GTS-IS-HASH-CONTAINER:CAPS"
->GTS_IS_HASH_CONTAINER</A
-> (obj)
- <A
-HREF="gts-container-classes.html#GTSHASHCONTAINERCLASS"
->GtsHashContainerClass</A
->;
- <A
-HREF="gts-container-classes.html#GTSHASHCONTAINER"
->GtsHashContainer</A
->;
-
-<A
-HREF="gts-container-classes.html#GTSHASHCONTAINERCLASS"
->GtsHashContainerClass</A
->* <A
-HREF="gts-container-classes.html#GTS-HASH-CONTAINER-CLASS"
->gts_hash_container_class</A
->
- (void);
-
-#define <A
-HREF="gts-container-classes.html#GTS-SLIST-CONTAINER-CLASS:CAPS"
->GTS_SLIST_CONTAINER_CLASS</A
-> (klass)
-#define <A
-HREF="gts-container-classes.html#GTS-SLIST-CONTAINER:CAPS"
->GTS_SLIST_CONTAINER</A
-> (obj)
-#define <A
-HREF="gts-container-classes.html#GTS-IS-SLIST-CONTAINER:CAPS"
->GTS_IS_SLIST_CONTAINER</A
-> (obj)
- <A
-HREF="gts-container-classes.html#GTSSLISTCONTAINERCLASS"
->GtsSListContainerClass</A
->;
- <A
-HREF="gts-container-classes.html#GTSSLISTCONTAINER"
->GtsSListContainer</A
->;
-
-<A
-HREF="gts-container-classes.html#GTSSLISTCONTAINERCLASS"
->GtsSListContainerClass</A
->* <A
-HREF="gts-container-classes.html#GTS-SLIST-CONTAINER-CLASS"
->gts_slist_container_class</A
->
- (void);</PRE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN3759"
-></A
-><H2
->Description</H2
-><P
-></P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN3762"
-></A
-><H2
->Details</H2
-><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN3764"
-></A
-><H3
-><A
-NAME="GTS-CONTAINER-CLASS:CAPS"
-></A
->GTS_CONTAINER_CLASS()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_CONTAINER_CLASS(klass)</PRE
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN3772"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->klass</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN3777"
-></A
-><H3
-><A
-NAME="GTS-CONTAINER:CAPS"
-></A
->GTS_CONTAINER()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_CONTAINER(obj)</PRE
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN3785"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->obj</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN3790"
-></A
-><H3
-><A
-NAME="GTS-IS-CONTAINER:CAPS"
-></A
->GTS_IS_CONTAINER()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_IS_CONTAINER(obj)</PRE
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN3798"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->obj</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN3803"
-></A
-><H3
-><A
-NAME="GTSCONTAINERCLASS"
-></A
->GtsContainerClass</H3
-><PRE
-CLASS="PROGRAMLISTING"
->typedef struct {
- GtsSListContaineeClass parent_class;
-
- void (* add) (GtsContainer *, GtsContainee *);
- void (* remove) (GtsContainer *, GtsContainee *);
- void (* foreach) (GtsContainer *, GtsFunc, gpointer);
- guint (* size) (GtsContainer *);
-} GtsContainerClass;</PRE
-><P
-></P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN3810"
-></A
-><H3
-><A
-NAME="GTSCONTAINER"
-></A
->GtsContainer</H3
-><PRE
-CLASS="PROGRAMLISTING"
->typedef struct {
- GtsSListContainee object;
-} GtsContainer;</PRE
-><P
->The container object.</P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN3818"><SPAN
-STYLE="white-space: nowrap"
-><A
-HREF="gts-containee-classes.html#GTSSLISTCONTAINEE"
->GtsSListContainee</A
-> <CODE
-CLASS="STRUCTFIELD"
->object</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->The parent object.
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN3824"
-></A
-><H3
-><A
-NAME="GTS-CONTAINER-CLASS"
-></A
->gts_container_class ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-container-classes.html#GTSCONTAINERCLASS"
->GtsContainerClass</A
->* gts_container_class (void);</PRE
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN3833"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN3838"
-></A
-><H3
-><A
-NAME="GTS-CONTAINER-NEW"
-></A
->gts_container_new ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-container-classes.html#GTSCONTAINER"
->GtsContainer</A
->* gts_container_new (<A
-HREF="gts-container-classes.html#GTSCONTAINERCLASS"
->GtsContainerClass</A
-> *klass);</PRE
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN3848"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->klass</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-></P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN3853"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN3858"
-></A
-><H3
-><A
-NAME="GTS-CONTAINER-ADD"
-></A
->gts_container_add ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_container_add (<A
-HREF="gts-container-classes.html#GTSCONTAINER"
->GtsContainer</A
-> *c,
- <A
-HREF="gts-containee-classes.html#GTSCONTAINEE"
->GtsContainee</A
-> *item);</PRE
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN3869"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->c</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-></P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN3874"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->item</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN3879"
-></A
-><H3
-><A
-NAME="GTS-CONTAINER-REMOVE"
-></A
->gts_container_remove ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_container_remove (<A
-HREF="gts-container-classes.html#GTSCONTAINER"
->GtsContainer</A
-> *c,
- <A
-HREF="gts-containee-classes.html#GTSCONTAINEE"
->GtsContainee</A
-> *item);</PRE
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN3890"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->c</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-></P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN3895"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->item</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN3900"
-></A
-><H3
-><A
-NAME="GTS-CONTAINER-SIZE"
-></A
->gts_container_size ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> gts_container_size (<A
-HREF="gts-container-classes.html#GTSCONTAINER"
->GtsContainer</A
-> *c);</PRE
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN3910"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->c</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-></P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN3915"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN3920"
-></A
-><H3
-><A
-NAME="GTS-CONTAINER-FOREACH"
-></A
->gts_container_foreach ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_container_foreach (<A
-HREF="gts-container-classes.html#GTSCONTAINER"
->GtsContainer</A
-> *c,
- <A
-HREF="gts-surfaces.html#GTSFUNC"
->GtsFunc</A
-> func,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> data);</PRE
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN3932"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->c</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-></P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN3937"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->func</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-></P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN3942"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->data</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN3947"
-></A
-><H3
-><A
-NAME="GTS-HASH-CONTAINER-CLASS:CAPS"
-></A
->GTS_HASH_CONTAINER_CLASS()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_HASH_CONTAINER_CLASS(klass)</PRE
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN3955"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->klass</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN3960"
-></A
-><H3
-><A
-NAME="GTS-HASH-CONTAINER:CAPS"
-></A
->GTS_HASH_CONTAINER()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_HASH_CONTAINER(obj)</PRE
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN3968"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->obj</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN3973"
-></A
-><H3
-><A
-NAME="GTS-IS-HASH-CONTAINER:CAPS"
-></A
->GTS_IS_HASH_CONTAINER()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_IS_HASH_CONTAINER(obj)</PRE
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN3981"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->obj</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN3986"
-></A
-><H3
-><A
-NAME="GTSHASHCONTAINERCLASS"
-></A
->GtsHashContainerClass</H3
-><PRE
-CLASS="PROGRAMLISTING"
->typedef struct {
- GtsContainerClass parent_class;
-} GtsHashContainerClass;</PRE
-><P
-></P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN3993"
-></A
-><H3
-><A
-NAME="GTSHASHCONTAINER"
-></A
->GtsHashContainer</H3
-><PRE
-CLASS="PROGRAMLISTING"
->typedef struct {
- GtsContainer c;
-
- GHashTable * items;
- gboolean frozen;
-} GtsHashContainer;</PRE
-><P
-></P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN4000"
-></A
-><H3
-><A
-NAME="GTS-HASH-CONTAINER-CLASS"
-></A
->gts_hash_container_class ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-container-classes.html#GTSHASHCONTAINERCLASS"
->GtsHashContainerClass</A
->* gts_hash_container_class
- (void);</PRE
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN4009"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN4014"
-></A
-><H3
-><A
-NAME="GTS-SLIST-CONTAINER-CLASS:CAPS"
-></A
->GTS_SLIST_CONTAINER_CLASS()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_SLIST_CONTAINER_CLASS(klass)</PRE
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN4022"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->klass</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN4027"
-></A
-><H3
-><A
-NAME="GTS-SLIST-CONTAINER:CAPS"
-></A
->GTS_SLIST_CONTAINER()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_SLIST_CONTAINER(obj)</PRE
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN4035"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->obj</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN4040"
-></A
-><H3
-><A
-NAME="GTS-IS-SLIST-CONTAINER:CAPS"
-></A
->GTS_IS_SLIST_CONTAINER()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_IS_SLIST_CONTAINER(obj)</PRE
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN4048"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->obj</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN4053"
-></A
-><H3
-><A
-NAME="GTSSLISTCONTAINERCLASS"
-></A
->GtsSListContainerClass</H3
-><PRE
-CLASS="PROGRAMLISTING"
->typedef struct {
- GtsContainerClass parent_class;
-} GtsSListContainerClass;</PRE
-><P
-></P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN4060"
-></A
-><H3
-><A
-NAME="GTSSLISTCONTAINER"
-></A
->GtsSListContainer</H3
-><PRE
-CLASS="PROGRAMLISTING"
->typedef struct {
- GtsContainer c;
-
- GSList * items;
- gboolean frozen;
-} GtsSListContainer;</PRE
-><P
-></P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN4067"
-></A
-><H3
-><A
-NAME="GTS-SLIST-CONTAINER-CLASS"
-></A
->gts_slist_container_class ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-container-classes.html#GTSSLISTCONTAINERCLASS"
->GtsSListContainerClass</A
->* gts_slist_container_class
- (void);</PRE
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN4076"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-></DIV
-><TABLE
-CLASS="navigation"
-WIDTH="100%"
-SUMMARY="Navigation footer"
-CELLPADDING="2"
-CELLSPACING="2"
-><TR
-VALIGN="middle"
-><TD
-ALIGN="left"
-><A
-ACCESSKEY="p"
-HREF="gts-object-class.html"
-><B
-><<< Object class</B
-></A
-></TD
-><TD
-ALIGN="right"
-><A
-ACCESSKEY="n"
-HREF="gts-containee-classes.html"
-><B
->Containee classes >>></B
-></A
-></TD
-></TR
-></TABLE
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/gts-delaunay-and-constrained-delaunay-triangulations.html b/doc/html/gts-delaunay-and-constrained-delaunay-triangulations.html
deleted file mode 100644
index acba5c6..0000000
--- a/doc/html/gts-delaunay-and-constrained-delaunay-triangulations.html
+++ /dev/null
@@ -1,2046 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
-<HTML
-><HEAD
-><TITLE
->Delaunay and constrained Delaunay triangulations</TITLE
-><META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
-REL="HOME"
-TITLE="GTS Library Reference Manual"
-HREF="book1.html"><LINK
-REL="UP"
-TITLE="Surface operations"
-HREF="c12206.html"><LINK
-REL="PREVIOUS"
-TITLE="Isosurfaces from 3D functions"
-HREF="gts-isosurfaces-from-3d-functions.html"><LINK
-REL="NEXT"
-TITLE="Differential geometry operators"
-HREF="gts-differential-geometry-operators.html"><STYLE
-TYPE="text/css"
->.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</STYLE
-></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><TABLE
-WIDTH="100%"
-CLASS="navigation"
-SUMMARY="Navigation header"
-CELLPADDING="2"
-CELLSPACING="2"
-><TR
-VALIGN="middle"
-><TD
-><A
-ACCESSKEY="p"
-HREF="gts-isosurfaces-from-3d-functions.html"
-><IMG
-SRC="left.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Prev"></A
-></TD
-><TD
-><A
-ACCESSKEY="u"
-HREF="c12206.html"
-><IMG
-SRC="up.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Up"></A
-></TD
-><TD
-><A
-ACCESSKEY="h"
-HREF="book1.html"
-><IMG
-SRC="home.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Home"></A
-></TD
-><TH
-WIDTH="100%"
-align="center"
->GTS Library Reference Manual</TH
-><TD
-><A
-ACCESSKEY="n"
-HREF="gts-differential-geometry-operators.html"
-><IMG
-SRC="right.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Next"></A
-></TD
-></TR
-></TABLE
-><H1
-><A
-NAME="GTS-DELAUNAY-AND-CONSTRAINED-DELAUNAY-TRIANGULATIONS"
-></A
->Delaunay and constrained Delaunay triangulations</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN14488"
-></A
-><H2
->Name</H2
->Delaunay and constrained Delaunay triangulations -- implementation of a dynamic Delaunay triangulation algorithm.</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN14491"
-></A
-><H2
->Synopsis</H2
-><PRE
-CLASS="SYNOPSIS"
->
#include <gts.h>
-
-
-#define <A
-HREF="gts-delaunay-and-constrained-delaunay-triangulations.html#GTS-CONSTRAINT-CLASS:CAPS"
->GTS_CONSTRAINT_CLASS</A
-> (klass)
-#define <A
-HREF="gts-delaunay-and-constrained-delaunay-triangulations.html#GTS-CONSTRAINT:CAPS"
->GTS_CONSTRAINT</A
-> (obj)
-#define <A
-HREF="gts-delaunay-and-constrained-delaunay-triangulations.html#GTS-IS-CONSTRAINT:CAPS"
->GTS_IS_CONSTRAINT</A
-> (obj)
- <A
-HREF="gts-delaunay-and-constrained-delaunay-triangulations.html#GTSCONSTRAINTCLASS"
->GtsConstraintClass</A
->;
- <A
-HREF="gts-delaunay-and-constrained-delaunay-triangulations.html#GTSCONSTRAINT"
->GtsConstraint</A
->;
-
-<A
-HREF="gts-delaunay-and-constrained-delaunay-triangulations.html#GTSCONSTRAINTCLASS"
->GtsConstraintClass</A
->* <A
-HREF="gts-delaunay-and-constrained-delaunay-triangulations.html#GTS-CONSTRAINT-CLASS"
->gts_constraint_class</A
-> (void);
-<A
-HREF="gts-faces.html#GTSFACE"
->GtsFace</A
->* <A
-HREF="gts-delaunay-and-constrained-delaunay-triangulations.html#GTS-POINT-LOCATE"
->gts_point_locate</A
-> (<A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *p,
- <A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *surface,
- <A
-HREF="gts-faces.html#GTSFACE"
->GtsFace</A
-> *guess);
-<A
-HREF="gts-vertices.html#GTSVERTEX"
->GtsVertex</A
->* <A
-HREF="gts-delaunay-and-constrained-delaunay-triangulations.html#GTS-DELAUNAY-ADD-VERTEX"
->gts_delaunay_add_vertex</A
-> (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *surface,
- <A
-HREF="gts-vertices.html#GTSVERTEX"
->GtsVertex</A
-> *v,
- <A
-HREF="gts-faces.html#GTSFACE"
->GtsFace</A
-> *guess);
-<A
-HREF="gts-vertices.html#GTSVERTEX"
->GtsVertex</A
->* <A
-HREF="gts-delaunay-and-constrained-delaunay-triangulations.html#GTS-DELAUNAY-ADD-VERTEX-TO-FACE"
->gts_delaunay_add_vertex_to_face</A
-> (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *surface,
- <A
-HREF="gts-vertices.html#GTSVERTEX"
->GtsVertex</A
-> *v,
- <A
-HREF="gts-faces.html#GTSFACE"
->GtsFace</A
-> *f);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-delaunay-and-constrained-delaunay-triangulations.html#GTS-DELAUNAY-REMOVE-VERTEX"
->gts_delaunay_remove_vertex</A
-> (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *surface,
- <A
-HREF="gts-vertices.html#GTSVERTEX"
->GtsVertex</A
-> *v);
-<GTKDOCLINK
-HREF="GSLIST"
->GSList</GTKDOCLINK
->* <A
-HREF="gts-delaunay-and-constrained-delaunay-triangulations.html#GTS-DELAUNAY-ADD-CONSTRAINT"
->gts_delaunay_add_constraint</A
-> (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *surface,
- <A
-HREF="gts-delaunay-and-constrained-delaunay-triangulations.html#GTSCONSTRAINT"
->GtsConstraint</A
-> *c);
-<A
-HREF="gts-faces.html#GTSFACE"
->GtsFace</A
->* <A
-HREF="gts-delaunay-and-constrained-delaunay-triangulations.html#GTS-DELAUNAY-CHECK"
->gts_delaunay_check</A
-> (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *surface);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-delaunay-and-constrained-delaunay-triangulations.html#GTS-DELAUNAY-REMOVE-HULL"
->gts_delaunay_remove_hull</A
-> (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *surface);
-<GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> <A
-HREF="gts-delaunay-and-constrained-delaunay-triangulations.html#GTS-DELAUNAY-CONFORM"
->gts_delaunay_conform</A
-> (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *surface,
- <GTKDOCLINK
-HREF="GINT"
->gint</GTKDOCLINK
-> steiner_max,
- <A
-HREF="gts-edges.html#GTSENCROACHFUNC"
->GtsEncroachFunc</A
-> encroaches,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> data);
-<GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> <A
-HREF="gts-delaunay-and-constrained-delaunay-triangulations.html#GTS-DELAUNAY-REFINE"
->gts_delaunay_refine</A
-> (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *surface,
- <GTKDOCLINK
-HREF="GINT"
->gint</GTKDOCLINK
-> steiner_max,
- <A
-HREF="gts-edges.html#GTSENCROACHFUNC"
->GtsEncroachFunc</A
-> encroaches,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> encroach_data,
- <A
-HREF="gts-extended-binary-heaps.html#GTSKEYFUNC"
->GtsKeyFunc</A
-> cost,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> cost_data);</PRE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN14544"
-></A
-><H2
->Description</H2
-><P
->The functions described in this section are useful to build two-dimensional Delaunay and constrained Delaunay triangulations. Only the <CODE
-CLASS="PARAMETER"
->x</CODE
-> and <CODE
-CLASS="PARAMETER"
->y</CODE
-> coordinates of the points are taken into account.</P
-><P
->The algorithm is fully dynamic (insertion and deletion) for Delaunay triangulation and semi-dynamic (insertion only of vertices and constraints) for constrained Delaunay triangulation. </P
-><P
->The insertion part uses a very simple jump-and-walk location algorithm which can be used on any (even non-Delaunay) 2D triangulation as long as its boundary is convex.</P
-><P
->The functions <A
-HREF="gts-delaunay-and-constrained-delaunay-triangulations.html#GTS-DELAUNAY-CONFORM"
-><CODE
-CLASS="FUNCTION"
->gts_delaunay_conform()</CODE
-></A
-> and <A
-HREF="gts-delaunay-and-constrained-delaunay-triangulations.html#GTS-DELAUNAY-REFINE"
-><CODE
-CLASS="FUNCTION"
->gts_delaunay_refine()</CODE
-></A
-> can be used to build Delaunay conforming constrained triangulations and to refine them.</P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN14556"
-></A
-><H2
->Details</H2
-><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN14558"
-></A
-><H3
-><A
-NAME="GTS-CONSTRAINT-CLASS:CAPS"
-></A
->GTS_CONSTRAINT_CLASS()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_CONSTRAINT_CLASS(klass)</PRE
-><P
->Casts <CODE
-CLASS="PARAMETER"
->klass</CODE
-> to <A
-HREF="gts-delaunay-and-constrained-delaunay-triangulations.html#GTSCONSTRAINTCLASS"
-><SPAN
-CLASS="TYPE"
->GtsConstraintClass</SPAN
-></A
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN14570"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->klass</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a desscendant of <A
-HREF="gts-delaunay-and-constrained-delaunay-triangulations.html#GTSCONSTRAINTCLASS"
-><SPAN
-CLASS="TYPE"
->GtsConstraintClass</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN14577"
-></A
-><H3
-><A
-NAME="GTS-CONSTRAINT:CAPS"
-></A
->GTS_CONSTRAINT()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_CONSTRAINT(obj)</PRE
-><P
->Casts <CODE
-CLASS="PARAMETER"
->obj</CODE
-> to <A
-HREF="gts-delaunay-and-constrained-delaunay-triangulations.html#GTSCONSTRAINT"
-><SPAN
-CLASS="TYPE"
->GtsConstraint</SPAN
-></A
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN14589"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->obj</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a descendant of <A
-HREF="gts-delaunay-and-constrained-delaunay-triangulations.html#GTSCONSTRAINT"
-><SPAN
-CLASS="TYPE"
->GtsConstraint</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN14596"
-></A
-><H3
-><A
-NAME="GTS-IS-CONSTRAINT:CAPS"
-></A
->GTS_IS_CONSTRAINT()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_IS_CONSTRAINT(obj)</PRE
-><P
->Evaluates to <TT
-CLASS="LITERAL"
->TRUE</TT
-> if <CODE
-CLASS="PARAMETER"
->obj</CODE
-> is a <A
-HREF="gts-delaunay-and-constrained-delaunay-triangulations.html#GTSCONSTRAINT"
-><SPAN
-CLASS="TYPE"
->GtsConstraint</SPAN
-></A
->, <TT
-CLASS="LITERAL"
->FALSE</TT
-> otherwise.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN14610"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->obj</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-object-class.html#GTSOBJECT"
-><SPAN
-CLASS="TYPE"
->GtsObject</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN14617"
-></A
-><H3
-><A
-NAME="GTSCONSTRAINTCLASS"
-></A
->GtsConstraintClass</H3
-><PRE
-CLASS="PROGRAMLISTING"
->typedef struct _GtsConstraintClass GtsConstraintClass;</PRE
-><P
-></P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN14624"
-></A
-><H3
-><A
-NAME="GTSCONSTRAINT"
-></A
->GtsConstraint</H3
-><PRE
-CLASS="PROGRAMLISTING"
->typedef struct _GtsConstraint GtsConstraint;</PRE
-><P
-></P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN14631"
-></A
-><H3
-><A
-NAME="GTS-CONSTRAINT-CLASS"
-></A
->gts_constraint_class ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-delaunay-and-constrained-delaunay-triangulations.html#GTSCONSTRAINTCLASS"
->GtsConstraintClass</A
->* gts_constraint_class (void);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN14641"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the <A
-HREF="gts-delaunay-and-constrained-delaunay-triangulations.html#GTSCONSTRAINTCLASS"
-><SPAN
-CLASS="TYPE"
->GtsConstraintClass</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN14648"
-></A
-><H3
-><A
-NAME="GTS-POINT-LOCATE"
-></A
->gts_point_locate ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-faces.html#GTSFACE"
->GtsFace</A
->* gts_point_locate (<A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *p,
- <A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *surface,
- <A
-HREF="gts-faces.html#GTSFACE"
->GtsFace</A
-> *guess);</PRE
-><P
->Locates the face of the planar projection of <CODE
-CLASS="PARAMETER"
->surface</CODE
-> containing
-<CODE
-CLASS="PARAMETER"
->p</CODE
->. The planar projection of <CODE
-CLASS="PARAMETER"
->surface</CODE
-> must define a connected set
-of triangles without holes and bounded by a convex boundary. The
-algorithm is randomized and performs in O(n^1/3) expected time
-where n is the number of triangles of <CODE
-CLASS="PARAMETER"
->surface</CODE
->.</P
-><P
->If a good <CODE
-CLASS="PARAMETER"
->guess</CODE
-> is given the point location can be significantly faster.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN14667"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->p</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-points.html#GTSPOINT"
-><SPAN
-CLASS="TYPE"
->GtsPoint</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN14674"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->surface</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN14681"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->guess</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> <TT
-CLASS="LITERAL"
->NULL</TT
-> or a face of <CODE
-CLASS="PARAMETER"
->surface</CODE
-> close to <CODE
-CLASS="PARAMETER"
->p</CODE
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN14689"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-faces.html#GTSFACE"
-><SPAN
-CLASS="TYPE"
->GtsFace</SPAN
-></A
-> of <CODE
-CLASS="PARAMETER"
->surface</CODE
-> containing <CODE
-CLASS="PARAMETER"
->p</CODE
-> or <TT
-CLASS="LITERAL"
->NULL</TT
-> if <CODE
-CLASS="PARAMETER"
->p</CODE
-> is not
-contained within the boundary of <CODE
-CLASS="PARAMETER"
->surface</CODE
->. </P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN14701"
-></A
-><H3
-><A
-NAME="GTS-DELAUNAY-ADD-VERTEX"
-></A
->gts_delaunay_add_vertex ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-vertices.html#GTSVERTEX"
->GtsVertex</A
->* gts_delaunay_add_vertex (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *surface,
- <A
-HREF="gts-vertices.html#GTSVERTEX"
->GtsVertex</A
-> *v,
- <A
-HREF="gts-faces.html#GTSFACE"
->GtsFace</A
-> *guess);</PRE
-><P
->Adds vertex <CODE
-CLASS="PARAMETER"
->v</CODE
-> to the Delaunay triangulation defined by
-<CODE
-CLASS="PARAMETER"
->surface</CODE
->. If <CODE
-CLASS="PARAMETER"
->v</CODE
-> is not contained in the convex hull bounding
-<CODE
-CLASS="PARAMETER"
->surface</CODE
->, <CODE
-CLASS="PARAMETER"
->v</CODE
-> is not added to the triangulation.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN14719"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->surface</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
->. </P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN14726"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->v</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-vertices.html#GTSVERTEX"
-><SPAN
-CLASS="TYPE"
->GtsVertex</SPAN
-></A
->. </P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN14733"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->guess</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> <TT
-CLASS="LITERAL"
->NULL</TT
-> or a <A
-HREF="gts-faces.html#GTSFACE"
-><SPAN
-CLASS="TYPE"
->GtsFace</SPAN
-></A
-> belonging to <CODE
-CLASS="PARAMETER"
->surface</CODE
-> to be used as an initial
-guess for point location.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN14742"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> <TT
-CLASS="LITERAL"
->NULL</TT
-> is <CODE
-CLASS="PARAMETER"
->v</CODE
-> has been successfully added to <CODE
-CLASS="PARAMETER"
->surface</CODE
-> or was
-already contained in <CODE
-CLASS="PARAMETER"
->surface</CODE
->, <CODE
-CLASS="PARAMETER"
->v</CODE
-> if <CODE
-CLASS="PARAMETER"
->v</CODE
-> is not contained in the
-convex hull bounding surface or a <A
-HREF="gts-vertices.html#GTSVERTEX"
-><SPAN
-CLASS="TYPE"
->GtsVertex</SPAN
-></A
-> having the same x and
-y coordinates as <CODE
-CLASS="PARAMETER"
->v</CODE
->. </P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN14756"
-></A
-><H3
-><A
-NAME="GTS-DELAUNAY-ADD-VERTEX-TO-FACE"
-></A
->gts_delaunay_add_vertex_to_face ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-vertices.html#GTSVERTEX"
->GtsVertex</A
->* gts_delaunay_add_vertex_to_face (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *surface,
- <A
-HREF="gts-vertices.html#GTSVERTEX"
->GtsVertex</A
-> *v,
- <A
-HREF="gts-faces.html#GTSFACE"
->GtsFace</A
-> *f);</PRE
-><P
->Adds vertex <CODE
-CLASS="PARAMETER"
->v</CODE
-> to the face <CODE
-CLASS="PARAMETER"
->f</CODE
-> of the Delaunay triangulation defined
-by <CODE
-CLASS="PARAMETER"
->surface</CODE
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN14772"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->surface</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN14779"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->v</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-vertices.html#GTSVERTEX"
-><SPAN
-CLASS="TYPE"
->GtsVertex</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN14786"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->f</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-faces.html#GTSFACE"
-><SPAN
-CLASS="TYPE"
->GtsFace</SPAN
-></A
-> belonging to <CODE
-CLASS="PARAMETER"
->surface</CODE
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN14794"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> <TT
-CLASS="LITERAL"
->NULL</TT
-> is <CODE
-CLASS="PARAMETER"
->v</CODE
-> has been successfully added to <CODE
-CLASS="PARAMETER"
->surface</CODE
-> or was
-already contained in <CODE
-CLASS="PARAMETER"
->surface</CODE
-> or a <A
-HREF="gts-vertices.html#GTSVERTEX"
-><SPAN
-CLASS="TYPE"
->GtsVertex</SPAN
-></A
-> having the same x and
-y coordinates as <CODE
-CLASS="PARAMETER"
->v</CODE
->. </P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN14806"
-></A
-><H3
-><A
-NAME="GTS-DELAUNAY-REMOVE-VERTEX"
-></A
->gts_delaunay_remove_vertex ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_delaunay_remove_vertex (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *surface,
- <A
-HREF="gts-vertices.html#GTSVERTEX"
->GtsVertex</A
-> *v);</PRE
-><P
->Removes <CODE
-CLASS="PARAMETER"
->v</CODE
-> from the Delaunay triangulation defined by <CODE
-CLASS="PARAMETER"
->surface</CODE
-> and
-restores the Delaunay property. Vertex <CODE
-CLASS="PARAMETER"
->v</CODE
-> must not be used by any
-constrained edge otherwise the triangulation is not guaranteed to
-be Delaunay.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN14821"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->surface</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN14828"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->v</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-vertices.html#GTSVERTEX"
-><SPAN
-CLASS="TYPE"
->GtsVertex</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN14835"
-></A
-><H3
-><A
-NAME="GTS-DELAUNAY-ADD-CONSTRAINT"
-></A
->gts_delaunay_add_constraint ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GSLIST"
->GSList</GTKDOCLINK
->* gts_delaunay_add_constraint (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *surface,
- <A
-HREF="gts-delaunay-and-constrained-delaunay-triangulations.html#GTSCONSTRAINT"
->GtsConstraint</A
-> *c);</PRE
-><P
->Add constraint <CODE
-CLASS="PARAMETER"
->c</CODE
-> to the constrained Delaunay triangulation defined by
-<CODE
-CLASS="PARAMETER"
->surface</CODE
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN14849"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->surface</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN14856"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->c</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-delaunay-and-constrained-delaunay-triangulations.html#GTSCONSTRAINT"
-><SPAN
-CLASS="TYPE"
->GtsConstraint</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN14863"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a list of <A
-HREF="gts-delaunay-and-constrained-delaunay-triangulations.html#GTSCONSTRAINT"
-><SPAN
-CLASS="TYPE"
->GtsConstraint</SPAN
-></A
-> conflicting (i.e. intersecting) with <CODE
-CLASS="PARAMETER"
->c</CODE
->
-which were removed from <CODE
-CLASS="PARAMETER"
->surface</CODE
-> (<TT
-CLASS="LITERAL"
->NULL</TT
-> if there was none).</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN14873"
-></A
-><H3
-><A
-NAME="GTS-DELAUNAY-CHECK"
-></A
->gts_delaunay_check ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-faces.html#GTSFACE"
->GtsFace</A
->* gts_delaunay_check (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *surface);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN14884"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->surface</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN14891"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> <TT
-CLASS="LITERAL"
->NULL</TT
-> if the planar projection of <CODE
-CLASS="PARAMETER"
->surface</CODE
-> is a Delaunay
-triangulation (unconstrained), a <A
-HREF="gts-faces.html#GTSFACE"
-><SPAN
-CLASS="TYPE"
->GtsFace</SPAN
-></A
-> violating the Delaunay
-property otherwise.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN14900"
-></A
-><H3
-><A
-NAME="GTS-DELAUNAY-REMOVE-HULL"
-></A
->gts_delaunay_remove_hull ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_delaunay_remove_hull (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *surface);</PRE
-><P
->Removes all the edges of the boundary of <CODE
-CLASS="PARAMETER"
->surface</CODE
-> which are not
-constraints.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN14912"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->surface</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN14919"
-></A
-><H3
-><A
-NAME="GTS-DELAUNAY-CONFORM"
-></A
->gts_delaunay_conform ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> gts_delaunay_conform (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *surface,
- <GTKDOCLINK
-HREF="GINT"
->gint</GTKDOCLINK
-> steiner_max,
- <A
-HREF="gts-edges.html#GTSENCROACHFUNC"
->GtsEncroachFunc</A
-> encroaches,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> data);</PRE
-><P
->Recursively split constraints of <CODE
-CLASS="PARAMETER"
->surface</CODE
-> which are encroached by
-vertices of <CODE
-CLASS="PARAMETER"
->surface</CODE
-> (see Shewchuk 96 for details). The split
-constraints are destroyed and replaced by a set of new constraints
-of the same class. If <A
-HREF="gts-vertices.html#GTS-VERTEX-ENCROACHES-EDGE"
-><CODE
-CLASS="FUNCTION"
->gts_vertex_encroaches_edge()</CODE
-></A
-> is used for
-<CODE
-CLASS="PARAMETER"
->encroaches</CODE
->, the resulting surface will be Delaunay conforming.</P
-><P
->If <CODE
-CLASS="PARAMETER"
->steiner_max</CODE
-> is positive or nul, the recursive splitting
-procedure will stop when this maximum number of Steiner points is
-reached. In that case the resulting surface will not necessarily be
-Delaunay conforming.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN14940"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->surface</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
-> describing a constrained Delaunay triangulation.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN14947"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->steiner_max</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> maximum number of Steiner points.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN14952"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->encroaches</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-edges.html#GTSENCROACHFUNC"
-><SPAN
-CLASS="TYPE"
->GtsEncroachFunc</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN14959"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->data</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> user-data to pass to <CODE
-CLASS="PARAMETER"
->encroaches</CODE
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN14965"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the number of remaining encroached edges. If <CODE
-CLASS="PARAMETER"
->steiner_max</CODE
->
-is set to a negative value and <A
-HREF="gts-vertices.html#GTS-VERTEX-ENCROACHES-EDGE"
-><CODE
-CLASS="FUNCTION"
->gts_vertex_encroaches_edge()</CODE
-></A
-> is used
-for <CODE
-CLASS="PARAMETER"
->encroaches</CODE
-> this should always be zero. </P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN14974"
-></A
-><H3
-><A
-NAME="GTS-DELAUNAY-REFINE"
-></A
->gts_delaunay_refine ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> gts_delaunay_refine (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *surface,
- <GTKDOCLINK
-HREF="GINT"
->gint</GTKDOCLINK
-> steiner_max,
- <A
-HREF="gts-edges.html#GTSENCROACHFUNC"
->GtsEncroachFunc</A
-> encroaches,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> encroach_data,
- <A
-HREF="gts-extended-binary-heaps.html#GTSKEYFUNC"
->GtsKeyFunc</A
-> cost,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> cost_data);</PRE
-><P
->An implementation of the refinement algorithm described in Ruppert
-(1995) and Shewchuk (1996).</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN14990"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->surface</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
-> describing a conforming Delaunay triangulation.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN14997"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->steiner_max</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> maximum number of Steiner points.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN15002"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->encroaches</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-edges.html#GTSENCROACHFUNC"
-><SPAN
-CLASS="TYPE"
->GtsEncroachFunc</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN15009"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->encroach_data</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> user-data to pass to <CODE
-CLASS="PARAMETER"
->encroaches</CODE
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN15015"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->cost</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-extended-binary-heaps.html#GTSKEYFUNC"
-><SPAN
-CLASS="TYPE"
->GtsKeyFunc</SPAN
-></A
-> used to sort the faces during refinement.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN15022"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->cost_data</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> user-data to pass to <CODE
-CLASS="PARAMETER"
->cost</CODE
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN15028"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the number of unrefined faces of <CODE
-CLASS="PARAMETER"
->surface</CODE
-> left. Should be zero
-if <CODE
-CLASS="PARAMETER"
->steiner_max</CODE
-> is set to a negative value.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-></DIV
-><TABLE
-CLASS="navigation"
-WIDTH="100%"
-SUMMARY="Navigation footer"
-CELLPADDING="2"
-CELLSPACING="2"
-><TR
-VALIGN="middle"
-><TD
-ALIGN="left"
-><A
-ACCESSKEY="p"
-HREF="gts-isosurfaces-from-3d-functions.html"
-><B
-><<< Isosurfaces from 3D functions</B
-></A
-></TD
-><TD
-ALIGN="right"
-><A
-ACCESSKEY="n"
-HREF="gts-differential-geometry-operators.html"
-><B
->Differential geometry operators >>></B
-></A
-></TD
-></TR
-></TABLE
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/gts-differential-geometry-operators.html b/doc/html/gts-differential-geometry-operators.html
deleted file mode 100644
index 708c40d..0000000
--- a/doc/html/gts-differential-geometry-operators.html
+++ /dev/null
@@ -1,960 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
-<HTML
-><HEAD
-><TITLE
->Differential geometry operators</TITLE
-><META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
-REL="HOME"
-TITLE="GTS Library Reference Manual"
-HREF="book1.html"><LINK
-REL="UP"
-TITLE="Surface operations"
-HREF="c12206.html"><LINK
-REL="PREVIOUS"
-TITLE="Delaunay and constrained Delaunay triangulations"
-HREF="gts-delaunay-and-constrained-delaunay-triangulations.html"><LINK
-REL="NEXT"
-TITLE="Progressive and Hierarchical surfaces"
-HREF="c15264.html"><STYLE
-TYPE="text/css"
->.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</STYLE
-></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><TABLE
-WIDTH="100%"
-CLASS="navigation"
-SUMMARY="Navigation header"
-CELLPADDING="2"
-CELLSPACING="2"
-><TR
-VALIGN="middle"
-><TD
-><A
-ACCESSKEY="p"
-HREF="gts-delaunay-and-constrained-delaunay-triangulations.html"
-><IMG
-SRC="left.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Prev"></A
-></TD
-><TD
-><A
-ACCESSKEY="u"
-HREF="c12206.html"
-><IMG
-SRC="up.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Up"></A
-></TD
-><TD
-><A
-ACCESSKEY="h"
-HREF="book1.html"
-><IMG
-SRC="home.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Home"></A
-></TD
-><TH
-WIDTH="100%"
-align="center"
->GTS Library Reference Manual</TH
-><TD
-><A
-ACCESSKEY="n"
-HREF="c15264.html"
-><IMG
-SRC="right.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Next"></A
-></TD
-></TR
-></TABLE
-><H1
-><A
-NAME="GTS-DIFFERENTIAL-GEOMETRY-OPERATORS"
-></A
->Differential geometry operators</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN15040"
-></A
-><H2
->Name</H2
->Differential geometry operators -- </DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN15043"
-></A
-><H2
->Synopsis</H2
-><PRE
-CLASS="SYNOPSIS"
->
#include <gts.h>
-
-
-<GTKDOCLINK
-HREF="GBOOLEAN"
->gboolean</GTKDOCLINK
-> <A
-HREF="gts-differential-geometry-operators.html#GTS-VERTEX-GAUSSIAN-CURVATURE"
->gts_vertex_gaussian_curvature</A
-> (<A
-HREF="gts-vertices.html#GTSVERTEX"
->GtsVertex</A
-> *v,
- <A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> *Kg);
-<GTKDOCLINK
-HREF="GBOOLEAN"
->gboolean</GTKDOCLINK
-> <A
-HREF="gts-differential-geometry-operators.html#GTS-VERTEX-MEAN-CURVATURE-NORMAL"
->gts_vertex_mean_curvature_normal</A
->
- (<A
-HREF="gts-vertices.html#GTSVERTEX"
->GtsVertex</A
-> *v,
- <A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s,
- <GTKDOCLINK
-HREF="GTSVECTOR"
->GtsVector</GTKDOCLINK
-> Kh);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-differential-geometry-operators.html#GTS-VERTEX-PRINCIPAL-CURVATURES"
->gts_vertex_principal_curvatures</A
-> (<GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> Kh,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> Kg,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> *K1,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> *K2);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-differential-geometry-operators.html#GTS-VERTEX-PRINCIPAL-DIRECTIONS"
->gts_vertex_principal_directions</A
-> (<A
-HREF="gts-vertices.html#GTSVERTEX"
->GtsVertex</A
-> *v,
- <A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s,
- <GTKDOCLINK
-HREF="GTSVECTOR"
->GtsVector</GTKDOCLINK
-> Kh,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> Kg,
- <GTKDOCLINK
-HREF="GTSVECTOR"
->GtsVector</GTKDOCLINK
-> e1,
- <GTKDOCLINK
-HREF="GTSVECTOR"
->GtsVector</GTKDOCLINK
-> e2);</PRE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN15070"
-></A
-><H2
->Description</H2
-><P
-></P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN15073"
-></A
-><H2
->Details</H2
-><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN15075"
-></A
-><H3
-><A
-NAME="GTS-VERTEX-GAUSSIAN-CURVATURE"
-></A
->gts_vertex_gaussian_curvature ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GBOOLEAN"
->gboolean</GTKDOCLINK
-> gts_vertex_gaussian_curvature (<A
-HREF="gts-vertices.html#GTSVERTEX"
->GtsVertex</A
-> *v,
- <A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> *Kg);</PRE
-><P
->Computes the Discrete Gaussian Curvature approximation at <CODE
-CLASS="PARAMETER"
->v</CODE
->.</P
-><P
->This approximation is from the paper:
-Discrete Differential-Geometry Operators for Triangulated 2-Manifolds
-Mark Meyer, Mathieu Desbrun, Peter Schroder, Alan H. Barr
-VisMath '02, Berlin (Germany)
-http://www-grail.usc.edu/pubs.html</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN15090"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->v</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-vertices.html#GTSVERTEX"
-><SPAN
-CLASS="TYPE"
->GtsVertex</SPAN
-></A
->. </P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN15097"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->s</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN15104"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->Kg</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the Discrete Gaussian Curvature approximation at <CODE
-CLASS="PARAMETER"
->v</CODE
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN15110"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> <TT
-CLASS="LITERAL"
->TRUE</TT
-> if the operator could be evaluated, <TT
-CLASS="LITERAL"
->FALSE</TT
-> if the
-evaluation failed for some reason (<CODE
-CLASS="PARAMETER"
->v</CODE
-> is boundary or is the
-endpoint of a non-manifold edge.)</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN15118"
-></A
-><H3
-><A
-NAME="GTS-VERTEX-MEAN-CURVATURE-NORMAL"
-></A
->gts_vertex_mean_curvature_normal ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GBOOLEAN"
->gboolean</GTKDOCLINK
-> gts_vertex_mean_curvature_normal
- (<A
-HREF="gts-vertices.html#GTSVERTEX"
->GtsVertex</A
-> *v,
- <A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s,
- <GTKDOCLINK
-HREF="GTSVECTOR"
->GtsVector</GTKDOCLINK
-> Kh);</PRE
-><P
->Computes the Discrete Mean Curvature Normal approximation at <CODE
-CLASS="PARAMETER"
->v</CODE
->.
-The mean curvature at <CODE
-CLASS="PARAMETER"
->v</CODE
-> is half the magnitude of the vector <CODE
-CLASS="PARAMETER"
->Kh</CODE
->.</P
-><P
->Note: the normal computed is not unit length, and may point either
-into or out of the surface, depending on the curvature at <CODE
-CLASS="PARAMETER"
->v</CODE
->. It
-is the responsibility of the caller of the function to use the mean
-curvature normal appropriately.</P
-><P
->This approximation is from the paper:
-Discrete Differential-Geometry Operators for Triangulated 2-Manifolds
-Mark Meyer, Mathieu Desbrun, Peter Schroder, Alan H. Barr
-VisMath '02, Berlin (Germany)
-http://www-grail.usc.edu/pubs.html</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN15137"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->v</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-vertices.html#GTSVERTEX"
-><SPAN
-CLASS="TYPE"
->GtsVertex</SPAN
-></A
->. </P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN15144"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->s</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN15151"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->Kh</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the Mean Curvature Normal at <CODE
-CLASS="PARAMETER"
->v</CODE
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN15157"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> <TT
-CLASS="LITERAL"
->TRUE</TT
-> if the operator could be evaluated, <TT
-CLASS="LITERAL"
->FALSE</TT
-> if the
-evaluation failed for some reason (<CODE
-CLASS="PARAMETER"
->v</CODE
-> is boundary or is the
-endpoint of a non-manifold edge.)</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN15165"
-></A
-><H3
-><A
-NAME="GTS-VERTEX-PRINCIPAL-CURVATURES"
-></A
->gts_vertex_principal_curvatures ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_vertex_principal_curvatures (<GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> Kh,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> Kg,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> *K1,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> *K2);</PRE
-><P
->Computes the principal curvatures at a point given the mean and
-Gaussian curvatures at that point. </P
-><P
->The mean curvature can be computed as one-half the magnitude of the
-vector computed by <A
-HREF="gts-differential-geometry-operators.html#GTS-VERTEX-MEAN-CURVATURE-NORMAL"
-><CODE
-CLASS="FUNCTION"
->gts_vertex_mean_curvature_normal()</CODE
-></A
->.</P
-><P
->The Gaussian curvature can be computed with
-<A
-HREF="gts-differential-geometry-operators.html#GTS-VERTEX-GAUSSIAN-CURVATURE"
-><CODE
-CLASS="FUNCTION"
->gts_vertex_gaussian_curvature()</CODE
-></A
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN15185"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->Kh</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> mean curvature.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN15190"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->Kg</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> Gaussian curvature.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN15195"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->K1</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> first principal curvature.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN15200"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->K2</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> second principal curvature.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN15205"
-></A
-><H3
-><A
-NAME="GTS-VERTEX-PRINCIPAL-DIRECTIONS"
-></A
->gts_vertex_principal_directions ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_vertex_principal_directions (<A
-HREF="gts-vertices.html#GTSVERTEX"
->GtsVertex</A
-> *v,
- <A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s,
- <GTKDOCLINK
-HREF="GTSVECTOR"
->GtsVector</GTKDOCLINK
-> Kh,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> Kg,
- <GTKDOCLINK
-HREF="GTSVECTOR"
->GtsVector</GTKDOCLINK
-> e1,
- <GTKDOCLINK
-HREF="GTSVECTOR"
->GtsVector</GTKDOCLINK
-> e2);</PRE
-><P
->Computes the principal curvature directions at a point given <CODE
-CLASS="PARAMETER"
->Kh</CODE
->
-and <CODE
-CLASS="PARAMETER"
->Kg</CODE
->, the mean curvature normal and Gaussian curvatures at that
-point, computed with <A
-HREF="gts-differential-geometry-operators.html#GTS-VERTEX-MEAN-CURVATURE-NORMAL"
-><CODE
-CLASS="FUNCTION"
->gts_vertex_mean_curvature_normal()</CODE
-></A
-> and
-<A
-HREF="gts-differential-geometry-operators.html#GTS-VERTEX-GAUSSIAN-CURVATURE"
-><CODE
-CLASS="FUNCTION"
->gts_vertex_gaussian_curvature()</CODE
-></A
->, respectively. </P
-><P
->Note that this computation is very approximate and tends to be
-unstable. Smoothing of the surface or the principal directions may
-be necessary to achieve reasonable results.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN15228"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->v</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-vertices.html#GTSVERTEX"
-><SPAN
-CLASS="TYPE"
->GtsVertex</SPAN
-></A
->. </P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN15235"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->s</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN15242"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->Kh</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> mean curvature normal (a <GTKDOCLINK
-HREF="GTSVECTOR"
-><SPAN
-CLASS="TYPE"
->GtsVector</SPAN
-></GTKDOCLINK
->).</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN15249"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->Kg</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> Gaussian curvature (a gdouble).</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN15254"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->e1</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> first principal curvature direction (direction of largest curvature).</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN15259"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->e2</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> second principal curvature direction.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-></DIV
-><TABLE
-CLASS="navigation"
-WIDTH="100%"
-SUMMARY="Navigation footer"
-CELLPADDING="2"
-CELLSPACING="2"
-><TR
-VALIGN="middle"
-><TD
-ALIGN="left"
-><A
-ACCESSKEY="p"
-HREF="gts-delaunay-and-constrained-delaunay-triangulations.html"
-><B
-><<< Delaunay and constrained Delaunay triangulations</B
-></A
-></TD
-><TD
-ALIGN="right"
-><A
-ACCESSKEY="n"
-HREF="c15264.html"
-><B
->Progressive and Hierarchical surfaces >>></B
-></A
-></TD
-></TR
-></TABLE
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/gts-edges.html b/doc/html/gts-edges.html
deleted file mode 100644
index 6753189..0000000
--- a/doc/html/gts-edges.html
+++ /dev/null
@@ -1,2651 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
-<HTML
-><HEAD
-><TITLE
->Edges</TITLE
-><META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
-REL="HOME"
-TITLE="GTS Library Reference Manual"
-HREF="book1.html"><LINK
-REL="UP"
-TITLE="Geometrical Object Hierarchy"
-HREF="c2915.html"><LINK
-REL="PREVIOUS"
-TITLE="Segments"
-HREF="gts-segments.html"><LINK
-REL="NEXT"
-TITLE="Triangles"
-HREF="gts-triangles.html"><STYLE
-TYPE="text/css"
->.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</STYLE
-></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><TABLE
-WIDTH="100%"
-CLASS="navigation"
-SUMMARY="Navigation header"
-CELLPADDING="2"
-CELLSPACING="2"
-><TR
-VALIGN="middle"
-><TD
-><A
-ACCESSKEY="p"
-HREF="gts-segments.html"
-><IMG
-SRC="left.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Prev"></A
-></TD
-><TD
-><A
-ACCESSKEY="u"
-HREF="c2915.html"
-><IMG
-SRC="up.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Up"></A
-></TD
-><TD
-><A
-ACCESSKEY="h"
-HREF="book1.html"
-><IMG
-SRC="home.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Home"></A
-></TD
-><TH
-WIDTH="100%"
-align="center"
->GTS Library Reference Manual</TH
-><TD
-><A
-ACCESSKEY="n"
-HREF="gts-triangles.html"
-><IMG
-SRC="right.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Next"></A
-></TD
-></TR
-></TABLE
-><H1
-><A
-NAME="GTS-EDGES"
-></A
->Edges</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN6572"
-></A
-><H2
->Name</H2
->Edges -- edge object and related functions.</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN6575"
-></A
-><H2
->Synopsis</H2
-><PRE
-CLASS="SYNOPSIS"
->
#include <gts.h>
-
-
-#define <A
-HREF="gts-edges.html#GTS-EDGE-CLASS:CAPS"
->GTS_EDGE_CLASS</A
-> (klass)
-#define <A
-HREF="gts-edges.html#GTS-EDGE:CAPS"
->GTS_EDGE</A
-> (obj)
-#define <A
-HREF="gts-edges.html#GTS-IS-EDGE:CAPS"
->GTS_IS_EDGE</A
-> (obj)
- <A
-HREF="gts-edges.html#GTSEDGECLASS"
->GtsEdgeClass</A
->;
- <A
-HREF="gts-edges.html#GTSEDGE"
->GtsEdge</A
->;
-
-<A
-HREF="gts-edges.html#GTSEDGECLASS"
->GtsEdgeClass</A
->* <A
-HREF="gts-edges.html#GTS-EDGE-CLASS"
->gts_edge_class</A
-> (void);
-<A
-HREF="gts-edges.html#GTSEDGE"
->GtsEdge</A
->* <A
-HREF="gts-edges.html#GTS-EDGE-NEW"
->gts_edge_new</A
-> (<A
-HREF="gts-edges.html#GTSEDGECLASS"
->GtsEdgeClass</A
-> *klass,
- <A
-HREF="gts-vertices.html#GTSVERTEX"
->GtsVertex</A
-> *v1,
- <A
-HREF="gts-vertices.html#GTSVERTEX"
->GtsVertex</A
-> *v2);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-edges.html#GTS-EDGE-REPLACE"
->gts_edge_replace</A
-> (<A
-HREF="gts-edges.html#GTSEDGE"
->GtsEdge</A
-> *e,
- <A
-HREF="gts-edges.html#GTSEDGE"
->GtsEdge</A
-> *with);
-#define <A
-HREF="gts-edges.html#GTS-EDGE-IS-UNATTACHED"
->gts_edge_is_unattached</A
-> (s)
-<A
-HREF="gts-edges.html#GTSEDGE"
->GtsEdge</A
->* <A
-HREF="gts-edges.html#GTS-EDGE-IS-DUPLICATE"
->gts_edge_is_duplicate</A
-> (<A
-HREF="gts-edges.html#GTSEDGE"
->GtsEdge</A
-> *e);
-<A
-HREF="gts-faces.html#GTSFACE"
->GtsFace</A
->* <A
-HREF="gts-edges.html#GTS-EDGE-HAS-PARENT-SURFACE"
->gts_edge_has_parent_surface</A
-> (<A
-HREF="gts-edges.html#GTSEDGE"
->GtsEdge</A
-> *e,
- <A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *surface);
-<A
-HREF="gts-faces.html#GTSFACE"
->GtsFace</A
->* <A
-HREF="gts-edges.html#GTS-EDGE-HAS-ANY-PARENT-SURFACE"
->gts_edge_has_any_parent_surface</A
-> (<A
-HREF="gts-edges.html#GTSEDGE"
->GtsEdge</A
-> *e);
-<A
-HREF="gts-faces.html#GTSFACE"
->GtsFace</A
->* <A
-HREF="gts-edges.html#GTS-EDGE-IS-BOUNDARY"
->gts_edge_is_boundary</A
-> (<A
-HREF="gts-edges.html#GTSEDGE"
->GtsEdge</A
-> *e,
- <A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *surface);
-<GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> <A
-HREF="gts-edges.html#GTS-EDGE-IS-CONTACT"
->gts_edge_is_contact</A
-> (<A
-HREF="gts-edges.html#GTSEDGE"
->GtsEdge</A
-> *e);
-<GTKDOCLINK
-HREF="GBOOLEAN"
->gboolean</GTKDOCLINK
-> <A
-HREF="gts-edges.html#GTS-EDGE-BELONGS-TO-TETRAHEDRON"
->gts_edge_belongs_to_tetrahedron</A
-> (<A
-HREF="gts-edges.html#GTSEDGE"
->GtsEdge</A
-> *e);
-<GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> <A
-HREF="gts-edges.html#GTS-EDGE-FACE-NUMBER"
->gts_edge_face_number</A
-> (<A
-HREF="gts-edges.html#GTSEDGE"
->GtsEdge</A
-> *e,
- <A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s);
-<GTKDOCLINK
-HREF="GBOOLEAN"
->gboolean</GTKDOCLINK
-> <A
-HREF="gts-edges.html#GTS-EDGE-MANIFOLD-FACES"
->gts_edge_manifold_faces</A
-> (<A
-HREF="gts-edges.html#GTSEDGE"
->GtsEdge</A
-> *e,
- <A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s,
- <A
-HREF="gts-faces.html#GTSFACE"
->GtsFace</A
-> **f1,
- <A
-HREF="gts-faces.html#GTSFACE"
->GtsFace</A
-> **f2);
-<GTKDOCLINK
-HREF="GBOOLEAN"
->gboolean</GTKDOCLINK
-> (<A
-HREF="gts-edges.html#GTSENCROACHFUNC"
->*GtsEncroachFunc</A
->) (<A
-HREF="gts-vertices.html#GTSVERTEX"
->GtsVertex</A
-> *v,
- <A
-HREF="gts-edges.html#GTSEDGE"
->GtsEdge</A
-> *e,
- <A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> data);
-<A
-HREF="gts-vertices.html#GTSVERTEX"
->GtsVertex</A
->* <A
-HREF="gts-edges.html#GTS-EDGE-IS-ENCROACHED"
->gts_edge_is_encroached</A
-> (<A
-HREF="gts-edges.html#GTSEDGE"
->GtsEdge</A
-> *e,
- <A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s,
- <A
-HREF="gts-edges.html#GTSENCROACHFUNC"
->GtsEncroachFunc</A
-> encroaches,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> data);
-<GTKDOCLINK
-HREF="GLIST"
->GList</GTKDOCLINK
->* <A
-HREF="gts-edges.html#GTS-EDGES-MERGE"
->gts_edges_merge</A
-> (<GTKDOCLINK
-HREF="GLIST"
->GList</GTKDOCLINK
-> *edges);
-<GTKDOCLINK
-HREF="GSLIST"
->GSList</GTKDOCLINK
->* <A
-HREF="gts-edges.html#GTS-EDGES-FROM-VERTICES"
->gts_edges_from_vertices</A
-> (<GTKDOCLINK
-HREF="GSLIST"
->GSList</GTKDOCLINK
-> *vertices,
- <A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *parent);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-edges.html#GTS-EDGE-SWAP"
->gts_edge_swap</A
-> (<A
-HREF="gts-edges.html#GTSEDGE"
->GtsEdge</A
-> *e,
- <A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s);</PRE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN6648"
-></A
-><H2
->Description</H2
-><P
->Edges are derived from <A
-HREF="gts-segments.html#GTSSEGMENT"
-><SPAN
-CLASS="TYPE"
->GtsSegment</SPAN
-></A
->. They are used to define <A
-HREF="gts-triangles.html#GTSTRIANGLE"
-><SPAN
-CLASS="TYPE"
->GtsTriangle</SPAN
-></A
->.</P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN6655"
-></A
-><H2
->Details</H2
-><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN6657"
-></A
-><H3
-><A
-NAME="GTS-EDGE-CLASS:CAPS"
-></A
->GTS_EDGE_CLASS()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_EDGE_CLASS(klass)</PRE
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN6665"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->klass</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN6670"
-></A
-><H3
-><A
-NAME="GTS-EDGE:CAPS"
-></A
->GTS_EDGE()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_EDGE(obj)</PRE
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN6678"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->obj</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN6683"
-></A
-><H3
-><A
-NAME="GTS-IS-EDGE:CAPS"
-></A
->GTS_IS_EDGE()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_IS_EDGE(obj)</PRE
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN6691"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->obj</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN6696"
-></A
-><H3
-><A
-NAME="GTSEDGECLASS"
-></A
->GtsEdgeClass</H3
-><PRE
-CLASS="PROGRAMLISTING"
->typedef struct {
- GtsSegmentClass parent_class;
-} GtsEdgeClass;</PRE
-><P
->The edge class. No virtual function associated.</P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN6703"
-></A
-><H3
-><A
-NAME="GTSEDGE"
-></A
->GtsEdge</H3
-><PRE
-CLASS="PROGRAMLISTING"
->typedef struct {
- GtsSegment segment;
-
- GSList * triangles;
-} GtsEdge;</PRE
-><P
->The edge object.</P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN6711"><SPAN
-STYLE="white-space: nowrap"
-><A
-HREF="gts-segments.html#GTSSEGMENT"
->GtsSegment</A
-> <CODE
-CLASS="STRUCTFIELD"
->segment</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->The parent object.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN6717"><SPAN
-STYLE="white-space: nowrap"
-><GTKDOCLINK
-HREF="GSLIST"
->GSList</GTKDOCLINK
-> *<CODE
-CLASS="STRUCTFIELD"
->triangles</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->List of <A
-HREF="gts-triangles.html#GTSTRIANGLE"
-><SPAN
-CLASS="TYPE"
->GtsTriangle</SPAN
-></A
-> using this edge.
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN6725"
-></A
-><H3
-><A
-NAME="GTS-EDGE-CLASS"
-></A
->gts_edge_class ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-edges.html#GTSEDGECLASS"
->GtsEdgeClass</A
->* gts_edge_class (void);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN6735"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the <A
-HREF="gts-edges.html#GTSEDGECLASS"
-><SPAN
-CLASS="TYPE"
->GtsEdgeClass</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN6742"
-></A
-><H3
-><A
-NAME="GTS-EDGE-NEW"
-></A
->gts_edge_new ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-edges.html#GTSEDGE"
->GtsEdge</A
->* gts_edge_new (<A
-HREF="gts-edges.html#GTSEDGECLASS"
->GtsEdgeClass</A
-> *klass,
- <A
-HREF="gts-vertices.html#GTSVERTEX"
->GtsVertex</A
-> *v1,
- <A
-HREF="gts-vertices.html#GTSVERTEX"
->GtsVertex</A
-> *v2);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN6755"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->klass</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-edges.html#GTSEDGECLASS"
-><SPAN
-CLASS="TYPE"
->GtsEdgeClass</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN6762"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->v1</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-vertices.html#GTSVERTEX"
-><SPAN
-CLASS="TYPE"
->GtsVertex</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN6769"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->v2</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-vertices.html#GTSVERTEX"
-><SPAN
-CLASS="TYPE"
->GtsVertex</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN6776"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a new <A
-HREF="gts-edges.html#GTSEDGE"
-><SPAN
-CLASS="TYPE"
->GtsEdge</SPAN
-></A
-> linking <CODE
-CLASS="PARAMETER"
->v1</CODE
-> and <CODE
-CLASS="PARAMETER"
->v2</CODE
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN6785"
-></A
-><H3
-><A
-NAME="GTS-EDGE-REPLACE"
-></A
->gts_edge_replace ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_edge_replace (<A
-HREF="gts-edges.html#GTSEDGE"
->GtsEdge</A
-> *e,
- <A
-HREF="gts-edges.html#GTSEDGE"
->GtsEdge</A
-> *with);</PRE
-><P
->Replaces <CODE
-CLASS="PARAMETER"
->e</CODE
-> with <CODE
-CLASS="PARAMETER"
->with</CODE
->. For each triangle which uses <CODE
-CLASS="PARAMETER"
->e</CODE
-> as an
-edge, <CODE
-CLASS="PARAMETER"
->e</CODE
-> is replaced with <CODE
-CLASS="PARAMETER"
->with</CODE
->. The <CODE
-CLASS="PARAMETER"
->with</CODE
->->triangles list is
-updated appropriately and the <CODE
-CLASS="PARAMETER"
->e</CODE
->->triangles list is freed and set
-to <TT
-CLASS="LITERAL"
->NULL</TT
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN6805"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->e</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-edges.html#GTSEDGE"
-><SPAN
-CLASS="TYPE"
->GtsEdge</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN6812"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->with</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-edges.html#GTSEDGE"
-><SPAN
-CLASS="TYPE"
->GtsEdge</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN6819"
-></A
-><H3
-><A
-NAME="GTS-EDGE-IS-UNATTACHED"
-></A
->gts_edge_is_unattached()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define gts_edge_is_unattached(s) ((s)->triangles == NULL ? TRUE : FALSE)</PRE
-><P
->Evaluates to <TT
-CLASS="LITERAL"
->TRUE</TT
-> if no triangles uses <CODE
-CLASS="PARAMETER"
->s</CODE
-> as an edge, <TT
-CLASS="LITERAL"
->FALSE</TT
-> otherwise.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN6831"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->s</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-edges.html#GTSEDGE"
-><SPAN
-CLASS="TYPE"
->GtsEdge</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN6838"
-></A
-><H3
-><A
-NAME="GTS-EDGE-IS-DUPLICATE"
-></A
->gts_edge_is_duplicate ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-edges.html#GTSEDGE"
->GtsEdge</A
->* gts_edge_is_duplicate (<A
-HREF="gts-edges.html#GTSEDGE"
->GtsEdge</A
-> *e);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN6849"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->e</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-edges.html#GTSEDGE"
-><SPAN
-CLASS="TYPE"
->GtsEdge</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN6856"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the first <A
-HREF="gts-edges.html#GTSEDGE"
-><SPAN
-CLASS="TYPE"
->GtsEdge</SPAN
-></A
-> different from <CODE
-CLASS="PARAMETER"
->e</CODE
-> which shares the
-same endpoints or <TT
-CLASS="LITERAL"
->NULL</TT
-> if there is none.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN6865"
-></A
-><H3
-><A
-NAME="GTS-EDGE-HAS-PARENT-SURFACE"
-></A
->gts_edge_has_parent_surface ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-faces.html#GTSFACE"
->GtsFace</A
->* gts_edge_has_parent_surface (<A
-HREF="gts-edges.html#GTSEDGE"
->GtsEdge</A
-> *e,
- <A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *surface);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN6877"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->e</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-edges.html#GTSEDGE"
-><SPAN
-CLASS="TYPE"
->GtsEdge</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN6884"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->surface</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN6891"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-faces.html#GTSFACE"
-><SPAN
-CLASS="TYPE"
->GtsFace</SPAN
-></A
-> of <CODE
-CLASS="PARAMETER"
->surface</CODE
-> having <CODE
-CLASS="PARAMETER"
->e</CODE
-> as an edge, <TT
-CLASS="LITERAL"
->NULL</TT
-> otherwise.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN6901"
-></A
-><H3
-><A
-NAME="GTS-EDGE-HAS-ANY-PARENT-SURFACE"
-></A
->gts_edge_has_any_parent_surface ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-faces.html#GTSFACE"
->GtsFace</A
->* gts_edge_has_any_parent_surface (<A
-HREF="gts-edges.html#GTSEDGE"
->GtsEdge</A
-> *e);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN6912"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->e</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-edges.html#GTSEDGE"
-><SPAN
-CLASS="TYPE"
->GtsEdge</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN6919"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> <TT
-CLASS="LITERAL"
->NULL</TT
-> if <CODE
-CLASS="PARAMETER"
->e</CODE
-> is not an edge of any triangle or if all the
-faces having <CODE
-CLASS="PARAMETER"
->e</CODE
-> has an edge do not belong to any surface,
-a <A
-HREF="gts-faces.html#GTSFACE"
-><SPAN
-CLASS="TYPE"
->GtsFace</SPAN
-></A
-> belonging to a surface and having <CODE
-CLASS="PARAMETER"
->e</CODE
-> as an edge.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN6930"
-></A
-><H3
-><A
-NAME="GTS-EDGE-IS-BOUNDARY"
-></A
->gts_edge_is_boundary ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-faces.html#GTSFACE"
->GtsFace</A
->* gts_edge_is_boundary (<A
-HREF="gts-edges.html#GTSEDGE"
->GtsEdge</A
-> *e,
- <A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *surface);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN6942"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->e</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-edges.html#GTSEDGE"
-><SPAN
-CLASS="TYPE"
->GtsEdge</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN6949"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->surface</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
-> or <TT
-CLASS="LITERAL"
->NULL</TT
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN6957"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the unique <A
-HREF="gts-faces.html#GTSFACE"
-><SPAN
-CLASS="TYPE"
->GtsFace</SPAN
-></A
-> (which belongs to <CODE
-CLASS="PARAMETER"
->surface</CODE
->) and which
-has <CODE
-CLASS="PARAMETER"
->e</CODE
-> as an edge (i.e. <CODE
-CLASS="PARAMETER"
->e</CODE
-> is a boundary edge (of <CODE
-CLASS="PARAMETER"
->surface</CODE
->)) or <TT
-CLASS="LITERAL"
->NULL</TT
->
-if there is more than one or no faces (belonging to <CODE
-CLASS="PARAMETER"
->surface</CODE
->) and
-with <CODE
-CLASS="PARAMETER"
->e</CODE
-> as an edge.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN6971"
-></A
-><H3
-><A
-NAME="GTS-EDGE-IS-CONTACT"
-></A
->gts_edge_is_contact ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> gts_edge_is_contact (<A
-HREF="gts-edges.html#GTSEDGE"
->GtsEdge</A
-> *e);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN6982"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->e</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-edges.html#GTSEDGE"
-><SPAN
-CLASS="TYPE"
->GtsEdge</SPAN
-></A
->. </P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN6989"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the number of sets of connected triangles sharing <CODE
-CLASS="PARAMETER"
->e</CODE
-> as a
-contact edge. </P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN6995"
-></A
-><H3
-><A
-NAME="GTS-EDGE-BELONGS-TO-TETRAHEDRON"
-></A
->gts_edge_belongs_to_tetrahedron ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GBOOLEAN"
->gboolean</GTKDOCLINK
-> gts_edge_belongs_to_tetrahedron (<A
-HREF="gts-edges.html#GTSEDGE"
->GtsEdge</A
-> *e);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN7006"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->e</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-edges.html#GTSEDGE"
-><SPAN
-CLASS="TYPE"
->GtsEdge</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN7013"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> <TT
-CLASS="LITERAL"
->TRUE</TT
-> if <CODE
-CLASS="PARAMETER"
->e</CODE
-> is used by faces forming a tetrahedron, <TT
-CLASS="LITERAL"
->FALSE</TT
->
-otherwise.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN7021"
-></A
-><H3
-><A
-NAME="GTS-EDGE-FACE-NUMBER"
-></A
->gts_edge_face_number ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> gts_edge_face_number (<A
-HREF="gts-edges.html#GTSEDGE"
->GtsEdge</A
-> *e,
- <A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN7033"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->e</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-edges.html#GTSEDGE"
-><SPAN
-CLASS="TYPE"
->GtsEdge</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN7040"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->s</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN7047"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the number of faces using <CODE
-CLASS="PARAMETER"
->e</CODE
-> and belonging to <CODE
-CLASS="PARAMETER"
->s</CODE
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN7054"
-></A
-><H3
-><A
-NAME="GTS-EDGE-MANIFOLD-FACES"
-></A
->gts_edge_manifold_faces ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GBOOLEAN"
->gboolean</GTKDOCLINK
-> gts_edge_manifold_faces (<A
-HREF="gts-edges.html#GTSEDGE"
->GtsEdge</A
-> *e,
- <A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s,
- <A
-HREF="gts-faces.html#GTSFACE"
->GtsFace</A
-> **f1,
- <A
-HREF="gts-faces.html#GTSFACE"
->GtsFace</A
-> **f2);</PRE
-><P
->If <CODE
-CLASS="PARAMETER"
->e</CODE
-> is a manifold edge of surface <CODE
-CLASS="PARAMETER"
->s</CODE
->, fills <CODE
-CLASS="PARAMETER"
->f1</CODE
-> and <CODE
-CLASS="PARAMETER"
->f2</CODE
-> with the
-faces belonging to <CODE
-CLASS="PARAMETER"
->s</CODE
-> and sharing <CODE
-CLASS="PARAMETER"
->e</CODE
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN7074"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->e</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-edges.html#GTSEDGE"
-><SPAN
-CLASS="TYPE"
->GtsEdge</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN7081"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->s</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN7088"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->f1</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> pointer for first face.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN7093"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->f2</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> pointer for second face.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN7098"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> <TT
-CLASS="LITERAL"
->TRUE</TT
-> if <CODE
-CLASS="PARAMETER"
->e</CODE
-> is a manifold edge, <TT
-CLASS="LITERAL"
->FALSE</TT
-> otherwise.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN7106"
-></A
-><H3
-><A
-NAME="GTSENCROACHFUNC"
-></A
->GtsEncroachFunc ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GBOOLEAN"
->gboolean</GTKDOCLINK
-> (*GtsEncroachFunc) (<A
-HREF="gts-vertices.html#GTSVERTEX"
->GtsVertex</A
-> *v,
- <A
-HREF="gts-edges.html#GTSEDGE"
->GtsEdge</A
-> *e,
- <A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> data);</PRE
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN7119"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->v</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-></P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN7124"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->e</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-></P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN7129"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->s</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-></P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN7134"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->data</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-></P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN7139"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN7144"
-></A
-><H3
-><A
-NAME="GTS-EDGE-IS-ENCROACHED"
-></A
->gts_edge_is_encroached ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-vertices.html#GTSVERTEX"
->GtsVertex</A
->* gts_edge_is_encroached (<A
-HREF="gts-edges.html#GTSEDGE"
->GtsEdge</A
-> *e,
- <A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s,
- <A
-HREF="gts-edges.html#GTSENCROACHFUNC"
->GtsEncroachFunc</A
-> encroaches,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> data);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN7158"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->e</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-edges.html#GTSEDGE"
-><SPAN
-CLASS="TYPE"
->GtsEdge</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN7165"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->s</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
-> describing a (constrained) Delaunay triangulation.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN7172"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->encroaches</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-edges.html#GTSENCROACHFUNC"
-><SPAN
-CLASS="TYPE"
->GtsEncroachFunc</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN7179"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->data</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> user data to be passed to <CODE
-CLASS="PARAMETER"
->encroaches</CODE
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN7185"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-vertices.html#GTSVERTEX"
-><SPAN
-CLASS="TYPE"
->GtsVertex</SPAN
-></A
-> belonging to <CODE
-CLASS="PARAMETER"
->s</CODE
-> and encroaching upon <CODE
-CLASS="PARAMETER"
->e</CODE
->
-(as defined by <CODE
-CLASS="PARAMETER"
->encroaches</CODE
->) or <TT
-CLASS="LITERAL"
->NULL</TT
-> if there is none. </P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN7196"
-></A
-><H3
-><A
-NAME="GTS-EDGES-MERGE"
-></A
->gts_edges_merge ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GLIST"
->GList</GTKDOCLINK
->* gts_edges_merge (<GTKDOCLINK
-HREF="GLIST"
->GList</GTKDOCLINK
-> *edges);</PRE
-><P
->For each edge in <CODE
-CLASS="PARAMETER"
->edges</CODE
-> check if it is duplicated (as
-returned by <A
-HREF="gts-edges.html#GTS-EDGE-IS-DUPLICATE"
-><CODE
-CLASS="FUNCTION"
->gts_edge_is_duplicate()</CODE
-></A
->). If it is replace it by its
-duplicate, destroy it and remove it from the list.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN7210"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->edges</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a list of <A
-HREF="gts-edges.html#GTSEDGE"
-><SPAN
-CLASS="TYPE"
->GtsEdge</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN7217"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the updated <CODE
-CLASS="PARAMETER"
->edges</CODE
-> list.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN7223"
-></A
-><H3
-><A
-NAME="GTS-EDGES-FROM-VERTICES"
-></A
->gts_edges_from_vertices ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GSLIST"
->GSList</GTKDOCLINK
->* gts_edges_from_vertices (<GTKDOCLINK
-HREF="GSLIST"
->GSList</GTKDOCLINK
-> *vertices,
- <A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *parent);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN7235"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->vertices</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a list of <A
-HREF="gts-vertices.html#GTSVERTEX"
-><SPAN
-CLASS="TYPE"
->GtsVertex</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN7242"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->parent</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN7249"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a list of unique <A
-HREF="gts-edges.html#GTSEDGE"
-><SPAN
-CLASS="TYPE"
->GtsEdge</SPAN
-></A
-> which have one of their vertices in
-<CODE
-CLASS="PARAMETER"
->vertices</CODE
-> and are used by a face of <CODE
-CLASS="PARAMETER"
->parent</CODE
->. </P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN7258"
-></A
-><H3
-><A
-NAME="GTS-EDGE-SWAP"
-></A
->gts_edge_swap ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_edge_swap (<A
-HREF="gts-edges.html#GTSEDGE"
->GtsEdge</A
-> *e,
- <A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s);</PRE
-><P
->Performs an "edge swap" on the two triangles sharing <CODE
-CLASS="PARAMETER"
->e</CODE
-> and
-belonging to <CODE
-CLASS="PARAMETER"
->s</CODE
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN7272"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->e</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-edges.html#GTSEDGE"
-><SPAN
-CLASS="TYPE"
->GtsEdge</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN7279"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->s</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-></DIV
-><TABLE
-CLASS="navigation"
-WIDTH="100%"
-SUMMARY="Navigation footer"
-CELLPADDING="2"
-CELLSPACING="2"
-><TR
-VALIGN="middle"
-><TD
-ALIGN="left"
-><A
-ACCESSKEY="p"
-HREF="gts-segments.html"
-><B
-><<< Segments</B
-></A
-></TD
-><TD
-ALIGN="right"
-><A
-ACCESSKEY="n"
-HREF="gts-triangles.html"
-><B
->Triangles >>></B
-></A
-></TD
-></TR
-></TABLE
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/gts-extended-binary-heaps.html b/doc/html/gts-extended-binary-heaps.html
deleted file mode 100644
index ae3f6b6..0000000
--- a/doc/html/gts-extended-binary-heaps.html
+++ /dev/null
@@ -1,2091 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
-<HTML
-><HEAD
-><TITLE
->Extended binary heaps</TITLE
-><META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
-REL="HOME"
-TITLE="GTS Library Reference Manual"
-HREF="book1.html"><LINK
-REL="UP"
-TITLE="Basic Macros, functions and data structures"
-HREF="c4.html"><LINK
-REL="PREVIOUS"
-TITLE="Binary heaps"
-HREF="gts-binary-heaps.html"><LINK
-REL="NEXT"
-TITLE="First In First Out heaps"
-HREF="gts-first-in-first-out-heaps.html"><STYLE
-TYPE="text/css"
->.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</STYLE
-></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><TABLE
-WIDTH="100%"
-CLASS="navigation"
-SUMMARY="Navigation header"
-CELLPADDING="2"
-CELLSPACING="2"
-><TR
-VALIGN="middle"
-><TD
-><A
-ACCESSKEY="p"
-HREF="gts-binary-heaps.html"
-><IMG
-SRC="left.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Prev"></A
-></TD
-><TD
-><A
-ACCESSKEY="u"
-HREF="c4.html"
-><IMG
-SRC="up.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Up"></A
-></TD
-><TD
-><A
-ACCESSKEY="h"
-HREF="book1.html"
-><IMG
-SRC="home.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Home"></A
-></TD
-><TH
-WIDTH="100%"
-align="center"
->GTS Library Reference Manual</TH
-><TD
-><A
-ACCESSKEY="n"
-HREF="gts-first-in-first-out-heaps.html"
-><IMG
-SRC="right.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Next"></A
-></TD
-></TR
-></TABLE
-><H1
-><A
-NAME="GTS-EXTENDED-BINARY-HEAPS"
-></A
->Extended binary heaps</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN287"
-></A
-><H2
->Name</H2
->Extended binary heaps -- efficient data structure for priority heaps allowing removal of elements.</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN290"
-></A
-><H2
->Synopsis</H2
-><PRE
-CLASS="SYNOPSIS"
->
#include <gts.h>
-
-
- <A
-HREF="gts-extended-binary-heaps.html#GTSEHEAPPAIR"
->GtsEHeapPair</A
->;
-<GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> (<A
-HREF="gts-extended-binary-heaps.html#GTSKEYFUNC"
->*GtsKeyFunc</A
->) (<GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> item,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> data);
- <A
-HREF="gts-extended-binary-heaps.html#GTSEHEAP"
->GtsEHeap</A
->;
-
-<A
-HREF="gts-extended-binary-heaps.html#GTSEHEAP"
->GtsEHeap</A
->* <A
-HREF="gts-extended-binary-heaps.html#GTS-EHEAP-NEW"
->gts_eheap_new</A
-> (<A
-HREF="gts-extended-binary-heaps.html#GTSKEYFUNC"
->GtsKeyFunc</A
-> key_func,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> data);
-<A
-HREF="gts-extended-binary-heaps.html#GTSEHEAPPAIR"
->GtsEHeapPair</A
->* <A
-HREF="gts-extended-binary-heaps.html#GTS-EHEAP-INSERT"
->gts_eheap_insert</A
-> (<A
-HREF="gts-extended-binary-heaps.html#GTSEHEAP"
->GtsEHeap</A
-> *heap,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> p);
-<A
-HREF="gts-extended-binary-heaps.html#GTSEHEAPPAIR"
->GtsEHeapPair</A
->* <A
-HREF="gts-extended-binary-heaps.html#GTS-EHEAP-INSERT-WITH-KEY"
->gts_eheap_insert_with_key</A
-> (<A
-HREF="gts-extended-binary-heaps.html#GTSEHEAP"
->GtsEHeap</A
-> *heap,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> p,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> key);
-<GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> <A
-HREF="gts-extended-binary-heaps.html#GTS-EHEAP-TOP"
->gts_eheap_top</A
-> (<A
-HREF="gts-extended-binary-heaps.html#GTSEHEAP"
->GtsEHeap</A
-> *heap,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> *key);
-<GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> <A
-HREF="gts-extended-binary-heaps.html#GTS-EHEAP-REMOVE-TOP"
->gts_eheap_remove_top</A
-> (<A
-HREF="gts-extended-binary-heaps.html#GTSEHEAP"
->GtsEHeap</A
-> *heap,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> *key);
-<GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> <A
-HREF="gts-extended-binary-heaps.html#GTS-EHEAP-REMOVE"
->gts_eheap_remove</A
-> (<A
-HREF="gts-extended-binary-heaps.html#GTSEHEAP"
->GtsEHeap</A
-> *heap,
- <A
-HREF="gts-extended-binary-heaps.html#GTSEHEAPPAIR"
->GtsEHeapPair</A
-> *p);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-extended-binary-heaps.html#GTS-EHEAP-DECREASE-KEY"
->gts_eheap_decrease_key</A
-> (<A
-HREF="gts-extended-binary-heaps.html#GTSEHEAP"
->GtsEHeap</A
-> *heap,
- <A
-HREF="gts-extended-binary-heaps.html#GTSEHEAPPAIR"
->GtsEHeapPair</A
-> *p,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> new_key);
-<GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> <A
-HREF="gts-extended-binary-heaps.html#GTS-EHEAP-KEY"
->gts_eheap_key</A
-> (<A
-HREF="gts-extended-binary-heaps.html#GTSEHEAP"
->GtsEHeap</A
-> *heap,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> p);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-extended-binary-heaps.html#GTS-EHEAP-RANDOMIZED"
->gts_eheap_randomized</A
-> (<A
-HREF="gts-extended-binary-heaps.html#GTSEHEAP"
->GtsEHeap</A
-> *heap,
- <GTKDOCLINK
-HREF="GBOOLEAN"
->gboolean</GTKDOCLINK
-> randomized);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-extended-binary-heaps.html#GTS-EHEAP-UPDATE"
->gts_eheap_update</A
-> (<A
-HREF="gts-extended-binary-heaps.html#GTSEHEAP"
->GtsEHeap</A
-> *heap);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-extended-binary-heaps.html#GTS-EHEAP-FREEZE"
->gts_eheap_freeze</A
-> (<A
-HREF="gts-extended-binary-heaps.html#GTSEHEAP"
->GtsEHeap</A
-> *heap);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-extended-binary-heaps.html#GTS-EHEAP-THAW"
->gts_eheap_thaw</A
-> (<A
-HREF="gts-extended-binary-heaps.html#GTSEHEAP"
->GtsEHeap</A
-> *heap);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-extended-binary-heaps.html#GTS-EHEAP-FOREACH"
->gts_eheap_foreach</A
-> (<A
-HREF="gts-extended-binary-heaps.html#GTSEHEAP"
->GtsEHeap</A
-> *heap,
- <GTKDOCLINK
-HREF="GFUNC"
->GFunc</GTKDOCLINK
-> func,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> data);
-<GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> <A
-HREF="gts-extended-binary-heaps.html#GTS-EHEAP-SIZE"
->gts_eheap_size</A
-> (<A
-HREF="gts-extended-binary-heaps.html#GTSEHEAP"
->GtsEHeap</A
-> *heap);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-extended-binary-heaps.html#GTS-EHEAP-DESTROY"
->gts_eheap_destroy</A
-> (<A
-HREF="gts-extended-binary-heaps.html#GTSEHEAP"
->GtsEHeap</A
-> *heap);</PRE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN357"
-></A
-><H2
->Description</H2
-><P
->This data structure is similar to the binary heap implementation but adds the two operations <A
-HREF="gts-extended-binary-heaps.html#GTS-EHEAP-DECREASE-KEY"
-><CODE
-CLASS="FUNCTION"
->gts_eheap_decrease_key()</CODE
-></A
-> and <A
-HREF="gts-extended-binary-heaps.html#GTS-EHEAP-REMOVE"
-><CODE
-CLASS="FUNCTION"
->gts_eheap_remove()</CODE
-></A
->. Contrary to the binary heap implementation, keys are stored in a <A
-HREF="gts-extended-binary-heaps.html#GTSEHEAPPAIR"
-><SPAN
-CLASS="TYPE"
->GtsEHeapPair</SPAN
-></A
-> structure and comparisons between keys are performed directly (thus saving a call to a comparison function). This structure consequently provides generally faster operations at the expense of memory use. If your comparison function is simple and you don't need the extra functionalities, it is usually better to use a <A
-HREF="gts-binary-heaps.html#GTSHEAP"
-><SPAN
-CLASS="TYPE"
->GtsHeap</SPAN
-></A
->.</P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN368"
-></A
-><H2
->Details</H2
-><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN370"
-></A
-><H3
-><A
-NAME="GTSEHEAPPAIR"
-></A
->GtsEHeapPair</H3
-><PRE
-CLASS="PROGRAMLISTING"
->typedef struct {
- gpointer data;
- gdouble key;
- guint pos;
-} GtsEHeapPair;</PRE
-><P
-></P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN377"
-></A
-><H3
-><A
-NAME="GTSKEYFUNC"
-></A
->GtsKeyFunc ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> (*GtsKeyFunc) (<GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> item,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> data);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN389"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->item</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> A pointer to an item to be stored in the heap.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN394"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->data</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> User data passed to <A
-HREF="gts-extended-binary-heaps.html#GTS-EHEAP-NEW"
-><CODE
-CLASS="FUNCTION"
->gts_eheap_new()</CODE
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN401"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the value of the key for the given item.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN406"
-></A
-><H3
-><A
-NAME="GTSEHEAP"
-></A
->GtsEHeap</H3
-><PRE
-CLASS="PROGRAMLISTING"
->typedef struct _GtsEHeap GtsEHeap;</PRE
-><P
-></P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN413"
-></A
-><H3
-><A
-NAME="GTS-EHEAP-NEW"
-></A
->gts_eheap_new ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-extended-binary-heaps.html#GTSEHEAP"
->GtsEHeap</A
->* gts_eheap_new (<A
-HREF="gts-extended-binary-heaps.html#GTSKEYFUNC"
->GtsKeyFunc</A
-> key_func,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> data);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN425"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->key_func</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-extended-binary-heaps.html#GTSKEYFUNC"
-><SPAN
-CLASS="TYPE"
->GtsKeyFunc</SPAN
-></A
-> or <TT
-CLASS="LITERAL"
->NULL</TT
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN433"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->data</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> user data to be passed to <CODE
-CLASS="PARAMETER"
->key_func</CODE
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN439"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a new <A
-HREF="gts-extended-binary-heaps.html#GTSEHEAP"
-><SPAN
-CLASS="TYPE"
->GtsEHeap</SPAN
-></A
-> using <CODE
-CLASS="PARAMETER"
->key_func</CODE
-> as key.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN447"
-></A
-><H3
-><A
-NAME="GTS-EHEAP-INSERT"
-></A
->gts_eheap_insert ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-extended-binary-heaps.html#GTSEHEAPPAIR"
->GtsEHeapPair</A
->* gts_eheap_insert (<A
-HREF="gts-extended-binary-heaps.html#GTSEHEAP"
->GtsEHeap</A
-> *heap,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> p);</PRE
-><P
->Inserts a new element <CODE
-CLASS="PARAMETER"
->p</CODE
-> in the heap.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN460"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->heap</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-extended-binary-heaps.html#GTSEHEAP"
-><SPAN
-CLASS="TYPE"
->GtsEHeap</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN467"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->p</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a pointer to add to the heap.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN472"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-extended-binary-heaps.html#GTSEHEAPPAIR"
-><SPAN
-CLASS="TYPE"
->GtsEHeapPair</SPAN
-></A
-> describing the position of the element in the heap.
-This pointer is necessary for <A
-HREF="gts-extended-binary-heaps.html#GTS-EHEAP-REMOVE"
-><CODE
-CLASS="FUNCTION"
->gts_eheap_remove()</CODE
-></A
-> and
-<A
-HREF="gts-extended-binary-heaps.html#GTS-EHEAP-DECREASE-KEY"
-><CODE
-CLASS="FUNCTION"
->gts_eheap_decrease_key()</CODE
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN483"
-></A
-><H3
-><A
-NAME="GTS-EHEAP-INSERT-WITH-KEY"
-></A
->gts_eheap_insert_with_key ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-extended-binary-heaps.html#GTSEHEAPPAIR"
->GtsEHeapPair</A
->* gts_eheap_insert_with_key (<A
-HREF="gts-extended-binary-heaps.html#GTSEHEAP"
->GtsEHeap</A
-> *heap,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> p,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> key);</PRE
-><P
->Inserts a new element <CODE
-CLASS="PARAMETER"
->p</CODE
-> in the heap.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN497"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->heap</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-extended-binary-heaps.html#GTSEHEAP"
-><SPAN
-CLASS="TYPE"
->GtsEHeap</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN504"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->p</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a pointer to add to the heap.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN509"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->key</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the value of the key associated to <CODE
-CLASS="PARAMETER"
->p</CODE
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN515"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-extended-binary-heaps.html#GTSEHEAPPAIR"
-><SPAN
-CLASS="TYPE"
->GtsEHeapPair</SPAN
-></A
-> describing the position of the element in the heap.
-This pointer is necessary for <A
-HREF="gts-extended-binary-heaps.html#GTS-EHEAP-REMOVE"
-><CODE
-CLASS="FUNCTION"
->gts_eheap_remove()</CODE
-></A
-> and
-<A
-HREF="gts-extended-binary-heaps.html#GTS-EHEAP-DECREASE-KEY"
-><CODE
-CLASS="FUNCTION"
->gts_eheap_decrease_key()</CODE
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN526"
-></A
-><H3
-><A
-NAME="GTS-EHEAP-TOP"
-></A
->gts_eheap_top ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> gts_eheap_top (<A
-HREF="gts-extended-binary-heaps.html#GTSEHEAP"
->GtsEHeap</A
-> *heap,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> *key);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN538"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->heap</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-extended-binary-heaps.html#GTSEHEAP"
-><SPAN
-CLASS="TYPE"
->GtsEHeap</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN545"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->key</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a pointer on a gdouble or <TT
-CLASS="LITERAL"
->NULL</TT
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN551"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the element at the top of the heap and optionally (if <CODE
-CLASS="PARAMETER"
->key</CODE
-> is not
-<TT
-CLASS="LITERAL"
->NULL</TT
->) its key.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN558"
-></A
-><H3
-><A
-NAME="GTS-EHEAP-REMOVE-TOP"
-></A
->gts_eheap_remove_top ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> gts_eheap_remove_top (<A
-HREF="gts-extended-binary-heaps.html#GTSEHEAP"
->GtsEHeap</A
-> *heap,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> *key);</PRE
-><P
->Removes the element at the top of the heap and optionally (if <CODE
-CLASS="PARAMETER"
->key</CODE
-> is not
-<TT
-CLASS="LITERAL"
->NULL</TT
->) returns the value of its key.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN572"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->heap</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-extended-binary-heaps.html#GTSEHEAP"
-><SPAN
-CLASS="TYPE"
->GtsEHeap</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN579"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->key</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a pointer on a gdouble or <TT
-CLASS="LITERAL"
->NULL</TT
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN585"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the element at the top of the heap.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN590"
-></A
-><H3
-><A
-NAME="GTS-EHEAP-REMOVE"
-></A
->gts_eheap_remove ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> gts_eheap_remove (<A
-HREF="gts-extended-binary-heaps.html#GTSEHEAP"
->GtsEHeap</A
-> *heap,
- <A
-HREF="gts-extended-binary-heaps.html#GTSEHEAPPAIR"
->GtsEHeapPair</A
-> *p);</PRE
-><P
->Removes element corresponding to <CODE
-CLASS="PARAMETER"
->p</CODE
-> from <CODE
-CLASS="PARAMETER"
->heap</CODE
-> in O(log n).</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN604"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->heap</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-extended-binary-heaps.html#GTSEHEAP"
-><SPAN
-CLASS="TYPE"
->GtsEHeap</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN611"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->p</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-extended-binary-heaps.html#GTSEHEAPPAIR"
-><SPAN
-CLASS="TYPE"
->GtsEHeapPair</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN618"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the element just removed from <CODE
-CLASS="PARAMETER"
->heap</CODE
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN624"
-></A
-><H3
-><A
-NAME="GTS-EHEAP-DECREASE-KEY"
-></A
->gts_eheap_decrease_key ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_eheap_decrease_key (<A
-HREF="gts-extended-binary-heaps.html#GTSEHEAP"
->GtsEHeap</A
-> *heap,
- <A
-HREF="gts-extended-binary-heaps.html#GTSEHEAPPAIR"
->GtsEHeapPair</A
-> *p,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> new_key);</PRE
-><P
->Decreases the value of the key of the element at position <CODE
-CLASS="PARAMETER"
->p</CODE
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN638"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->heap</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-extended-binary-heaps.html#GTSEHEAP"
-><SPAN
-CLASS="TYPE"
->GtsEHeap</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN645"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->p</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-extended-binary-heaps.html#GTSEHEAPPAIR"
-><SPAN
-CLASS="TYPE"
->GtsEHeapPair</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN652"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->new_key</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the new value of the key for this element. Must be smaller than
-the current key.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN657"
-></A
-><H3
-><A
-NAME="GTS-EHEAP-KEY"
-></A
->gts_eheap_key ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> gts_eheap_key (<A
-HREF="gts-extended-binary-heaps.html#GTSEHEAP"
->GtsEHeap</A
-> *heap,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> p);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN669"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->heap</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-extended-binary-heaps.html#GTSEHEAP"
-><SPAN
-CLASS="TYPE"
->GtsEHeap</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN676"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->p</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a pointer to be tested;</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN681"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the value of the key for pointer <CODE
-CLASS="PARAMETER"
->p</CODE
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN687"
-></A
-><H3
-><A
-NAME="GTS-EHEAP-RANDOMIZED"
-></A
->gts_eheap_randomized ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_eheap_randomized (<A
-HREF="gts-extended-binary-heaps.html#GTSEHEAP"
->GtsEHeap</A
-> *heap,
- <GTKDOCLINK
-HREF="GBOOLEAN"
->gboolean</GTKDOCLINK
-> randomized);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN699"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->heap</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-extended-binary-heaps.html#GTSEHEAP"
-><SPAN
-CLASS="TYPE"
->GtsEHeap</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN706"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->randomized</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> whether <CODE
-CLASS="PARAMETER"
->heap</CODE
-> should be randomized.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN712"
-></A
-><H3
-><A
-NAME="GTS-EHEAP-UPDATE"
-></A
->gts_eheap_update ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_eheap_update (<A
-HREF="gts-extended-binary-heaps.html#GTSEHEAP"
->GtsEHeap</A
-> *heap);</PRE
-><P
->Updates the key of each element of <CODE
-CLASS="PARAMETER"
->heap</CODE
-> and reorders it.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN724"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->heap</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-extended-binary-heaps.html#GTSEHEAP"
-><SPAN
-CLASS="TYPE"
->GtsEHeap</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN731"
-></A
-><H3
-><A
-NAME="GTS-EHEAP-FREEZE"
-></A
->gts_eheap_freeze ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_eheap_freeze (<A
-HREF="gts-extended-binary-heaps.html#GTSEHEAP"
->GtsEHeap</A
-> *heap);</PRE
-><P
->Freezes the heap. Any subsequent operation will not preserve the heap
-property. Used in conjunction with <A
-HREF="gts-extended-binary-heaps.html#GTS-EHEAP-INSERT"
-><CODE
-CLASS="FUNCTION"
->gts_eheap_insert()</CODE
-></A
-> and <A
-HREF="gts-extended-binary-heaps.html#GTS-EHEAP-THAW"
-><CODE
-CLASS="FUNCTION"
->gts_eheap_thaw()</CODE
-></A
->
-to create a heap in O(n) time.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN746"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->heap</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-extended-binary-heaps.html#GTSEHEAP"
-><SPAN
-CLASS="TYPE"
->GtsEHeap</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN753"
-></A
-><H3
-><A
-NAME="GTS-EHEAP-THAW"
-></A
->gts_eheap_thaw ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_eheap_thaw (<A
-HREF="gts-extended-binary-heaps.html#GTSEHEAP"
->GtsEHeap</A
-> *heap);</PRE
-><P
->If <CODE
-CLASS="PARAMETER"
->heap</CODE
-> has been frozen previously using <A
-HREF="gts-extended-binary-heaps.html#GTS-EHEAP-FREEZE"
-><CODE
-CLASS="FUNCTION"
->gts_eheap_freeze()</CODE
-></A
->, reorder it
-in O(n) time and unfreeze it.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN767"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->heap</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-extended-binary-heaps.html#GTSEHEAP"
-><SPAN
-CLASS="TYPE"
->GtsEHeap</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN774"
-></A
-><H3
-><A
-NAME="GTS-EHEAP-FOREACH"
-></A
->gts_eheap_foreach ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_eheap_foreach (<A
-HREF="gts-extended-binary-heaps.html#GTSEHEAP"
->GtsEHeap</A
-> *heap,
- <GTKDOCLINK
-HREF="GFUNC"
->GFunc</GTKDOCLINK
-> func,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> data);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN787"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->heap</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-extended-binary-heaps.html#GTSEHEAP"
-><SPAN
-CLASS="TYPE"
->GtsEHeap</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN794"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->func</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the function to call for each element in the heap.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN799"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->data</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> to pass to <CODE
-CLASS="PARAMETER"
->func</CODE
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN805"
-></A
-><H3
-><A
-NAME="GTS-EHEAP-SIZE"
-></A
->gts_eheap_size ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> gts_eheap_size (<A
-HREF="gts-extended-binary-heaps.html#GTSEHEAP"
->GtsEHeap</A
-> *heap);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN816"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->heap</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-extended-binary-heaps.html#GTSEHEAP"
-><SPAN
-CLASS="TYPE"
->GtsEHeap</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN823"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the number of items in <CODE
-CLASS="PARAMETER"
->heap</CODE
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN829"
-></A
-><H3
-><A
-NAME="GTS-EHEAP-DESTROY"
-></A
->gts_eheap_destroy ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_eheap_destroy (<A
-HREF="gts-extended-binary-heaps.html#GTSEHEAP"
->GtsEHeap</A
-> *heap);</PRE
-><P
->Free all the memory allocated for <CODE
-CLASS="PARAMETER"
->heap</CODE
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN841"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->heap</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-extended-binary-heaps.html#GTSEHEAP"
-><SPAN
-CLASS="TYPE"
->GtsEHeap</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-></DIV
-><TABLE
-CLASS="navigation"
-WIDTH="100%"
-SUMMARY="Navigation footer"
-CELLPADDING="2"
-CELLSPACING="2"
-><TR
-VALIGN="middle"
-><TD
-ALIGN="left"
-><A
-ACCESSKEY="p"
-HREF="gts-binary-heaps.html"
-><B
-><<< Binary heaps</B
-></A
-></TD
-><TD
-ALIGN="right"
-><A
-ACCESSKEY="n"
-HREF="gts-first-in-first-out-heaps.html"
-><B
->First In First Out heaps >>></B
-></A
-></TD
-></TR
-></TABLE
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/gts-faces.html b/doc/html/gts-faces.html
deleted file mode 100644
index 0444323..0000000
--- a/doc/html/gts-faces.html
+++ /dev/null
@@ -1,1593 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
-<HTML
-><HEAD
-><TITLE
->Faces</TITLE
-><META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
-REL="HOME"
-TITLE="GTS Library Reference Manual"
-HREF="book1.html"><LINK
-REL="UP"
-TITLE="Geometrical Object Hierarchy"
-HREF="c2915.html"><LINK
-REL="PREVIOUS"
-TITLE="Triangles"
-HREF="gts-triangles.html"><LINK
-REL="NEXT"
-TITLE="Surfaces"
-HREF="gts-surfaces.html"><STYLE
-TYPE="text/css"
->.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</STYLE
-></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><TABLE
-WIDTH="100%"
-CLASS="navigation"
-SUMMARY="Navigation header"
-CELLPADDING="2"
-CELLSPACING="2"
-><TR
-VALIGN="middle"
-><TD
-><A
-ACCESSKEY="p"
-HREF="gts-triangles.html"
-><IMG
-SRC="left.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Prev"></A
-></TD
-><TD
-><A
-ACCESSKEY="u"
-HREF="c2915.html"
-><IMG
-SRC="up.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Up"></A
-></TD
-><TD
-><A
-ACCESSKEY="h"
-HREF="book1.html"
-><IMG
-SRC="home.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Home"></A
-></TD
-><TH
-WIDTH="100%"
-align="center"
->GTS Library Reference Manual</TH
-><TD
-><A
-ACCESSKEY="n"
-HREF="gts-surfaces.html"
-><IMG
-SRC="right.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Next"></A
-></TD
-></TR
-></TABLE
-><H1
-><A
-NAME="GTS-FACES"
-></A
->Faces</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN8556"
-></A
-><H2
->Name</H2
->Faces -- face object and related functions.</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN8559"
-></A
-><H2
->Synopsis</H2
-><PRE
-CLASS="SYNOPSIS"
->
#include <gts.h>
-
-
-#define <A
-HREF="gts-faces.html#GTS-FACE-CLASS:CAPS"
->GTS_FACE_CLASS</A
-> (klass)
-#define <A
-HREF="gts-faces.html#GTS-FACE:CAPS"
->GTS_FACE</A
-> (obj)
-#define <A
-HREF="gts-faces.html#GTS-IS-FACE:CAPS"
->GTS_IS_FACE</A
-> (obj)
- <A
-HREF="gts-faces.html#GTSFACECLASS"
->GtsFaceClass</A
->;
- <A
-HREF="gts-faces.html#GTSFACE"
->GtsFace</A
->;
-
-<A
-HREF="gts-faces.html#GTSFACECLASS"
->GtsFaceClass</A
->* <A
-HREF="gts-faces.html#GTS-FACE-CLASS"
->gts_face_class</A
-> (void);
-<A
-HREF="gts-faces.html#GTSFACE"
->GtsFace</A
->* <A
-HREF="gts-faces.html#GTS-FACE-NEW"
->gts_face_new</A
-> (<A
-HREF="gts-faces.html#GTSFACECLASS"
->GtsFaceClass</A
-> *klass,
- <A
-HREF="gts-edges.html#GTSEDGE"
->GtsEdge</A
-> *e1,
- <A
-HREF="gts-edges.html#GTSEDGE"
->GtsEdge</A
-> *e2,
- <A
-HREF="gts-edges.html#GTSEDGE"
->GtsEdge</A
-> *e3);
-<GTKDOCLINK
-HREF="GBOOLEAN"
->gboolean</GTKDOCLINK
-> <A
-HREF="gts-faces.html#GTS-FACE-HAS-PARENT-SURFACE"
->gts_face_has_parent_surface</A
-> (<A
-HREF="gts-faces.html#GTSFACE"
->GtsFace</A
-> *f,
- <A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s);
-<GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> <A
-HREF="gts-faces.html#GTS-FACE-NEIGHBOR-NUMBER"
->gts_face_neighbor_number</A
-> (<A
-HREF="gts-faces.html#GTSFACE"
->GtsFace</A
-> *f,
- <A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s);
-<GTKDOCLINK
-HREF="GSLIST"
->GSList</GTKDOCLINK
->* <A
-HREF="gts-faces.html#GTS-FACE-NEIGHBORS"
->gts_face_neighbors</A
-> (<A
-HREF="gts-faces.html#GTSFACE"
->GtsFace</A
-> *f,
- <A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-faces.html#GTS-FACE-FOREACH-NEIGHBOR"
->gts_face_foreach_neighbor</A
-> (<A
-HREF="gts-faces.html#GTSFACE"
->GtsFace</A
-> *f,
- <A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s,
- <A
-HREF="gts-surfaces.html#GTSFUNC"
->GtsFunc</A
-> func,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> data);
-<GTKDOCLINK
-HREF="GBOOLEAN"
->gboolean</GTKDOCLINK
-> <A
-HREF="gts-faces.html#GTS-FACE-IS-COMPATIBLE"
->gts_face_is_compatible</A
-> (<A
-HREF="gts-faces.html#GTSFACE"
->GtsFace</A
-> *f,
- <A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s);
-<GTKDOCLINK
-HREF="GSLIST"
->GSList</GTKDOCLINK
->* <A
-HREF="gts-faces.html#GTS-FACES-FROM-EDGES"
->gts_faces_from_edges</A
-> (<GTKDOCLINK
-HREF="GSLIST"
->GSList</GTKDOCLINK
-> *edges,
- <A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s);</PRE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN8601"
-></A
-><H2
->Description</H2
-><P
->Faces are derived from <A
-HREF="gts-triangles.html#GTSTRIANGLE"
-><SPAN
-CLASS="TYPE"
->GtsTriangle</SPAN
-></A
->. A collection of faces defined a <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
->.</P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN8608"
-></A
-><H2
->Details</H2
-><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN8610"
-></A
-><H3
-><A
-NAME="GTS-FACE-CLASS:CAPS"
-></A
->GTS_FACE_CLASS()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_FACE_CLASS(klass)</PRE
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN8618"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->klass</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN8623"
-></A
-><H3
-><A
-NAME="GTS-FACE:CAPS"
-></A
->GTS_FACE()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_FACE(obj)</PRE
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN8631"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->obj</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN8636"
-></A
-><H3
-><A
-NAME="GTS-IS-FACE:CAPS"
-></A
->GTS_IS_FACE()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_IS_FACE(obj)</PRE
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN8644"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->obj</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN8649"
-></A
-><H3
-><A
-NAME="GTSFACECLASS"
-></A
->GtsFaceClass</H3
-><PRE
-CLASS="PROGRAMLISTING"
->typedef struct {
- GtsTriangleClass parent_class;
-} GtsFaceClass;</PRE
-><P
->The face class derived from <A
-HREF="gts-triangles.html#GTSTRIANGLECLASS"
-><SPAN
-CLASS="TYPE"
->GtsTriangleClass</SPAN
-></A
->.</P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN8658"
-></A
-><H3
-><A
-NAME="GTSFACE"
-></A
->GtsFace</H3
-><PRE
-CLASS="PROGRAMLISTING"
->typedef struct {
- GtsTriangle triangle;
-
- GSList * surfaces;
-} GtsFace;</PRE
-><P
->The face object.</P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN8666"><SPAN
-STYLE="white-space: nowrap"
-><A
-HREF="gts-triangles.html#GTSTRIANGLE"
->GtsTriangle</A
-> <CODE
-CLASS="STRUCTFIELD"
->triangle</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->The parent object.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN8672"><SPAN
-STYLE="white-space: nowrap"
-><GTKDOCLINK
-HREF="GSLIST"
->GSList</GTKDOCLINK
-> *<CODE
-CLASS="STRUCTFIELD"
->surfaces</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->A list of <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
-> using this face.
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN8680"
-></A
-><H3
-><A
-NAME="GTS-FACE-CLASS"
-></A
->gts_face_class ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-faces.html#GTSFACECLASS"
->GtsFaceClass</A
->* gts_face_class (void);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN8690"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the <A
-HREF="gts-faces.html#GTSFACECLASS"
-><SPAN
-CLASS="TYPE"
->GtsFaceClass</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN8697"
-></A
-><H3
-><A
-NAME="GTS-FACE-NEW"
-></A
->gts_face_new ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-faces.html#GTSFACE"
->GtsFace</A
->* gts_face_new (<A
-HREF="gts-faces.html#GTSFACECLASS"
->GtsFaceClass</A
-> *klass,
- <A
-HREF="gts-edges.html#GTSEDGE"
->GtsEdge</A
-> *e1,
- <A
-HREF="gts-edges.html#GTSEDGE"
->GtsEdge</A
-> *e2,
- <A
-HREF="gts-edges.html#GTSEDGE"
->GtsEdge</A
-> *e3);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN8711"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->klass</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-faces.html#GTSFACECLASS"
-><SPAN
-CLASS="TYPE"
->GtsFaceClass</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN8718"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->e1</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-edges.html#GTSEDGE"
-><SPAN
-CLASS="TYPE"
->GtsEdge</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN8725"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->e2</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-edges.html#GTSEDGE"
-><SPAN
-CLASS="TYPE"
->GtsEdge</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN8732"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->e3</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-edges.html#GTSEDGE"
-><SPAN
-CLASS="TYPE"
->GtsEdge</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN8739"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a new <A
-HREF="gts-faces.html#GTSFACE"
-><SPAN
-CLASS="TYPE"
->GtsFace</SPAN
-></A
-> using <CODE
-CLASS="PARAMETER"
->e1</CODE
->, <CODE
-CLASS="PARAMETER"
->e2</CODE
-> and <CODE
-CLASS="PARAMETER"
->e3</CODE
-> as edges.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN8749"
-></A
-><H3
-><A
-NAME="GTS-FACE-HAS-PARENT-SURFACE"
-></A
->gts_face_has_parent_surface ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GBOOLEAN"
->gboolean</GTKDOCLINK
-> gts_face_has_parent_surface (<A
-HREF="gts-faces.html#GTSFACE"
->GtsFace</A
-> *f,
- <A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN8761"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->f</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-faces.html#GTSFACE"
-><SPAN
-CLASS="TYPE"
->GtsFace</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN8768"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->s</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN8775"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> <TT
-CLASS="LITERAL"
->TRUE</TT
-> if <CODE
-CLASS="PARAMETER"
->f</CODE
-> belongs to <CODE
-CLASS="PARAMETER"
->s</CODE
->, <TT
-CLASS="LITERAL"
->FALSE</TT
-> otherwise.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN8784"
-></A
-><H3
-><A
-NAME="GTS-FACE-NEIGHBOR-NUMBER"
-></A
->gts_face_neighbor_number ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> gts_face_neighbor_number (<A
-HREF="gts-faces.html#GTSFACE"
->GtsFace</A
-> *f,
- <A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN8796"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->f</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-faces.html#GTSFACE"
-><SPAN
-CLASS="TYPE"
->GtsFace</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN8803"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->s</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
-> or <TT
-CLASS="LITERAL"
->NULL</TT
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN8811"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the number of faces neighbors of <CODE
-CLASS="PARAMETER"
->f</CODE
-> and belonging to <CODE
-CLASS="PARAMETER"
->s</CODE
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN8818"
-></A
-><H3
-><A
-NAME="GTS-FACE-NEIGHBORS"
-></A
->gts_face_neighbors ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GSLIST"
->GSList</GTKDOCLINK
->* gts_face_neighbors (<A
-HREF="gts-faces.html#GTSFACE"
->GtsFace</A
-> *f,
- <A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN8830"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->f</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-faces.html#GTSFACE"
-><SPAN
-CLASS="TYPE"
->GtsFace</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN8837"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->s</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
-> or <TT
-CLASS="LITERAL"
->NULL</TT
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN8845"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a list of unique <A
-HREF="gts-faces.html#GTSFACE"
-><SPAN
-CLASS="TYPE"
->GtsFace</SPAN
-></A
-> neighbors of <CODE
-CLASS="PARAMETER"
->f</CODE
-> and belonging to <CODE
-CLASS="PARAMETER"
->s</CODE
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN8854"
-></A
-><H3
-><A
-NAME="GTS-FACE-FOREACH-NEIGHBOR"
-></A
->gts_face_foreach_neighbor ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_face_foreach_neighbor (<A
-HREF="gts-faces.html#GTSFACE"
->GtsFace</A
-> *f,
- <A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s,
- <A
-HREF="gts-surfaces.html#GTSFUNC"
->GtsFunc</A
-> func,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> data);</PRE
-><P
->Calls <CODE
-CLASS="PARAMETER"
->func</CODE
-> for each neighbor of <CODE
-CLASS="PARAMETER"
->f</CODE
-> belonging to <CODE
-CLASS="PARAMETER"
->s</CODE
-> (if not <TT
-CLASS="LITERAL"
->NULL</TT
->).</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN8872"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->f</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-faces.html#GTSFACE"
-><SPAN
-CLASS="TYPE"
->GtsFace</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN8879"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->s</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
-> or <TT
-CLASS="LITERAL"
->NULL</TT
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN8887"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->func</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSFUNC"
-><SPAN
-CLASS="TYPE"
->GtsFunc</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN8894"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->data</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> user data to pass to <CODE
-CLASS="PARAMETER"
->func</CODE
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN8900"
-></A
-><H3
-><A
-NAME="GTS-FACE-IS-COMPATIBLE"
-></A
->gts_face_is_compatible ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GBOOLEAN"
->gboolean</GTKDOCLINK
-> gts_face_is_compatible (<A
-HREF="gts-faces.html#GTSFACE"
->GtsFace</A
-> *f,
- <A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN8912"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->f</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-faces.html#GTSFACE"
-><SPAN
-CLASS="TYPE"
->GtsFace</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN8919"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->s</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN8926"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> <TT
-CLASS="LITERAL"
->TRUE</TT
-> if <CODE
-CLASS="PARAMETER"
->f</CODE
-> is compatible with all its neighbors belonging
-to <CODE
-CLASS="PARAMETER"
->s</CODE
->, <TT
-CLASS="LITERAL"
->FALSE</TT
-> otherwise.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN8935"
-></A
-><H3
-><A
-NAME="GTS-FACES-FROM-EDGES"
-></A
->gts_faces_from_edges ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GSLIST"
->GSList</GTKDOCLINK
->* gts_faces_from_edges (<GTKDOCLINK
-HREF="GSLIST"
->GSList</GTKDOCLINK
-> *edges,
- <A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s);</PRE
-><P
->Builds a list of unique faces which belong to <CODE
-CLASS="PARAMETER"
->s</CODE
-> and have
-one of their edges in <CODE
-CLASS="PARAMETER"
->edges</CODE
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN8949"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->edges</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a list of <A
-HREF="gts-edges.html#GTSEDGE"
-><SPAN
-CLASS="TYPE"
->GtsEdge</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN8956"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->s</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
-> or <TT
-CLASS="LITERAL"
->NULL</TT
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN8964"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the list of faces.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-></DIV
-><TABLE
-CLASS="navigation"
-WIDTH="100%"
-SUMMARY="Navigation footer"
-CELLPADDING="2"
-CELLSPACING="2"
-><TR
-VALIGN="middle"
-><TD
-ALIGN="left"
-><A
-ACCESSKEY="p"
-HREF="gts-triangles.html"
-><B
-><<< Triangles</B
-></A
-></TD
-><TD
-ALIGN="right"
-><A
-ACCESSKEY="n"
-HREF="gts-surfaces.html"
-><B
->Surfaces >>></B
-></A
-></TD
-></TR
-></TABLE
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/gts-first-in-first-out-heaps.html b/doc/html/gts-first-in-first-out-heaps.html
deleted file mode 100644
index 541576e..0000000
--- a/doc/html/gts-first-in-first-out-heaps.html
+++ /dev/null
@@ -1,1167 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
-<HTML
-><HEAD
-><TITLE
->First In First Out heaps</TITLE
-><META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
-REL="HOME"
-TITLE="GTS Library Reference Manual"
-HREF="book1.html"><LINK
-REL="UP"
-TITLE="Basic Macros, functions and data structures"
-HREF="c4.html"><LINK
-REL="PREVIOUS"
-TITLE="Extended binary heaps"
-HREF="gts-extended-binary-heaps.html"><LINK
-REL="NEXT"
-TITLE="Vectors and matrices"
-HREF="gts-vectors-and-matrices.html"><STYLE
-TYPE="text/css"
->.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</STYLE
-></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><TABLE
-WIDTH="100%"
-CLASS="navigation"
-SUMMARY="Navigation header"
-CELLPADDING="2"
-CELLSPACING="2"
-><TR
-VALIGN="middle"
-><TD
-><A
-ACCESSKEY="p"
-HREF="gts-extended-binary-heaps.html"
-><IMG
-SRC="left.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Prev"></A
-></TD
-><TD
-><A
-ACCESSKEY="u"
-HREF="c4.html"
-><IMG
-SRC="up.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Up"></A
-></TD
-><TD
-><A
-ACCESSKEY="h"
-HREF="book1.html"
-><IMG
-SRC="home.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Home"></A
-></TD
-><TH
-WIDTH="100%"
-align="center"
->GTS Library Reference Manual</TH
-><TD
-><A
-ACCESSKEY="n"
-HREF="gts-vectors-and-matrices.html"
-><IMG
-SRC="right.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Next"></A
-></TD
-></TR
-></TABLE
-><H1
-><A
-NAME="GTS-FIRST-IN-FIRST-OUT-HEAPS"
-></A
->First In First Out heaps</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN853"
-></A
-><H2
->Name</H2
->First In First Out heaps -- </DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN856"
-></A
-><H2
->Synopsis</H2
-><PRE
-CLASS="SYNOPSIS"
->
#include <gts.h>
-
-
- <A
-HREF="gts-first-in-first-out-heaps.html#GTSFIFO"
->GtsFifo</A
->;
-
-<A
-HREF="gts-first-in-first-out-heaps.html#GTSFIFO"
->GtsFifo</A
->* <A
-HREF="gts-first-in-first-out-heaps.html#GTS-FIFO-NEW"
->gts_fifo_new</A
-> (void);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-first-in-first-out-heaps.html#GTS-FIFO-PUSH"
->gts_fifo_push</A
-> (<A
-HREF="gts-first-in-first-out-heaps.html#GTSFIFO"
->GtsFifo</A
-> *fifo,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> data);
-<GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> <A
-HREF="gts-first-in-first-out-heaps.html#GTS-FIFO-POP"
->gts_fifo_pop</A
-> (<A
-HREF="gts-first-in-first-out-heaps.html#GTSFIFO"
->GtsFifo</A
-> *fifo);
-<GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> <A
-HREF="gts-first-in-first-out-heaps.html#GTS-FIFO-TOP"
->gts_fifo_top</A
-> (<A
-HREF="gts-first-in-first-out-heaps.html#GTSFIFO"
->GtsFifo</A
-> *fifo);
-<GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> <A
-HREF="gts-first-in-first-out-heaps.html#GTS-FIFO-SIZE"
->gts_fifo_size</A
-> (<A
-HREF="gts-first-in-first-out-heaps.html#GTSFIFO"
->GtsFifo</A
-> *fifo);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-first-in-first-out-heaps.html#GTS-FIFO-FOREACH"
->gts_fifo_foreach</A
-> (<A
-HREF="gts-first-in-first-out-heaps.html#GTSFIFO"
->GtsFifo</A
-> *fifo,
- <A
-HREF="gts-surfaces.html#GTSFUNC"
->GtsFunc</A
-> func,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> data);
-<GTKDOCLINK
-HREF="GBOOLEAN"
->gboolean</GTKDOCLINK
-> <A
-HREF="gts-first-in-first-out-heaps.html#GTS-FIFO-IS-EMPTY"
->gts_fifo_is_empty</A
-> (<A
-HREF="gts-first-in-first-out-heaps.html#GTSFIFO"
->GtsFifo</A
-> *fifo);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-first-in-first-out-heaps.html#GTS-FIFO-REVERSE"
->gts_fifo_reverse</A
-> (<A
-HREF="gts-first-in-first-out-heaps.html#GTSFIFO"
->GtsFifo</A
-> *fifo);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-first-in-first-out-heaps.html#GTS-FIFO-WRITE"
->gts_fifo_write</A
-> (<A
-HREF="gts-first-in-first-out-heaps.html#GTSFIFO"
->GtsFifo</A
-> *fifo,
- <GTKDOCLINK
-HREF="FILE:CAPS"
->FILE</GTKDOCLINK
-> *fp);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-first-in-first-out-heaps.html#GTS-FIFO-DESTROY"
->gts_fifo_destroy</A
-> (<A
-HREF="gts-first-in-first-out-heaps.html#GTSFIFO"
->GtsFifo</A
-> *fifo);</PRE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN893"
-></A
-><H2
->Description</H2
-><P
-></P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN896"
-></A
-><H2
->Details</H2
-><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN898"
-></A
-><H3
-><A
-NAME="GTSFIFO"
-></A
->GtsFifo</H3
-><PRE
-CLASS="PROGRAMLISTING"
->typedef struct _GtsFifo GtsFifo;</PRE
-><P
-></P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN905"
-></A
-><H3
-><A
-NAME="GTS-FIFO-NEW"
-></A
->gts_fifo_new ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-first-in-first-out-heaps.html#GTSFIFO"
->GtsFifo</A
->* gts_fifo_new (void);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN915"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a new <A
-HREF="gts-first-in-first-out-heaps.html#GTSFIFO"
-><SPAN
-CLASS="TYPE"
->GtsFifo</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN922"
-></A
-><H3
-><A
-NAME="GTS-FIFO-PUSH"
-></A
->gts_fifo_push ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_fifo_push (<A
-HREF="gts-first-in-first-out-heaps.html#GTSFIFO"
->GtsFifo</A
-> *fifo,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> data);</PRE
-><P
->Push <CODE
-CLASS="PARAMETER"
->data</CODE
-> into <CODE
-CLASS="PARAMETER"
->fifo</CODE
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN936"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->fifo</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-first-in-first-out-heaps.html#GTSFIFO"
-><SPAN
-CLASS="TYPE"
->GtsFifo</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN943"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->data</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> data to add to <CODE
-CLASS="PARAMETER"
->fifo</CODE
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN949"
-></A
-><H3
-><A
-NAME="GTS-FIFO-POP"
-></A
->gts_fifo_pop ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> gts_fifo_pop (<A
-HREF="gts-first-in-first-out-heaps.html#GTSFIFO"
->GtsFifo</A
-> *fifo);</PRE
-><P
->Removes the first element from <CODE
-CLASS="PARAMETER"
->fifo</CODE
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN961"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->fifo</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-first-in-first-out-heaps.html#GTSFIFO"
-><SPAN
-CLASS="TYPE"
->GtsFifo</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN968"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the first element in <CODE
-CLASS="PARAMETER"
->fifo</CODE
-> or <TT
-CLASS="LITERAL"
->NULL</TT
-> if <CODE
-CLASS="PARAMETER"
->fifo</CODE
-> is empty.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN976"
-></A
-><H3
-><A
-NAME="GTS-FIFO-TOP"
-></A
->gts_fifo_top ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> gts_fifo_top (<A
-HREF="gts-first-in-first-out-heaps.html#GTSFIFO"
->GtsFifo</A
-> *fifo);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN987"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->fifo</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-first-in-first-out-heaps.html#GTSFIFO"
-><SPAN
-CLASS="TYPE"
->GtsFifo</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN994"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the first element in <CODE
-CLASS="PARAMETER"
->fifo</CODE
-> or <TT
-CLASS="LITERAL"
->NULL</TT
-> if <CODE
-CLASS="PARAMETER"
->fifo</CODE
-> is empty.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN1002"
-></A
-><H3
-><A
-NAME="GTS-FIFO-SIZE"
-></A
->gts_fifo_size ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> gts_fifo_size (<A
-HREF="gts-first-in-first-out-heaps.html#GTSFIFO"
->GtsFifo</A
-> *fifo);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN1013"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->fifo</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-first-in-first-out-heaps.html#GTSFIFO"
-><SPAN
-CLASS="TYPE"
->GtsFifo</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN1020"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the number of elements in <CODE
-CLASS="PARAMETER"
->fifo</CODE
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN1026"
-></A
-><H3
-><A
-NAME="GTS-FIFO-FOREACH"
-></A
->gts_fifo_foreach ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_fifo_foreach (<A
-HREF="gts-first-in-first-out-heaps.html#GTSFIFO"
->GtsFifo</A
-> *fifo,
- <A
-HREF="gts-surfaces.html#GTSFUNC"
->GtsFunc</A
-> func,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> data);</PRE
-><P
->Calls <CODE
-CLASS="PARAMETER"
->func</CODE
-> in order for each item in <CODE
-CLASS="PARAMETER"
->fifo</CODE
->, passing <CODE
-CLASS="PARAMETER"
->data</CODE
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN1042"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->fifo</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-first-in-first-out-heaps.html#GTSFIFO"
-><SPAN
-CLASS="TYPE"
->GtsFifo</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN1049"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->func</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSFUNC"
-><SPAN
-CLASS="TYPE"
->GtsFunc</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN1056"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->data</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> user data to be passed to <CODE
-CLASS="PARAMETER"
->func</CODE
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN1062"
-></A
-><H3
-><A
-NAME="GTS-FIFO-IS-EMPTY"
-></A
->gts_fifo_is_empty ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GBOOLEAN"
->gboolean</GTKDOCLINK
-> gts_fifo_is_empty (<A
-HREF="gts-first-in-first-out-heaps.html#GTSFIFO"
->GtsFifo</A
-> *fifo);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN1073"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->fifo</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-first-in-first-out-heaps.html#GTSFIFO"
-><SPAN
-CLASS="TYPE"
->GtsFifo</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN1080"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> <TT
-CLASS="LITERAL"
->TRUE</TT
-> if <CODE
-CLASS="PARAMETER"
->fifo</CODE
-> is empty, <TT
-CLASS="LITERAL"
->FALSE</TT
-> otherwise.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN1088"
-></A
-><H3
-><A
-NAME="GTS-FIFO-REVERSE"
-></A
->gts_fifo_reverse ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_fifo_reverse (<A
-HREF="gts-first-in-first-out-heaps.html#GTSFIFO"
->GtsFifo</A
-> *fifo);</PRE
-><P
->Reverses the order of elements in <CODE
-CLASS="PARAMETER"
->fifo</CODE
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN1100"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->fifo</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-first-in-first-out-heaps.html#GTSFIFO"
-><SPAN
-CLASS="TYPE"
->GtsFifo</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN1107"
-></A
-><H3
-><A
-NAME="GTS-FIFO-WRITE"
-></A
->gts_fifo_write ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_fifo_write (<A
-HREF="gts-first-in-first-out-heaps.html#GTSFIFO"
->GtsFifo</A
-> *fifo,
- <GTKDOCLINK
-HREF="FILE:CAPS"
->FILE</GTKDOCLINK
-> *fp);</PRE
-><P
->Writes the content of <CODE
-CLASS="PARAMETER"
->fifo</CODE
-> in <CODE
-CLASS="PARAMETER"
->fp</CODE
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN1121"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->fifo</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-first-in-first-out-heaps.html#GTSFIFO"
-><SPAN
-CLASS="TYPE"
->GtsFifo</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN1128"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->fp</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a file pointer.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN1133"
-></A
-><H3
-><A
-NAME="GTS-FIFO-DESTROY"
-></A
->gts_fifo_destroy ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_fifo_destroy (<A
-HREF="gts-first-in-first-out-heaps.html#GTSFIFO"
->GtsFifo</A
-> *fifo);</PRE
-><P
->Frees all the memory allocated for <CODE
-CLASS="PARAMETER"
->fifo</CODE
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN1145"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->fifo</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-first-in-first-out-heaps.html#GTSFIFO"
-><SPAN
-CLASS="TYPE"
->GtsFifo</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-></DIV
-><TABLE
-CLASS="navigation"
-WIDTH="100%"
-SUMMARY="Navigation footer"
-CELLPADDING="2"
-CELLSPACING="2"
-><TR
-VALIGN="middle"
-><TD
-ALIGN="left"
-><A
-ACCESSKEY="p"
-HREF="gts-extended-binary-heaps.html"
-><B
-><<< Extended binary heaps</B
-></A
-></TD
-><TD
-ALIGN="right"
-><A
-ACCESSKEY="n"
-HREF="gts-vectors-and-matrices.html"
-><B
->Vectors and matrices >>></B
-></A
-></TD
-></TR
-></TABLE
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/gts-graph-class.html b/doc/html/gts-graph-class.html
deleted file mode 100644
index b14509e..0000000
--- a/doc/html/gts-graph-class.html
+++ /dev/null
@@ -1,5154 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
-<HTML
-><HEAD
-><TITLE
->Graph class</TITLE
-><META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
-REL="HOME"
-TITLE="GTS Library Reference Manual"
-HREF="book1.html"><LINK
-REL="UP"
-TITLE="Graph and operations on graphs"
-HREF="c17114.html"><LINK
-REL="PREVIOUS"
-TITLE="Graph and operations on graphs"
-HREF="c17114.html"><LINK
-REL="NEXT"
-TITLE="Weighted graph"
-HREF="gts-weighted-graph.html"><STYLE
-TYPE="text/css"
->.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</STYLE
-></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><TABLE
-WIDTH="100%"
-CLASS="navigation"
-SUMMARY="Navigation header"
-CELLPADDING="2"
-CELLSPACING="2"
-><TR
-VALIGN="middle"
-><TD
-><A
-ACCESSKEY="p"
-HREF="c17114.html"
-><IMG
-SRC="left.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Prev"></A
-></TD
-><TD
-><A
-ACCESSKEY="u"
-HREF="c17114.html"
-><IMG
-SRC="up.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Up"></A
-></TD
-><TD
-><A
-ACCESSKEY="h"
-HREF="book1.html"
-><IMG
-SRC="home.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Home"></A
-></TD
-><TH
-WIDTH="100%"
-align="center"
->GTS Library Reference Manual</TH
-><TD
-><A
-ACCESSKEY="n"
-HREF="gts-weighted-graph.html"
-><IMG
-SRC="right.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Next"></A
-></TD
-></TR
-></TABLE
-><H1
-><A
-NAME="GTS-GRAPH-CLASS"
-></A
->Graph class</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN17121"
-></A
-><H2
->Name</H2
->Graph class -- </DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN17124"
-></A
-><H2
->Synopsis</H2
-><PRE
-CLASS="SYNOPSIS"
->
#include <gts.h>
-
-
-#define <A
-HREF="gts-graph-class.html#GTS-GNODE-CLASS:CAPS"
->GTS_GNODE_CLASS</A
-> (klass)
-#define <A
-HREF="gts-graph-class.html#GTS-GNODE:CAPS"
->GTS_GNODE</A
-> (obj)
-#define <A
-HREF="gts-graph-class.html#GTS-IS-GNODE:CAPS"
->GTS_IS_GNODE</A
-> (obj)
-#define <A
-HREF="gts-graph-class.html#GTS-GNODE-NEIGHBOR:CAPS"
->GTS_GNODE_NEIGHBOR</A
-> (n,e)
- <A
-HREF="gts-graph-class.html#GTSGNODECLASS"
->GtsGNodeClass</A
->;
- <A
-HREF="gts-graph-class.html#GTSGNODE"
->GtsGNode</A
->;
-
-<A
-HREF="gts-graph-class.html#GTSGNODECLASS"
->GtsGNodeClass</A
->* <A
-HREF="gts-graph-class.html#GTS-GNODE-CLASS"
->gts_gnode_class</A
-> (void);
-<A
-HREF="gts-graph-class.html#GTSGNODE"
->GtsGNode</A
->* <A
-HREF="gts-graph-class.html#GTS-GNODE-NEW"
->gts_gnode_new</A
-> (<A
-HREF="gts-graph-class.html#GTSGNODECLASS"
->GtsGNodeClass</A
-> *klass);
-<GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> <A
-HREF="gts-graph-class.html#GTS-GNODE-DEGREE"
->gts_gnode_degree</A
-> (<A
-HREF="gts-graph-class.html#GTSGNODE"
->GtsGNode</A
-> *n,
- <A
-HREF="gts-graph-class.html#GTSGRAPH"
->GtsGraph</A
-> *g);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-graph-class.html#GTS-GNODE-FOREACH-EDGE"
->gts_gnode_foreach_edge</A
-> (<A
-HREF="gts-graph-class.html#GTSGNODE"
->GtsGNode</A
-> *n,
- <A
-HREF="gts-graph-class.html#GTSGRAPH"
->GtsGraph</A
-> *g,
- <A
-HREF="gts-surfaces.html#GTSFUNC"
->GtsFunc</A
-> func,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> data);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-graph-class.html#GTS-GNODE-FOREACH-NEIGHBOR"
->gts_gnode_foreach_neighbor</A
-> (<A
-HREF="gts-graph-class.html#GTSGNODE"
->GtsGNode</A
-> *n,
- <A
-HREF="gts-graph-class.html#GTSGRAPH"
->GtsGraph</A
-> *g,
- <A
-HREF="gts-surfaces.html#GTSFUNC"
->GtsFunc</A
-> func,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> data);
-<GTKDOCLINK
-HREF="GFLOAT"
->gfloat</GTKDOCLINK
-> <A
-HREF="gts-graph-class.html#GTS-GNODE-WEIGHT"
->gts_gnode_weight</A
-> (<A
-HREF="gts-graph-class.html#GTSGNODE"
->GtsGNode</A
-> *n);
-<GTKDOCLINK
-HREF="GFLOAT"
->gfloat</GTKDOCLINK
-> <A
-HREF="gts-graph-class.html#GTS-GNODE-MOVE-COST"
->gts_gnode_move_cost</A
-> (<A
-HREF="gts-graph-class.html#GTSGNODE"
->GtsGNode</A
-> *n,
- <A
-HREF="gts-graph-class.html#GTSGRAPH"
->GtsGraph</A
-> *src,
- <A
-HREF="gts-graph-class.html#GTSGRAPH"
->GtsGraph</A
-> *dst);
-
-#define <A
-HREF="gts-graph-class.html#GTS-GEDGE-CLASS:CAPS"
->GTS_GEDGE_CLASS</A
-> (klass)
-#define <A
-HREF="gts-graph-class.html#GTS-GEDGE:CAPS"
->GTS_GEDGE</A
-> (obj)
-#define <A
-HREF="gts-graph-class.html#GTS-IS-GEDGE:CAPS"
->GTS_IS_GEDGE</A
-> (obj)
- <A
-HREF="gts-graph-class.html#GTSGEDGECLASS"
->GtsGEdgeClass</A
->;
- <A
-HREF="gts-graph-class.html#GTSGEDGE"
->GtsGEdge</A
->;
-
-<A
-HREF="gts-graph-class.html#GTSGEDGECLASS"
->GtsGEdgeClass</A
->* <A
-HREF="gts-graph-class.html#GTS-GEDGE-CLASS"
->gts_gedge_class</A
-> (void);
-<A
-HREF="gts-graph-class.html#GTSGEDGE"
->GtsGEdge</A
->* <A
-HREF="gts-graph-class.html#GTS-GEDGE-NEW"
->gts_gedge_new</A
-> (<A
-HREF="gts-graph-class.html#GTSGEDGECLASS"
->GtsGEdgeClass</A
-> *klass,
- <A
-HREF="gts-graph-class.html#GTSGNODE"
->GtsGNode</A
-> *n1,
- <A
-HREF="gts-graph-class.html#GTSGNODE"
->GtsGNode</A
-> *n2);
-<GTKDOCLINK
-HREF="GFLOAT"
->gfloat</GTKDOCLINK
-> <A
-HREF="gts-graph-class.html#GTS-GEDGE-WEIGHT"
->gts_gedge_weight</A
-> (<A
-HREF="gts-graph-class.html#GTSGEDGE"
->GtsGEdge</A
-> *e);
-#define <A
-HREF="gts-graph-class.html#GTS-GEDGE-CONNECTS"
->gts_gedge_connects</A
-> (e, a1, a2)
-
-#define <A
-HREF="gts-graph-class.html#GTS-GRAPH-CLASS:CAPS"
->GTS_GRAPH_CLASS</A
-> (klass)
-#define <A
-HREF="gts-graph-class.html#GTS-GRAPH:CAPS"
->GTS_GRAPH</A
-> (obj)
-#define <A
-HREF="gts-graph-class.html#GTS-IS-GRAPH:CAPS"
->GTS_IS_GRAPH</A
-> (obj)
- <A
-HREF="gts-graph-class.html#GTSGRAPHCLASS"
->GtsGraphClass</A
->;
- <A
-HREF="gts-graph-class.html#GTSGRAPH"
->GtsGraph</A
->;
-
-<A
-HREF="gts-graph-class.html#GTSGRAPHCLASS"
->GtsGraphClass</A
->* <A
-HREF="gts-graph-class.html"
->gts_graph_class</A
-> (void);
-<A
-HREF="gts-graph-class.html#GTSGRAPH"
->GtsGraph</A
->* <A
-HREF="gts-graph-class.html#GTS-GRAPH-NEW"
->gts_graph_new</A
-> (<A
-HREF="gts-graph-class.html#GTSGRAPHCLASS"
->GtsGraphClass</A
-> *klass,
- <A
-HREF="gts-graph-class.html#GTSGNODECLASS"
->GtsGNodeClass</A
-> *node_class,
- <A
-HREF="gts-graph-class.html#GTSGEDGECLASS"
->GtsGEdgeClass</A
-> *edge_class);
-<A
-HREF="gts-graph-class.html#GTSGRAPH"
->GtsGraph</A
->* <A
-HREF="gts-graph-class.html#GTS-GRAPH-READ"
->gts_graph_read</A
-> (<A
-HREF="gts-miscellaneous-macros-and-functions.html#GTSFILE"
->GtsFile</A
-> *fp);
-<GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> <A
-HREF="gts-graph-class.html#GTS-GRAPH-READ-JOSTLE"
->gts_graph_read_jostle</A
-> (<A
-HREF="gts-graph-class.html#GTSGRAPH"
->GtsGraph</A
-> *g,
- <A
-HREF="gts-miscellaneous-macros-and-functions.html#GTSFILE"
->GtsFile</A
-> *fp);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-graph-class.html#GTS-GRAPH-WRITE"
->gts_graph_write</A
-> (<A
-HREF="gts-graph-class.html#GTSGRAPH"
->GtsGraph</A
-> *g,
- <GTKDOCLINK
-HREF="FILE:CAPS"
->FILE</GTKDOCLINK
-> *fp);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-graph-class.html#GTS-GRAPH-WRITE-DOT"
->gts_graph_write_dot</A
-> (<A
-HREF="gts-graph-class.html#GTSGRAPH"
->GtsGraph</A
-> *g,
- <GTKDOCLINK
-HREF="FILE:CAPS"
->FILE</GTKDOCLINK
-> *fp);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-graph-class.html#GTS-GRAPH-PRINT-STATS"
->gts_graph_print_stats</A
-> (<A
-HREF="gts-graph-class.html#GTSGRAPH"
->GtsGraph</A
-> *g,
- <GTKDOCLINK
-HREF="FILE:CAPS"
->FILE</GTKDOCLINK
-> *fp);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-graph-class.html#GTS-GRAPH-FOREACH-EDGE"
->gts_graph_foreach_edge</A
-> (<A
-HREF="gts-graph-class.html#GTSGRAPH"
->GtsGraph</A
-> *g,
- <A
-HREF="gts-surfaces.html#GTSFUNC"
->GtsFunc</A
-> func,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> data);
- <A
-HREF="gts-graph-class.html#GTSGRAPHTRAVERSE"
->GtsGraphTraverse</A
->;
-enum <A
-HREF="gts-graph-class.html#GTSTRAVERSETYPE"
->GtsTraverseType</A
->;
-<A
-HREF="gts-graph-class.html#GTSGRAPHTRAVERSE"
->GtsGraphTraverse</A
->* <A
-HREF="gts-graph-class.html#GTS-GRAPH-TRAVERSE-NEW"
->gts_graph_traverse_new</A
-> (<A
-HREF="gts-graph-class.html#GTSGRAPH"
->GtsGraph</A
-> *g,
- <A
-HREF="gts-graph-class.html#GTSGNODE"
->GtsGNode</A
-> *n,
- <A
-HREF="gts-graph-class.html#GTSTRAVERSETYPE"
->GtsTraverseType</A
-> type,
- <GTKDOCLINK
-HREF="GBOOLEAN"
->gboolean</GTKDOCLINK
-> reinit);
-<A
-HREF="gts-graph-class.html#GTSGNODE"
->GtsGNode</A
->* <A
-HREF="gts-graph-class.html#GTS-GRAPH-TRAVERSE-NEXT"
->gts_graph_traverse_next</A
-> (<A
-HREF="gts-graph-class.html#GTSGRAPHTRAVERSE"
->GtsGraphTraverse</A
-> *t);
-<A
-HREF="gts-graph-class.html#GTSGNODE"
->GtsGNode</A
->* <A
-HREF="gts-graph-class.html#GTS-GRAPH-TRAVERSE-WHAT-NEXT"
->gts_graph_traverse_what_next</A
-> (<A
-HREF="gts-graph-class.html#GTSGRAPHTRAVERSE"
->GtsGraphTraverse</A
-> *t);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-graph-class.html#GTS-GRAPH-TRAVERSE-DESTROY"
->gts_graph_traverse_destroy</A
-> (<A
-HREF="gts-graph-class.html#GTSGRAPHTRAVERSE"
->GtsGraphTraverse</A
-> *t);
-<GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> <A
-HREF="gts-graph-class.html#GTS-GRAPH-EDGES-CUT"
->gts_graph_edges_cut</A
-> (<A
-HREF="gts-graph-class.html#GTSGRAPH"
->GtsGraph</A
-> *g);
-<GTKDOCLINK
-HREF="GFLOAT"
->gfloat</GTKDOCLINK
-> <A
-HREF="gts-graph-class.html#GTS-GRAPH-EDGES-CUT-WEIGHT"
->gts_graph_edges_cut_weight</A
-> (<A
-HREF="gts-graph-class.html#GTSGRAPH"
->GtsGraph</A
-> *g);
-<GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> <A
-HREF="gts-graph-class.html#GTS-GRAPH-DISTANCE-SUM"
->gts_graph_distance_sum</A
-> (<A
-HREF="gts-graph-class.html#GTSGRAPH"
->GtsGraph</A
-> *g,
- <A
-HREF="gts-graph-class.html#GTSGNODE"
->GtsGNode</A
-> *center);
-<A
-HREF="gts-graph-class.html#GTSGNODE"
->GtsGNode</A
->* <A
-HREF="gts-graph-class.html#GTS-GRAPH-FARTHEST"
->gts_graph_farthest</A
-> (<A
-HREF="gts-graph-class.html#GTSGRAPH"
->GtsGraph</A
-> *g,
- <GTKDOCLINK
-HREF="GSLIST"
->GSList</GTKDOCLINK
-> *gnodes);
-<GTKDOCLINK
-HREF="GFLOAT"
->gfloat</GTKDOCLINK
-> <A
-HREF="gts-graph-class.html#GTS-GRAPH-WEIGHT"
->gts_graph_weight</A
-> (<A
-HREF="gts-graph-class.html#GTSGRAPH"
->GtsGraph</A
-> *g);
-
-#define <A
-HREF="gts-graph-class.html#GTS-FNODE-CLASS:CAPS"
->GTS_FNODE_CLASS</A
-> (klass)
-#define <A
-HREF="gts-graph-class.html#GTS-FNODE:CAPS"
->GTS_FNODE</A
-> (obj)
-#define <A
-HREF="gts-graph-class.html#GTS-IS-FNODE:CAPS"
->GTS_IS_FNODE</A
-> (obj)
- <A
-HREF="gts-graph-class.html#GTSFNODE"
->GtsFNode</A
->;
- <A
-HREF="gts-graph-class.html#GTSFNODECLASS"
->GtsFNodeClass</A
->;
-
-<A
-HREF="gts-graph-class.html#GTSFNODECLASS"
->GtsFNodeClass</A
->* <A
-HREF="gts-graph-class.html#GTS-FNODE-CLASS"
->gts_fnode_class</A
-> (void);
-<A
-HREF="gts-graph-class.html#GTSFNODE"
->GtsFNode</A
->* <A
-HREF="gts-graph-class.html#GTS-FNODE-NEW"
->gts_fnode_new</A
-> (<A
-HREF="gts-graph-class.html#GTSFNODECLASS"
->GtsFNodeClass</A
-> *klass,
- <A
-HREF="gts-faces.html#GTSFACE"
->GtsFace</A
-> *f);
-
-<A
-HREF="gts-graph-class.html#GTSGRAPH"
->GtsGraph</A
->* <A
-HREF="gts-graph-class.html#GTS-SURFACE-GRAPH-NEW"
->gts_surface_graph_new</A
-> (<A
-HREF="gts-graph-class.html#GTSGRAPHCLASS"
->GtsGraphClass</A
-> *klass,
- <A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s);
-<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
->* <A
-HREF="gts-graph-class.html#GTS-SURFACE-GRAPH-SURFACE"
->gts_surface_graph_surface</A
-> (<A
-HREF="gts-graph-class.html#GTSGRAPH"
->GtsGraph</A
-> *surface_graph,
- <A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s);
-<A
-HREF="gts-graph-class.html#GTSGRAPH"
->GtsGraph</A
->* <A
-HREF="gts-graph-class.html#GTS-SEGMENTS-GRAPH-NEW"
->gts_segments_graph_new</A
-> (<A
-HREF="gts-graph-class.html#GTSGRAPHCLASS"
->GtsGraphClass</A
-> *klass,
- <GTKDOCLINK
-HREF="GSLIST"
->GSList</GTKDOCLINK
-> *segments);</PRE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN17271"
-></A
-><H2
->Description</H2
-><P
-></P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN17274"
-></A
-><H2
->Details</H2
-><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN17276"
-></A
-><H3
-><A
-NAME="GTS-GNODE-CLASS:CAPS"
-></A
->GTS_GNODE_CLASS()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_GNODE_CLASS(klass)</PRE
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN17284"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->klass</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN17289"
-></A
-><H3
-><A
-NAME="GTS-GNODE:CAPS"
-></A
->GTS_GNODE()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_GNODE(obj)</PRE
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN17297"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->obj</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN17302"
-></A
-><H3
-><A
-NAME="GTS-IS-GNODE:CAPS"
-></A
->GTS_IS_GNODE()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_IS_GNODE(obj)</PRE
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN17310"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->obj</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN17315"
-></A
-><H3
-><A
-NAME="GTS-GNODE-NEIGHBOR:CAPS"
-></A
->GTS_GNODE_NEIGHBOR()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_GNODE_NEIGHBOR(n,e) (GTS_GEDGE (e)->n1 == n ? GTS_GEDGE (e)->n2 : GTS_GEDGE (e)->n2 == n ? GTS_GEDGE (e)->n1 : NULL)</PRE
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN17323"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->n</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-></P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN17328"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->e</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN17333"
-></A
-><H3
-><A
-NAME="GTSGNODECLASS"
-></A
->GtsGNodeClass</H3
-><PRE
-CLASS="PROGRAMLISTING"
->typedef struct {
- GtsSListContainerClass parent_class;
-
- gfloat (* weight) (GtsGNode *);
- void (* write) (GtsGNode *, FILE *);
-} GtsGNodeClass;</PRE
-><P
-></P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN17340"
-></A
-><H3
-><A
-NAME="GTSGNODE"
-></A
->GtsGNode</H3
-><PRE
-CLASS="PROGRAMLISTING"
->typedef struct {
- GtsSListContainer container;
-
- guint level;
-} GtsGNode;</PRE
-><P
-></P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN17347"
-></A
-><H3
-><A
-NAME="GTS-GNODE-CLASS"
-></A
->gts_gnode_class ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-graph-class.html#GTSGNODECLASS"
->GtsGNodeClass</A
->* gts_gnode_class (void);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN17357"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the <A
-HREF="gts-graph-class.html#GTSGNODECLASS"
-><SPAN
-CLASS="TYPE"
->GtsGNodeClass</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN17364"
-></A
-><H3
-><A
-NAME="GTS-GNODE-NEW"
-></A
->gts_gnode_new ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-graph-class.html#GTSGNODE"
->GtsGNode</A
->* gts_gnode_new (<A
-HREF="gts-graph-class.html#GTSGNODECLASS"
->GtsGNodeClass</A
-> *klass);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN17375"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->klass</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-graph-class.html#GTSGNODECLASS"
-><SPAN
-CLASS="TYPE"
->GtsGNodeClass</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN17382"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a new <A
-HREF="gts-graph-class.html#GTSGNODE"
-><SPAN
-CLASS="TYPE"
->GtsGNode</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN17389"
-></A
-><H3
-><A
-NAME="GTS-GNODE-DEGREE"
-></A
->gts_gnode_degree ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> gts_gnode_degree (<A
-HREF="gts-graph-class.html#GTSGNODE"
->GtsGNode</A
-> *n,
- <A
-HREF="gts-graph-class.html#GTSGRAPH"
->GtsGraph</A
-> *g);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN17401"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->n</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-graph-class.html#GTSGNODE"
-><SPAN
-CLASS="TYPE"
->GtsGNode</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN17408"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->g</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-graph-class.html#GTSGRAPH"
-><SPAN
-CLASS="TYPE"
->GtsGraph</SPAN
-></A
-> or <TT
-CLASS="LITERAL"
->NULL</TT
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN17416"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the number of neighbors of <CODE
-CLASS="PARAMETER"
->n</CODE
-> (belonging to <CODE
-CLASS="PARAMETER"
->g</CODE
-> if <CODE
-CLASS="PARAMETER"
->g</CODE
-> is not <TT
-CLASS="LITERAL"
->NULL</TT
->).</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN17425"
-></A
-><H3
-><A
-NAME="GTS-GNODE-FOREACH-EDGE"
-></A
->gts_gnode_foreach_edge ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_gnode_foreach_edge (<A
-HREF="gts-graph-class.html#GTSGNODE"
->GtsGNode</A
-> *n,
- <A
-HREF="gts-graph-class.html#GTSGRAPH"
->GtsGraph</A
-> *g,
- <A
-HREF="gts-surfaces.html#GTSFUNC"
->GtsFunc</A
-> func,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> data);</PRE
-><P
->Calls <CODE
-CLASS="PARAMETER"
->func</CODE
-> for each <A
-HREF="gts-graph-class.html#GTSGEDGE"
-><SPAN
-CLASS="TYPE"
->GtsGEdge</SPAN
-></A
-> connecting <CODE
-CLASS="PARAMETER"
->n</CODE
-> to another <A
-HREF="gts-graph-class.html#GTSGNODE"
-><SPAN
-CLASS="TYPE"
->GtsGNode</SPAN
-></A
->
-(belonging to <CODE
-CLASS="PARAMETER"
->g</CODE
-> if <CODE
-CLASS="PARAMETER"
->g</CODE
-> is not <TT
-CLASS="LITERAL"
->NULL</TT
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN17448"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->n</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-graph-class.html#GTSGNODE"
-><SPAN
-CLASS="TYPE"
->GtsGNode</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN17455"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->g</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-graph-class.html#GTSGRAPH"
-><SPAN
-CLASS="TYPE"
->GtsGraph</SPAN
-></A
-> or <TT
-CLASS="LITERAL"
->NULL</TT
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN17463"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->func</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSFUNC"
-><SPAN
-CLASS="TYPE"
->GtsFunc</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN17470"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->data</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> user data to be passed to <CODE
-CLASS="PARAMETER"
->func</CODE
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN17476"
-></A
-><H3
-><A
-NAME="GTS-GNODE-FOREACH-NEIGHBOR"
-></A
->gts_gnode_foreach_neighbor ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_gnode_foreach_neighbor (<A
-HREF="gts-graph-class.html#GTSGNODE"
->GtsGNode</A
-> *n,
- <A
-HREF="gts-graph-class.html#GTSGRAPH"
->GtsGraph</A
-> *g,
- <A
-HREF="gts-surfaces.html#GTSFUNC"
->GtsFunc</A
-> func,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> data);</PRE
-><P
->Calls <CODE
-CLASS="PARAMETER"
->func</CODE
-> for each neighbor <A
-HREF="gts-graph-class.html#GTSGNODE"
-><SPAN
-CLASS="TYPE"
->GtsGNode</SPAN
-></A
-> of <CODE
-CLASS="PARAMETER"
->n</CODE
-> (belonging to <CODE
-CLASS="PARAMETER"
->g</CODE
-> if
-<CODE
-CLASS="PARAMETER"
->g</CODE
-> is not <TT
-CLASS="LITERAL"
->NULL</TT
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN17497"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->n</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-graph-class.html#GTSGNODE"
-><SPAN
-CLASS="TYPE"
->GtsGNode</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN17504"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->g</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-graph-class.html#GTSGRAPH"
-><SPAN
-CLASS="TYPE"
->GtsGraph</SPAN
-></A
-> or <TT
-CLASS="LITERAL"
->NULL</TT
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN17512"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->func</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSFUNC"
-><SPAN
-CLASS="TYPE"
->GtsFunc</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN17519"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->data</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> user data to be passed to <CODE
-CLASS="PARAMETER"
->func</CODE
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN17525"
-></A
-><H3
-><A
-NAME="GTS-GNODE-WEIGHT"
-></A
->gts_gnode_weight ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GFLOAT"
->gfloat</GTKDOCLINK
-> gts_gnode_weight (<A
-HREF="gts-graph-class.html#GTSGNODE"
->GtsGNode</A
-> *n);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN17536"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->n</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-graph-class.html#GTSGNODE"
-><SPAN
-CLASS="TYPE"
->GtsGNode</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN17543"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the weight of <CODE
-CLASS="PARAMETER"
->n</CODE
-> as defined by the <GTKDOCLINK
-HREF="WEIGHT"
-><CODE
-CLASS="FUNCTION"
->weight()</CODE
-></GTKDOCLINK
-> method of the
-<A
-HREF="gts-graph-class.html#GTSGNODECLASS"
-><SPAN
-CLASS="TYPE"
->GtsGNodeClass</SPAN
-></A
->. </P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN17553"
-></A
-><H3
-><A
-NAME="GTS-GNODE-MOVE-COST"
-></A
->gts_gnode_move_cost ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GFLOAT"
->gfloat</GTKDOCLINK
-> gts_gnode_move_cost (<A
-HREF="gts-graph-class.html#GTSGNODE"
->GtsGNode</A
-> *n,
- <A
-HREF="gts-graph-class.html#GTSGRAPH"
->GtsGraph</A
-> *src,
- <A
-HREF="gts-graph-class.html#GTSGRAPH"
->GtsGraph</A
-> *dst);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN17566"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->n</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-graph-class.html#GTSGNODE"
-><SPAN
-CLASS="TYPE"
->GtsGNode</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN17573"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->src</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-graph-class.html#GTSGRAPH"
-><SPAN
-CLASS="TYPE"
->GtsGraph</SPAN
-></A
-> containing <CODE
-CLASS="PARAMETER"
->n</CODE
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN17581"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->dst</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> another <A
-HREF="gts-graph-class.html#GTSGRAPH"
-><SPAN
-CLASS="TYPE"
->GtsGraph</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN17588"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the cost (increase in the sum of the weights of the edges cut) of
-moving <CODE
-CLASS="PARAMETER"
->n</CODE
-> from <CODE
-CLASS="PARAMETER"
->src</CODE
-> to <CODE
-CLASS="PARAMETER"
->dst</CODE
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN17596"
-></A
-><H3
-><A
-NAME="GTS-GEDGE-CLASS:CAPS"
-></A
->GTS_GEDGE_CLASS()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_GEDGE_CLASS(klass)</PRE
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN17604"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->klass</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN17609"
-></A
-><H3
-><A
-NAME="GTS-GEDGE:CAPS"
-></A
->GTS_GEDGE()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_GEDGE(obj)</PRE
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN17617"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->obj</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN17622"
-></A
-><H3
-><A
-NAME="GTS-IS-GEDGE:CAPS"
-></A
->GTS_IS_GEDGE()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_IS_GEDGE(obj)</PRE
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN17630"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->obj</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN17635"
-></A
-><H3
-><A
-NAME="GTSGEDGECLASS"
-></A
->GtsGEdgeClass</H3
-><PRE
-CLASS="PROGRAMLISTING"
->typedef struct {
- GtsContaineeClass parent_class;
-
- GtsGEdge * (* link) (GtsGEdge * e, GtsGNode * n1, GtsGNode * n2);
- gfloat (* weight) (GtsGEdge * e);
- void (* write) (GtsGEdge * e, FILE * fp);
-} GtsGEdgeClass;</PRE
-><P
-></P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN17642"
-></A
-><H3
-><A
-NAME="GTSGEDGE"
-></A
->GtsGEdge</H3
-><PRE
-CLASS="PROGRAMLISTING"
->typedef struct {
- GtsContainee containee;
-
- GtsGNode * n1;
- GtsGNode * n2;
-} GtsGEdge;</PRE
-><P
-></P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN17649"
-></A
-><H3
-><A
-NAME="GTS-GEDGE-CLASS"
-></A
->gts_gedge_class ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-graph-class.html#GTSGEDGECLASS"
->GtsGEdgeClass</A
->* gts_gedge_class (void);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN17659"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the <A
-HREF="gts-graph-class.html#GTSGEDGECLASS"
-><SPAN
-CLASS="TYPE"
->GtsGEdgeClass</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN17666"
-></A
-><H3
-><A
-NAME="GTS-GEDGE-NEW"
-></A
->gts_gedge_new ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-graph-class.html#GTSGEDGE"
->GtsGEdge</A
->* gts_gedge_new (<A
-HREF="gts-graph-class.html#GTSGEDGECLASS"
->GtsGEdgeClass</A
-> *klass,
- <A
-HREF="gts-graph-class.html#GTSGNODE"
->GtsGNode</A
-> *n1,
- <A
-HREF="gts-graph-class.html#GTSGNODE"
->GtsGNode</A
-> *n2);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN17679"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->klass</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-graph-class.html#GTSGEDGECLASS"
-><SPAN
-CLASS="TYPE"
->GtsGEdgeClass</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN17686"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->n1</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-graph-class.html#GTSGNODE"
-><SPAN
-CLASS="TYPE"
->GtsGNode</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN17693"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->n2</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> another <A
-HREF="gts-graph-class.html#GTSGNODE"
-><SPAN
-CLASS="TYPE"
->GtsGNode</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN17700"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a new <A
-HREF="gts-graph-class.html#GTSGEDGE"
-><SPAN
-CLASS="TYPE"
->GtsGEdge</SPAN
-></A
-> linking <CODE
-CLASS="PARAMETER"
->n1</CODE
-> and <CODE
-CLASS="PARAMETER"
->n2</CODE
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN17709"
-></A
-><H3
-><A
-NAME="GTS-GEDGE-WEIGHT"
-></A
->gts_gedge_weight ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GFLOAT"
->gfloat</GTKDOCLINK
-> gts_gedge_weight (<A
-HREF="gts-graph-class.html#GTSGEDGE"
->GtsGEdge</A
-> *e);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN17720"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->e</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-graph-class.html#GTSGEDGE"
-><SPAN
-CLASS="TYPE"
->GtsGEdge</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN17727"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the weight of edge <CODE
-CLASS="PARAMETER"
->e</CODE
-> as defined by the <GTKDOCLINK
-HREF="WEIGHT"
-><CODE
-CLASS="FUNCTION"
->weight()</CODE
-></GTKDOCLINK
-> method of
-<A
-HREF="gts-graph-class.html#GTSGEDGECLASS"
-><SPAN
-CLASS="TYPE"
->GtsGEdgeClass</SPAN
-></A
->. </P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN17737"
-></A
-><H3
-><A
-NAME="GTS-GEDGE-CONNECTS"
-></A
->gts_gedge_connects()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define gts_gedge_connects(e, a1, a2)</PRE
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN17745"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->e</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-></P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN17750"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->a1</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-></P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN17755"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->a2</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN17760"
-></A
-><H3
-><A
-NAME="GTS-GRAPH-CLASS:CAPS"
-></A
->GTS_GRAPH_CLASS()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_GRAPH_CLASS(klass)</PRE
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN17768"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->klass</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN17773"
-></A
-><H3
-><A
-NAME="GTS-GRAPH:CAPS"
-></A
->GTS_GRAPH()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_GRAPH(obj)</PRE
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN17781"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->obj</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN17786"
-></A
-><H3
-><A
-NAME="GTS-IS-GRAPH:CAPS"
-></A
->GTS_IS_GRAPH()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_IS_GRAPH(obj)</PRE
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN17794"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->obj</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN17799"
-></A
-><H3
-><A
-NAME="GTSGRAPHCLASS"
-></A
->GtsGraphClass</H3
-><PRE
-CLASS="PROGRAMLISTING"
->typedef struct {
- GtsHashContainerClass parent_class;
-
- gfloat (* weight) (GtsGraph *);
-} GtsGraphClass;</PRE
-><P
-></P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN17806"
-></A
-><H3
-><A
-NAME="GTSGRAPH"
-></A
->GtsGraph</H3
-><PRE
-CLASS="PROGRAMLISTING"
->typedef struct {
- GtsHashContainer object;
-
- GtsGraphClass * graph_class;
- GtsGNodeClass * node_class;
- GtsGEdgeClass * edge_class;
-} GtsGraph;</PRE
-><P
-></P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN17813"
-></A
-><H3
-><A
-NAME="GTS-GRAPH-CLASS"
-></A
->gts_graph_class ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-graph-class.html#GTSGRAPHCLASS"
->GtsGraphClass</A
->* gts_graph_class (void);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN17823"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the <A
-HREF="gts-graph-class.html#GTSGRAPHCLASS"
-><SPAN
-CLASS="TYPE"
->GtsGraphClass</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN17830"
-></A
-><H3
-><A
-NAME="GTS-GRAPH-NEW"
-></A
->gts_graph_new ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-graph-class.html#GTSGRAPH"
->GtsGraph</A
->* gts_graph_new (<A
-HREF="gts-graph-class.html#GTSGRAPHCLASS"
->GtsGraphClass</A
-> *klass,
- <A
-HREF="gts-graph-class.html#GTSGNODECLASS"
->GtsGNodeClass</A
-> *node_class,
- <A
-HREF="gts-graph-class.html#GTSGEDGECLASS"
->GtsGEdgeClass</A
-> *edge_class);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN17843"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->klass</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-graph-class.html#GTSGRAPHCLASS"
-><SPAN
-CLASS="TYPE"
->GtsGraphClass</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN17850"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->node_class</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-graph-class.html#GTSGNODECLASS"
-><SPAN
-CLASS="TYPE"
->GtsGNodeClass</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN17857"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->edge_class</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-graph-class.html#GTSGEDGECLASS"
-><SPAN
-CLASS="TYPE"
->GtsGEdgeClass</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN17864"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a new <A
-HREF="gts-graph-class.html#GTSGRAPH"
-><SPAN
-CLASS="TYPE"
->GtsGraph</SPAN
-></A
-> using <CODE
-CLASS="PARAMETER"
->node_class</CODE
-> and <CODE
-CLASS="PARAMETER"
->edge_class</CODE
-> as node types.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN17873"
-></A
-><H3
-><A
-NAME="GTS-GRAPH-READ"
-></A
->gts_graph_read ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-graph-class.html#GTSGRAPH"
->GtsGraph</A
->* gts_graph_read (<A
-HREF="gts-miscellaneous-macros-and-functions.html#GTSFILE"
->GtsFile</A
-> *fp);</PRE
-><P
->Reads a graph from a file.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN17884"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->fp</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-miscellaneous-macros-and-functions.html#GTSFILE"
-><SPAN
-CLASS="TYPE"
->GtsFile</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN17891"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the new <A
-HREF="gts-graph-class.html#GTSGRAPH"
-><SPAN
-CLASS="TYPE"
->GtsGraph</SPAN
-></A
-> or <TT
-CLASS="LITERAL"
->NULL</TT
-> if an error occured (in which
-case the <CODE
-CLASS="PARAMETER"
->error</CODE
-> field of <CODE
-CLASS="PARAMETER"
->fp</CODE
-> is set).</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN17901"
-></A
-><H3
-><A
-NAME="GTS-GRAPH-READ-JOSTLE"
-></A
->gts_graph_read_jostle ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> gts_graph_read_jostle (<A
-HREF="gts-graph-class.html#GTSGRAPH"
->GtsGraph</A
-> *g,
- <A
-HREF="gts-miscellaneous-macros-and-functions.html#GTSFILE"
->GtsFile</A
-> *fp);</PRE
-><P
->Adds to <CODE
-CLASS="PARAMETER"
->g</CODE
-> the nodes and edges defined in the file pointed to by
-<CODE
-CLASS="PARAMETER"
->fp</CODE
->. This file must use the Jostle "graph" ASCII format.
-The nodes created are of type <GTKDOCLINK
-HREF="GTSNGNODE"
-><SPAN
-CLASS="TYPE"
->GtsNGNode</SPAN
-></GTKDOCLINK
-> and their identities are the
-line number at which they appear in <CODE
-CLASS="PARAMETER"
->fp</CODE
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN17918"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->g</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-graph-class.html#GTSGRAPH"
-><SPAN
-CLASS="TYPE"
->GtsGraph</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN17925"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->fp</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-miscellaneous-macros-and-functions.html#GTSFILE"
-><SPAN
-CLASS="TYPE"
->GtsFile</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN17932"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> 0 if the lecture was successful, the line number at which
-an error occured otherwise (in which case the <CODE
-CLASS="PARAMETER"
->error</CODE
-> field of <CODE
-CLASS="PARAMETER"
->fp</CODE
->
-is set). </P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN17939"
-></A
-><H3
-><A
-NAME="GTS-GRAPH-WRITE"
-></A
->gts_graph_write ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_graph_write (<A
-HREF="gts-graph-class.html#GTSGRAPH"
->GtsGraph</A
-> *g,
- <GTKDOCLINK
-HREF="FILE:CAPS"
->FILE</GTKDOCLINK
-> *fp);</PRE
-><P
->Writes in the file <CODE
-CLASS="PARAMETER"
->fp</CODE
-> an ASCII representation of <CODE
-CLASS="PARAMETER"
->g</CODE
->. The file
-format is as follows. </P
-><P
->All the lines beginning with <A
-HREF="gts-miscellaneous-macros-and-functions.html#GTS-COMMENTS:CAPS"
-><SPAN
-CLASS="TYPE"
->GTS_COMMENTS</SPAN
-></A
-> are ignored. The first line
-contains two unsigned integers separated by spaces. The first
-integer is the number of nodes, nn, the second is the number of
-edges, ne.</P
-><P
->Follows nn lines containing node description.
-Follows ne lines containing the two indices (starting
-from one) of the nodes of each edge.</P
-><P
->The format described above is the least common denominator to all
-GTS files. Consistent with an object-oriented approach, the GTS
-file format is extensible. Each of the lines of the file can be
-extended with user-specific attributes accessible through the
-<GTKDOCLINK
-HREF="READ"
-><CODE
-CLASS="FUNCTION"
->read()</CODE
-></GTKDOCLINK
-> and <GTKDOCLINK
-HREF="WRITE"
-><CODE
-CLASS="FUNCTION"
->write()</CODE
-></GTKDOCLINK
-> virtual methods of each of the objects written
-(graph, nodes or edges). When read with different object classes,
-these extra attributes are just ignored.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN17962"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->g</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-graph-class.html#GTSGRAPH"
-><SPAN
-CLASS="TYPE"
->GtsGraph</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN17969"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->fp</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a file pointer.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN17974"
-></A
-><H3
-><A
-NAME="GTS-GRAPH-WRITE-DOT"
-></A
->gts_graph_write_dot ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_graph_write_dot (<A
-HREF="gts-graph-class.html#GTSGRAPH"
->GtsGraph</A
-> *g,
- <GTKDOCLINK
-HREF="FILE:CAPS"
->FILE</GTKDOCLINK
-> *fp);</PRE
-><P
->Writes in the file <CODE
-CLASS="PARAMETER"
->fp</CODE
-> an ASCII representation of <CODE
-CLASS="PARAMETER"
->g</CODE
-> in the dot format of
-AT&T Bell Labs.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN17988"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->g</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-graph-class.html#GTSGRAPH"
-><SPAN
-CLASS="TYPE"
->GtsGraph</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN17995"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->fp</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a file pointer.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN18000"
-></A
-><H3
-><A
-NAME="GTS-GRAPH-PRINT-STATS"
-></A
->gts_graph_print_stats ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_graph_print_stats (<A
-HREF="gts-graph-class.html#GTSGRAPH"
->GtsGraph</A
-> *g,
- <GTKDOCLINK
-HREF="FILE:CAPS"
->FILE</GTKDOCLINK
-> *fp);</PRE
-><P
->Writes to <CODE
-CLASS="PARAMETER"
->fp</CODE
-> a summary of the properties of <CODE
-CLASS="PARAMETER"
->g</CODE
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN18014"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->g</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-graph-class.html#GTSGRAPH"
-><SPAN
-CLASS="TYPE"
->GtsGraph</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN18021"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->fp</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a file pointer.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN18026"
-></A
-><H3
-><A
-NAME="GTS-GRAPH-FOREACH-EDGE"
-></A
->gts_graph_foreach_edge ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_graph_foreach_edge (<A
-HREF="gts-graph-class.html#GTSGRAPH"
->GtsGraph</A
-> *g,
- <A
-HREF="gts-surfaces.html#GTSFUNC"
->GtsFunc</A
-> func,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> data);</PRE
-><P
->Calls <CODE
-CLASS="PARAMETER"
->func</CODE
-> for each <A
-HREF="gts-edges.html#GTSEDGE"
-><SPAN
-CLASS="TYPE"
->GtsEdge</SPAN
-></A
-> of <CODE
-CLASS="PARAMETER"
->g</CODE
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN18043"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->g</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-graph-class.html#GTSGRAPH"
-><SPAN
-CLASS="TYPE"
->GtsGraph</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN18050"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->func</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSFUNC"
-><SPAN
-CLASS="TYPE"
->GtsFunc</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN18057"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->data</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> user data to be passed to <CODE
-CLASS="PARAMETER"
->func</CODE
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN18063"
-></A
-><H3
-><A
-NAME="GTSGRAPHTRAVERSE"
-></A
->GtsGraphTraverse</H3
-><PRE
-CLASS="PROGRAMLISTING"
->typedef struct _GtsGraphTraverse GtsGraphTraverse;</PRE
-><P
-></P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN18070"
-></A
-><H3
-><A
-NAME="GTSTRAVERSETYPE"
-></A
->enum GtsTraverseType</H3
-><PRE
-CLASS="PROGRAMLISTING"
->typedef enum { GTS_BREADTH_FIRST
- } GtsTraverseType;</PRE
-><P
-></P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN18077"
-></A
-><H3
-><A
-NAME="GTS-GRAPH-TRAVERSE-NEW"
-></A
->gts_graph_traverse_new ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-graph-class.html#GTSGRAPHTRAVERSE"
->GtsGraphTraverse</A
->* gts_graph_traverse_new (<A
-HREF="gts-graph-class.html#GTSGRAPH"
->GtsGraph</A
-> *g,
- <A
-HREF="gts-graph-class.html#GTSGNODE"
->GtsGNode</A
-> *n,
- <A
-HREF="gts-graph-class.html#GTSTRAVERSETYPE"
->GtsTraverseType</A
-> type,
- <GTKDOCLINK
-HREF="GBOOLEAN"
->gboolean</GTKDOCLINK
-> reinit);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN18091"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->g</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-graph-class.html#GTSGRAPH"
-><SPAN
-CLASS="TYPE"
->GtsGraph</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN18098"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->n</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-graph-class.html#GTSGNODE"
-><SPAN
-CLASS="TYPE"
->GtsGNode</SPAN
-></A
-> belonging to <CODE
-CLASS="PARAMETER"
->g</CODE
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN18106"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->type</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the type of traversal.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN18111"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->reinit</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> if <TT
-CLASS="LITERAL"
->TRUE</TT
->, the traversal is reinitialized.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN18117"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a new <A
-HREF="gts-graph-class.html#GTSGRAPHTRAVERSE"
-><SPAN
-CLASS="TYPE"
->GtsGraphTraverse</SPAN
-></A
-> initialized for the traversal of
-<CODE
-CLASS="PARAMETER"
->g</CODE
-> of type <CODE
-CLASS="PARAMETER"
->type</CODE
->, starting from <CODE
-CLASS="PARAMETER"
->n</CODE
->. </P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN18127"
-></A
-><H3
-><A
-NAME="GTS-GRAPH-TRAVERSE-NEXT"
-></A
->gts_graph_traverse_next ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-graph-class.html#GTSGNODE"
->GtsGNode</A
->* gts_graph_traverse_next (<A
-HREF="gts-graph-class.html#GTSGRAPHTRAVERSE"
->GtsGraphTraverse</A
-> *t);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN18138"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->t</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-graph-class.html#GTSGRAPHTRAVERSE"
-><SPAN
-CLASS="TYPE"
->GtsGraphTraverse</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN18145"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the next <A
-HREF="gts-graph-class.html#GTSGNODE"
-><SPAN
-CLASS="TYPE"
->GtsGNode</SPAN
-></A
-> of the traversal defined by <CODE
-CLASS="PARAMETER"
->t</CODE
-> or <TT
-CLASS="LITERAL"
->NULL</TT
->
-if the traversal is complete.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN18154"
-></A
-><H3
-><A
-NAME="GTS-GRAPH-TRAVERSE-WHAT-NEXT"
-></A
->gts_graph_traverse_what_next ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-graph-class.html#GTSGNODE"
->GtsGNode</A
->* gts_graph_traverse_what_next (<A
-HREF="gts-graph-class.html#GTSGRAPHTRAVERSE"
->GtsGraphTraverse</A
-> *t);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN18165"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->t</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-graph-class.html#GTSGRAPHTRAVERSE"
-><SPAN
-CLASS="TYPE"
->GtsGraphTraverse</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN18172"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the next <A
-HREF="gts-graph-class.html#GTSGNODE"
-><SPAN
-CLASS="TYPE"
->GtsGNode</SPAN
-></A
-> of the traversal defined by <CODE
-CLASS="PARAMETER"
->t</CODE
-> or <TT
-CLASS="LITERAL"
->NULL</TT
->
-if the traversal is complete but without advancing the traversal.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN18181"
-></A
-><H3
-><A
-NAME="GTS-GRAPH-TRAVERSE-DESTROY"
-></A
->gts_graph_traverse_destroy ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_graph_traverse_destroy (<A
-HREF="gts-graph-class.html#GTSGRAPHTRAVERSE"
->GtsGraphTraverse</A
-> *t);</PRE
-><P
->Frees all the memory allocated for <CODE
-CLASS="PARAMETER"
->t</CODE
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN18193"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->t</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-graph-class.html#GTSGRAPHTRAVERSE"
-><SPAN
-CLASS="TYPE"
->GtsGraphTraverse</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN18200"
-></A
-><H3
-><A
-NAME="GTS-GRAPH-EDGES-CUT"
-></A
->gts_graph_edges_cut ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> gts_graph_edges_cut (<A
-HREF="gts-graph-class.html#GTSGRAPH"
->GtsGraph</A
-> *g);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN18211"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->g</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-graph-class.html#GTSGRAPH"
-><SPAN
-CLASS="TYPE"
->GtsGraph</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN18218"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the number of edges of <CODE
-CLASS="PARAMETER"
->g</CODE
-> connecting nodes belonging to <CODE
-CLASS="PARAMETER"
->g</CODE
->
-to nodes not belonging to <CODE
-CLASS="PARAMETER"
->g</CODE
->. </P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN18226"
-></A
-><H3
-><A
-NAME="GTS-GRAPH-EDGES-CUT-WEIGHT"
-></A
->gts_graph_edges_cut_weight ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GFLOAT"
->gfloat</GTKDOCLINK
-> gts_graph_edges_cut_weight (<A
-HREF="gts-graph-class.html#GTSGRAPH"
->GtsGraph</A
-> *g);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN18237"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->g</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-graph-class.html#GTSGRAPH"
-><SPAN
-CLASS="TYPE"
->GtsGraph</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN18244"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the sum of the weights of the edges of <CODE
-CLASS="PARAMETER"
->g</CODE
-> connecting nodes
-belonging to <CODE
-CLASS="PARAMETER"
->g</CODE
-> to nodes not belonging to <CODE
-CLASS="PARAMETER"
->g</CODE
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN18252"
-></A
-><H3
-><A
-NAME="GTS-GRAPH-DISTANCE-SUM"
-></A
->gts_graph_distance_sum ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> gts_graph_distance_sum (<A
-HREF="gts-graph-class.html#GTSGRAPH"
->GtsGraph</A
-> *g,
- <A
-HREF="gts-graph-class.html#GTSGNODE"
->GtsGNode</A
-> *center);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN18264"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->g</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-graph-class.html#GTSGRAPH"
-><SPAN
-CLASS="TYPE"
->GtsGraph</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN18271"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->center</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-graph-class.html#GTSGNODE"
-><SPAN
-CLASS="TYPE"
->GtsGNode</SPAN
-></A
-> of <CODE
-CLASS="PARAMETER"
->g</CODE
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN18279"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the sum of the distances between all the other <A
-HREF="gts-graph-class.html#GTSGNODE"
-><SPAN
-CLASS="TYPE"
->GtsGNode</SPAN
-></A
->
-of <CODE
-CLASS="PARAMETER"
->g</CODE
-> and <CODE
-CLASS="PARAMETER"
->center</CODE
->. </P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN18288"
-></A
-><H3
-><A
-NAME="GTS-GRAPH-FARTHEST"
-></A
->gts_graph_farthest ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-graph-class.html#GTSGNODE"
->GtsGNode</A
->* gts_graph_farthest (<A
-HREF="gts-graph-class.html#GTSGRAPH"
->GtsGraph</A
-> *g,
- <GTKDOCLINK
-HREF="GSLIST"
->GSList</GTKDOCLINK
-> *gnodes);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN18300"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->g</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-graph-class.html#GTSGRAPH"
-><SPAN
-CLASS="TYPE"
->GtsGraph</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN18307"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->gnodes</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a list of <A
-HREF="gts-graph-class.html#GTSGNODE"
-><SPAN
-CLASS="TYPE"
->GtsGNode</SPAN
-></A
-> belonging to <CODE
-CLASS="PARAMETER"
->g</CODE
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN18315"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the <A
-HREF="gts-graph-class.html#GTSGNODE"
-><SPAN
-CLASS="TYPE"
->GtsGNode</SPAN
-></A
-> belonging to <CODE
-CLASS="PARAMETER"
->g</CODE
-> and farthest from all the nodes in
-<CODE
-CLASS="PARAMETER"
->gnodes</CODE
-> (hmmm, definition of "farthest"?).</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN18324"
-></A
-><H3
-><A
-NAME="GTS-GRAPH-WEIGHT"
-></A
->gts_graph_weight ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GFLOAT"
->gfloat</GTKDOCLINK
-> gts_graph_weight (<A
-HREF="gts-graph-class.html#GTSGRAPH"
->GtsGraph</A
-> *g);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN18335"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->g</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-graph-class.html#GTSGRAPH"
-><SPAN
-CLASS="TYPE"
->GtsGraph</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN18342"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the weight of graph <CODE
-CLASS="PARAMETER"
->g</CODE
-> as defined by the <GTKDOCLINK
-HREF="WEIGHT"
-><CODE
-CLASS="FUNCTION"
->weight()</CODE
-></GTKDOCLINK
-> method
-of <A
-HREF="gts-graph-class.html#GTSGRAPHCLASS"
-><SPAN
-CLASS="TYPE"
->GtsGraphClass</SPAN
-></A
->. </P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN18352"
-></A
-><H3
-><A
-NAME="GTS-FNODE-CLASS:CAPS"
-></A
->GTS_FNODE_CLASS()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_FNODE_CLASS(klass)</PRE
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN18360"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->klass</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN18365"
-></A
-><H3
-><A
-NAME="GTS-FNODE:CAPS"
-></A
->GTS_FNODE()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_FNODE(obj)</PRE
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN18373"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->obj</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN18378"
-></A
-><H3
-><A
-NAME="GTS-IS-FNODE:CAPS"
-></A
->GTS_IS_FNODE()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_IS_FNODE(obj)</PRE
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN18386"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->obj</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN18391"
-></A
-><H3
-><A
-NAME="GTSFNODE"
-></A
->GtsFNode</H3
-><PRE
-CLASS="PROGRAMLISTING"
->typedef struct {
- GtsGNode node;
-
- GtsFace * f;
-} GtsFNode;</PRE
-><P
-></P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN18398"
-></A
-><H3
-><A
-NAME="GTSFNODECLASS"
-></A
->GtsFNodeClass</H3
-><PRE
-CLASS="PROGRAMLISTING"
->typedef struct {
- GtsGNodeClass parent_class;
-} GtsFNodeClass;</PRE
-><P
-></P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN18405"
-></A
-><H3
-><A
-NAME="GTS-FNODE-CLASS"
-></A
->gts_fnode_class ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-graph-class.html#GTSFNODECLASS"
->GtsFNodeClass</A
->* gts_fnode_class (void);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN18415"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the <A
-HREF="gts-graph-class.html#GTSFNODECLASS"
-><SPAN
-CLASS="TYPE"
->GtsFNodeClass</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN18422"
-></A
-><H3
-><A
-NAME="GTS-FNODE-NEW"
-></A
->gts_fnode_new ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-graph-class.html#GTSFNODE"
->GtsFNode</A
->* gts_fnode_new (<A
-HREF="gts-graph-class.html#GTSFNODECLASS"
->GtsFNodeClass</A
-> *klass,
- <A
-HREF="gts-faces.html#GTSFACE"
->GtsFace</A
-> *f);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN18434"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->klass</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-graph-class.html#GTSFNODECLASS"
-><SPAN
-CLASS="TYPE"
->GtsFNodeClass</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN18441"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->f</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-faces.html#GTSFACE"
-><SPAN
-CLASS="TYPE"
->GtsFace</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN18448"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a new <A
-HREF="gts-graph-class.html#GTSFNODE"
-><SPAN
-CLASS="TYPE"
->GtsFNode</SPAN
-></A
-> associated with face <CODE
-CLASS="PARAMETER"
->f</CODE
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN18456"
-></A
-><H3
-><A
-NAME="GTS-SURFACE-GRAPH-NEW"
-></A
->gts_surface_graph_new ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-graph-class.html#GTSGRAPH"
->GtsGraph</A
->* gts_surface_graph_new (<A
-HREF="gts-graph-class.html#GTSGRAPHCLASS"
->GtsGraphClass</A
-> *klass,
- <A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN18468"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->klass</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-graph-class.html#GTSGRAPHCLASS"
-><SPAN
-CLASS="TYPE"
->GtsGraphClass</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN18475"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->s</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN18482"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a new <A
-HREF="gts-graph-class.html#GTSGRAPH"
-><SPAN
-CLASS="TYPE"
->GtsGraph</SPAN
-></A
-> representing the connectivity of the faces
-of <CODE
-CLASS="PARAMETER"
->s</CODE
->. This graph uses <GTKDOCLINK
-HREF="GTSFGNODE"
-><SPAN
-CLASS="TYPE"
->GtsFGNode</SPAN
-></GTKDOCLINK
-> as nodes which allows to store
-the dependencies between nodes and faces of <CODE
-CLASS="PARAMETER"
->s</CODE
->. </P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN18493"
-></A
-><H3
-><A
-NAME="GTS-SURFACE-GRAPH-SURFACE"
-></A
->gts_surface_graph_surface ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
->* gts_surface_graph_surface (<A
-HREF="gts-graph-class.html#GTSGRAPH"
->GtsGraph</A
-> *surface_graph,
- <A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN18505"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->surface_graph</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-graph-class.html#GTSGRAPH"
-><SPAN
-CLASS="TYPE"
->GtsGraph</SPAN
-></A
-> using <GTKDOCLINK
-HREF="GTSFGNODE"
-><SPAN
-CLASS="TYPE"
->GtsFGNode</SPAN
-></GTKDOCLINK
-> as nodes.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN18514"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->s</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN18521"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a new <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
-> using the same classes as <CODE
-CLASS="PARAMETER"
->s</CODE
-> and
-composed of the faces defined by <CODE
-CLASS="PARAMETER"
->surface_graph</CODE
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN18530"
-></A
-><H3
-><A
-NAME="GTS-SEGMENTS-GRAPH-NEW"
-></A
->gts_segments_graph_new ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-graph-class.html#GTSGRAPH"
->GtsGraph</A
->* gts_segments_graph_new (<A
-HREF="gts-graph-class.html#GTSGRAPHCLASS"
->GtsGraphClass</A
-> *klass,
- <GTKDOCLINK
-HREF="GSLIST"
->GSList</GTKDOCLINK
-> *segments);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN18542"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->klass</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-graph-class.html#GTSGRAPHCLASS"
-><SPAN
-CLASS="TYPE"
->GtsGraphClass</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN18549"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->segments</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a list of <A
-HREF="gts-segments.html#GTSSEGMENT"
-><SPAN
-CLASS="TYPE"
->GtsSegment</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN18556"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a new <A
-HREF="gts-graph-class.html#GTSGRAPH"
-><SPAN
-CLASS="TYPE"
->GtsGraph</SPAN
-></A
-> representing the connectivity of the segments
-in <CODE
-CLASS="PARAMETER"
->segments</CODE
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-></DIV
-><TABLE
-CLASS="navigation"
-WIDTH="100%"
-SUMMARY="Navigation footer"
-CELLPADDING="2"
-CELLSPACING="2"
-><TR
-VALIGN="middle"
-><TD
-ALIGN="left"
-><A
-ACCESSKEY="p"
-HREF="c17114.html"
-><B
-><<< Graph and operations on graphs</B
-></A
-></TD
-><TD
-ALIGN="right"
-><A
-ACCESSKEY="n"
-HREF="gts-weighted-graph.html"
-><B
->Weighted graph >>></B
-></A
-></TD
-></TR
-></TABLE
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/gts-graph-partitioning.html b/doc/html/gts-graph-partitioning.html
deleted file mode 100644
index 6db012d..0000000
--- a/doc/html/gts-graph-partitioning.html
+++ /dev/null
@@ -1,2392 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
-<HTML
-><HEAD
-><TITLE
->Graph partitioning</TITLE
-><META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
-REL="HOME"
-TITLE="GTS Library Reference Manual"
-HREF="book1.html"><LINK
-REL="UP"
-TITLE="Graph and operations on graphs"
-HREF="c17114.html"><LINK
-REL="PREVIOUS"
-TITLE="Progressive graph"
-HREF="gts-progressive-graph.html"><STYLE
-TYPE="text/css"
->.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</STYLE
-></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><TABLE
-WIDTH="100%"
-CLASS="navigation"
-SUMMARY="Navigation header"
-CELLPADDING="2"
-CELLSPACING="2"
-><TR
-VALIGN="middle"
-><TD
-><A
-ACCESSKEY="p"
-HREF="gts-progressive-graph.html"
-><IMG
-SRC="left.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Prev"></A
-></TD
-><TD
-><A
-ACCESSKEY="u"
-HREF="c17114.html"
-><IMG
-SRC="up.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Up"></A
-></TD
-><TD
-><A
-ACCESSKEY="h"
-HREF="book1.html"
-><IMG
-SRC="home.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Home"></A
-></TD
-><TH
-WIDTH="100%"
-align="center"
->GTS Library Reference Manual</TH
-></TR
-></TABLE
-><H1
-><A
-NAME="GTS-GRAPH-PARTITIONING"
-></A
->Graph partitioning</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN19614"
-></A
-><H2
->Name</H2
->Graph partitioning -- </DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN19617"
-></A
-><H2
->Synopsis</H2
-><PRE
-CLASS="SYNOPSIS"
->
#include <gts.h>
-
-
- <A
-HREF="gts-graph-partitioning.html#GTSGRAPHBISECTION"
->GtsGraphBisection</A
->;
-<A
-HREF="gts-graph-partitioning.html#GTSGRAPHBISECTION"
->GtsGraphBisection</A
->* <A
-HREF="gts-graph-partitioning.html#GTS-GRAPH-BISECTION-NEW"
->gts_graph_bisection_new</A
-> (<A
-HREF="gts-weighted-graph.html#GTSWGRAPH"
->GtsWGraph</A
-> *wg,
- <GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> ntry,
- <GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> mmax,
- <GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> nmin,
- <GTKDOCLINK
-HREF="GFLOAT"
->gfloat</GTKDOCLINK
-> imbalance);
-<A
-HREF="gts-graph-partitioning.html#GTSGRAPHBISECTION"
->GtsGraphBisection</A
->* <A
-HREF="gts-graph-partitioning.html#GTS-GRAPH-GGG-BISECTION"
->gts_graph_ggg_bisection</A
-> (<A
-HREF="gts-graph-class.html#GTSGRAPH"
->GtsGraph</A
-> *g,
- <GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> ntry);
-<A
-HREF="gts-graph-partitioning.html#GTSGRAPHBISECTION"
->GtsGraphBisection</A
->* <A
-HREF="gts-graph-partitioning.html#GTS-GRAPH-BFGG-BISECTION"
->gts_graph_bfgg_bisection</A
-> (<A
-HREF="gts-graph-class.html#GTSGRAPH"
->GtsGraph</A
-> *g,
- <GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> ntry);
-<GTKDOCLINK
-HREF="GBOOLEAN"
->gboolean</GTKDOCLINK
-> <A
-HREF="gts-graph-partitioning.html#GTS-GRAPH-BISECTION-CHECK"
->gts_graph_bisection_check</A
-> (<A
-HREF="gts-graph-partitioning.html#GTSGRAPHBISECTION"
->GtsGraphBisection</A
-> *bg);
-<GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> <A
-HREF="gts-graph-partitioning.html#GTS-GRAPH-BISECTION-KL-REFINE"
->gts_graph_bisection_kl_refine</A
-> (<A
-HREF="gts-graph-partitioning.html#GTSGRAPHBISECTION"
->GtsGraphBisection</A
-> *bg,
- <GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> mmax);
-<GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> <A
-HREF="gts-graph-partitioning.html#GTS-GRAPH-BISECTION-BKL-REFINE"
->gts_graph_bisection_bkl_refine</A
-> (<A
-HREF="gts-graph-partitioning.html#GTSGRAPHBISECTION"
->GtsGraphBisection</A
-> *bg,
- <GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> mmax,
- <GTKDOCLINK
-HREF="GFLOAT"
->gfloat</GTKDOCLINK
-> imbalance);
-<GTKDOCLINK
-HREF="GSLIST"
->GSList</GTKDOCLINK
->* <A
-HREF="gts-graph-partitioning.html#GTS-GRAPH-RECURSIVE-BISECTION"
->gts_graph_recursive_bisection</A
-> (<A
-HREF="gts-weighted-graph.html#GTSWGRAPH"
->GtsWGraph</A
-> *wg,
- <GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> n,
- <GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> ntry,
- <GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> mmax,
- <GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> nmin,
- <GTKDOCLINK
-HREF="GFLOAT"
->gfloat</GTKDOCLINK
-> imbalance);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-graph-partitioning.html#GTS-GRAPH-BISECTION-DESTROY"
->gts_graph_bisection_destroy</A
-> (<A
-HREF="gts-graph-partitioning.html#GTSGRAPHBISECTION"
->GtsGraphBisection</A
-> *bg,
- <GTKDOCLINK
-HREF="GBOOLEAN"
->gboolean</GTKDOCLINK
-> destroy_graphs);
-
-<GTKDOCLINK
-HREF="GSLIST"
->GSList</GTKDOCLINK
->* <A
-HREF="gts-graph-partitioning.html#GTS-GRAPH-BUBBLE-PARTITION"
->gts_graph_bubble_partition</A
-> (<A
-HREF="gts-graph-class.html#GTSGRAPH"
->GtsGraph</A
-> *g,
- <GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> np,
- <GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> niter,
- <A
-HREF="gts-surfaces.html#GTSFUNC"
->GtsFunc</A
-> step_info,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> data);
-<GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> <A
-HREF="gts-graph-class.html#GTS-GRAPH-EDGES-CUT"
->gts_graph_edges_cut</A
-> (<A
-HREF="gts-graph-class.html#GTSGRAPH"
->GtsGraph</A
-> *g);
-<GTKDOCLINK
-HREF="GFLOAT"
->gfloat</GTKDOCLINK
-> <A
-HREF="gts-graph-class.html#GTS-GRAPH-EDGES-CUT-WEIGHT"
->gts_graph_edges_cut_weight</A
-> (<A
-HREF="gts-graph-class.html#GTSGRAPH"
->GtsGraph</A
-> *g);
-<GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> <A
-HREF="gts-graph-partitioning.html#GTS-GRAPH-PARTITION-EDGES-CUT"
->gts_graph_partition_edges_cut</A
-> (<GTKDOCLINK
-HREF="GSLIST"
->GSList</GTKDOCLINK
-> *partition);
-<GTKDOCLINK
-HREF="GFLOAT"
->gfloat</GTKDOCLINK
-> <A
-HREF="gts-graph-partitioning.html#GTS-GRAPH-PARTITION-BALANCE"
->gts_graph_partition_balance</A
-> (<GTKDOCLINK
-HREF="GSLIST"
->GSList</GTKDOCLINK
-> *partition);
-<GTKDOCLINK
-HREF="GSLIST"
->GSList</GTKDOCLINK
->* <A
-HREF="gts-graph-partitioning.html#GTS-GRAPH-PARTITION-CLONE"
->gts_graph_partition_clone</A
-> (<GTKDOCLINK
-HREF="GSLIST"
->GSList</GTKDOCLINK
-> *partition);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-graph-partitioning.html#GTS-GRAPH-PARTITION-PRINT-STATS"
->gts_graph_partition_print_stats</A
-> (<GTKDOCLINK
-HREF="GSLIST"
->GSList</GTKDOCLINK
-> *partition,
- <GTKDOCLINK
-HREF="FILE:CAPS"
->FILE</GTKDOCLINK
-> *fp);
-<GTKDOCLINK
-HREF="GFLOAT"
->gfloat</GTKDOCLINK
-> <A
-HREF="gts-graph-partitioning.html#GTS-GRAPH-PARTITION-EDGES-CUT-WEIGHT"
->gts_graph_partition_edges_cut_weight</A
->
- (<GTKDOCLINK
-HREF="GSLIST"
->GSList</GTKDOCLINK
-> *partition);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-graph-partitioning.html#GTS-GRAPH-PARTITION-DESTROY"
->gts_graph_partition_destroy</A
-> (<GTKDOCLINK
-HREF="GSLIST"
->GSList</GTKDOCLINK
-> *partition);</PRE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN19692"
-></A
-><H2
->Description</H2
-><P
-></P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN19695"
-></A
-><H2
->Details</H2
-><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN19697"
-></A
-><H3
-><A
-NAME="GTSGRAPHBISECTION"
-></A
->GtsGraphBisection</H3
-><PRE
-CLASS="PROGRAMLISTING"
->typedef struct {
- GtsGraph * g;
- GtsGraph * g1;
- GtsGraph * g2;
- GHashTable * bg1;
- GHashTable * bg2;
-} GtsGraphBisection;</PRE
-><P
-></P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN19704"
-></A
-><H3
-><A
-NAME="GTS-GRAPH-BISECTION-NEW"
-></A
->gts_graph_bisection_new ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-graph-partitioning.html#GTSGRAPHBISECTION"
->GtsGraphBisection</A
->* gts_graph_bisection_new (<A
-HREF="gts-weighted-graph.html#GTSWGRAPH"
->GtsWGraph</A
-> *wg,
- <GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> ntry,
- <GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> mmax,
- <GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> nmin,
- <GTKDOCLINK
-HREF="GFLOAT"
->gfloat</GTKDOCLINK
-> imbalance);</PRE
-><P
->An implementation of a multilevel bisection algorithm as presented
-in Karypis and Kumar (1997). A multilevel hierarchy of graphs is
-created using the <A
-HREF="gts-progressive-graph.html#GTSPGRAPH"
-><SPAN
-CLASS="TYPE"
->GtsPGraph</SPAN
-></A
-> object. The bisection of the coarsest
-graph is created using the <A
-HREF="gts-graph-partitioning.html#GTS-GRAPH-GGG-BISECTION"
-><CODE
-CLASS="FUNCTION"
->gts_graph_ggg_bisection()</CODE
-></A
-> function. The
-graph is then uncoarsened using <A
-HREF="gts-progressive-graph.html#GTS-PGRAPH-DOWN"
-><CODE
-CLASS="FUNCTION"
->gts_pgraph_down()</CODE
-></A
-> and at each level
-the bisection is refined using <A
-HREF="gts-graph-partitioning.html#GTS-GRAPH-BISECTION-BKL-REFINE"
-><CODE
-CLASS="FUNCTION"
->gts_graph_bisection_bkl_refine()</CODE
-></A
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN19727"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->wg</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-weighted-graph.html#GTSWGRAPH"
-><SPAN
-CLASS="TYPE"
->GtsWGraph</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN19734"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->ntry</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the number of tries for the graph growing algorithm.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN19739"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->mmax</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the number of unsucessful moves for the refinement algorithm.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN19744"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->nmin</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the minimum number of nodes of the coarsest graph.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN19749"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->imbalance</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the maximum relative imbalance allowed between the
-weights of both halves of the partition.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN19754"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a new <A
-HREF="gts-graph-partitioning.html#GTSGRAPHBISECTION"
-><SPAN
-CLASS="TYPE"
->GtsGraphBisection</SPAN
-></A
-> of <CODE
-CLASS="PARAMETER"
->wg</CODE
->. </P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN19762"
-></A
-><H3
-><A
-NAME="GTS-GRAPH-GGG-BISECTION"
-></A
->gts_graph_ggg_bisection ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-graph-partitioning.html#GTSGRAPHBISECTION"
->GtsGraphBisection</A
->* gts_graph_ggg_bisection (<A
-HREF="gts-graph-class.html#GTSGRAPH"
->GtsGraph</A
-> *g,
- <GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> ntry);</PRE
-><P
->An implementation of the "Greedy Graph Growing" algorithm of
-Karypis and Kumar (1997). </P
-><P
-><CODE
-CLASS="PARAMETER"
->ntry</CODE
-> randomly chosen seeds are used and the best partition is retained.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN19776"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->g</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-graph-class.html#GTSGRAPH"
-><SPAN
-CLASS="TYPE"
->GtsGraph</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN19783"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->ntry</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the number of randomly selected initial seeds.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN19788"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a new <A
-HREF="gts-graph-partitioning.html#GTSGRAPHBISECTION"
-><SPAN
-CLASS="TYPE"
->GtsGraphBisection</SPAN
-></A
-> of <CODE
-CLASS="PARAMETER"
->g</CODE
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN19796"
-></A
-><H3
-><A
-NAME="GTS-GRAPH-BFGG-BISECTION"
-></A
->gts_graph_bfgg_bisection ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-graph-partitioning.html#GTSGRAPHBISECTION"
->GtsGraphBisection</A
->* gts_graph_bfgg_bisection (<A
-HREF="gts-graph-class.html#GTSGRAPH"
->GtsGraph</A
-> *g,
- <GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> ntry);</PRE
-><P
->An implementation of a "Breadth-First Graph Growing" algorithm.</P
-><P
-><CODE
-CLASS="PARAMETER"
->ntry</CODE
-> randomly chosen seeds are used and the best partition is retained.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN19810"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->g</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-graph-class.html#GTSGRAPH"
-><SPAN
-CLASS="TYPE"
->GtsGraph</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN19817"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->ntry</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the number of randomly selected initial seeds.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN19822"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a new <A
-HREF="gts-graph-partitioning.html#GTSGRAPHBISECTION"
-><SPAN
-CLASS="TYPE"
->GtsGraphBisection</SPAN
-></A
-> of <CODE
-CLASS="PARAMETER"
->g</CODE
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN19830"
-></A
-><H3
-><A
-NAME="GTS-GRAPH-BISECTION-CHECK"
-></A
->gts_graph_bisection_check ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GBOOLEAN"
->gboolean</GTKDOCLINK
-> gts_graph_bisection_check (<A
-HREF="gts-graph-partitioning.html#GTSGRAPHBISECTION"
->GtsGraphBisection</A
-> *bg);</PRE
-><P
->Checks that the boundary of <CODE
-CLASS="PARAMETER"
->bg</CODE
-> is correctly defined (used for
-debugging purposes).</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN19842"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->bg</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-graph-partitioning.html#GTSGRAPHBISECTION"
-><SPAN
-CLASS="TYPE"
->GtsGraphBisection</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN19849"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> <TT
-CLASS="LITERAL"
->TRUE</TT
-> if <CODE
-CLASS="PARAMETER"
->bg</CODE
-> is ok, <TT
-CLASS="LITERAL"
->FALSE</TT
-> otherwise. </P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN19857"
-></A
-><H3
-><A
-NAME="GTS-GRAPH-BISECTION-KL-REFINE"
-></A
->gts_graph_bisection_kl_refine ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> gts_graph_bisection_kl_refine (<A
-HREF="gts-graph-partitioning.html#GTSGRAPHBISECTION"
->GtsGraphBisection</A
-> *bg,
- <GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> mmax);</PRE
-><P
->An implementation of the simplified Kernighan-Lin algorithm for
-graph bisection refinement as described in Karypis and Kumar
-(1997).</P
-><P
->The algorithm stops if <CODE
-CLASS="PARAMETER"
->mmax</CODE
-> consecutive modes do not lead to a
-decrease in the number of edges cut. This last <CODE
-CLASS="PARAMETER"
->mmax</CODE
-> moves are
-undone.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN19872"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->bg</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-graph-partitioning.html#GTSGRAPHBISECTION"
-><SPAN
-CLASS="TYPE"
->GtsGraphBisection</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN19879"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->mmax</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the maximum number of unsuccessful successive moves.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN19884"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the decrease in the weight of the edges cut by the bisection. </P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN19889"
-></A
-><H3
-><A
-NAME="GTS-GRAPH-BISECTION-BKL-REFINE"
-></A
->gts_graph_bisection_bkl_refine ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> gts_graph_bisection_bkl_refine (<A
-HREF="gts-graph-partitioning.html#GTSGRAPHBISECTION"
->GtsGraphBisection</A
-> *bg,
- <GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> mmax,
- <GTKDOCLINK
-HREF="GFLOAT"
->gfloat</GTKDOCLINK
-> imbalance);</PRE
-><P
->An implementation of the simplified boundary Kernighan-Lin
-algorithm for graph bisection refinement as described in Karypis
-and Kumar (1997).</P
-><P
->The algorithm stops if <CODE
-CLASS="PARAMETER"
->mmax</CODE
-> consecutive modes do not lead to a
-decrease in the number of edges cut. This last <CODE
-CLASS="PARAMETER"
->mmax</CODE
-> moves are
-undone.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN19905"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->bg</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-graph-partitioning.html#GTSGRAPHBISECTION"
-><SPAN
-CLASS="TYPE"
->GtsGraphBisection</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN19912"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->mmax</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the maximum number of unsuccessful successive moves.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN19917"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->imbalance</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the maximum relative imbalance allowed between the
-weights of both halves of the partition.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN19922"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the decrease in the weight of the edges cut by the bisection. </P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN19927"
-></A
-><H3
-><A
-NAME="GTS-GRAPH-RECURSIVE-BISECTION"
-></A
->gts_graph_recursive_bisection ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GSLIST"
->GSList</GTKDOCLINK
->* gts_graph_recursive_bisection (<A
-HREF="gts-weighted-graph.html#GTSWGRAPH"
->GtsWGraph</A
-> *wg,
- <GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> n,
- <GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> ntry,
- <GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> mmax,
- <GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> nmin,
- <GTKDOCLINK
-HREF="GFLOAT"
->gfloat</GTKDOCLINK
-> imbalance);</PRE
-><P
->Calls <A
-HREF="gts-graph-partitioning.html#GTS-GRAPH-BISECTION-NEW"
-><CODE
-CLASS="FUNCTION"
->gts_graph_bisection_new()</CODE
-></A
-> recursively in order to obtain a
-2^<CODE
-CLASS="PARAMETER"
->n</CODE
-> partition of <CODE
-CLASS="PARAMETER"
->wg</CODE
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN19947"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->wg</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-weighted-graph.html#GTSWGRAPH"
-><SPAN
-CLASS="TYPE"
->GtsWGraph</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN19954"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->n</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the number of bisection levels.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN19959"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->ntry</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the number of tries for the graph growing algorithm.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN19964"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->mmax</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the number of unsucessful moves for the refinement algorithm.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN19969"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->nmin</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the minimum number of nodes of the coarsest graph.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN19974"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->imbalance</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the maximum relative imbalance allowed between the
-weights of both halves of the partition.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN19979"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a list of 2^<CODE
-CLASS="PARAMETER"
->n</CODE
-> new <A
-HREF="gts-graph-class.html#GTSGRAPH"
-><SPAN
-CLASS="TYPE"
->GtsGraph</SPAN
-></A
-> representing the partition.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN19987"
-></A
-><H3
-><A
-NAME="GTS-GRAPH-BISECTION-DESTROY"
-></A
->gts_graph_bisection_destroy ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_graph_bisection_destroy (<A
-HREF="gts-graph-partitioning.html#GTSGRAPHBISECTION"
->GtsGraphBisection</A
-> *bg,
- <GTKDOCLINK
-HREF="GBOOLEAN"
->gboolean</GTKDOCLINK
-> destroy_graphs);</PRE
-><P
->Frees all the memory allocated for <CODE
-CLASS="PARAMETER"
->bg</CODE
->. If <CODE
-CLASS="PARAMETER"
->destroy_graphs</CODE
-> is <TT
-CLASS="LITERAL"
->TRUE</TT
->
-the graphs created by <CODE
-CLASS="PARAMETER"
->bg</CODE
-> are destroyed.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN20003"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->bg</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-graph-partitioning.html#GTSGRAPHBISECTION"
-><SPAN
-CLASS="TYPE"
->GtsGraphBisection</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN20010"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->destroy_graphs</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> controls graph destruction.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN20015"
-></A
-><H3
-><A
-NAME="GTS-GRAPH-BUBBLE-PARTITION"
-></A
->gts_graph_bubble_partition ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GSLIST"
->GSList</GTKDOCLINK
->* gts_graph_bubble_partition (<A
-HREF="gts-graph-class.html#GTSGRAPH"
->GtsGraph</A
-> *g,
- <GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> np,
- <GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> niter,
- <A
-HREF="gts-surfaces.html#GTSFUNC"
->GtsFunc</A
-> step_info,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> data);</PRE
-><P
->An implementation of the "bubble partitioning algorithm" of
-Diekmann, Preis, Schlimbach and Walshaw (2000). The maximum number
-of iteration on the positions of the graph growing seeds is
-controlled by <CODE
-CLASS="PARAMETER"
->niter</CODE
->.</P
-><P
->If not <TT
-CLASS="LITERAL"
->NULL</TT
-> <CODE
-CLASS="PARAMETER"
->step_info</CODE
-> is called after each iteration on the seeds
-positions passing the partition (a GSList) as argument.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN20034"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->g</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-graph-class.html#GTSGRAPH"
-><SPAN
-CLASS="TYPE"
->GtsGraph</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN20041"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->np</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> number of partitions.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN20046"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->niter</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the maximum number of iterations.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN20051"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->step_info</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSFUNC"
-><SPAN
-CLASS="TYPE"
->GtsFunc</SPAN
-></A
-> or <TT
-CLASS="LITERAL"
->NULL</TT
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN20059"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->data</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> user data to pass to <CODE
-CLASS="PARAMETER"
->step_info</CODE
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN20065"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a list of <CODE
-CLASS="PARAMETER"
->np</CODE
-> new <A
-HREF="gts-graph-class.html#GTSGRAPH"
-><SPAN
-CLASS="TYPE"
->GtsGraph</SPAN
-></A
-> representing the partition. </P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN20073"
-></A
-><H3
-><A
-NAME="GTS-GRAPH-EDGES-CUT"
-></A
->gts_graph_edges_cut ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> gts_graph_edges_cut (<A
-HREF="gts-graph-class.html#GTSGRAPH"
->GtsGraph</A
-> *g);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN20084"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->g</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-></P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN20089"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN20094"
-></A
-><H3
-><A
-NAME="GTS-GRAPH-EDGES-CUT-WEIGHT"
-></A
->gts_graph_edges_cut_weight ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GFLOAT"
->gfloat</GTKDOCLINK
-> gts_graph_edges_cut_weight (<A
-HREF="gts-graph-class.html#GTSGRAPH"
->GtsGraph</A
-> *g);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN20105"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->g</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-></P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN20110"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN20115"
-></A
-><H3
-><A
-NAME="GTS-GRAPH-PARTITION-EDGES-CUT"
-></A
->gts_graph_partition_edges_cut ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> gts_graph_partition_edges_cut (<GTKDOCLINK
-HREF="GSLIST"
->GSList</GTKDOCLINK
-> *partition);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN20126"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->partition</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a list of <CODE
-CLASS="PARAMETER"
->GtsGraph</CODE
-> representing a partition.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN20132"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the number of edges cut by the partition.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN20137"
-></A
-><H3
-><A
-NAME="GTS-GRAPH-PARTITION-BALANCE"
-></A
->gts_graph_partition_balance ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GFLOAT"
->gfloat</GTKDOCLINK
-> gts_graph_partition_balance (<GTKDOCLINK
-HREF="GSLIST"
->GSList</GTKDOCLINK
-> *partition);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN20148"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->partition</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a list of <CODE
-CLASS="PARAMETER"
->GtsGraph</CODE
-> representing a partition.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN20154"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the difference between the maximum and the minimum weight
-of the graphs in <CODE
-CLASS="PARAMETER"
->partition</CODE
->. </P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN20160"
-></A
-><H3
-><A
-NAME="GTS-GRAPH-PARTITION-CLONE"
-></A
->gts_graph_partition_clone ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GSLIST"
->GSList</GTKDOCLINK
->* gts_graph_partition_clone (<GTKDOCLINK
-HREF="GSLIST"
->GSList</GTKDOCLINK
-> *partition);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN20171"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->partition</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a list of <CODE
-CLASS="PARAMETER"
->GtsGraph</CODE
-> representing a partition.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN20177"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a new partition clone of <CODE
-CLASS="PARAMETER"
->partition</CODE
-> (i.e. a list of new
-graphs clones of the graphs in <CODE
-CLASS="PARAMETER"
->partition</CODE
->). </P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN20184"
-></A
-><H3
-><A
-NAME="GTS-GRAPH-PARTITION-PRINT-STATS"
-></A
->gts_graph_partition_print_stats ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_graph_partition_print_stats (<GTKDOCLINK
-HREF="GSLIST"
->GSList</GTKDOCLINK
-> *partition,
- <GTKDOCLINK
-HREF="FILE:CAPS"
->FILE</GTKDOCLINK
-> *fp);</PRE
-><P
->Writes to <CODE
-CLASS="PARAMETER"
->fp</CODE
-> a summary of the properties of <CODE
-CLASS="PARAMETER"
->partition</CODE
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN20198"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->partition</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a list of <CODE
-CLASS="PARAMETER"
->GtsGraph</CODE
-> representing a partition.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN20204"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->fp</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a file pointer.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN20209"
-></A
-><H3
-><A
-NAME="GTS-GRAPH-PARTITION-EDGES-CUT-WEIGHT"
-></A
->gts_graph_partition_edges_cut_weight ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GFLOAT"
->gfloat</GTKDOCLINK
-> gts_graph_partition_edges_cut_weight
- (<GTKDOCLINK
-HREF="GSLIST"
->GSList</GTKDOCLINK
-> *partition);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN20220"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->partition</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a list of <CODE
-CLASS="PARAMETER"
->GtsGraph</CODE
-> representing a partition.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN20226"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the total weight of the edges cut by the partition.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN20231"
-></A
-><H3
-><A
-NAME="GTS-GRAPH-PARTITION-DESTROY"
-></A
->gts_graph_partition_destroy ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_graph_partition_destroy (<GTKDOCLINK
-HREF="GSLIST"
->GSList</GTKDOCLINK
-> *partition);</PRE
-><P
->Destroys all the graphs in <CODE
-CLASS="PARAMETER"
->partition</CODE
-> and frees <CODE
-CLASS="PARAMETER"
->partition</CODE
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN20244"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->partition</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a list of <CODE
-CLASS="PARAMETER"
->GtsGraph</CODE
-> representing a partition.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-></DIV
-><TABLE
-CLASS="navigation"
-WIDTH="100%"
-SUMMARY="Navigation footer"
-CELLPADDING="2"
-CELLSPACING="2"
-><TR
-VALIGN="middle"
-><TD
-ALIGN="left"
-><A
-ACCESSKEY="p"
-HREF="gts-progressive-graph.html"
-><B
-><<< Progressive graph</B
-></A
-></TD
-><TD
-ALIGN="right"
-></TD
-></TR
-></TABLE
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/gts-hierarchical-surfaces.html b/doc/html/gts-hierarchical-surfaces.html
deleted file mode 100644
index 19bade3..0000000
--- a/doc/html/gts-hierarchical-surfaces.html
+++ /dev/null
@@ -1,1520 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
-<HTML
-><HEAD
-><TITLE
->Hierarchical surfaces</TITLE
-><META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
-REL="HOME"
-TITLE="GTS Library Reference Manual"
-HREF="book1.html"><LINK
-REL="UP"
-TITLE="Progressive and Hierarchical surfaces"
-HREF="c15264.html"><LINK
-REL="PREVIOUS"
-TITLE="Hierarchical vertex split"
-HREF="gts-hierarchical-vertex-split.html"><LINK
-REL="NEXT"
-TITLE="Graph and operations on graphs"
-HREF="c17114.html"><STYLE
-TYPE="text/css"
->.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</STYLE
-></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><TABLE
-WIDTH="100%"
-CLASS="navigation"
-SUMMARY="Navigation header"
-CELLPADDING="2"
-CELLSPACING="2"
-><TR
-VALIGN="middle"
-><TD
-><A
-ACCESSKEY="p"
-HREF="gts-hierarchical-vertex-split.html"
-><IMG
-SRC="left.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Prev"></A
-></TD
-><TD
-><A
-ACCESSKEY="u"
-HREF="c15264.html"
-><IMG
-SRC="up.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Up"></A
-></TD
-><TD
-><A
-ACCESSKEY="h"
-HREF="book1.html"
-><IMG
-SRC="home.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Home"></A
-></TD
-><TH
-WIDTH="100%"
-align="center"
->GTS Library Reference Manual</TH
-><TD
-><A
-ACCESSKEY="n"
-HREF="c17114.html"
-><IMG
-SRC="right.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Next"></A
-></TD
-></TR
-></TABLE
-><H1
-><A
-NAME="GTS-HIERARCHICAL-SURFACES"
-></A
->Hierarchical surfaces</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN16727"
-></A
-><H2
->Name</H2
->Hierarchical surfaces -- extension of progressive surfaces allowing arbitrary sequences of vertex split or collapse.</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN16730"
-></A
-><H2
->Synopsis</H2
-><PRE
-CLASS="SYNOPSIS"
->
#include <gts.h>
-
-
-#define <A
-HREF="gts-hierarchical-surfaces.html#GTS-HSURFACE-CLASS:CAPS"
->GTS_HSURFACE_CLASS</A
-> (klass)
-#define <A
-HREF="gts-hierarchical-surfaces.html#GTS-HSURFACE:CAPS"
->GTS_HSURFACE</A
-> (obj)
-#define <A
-HREF="gts-hierarchical-surfaces.html#GTS-IS-HSURFACE:CAPS"
->GTS_IS_HSURFACE</A
-> (obj)
- <A
-HREF="gts-hierarchical-surfaces.html#GTSHSURFACECLASS"
->GtsHSurfaceClass</A
->;
- <A
-HREF="gts-hierarchical-surfaces.html#GTSHSURFACE"
->GtsHSurface</A
->;
-
-<A
-HREF="gts-hierarchical-surfaces.html#GTSHSURFACECLASS"
->GtsHSurfaceClass</A
->* <A
-HREF="gts-hierarchical-surfaces.html#GTS-HSURFACE-CLASS"
->gts_hsurface_class</A
-> (void);
-<A
-HREF="gts-hierarchical-surfaces.html#GTSHSURFACE"
->GtsHSurface</A
->* <A
-HREF="gts-hierarchical-surfaces.html#GTS-HSURFACE-NEW"
->gts_hsurface_new</A
-> (<A
-HREF="gts-hierarchical-surfaces.html#GTSHSURFACECLASS"
->GtsHSurfaceClass</A
-> *klass,
- <A
-HREF="gts-hierarchical-vertex-split.html#GTSHSPLITCLASS"
->GtsHSplitClass</A
-> *hsplit_class,
- <A
-HREF="gts-progressive-surfaces.html#GTSPSURFACE"
->GtsPSurface</A
-> *psurface,
- <A
-HREF="gts-extended-binary-heaps.html#GTSKEYFUNC"
->GtsKeyFunc</A
-> expand_key,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> expand_data,
- <A
-HREF="gts-extended-binary-heaps.html#GTSKEYFUNC"
->GtsKeyFunc</A
-> collapse_key,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> collapse_data);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-hierarchical-surfaces.html#GTS-HSURFACE-TRAVERSE"
->gts_hsurface_traverse</A
-> (<A
-HREF="gts-hierarchical-surfaces.html#GTSHSURFACE"
->GtsHSurface</A
-> *hsurface,
- <GTKDOCLINK
-HREF="GTRAVERSETYPE"
->GTraverseType</GTKDOCLINK
-> order,
- <GTKDOCLINK
-HREF="GINT"
->gint</GTKDOCLINK
-> depth,
- <A
-HREF="gts-vertex-split.html#GTSSPLITTRAVERSEFUNC"
->GtsSplitTraverseFunc</A
-> func,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> data);
-<GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> <A
-HREF="gts-hierarchical-surfaces.html#GTS-HSURFACE-HEIGHT"
->gts_hsurface_height</A
-> (<A
-HREF="gts-hierarchical-surfaces.html#GTSHSURFACE"
->GtsHSurface</A
-> *hsurface);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-hierarchical-surfaces.html#GTS-HSURFACE-FOREACH"
->gts_hsurface_foreach</A
-> (<A
-HREF="gts-hierarchical-surfaces.html#GTSHSURFACE"
->GtsHSurface</A
-> *hsurface,
- <GTKDOCLINK
-HREF="GTRAVERSETYPE"
->GTraverseType</GTKDOCLINK
-> order,
- <A
-HREF="gts-surfaces.html#GTSFUNC"
->GtsFunc</A
-> func,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> data);</PRE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN16765"
-></A
-><H2
->Description</H2
-><P
->Hierarchical surfaces are used to manage sequences of vertex splits or collapses which can be different from the initial sequence described by the progressive surface. In this way different branches of the vertex split tree can be collapsed or expanded resulting in a level of detail varying across different parts of the surface. This is the fundamental mechanism of view-dependent level of detail.</P
-><P
->Hierarchical surfaces maintain two priority heaps one containing the next vertices (<A
-HREF="gts-hierarchical-vertex-split.html#GTSHSPLIT"
-><SPAN
-CLASS="TYPE"
->GtsHSplit</SPAN
-></A
->) ready to be expanded, the other the next vertices ready to be collapsed. By updating the priorities for these vertices as the view point changes and collapsing or expanding the top ones until a given criterium is verified, the level of detail can be dynamically adapted.</P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN16771"
-></A
-><H2
->Details</H2
-><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN16773"
-></A
-><H3
-><A
-NAME="GTS-HSURFACE-CLASS:CAPS"
-></A
->GTS_HSURFACE_CLASS()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_HSURFACE_CLASS(klass)</PRE
-><P
->Casts <CODE
-CLASS="PARAMETER"
->klass</CODE
-> to <A
-HREF="gts-hierarchical-surfaces.html#GTSHSURFACECLASS"
-><SPAN
-CLASS="TYPE"
->GtsHSurfaceClass</SPAN
-></A
->.</P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN16784"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->klass</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->a descendant of <A
-HREF="gts-hierarchical-surfaces.html#GTSHSURFACECLASS"
-><SPAN
-CLASS="TYPE"
->GtsHSurfaceClass</SPAN
-></A
->.
-
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN16791"
-></A
-><H3
-><A
-NAME="GTS-HSURFACE:CAPS"
-></A
->GTS_HSURFACE()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_HSURFACE(obj)</PRE
-><P
->Casts <CODE
-CLASS="PARAMETER"
->obj</CODE
-> to <A
-HREF="gts-hierarchical-surfaces.html#GTSHSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsHSurface</SPAN
-></A
->.</P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN16802"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->obj</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->a descendant of <A
-HREF="gts-hierarchical-surfaces.html#GTSHSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsHSurface</SPAN
-></A
->.
-
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN16809"
-></A
-><H3
-><A
-NAME="GTS-IS-HSURFACE:CAPS"
-></A
->GTS_IS_HSURFACE()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_IS_HSURFACE(obj)</PRE
-><P
->Evaluates to <TT
-CLASS="LITERAL"
->TRUE</TT
-> if <CODE
-CLASS="PARAMETER"
->obj</CODE
-> is a <A
-HREF="gts-hierarchical-surfaces.html#GTSHSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsHSurface</SPAN
-></A
->.</P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN16821"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->obj</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->a pointer to test.
-
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN16826"
-></A
-><H3
-><A
-NAME="GTSHSURFACECLASS"
-></A
->GtsHSurfaceClass</H3
-><PRE
-CLASS="PROGRAMLISTING"
->typedef struct {
- GtsObjectClass parent_class;
-} GtsHSurfaceClass;</PRE
-><P
->The hierarchical surface class derived from <A
-HREF="gts-object-class.html#GTSOBJECTCLASS"
-><SPAN
-CLASS="TYPE"
->GtsObjectClass</SPAN
-></A
->.</P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN16835"
-></A
-><H3
-><A
-NAME="GTSHSURFACE"
-></A
->GtsHSurface</H3
-><PRE
-CLASS="PROGRAMLISTING"
->typedef struct {
- GtsObject object;
-
- GtsSurface * s;
- GSList * roots;
- GtsEHeap * expandable;
- GtsEHeap * collapsable;
- GPtrArray * split;
- guint nvertex;
-} GtsHSurface;</PRE
-><P
->The hierarchical surface object.</P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN16843"><SPAN
-STYLE="white-space: nowrap"
-><A
-HREF="gts-object-class.html#GTSOBJECT"
->GtsObject</A
-> <CODE
-CLASS="STRUCTFIELD"
->object</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->The parent object.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN16849"><SPAN
-STYLE="white-space: nowrap"
-><A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *<CODE
-CLASS="STRUCTFIELD"
->s</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->The <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
-> being refined or coarsened.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN16857"><SPAN
-STYLE="white-space: nowrap"
-><GTKDOCLINK
-HREF="GSLIST"
->GSList</GTKDOCLINK
-> *<CODE
-CLASS="STRUCTFIELD"
->roots</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->Private field.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN16863"><SPAN
-STYLE="white-space: nowrap"
-><A
-HREF="gts-extended-binary-heaps.html#GTSEHEAP"
->GtsEHeap</A
-> *<CODE
-CLASS="STRUCTFIELD"
->expandable</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-><A
-HREF="gts-extended-binary-heaps.html#GTSEHEAP"
-><SPAN
-CLASS="TYPE"
->GtsEHeap</SPAN
-></A
-> of the expandable <A
-HREF="gts-hierarchical-vertex-split.html#GTSHSPLIT"
-><SPAN
-CLASS="TYPE"
->GtsHSplit</SPAN
-></A
-> sorted by priority.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN16873"><SPAN
-STYLE="white-space: nowrap"
-><A
-HREF="gts-extended-binary-heaps.html#GTSEHEAP"
->GtsEHeap</A
-> *<CODE
-CLASS="STRUCTFIELD"
->collapsable</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-><A
-HREF="gts-extended-binary-heaps.html#GTSEHEAP"
-><SPAN
-CLASS="TYPE"
->GtsEHeap</SPAN
-></A
-> of the collapsable <A
-HREF="gts-hierarchical-vertex-split.html#GTSHSPLIT"
-><SPAN
-CLASS="TYPE"
->GtsHSplit</SPAN
-></A
-> sorted by priority.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN16883"><SPAN
-STYLE="white-space: nowrap"
-><GTKDOCLINK
-HREF="GPTRARRAY"
->GPtrArray</GTKDOCLINK
-> *<CODE
-CLASS="STRUCTFIELD"
->split</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->Private field.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN16889"><SPAN
-STYLE="white-space: nowrap"
-><GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> <CODE
-CLASS="STRUCTFIELD"
->nvertex</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->Private field.
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN16895"
-></A
-><H3
-><A
-NAME="GTS-HSURFACE-CLASS"
-></A
->gts_hsurface_class ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-hierarchical-surfaces.html#GTSHSURFACECLASS"
->GtsHSurfaceClass</A
->* gts_hsurface_class (void);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN16905"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the <A
-HREF="gts-hierarchical-surfaces.html#GTSHSURFACECLASS"
-><SPAN
-CLASS="TYPE"
->GtsHSurfaceClass</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN16912"
-></A
-><H3
-><A
-NAME="GTS-HSURFACE-NEW"
-></A
->gts_hsurface_new ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-hierarchical-surfaces.html#GTSHSURFACE"
->GtsHSurface</A
->* gts_hsurface_new (<A
-HREF="gts-hierarchical-surfaces.html#GTSHSURFACECLASS"
->GtsHSurfaceClass</A
-> *klass,
- <A
-HREF="gts-hierarchical-vertex-split.html#GTSHSPLITCLASS"
->GtsHSplitClass</A
-> *hsplit_class,
- <A
-HREF="gts-progressive-surfaces.html#GTSPSURFACE"
->GtsPSurface</A
-> *psurface,
- <A
-HREF="gts-extended-binary-heaps.html#GTSKEYFUNC"
->GtsKeyFunc</A
-> expand_key,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> expand_data,
- <A
-HREF="gts-extended-binary-heaps.html#GTSKEYFUNC"
->GtsKeyFunc</A
-> collapse_key,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> collapse_data);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN16929"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->klass</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-hierarchical-surfaces.html#GTSHSURFACECLASS"
-><SPAN
-CLASS="TYPE"
->GtsHSurfaceClass</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN16936"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->hsplit_class</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-hierarchical-vertex-split.html#GTSHSPLITCLASS"
-><SPAN
-CLASS="TYPE"
->GtsHSplitClass</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN16943"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->psurface</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-progressive-surfaces.html#GTSPSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsPSurface</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN16950"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->expand_key</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-extended-binary-heaps.html#GTSKEYFUNC"
-><SPAN
-CLASS="TYPE"
->GtsKeyFunc</SPAN
-></A
-> used to order the priority heap of expandable
-<A
-HREF="gts-hierarchical-vertex-split.html#GTSHSPLIT"
-><SPAN
-CLASS="TYPE"
->GtsHSplit</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN16959"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->expand_data</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> data to be passed to <CODE
-CLASS="PARAMETER"
->expand_key</CODE
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN16965"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->collapse_key</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-extended-binary-heaps.html#GTSKEYFUNC"
-><SPAN
-CLASS="TYPE"
->GtsKeyFunc</SPAN
-></A
-> used to order the priority heap of collapsable
-<A
-HREF="gts-hierarchical-vertex-split.html#GTSHSPLIT"
-><SPAN
-CLASS="TYPE"
->GtsHSplit</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN16974"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->collapse_data</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> data to be passed to <CODE
-CLASS="PARAMETER"
->collapsed_key</CODE
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN16980"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a new <A
-HREF="gts-hierarchical-surfaces.html#GTSHSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsHSurface</SPAN
-></A
->, hierarchical extension of <CODE
-CLASS="PARAMETER"
->psurface</CODE
->
-and using <A
-HREF="gts-hierarchical-vertex-split.html#GTSHSPLIT"
-><SPAN
-CLASS="TYPE"
->GtsHSplit</SPAN
-></A
-> of class <CODE
-CLASS="PARAMETER"
->hsplit_class</CODE
->. Note that <CODE
-CLASS="PARAMETER"
->psurface</CODE
-> is
-destroyed in the process.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN16992"
-></A
-><H3
-><A
-NAME="GTS-HSURFACE-TRAVERSE"
-></A
->gts_hsurface_traverse ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_hsurface_traverse (<A
-HREF="gts-hierarchical-surfaces.html#GTSHSURFACE"
->GtsHSurface</A
-> *hsurface,
- <GTKDOCLINK
-HREF="GTRAVERSETYPE"
->GTraverseType</GTKDOCLINK
-> order,
- <GTKDOCLINK
-HREF="GINT"
->gint</GTKDOCLINK
-> depth,
- <A
-HREF="gts-vertex-split.html#GTSSPLITTRAVERSEFUNC"
->GtsSplitTraverseFunc</A
-> func,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> data);</PRE
-><P
->Traverses a hierarchical surface starting from its roots. It calls
-the given function for each <A
-HREF="gts-hierarchical-vertex-split.html#GTSHSPLIT"
-><SPAN
-CLASS="TYPE"
->GtsHSplit</SPAN
-></A
-> visited.
-See also <A
-HREF="gts-vertex-split.html#GTS-SPLIT-TRAVERSE"
-><CODE
-CLASS="FUNCTION"
->gts_split_traverse()</CODE
-></A
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN17011"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->hsurface</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-hierarchical-surfaces.html#GTSHSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsHSurface</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN17018"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->order</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the order in which nodes are visited - G_PRE_ORDER or G_POST_ORDER.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN17023"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->depth</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the maximum depth of the traversal. Nodes below this depth
-will not be visited. If max_depth is -1 all nodes in the tree are
-visited. If depth is 1, only the root is visited. If depth is 2,
-the root and its children are visited. And so on.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN17028"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->func</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the function to call for each visited <A
-HREF="gts-hierarchical-vertex-split.html#GTSHSPLIT"
-><SPAN
-CLASS="TYPE"
->GtsHSplit</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN17035"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->data</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> user data to pass to the function.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN17040"
-></A
-><H3
-><A
-NAME="GTS-HSURFACE-HEIGHT"
-></A
->gts_hsurface_height ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> gts_hsurface_height (<A
-HREF="gts-hierarchical-surfaces.html#GTSHSURFACE"
->GtsHSurface</A
-> *hsurface);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN17051"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->hsurface</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-hierarchical-surfaces.html#GTSHSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsHSurface</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN17058"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the maximum height of the tree described by <CODE
-CLASS="PARAMETER"
->hsurface</CODE
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN17064"
-></A
-><H3
-><A
-NAME="GTS-HSURFACE-FOREACH"
-></A
->gts_hsurface_foreach ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_hsurface_foreach (<A
-HREF="gts-hierarchical-surfaces.html#GTSHSURFACE"
->GtsHSurface</A
-> *hsurface,
- <GTKDOCLINK
-HREF="GTRAVERSETYPE"
->GTraverseType</GTKDOCLINK
-> order,
- <A
-HREF="gts-surfaces.html#GTSFUNC"
->GtsFunc</A
-> func,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> data);</PRE
-><P
->Starts by expanding all the <A
-HREF="gts-hierarchical-vertex-split.html#GTSHSPLIT"
-><SPAN
-CLASS="TYPE"
->GtsHSplit</SPAN
-></A
-> of <CODE
-CLASS="PARAMETER"
->hsurface</CODE
->. If <CODE
-CLASS="PARAMETER"
->order</CODE
-> is
-G_PRE_ORDER, calls <CODE
-CLASS="PARAMETER"
->func</CODE
-> for each <A
-HREF="gts-hierarchical-vertex-split.html#GTSHSPLIT"
-><SPAN
-CLASS="TYPE"
->GtsHSplit</SPAN
-></A
-> and collapses it. If
-order is G_POST_ORDER, collapses each <A
-HREF="gts-hierarchical-vertex-split.html#GTSHSPLIT"
-><SPAN
-CLASS="TYPE"
->GtsHSplit</SPAN
-></A
-> first and then
-calls <CODE
-CLASS="PARAMETER"
->func</CODE
->. The traversal can be halted at any point by returning
-TRUE from func.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN17088"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->hsurface</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-hierarchical-surfaces.html#GTSHSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsHSurface</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN17095"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->order</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the order in which <A
-HREF="gts-hierarchical-vertex-split.html#GTSHSPLIT"
-><SPAN
-CLASS="TYPE"
->GtsHSplit</SPAN
-></A
-> are visited - G_PRE_ORDER or
-G_POST_ORDER.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN17102"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->func</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the function to call for each visited <A
-HREF="gts-hierarchical-vertex-split.html#GTSHSPLIT"
-><SPAN
-CLASS="TYPE"
->GtsHSplit</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN17109"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->data</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> user data to pass to the function.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-></DIV
-><TABLE
-CLASS="navigation"
-WIDTH="100%"
-SUMMARY="Navigation footer"
-CELLPADDING="2"
-CELLSPACING="2"
-><TR
-VALIGN="middle"
-><TD
-ALIGN="left"
-><A
-ACCESSKEY="p"
-HREF="gts-hierarchical-vertex-split.html"
-><B
-><<< Hierarchical vertex split</B
-></A
-></TD
-><TD
-ALIGN="right"
-><A
-ACCESSKEY="n"
-HREF="c17114.html"
-><B
->Graph and operations on graphs >>></B
-></A
-></TD
-></TR
-></TABLE
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/gts-hierarchical-vertex-split.html b/doc/html/gts-hierarchical-vertex-split.html
deleted file mode 100644
index 9e91b7f..0000000
--- a/doc/html/gts-hierarchical-vertex-split.html
+++ /dev/null
@@ -1,1088 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
-<HTML
-><HEAD
-><TITLE
->Hierarchical vertex split</TITLE
-><META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
-REL="HOME"
-TITLE="GTS Library Reference Manual"
-HREF="book1.html"><LINK
-REL="UP"
-TITLE="Progressive and Hierarchical surfaces"
-HREF="c15264.html"><LINK
-REL="PREVIOUS"
-TITLE="Progressive surfaces"
-HREF="gts-progressive-surfaces.html"><LINK
-REL="NEXT"
-TITLE="Hierarchical surfaces"
-HREF="gts-hierarchical-surfaces.html"><STYLE
-TYPE="text/css"
->.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</STYLE
-></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><TABLE
-WIDTH="100%"
-CLASS="navigation"
-SUMMARY="Navigation header"
-CELLPADDING="2"
-CELLSPACING="2"
-><TR
-VALIGN="middle"
-><TD
-><A
-ACCESSKEY="p"
-HREF="gts-progressive-surfaces.html"
-><IMG
-SRC="left.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Prev"></A
-></TD
-><TD
-><A
-ACCESSKEY="u"
-HREF="c15264.html"
-><IMG
-SRC="up.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Up"></A
-></TD
-><TD
-><A
-ACCESSKEY="h"
-HREF="book1.html"
-><IMG
-SRC="home.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Home"></A
-></TD
-><TH
-WIDTH="100%"
-align="center"
->GTS Library Reference Manual</TH
-><TD
-><A
-ACCESSKEY="n"
-HREF="gts-hierarchical-surfaces.html"
-><IMG
-SRC="right.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Next"></A
-></TD
-></TR
-></TABLE
-><H1
-><A
-NAME="GTS-HIERARCHICAL-VERTEX-SPLIT"
-></A
->Hierarchical vertex split</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN16450"
-></A
-><H2
->Name</H2
->Hierarchical vertex split -- hierarchical extension of the vertex split.</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN16453"
-></A
-><H2
->Synopsis</H2
-><PRE
-CLASS="SYNOPSIS"
->
#include <gts.h>
-
-
-#define <A
-HREF="gts-hierarchical-vertex-split.html#GTS-HSPLIT-CLASS:CAPS"
->GTS_HSPLIT_CLASS</A
-> (klass)
-#define <A
-HREF="gts-hierarchical-vertex-split.html#GTS-HSPLIT:CAPS"
->GTS_HSPLIT</A
-> (obj)
-#define <A
-HREF="gts-hierarchical-vertex-split.html#GTS-IS-HSPLIT:CAPS"
->GTS_IS_HSPLIT</A
-> (obj)
- <A
-HREF="gts-hierarchical-vertex-split.html#GTSHSPLITCLASS"
->GtsHSplitClass</A
->;
- <A
-HREF="gts-hierarchical-vertex-split.html#GTSHSPLIT"
->GtsHSplit</A
->;
-
-<A
-HREF="gts-hierarchical-vertex-split.html#GTSHSPLITCLASS"
->GtsHSplitClass</A
->* <A
-HREF="gts-hierarchical-vertex-split.html#GTS-HSPLIT-CLASS"
->gts_hsplit_class</A
-> (void);
-<A
-HREF="gts-hierarchical-vertex-split.html#GTSHSPLIT"
->GtsHSplit</A
->* <A
-HREF="gts-hierarchical-vertex-split.html#GTS-HSPLIT-NEW"
->gts_hsplit_new</A
-> (<A
-HREF="gts-hierarchical-vertex-split.html#GTSHSPLITCLASS"
->GtsHSplitClass</A
-> *klass,
- <A
-HREF="gts-vertex-split.html#GTSSPLIT"
->GtsSplit</A
-> *vs);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-hierarchical-vertex-split.html#GTS-HSPLIT-COLLAPSE"
->gts_hsplit_collapse</A
-> (<A
-HREF="gts-hierarchical-vertex-split.html#GTSHSPLIT"
->GtsHSplit</A
-> *hs,
- <A
-HREF="gts-hierarchical-surfaces.html#GTSHSURFACE"
->GtsHSurface</A
-> *hsurface);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-hierarchical-vertex-split.html#GTS-HSPLIT-EXPAND"
->gts_hsplit_expand</A
-> (<A
-HREF="gts-hierarchical-vertex-split.html#GTSHSPLIT"
->GtsHSplit</A
-> *hs,
- <A
-HREF="gts-hierarchical-surfaces.html#GTSHSURFACE"
->GtsHSurface</A
-> *hsurface);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-hierarchical-vertex-split.html#GTS-HSPLIT-FORCE-EXPAND"
->gts_hsplit_force_expand</A
-> (<A
-HREF="gts-hierarchical-vertex-split.html#GTSHSPLIT"
->GtsHSplit</A
-> *hs,
- <A
-HREF="gts-hierarchical-surfaces.html#GTSHSURFACE"
->GtsHSurface</A
-> *hsurface);</PRE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN16479"
-></A
-><H2
->Description</H2
-><P
->Hierarchical vertex splits are the building blocks of hierarchical surfaces. They are derived from <A
-HREF="gts-vertex-split.html#GTSSPLIT"
-><SPAN
-CLASS="TYPE"
->GtsSplit</SPAN
-></A
-> objects but add pointers to their parents in the vertex split tree and information on the state (collapsed or expanded) of their children.</P
-><P
->Together with <A
-HREF="gts-extended-binary-heaps.html#GTSEHEAPPAIR"
-><SPAN
-CLASS="TYPE"
->GtsEHeapPair</SPAN
-></A
-> fields these informations allow to manage any valid sequence of expansions or collapses.</P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN16487"
-></A
-><H2
->Details</H2
-><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN16489"
-></A
-><H3
-><A
-NAME="GTS-HSPLIT-CLASS:CAPS"
-></A
->GTS_HSPLIT_CLASS()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_HSPLIT_CLASS(klass)</PRE
-><P
->Casts <CODE
-CLASS="PARAMETER"
->klass</CODE
-> to <A
-HREF="gts-hierarchical-vertex-split.html#GTSHSPLITCLASS"
-><SPAN
-CLASS="TYPE"
->GtsHSplitClass</SPAN
-></A
->.</P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN16500"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->klass</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->a descendant of <A
-HREF="gts-hierarchical-vertex-split.html#GTSHSPLITCLASS"
-><SPAN
-CLASS="TYPE"
->GtsHSplitClass</SPAN
-></A
->.
-
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN16507"
-></A
-><H3
-><A
-NAME="GTS-HSPLIT:CAPS"
-></A
->GTS_HSPLIT()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_HSPLIT(obj)</PRE
-><P
->Casts <CODE
-CLASS="PARAMETER"
->obj</CODE
-> to <A
-HREF="gts-hierarchical-vertex-split.html#GTSHSPLIT"
-><SPAN
-CLASS="TYPE"
->GtsHSplit</SPAN
-></A
->.</P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN16518"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->obj</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->a descendant of <A
-HREF="gts-hierarchical-vertex-split.html#GTSHSPLIT"
-><SPAN
-CLASS="TYPE"
->GtsHSplit</SPAN
-></A
->.
-
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN16525"
-></A
-><H3
-><A
-NAME="GTS-IS-HSPLIT:CAPS"
-></A
->GTS_IS_HSPLIT()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_IS_HSPLIT(obj)</PRE
-><P
->Evaluates to <TT
-CLASS="LITERAL"
->TRUE</TT
-> if <CODE
-CLASS="PARAMETER"
->obj</CODE
-> is a <A
-HREF="gts-hierarchical-vertex-split.html#GTSHSPLIT"
-><SPAN
-CLASS="TYPE"
->GtsHSplit</SPAN
-></A
->, <TT
-CLASS="LITERAL"
->FALSE</TT
-> otherwise.</P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN16538"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->obj</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->a pointer to test.
-
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN16543"
-></A
-><H3
-><A
-NAME="GTSHSPLITCLASS"
-></A
->GtsHSplitClass</H3
-><PRE
-CLASS="PROGRAMLISTING"
->typedef struct {
- GtsSplitClass parent_class;
-} GtsHSplitClass;</PRE
-><P
->The hierarchical split vertex class derived from <A
-HREF="gts-vertex-split.html#GTSSPLITCLASS"
-><SPAN
-CLASS="TYPE"
->GtsSplitClass</SPAN
-></A
->.</P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN16552"
-></A
-><H3
-><A
-NAME="GTSHSPLIT"
-></A
->GtsHSplit</H3
-><PRE
-CLASS="PROGRAMLISTING"
->typedef struct {
- GtsSplit split;
-
- GtsEHeapPair * index;
- GtsHSplit * parent;
- guint nchild;
-} GtsHSplit;</PRE
-><P
->The hierarchical split vertex object.</P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN16560"><SPAN
-STYLE="white-space: nowrap"
-><A
-HREF="gts-vertex-split.html#GTSSPLIT"
->GtsSplit</A
-> <CODE
-CLASS="STRUCTFIELD"
->split</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->The parent object.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN16566"><SPAN
-STYLE="white-space: nowrap"
-><A
-HREF="gts-extended-binary-heaps.html#GTSEHEAPPAIR"
->GtsEHeapPair</A
-> *<CODE
-CLASS="STRUCTFIELD"
->index</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->Used when managing priority heaps for vertex split and collapse.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN16572"><SPAN
-STYLE="white-space: nowrap"
-><A
-HREF="gts-hierarchical-vertex-split.html#GTSHSPLIT"
->GtsHSplit</A
-> *<CODE
-CLASS="STRUCTFIELD"
->parent</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->Parent of this hierarchical split vertex in the split vertex tree.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN16578"><SPAN
-STYLE="white-space: nowrap"
-><GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> <CODE
-CLASS="STRUCTFIELD"
->nchild</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->Number of expanded children of this vertex split (0, 1, or 2).
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN16584"
-></A
-><H3
-><A
-NAME="GTS-HSPLIT-CLASS"
-></A
->gts_hsplit_class ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-hierarchical-vertex-split.html#GTSHSPLITCLASS"
->GtsHSplitClass</A
->* gts_hsplit_class (void);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN16594"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the <A
-HREF="gts-hierarchical-vertex-split.html#GTSHSPLITCLASS"
-><SPAN
-CLASS="TYPE"
->GtsHSplitClass</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN16601"
-></A
-><H3
-><A
-NAME="GTS-HSPLIT-NEW"
-></A
->gts_hsplit_new ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-hierarchical-vertex-split.html#GTSHSPLIT"
->GtsHSplit</A
->* gts_hsplit_new (<A
-HREF="gts-hierarchical-vertex-split.html#GTSHSPLITCLASS"
->GtsHSplitClass</A
-> *klass,
- <A
-HREF="gts-vertex-split.html#GTSSPLIT"
->GtsSplit</A
-> *vs);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN16613"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->klass</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-hierarchical-vertex-split.html#GTSHSPLITCLASS"
-><SPAN
-CLASS="TYPE"
->GtsHSplitClass</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN16620"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->vs</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-vertex-split.html#GTSSPLIT"
-><SPAN
-CLASS="TYPE"
->GtsSplit</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN16627"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a new <A
-HREF="gts-hierarchical-vertex-split.html#GTSHSPLIT"
-><SPAN
-CLASS="TYPE"
->GtsHSplit</SPAN
-></A
->, hierarchical extension of <CODE
-CLASS="PARAMETER"
->vs</CODE
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN16635"
-></A
-><H3
-><A
-NAME="GTS-HSPLIT-COLLAPSE"
-></A
->gts_hsplit_collapse ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_hsplit_collapse (<A
-HREF="gts-hierarchical-vertex-split.html#GTSHSPLIT"
->GtsHSplit</A
-> *hs,
- <A
-HREF="gts-hierarchical-surfaces.html#GTSHSURFACE"
->GtsHSurface</A
-> *hsurface);</PRE
-><P
->Collapses the <A
-HREF="gts-vertex-split.html#GTSSPLIT"
-><SPAN
-CLASS="TYPE"
->GtsSplit</SPAN
-></A
-> defined by <CODE
-CLASS="PARAMETER"
->hs</CODE
->, updates the expandable and
-collapsable priority heaps of <CODE
-CLASS="PARAMETER"
->hsurface</CODE
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN16651"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->hs</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-hierarchical-vertex-split.html#GTSHSPLIT"
-><SPAN
-CLASS="TYPE"
->GtsHSplit</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN16658"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->hsurface</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-hierarchical-surfaces.html#GTSHSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsHSurface</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN16665"
-></A
-><H3
-><A
-NAME="GTS-HSPLIT-EXPAND"
-></A
->gts_hsplit_expand ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_hsplit_expand (<A
-HREF="gts-hierarchical-vertex-split.html#GTSHSPLIT"
->GtsHSplit</A
-> *hs,
- <A
-HREF="gts-hierarchical-surfaces.html#GTSHSURFACE"
->GtsHSurface</A
-> *hsurface);</PRE
-><P
->Expands the <A
-HREF="gts-vertex-split.html#GTSSPLIT"
-><SPAN
-CLASS="TYPE"
->GtsSplit</SPAN
-></A
-> defined by <CODE
-CLASS="PARAMETER"
->hs</CODE
-> (which must be expandable)
-and updates the priority heaps of <CODE
-CLASS="PARAMETER"
->hsurface</CODE
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN16681"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->hs</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-hierarchical-vertex-split.html#GTSHSPLIT"
-><SPAN
-CLASS="TYPE"
->GtsHSplit</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN16688"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->hsurface</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-hierarchical-surfaces.html#GTSHSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsHSurface</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN16695"
-></A
-><H3
-><A
-NAME="GTS-HSPLIT-FORCE-EXPAND"
-></A
->gts_hsplit_force_expand ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_hsplit_force_expand (<A
-HREF="gts-hierarchical-vertex-split.html#GTSHSPLIT"
->GtsHSplit</A
-> *hs,
- <A
-HREF="gts-hierarchical-surfaces.html#GTSHSURFACE"
->GtsHSurface</A
-> *hsurface);</PRE
-><P
->Forces the expansion of <CODE
-CLASS="PARAMETER"
->hs</CODE
-> by first expanding all its dependencies not
-already expanded.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN16708"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->hs</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-hierarchical-vertex-split.html#GTSHSPLIT"
-><SPAN
-CLASS="TYPE"
->GtsHSplit</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN16715"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->hsurface</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-hierarchical-surfaces.html#GTSHSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsHSurface</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-></DIV
-><TABLE
-CLASS="navigation"
-WIDTH="100%"
-SUMMARY="Navigation footer"
-CELLPADDING="2"
-CELLSPACING="2"
-><TR
-VALIGN="middle"
-><TD
-ALIGN="left"
-><A
-ACCESSKEY="p"
-HREF="gts-progressive-surfaces.html"
-><B
-><<< Progressive surfaces</B
-></A
-></TD
-><TD
-ALIGN="right"
-><A
-ACCESSKEY="n"
-HREF="gts-hierarchical-surfaces.html"
-><B
->Hierarchical surfaces >>></B
-></A
-></TD
-></TR
-></TABLE
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/gts-isosurfaces-from-3d-functions.html b/doc/html/gts-isosurfaces-from-3d-functions.html
deleted file mode 100644
index cdcb76f..0000000
--- a/doc/html/gts-isosurfaces-from-3d-functions.html
+++ /dev/null
@@ -1,2550 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
-<HTML
-><HEAD
-><TITLE
->Isosurfaces from 3D functions</TITLE
-><META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
-REL="HOME"
-TITLE="GTS Library Reference Manual"
-HREF="book1.html"><LINK
-REL="UP"
-TITLE="Surface operations"
-HREF="c12206.html"><LINK
-REL="PREVIOUS"
-TITLE="Out-of-core simplification"
-HREF="gts-out-of-core-simplification.html"><LINK
-REL="NEXT"
-TITLE="Delaunay and constrained Delaunay triangulations"
-HREF="gts-delaunay-and-constrained-delaunay-triangulations.html"><STYLE
-TYPE="text/css"
->.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</STYLE
-></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><TABLE
-WIDTH="100%"
-CLASS="navigation"
-SUMMARY="Navigation header"
-CELLPADDING="2"
-CELLSPACING="2"
-><TR
-VALIGN="middle"
-><TD
-><A
-ACCESSKEY="p"
-HREF="gts-out-of-core-simplification.html"
-><IMG
-SRC="left.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Prev"></A
-></TD
-><TD
-><A
-ACCESSKEY="u"
-HREF="c12206.html"
-><IMG
-SRC="up.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Up"></A
-></TD
-><TD
-><A
-ACCESSKEY="h"
-HREF="book1.html"
-><IMG
-SRC="home.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Home"></A
-></TD
-><TH
-WIDTH="100%"
-align="center"
->GTS Library Reference Manual</TH
-><TD
-><A
-ACCESSKEY="n"
-HREF="gts-delaunay-and-constrained-delaunay-triangulations.html"
-><IMG
-SRC="right.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Next"></A
-></TD
-></TR
-></TABLE
-><H1
-><A
-NAME="GTS-ISOSURFACES-FROM-3D-FUNCTIONS"
-></A
->Isosurfaces from 3D functions</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN13804"
-></A
-><H2
->Name</H2
->Isosurfaces from 3D functions -- computing triangulated isosurfaces of a given function f(x,y,z).</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN13807"
-></A
-><H2
->Synopsis</H2
-><PRE
-CLASS="SYNOPSIS"
->
#include <gts.h>
-
-
- <A
-HREF="gts-isosurfaces-from-3d-functions.html#GTSCARTESIANGRID"
->GtsCartesianGrid</A
->;
- <A
-HREF="gts-isosurfaces-from-3d-functions.html#GTSGRIDPLANE"
->GtsGridPlane</A
->;
-
-<A
-HREF="gts-isosurfaces-from-3d-functions.html#GTSGRIDPLANE"
->GtsGridPlane</A
->* <A
-HREF="gts-isosurfaces-from-3d-functions.html#GTS-GRID-PLANE-NEW"
->gts_grid_plane_new</A
-> (<GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> nx,
- <GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> ny);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-isosurfaces-from-3d-functions.html#GTS-GRID-PLANE-DESTROY"
->gts_grid_plane_destroy</A
-> (<A
-HREF="gts-isosurfaces-from-3d-functions.html#GTSGRIDPLANE"
->GtsGridPlane</A
-> *g);
-
- <A
-HREF="gts-isosurfaces-from-3d-functions.html#GTSISOSLICE"
->GtsIsoSlice</A
->;
-
-<A
-HREF="gts-isosurfaces-from-3d-functions.html#GTSISOSLICE"
->GtsIsoSlice</A
->* <A
-HREF="gts-isosurfaces-from-3d-functions.html#GTS-ISO-SLICE-NEW"
->gts_iso_slice_new</A
-> (<GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> nx,
- <GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> ny);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-isosurfaces-from-3d-functions.html#GTS-ISO-SLICE-FILL"
->gts_iso_slice_fill</A
-> (<A
-HREF="gts-isosurfaces-from-3d-functions.html#GTSISOSLICE"
->GtsIsoSlice</A
-> *slice,
- <A
-HREF="gts-isosurfaces-from-3d-functions.html#GTSGRIDPLANE"
->GtsGridPlane</A
-> *plane1,
- <A
-HREF="gts-isosurfaces-from-3d-functions.html#GTSGRIDPLANE"
->GtsGridPlane</A
-> *plane2,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> **f1,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> **f2,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> iso,
- <A
-HREF="gts-vertices.html#GTSVERTEXCLASS"
->GtsVertexClass</A
-> *klass);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-isosurfaces-from-3d-functions.html#GTS-ISO-SLICE-FILL-CARTESIAN"
->gts_iso_slice_fill_cartesian</A
-> (<A
-HREF="gts-isosurfaces-from-3d-functions.html#GTSISOSLICE"
->GtsIsoSlice</A
-> *slice,
- <A
-HREF="gts-isosurfaces-from-3d-functions.html#GTSCARTESIANGRID"
->GtsCartesianGrid</A
-> g,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> **f1,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> **f2,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> iso,
- <A
-HREF="gts-vertices.html#GTSVERTEXCLASS"
->GtsVertexClass</A
-> *klass);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-isosurfaces-from-3d-functions.html#GTS-ISO-SLICE-DESTROY"
->gts_iso_slice_destroy</A
-> (<A
-HREF="gts-isosurfaces-from-3d-functions.html#GTSISOSLICE"
->GtsIsoSlice</A
-> *slice);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-isosurfaces-from-3d-functions.html#GTS-ISOSURFACE-SLICE"
->gts_isosurface_slice</A
-> (<A
-HREF="gts-isosurfaces-from-3d-functions.html#GTSISOSLICE"
->GtsIsoSlice</A
-> *slice1,
- <A
-HREF="gts-isosurfaces-from-3d-functions.html#GTSISOSLICE"
->GtsIsoSlice</A
-> *slice2,
- <A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *surface);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> (<A
-HREF="gts-isosurfaces-from-3d-functions.html#GTSISOCARTESIANFUNC"
->*GtsIsoCartesianFunc</A
->) (<GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> **a,
- <A
-HREF="gts-isosurfaces-from-3d-functions.html#GTSCARTESIANGRID"
->GtsCartesianGrid</A
-> g,
- <GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> i,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> data);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-isosurfaces-from-3d-functions.html#GTS-ISOSURFACE-CARTESIAN"
->gts_isosurface_cartesian</A
-> (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *surface,
- <A
-HREF="gts-isosurfaces-from-3d-functions.html#GTSCARTESIANGRID"
->GtsCartesianGrid</A
-> g,
- <A
-HREF="gts-isosurfaces-from-3d-functions.html#GTSISOCARTESIANFUNC"
->GtsIsoCartesianFunc</A
-> f,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> data,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> iso);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-isosurfaces-from-3d-functions.html#GTS-ISOSURFACE-TETRA"
->gts_isosurface_tetra</A
-> (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *surface,
- <A
-HREF="gts-isosurfaces-from-3d-functions.html#GTSCARTESIANGRID"
->GtsCartesianGrid</A
-> g,
- <A
-HREF="gts-isosurfaces-from-3d-functions.html#GTSISOCARTESIANFUNC"
->GtsIsoCartesianFunc</A
-> f,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> data,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> iso);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-isosurfaces-from-3d-functions.html#GTS-ISOSURFACE-TETRA-BOUNDED"
->gts_isosurface_tetra_bounded</A
-> (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *surface,
- <A
-HREF="gts-isosurfaces-from-3d-functions.html#GTSCARTESIANGRID"
->GtsCartesianGrid</A
-> g,
- <A
-HREF="gts-isosurfaces-from-3d-functions.html#GTSISOCARTESIANFUNC"
->GtsIsoCartesianFunc</A
-> f,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> data,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> iso);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-isosurfaces-from-3d-functions.html#GTS-ISOSURFACE-TETRA-BCL"
->gts_isosurface_tetra_bcl</A
-> (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *surface,
- <A
-HREF="gts-isosurfaces-from-3d-functions.html#GTSCARTESIANGRID"
->GtsCartesianGrid</A
-> g,
- <A
-HREF="gts-isosurfaces-from-3d-functions.html#GTSISOCARTESIANFUNC"
->GtsIsoCartesianFunc</A
-> f,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> data,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> iso);</PRE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN13883"
-></A
-><H2
->Description</H2
-><P
->Using the <A
-HREF="gts-isosurfaces-from-3d-functions.html#GTS-ISOSURFACE-CARTESIAN"
-><CODE
-CLASS="FUNCTION"
->gts_isosurface_cartesian()</CODE
-></A
-> function, it is possible to build a triangulated isosurface of a given user-defined function. As its name indicates this function assumes that the values of the user-defined function are defined for points located on a regular cartesian grid described by the <A
-HREF="gts-isosurfaces-from-3d-functions.html#GTSCARTESIANGRID"
-><SPAN
-CLASS="TYPE"
->GtsCartesianGrid</SPAN
-></A
-> parameter. The triangles describing the isosurface are computed for each pair of successive planes z and z+dz in a pipelined manner. Consequently only two planes need to be stored in memory at any time. This allows to construct isosurfaces for datasets too large to fit in main memory.</P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN13890"
-></A
-><H2
->Details</H2
-><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN13892"
-></A
-><H3
-><A
-NAME="GTSCARTESIANGRID"
-></A
->GtsCartesianGrid</H3
-><PRE
-CLASS="PROGRAMLISTING"
->typedef struct {
- guint nx, ny, nz;
- gdouble x, dx, y, dy, z, dz;
-} GtsCartesianGrid;</PRE
-><P
->A regular cartesian grid is defined by the number of points in each direction, the spatial increment in each direction and the coordinates of the first point.</P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN13900"><SPAN
-STYLE="white-space: nowrap"
-><GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> <CODE
-CLASS="STRUCTFIELD"
->nx</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->Number of points in direction x.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN13906"><SPAN
-STYLE="white-space: nowrap"
-><GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> <CODE
-CLASS="STRUCTFIELD"
->ny</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->Number of points in direction y.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN13912"><SPAN
-STYLE="white-space: nowrap"
-><GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> <CODE
-CLASS="STRUCTFIELD"
->nz</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->Number of points in direction z.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN13918"><SPAN
-STYLE="white-space: nowrap"
-><GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> <CODE
-CLASS="STRUCTFIELD"
->x</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->x coordinate of the first point.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN13924"><SPAN
-STYLE="white-space: nowrap"
-><GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> <CODE
-CLASS="STRUCTFIELD"
->dx</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->Increment in direction x.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN13930"><SPAN
-STYLE="white-space: nowrap"
-><GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> <CODE
-CLASS="STRUCTFIELD"
->y</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->y coordinate of the first point.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN13936"><SPAN
-STYLE="white-space: nowrap"
-><GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> <CODE
-CLASS="STRUCTFIELD"
->dy</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->Increment in direction y.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN13942"><SPAN
-STYLE="white-space: nowrap"
-><GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> <CODE
-CLASS="STRUCTFIELD"
->z</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->z coordinate of the first point.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN13948"><SPAN
-STYLE="white-space: nowrap"
-><GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> <CODE
-CLASS="STRUCTFIELD"
->dz</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->Increment in direction z.
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN13954"
-></A
-><H3
-><A
-NAME="GTSGRIDPLANE"
-></A
->GtsGridPlane</H3
-><PRE
-CLASS="PROGRAMLISTING"
->typedef struct {
- GtsPoint ** p;
- guint nx, ny;
-} GtsGridPlane;</PRE
-><P
-></P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN13961"
-></A
-><H3
-><A
-NAME="GTS-GRID-PLANE-NEW"
-></A
->gts_grid_plane_new ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-isosurfaces-from-3d-functions.html#GTSGRIDPLANE"
->GtsGridPlane</A
->* gts_grid_plane_new (<GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> nx,
- <GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> ny);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN13973"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->nx</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-></P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN13978"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->ny</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-></P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN13983"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-></P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN13988"
-></A
-><H3
-><A
-NAME="GTS-GRID-PLANE-DESTROY"
-></A
->gts_grid_plane_destroy ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_grid_plane_destroy (<A
-HREF="gts-isosurfaces-from-3d-functions.html#GTSGRIDPLANE"
->GtsGridPlane</A
-> *g);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN13999"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->g</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-></P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN14004"
-></A
-><H3
-><A
-NAME="GTSISOSLICE"
-></A
->GtsIsoSlice</H3
-><PRE
-CLASS="PROGRAMLISTING"
->typedef struct _GtsIsoSlice GtsIsoSlice;</PRE
-><P
->A GtsIsoSlice is an opaque data structure containing the coordinates of the points located on the isosurface for a given slice of the user-defined function.</P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN14011"
-></A
-><H3
-><A
-NAME="GTS-ISO-SLICE-NEW"
-></A
->gts_iso_slice_new ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-isosurfaces-from-3d-functions.html#GTSISOSLICE"
->GtsIsoSlice</A
->* gts_iso_slice_new (<GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> nx,
- <GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> ny);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN14023"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->nx</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> number of vertices in the x direction.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN14028"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->ny</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> number of vertices in the y direction.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN14033"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a new <A
-HREF="gts-isosurfaces-from-3d-functions.html#GTSISOSLICE"
-><SPAN
-CLASS="TYPE"
->GtsIsoSlice</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN14040"
-></A
-><H3
-><A
-NAME="GTS-ISO-SLICE-FILL"
-></A
->gts_iso_slice_fill ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_iso_slice_fill (<A
-HREF="gts-isosurfaces-from-3d-functions.html#GTSISOSLICE"
->GtsIsoSlice</A
-> *slice,
- <A
-HREF="gts-isosurfaces-from-3d-functions.html#GTSGRIDPLANE"
->GtsGridPlane</A
-> *plane1,
- <A
-HREF="gts-isosurfaces-from-3d-functions.html#GTSGRIDPLANE"
->GtsGridPlane</A
-> *plane2,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> **f1,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> **f2,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> iso,
- <A
-HREF="gts-vertices.html#GTSVERTEXCLASS"
->GtsVertexClass</A
-> *klass);</PRE
-><P
->Fill <CODE
-CLASS="PARAMETER"
->slice</CODE
-> with the coordinates of the vertices defined by
-f1 (x,y,z) = <CODE
-CLASS="PARAMETER"
->iso</CODE
-> and f2 (x, y, z) = <CODE
-CLASS="PARAMETER"
->iso</CODE
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN14060"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->slice</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-isosurfaces-from-3d-functions.html#GTSISOSLICE"
-><SPAN
-CLASS="TYPE"
->GtsIsoSlice</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN14067"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->plane1</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-isosurfaces-from-3d-functions.html#GTSGRIDPLANE"
-><SPAN
-CLASS="TYPE"
->GtsGridPlane</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN14074"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->plane2</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> another <A
-HREF="gts-isosurfaces-from-3d-functions.html#GTSGRIDPLANE"
-><SPAN
-CLASS="TYPE"
->GtsGridPlane</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN14081"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->f1</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> values of the function corresponding to <CODE
-CLASS="PARAMETER"
->plane1</CODE
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN14087"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->f2</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> values of the function corresponding to <CODE
-CLASS="PARAMETER"
->plane2</CODE
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN14093"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->iso</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> isosurface value.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN14098"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->klass</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-vertices.html#GTSVERTEXCLASS"
-><SPAN
-CLASS="TYPE"
->GtsVertexClass</SPAN
-></A
-> or one of its descendant to be used for the
-new vertices.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN14105"
-></A
-><H3
-><A
-NAME="GTS-ISO-SLICE-FILL-CARTESIAN"
-></A
->gts_iso_slice_fill_cartesian ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_iso_slice_fill_cartesian (<A
-HREF="gts-isosurfaces-from-3d-functions.html#GTSISOSLICE"
->GtsIsoSlice</A
-> *slice,
- <A
-HREF="gts-isosurfaces-from-3d-functions.html#GTSCARTESIANGRID"
->GtsCartesianGrid</A
-> g,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> **f1,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> **f2,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> iso,
- <A
-HREF="gts-vertices.html#GTSVERTEXCLASS"
->GtsVertexClass</A
-> *klass);</PRE
-><P
->Fill <CODE
-CLASS="PARAMETER"
->slice</CODE
-> with the coordinates of the vertices defined by
-f1 (x,y,z) = <CODE
-CLASS="PARAMETER"
->iso</CODE
-> and f2 (x, y, z) = <CODE
-CLASS="PARAMETER"
->iso</CODE
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN14124"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->slice</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-isosurfaces-from-3d-functions.html#GTSISOSLICE"
-><SPAN
-CLASS="TYPE"
->GtsIsoSlice</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN14131"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->g</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-isosurfaces-from-3d-functions.html#GTSCARTESIANGRID"
-><SPAN
-CLASS="TYPE"
->GtsCartesianGrid</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN14138"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->f1</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> values of the function for plane z = <CODE
-CLASS="PARAMETER"
->g.z</CODE
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN14144"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->f2</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> values of the function for plane z = <CODE
-CLASS="PARAMETER"
->g.z</CODE
-> + <CODE
-CLASS="PARAMETER"
->g.dz</CODE
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN14151"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->iso</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> isosurface value.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN14156"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->klass</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-vertices.html#GTSVERTEXCLASS"
-><SPAN
-CLASS="TYPE"
->GtsVertexClass</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN14163"
-></A
-><H3
-><A
-NAME="GTS-ISO-SLICE-DESTROY"
-></A
->gts_iso_slice_destroy ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_iso_slice_destroy (<A
-HREF="gts-isosurfaces-from-3d-functions.html#GTSISOSLICE"
->GtsIsoSlice</A
-> *slice);</PRE
-><P
->Free all memory allocated for <CODE
-CLASS="PARAMETER"
->slice</CODE
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN14175"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->slice</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-isosurfaces-from-3d-functions.html#GTSISOSLICE"
-><SPAN
-CLASS="TYPE"
->GtsIsoSlice</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN14182"
-></A
-><H3
-><A
-NAME="GTS-ISOSURFACE-SLICE"
-></A
->gts_isosurface_slice ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_isosurface_slice (<A
-HREF="gts-isosurfaces-from-3d-functions.html#GTSISOSLICE"
->GtsIsoSlice</A
-> *slice1,
- <A
-HREF="gts-isosurfaces-from-3d-functions.html#GTSISOSLICE"
->GtsIsoSlice</A
-> *slice2,
- <A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *surface);</PRE
-><P
->Given two successive slices <CODE
-CLASS="PARAMETER"
->slice1</CODE
-> and <CODE
-CLASS="PARAMETER"
->slice2</CODE
-> link their vertices with
-segments and triangles which are added to <CODE
-CLASS="PARAMETER"
->surface</CODE
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN14198"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->slice1</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-isosurfaces-from-3d-functions.html#GTSISOSLICE"
-><SPAN
-CLASS="TYPE"
->GtsIsoSlice</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN14205"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->slice2</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> another <A
-HREF="gts-isosurfaces-from-3d-functions.html#GTSISOSLICE"
-><SPAN
-CLASS="TYPE"
->GtsIsoSlice</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN14212"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->surface</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN14219"
-></A
-><H3
-><A
-NAME="GTSISOCARTESIANFUNC"
-></A
->GtsIsoCartesianFunc ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> (*GtsIsoCartesianFunc) (<GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> **a,
- <A
-HREF="gts-isosurfaces-from-3d-functions.html#GTSCARTESIANGRID"
->GtsCartesianGrid</A
-> g,
- <GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> i,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> data);</PRE
-><P
->This user-defined function is passed to the <A
-HREF="gts-isosurfaces-from-3d-functions.html#GTS-ISOSURFACE-CARTESIAN"
-><CODE
-CLASS="FUNCTION"
->gts_isosurface_cartesian()</CODE
-></A
->
-function. Given a particular <A
-HREF="gts-isosurfaces-from-3d-functions.html#GTSCARTESIANGRID"
-><SPAN
-CLASS="TYPE"
->GtsCartesianGrid</SPAN
-></A
-> <CODE
-CLASS="PARAMETER"
->g</CODE
-> it must fill the array <CODE
-CLASS="PARAMETER"
->a</CODE
->
-with the values of the function for the plane z=<CODE
-CLASS="PARAMETER"
->g.z</CODE
-> (or for the corresponding
-index <CODE
-CLASS="PARAMETER"
->i</CODE
->). This function is always called in order by <A
-HREF="gts-isosurfaces-from-3d-functions.html#GTS-ISOSURFACE-CARTESIAN"
-><CODE
-CLASS="FUNCTION"
->gts_isosurface_cartesian()</CODE
-></A
->, i.e. <CODE
-CLASS="PARAMETER"
->i</CODE
-> varies from 0 to <CODE
-CLASS="PARAMETER"
->g.nz</CODE
-> - 1 with an increment of one (and similarly <CODE
-CLASS="PARAMETER"
->g.z</CODE
-> is incremented every time by <CODE
-CLASS="PARAMETER"
->g.dz</CODE
->).</P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN14246"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->a</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->the 2D array to be filled.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN14251"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->g</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->a <A
-HREF="gts-isosurfaces-from-3d-functions.html#GTSCARTESIANGRID"
-><SPAN
-CLASS="TYPE"
->GtsCartesianGrid</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN14258"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->i</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->the z direction index of the plane to be filled.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN14263"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->data</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->user data.
-
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN14268"
-></A
-><H3
-><A
-NAME="GTS-ISOSURFACE-CARTESIAN"
-></A
->gts_isosurface_cartesian ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_isosurface_cartesian (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *surface,
- <A
-HREF="gts-isosurfaces-from-3d-functions.html#GTSCARTESIANGRID"
->GtsCartesianGrid</A
-> g,
- <A
-HREF="gts-isosurfaces-from-3d-functions.html#GTSISOCARTESIANFUNC"
->GtsIsoCartesianFunc</A
-> f,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> data,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> iso);</PRE
-><P
->Adds to <CODE
-CLASS="PARAMETER"
->surface</CODE
-> new faces defining the isosurface f(x,y,z) = <CODE
-CLASS="PARAMETER"
->iso</CODE
->. By
-convention, the normals to the surface are pointing toward the positive
-values of f(x,y,z) - <CODE
-CLASS="PARAMETER"
->iso</CODE
->.</P
-><P
->The user function <CODE
-CLASS="PARAMETER"
->f</CODE
-> is called successively for each value of the z
-coordinate defined by <CODE
-CLASS="PARAMETER"
->g</CODE
->. It must fill the corresponding (x,y) plane with
-the values of the function for which the isosurface is to be computed.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN14289"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->surface</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN14296"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->g</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-isosurfaces-from-3d-functions.html#GTSCARTESIANGRID"
-><SPAN
-CLASS="TYPE"
->GtsCartesianGrid</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN14303"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->f</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-isosurfaces-from-3d-functions.html#GTSISOCARTESIANFUNC"
-><SPAN
-CLASS="TYPE"
->GtsIsoCartesianFunc</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN14310"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->data</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> user data to be passed to <CODE
-CLASS="PARAMETER"
->f</CODE
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN14316"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->iso</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> isosurface value.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN14321"
-></A
-><H3
-><A
-NAME="GTS-ISOSURFACE-TETRA"
-></A
->gts_isosurface_tetra ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_isosurface_tetra (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *surface,
- <A
-HREF="gts-isosurfaces-from-3d-functions.html#GTSCARTESIANGRID"
->GtsCartesianGrid</A
-> g,
- <A
-HREF="gts-isosurfaces-from-3d-functions.html#GTSISOCARTESIANFUNC"
->GtsIsoCartesianFunc</A
-> f,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> data,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> iso);</PRE
-><P
->Adds to <CODE
-CLASS="PARAMETER"
->surface</CODE
-> new faces defining the isosurface f(x,y,z) =
-<CODE
-CLASS="PARAMETER"
->iso</CODE
->. By convention, the normals to the surface are pointing toward
-the positive values of f(x,y,z) - <CODE
-CLASS="PARAMETER"
->iso</CODE
->.</P
-><P
->The user function <CODE
-CLASS="PARAMETER"
->f</CODE
-> is called successively for each value of the z
-coordinate defined by <CODE
-CLASS="PARAMETER"
->g</CODE
->. It must fill the corresponding (x,y)
-plane with the values of the function for which the isosurface is
-to be computed.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN14342"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->surface</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN14349"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->g</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-isosurfaces-from-3d-functions.html#GTSCARTESIANGRID"
-><SPAN
-CLASS="TYPE"
->GtsCartesianGrid</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN14356"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->f</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-isosurfaces-from-3d-functions.html#GTSISOCARTESIANFUNC"
-><SPAN
-CLASS="TYPE"
->GtsIsoCartesianFunc</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN14363"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->data</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> user data to be passed to <CODE
-CLASS="PARAMETER"
->f</CODE
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN14369"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->iso</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> isosurface value.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN14374"
-></A
-><H3
-><A
-NAME="GTS-ISOSURFACE-TETRA-BOUNDED"
-></A
->gts_isosurface_tetra_bounded ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_isosurface_tetra_bounded (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *surface,
- <A
-HREF="gts-isosurfaces-from-3d-functions.html#GTSCARTESIANGRID"
->GtsCartesianGrid</A
-> g,
- <A
-HREF="gts-isosurfaces-from-3d-functions.html#GTSISOCARTESIANFUNC"
->GtsIsoCartesianFunc</A
-> f,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> data,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> iso);</PRE
-><P
->Adds to <CODE
-CLASS="PARAMETER"
->surface</CODE
-> new faces defining the isosurface f(x,y,z) =
-<CODE
-CLASS="PARAMETER"
->iso</CODE
->. By convention, the normals to the surface are pointing toward
-the positive values of f(x,y,z) - <CODE
-CLASS="PARAMETER"
->iso</CODE
->. To ensure a closed object,
-a boundary of G_MINDOUBLE is added around the domain</P
-><P
->The user function <CODE
-CLASS="PARAMETER"
->f</CODE
-> is called successively for each value of the z
-coordinate defined by <CODE
-CLASS="PARAMETER"
->g</CODE
->. It must fill the corresponding (x,y)
-plane with the values of the function for which the isosurface is
-to be computed.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN14395"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->surface</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN14402"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->g</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-isosurfaces-from-3d-functions.html#GTSCARTESIANGRID"
-><SPAN
-CLASS="TYPE"
->GtsCartesianGrid</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN14409"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->f</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-isosurfaces-from-3d-functions.html#GTSISOCARTESIANFUNC"
-><SPAN
-CLASS="TYPE"
->GtsIsoCartesianFunc</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN14416"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->data</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> user data to be passed to <CODE
-CLASS="PARAMETER"
->f</CODE
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN14422"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->iso</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> isosurface value.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN14427"
-></A
-><H3
-><A
-NAME="GTS-ISOSURFACE-TETRA-BCL"
-></A
->gts_isosurface_tetra_bcl ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_isosurface_tetra_bcl (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *surface,
- <A
-HREF="gts-isosurfaces-from-3d-functions.html#GTSCARTESIANGRID"
->GtsCartesianGrid</A
-> g,
- <A
-HREF="gts-isosurfaces-from-3d-functions.html#GTSISOCARTESIANFUNC"
->GtsIsoCartesianFunc</A
-> f,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> data,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> iso);</PRE
-><P
->Adds to <CODE
-CLASS="PARAMETER"
->surface</CODE
-> new faces defining the isosurface f(x,y,z) =
-<CODE
-CLASS="PARAMETER"
->iso</CODE
->. By convention, the normals to the surface are pointing toward
-the positive values of f(x,y,z) - <CODE
-CLASS="PARAMETER"
->iso</CODE
->.</P
-><P
->The user function <CODE
-CLASS="PARAMETER"
->f</CODE
-> is called successively for each value of the z
-coordinate defined by <CODE
-CLASS="PARAMETER"
->g</CODE
->. It must fill the corresponding (x,y)
-plane with the values of the function for which the isosurface is
-to be computed. </P
-><P
->This version produces the dual "body-centered" faces relative to
-the faces produced by <A
-HREF="gts-isosurfaces-from-3d-functions.html#GTS-ISOSURFACE-TETRA"
-><CODE
-CLASS="FUNCTION"
->gts_isosurface_tetra()</CODE
-></A
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN14451"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->surface</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN14458"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->g</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-isosurfaces-from-3d-functions.html#GTSCARTESIANGRID"
-><SPAN
-CLASS="TYPE"
->GtsCartesianGrid</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN14465"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->f</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-isosurfaces-from-3d-functions.html#GTSISOCARTESIANFUNC"
-><SPAN
-CLASS="TYPE"
->GtsIsoCartesianFunc</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN14472"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->data</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> user data to be passed to <CODE
-CLASS="PARAMETER"
->f</CODE
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN14478"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->iso</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> isosurface value.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-></DIV
-><TABLE
-CLASS="navigation"
-WIDTH="100%"
-SUMMARY="Navigation footer"
-CELLPADDING="2"
-CELLSPACING="2"
-><TR
-VALIGN="middle"
-><TD
-ALIGN="left"
-><A
-ACCESSKEY="p"
-HREF="gts-out-of-core-simplification.html"
-><B
-><<< Out-of-core simplification</B
-></A
-></TD
-><TD
-ALIGN="right"
-><A
-ACCESSKEY="n"
-HREF="gts-delaunay-and-constrained-delaunay-triangulations.html"
-><B
->Delaunay and constrained Delaunay triangulations >>></B
-></A
-></TD
-></TR
-></TABLE
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/gts-kd-trees.html b/doc/html/gts-kd-trees.html
deleted file mode 100644
index bedcd2d..0000000
--- a/doc/html/gts-kd-trees.html
+++ /dev/null
@@ -1,528 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
-<HTML
-><HEAD
-><TITLE
->Kd-Trees</TITLE
-><META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
-REL="HOME"
-TITLE="GTS Library Reference Manual"
-HREF="book1.html"><LINK
-REL="UP"
-TITLE="Geometrical data structures"
-HREF="c10545.html"><LINK
-REL="PREVIOUS"
-TITLE="Geometrical data structures"
-HREF="c10545.html"><LINK
-REL="NEXT"
-TITLE="Bounding boxes trees"
-HREF="gts-bounding-boxes-trees.html"><STYLE
-TYPE="text/css"
->.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</STYLE
-></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><TABLE
-WIDTH="100%"
-CLASS="navigation"
-SUMMARY="Navigation header"
-CELLPADDING="2"
-CELLSPACING="2"
-><TR
-VALIGN="middle"
-><TD
-><A
-ACCESSKEY="p"
-HREF="c10545.html"
-><IMG
-SRC="left.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Prev"></A
-></TD
-><TD
-><A
-ACCESSKEY="u"
-HREF="c10545.html"
-><IMG
-SRC="up.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Up"></A
-></TD
-><TD
-><A
-ACCESSKEY="h"
-HREF="book1.html"
-><IMG
-SRC="home.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Home"></A
-></TD
-><TH
-WIDTH="100%"
-align="center"
->GTS Library Reference Manual</TH
-><TD
-><A
-ACCESSKEY="n"
-HREF="gts-bounding-boxes-trees.html"
-><IMG
-SRC="right.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Next"></A
-></TD
-></TR
-></TABLE
-><H1
-><A
-NAME="GTS-KD-TREES"
-></A
->Kd-Trees</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN10552"
-></A
-><H2
->Name</H2
->Kd-Trees -- an efficient way of doing point location queries.</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN10555"
-></A
-><H2
->Synopsis</H2
-><PRE
-CLASS="SYNOPSIS"
->
#include <gts.h>
-
-
-<GTKDOCLINK
-HREF="GNODE"
->GNode</GTKDOCLINK
->* <A
-HREF="gts-kd-trees.html#GTS-KDTREE-NEW"
->gts_kdtree_new</A
-> (<GTKDOCLINK
-HREF="GPTRARRAY"
->GPtrArray</GTKDOCLINK
-> *points,
- <GTKDOCLINK
-HREF="INT"
->int</GTKDOCLINK
-> (*compare) (const void *,const void *));
-<GTKDOCLINK
-HREF="GSLIST"
->GSList</GTKDOCLINK
->* <A
-HREF="gts-kd-trees.html#GTS-KDTREE-RANGE"
->gts_kdtree_range</A
-> (<GTKDOCLINK
-HREF="GNODE"
->GNode</GTKDOCLINK
-> *tree,
- <A
-HREF="gts-bounding-boxes-trees.html#GTSBBOX"
->GtsBBox</A
-> *bbox,
- <GTKDOCLINK
-HREF="INT"
->int</GTKDOCLINK
-> (*compare) (const void *,const void *));
-#define <A
-HREF="gts-kd-trees.html#GTS-KDTREE-DESTROY"
->gts_kdtree_destroy</A
-> (tree)</PRE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN10568"
-></A
-><H2
->Description</H2
-><P
->Kd-Trees (in this case 3D-Trees) are a relatively efficient way of doing point location queries.</P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN10571"
-></A
-><H2
->Details</H2
-><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN10573"
-></A
-><H3
-><A
-NAME="GTS-KDTREE-NEW"
-></A
->gts_kdtree_new ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GNODE"
->GNode</GTKDOCLINK
->* gts_kdtree_new (<GTKDOCLINK
-HREF="GPTRARRAY"
->GPtrArray</GTKDOCLINK
-> *points,
- <GTKDOCLINK
-HREF="INT"
->int</GTKDOCLINK
-> (*compare) (const void *,const void *));</PRE
-><P
->Note that the order of the points in array <CODE
-CLASS="PARAMETER"
->points</CODE
-> is modified by this
-function.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN10586"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->points</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> an array of <A
-HREF="gts-points.html#GTSPOINT"
-><SPAN
-CLASS="TYPE"
->GtsPoint</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN10593"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->compare</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> always <TT
-CLASS="LITERAL"
->NULL</TT
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN10599"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a new 3D tree for <CODE
-CLASS="PARAMETER"
->points</CODE
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN10605"
-></A
-><H3
-><A
-NAME="GTS-KDTREE-RANGE"
-></A
->gts_kdtree_range ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GSLIST"
->GSList</GTKDOCLINK
->* gts_kdtree_range (<GTKDOCLINK
-HREF="GNODE"
->GNode</GTKDOCLINK
-> *tree,
- <A
-HREF="gts-bounding-boxes-trees.html#GTSBBOX"
->GtsBBox</A
-> *bbox,
- <GTKDOCLINK
-HREF="INT"
->int</GTKDOCLINK
-> (*compare) (const void *,const void *));</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN10618"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->tree</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a 3D tree.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN10623"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->bbox</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-bounding-boxes-trees.html#GTSBBOX"
-><SPAN
-CLASS="TYPE"
->GtsBBox</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN10630"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->compare</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> always <TT
-CLASS="LITERAL"
->NULL</TT
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN10636"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a list of <A
-HREF="gts-points.html#GTSPOINT"
-><SPAN
-CLASS="TYPE"
->GtsPoint</SPAN
-></A
-> belonging to <CODE
-CLASS="PARAMETER"
->tree</CODE
-> which are inside <CODE
-CLASS="PARAMETER"
->bbox</CODE
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN10645"
-></A
-><H3
-><A
-NAME="GTS-KDTREE-DESTROY"
-></A
->gts_kdtree_destroy()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define gts_kdtree_destroy(tree) g_node_destroy(tree)</PRE
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN10653"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->tree</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-></DIV
-><TABLE
-CLASS="navigation"
-WIDTH="100%"
-SUMMARY="Navigation footer"
-CELLPADDING="2"
-CELLSPACING="2"
-><TR
-VALIGN="middle"
-><TD
-ALIGN="left"
-><A
-ACCESSKEY="p"
-HREF="c10545.html"
-><B
-><<< Geometrical data structures</B
-></A
-></TD
-><TD
-ALIGN="right"
-><A
-ACCESSKEY="n"
-HREF="gts-bounding-boxes-trees.html"
-><B
->Bounding boxes trees >>></B
-></A
-></TD
-></TR
-></TABLE
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/gts-miscellaneous-macros-and-functions.html b/doc/html/gts-miscellaneous-macros-and-functions.html
deleted file mode 100644
index a9d2afb..0000000
--- a/doc/html/gts-miscellaneous-macros-and-functions.html
+++ /dev/null
@@ -1,1946 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
-<HTML
-><HEAD
-><TITLE
->Miscellaneous macros and functions</TITLE
-><META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
-REL="HOME"
-TITLE="GTS Library Reference Manual"
-HREF="book1.html"><LINK
-REL="UP"
-TITLE="Basic Macros, functions and data structures"
-HREF="c4.html"><LINK
-REL="PREVIOUS"
-TITLE="Simple statistics"
-HREF="gts-simple-statistics.html"><LINK
-REL="NEXT"
-TITLE="Geometrical Object Hierarchy"
-HREF="c2915.html"><STYLE
-TYPE="text/css"
->.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</STYLE
-></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><TABLE
-WIDTH="100%"
-CLASS="navigation"
-SUMMARY="Navigation header"
-CELLPADDING="2"
-CELLSPACING="2"
-><TR
-VALIGN="middle"
-><TD
-><A
-ACCESSKEY="p"
-HREF="gts-simple-statistics.html"
-><IMG
-SRC="left.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Prev"></A
-></TD
-><TD
-><A
-ACCESSKEY="u"
-HREF="c4.html"
-><IMG
-SRC="up.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Up"></A
-></TD
-><TD
-><A
-ACCESSKEY="h"
-HREF="book1.html"
-><IMG
-SRC="home.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Home"></A
-></TD
-><TH
-WIDTH="100%"
-align="center"
->GTS Library Reference Manual</TH
-><TD
-><A
-ACCESSKEY="n"
-HREF="c2915.html"
-><IMG
-SRC="right.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Next"></A
-></TD
-></TR
-></TABLE
-><H1
-><A
-NAME="GTS-MISCELLANEOUS-MACROS-AND-FUNCTIONS"
-></A
->Miscellaneous macros and functions</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN2394"
-></A
-><H2
->Name</H2
->Miscellaneous macros and functions -- Various utilities.</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN2397"
-></A
-><H2
->Synopsis</H2
-><PRE
-CLASS="SYNOPSIS"
->
#include <gts.h>
-
-
-#define <A
-HREF="gts-miscellaneous-macros-and-functions.html#GTS-COMMENTS:CAPS"
->GTS_COMMENTS</A
->
-
- <A
-HREF="gts-miscellaneous-macros-and-functions.html#GTSFILE"
->GtsFile</A
->;
-enum <A
-HREF="gts-miscellaneous-macros-and-functions.html#GTSTOKENTYPE"
->GtsTokenType</A
->;
- <A
-HREF="gts-miscellaneous-macros-and-functions.html#GTSFILEVARIABLE"
->GtsFileVariable</A
->;
-
-<A
-HREF="gts-miscellaneous-macros-and-functions.html#GTSFILE"
->GtsFile</A
->* <A
-HREF="gts-miscellaneous-macros-and-functions.html#GTS-FILE-NEW"
->gts_file_new</A
-> (<GTKDOCLINK
-HREF="FILE:CAPS"
->FILE</GTKDOCLINK
-> *fp);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-miscellaneous-macros-and-functions.html#GTS-FILE-NEXT-TOKEN"
->gts_file_next_token</A
-> (<A
-HREF="gts-miscellaneous-macros-and-functions.html#GTSFILE"
->GtsFile</A
-> *f);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-miscellaneous-macros-and-functions.html#GTS-FILE-FIRST-TOKEN-AFTER"
->gts_file_first_token_after</A
-> (<A
-HREF="gts-miscellaneous-macros-and-functions.html#GTSFILE"
->GtsFile</A
-> *f,
- <A
-HREF="gts-miscellaneous-macros-and-functions.html#GTSTOKENTYPE"
->GtsTokenType</A
-> type);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-miscellaneous-macros-and-functions.html#GTS-FILE-ASSIGN-START"
->gts_file_assign_start</A
-> (<A
-HREF="gts-miscellaneous-macros-and-functions.html#GTSFILE"
->GtsFile</A
-> *f,
- <A
-HREF="gts-miscellaneous-macros-and-functions.html#GTSFILEVARIABLE"
->GtsFileVariable</A
-> *vars);
-<A
-HREF="gts-miscellaneous-macros-and-functions.html#GTSFILEVARIABLE"
->GtsFileVariable</A
->* <A
-HREF="gts-miscellaneous-macros-and-functions.html#GTS-FILE-ASSIGN-NEXT"
->gts_file_assign_next</A
-> (<A
-HREF="gts-miscellaneous-macros-and-functions.html#GTSFILE"
->GtsFile</A
-> *f,
- <A
-HREF="gts-miscellaneous-macros-and-functions.html#GTSFILEVARIABLE"
->GtsFileVariable</A
-> *vars);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-miscellaneous-macros-and-functions.html#GTS-FILE-ASSIGN-VARIABLES"
->gts_file_assign_variables</A
-> (<A
-HREF="gts-miscellaneous-macros-and-functions.html#GTSFILE"
->GtsFile</A
-> *f,
- <A
-HREF="gts-miscellaneous-macros-and-functions.html#GTSFILEVARIABLE"
->GtsFileVariable</A
-> *vars);
-<GTKDOCLINK
-HREF="GINT"
->gint</GTKDOCLINK
-> <A
-HREF="gts-miscellaneous-macros-and-functions.html#GTS-FILE-GETC"
->gts_file_getc</A
-> (<A
-HREF="gts-miscellaneous-macros-and-functions.html#GTSFILE"
->GtsFile</A
-> *f);
-<GTKDOCLINK
-HREF="GINT"
->gint</GTKDOCLINK
-> <A
-HREF="gts-miscellaneous-macros-and-functions.html#GTS-FILE-GETC-SCOPE"
->gts_file_getc_scope</A
-> (<A
-HREF="gts-miscellaneous-macros-and-functions.html#GTSFILE"
->GtsFile</A
-> *f);
-<GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> <A
-HREF="gts-miscellaneous-macros-and-functions.html#GTS-FILE-READ"
->gts_file_read</A
-> (<A
-HREF="gts-miscellaneous-macros-and-functions.html#GTSFILE"
->GtsFile</A
-> *f,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> ptr,
- <GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> size,
- <GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> nmemb);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-miscellaneous-macros-and-functions.html#GTS-FILE-VARIABLE-ERROR"
->gts_file_variable_error</A
-> (<A
-HREF="gts-miscellaneous-macros-and-functions.html#GTSFILE"
->GtsFile</A
-> *f,
- <A
-HREF="gts-miscellaneous-macros-and-functions.html#GTSFILEVARIABLE"
->GtsFileVariable</A
-> *vars,
- const <GTKDOCLINK
-HREF="GCHAR"
->gchar</GTKDOCLINK
-> *name,
- const <GTKDOCLINK
-HREF="GCHAR"
->gchar</GTKDOCLINK
-> *format,
- ...);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-miscellaneous-macros-and-functions.html#GTS-FILE-VERROR"
->gts_file_verror</A
-> (<A
-HREF="gts-miscellaneous-macros-and-functions.html#GTSFILE"
->GtsFile</A
-> *f,
- const <GTKDOCLINK
-HREF="GCHAR"
->gchar</GTKDOCLINK
-> *format,
- <GTKDOCLINK
-HREF="VA-LIST"
->va_list</GTKDOCLINK
-> args);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-miscellaneous-macros-and-functions.html#GTS-FILE-ERROR"
->gts_file_error</A
-> (<A
-HREF="gts-miscellaneous-macros-and-functions.html#GTSFILE"
->GtsFile</A
-> *f,
- const <GTKDOCLINK
-HREF="GCHAR"
->gchar</GTKDOCLINK
-> *format,
- ...);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-miscellaneous-macros-and-functions.html#GTS-FILE-DESTROY"
->gts_file_destroy</A
-> (<A
-HREF="gts-miscellaneous-macros-and-functions.html#GTSFILE"
->GtsFile</A
-> *f);</PRE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN2456"
-></A
-><H2
->Description</H2
-><P
->The <GTKDOCLINK
-HREF="GTS-GET-TOKEN"
-><CODE
-CLASS="FUNCTION"
->gts_get_token()</CODE
-></GTKDOCLINK
-> and <GTKDOCLINK
-HREF="GTS-GET-NEWLINE"
-><CODE
-CLASS="FUNCTION"
->gts_get_newline()</CODE
-></GTKDOCLINK
-> functions are used for parsing GTS geometric files.</P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN2463"
-></A
-><H2
->Details</H2
-><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN2465"
-></A
-><H3
-><A
-NAME="GTS-COMMENTS:CAPS"
-></A
->GTS_COMMENTS</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_COMMENTS "#!"</PRE
-><P
->Set of characters used as comments identifiers in GTS geometric files.</P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN2472"
-></A
-><H3
-><A
-NAME="GTSFILE"
-></A
->GtsFile</H3
-><PRE
-CLASS="PROGRAMLISTING"
->typedef struct {
- FILE * fp;
- gchar * s, * s1;
- guint line, pos;
- GString * token;
- GtsTokenType type;
- gchar * error;
-
- guint curline, curpos;
- guint scope, scope_max;
- gint next_token;
- gchar * delimiters;
- gchar * comments;
- gchar * tokens;
-} GtsFile;</PRE
-><P
-></P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN2479"
-></A
-><H3
-><A
-NAME="GTSTOKENTYPE"
-></A
->enum GtsTokenType</H3
-><PRE
-CLASS="PROGRAMLISTING"
->typedef enum {
- GTS_NONE = 1 << 8,
- GTS_INT = 1 << 9,
- GTS_UINT = 1 << 10,
- GTS_FLOAT = 1 << 11,
- GTS_DOUBLE = 1 << 12,
- GTS_STRING = 1 << 13,
- GTS_FILE = 1 << 14,
- GTS_ERROR = 1 << 15
-} GtsTokenType;</PRE
-><P
-></P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN2486"
-></A
-><H3
-><A
-NAME="GTSFILEVARIABLE"
-></A
->GtsFileVariable</H3
-><PRE
-CLASS="PROGRAMLISTING"
->typedef struct {
- GtsTokenType type;
- gchar name[30];
- gboolean unique;
- gpointer data;
- gboolean set;
- guint line, pos;
-} GtsFileVariable;</PRE
-><P
-></P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN2493"
-></A
-><H3
-><A
-NAME="GTS-FILE-NEW"
-></A
->gts_file_new ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-miscellaneous-macros-and-functions.html#GTSFILE"
->GtsFile</A
->* gts_file_new (<GTKDOCLINK
-HREF="FILE:CAPS"
->FILE</GTKDOCLINK
-> *fp);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN2504"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->fp</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a file pointer.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN2509"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a new <A
-HREF="gts-miscellaneous-macros-and-functions.html#GTSFILE"
-><SPAN
-CLASS="TYPE"
->GtsFile</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN2516"
-></A
-><H3
-><A
-NAME="GTS-FILE-NEXT-TOKEN"
-></A
->gts_file_next_token ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_file_next_token (<A
-HREF="gts-miscellaneous-macros-and-functions.html#GTSFILE"
->GtsFile</A
-> *f);</PRE
-><P
->Reads next token from <CODE
-CLASS="PARAMETER"
->f</CODE
-> and updates its <CODE
-CLASS="PARAMETER"
->token</CODE
-> and <CODE
-CLASS="PARAMETER"
->delim</CODE
-> fields.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN2530"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->f</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-miscellaneous-macros-and-functions.html#GTSFILE"
-><SPAN
-CLASS="TYPE"
->GtsFile</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN2537"
-></A
-><H3
-><A
-NAME="GTS-FILE-FIRST-TOKEN-AFTER"
-></A
->gts_file_first_token_after ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_file_first_token_after (<A
-HREF="gts-miscellaneous-macros-and-functions.html#GTSFILE"
->GtsFile</A
-> *f,
- <A
-HREF="gts-miscellaneous-macros-and-functions.html#GTSTOKENTYPE"
->GtsTokenType</A
-> type);</PRE
-><P
->Finds and sets the first token of a type different from <CODE
-CLASS="PARAMETER"
->type</CODE
->
-occuring after a token of type <CODE
-CLASS="PARAMETER"
->type</CODE
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN2551"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->f</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-miscellaneous-macros-and-functions.html#GTSFILE"
-><SPAN
-CLASS="TYPE"
->GtsFile</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN2558"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->type</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-miscellaneous-macros-and-functions.html#GTSTOKENTYPE"
-><SPAN
-CLASS="TYPE"
->GtsTokenType</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN2565"
-></A
-><H3
-><A
-NAME="GTS-FILE-ASSIGN-START"
-></A
->gts_file_assign_start ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_file_assign_start (<A
-HREF="gts-miscellaneous-macros-and-functions.html#GTSFILE"
->GtsFile</A
-> *f,
- <A
-HREF="gts-miscellaneous-macros-and-functions.html#GTSFILEVARIABLE"
->GtsFileVariable</A
-> *vars);</PRE
-><P
->Opens a block delimited by braces to read a list of optional
-arguments specified by <CODE
-CLASS="PARAMETER"
->vars</CODE
->. </P
-><P
->If an error is encountered the <CODE
-CLASS="PARAMETER"
->error</CODE
-> field of <CODE
-CLASS="PARAMETER"
->f</CODE
-> is set.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN2581"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->f</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-miscellaneous-macros-and-functions.html#GTSFILE"
-><SPAN
-CLASS="TYPE"
->GtsFile</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN2588"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->vars</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <TT
-CLASS="LITERAL"
->GTS_NONE</TT
-> terminated array of <A
-HREF="gts-miscellaneous-macros-and-functions.html#GTSFILEVARIABLE"
-><SPAN
-CLASS="TYPE"
->GtsFileVariable</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN2596"
-></A
-><H3
-><A
-NAME="GTS-FILE-ASSIGN-NEXT"
-></A
->gts_file_assign_next ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-miscellaneous-macros-and-functions.html#GTSFILEVARIABLE"
->GtsFileVariable</A
->* gts_file_assign_next (<A
-HREF="gts-miscellaneous-macros-and-functions.html#GTSFILE"
->GtsFile</A
-> *f,
- <A
-HREF="gts-miscellaneous-macros-and-functions.html#GTSFILEVARIABLE"
->GtsFileVariable</A
-> *vars);</PRE
-><P
->Assigns the next optional argument of <CODE
-CLASS="PARAMETER"
->vars</CODE
-> read from <CODE
-CLASS="PARAMETER"
->f</CODE
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN2610"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->f</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-miscellaneous-macros-and-functions.html#GTSFILE"
-><SPAN
-CLASS="TYPE"
->GtsFile</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN2617"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->vars</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <TT
-CLASS="LITERAL"
->GTS_NONE</TT
-> terminated array of <A
-HREF="gts-miscellaneous-macros-and-functions.html#GTSFILEVARIABLE"
-><SPAN
-CLASS="TYPE"
->GtsFileVariable</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN2625"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the variable of <CODE
-CLASS="PARAMETER"
->vars</CODE
-> which has been assigned or <TT
-CLASS="LITERAL"
->NULL</TT
-> if
-no variable has been assigned (if an error has been encountered the
-<CODE
-CLASS="PARAMETER"
->error</CODE
-> field of <CODE
-CLASS="PARAMETER"
->f</CODE
-> is set). </P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN2634"
-></A
-><H3
-><A
-NAME="GTS-FILE-ASSIGN-VARIABLES"
-></A
->gts_file_assign_variables ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_file_assign_variables (<A
-HREF="gts-miscellaneous-macros-and-functions.html#GTSFILE"
->GtsFile</A
-> *f,
- <A
-HREF="gts-miscellaneous-macros-and-functions.html#GTSFILEVARIABLE"
->GtsFileVariable</A
-> *vars);</PRE
-><P
->Assigns all the variables belonging to <CODE
-CLASS="PARAMETER"
->vars</CODE
-> found in <CODE
-CLASS="PARAMETER"
->f</CODE
->.</P
-><P
->If an error is encountered the <CODE
-CLASS="PARAMETER"
->error</CODE
-> field of <CODE
-CLASS="PARAMETER"
->f</CODE
-> is set.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN2651"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->f</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-miscellaneous-macros-and-functions.html#GTSFILE"
-><SPAN
-CLASS="TYPE"
->GtsFile</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN2658"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->vars</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> an array of <A
-HREF="gts-miscellaneous-macros-and-functions.html#GTSFILEVARIABLE"
-><SPAN
-CLASS="TYPE"
->GtsFileVariable</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN2665"
-></A
-><H3
-><A
-NAME="GTS-FILE-GETC"
-></A
->gts_file_getc ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GINT"
->gint</GTKDOCLINK
-> gts_file_getc (<A
-HREF="gts-miscellaneous-macros-and-functions.html#GTSFILE"
->GtsFile</A
-> *f);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN2676"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->f</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-miscellaneous-macros-and-functions.html#GTSFILE"
-><SPAN
-CLASS="TYPE"
->GtsFile</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN2683"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the next character in <CODE
-CLASS="PARAMETER"
->f</CODE
-> or EOF if the end of the file is
-reached or if an error occured.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN2689"
-></A
-><H3
-><A
-NAME="GTS-FILE-GETC-SCOPE"
-></A
->gts_file_getc_scope ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GINT"
->gint</GTKDOCLINK
-> gts_file_getc_scope (<A
-HREF="gts-miscellaneous-macros-and-functions.html#GTSFILE"
->GtsFile</A
-> *f);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN2700"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->f</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-miscellaneous-macros-and-functions.html#GTSFILE"
-><SPAN
-CLASS="TYPE"
->GtsFile</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN2707"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the next character in <CODE
-CLASS="PARAMETER"
->f</CODE
-> in the scope defined by
-<CODE
-CLASS="PARAMETER"
->f</CODE
->->scope_max or EOF if the end of the file is reached or if an
-error occured.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN2714"
-></A
-><H3
-><A
-NAME="GTS-FILE-READ"
-></A
->gts_file_read ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> gts_file_read (<A
-HREF="gts-miscellaneous-macros-and-functions.html#GTSFILE"
->GtsFile</A
-> *f,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> ptr,
- <GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> size,
- <GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> nmemb);</PRE
-><P
->Reads <CODE
-CLASS="PARAMETER"
->nmemb</CODE
-> elements of data, each <CODE
-CLASS="PARAMETER"
->size</CODE
-> bytes long, from <CODE
-CLASS="PARAMETER"
->f</CODE
->,
-storing them at the location given by <CODE
-CLASS="PARAMETER"
->ptr</CODE
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN2732"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->f</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-miscellaneous-macros-and-functions.html#GTSFILE"
-><SPAN
-CLASS="TYPE"
->GtsFile</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN2739"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->ptr</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a pointer.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN2744"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->size</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> size of an element.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN2749"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->nmemb</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> number of elements.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN2754"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the number of elements read.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN2759"
-></A
-><H3
-><A
-NAME="GTS-FILE-VARIABLE-ERROR"
-></A
->gts_file_variable_error ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_file_variable_error (<A
-HREF="gts-miscellaneous-macros-and-functions.html#GTSFILE"
->GtsFile</A
-> *f,
- <A
-HREF="gts-miscellaneous-macros-and-functions.html#GTSFILEVARIABLE"
->GtsFileVariable</A
-> *vars,
- const <GTKDOCLINK
-HREF="GCHAR"
->gchar</GTKDOCLINK
-> *name,
- const <GTKDOCLINK
-HREF="GCHAR"
->gchar</GTKDOCLINK
-> *format,
- ...);</PRE
-><P
->Sets the <CODE
-CLASS="PARAMETER"
->error</CODE
-> field of <CODE
-CLASS="PARAMETER"
->f</CODE
-> using <A
-HREF="gts-miscellaneous-macros-and-functions.html#GTS-FILE-VERROR"
-><CODE
-CLASS="FUNCTION"
->gts_file_verror()</CODE
-></A
->.</P
-><P
->String <CODE
-CLASS="PARAMETER"
->name</CODE
-> must match one of the variable names in <CODE
-CLASS="PARAMETER"
->vars</CODE
->.</P
-><P
->If variable <CODE
-CLASS="PARAMETER"
->name</CODE
-> has been assigned (using <A
-HREF="gts-miscellaneous-macros-and-functions.html#GTS-FILE-ASSIGN-VARIABLES"
-><CODE
-CLASS="FUNCTION"
->gts_file_assign_variables()</CODE
-></A
->)
-sets the <CODE
-CLASS="PARAMETER"
->line</CODE
-> and <CODE
-CLASS="PARAMETER"
->pos</CODE
-> fields of <CODE
-CLASS="PARAMETER"
->f</CODE
-> to the line and position where
-it has been assigned.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN2787"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->f</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-miscellaneous-macros-and-functions.html#GTSFILE"
-><SPAN
-CLASS="TYPE"
->GtsFile</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN2794"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->vars</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> an array of <A
-HREF="gts-miscellaneous-macros-and-functions.html#GTSFILEVARIABLE"
-><SPAN
-CLASS="TYPE"
->GtsFileVariable</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN2801"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->name</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the name of a variable in <CODE
-CLASS="PARAMETER"
->vars</CODE
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN2807"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->format</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the standard <GTKDOCLINK
-HREF="SPRINTF"
-><CODE
-CLASS="FUNCTION"
->sprintf()</CODE
-></GTKDOCLINK
-> format string.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN2814"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->...</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the parameters to insert into the format string.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN2819"
-></A
-><H3
-><A
-NAME="GTS-FILE-VERROR"
-></A
->gts_file_verror ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_file_verror (<A
-HREF="gts-miscellaneous-macros-and-functions.html#GTSFILE"
->GtsFile</A
-> *f,
- const <GTKDOCLINK
-HREF="GCHAR"
->gchar</GTKDOCLINK
-> *format,
- <GTKDOCLINK
-HREF="VA-LIST"
->va_list</GTKDOCLINK
-> args);</PRE
-><P
->Sets the <CODE
-CLASS="PARAMETER"
->error</CODE
-> field of <CODE
-CLASS="PARAMETER"
->f</CODE
-> using <GTKDOCLINK
-HREF="G-STRDUP-VPRINTF"
-><CODE
-CLASS="FUNCTION"
->g_strdup_vprintf()</CODE
-></GTKDOCLINK
->.</P
-><P
->This function can be called only once and disables any other
-operation on <CODE
-CLASS="PARAMETER"
->f</CODE
-> (<GTKDOCLINK
-HREF="GTS-FILE-CLOSE"
-><CODE
-CLASS="FUNCTION"
->gts_file_close()</CODE
-></GTKDOCLINK
-> excepted).</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN2840"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->f</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <CODE
-CLASS="PARAMETER"
->GtsFile</CODE
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN2846"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->format</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the standard <GTKDOCLINK
-HREF="SPRINTF"
-><CODE
-CLASS="FUNCTION"
->sprintf()</CODE
-></GTKDOCLINK
-> format string.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN2853"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->args</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the list of parameters to insert into the format string.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN2858"
-></A
-><H3
-><A
-NAME="GTS-FILE-ERROR"
-></A
->gts_file_error ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_file_error (<A
-HREF="gts-miscellaneous-macros-and-functions.html#GTSFILE"
->GtsFile</A
-> *f,
- const <GTKDOCLINK
-HREF="GCHAR"
->gchar</GTKDOCLINK
-> *format,
- ...);</PRE
-><P
->Sets the <CODE
-CLASS="PARAMETER"
->error</CODE
-> field of <CODE
-CLASS="PARAMETER"
->f</CODE
-> using <A
-HREF="gts-miscellaneous-macros-and-functions.html#GTS-FILE-VERROR"
-><CODE
-CLASS="FUNCTION"
->gts_file_verror()</CODE
-></A
->.</P
-><P
->This function can be called only once and disables any other
-operation on <CODE
-CLASS="PARAMETER"
->f</CODE
-> (<GTKDOCLINK
-HREF="GTS-FILE-CLOSE"
-><CODE
-CLASS="FUNCTION"
->gts_file_close()</CODE
-></GTKDOCLINK
-> excepted).</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN2878"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->f</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <CODE
-CLASS="PARAMETER"
->GtsFile</CODE
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN2884"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->format</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the standard <GTKDOCLINK
-HREF="SPRINTF"
-><CODE
-CLASS="FUNCTION"
->sprintf()</CODE
-></GTKDOCLINK
-> format string.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN2891"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->...</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the parameters to insert into the format string.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN2896"
-></A
-><H3
-><A
-NAME="GTS-FILE-DESTROY"
-></A
->gts_file_destroy ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_file_destroy (<A
-HREF="gts-miscellaneous-macros-and-functions.html#GTSFILE"
->GtsFile</A
-> *f);</PRE
-><P
->Frees all the memory allocated for <CODE
-CLASS="PARAMETER"
->f</CODE
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN2908"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->f</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-miscellaneous-macros-and-functions.html#GTSFILE"
-><SPAN
-CLASS="TYPE"
->GtsFile</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-></DIV
-><TABLE
-CLASS="navigation"
-WIDTH="100%"
-SUMMARY="Navigation footer"
-CELLPADDING="2"
-CELLSPACING="2"
-><TR
-VALIGN="middle"
-><TD
-ALIGN="left"
-><A
-ACCESSKEY="p"
-HREF="gts-simple-statistics.html"
-><B
-><<< Simple statistics</B
-></A
-></TD
-><TD
-ALIGN="right"
-><A
-ACCESSKEY="n"
-HREF="c2915.html"
-><B
->Geometrical Object Hierarchy >>></B
-></A
-></TD
-></TR
-></TABLE
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/gts-object-class.html b/doc/html/gts-object-class.html
deleted file mode 100644
index 0ed7607..0000000
--- a/doc/html/gts-object-class.html
+++ /dev/null
@@ -1,2838 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
-<HTML
-><HEAD
-><TITLE
->Object class</TITLE
-><META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
-REL="HOME"
-TITLE="GTS Library Reference Manual"
-HREF="book1.html"><LINK
-REL="UP"
-TITLE="Geometrical Object Hierarchy"
-HREF="c2915.html"><LINK
-REL="PREVIOUS"
-TITLE="Geometrical Object Hierarchy"
-HREF="c2915.html"><LINK
-REL="NEXT"
-TITLE="Container classes"
-HREF="gts-container-classes.html"><STYLE
-TYPE="text/css"
->.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</STYLE
-></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><TABLE
-WIDTH="100%"
-CLASS="navigation"
-SUMMARY="Navigation header"
-CELLPADDING="2"
-CELLSPACING="2"
-><TR
-VALIGN="middle"
-><TD
-><A
-ACCESSKEY="p"
-HREF="c2915.html"
-><IMG
-SRC="left.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Prev"></A
-></TD
-><TD
-><A
-ACCESSKEY="u"
-HREF="c2915.html"
-><IMG
-SRC="up.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Up"></A
-></TD
-><TD
-><A
-ACCESSKEY="h"
-HREF="book1.html"
-><IMG
-SRC="home.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Home"></A
-></TD
-><TH
-WIDTH="100%"
-align="center"
->GTS Library Reference Manual</TH
-><TD
-><A
-ACCESSKEY="n"
-HREF="gts-container-classes.html"
-><IMG
-SRC="right.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Next"></A
-></TD
-></TR
-></TABLE
-><H1
-><A
-NAME="GTS-OBJECT-CLASS"
-></A
->Object class</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN2926"
-></A
-><H2
->Name</H2
->Object class -- parent class for all GTS objects.</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN2929"
-></A
-><H2
->Synopsis</H2
-><PRE
-CLASS="SYNOPSIS"
->
#include <gts.h>
-
-
-#define <A
-HREF="gts-object-class.html#GTS-CLASS-NAME-LENGTH:CAPS"
->GTS_CLASS_NAME_LENGTH</A
->
-#define <A
-HREF="gts-object-class.html#GTS-OBJECT-CLASS:CAPS"
->GTS_OBJECT_CLASS</A
-> (klass)
-#define <A
-HREF="gts-object-class.html#GTS-OBJECT:CAPS"
->GTS_OBJECT</A
-> (obj)
-#define <A
-HREF="gts-object-class.html#GTS-IS-OBJECT:CAPS"
->GTS_IS_OBJECT</A
-> (obj)
-#define <A
-HREF="gts-object-class.html#GTS-OBJECT-CLASS-CAST:CAPS"
->GTS_OBJECT_CLASS_CAST</A
-> (objklass, type, klass)
-#define <A
-HREF="gts-object-class.html#GTS-OBJECT-CAST:CAPS"
->GTS_OBJECT_CAST</A
-> (obj, type, klass)
-#define <A
-HREF="gts-object-class.html#GTS-OBJECT-FLAGS:CAPS"
->GTS_OBJECT_FLAGS</A
-> (obj)
-#define <A
-HREF="gts-object-class.html#GTS-OBJECT-SET-FLAGS:CAPS"
->GTS_OBJECT_SET_FLAGS</A
-> (obj,flag)
-#define <A
-HREF="gts-object-class.html#GTS-OBJECT-UNSET-FLAGS:CAPS"
->GTS_OBJECT_UNSET_FLAGS</A
-> (obj,flag)
-#define <A
-HREF="gts-object-class.html#GTS-OBJECT-DESTROYED:CAPS"
->GTS_OBJECT_DESTROYED</A
-> (obj)
-
- <A
-HREF="gts-object-class.html#GTSOBJECTCLASS"
->GtsObjectClass</A
->;
- <A
-HREF="gts-object-class.html#GTSOBJECT"
->GtsObject</A
->;
- <A
-HREF="gts-object-class.html#GTSOBJECTCLASSINFO"
->GtsObjectClassInfo</A
->;
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> (<A
-HREF="gts-object-class.html#GTSOBJECTCLASSINITFUNC"
->*GtsObjectClassInitFunc</A
->) (<A
-HREF="gts-object-class.html#GTSOBJECTCLASS"
->GtsObjectClass</A
-> *objclass);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> (<A
-HREF="gts-object-class.html#GTSOBJECTINITFUNC"
->*GtsObjectInitFunc</A
->) (<A
-HREF="gts-object-class.html#GTSOBJECT"
->GtsObject</A
-> *obj);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> (<A
-HREF="gts-object-class.html#GTSARGSETFUNC"
->*GtsArgSetFunc</A
->) (<A
-HREF="gts-object-class.html#GTSOBJECT"
->GtsObject</A
-> *obj);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> (<A
-HREF="gts-object-class.html#GTSARGGETFUNC"
->*GtsArgGetFunc</A
->) (<A
-HREF="gts-object-class.html#GTSOBJECT"
->GtsObject</A
-> *obj);
-enum <A
-HREF="gts-object-class.html#GTSOBJECTFLAGS"
->GtsObjectFlags</A
->;
- <A
-HREF="gts-object-class.html#GTSCOLOR"
->GtsColor</A
->;
-
-<A
-HREF="gts-object-class.html#GTSOBJECTCLASS"
->GtsObjectClass</A
->* <A
-HREF="gts-object-class.html"
->gts_object_class</A
-> (void);
-<GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> <A
-HREF="gts-object-class.html#GTS-OBJECT-CLASS-NEW"
->gts_object_class_new</A
-> (<A
-HREF="gts-object-class.html#GTSOBJECTCLASS"
->GtsObjectClass</A
-> *parent_class,
- <A
-HREF="gts-object-class.html#GTSOBJECTCLASSINFO"
->GtsObjectClassInfo</A
-> *info);
-<GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> <A
-HREF="gts-object-class.html#GTS-OBJECT-CLASS-CHECK-CAST"
->gts_object_class_check_cast</A
-> (<GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> klass,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> from);
-<GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> <A
-HREF="gts-object-class.html#GTS-OBJECT-CLASS-IS-FROM-CLASS"
->gts_object_class_is_from_class</A
-> (<GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> klass,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> from);
-<A
-HREF="gts-object-class.html#GTSOBJECTCLASS"
->GtsObjectClass</A
->* <A
-HREF="gts-object-class.html#GTS-OBJECT-CLASS-FROM-NAME"
->gts_object_class_from_name</A
-> (const <GTKDOCLINK
-HREF="GCHAR"
->gchar</GTKDOCLINK
-> *name);
-<A
-HREF="gts-object-class.html#GTSOBJECT"
->GtsObject</A
->* <A
-HREF="gts-object-class.html#GTS-OBJECT-NEW"
->gts_object_new</A
-> (<A
-HREF="gts-object-class.html#GTSOBJECTCLASS"
->GtsObjectClass</A
-> *klass);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-object-class.html#GTS-OBJECT-INIT"
->gts_object_init</A
-> (<A
-HREF="gts-object-class.html#GTSOBJECT"
->GtsObject</A
-> *object,
- <A
-HREF="gts-object-class.html#GTSOBJECTCLASS"
->GtsObjectClass</A
-> *klass);
-<A
-HREF="gts-object-class.html#GTSOBJECT"
->GtsObject</A
->* <A
-HREF="gts-object-class.html#GTS-OBJECT-CLONE"
->gts_object_clone</A
-> (<A
-HREF="gts-object-class.html#GTSOBJECT"
->GtsObject</A
-> *object);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-object-class.html#GTS-OBJECT-ATTRIBUTES"
->gts_object_attributes</A
-> (<A
-HREF="gts-object-class.html#GTSOBJECT"
->GtsObject</A
-> *object,
- <A
-HREF="gts-object-class.html#GTSOBJECT"
->GtsObject</A
-> *from);
-<GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> <A
-HREF="gts-object-class.html#GTS-OBJECT-CHECK-CAST"
->gts_object_check_cast</A
-> (<GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> object,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> klass);
-<GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> <A
-HREF="gts-object-class.html#GTS-OBJECT-IS-FROM-CLASS"
->gts_object_is_from_class</A
-> (<GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> object,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> klass);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-object-class.html#GTS-OBJECT-RESET-RESERVED"
->gts_object_reset_reserved</A
-> (<A
-HREF="gts-object-class.html#GTSOBJECT"
->GtsObject</A
-> *object);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-object-class.html#GTS-OBJECT-DESTROY"
->gts_object_destroy</A
-> (<A
-HREF="gts-object-class.html#GTSOBJECT"
->GtsObject</A
-> *object);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-object-class.html#GTS-FINALIZE"
->gts_finalize</A
-> (void);</PRE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN3006"
-></A
-><H2
->Description</H2
-><P
->All GTS objects are derived from this base class. Objects of any class can be constructed using the <A
-HREF="gts-object-class.html#GTS-OBJECT-NEW"
-><CODE
-CLASS="FUNCTION"
->gts_object_new()</CODE
-></A
-> function and destroyed using the <A
-HREF="gts-object-class.html#GTS-OBJECT-DESTROY"
-><CODE
-CLASS="FUNCTION"
->gts_object_destroy()</CODE
-></A
-> function. Default virtual methods include <GTKDOCLINK
-HREF="READ"
-><CODE
-CLASS="FUNCTION"
->read()</CODE
-></GTKDOCLINK
-> and <GTKDOCLINK
-HREF="WRITE"
-><CODE
-CLASS="FUNCTION"
->write()</CODE
-></GTKDOCLINK
-> functions which can be used to read or write associated objects attributes from or to GTS geometrical files.</P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN3017"
-></A
-><H2
->Details</H2
-><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN3019"
-></A
-><H3
-><A
-NAME="GTS-CLASS-NAME-LENGTH:CAPS"
-></A
->GTS_CLASS_NAME_LENGTH</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_CLASS_NAME_LENGTH 40</PRE
-><P
->Maximum class name length for <A
-HREF="gts-object-class.html#GTSOBJECTCLASS"
-><SPAN
-CLASS="TYPE"
->GtsObjectClass</SPAN
-></A
->.</P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN3028"
-></A
-><H3
-><A
-NAME="GTS-OBJECT-CLASS:CAPS"
-></A
->GTS_OBJECT_CLASS()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_OBJECT_CLASS(klass)</PRE
-><P
->Casts <CODE
-CLASS="PARAMETER"
->klass</CODE
-> to <A
-HREF="gts-object-class.html#GTSOBJECTCLASS"
-><SPAN
-CLASS="TYPE"
->GtsObjectClass</SPAN
-></A
->.</P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN3039"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->klass</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->a <A
-HREF="gts-object-class.html#GTSOBJECTCLASS"
-><SPAN
-CLASS="TYPE"
->GtsObjectClass</SPAN
-></A
->.
-
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN3046"
-></A
-><H3
-><A
-NAME="GTS-OBJECT:CAPS"
-></A
->GTS_OBJECT()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_OBJECT(obj)</PRE
-><P
->Casts <CODE
-CLASS="PARAMETER"
->obj</CODE
-> to <A
-HREF="gts-object-class.html#GTSOBJECT"
-><SPAN
-CLASS="TYPE"
->GtsObject</SPAN
-></A
->.</P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN3057"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->obj</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->a <A
-HREF="gts-object-class.html#GTSOBJECT"
-><SPAN
-CLASS="TYPE"
->GtsObject</SPAN
-></A
->.
-
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN3064"
-></A
-><H3
-><A
-NAME="GTS-IS-OBJECT:CAPS"
-></A
->GTS_IS_OBJECT()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_IS_OBJECT(obj)</PRE
-><P
->Evaluates to <TT
-CLASS="LITERAL"
->TRUE</TT
-> if <CODE
-CLASS="PARAMETER"
->obj</CODE
-> is a <A
-HREF="gts-object-class.html#GTSOBJECT"
-><SPAN
-CLASS="TYPE"
->GtsObject</SPAN
-></A
->, <TT
-CLASS="LITERAL"
->FALSE</TT
-> otherwise.</P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN3077"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->obj</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->a pointer to test.
-
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN3082"
-></A
-><H3
-><A
-NAME="GTS-OBJECT-CLASS-CAST:CAPS"
-></A
->GTS_OBJECT_CLASS_CAST()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_OBJECT_CLASS_CAST(objklass, type, klass)</PRE
-><P
->This macro is used to define casting macros for object classes. You should need it only when writing new object class functions.</P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN3090"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->objklass</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->a <A
-HREF="gts-object-class.html#GTSOBJECTCLASS"
-><SPAN
-CLASS="TYPE"
->GtsObjectClass</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN3097"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->type</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->The class type to cast <CODE
-CLASS="PARAMETER"
->objklass</CODE
-> to (example: GtsObjectClass).</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN3103"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->klass</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->the class to cast <CODE
-CLASS="PARAMETER"
->objklass</CODE
-> to (example: <A
-HREF="gts-object-class.html"
-><CODE
-CLASS="FUNCTION"
->gts_object_class()</CODE
-></A
->).
-
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN3111"
-></A
-><H3
-><A
-NAME="GTS-OBJECT-CAST:CAPS"
-></A
->GTS_OBJECT_CAST()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_OBJECT_CAST(obj, type, klass)</PRE
-><P
->This macro is used to define casting macros for object. You should need it only when writing new object functions.</P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN3119"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->obj</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->a <A
-HREF="gts-object-class.html#GTSOBJECT"
-><SPAN
-CLASS="TYPE"
->GtsObject</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN3126"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->type</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->the object type to cast <CODE
-CLASS="PARAMETER"
->obj</CODE
-> to (example: GtsObject).</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN3132"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->klass</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->the object class to cast <CODE
-CLASS="PARAMETER"
->obj</CODE
-> to (example: <GTKDOCLINK
-HREF="GTS-OBJECT"
-><CODE
-CLASS="FUNCTION"
->gts_object()</CODE
-></GTKDOCLINK
->).
-
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN3140"
-></A
-><H3
-><A
-NAME="GTS-OBJECT-FLAGS:CAPS"
-></A
->GTS_OBJECT_FLAGS()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_OBJECT_FLAGS(obj) (GTS_OBJECT (obj)->flags)</PRE
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN3148"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->obj</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN3153"
-></A
-><H3
-><A
-NAME="GTS-OBJECT-SET-FLAGS:CAPS"
-></A
->GTS_OBJECT_SET_FLAGS()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_OBJECT_SET_FLAGS(obj,flag) G_STMT_START{ (GTS_OBJECT_FLAGS (obj) |= (flag)); }G_STMT_END</PRE
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN3161"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->obj</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-></P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN3166"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->flag</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN3171"
-></A
-><H3
-><A
-NAME="GTS-OBJECT-UNSET-FLAGS:CAPS"
-></A
->GTS_OBJECT_UNSET_FLAGS()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_OBJECT_UNSET_FLAGS(obj,flag) G_STMT_START{ (GTS_OBJECT_FLAGS (obj) &= ~(flag)); }G_STMT_END</PRE
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN3179"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->obj</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-></P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN3184"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->flag</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN3189"
-></A
-><H3
-><A
-NAME="GTS-OBJECT-DESTROYED:CAPS"
-></A
->GTS_OBJECT_DESTROYED()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_OBJECT_DESTROYED(obj) ((GTS_OBJECT_FLAGS (obj) & GTS_DESTROYED) != 0)</PRE
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN3197"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->obj</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN3202"
-></A
-><H3
-><A
-NAME="GTSOBJECTCLASS"
-></A
->GtsObjectClass</H3
-><PRE
-CLASS="PROGRAMLISTING"
->typedef struct {
- GtsObjectClassInfo info;
- GtsObjectClass * parent_class;
-
- void (* clone) (GtsObject *, GtsObject *);
- void (* destroy) (GtsObject *);
- void (* read) (GtsObject **, GtsFile *);
- void (* write) (GtsObject *, FILE *);
- GtsColor (* color) (GtsObject *);
- void (* attributes) (GtsObject *, GtsObject *);
-} GtsObjectClass;</PRE
-><P
->The base object class structure. All the virtual functions <CODE
-CLASS="PARAMETER"
->clone</CODE
->, <CODE
-CLASS="PARAMETER"
->destroy</CODE
->, <CODE
-CLASS="PARAMETER"
->read</CODE
-> and <CODE
-CLASS="PARAMETER"
->write</CODE
-> can be overloaded. The default <CODE
-CLASS="PARAMETER"
->read</CODE
-> and <CODE
-CLASS="PARAMETER"
->write</CODE
-> methods are undefined. The default <CODE
-CLASS="PARAMETER"
->clone</CODE
-> method just copies the object structure. The default <CODE
-CLASS="PARAMETER"
->destroy</CODE
-> method frees the memory allocated for a given object structure.</P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN3217"
-></A
-><H3
-><A
-NAME="GTSOBJECT"
-></A
->GtsObject</H3
-><PRE
-CLASS="PROGRAMLISTING"
->typedef struct {
- GtsObjectClass * klass;
-
- gpointer reserved;
- guint32 flags;
-} GtsObject;</PRE
-><P
->The base object structure.</P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN3225"><SPAN
-STYLE="white-space: nowrap"
-><A
-HREF="gts-object-class.html#GTSOBJECTCLASS"
->GtsObjectClass</A
-> *<CODE
-CLASS="STRUCTFIELD"
->klass</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->The object class.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN3231"><SPAN
-STYLE="white-space: nowrap"
-><GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> <CODE
-CLASS="STRUCTFIELD"
->reserved</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->Used internally by the library.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN3237"><SPAN
-STYLE="white-space: nowrap"
-><GTKDOCLINK
-HREF="GUINT32"
->guint32</GTKDOCLINK
-> <CODE
-CLASS="STRUCTFIELD"
->flags</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->Used internally.
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN3243"
-></A
-><H3
-><A
-NAME="GTSOBJECTCLASSINFO"
-></A
->GtsObjectClassInfo</H3
-><PRE
-CLASS="PROGRAMLISTING"
->typedef struct {
- gchar name[GTS_CLASS_NAME_LENGTH];
- guint object_size;
- guint class_size;
- GtsObjectClassInitFunc class_init_func;
- GtsObjectInitFunc object_init_func;
- GtsArgSetFunc arg_set_func;
- GtsArgGetFunc arg_get_func;
-} GtsObjectClassInfo;</PRE
-><P
->Informations about a <A
-HREF="gts-object-class.html#GTSOBJECTCLASS"
-><SPAN
-CLASS="TYPE"
->GtsObjectClass</SPAN
-></A
->, including name, size of the object structure to be allocated when constructing the object, size of the object class structure to be allocated when instanciating the object class, class initialization function, object initialization function.</P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN3252"
-></A
-><H3
-><A
-NAME="GTSOBJECTCLASSINITFUNC"
-></A
->GtsObjectClassInitFunc ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> (*GtsObjectClassInitFunc) (<A
-HREF="gts-object-class.html#GTSOBJECTCLASS"
->GtsObjectClass</A
-> *objclass);</PRE
-><P
->A function to call to initialize an object class.</P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN3262"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->objclass</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->a <A
-HREF="gts-object-class.html#GTSOBJECTCLASS"
-><SPAN
-CLASS="TYPE"
->GtsObjectClass</SPAN
-></A
-> to be initialized.
-
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN3269"
-></A
-><H3
-><A
-NAME="GTSOBJECTINITFUNC"
-></A
->GtsObjectInitFunc ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> (*GtsObjectInitFunc) (<A
-HREF="gts-object-class.html#GTSOBJECT"
->GtsObject</A
-> *obj);</PRE
-><P
->A function to call to initialize an object.</P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN3279"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->obj</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->a <A
-HREF="gts-object-class.html#GTSOBJECT"
-><SPAN
-CLASS="TYPE"
->GtsObject</SPAN
-></A
->.
-
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN3286"
-></A
-><H3
-><A
-NAME="GTSARGSETFUNC"
-></A
->GtsArgSetFunc ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> (*GtsArgSetFunc) (<A
-HREF="gts-object-class.html#GTSOBJECT"
->GtsObject</A
-> *obj);</PRE
-><P
->Defined for future use.</P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN3296"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->obj</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->a <A
-HREF="gts-object-class.html#GTSOBJECT"
-><SPAN
-CLASS="TYPE"
->GtsObject</SPAN
-></A
->.
-
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN3303"
-></A
-><H3
-><A
-NAME="GTSARGGETFUNC"
-></A
->GtsArgGetFunc ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> (*GtsArgGetFunc) (<A
-HREF="gts-object-class.html#GTSOBJECT"
->GtsObject</A
-> *obj);</PRE
-><P
->Defined for future use.</P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN3313"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->obj</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->a <A
-HREF="gts-object-class.html#GTSOBJECT"
-><SPAN
-CLASS="TYPE"
->GtsObject</SPAN
-></A
->.
-
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN3320"
-></A
-><H3
-><A
-NAME="GTSOBJECTFLAGS"
-></A
->enum GtsObjectFlags</H3
-><PRE
-CLASS="PROGRAMLISTING"
->typedef enum
-{
- GTS_DESTROYED = 1 << 0,
- GTS_USER_FLAG = 1 /* user flags start from here */
-} GtsObjectFlags;</PRE
-><P
-></P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN3327"
-></A
-><H3
-><A
-NAME="GTSCOLOR"
-></A
->GtsColor</H3
-><PRE
-CLASS="PROGRAMLISTING"
->typedef struct {
- gfloat r, g, b;
-} GtsColor;</PRE
-><P
-></P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN3334"
-></A
-><H3
-><A
-NAME="GTS-OBJECT-CLASS"
-></A
->gts_object_class ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-object-class.html#GTSOBJECTCLASS"
->GtsObjectClass</A
->* gts_object_class (void);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN3344"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the <A
-HREF="gts-object-class.html#GTSOBJECTCLASS"
-><SPAN
-CLASS="TYPE"
->GtsObjectClass</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN3351"
-></A
-><H3
-><A
-NAME="GTS-OBJECT-CLASS-NEW"
-></A
->gts_object_class_new ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> gts_object_class_new (<A
-HREF="gts-object-class.html#GTSOBJECTCLASS"
->GtsObjectClass</A
-> *parent_class,
- <A
-HREF="gts-object-class.html#GTSOBJECTCLASSINFO"
->GtsObjectClassInfo</A
-> *info);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN3363"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->parent_class</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-object-class.html#GTSOBJECTCLASS"
-><SPAN
-CLASS="TYPE"
->GtsObjectClass</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN3370"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->info</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-object-class.html#GTSOBJECTCLASSINFO"
-><SPAN
-CLASS="TYPE"
->GtsObjectClassInfo</SPAN
-></A
->, description of the new class to create.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN3377"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a new <A
-HREF="gts-object-class.html#GTSOBJECTCLASS"
-><SPAN
-CLASS="TYPE"
->GtsObjectClass</SPAN
-></A
-> derived from <CODE
-CLASS="PARAMETER"
->parent_class</CODE
-> and described by
-<CODE
-CLASS="PARAMETER"
->info</CODE
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN3386"
-></A
-><H3
-><A
-NAME="GTS-OBJECT-CLASS-CHECK-CAST"
-></A
->gts_object_class_check_cast ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> gts_object_class_check_cast (<GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> klass,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> from);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN3398"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->klass</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-object-class.html#GTSOBJECTCLASS"
-><SPAN
-CLASS="TYPE"
->GtsObjectClass</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN3405"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->from</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-object-class.html#GTSOBJECTCLASS"
-><SPAN
-CLASS="TYPE"
->GtsObjectClass</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN3412"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> <CODE
-CLASS="PARAMETER"
->klass</CODE
-> while emitting warnings if <CODE
-CLASS="PARAMETER"
->klass</CODE
-> is not derived from
-<CODE
-CLASS="PARAMETER"
->from</CODE
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN3420"
-></A
-><H3
-><A
-NAME="GTS-OBJECT-CLASS-IS-FROM-CLASS"
-></A
->gts_object_class_is_from_class ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> gts_object_class_is_from_class (<GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> klass,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> from);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN3432"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->klass</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-object-class.html#GTSOBJECTCLASS"
-><SPAN
-CLASS="TYPE"
->GtsObjectClass</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN3439"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->from</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-object-class.html#GTSOBJECTCLASS"
-><SPAN
-CLASS="TYPE"
->GtsObjectClass</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN3446"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> <CODE
-CLASS="PARAMETER"
->klass</CODE
-> if <CODE
-CLASS="PARAMETER"
->klass</CODE
-> is equal to <CODE
-CLASS="PARAMETER"
->from</CODE
-> or if <CODE
-CLASS="PARAMETER"
->klass</CODE
-> is derived
-from <CODE
-CLASS="PARAMETER"
->from</CODE
->, <TT
-CLASS="LITERAL"
->NULL</TT
-> otherwise.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN3457"
-></A
-><H3
-><A
-NAME="GTS-OBJECT-CLASS-FROM-NAME"
-></A
->gts_object_class_from_name ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-object-class.html#GTSOBJECTCLASS"
->GtsObjectClass</A
->* gts_object_class_from_name (const <GTKDOCLINK
-HREF="GCHAR"
->gchar</GTKDOCLINK
-> *name);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN3468"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->name</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the name of a <A
-HREF="gts-object-class.html#GTSOBJECTCLASS"
-><SPAN
-CLASS="TYPE"
->GtsObjectClass</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN3475"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the <A
-HREF="gts-object-class.html#GTSOBJECTCLASS"
-><SPAN
-CLASS="TYPE"
->GtsObjectClass</SPAN
-></A
-> with name <CODE
-CLASS="PARAMETER"
->name</CODE
-> or <TT
-CLASS="LITERAL"
->NULL</TT
-> if it hasn't been
-instantiated yet.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN3484"
-></A
-><H3
-><A
-NAME="GTS-OBJECT-NEW"
-></A
->gts_object_new ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-object-class.html#GTSOBJECT"
->GtsObject</A
->* gts_object_new (<A
-HREF="gts-object-class.html#GTSOBJECTCLASS"
->GtsObjectClass</A
-> *klass);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN3495"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->klass</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-object-class.html#GTSOBJECTCLASS"
-><SPAN
-CLASS="TYPE"
->GtsObjectClass</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN3502"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a new initialized object of class <CODE
-CLASS="PARAMETER"
->klass</CODE
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN3508"
-></A
-><H3
-><A
-NAME="GTS-OBJECT-INIT"
-></A
->gts_object_init ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_object_init (<A
-HREF="gts-object-class.html#GTSOBJECT"
->GtsObject</A
-> *object,
- <A
-HREF="gts-object-class.html#GTSOBJECTCLASS"
->GtsObjectClass</A
-> *klass);</PRE
-><P
->Calls the init method of <CODE
-CLASS="PARAMETER"
->klass</CODE
-> with <CODE
-CLASS="PARAMETER"
->object</CODE
-> as argument. This is done
-recursively in the correct order (from the base class to the top). You
-should rarely need this function as it is called automatically by the
-constructor for each class.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN3522"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->object</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-object-class.html#GTSOBJECT"
-><SPAN
-CLASS="TYPE"
->GtsObject</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN3529"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->klass</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-object-class.html#GTSOBJECTCLASS"
-><SPAN
-CLASS="TYPE"
->GtsObjectClass</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN3536"
-></A
-><H3
-><A
-NAME="GTS-OBJECT-CLONE"
-></A
->gts_object_clone ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-object-class.html#GTSOBJECT"
->GtsObject</A
->* gts_object_clone (<A
-HREF="gts-object-class.html#GTSOBJECT"
->GtsObject</A
-> *object);</PRE
-><P
->Calls the clone method of <CODE
-CLASS="PARAMETER"
->object</CODE
->. The call to this function will fail
-if no clone method exists for the given object.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN3548"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->object</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-object-class.html#GTSOBJECT"
-><SPAN
-CLASS="TYPE"
->GtsObject</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN3555"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a new object clone of <CODE
-CLASS="PARAMETER"
->object</CODE
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN3561"
-></A
-><H3
-><A
-NAME="GTS-OBJECT-ATTRIBUTES"
-></A
->gts_object_attributes ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_object_attributes (<A
-HREF="gts-object-class.html#GTSOBJECT"
->GtsObject</A
-> *object,
- <A
-HREF="gts-object-class.html#GTSOBJECT"
->GtsObject</A
-> *from);</PRE
-><P
->Calls the <GTKDOCLINK
-HREF="ATTRIBUTES"
-><CODE
-CLASS="FUNCTION"
->attributes()</CODE
-></GTKDOCLINK
-> method of <CODE
-CLASS="PARAMETER"
->object</CODE
-> using <CODE
-CLASS="PARAMETER"
->from</CODE
-> as source.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN3577"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->object</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-object-class.html#GTSOBJECT"
-><SPAN
-CLASS="TYPE"
->GtsObject</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN3584"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->from</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-object-class.html#GTSOBJECT"
-><SPAN
-CLASS="TYPE"
->GtsObject</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN3591"
-></A
-><H3
-><A
-NAME="GTS-OBJECT-CHECK-CAST"
-></A
->gts_object_check_cast ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> gts_object_check_cast (<GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> object,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> klass);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN3603"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->object</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-object-class.html#GTSOBJECT"
-><SPAN
-CLASS="TYPE"
->GtsObject</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN3610"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->klass</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-object-class.html#GTSOBJECTCLASS"
-><SPAN
-CLASS="TYPE"
->GtsObjectClass</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN3617"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> <CODE
-CLASS="PARAMETER"
->object</CODE
-> while emitting warnings if <CODE
-CLASS="PARAMETER"
->object</CODE
-> is not of class <CODE
-CLASS="PARAMETER"
->klass</CODE
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN3625"
-></A
-><H3
-><A
-NAME="GTS-OBJECT-IS-FROM-CLASS"
-></A
->gts_object_is_from_class ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> gts_object_is_from_class (<GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> object,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> klass);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN3637"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->object</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-object-class.html#GTSOBJECT"
-><SPAN
-CLASS="TYPE"
->GtsObject</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN3644"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->klass</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-object-class.html#GTSOBJECTCLASS"
-><SPAN
-CLASS="TYPE"
->GtsObjectClass</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN3651"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> <CODE
-CLASS="PARAMETER"
->object</CODE
-> if <CODE
-CLASS="PARAMETER"
->object</CODE
-> is of class <CODE
-CLASS="PARAMETER"
->klass</CODE
-> or of a class derived from
-<CODE
-CLASS="PARAMETER"
->klass</CODE
->, <TT
-CLASS="LITERAL"
->NULL</TT
-> otherwise.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN3661"
-></A
-><H3
-><A
-NAME="GTS-OBJECT-RESET-RESERVED"
-></A
->gts_object_reset_reserved ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_object_reset_reserved (<A
-HREF="gts-object-class.html#GTSOBJECT"
->GtsObject</A
-> *object);</PRE
-><P
->Reset the reserved field of <CODE
-CLASS="PARAMETER"
->object</CODE
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN3673"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->object</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-object-class.html#GTSOBJECT"
-><SPAN
-CLASS="TYPE"
->GtsObject</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN3680"
-></A
-><H3
-><A
-NAME="GTS-OBJECT-DESTROY"
-></A
->gts_object_destroy ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_object_destroy (<A
-HREF="gts-object-class.html#GTSOBJECT"
->GtsObject</A
-> *object);</PRE
-><P
->Calls the destroy method of <CODE
-CLASS="PARAMETER"
->object</CODE
->, freeing all memory allocated for it.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN3692"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->object</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-object-class.html#GTSOBJECT"
-><SPAN
-CLASS="TYPE"
->GtsObject</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN3699"
-></A
-><H3
-><A
-NAME="GTS-FINALIZE"
-></A
->gts_finalize ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_finalize (void);</PRE
-><P
->Free all the memory allocated by the object system of GTS. No other
-GTS function can be called after this function has been called.</P
-><P
-></P
-></DIV
-></DIV
-><TABLE
-CLASS="navigation"
-WIDTH="100%"
-SUMMARY="Navigation footer"
-CELLPADDING="2"
-CELLSPACING="2"
-><TR
-VALIGN="middle"
-><TD
-ALIGN="left"
-><A
-ACCESSKEY="p"
-HREF="c2915.html"
-><B
-><<< Geometrical Object Hierarchy</B
-></A
-></TD
-><TD
-ALIGN="right"
-><A
-ACCESSKEY="n"
-HREF="gts-container-classes.html"
-><B
->Container classes >>></B
-></A
-></TD
-></TR
-></TABLE
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/gts-out-of-core-simplification.html b/doc/html/gts-out-of-core-simplification.html
deleted file mode 100644
index a4c5eb1..0000000
--- a/doc/html/gts-out-of-core-simplification.html
+++ /dev/null
@@ -1,2086 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
-<HTML
-><HEAD
-><TITLE
->Out-of-core simplification</TITLE
-><META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
-REL="HOME"
-TITLE="GTS Library Reference Manual"
-HREF="book1.html"><LINK
-REL="UP"
-TITLE="Surface operations"
-HREF="c12206.html"><LINK
-REL="PREVIOUS"
-TITLE="Surface simplification and refinement"
-HREF="gts-surface-simplification-and-refinement.html"><LINK
-REL="NEXT"
-TITLE="Isosurfaces from 3D functions"
-HREF="gts-isosurfaces-from-3d-functions.html"><STYLE
-TYPE="text/css"
->.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</STYLE
-></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><TABLE
-WIDTH="100%"
-CLASS="navigation"
-SUMMARY="Navigation header"
-CELLPADDING="2"
-CELLSPACING="2"
-><TR
-VALIGN="middle"
-><TD
-><A
-ACCESSKEY="p"
-HREF="gts-surface-simplification-and-refinement.html"
-><IMG
-SRC="left.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Prev"></A
-></TD
-><TD
-><A
-ACCESSKEY="u"
-HREF="c12206.html"
-><IMG
-SRC="up.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Up"></A
-></TD
-><TD
-><A
-ACCESSKEY="h"
-HREF="book1.html"
-><IMG
-SRC="home.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Home"></A
-></TD
-><TH
-WIDTH="100%"
-align="center"
->GTS Library Reference Manual</TH
-><TD
-><A
-ACCESSKEY="n"
-HREF="gts-isosurfaces-from-3d-functions.html"
-><IMG
-SRC="right.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Next"></A
-></TD
-></TR
-></TABLE
-><H1
-><A
-NAME="GTS-OUT-OF-CORE-SIMPLIFICATION"
-></A
->Out-of-core simplification</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN13242"
-></A
-><H2
->Name</H2
->Out-of-core simplification -- objects for simplification based on vertex clustering.</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN13245"
-></A
-><H2
->Synopsis</H2
-><PRE
-CLASS="SYNOPSIS"
->
#include <gts.h>
-
-
-#define <A
-HREF="gts-out-of-core-simplification.html#GTS-CLUSTER-CLASS:CAPS"
->GTS_CLUSTER_CLASS</A
-> (klass)
-#define <A
-HREF="gts-out-of-core-simplification.html#GTS-CLUSTER:CAPS"
->GTS_CLUSTER</A
-> (obj)
-#define <A
-HREF="gts-out-of-core-simplification.html#GTS-IS-CLUSTER:CAPS"
->GTS_IS_CLUSTER</A
-> (obj)
- <A
-HREF="gts-out-of-core-simplification.html#GTSCLUSTERCLASS"
->GtsClusterClass</A
->;
- <A
-HREF="gts-out-of-core-simplification.html#GTSCLUSTER"
->GtsCluster</A
->;
- <A
-HREF="gts-out-of-core-simplification.html#GTSCLUSTERID"
->GtsClusterId</A
->;
-
-<A
-HREF="gts-out-of-core-simplification.html#GTSCLUSTERCLASS"
->GtsClusterClass</A
->* <A
-HREF="gts-out-of-core-simplification.html#GTS-CLUSTER-CLASS"
->gts_cluster_class</A
-> (void);
-<A
-HREF="gts-out-of-core-simplification.html#GTSCLUSTER"
->GtsCluster</A
->* <A
-HREF="gts-out-of-core-simplification.html#GTS-CLUSTER-NEW"
->gts_cluster_new</A
-> (<A
-HREF="gts-out-of-core-simplification.html#GTSCLUSTERCLASS"
->GtsClusterClass</A
-> *klass,
- <A
-HREF="gts-out-of-core-simplification.html#GTSCLUSTERID"
->GtsClusterId</A
-> id,
- <A
-HREF="gts-vertices.html#GTSVERTEXCLASS"
->GtsVertexClass</A
-> *vklass);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-out-of-core-simplification.html#GTS-CLUSTER-ADD"
->gts_cluster_add</A
-> (<A
-HREF="gts-out-of-core-simplification.html#GTSCLUSTER"
->GtsCluster</A
-> *c,
- <A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *p,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> data);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-out-of-core-simplification.html#GTS-CLUSTER-UPDATE"
->gts_cluster_update</A
-> (<A
-HREF="gts-out-of-core-simplification.html#GTSCLUSTER"
->GtsCluster</A
-> *c);
-
-#define <A
-HREF="gts-out-of-core-simplification.html#GTS-CLUSTER-GRID-CLASS:CAPS"
->GTS_CLUSTER_GRID_CLASS</A
-> (klass)
-#define <A
-HREF="gts-out-of-core-simplification.html#GTS-CLUSTER-GRID:CAPS"
->GTS_CLUSTER_GRID</A
-> (obj)
-#define <A
-HREF="gts-out-of-core-simplification.html#GTS-IS-CLUSTER-GRID:CAPS"
->GTS_IS_CLUSTER_GRID</A
-> (obj)
- <A
-HREF="gts-out-of-core-simplification.html#GTSCLUSTERGRIDCLASS"
->GtsClusterGridClass</A
->;
- <A
-HREF="gts-out-of-core-simplification.html#GTSCLUSTERGRID"
->GtsClusterGrid</A
->;
-
-<A
-HREF="gts-out-of-core-simplification.html#GTSCLUSTERGRIDCLASS"
->GtsClusterGridClass</A
->* <A
-HREF="gts-out-of-core-simplification.html#GTS-CLUSTER-GRID-CLASS"
->gts_cluster_grid_class</A
-> (void);
-<A
-HREF="gts-out-of-core-simplification.html#GTSCLUSTERGRID"
->GtsClusterGrid</A
->* <A
-HREF="gts-out-of-core-simplification.html#GTS-CLUSTER-GRID-NEW"
->gts_cluster_grid_new</A
-> (<A
-HREF="gts-out-of-core-simplification.html#GTSCLUSTERGRIDCLASS"
->GtsClusterGridClass</A
-> *klass,
- <A
-HREF="gts-out-of-core-simplification.html#GTSCLUSTERCLASS"
->GtsClusterClass</A
-> *cluster_class,
- <A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s,
- <A
-HREF="gts-bounding-boxes-trees.html#GTSBBOX"
->GtsBBox</A
-> *bbox,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> delta);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-out-of-core-simplification.html#GTS-CLUSTER-GRID-ADD-TRIANGLE"
->gts_cluster_grid_add_triangle</A
-> (<A
-HREF="gts-out-of-core-simplification.html#GTSCLUSTERGRID"
->GtsClusterGrid</A
-> *cluster_grid,
- <A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *p1,
- <A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *p2,
- <A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *p3,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> data);
-<A
-HREF="gts-simple-statistics.html#GTSRANGE"
->GtsRange</A
-> <A
-HREF="gts-out-of-core-simplification.html#GTS-CLUSTER-GRID-UPDATE"
->gts_cluster_grid_update</A
-> (<A
-HREF="gts-out-of-core-simplification.html#GTSCLUSTERGRID"
->GtsClusterGrid</A
-> *cluster_grid);</PRE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN13293"
-></A
-><H2
->Description</H2
-><P
->Using vertex clusters and vertex cluster grids it is easy to design out-of-core algorithms for surface simplification. This approach has been detailed in a recent paper by Lindstrom and Turk ("Out-of-core simplification of large polygonal models", 2000).</P
-><P
->Vertex clusters are just groups of vertices collapsed into a single vertex. The position of this single representative vertex can be derived with different techniques. The default GTS implementation <A
-HREF="gts-out-of-core-simplification.html#GTSCLUSTER"
-><SPAN
-CLASS="TYPE"
->GtsCluster</SPAN
-></A
-> just takes the average of the positions of the vertices in a given cluster as the representative position. Clusters are created using <A
-HREF="gts-out-of-core-simplification.html#GTS-CLUSTER-NEW"
-><CODE
-CLASS="FUNCTION"
->gts_cluster_new()</CODE
-></A
->. The cluster is initially empty and the position of the representative vertex is set to the origin. Vertices are added using <A
-HREF="gts-out-of-core-simplification.html#GTS-CLUSTER-ADD"
-><CODE
-CLASS="FUNCTION"
->gts_cluster_add()</CODE
-></A
-> which calls the <GTKDOCLINK
-HREF="ADD"
-><CODE
-CLASS="FUNCTION"
->add()</CODE
-></GTKDOCLINK
-> virtual method of <A
-HREF="gts-out-of-core-simplification.html#GTSCLUSTERCLASS"
-><SPAN
-CLASS="TYPE"
->GtsClusterClass</SPAN
-></A
->. Once all the vertices have been added <A
-HREF="gts-out-of-core-simplification.html#GTS-CLUSTER-UPDATE"
-><CODE
-CLASS="FUNCTION"
->gts_cluster_update()</CODE
-></A
-> computes the position of the representative vertex.</P
-><P
->Clusters are grouped using the <A
-HREF="gts-out-of-core-simplification.html#GTSCLUSTERGRID"
-><SPAN
-CLASS="TYPE"
->GtsClusterGrid</SPAN
-></A
-> object which is just an implementation of the hash-table based regular grid of Lindstrom and Turk. This regular grid is created using <A
-HREF="gts-out-of-core-simplification.html#GTS-CLUSTER-GRID-NEW"
-><CODE
-CLASS="FUNCTION"
->gts_cluster_grid_new()</CODE
-></A
->. Once created triangles of the surface to be simplified can be added using <A
-HREF="gts-out-of-core-simplification.html#GTS-CLUSTER-GRID-ADD-TRIANGLE"
-><CODE
-CLASS="FUNCTION"
->gts_cluster_grid_add_triangle()</CODE
-></A
-> which adds the vertices of the triangle to the <A
-HREF="gts-out-of-core-simplification.html#GTSCLUSTER"
-><SPAN
-CLASS="TYPE"
->GtsCluster</SPAN
-></A
-> they belong to and adds the corresponding faces to the simplified surface. After all the triangles of the original surface have been added the position of the representative vertex of all the vertex clusters is computed using <A
-HREF="gts-out-of-core-simplification.html#GTS-CLUSTER-GRID-UPDATE"
-><CODE
-CLASS="FUNCTION"
->gts_cluster_grid_update()</CODE
-></A
->. The simplified surface is then complete and the cluster grid can be destroyed using <A
-HREF="gts-object-class.html#GTS-OBJECT-DESTROY"
-><CODE
-CLASS="FUNCTION"
->gts_object_destroy()</CODE
-></A
->.</P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN13322"
-></A
-><H2
->Details</H2
-><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN13324"
-></A
-><H3
-><A
-NAME="GTS-CLUSTER-CLASS:CAPS"
-></A
->GTS_CLUSTER_CLASS()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_CLUSTER_CLASS(klass)</PRE
-><P
->Casts <CODE
-CLASS="PARAMETER"
->klass</CODE
-> to <A
-HREF="gts-out-of-core-simplification.html#GTSCLUSTERCLASS"
-><SPAN
-CLASS="TYPE"
->GtsClusterClass</SPAN
-></A
->.</P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN13335"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->klass</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->a descendant of <A
-HREF="gts-out-of-core-simplification.html#GTSCLUSTERCLASS"
-><SPAN
-CLASS="TYPE"
->GtsClusterClass</SPAN
-></A
->.
-
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN13342"
-></A
-><H3
-><A
-NAME="GTS-CLUSTER:CAPS"
-></A
->GTS_CLUSTER()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_CLUSTER(obj)</PRE
-><P
->Casts <CODE
-CLASS="PARAMETER"
->obj</CODE
-> to <A
-HREF="gts-out-of-core-simplification.html#GTSCLUSTER"
-><SPAN
-CLASS="TYPE"
->GtsCluster</SPAN
-></A
->.</P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN13353"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->obj</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->a descendant of <A
-HREF="gts-out-of-core-simplification.html#GTSCLUSTER"
-><SPAN
-CLASS="TYPE"
->GtsCluster</SPAN
-></A
->.
-
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN13360"
-></A
-><H3
-><A
-NAME="GTS-IS-CLUSTER:CAPS"
-></A
->GTS_IS_CLUSTER()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_IS_CLUSTER(obj)</PRE
-><P
->Evaluates to <TT
-CLASS="LITERAL"
->TRUE</TT
-> if <CODE
-CLASS="PARAMETER"
->obj</CODE
-> is a <A
-HREF="gts-out-of-core-simplification.html#GTSCLUSTER"
-><SPAN
-CLASS="TYPE"
->GtsCluster</SPAN
-></A
->, <TT
-CLASS="LITERAL"
->FALSE</TT
-> otherwise.</P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN13373"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->obj</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->a pointer to test.
-
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN13378"
-></A
-><H3
-><A
-NAME="GTSCLUSTERCLASS"
-></A
->GtsClusterClass</H3
-><PRE
-CLASS="PROGRAMLISTING"
->typedef struct {
- GtsObjectClass parent_class;
-
- void (* add) (GtsCluster * c, GtsPoint * p, gpointer data);
- void (* update) (GtsCluster * c);
-} GtsClusterClass;</PRE
-><P
->The cluster class derived from <A
-HREF="gts-out-of-core-simplification.html#GTSCLUSTERCLASS"
-><SPAN
-CLASS="TYPE"
->GtsClusterClass</SPAN
-></A
->. Virtual function <CODE
-CLASS="PARAMETER"
->add</CODE
-> adds point <CODE
-CLASS="PARAMETER"
->p</CODE
-> to the cluster while passing user-data <CODE
-CLASS="PARAMETER"
->data</CODE
->. Virtual function <CODE
-CLASS="PARAMETER"
->update</CODE
-> computes the position of the representative vertex.</P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN13391"
-></A
-><H3
-><A
-NAME="GTSCLUSTER"
-></A
->GtsCluster</H3
-><PRE
-CLASS="PROGRAMLISTING"
->typedef struct {
- GtsObject parent;
-
- GtsClusterId id;
- GtsVertex * v;
- guint n;
-} GtsCluster;</PRE
-><P
->The cluster object.</P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN13399"><SPAN
-STYLE="white-space: nowrap"
-><A
-HREF="gts-object-class.html#GTSOBJECT"
->GtsObject</A
-> <CODE
-CLASS="STRUCTFIELD"
->parent</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->The parent object.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN13405"><SPAN
-STYLE="white-space: nowrap"
-><A
-HREF="gts-out-of-core-simplification.html#GTSCLUSTERID"
->GtsClusterId</A
-> <CODE
-CLASS="STRUCTFIELD"
->id</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->Unique identifier.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN13411"><SPAN
-STYLE="white-space: nowrap"
-><A
-HREF="gts-vertices.html#GTSVERTEX"
->GtsVertex</A
-> *<CODE
-CLASS="STRUCTFIELD"
->v</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-><A
-HREF="gts-vertices.html#GTSVERTEX"
-><SPAN
-CLASS="TYPE"
->GtsVertex</SPAN
-></A
-> representative of all the vertices in the cluster.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN13419"><SPAN
-STYLE="white-space: nowrap"
-><GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> <CODE
-CLASS="STRUCTFIELD"
->n</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->Number of vertices added to the cluster.
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN13425"
-></A
-><H3
-><A
-NAME="GTSCLUSTERID"
-></A
->GtsClusterId</H3
-><PRE
-CLASS="PROGRAMLISTING"
->typedef struct {
- guint x, y, z;
-} GtsClusterId;</PRE
-><P
-></P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN13432"
-></A
-><H3
-><A
-NAME="GTS-CLUSTER-CLASS"
-></A
->gts_cluster_class ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-out-of-core-simplification.html#GTSCLUSTERCLASS"
->GtsClusterClass</A
->* gts_cluster_class (void);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN13442"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the <A
-HREF="gts-out-of-core-simplification.html#GTSCLUSTERCLASS"
-><SPAN
-CLASS="TYPE"
->GtsClusterClass</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN13449"
-></A
-><H3
-><A
-NAME="GTS-CLUSTER-NEW"
-></A
->gts_cluster_new ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-out-of-core-simplification.html#GTSCLUSTER"
->GtsCluster</A
->* gts_cluster_new (<A
-HREF="gts-out-of-core-simplification.html#GTSCLUSTERCLASS"
->GtsClusterClass</A
-> *klass,
- <A
-HREF="gts-out-of-core-simplification.html#GTSCLUSTERID"
->GtsClusterId</A
-> id,
- <A
-HREF="gts-vertices.html#GTSVERTEXCLASS"
->GtsVertexClass</A
-> *vklass);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN13462"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->klass</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-out-of-core-simplification.html#GTSCLUSTERCLASS"
-><SPAN
-CLASS="TYPE"
->GtsClusterClass</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN13469"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->id</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the id of the new cluster.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN13474"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->vklass</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-vertices.html#GTSVERTEXCLASS"
-><SPAN
-CLASS="TYPE"
->GtsVertexClass</SPAN
-></A
-> for the representative vertex of the cluster.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN13481"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a new <A
-HREF="gts-out-of-core-simplification.html#GTSCLUSTER"
-><SPAN
-CLASS="TYPE"
->GtsCluster</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN13488"
-></A
-><H3
-><A
-NAME="GTS-CLUSTER-ADD"
-></A
->gts_cluster_add ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_cluster_add (<A
-HREF="gts-out-of-core-simplification.html#GTSCLUSTER"
->GtsCluster</A
-> *c,
- <A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *p,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> data);</PRE
-><P
->Adds point <CODE
-CLASS="PARAMETER"
->p</CODE
-> to cluster <CODE
-CLASS="PARAMETER"
->c</CODE
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN13503"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->c</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-out-of-core-simplification.html#GTSCLUSTER"
-><SPAN
-CLASS="TYPE"
->GtsCluster</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN13510"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->p</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-points.html#GTSPOINT"
-><SPAN
-CLASS="TYPE"
->GtsPoint</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN13517"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->data</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> data to pass to the <GTKDOCLINK
-HREF="ADD"
-><CODE
-CLASS="FUNCTION"
->add()</CODE
-></GTKDOCLINK
-> virtual method of <A
-HREF="gts-out-of-core-simplification.html#GTSCLUSTERCLASS"
-><SPAN
-CLASS="TYPE"
->GtsClusterClass</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN13526"
-></A
-><H3
-><A
-NAME="GTS-CLUSTER-UPDATE"
-></A
->gts_cluster_update ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_cluster_update (<A
-HREF="gts-out-of-core-simplification.html#GTSCLUSTER"
->GtsCluster</A
-> *c);</PRE
-><P
->Updates the position of the vertex representative of all the
-vertices added to <CODE
-CLASS="PARAMETER"
->c</CODE
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN13538"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->c</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-out-of-core-simplification.html#GTSCLUSTER"
-><SPAN
-CLASS="TYPE"
->GtsCluster</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN13545"
-></A
-><H3
-><A
-NAME="GTS-CLUSTER-GRID-CLASS:CAPS"
-></A
->GTS_CLUSTER_GRID_CLASS()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_CLUSTER_GRID_CLASS(klass)</PRE
-><P
->Casts <CODE
-CLASS="PARAMETER"
->klass</CODE
-> to <A
-HREF="gts-out-of-core-simplification.html#GTSCLUSTERGRIDCLASS"
-><SPAN
-CLASS="TYPE"
->GtsClusterGridClass</SPAN
-></A
->.</P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN13556"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->klass</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->a descendant of <A
-HREF="gts-out-of-core-simplification.html#GTSCLUSTERGRIDCLASS"
-><SPAN
-CLASS="TYPE"
->GtsClusterGridClass</SPAN
-></A
->.
-
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN13563"
-></A
-><H3
-><A
-NAME="GTS-CLUSTER-GRID:CAPS"
-></A
->GTS_CLUSTER_GRID()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_CLUSTER_GRID(obj)</PRE
-><P
->Casts <CODE
-CLASS="PARAMETER"
->obj</CODE
-> to <A
-HREF="gts-out-of-core-simplification.html#GTSCLUSTER"
-><SPAN
-CLASS="TYPE"
->GtsCluster</SPAN
-></A
->.</P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN13574"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->obj</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->a descendant of <A
-HREF="gts-out-of-core-simplification.html#GTSCLUSTER"
-><SPAN
-CLASS="TYPE"
->GtsCluster</SPAN
-></A
->.
-
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN13581"
-></A
-><H3
-><A
-NAME="GTS-IS-CLUSTER-GRID:CAPS"
-></A
->GTS_IS_CLUSTER_GRID()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_IS_CLUSTER_GRID(obj)</PRE
-><P
->Evaluates to <TT
-CLASS="LITERAL"
->TRUE</TT
-> if <CODE
-CLASS="PARAMETER"
->obj</CODE
-> is a <A
-HREF="gts-out-of-core-simplification.html#GTSCLUSTER"
-><SPAN
-CLASS="TYPE"
->GtsCluster</SPAN
-></A
->, <TT
-CLASS="LITERAL"
->FALSE</TT
-> otherwise.</P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN13594"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->obj</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->a pointer to test.
-
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN13599"
-></A
-><H3
-><A
-NAME="GTSCLUSTERGRIDCLASS"
-></A
->GtsClusterGridClass</H3
-><PRE
-CLASS="PROGRAMLISTING"
->typedef struct {
- GtsObjectClass parent_class;
-} GtsClusterGridClass;</PRE
-><P
->The cluster grid class derived from <A
-HREF="gts-object-class.html#GTSOBJECTCLASS"
-><SPAN
-CLASS="TYPE"
->GtsObjectClass</SPAN
-></A
->.</P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN13608"
-></A
-><H3
-><A
-NAME="GTSCLUSTERGRID"
-></A
->GtsClusterGrid</H3
-><PRE
-CLASS="PROGRAMLISTING"
->typedef struct {
- GtsObject parent;
-
- GtsSurface * surface;
- GtsBBox * bbox;
- GtsVector size;
-
- GtsClusterClass * cluster_class;
- GHashTable * clusters;
-} GtsClusterGrid;</PRE
-><P
->The cluster grid object. </P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN13616"><SPAN
-STYLE="white-space: nowrap"
-><A
-HREF="gts-object-class.html#GTSOBJECT"
->GtsObject</A
-> <CODE
-CLASS="STRUCTFIELD"
->parent</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->The parent object.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN13622"><SPAN
-STYLE="white-space: nowrap"
-><A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *<CODE
-CLASS="STRUCTFIELD"
->surface</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->Surface being simplified.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN13628"><SPAN
-STYLE="white-space: nowrap"
-><A
-HREF="gts-bounding-boxes-trees.html#GTSBBOX"
->GtsBBox</A
-> *<CODE
-CLASS="STRUCTFIELD"
->bbox</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->Bounding box of the original surface.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN13634"><SPAN
-STYLE="white-space: nowrap"
-><GTKDOCLINK
-HREF="GTSVECTOR"
->GtsVector</GTKDOCLINK
-> <CODE
-CLASS="STRUCTFIELD"
->size</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->Size of the simplification grid.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN13640"><SPAN
-STYLE="white-space: nowrap"
-><A
-HREF="gts-out-of-core-simplification.html#GTSCLUSTERCLASS"
->GtsClusterClass</A
-> *<CODE
-CLASS="STRUCTFIELD"
->cluster_class</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->Private.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN13646"><SPAN
-STYLE="white-space: nowrap"
-><GTKDOCLINK
-HREF="GHASHTABLE"
->GHashTable</GTKDOCLINK
-> *<CODE
-CLASS="STRUCTFIELD"
->clusters</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->Private.
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN13652"
-></A
-><H3
-><A
-NAME="GTS-CLUSTER-GRID-CLASS"
-></A
->gts_cluster_grid_class ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-out-of-core-simplification.html#GTSCLUSTERGRIDCLASS"
->GtsClusterGridClass</A
->* gts_cluster_grid_class (void);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN13662"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the <A
-HREF="gts-out-of-core-simplification.html#GTSCLUSTERGRIDCLASS"
-><SPAN
-CLASS="TYPE"
->GtsClusterGridClass</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN13669"
-></A
-><H3
-><A
-NAME="GTS-CLUSTER-GRID-NEW"
-></A
->gts_cluster_grid_new ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-out-of-core-simplification.html#GTSCLUSTERGRID"
->GtsClusterGrid</A
->* gts_cluster_grid_new (<A
-HREF="gts-out-of-core-simplification.html#GTSCLUSTERGRIDCLASS"
->GtsClusterGridClass</A
-> *klass,
- <A
-HREF="gts-out-of-core-simplification.html#GTSCLUSTERCLASS"
->GtsClusterClass</A
-> *cluster_class,
- <A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s,
- <A
-HREF="gts-bounding-boxes-trees.html#GTSBBOX"
->GtsBBox</A
-> *bbox,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> delta);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN13684"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->klass</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-out-of-core-simplification.html#GTSCLUSTERGRIDCLASS"
-><SPAN
-CLASS="TYPE"
->GtsClusterGridClass</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN13691"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->cluster_class</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the klass to be used for the vertex clusters.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN13696"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->s</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the simplified surface.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN13701"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->bbox</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> bounding box of the surface to be simplified.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN13706"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->delta</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the size of one grid cell of the simplification grid.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN13711"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a new <A
-HREF="gts-out-of-core-simplification.html#GTSCLUSTERGRID"
-><SPAN
-CLASS="TYPE"
->GtsClusterGrid</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN13718"
-></A
-><H3
-><A
-NAME="GTS-CLUSTER-GRID-ADD-TRIANGLE"
-></A
->gts_cluster_grid_add_triangle ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_cluster_grid_add_triangle (<A
-HREF="gts-out-of-core-simplification.html#GTSCLUSTERGRID"
->GtsClusterGrid</A
-> *cluster_grid,
- <A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *p1,
- <A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *p2,
- <A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *p3,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> data);</PRE
-><P
->Adds the triangle defined by <CODE
-CLASS="PARAMETER"
->p1</CODE
->, <CODE
-CLASS="PARAMETER"
->p2</CODE
-> and <CODE
-CLASS="PARAMETER"
->p3</CODE
-> to the respective clusters
-of <CODE
-CLASS="PARAMETER"
->cluster_grid</CODE
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN13737"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->cluster_grid</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-out-of-core-simplification.html#GTSCLUSTERGRID"
-><SPAN
-CLASS="TYPE"
->GtsClusterGrid</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN13744"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->p1</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-points.html#GTSPOINT"
-><SPAN
-CLASS="TYPE"
->GtsPoint</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN13751"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->p2</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-points.html#GTSPOINT"
-><SPAN
-CLASS="TYPE"
->GtsPoint</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN13758"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->p3</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-points.html#GTSPOINT"
-><SPAN
-CLASS="TYPE"
->GtsPoint</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN13765"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->data</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> user data to pass to the cluster <GTKDOCLINK
-HREF="ADD"
-><CODE
-CLASS="FUNCTION"
->add()</CODE
-></GTKDOCLINK
-> method.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN13772"
-></A
-><H3
-><A
-NAME="GTS-CLUSTER-GRID-UPDATE"
-></A
->gts_cluster_grid_update ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-simple-statistics.html#GTSRANGE"
->GtsRange</A
-> gts_cluster_grid_update (<A
-HREF="gts-out-of-core-simplification.html#GTSCLUSTERGRID"
->GtsClusterGrid</A
-> *cluster_grid);</PRE
-><P
->Updates the representative vertices of all the clusters of <CODE
-CLASS="PARAMETER"
->cluster_grid</CODE
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN13784"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->cluster_grid</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-out-of-core-simplification.html#GTSCLUSTERGRID"
-><SPAN
-CLASS="TYPE"
->GtsClusterGrid</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN13791"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-simple-statistics.html#GTSRANGE"
-><SPAN
-CLASS="TYPE"
->GtsRange</SPAN
-></A
-> describing the statistics for the number of vertices
-added to each cluster of <CODE
-CLASS="PARAMETER"
->cluster_grid</CODE
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-></DIV
-><TABLE
-CLASS="navigation"
-WIDTH="100%"
-SUMMARY="Navigation footer"
-CELLPADDING="2"
-CELLSPACING="2"
-><TR
-VALIGN="middle"
-><TD
-ALIGN="left"
-><A
-ACCESSKEY="p"
-HREF="gts-surface-simplification-and-refinement.html"
-><B
-><<< Surface simplification and refinement</B
-></A
-></TD
-><TD
-ALIGN="right"
-><A
-ACCESSKEY="n"
-HREF="gts-isosurfaces-from-3d-functions.html"
-><B
->Isosurfaces from 3D functions >>></B
-></A
-></TD
-></TR
-></TABLE
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/gts-points.html b/doc/html/gts-points.html
deleted file mode 100644
index 4582baf..0000000
--- a/doc/html/gts-points.html
+++ /dev/null
@@ -1,4021 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
-<HTML
-><HEAD
-><TITLE
->Points</TITLE
-><META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
-REL="HOME"
-TITLE="GTS Library Reference Manual"
-HREF="book1.html"><LINK
-REL="UP"
-TITLE="Geometrical Object Hierarchy"
-HREF="c2915.html"><LINK
-REL="PREVIOUS"
-TITLE="Containee classes"
-HREF="gts-containee-classes.html"><LINK
-REL="NEXT"
-TITLE="Vertices"
-HREF="gts-vertices.html"><STYLE
-TYPE="text/css"
->.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</STYLE
-></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><TABLE
-WIDTH="100%"
-CLASS="navigation"
-SUMMARY="Navigation header"
-CELLPADDING="2"
-CELLSPACING="2"
-><TR
-VALIGN="middle"
-><TD
-><A
-ACCESSKEY="p"
-HREF="gts-containee-classes.html"
-><IMG
-SRC="left.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Prev"></A
-></TD
-><TD
-><A
-ACCESSKEY="u"
-HREF="c2915.html"
-><IMG
-SRC="up.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Up"></A
-></TD
-><TD
-><A
-ACCESSKEY="h"
-HREF="book1.html"
-><IMG
-SRC="home.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Home"></A
-></TD
-><TH
-WIDTH="100%"
-align="center"
->GTS Library Reference Manual</TH
-><TD
-><A
-ACCESSKEY="n"
-HREF="gts-vertices.html"
-><IMG
-SRC="right.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Next"></A
-></TD
-></TR
-></TABLE
-><H1
-><A
-NAME="GTS-POINTS"
-></A
->Points</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN4350"
-></A
-><H2
->Name</H2
->Points -- point object and related functions.</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN4353"
-></A
-><H2
->Synopsis</H2
-><PRE
-CLASS="SYNOPSIS"
->
#include <gts.h>
-
-
-#define <A
-HREF="gts-points.html#GTS-POINT-CLASS:CAPS"
->GTS_POINT_CLASS</A
-> (klass)
-#define <A
-HREF="gts-points.html#GTS-POINT:CAPS"
->GTS_POINT</A
-> (obj)
-#define <A
-HREF="gts-points.html#GTS-IS-POINT:CAPS"
->GTS_IS_POINT</A
-> (obj)
- <A
-HREF="gts-points.html#GTSPOINTCLASS"
->GtsPointClass</A
->;
- <A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
->;
-
-<A
-HREF="gts-points.html#GTSPOINTCLASS"
->GtsPointClass</A
->* <A
-HREF="gts-points.html#GTS-POINT-CLASS"
->gts_point_class</A
-> (void);
-<A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
->* <A
-HREF="gts-points.html#GTS-POINT-NEW"
->gts_point_new</A
-> (<A
-HREF="gts-points.html#GTSPOINTCLASS"
->GtsPointClass</A
-> *klass,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> x,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> y,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> z);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-points.html#GTS-POINT-SET"
->gts_point_set</A
-> (<A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *p,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> x,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> y,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> z);
-#define <A
-HREF="gts-points.html#GTS-POINT-IS-IN-RECTANGLE"
->gts_point_is_in_rectangle</A
-> (p, p1, p2)
-<A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
->* <A
-HREF="gts-points.html#GTS-SEGMENT-TRIANGLE-INTERSECTION"
->gts_segment_triangle_intersection</A
->
- (<A
-HREF="gts-segments.html#GTSSEGMENT"
->GtsSegment</A
-> *s,
- <A
-HREF="gts-triangles.html#GTSTRIANGLE"
->GtsTriangle</A
-> *t,
- <GTKDOCLINK
-HREF="GBOOLEAN"
->gboolean</GTKDOCLINK
-> boundary,
- <A
-HREF="gts-points.html#GTSPOINTCLASS"
->GtsPointClass</A
-> *klass);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-points.html#GTS-POINT-TRANSFORM"
->gts_point_transform</A
-> (<A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *p,
- <A
-HREF="gts-vectors-and-matrices.html#GTSMATRIX"
->GtsMatrix</A
-> *m);
-<GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> <A
-HREF="gts-points.html#GTS-POINT-DISTANCE"
->gts_point_distance</A
-> (<A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *p1,
- <A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *p2);
-<GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> <A
-HREF="gts-points.html#GTS-POINT-DISTANCE2"
->gts_point_distance2</A
-> (<A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *p1,
- <A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *p2);
-<GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> <A
-HREF="gts-points.html#GTS-POINT-ORIENTATION-3D"
->gts_point_orientation_3d</A
-> (<A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *p1,
- <A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *p2,
- <A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *p3,
- <A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *p4);
-<GTKDOCLINK
-HREF="GINT"
->gint</GTKDOCLINK
-> <A
-HREF="gts-points.html#GTS-POINT-ORIENTATION-3D-SOS"
->gts_point_orientation_3d_sos</A
-> (<A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *p1,
- <A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *p2,
- <A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *p3,
- <A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *p4);
-enum <A
-HREF="gts-points.html#GTSINTERSECT"
->GtsIntersect</A
->;
-<GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> <A
-HREF="gts-points.html#GTS-POINT-IN-CIRCLE"
->gts_point_in_circle</A
-> (<A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *p,
- <A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *p1,
- <A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *p2,
- <A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *p3);
-<GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> <A
-HREF="gts-points.html#GTS-POINT-IN-TRIANGLE-CIRCLE"
->gts_point_in_triangle_circle</A
-> (<A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *p,
- <A
-HREF="gts-triangles.html#GTSTRIANGLE"
->GtsTriangle</A
-> *t);
-<A
-HREF="gts-points.html#GTSINTERSECT"
->GtsIntersect</A
-> <A
-HREF="gts-points.html#GTS-POINT-IS-IN-TRIANGLE"
->gts_point_is_in_triangle</A
-> (<A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *p,
- <A
-HREF="gts-triangles.html#GTSTRIANGLE"
->GtsTriangle</A
-> *t);
-<GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> <A
-HREF="gts-points.html#GTS-POINT-ORIENTATION"
->gts_point_orientation</A
-> (<A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *p1,
- <A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *p2,
- <A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *p3);
-<GTKDOCLINK
-HREF="GINT"
->gint</GTKDOCLINK
-> <A
-HREF="gts-points.html#GTS-POINT-ORIENTATION-SOS"
->gts_point_orientation_sos</A
-> (<A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *p1,
- <A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *p2,
- <A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *p3);
-<GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> <A
-HREF="gts-points.html#GTS-POINT-SEGMENT-DISTANCE2"
->gts_point_segment_distance2</A
-> (<A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *p,
- <A
-HREF="gts-segments.html#GTSSEGMENT"
->GtsSegment</A
-> *s);
-<GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> <A
-HREF="gts-points.html#GTS-POINT-SEGMENT-DISTANCE"
->gts_point_segment_distance</A
-> (<A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *p,
- <A
-HREF="gts-segments.html#GTSSEGMENT"
->GtsSegment</A
-> *s);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-points.html#GTS-POINT-SEGMENT-CLOSEST"
->gts_point_segment_closest</A
-> (<A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *p,
- <A
-HREF="gts-segments.html#GTSSEGMENT"
->GtsSegment</A
-> *s,
- <A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *closest);
-<GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> <A
-HREF="gts-points.html#GTS-POINT-TRIANGLE-DISTANCE"
->gts_point_triangle_distance</A
-> (<A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *p,
- <A
-HREF="gts-triangles.html#GTSTRIANGLE"
->GtsTriangle</A
-> *t);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-points.html#GTS-POINT-TRIANGLE-CLOSEST"
->gts_point_triangle_closest</A
-> (<A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *p,
- <A
-HREF="gts-triangles.html#GTSTRIANGLE"
->GtsTriangle</A
-> *t,
- <A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *closest);
-<GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> <A
-HREF="gts-points.html#GTS-POINT-TRIANGLE-DISTANCE2"
->gts_point_triangle_distance2</A
-> (<A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *p,
- <A
-HREF="gts-triangles.html#GTSTRIANGLE"
->GtsTriangle</A
-> *t);
-<GTKDOCLINK
-HREF="GBOOLEAN"
->gboolean</GTKDOCLINK
-> <A
-HREF="gts-points.html#GTS-POINT-IS-INSIDE-SURFACE"
->gts_point_is_inside_surface</A
-> (<A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *p,
- <GTKDOCLINK
-HREF="GNODE"
->GNode</GTKDOCLINK
-> *tree,
- <GTKDOCLINK
-HREF="GBOOLEAN"
->gboolean</GTKDOCLINK
-> is_open);</PRE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN4462"
-></A
-><H2
->Description</H2
-><P
->Three-dimensional points and a few geometrical functions.</P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN4465"
-></A
-><H2
->Details</H2
-><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN4467"
-></A
-><H3
-><A
-NAME="GTS-POINT-CLASS:CAPS"
-></A
->GTS_POINT_CLASS()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_POINT_CLASS(klass)</PRE
-><P
->Casts <CODE
-CLASS="PARAMETER"
->klass</CODE
-> to <A
-HREF="gts-points.html#GTSPOINTCLASS"
-><SPAN
-CLASS="TYPE"
->GtsPointClass</SPAN
-></A
->.</P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN4478"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->klass</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->a descendant of the <A
-HREF="gts-points.html#GTSPOINTCLASS"
-><SPAN
-CLASS="TYPE"
->GtsPointClass</SPAN
-></A
->.
-
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN4485"
-></A
-><H3
-><A
-NAME="GTS-POINT:CAPS"
-></A
->GTS_POINT()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_POINT(obj)</PRE
-><P
->Casts <CODE
-CLASS="PARAMETER"
->obj</CODE
-> to <A
-HREF="gts-points.html#GTSPOINT"
-><SPAN
-CLASS="TYPE"
->GtsPoint</SPAN
-></A
->.</P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN4496"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->obj</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->a descendant of the <A
-HREF="gts-points.html#GTSPOINT"
-><SPAN
-CLASS="TYPE"
->GtsPoint</SPAN
-></A
->.
-
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN4503"
-></A
-><H3
-><A
-NAME="GTS-IS-POINT:CAPS"
-></A
->GTS_IS_POINT()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_IS_POINT(obj)</PRE
-><P
->Evaluates to <TT
-CLASS="LITERAL"
->TRUE</TT
-> if <CODE
-CLASS="PARAMETER"
->obj</CODE
-> is a descendant of a <A
-HREF="gts-points.html#GTSPOINT"
-><SPAN
-CLASS="TYPE"
->GtsPoint</SPAN
-></A
->, <TT
-CLASS="LITERAL"
->FALSE</TT
-> otherwise.</P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN4516"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->obj</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->a pointer to test.
-
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN4521"
-></A
-><H3
-><A
-NAME="GTSPOINTCLASS"
-></A
->GtsPointClass</H3
-><PRE
-CLASS="PROGRAMLISTING"
->typedef struct {
- GtsObjectClass parent_class;
- gboolean binary;
-} GtsPointClass;</PRE
-><P
->The class for <A
-HREF="gts-points.html#GTSPOINT"
-><SPAN
-CLASS="TYPE"
->GtsPoint</SPAN
-></A
->. No virtual functions are associated.</P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN4530"
-></A
-><H3
-><A
-NAME="GTSPOINT"
-></A
->GtsPoint</H3
-><PRE
-CLASS="PROGRAMLISTING"
->typedef struct {
- GtsObject object;
-
- gdouble x, y, z; /* must be contiguous (cast to robust functions) */
-} GtsPoint;</PRE
-><P
->The point object.</P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN4538"><SPAN
-STYLE="white-space: nowrap"
-><A
-HREF="gts-object-class.html#GTSOBJECT"
->GtsObject</A
-> <CODE
-CLASS="STRUCTFIELD"
->object</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->The parent object.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN4544"><SPAN
-STYLE="white-space: nowrap"
-><GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> <CODE
-CLASS="STRUCTFIELD"
->x</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->x coordinate.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN4550"><SPAN
-STYLE="white-space: nowrap"
-><GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> <CODE
-CLASS="STRUCTFIELD"
->y</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->y coordinate.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN4556"><SPAN
-STYLE="white-space: nowrap"
-><GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> <CODE
-CLASS="STRUCTFIELD"
->z</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->z coordinate.
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN4562"
-></A
-><H3
-><A
-NAME="GTS-POINT-CLASS"
-></A
->gts_point_class ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-points.html#GTSPOINTCLASS"
->GtsPointClass</A
->* gts_point_class (void);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN4572"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the <A
-HREF="gts-points.html#GTSPOINTCLASS"
-><SPAN
-CLASS="TYPE"
->GtsPointClass</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN4579"
-></A
-><H3
-><A
-NAME="GTS-POINT-NEW"
-></A
->gts_point_new ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
->* gts_point_new (<A
-HREF="gts-points.html#GTSPOINTCLASS"
->GtsPointClass</A
-> *klass,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> x,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> y,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> z);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN4593"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->klass</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-points.html#GTSPOINTCLASS"
-><SPAN
-CLASS="TYPE"
->GtsPointClass</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN4600"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->x</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the x-coordinate.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN4605"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->y</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the y-coordinate.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN4610"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->z</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the z-coordinate.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN4615"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a new <A
-HREF="gts-points.html#GTSPOINT"
-><SPAN
-CLASS="TYPE"
->GtsPoint</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN4622"
-></A
-><H3
-><A
-NAME="GTS-POINT-SET"
-></A
->gts_point_set ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_point_set (<A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *p,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> x,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> y,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> z);</PRE
-><P
->Sets the coordinates of <CODE
-CLASS="PARAMETER"
->p</CODE
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN4637"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->p</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-points.html#GTSPOINT"
-><SPAN
-CLASS="TYPE"
->GtsPoint</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN4644"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->x</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the x-coordinate.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN4649"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->y</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the y-coordinate.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN4654"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->z</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the z-coordinate.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN4659"
-></A
-><H3
-><A
-NAME="GTS-POINT-IS-IN-RECTANGLE"
-></A
->gts_point_is_in_rectangle()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define gts_point_is_in_rectangle(p, p1, p2)</PRE
-><P
->Evaluates to <TT
-CLASS="LITERAL"
->TRUE</TT
-> if <CODE
-CLASS="PARAMETER"
->p</CODE
-> is contained in the box (boundary included) defined by its two corners <CODE
-CLASS="PARAMETER"
->p1</CODE
-> and <CODE
-CLASS="PARAMETER"
->p2</CODE
->, <TT
-CLASS="LITERAL"
->FALSE</TT
-> otherwise.</P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN4672"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->p</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->a <A
-HREF="gts-points.html#GTSPOINT"
-><SPAN
-CLASS="TYPE"
->GtsPoint</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN4679"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->p1</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->the lower-left front corner of the box.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN4684"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->p2</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->the upper-right back corner of the box.
-
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN4689"
-></A
-><H3
-><A
-NAME="GTS-SEGMENT-TRIANGLE-INTERSECTION"
-></A
->gts_segment_triangle_intersection ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
->* gts_segment_triangle_intersection
- (<A
-HREF="gts-segments.html#GTSSEGMENT"
->GtsSegment</A
-> *s,
- <A
-HREF="gts-triangles.html#GTSTRIANGLE"
->GtsTriangle</A
-> *t,
- <GTKDOCLINK
-HREF="GBOOLEAN"
->gboolean</GTKDOCLINK
-> boundary,
- <A
-HREF="gts-points.html#GTSPOINTCLASS"
->GtsPointClass</A
-> *klass);</PRE
-><P
->Checks if <CODE
-CLASS="PARAMETER"
->s</CODE
-> intersects <CODE
-CLASS="PARAMETER"
->t</CODE
->. If this is the case, creates a new
-point pi intersection of <CODE
-CLASS="PARAMETER"
->s</CODE
-> with <CODE
-CLASS="PARAMETER"
->t</CODE
->.</P
-><P
->This function is geometrically robust in the sense that it will not
-return a point if <CODE
-CLASS="PARAMETER"
->s</CODE
-> and <CODE
-CLASS="PARAMETER"
->t</CODE
-> do not intersect and will return a
-point if <CODE
-CLASS="PARAMETER"
->s</CODE
-> and <CODE
-CLASS="PARAMETER"
->t</CODE
-> do intersect. However, the point coordinates are
-subject to round-off errors.</P
-><P
->Note that this function will not return any point if <CODE
-CLASS="PARAMETER"
->s</CODE
-> is contained in
-the plane defined by <CODE
-CLASS="PARAMETER"
->t</CODE
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN4715"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->s</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-segments.html#GTSSEGMENT"
-><SPAN
-CLASS="TYPE"
->GtsSegment</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN4722"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->t</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-triangles.html#GTSTRIANGLE"
-><SPAN
-CLASS="TYPE"
->GtsTriangle</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN4729"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->boundary</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> if <TT
-CLASS="LITERAL"
->TRUE</TT
->, the boundary of <CODE
-CLASS="PARAMETER"
->t</CODE
-> is taken into account.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN4736"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->klass</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-points.html#GTSPOINTCLASS"
-><SPAN
-CLASS="TYPE"
->GtsPointClass</SPAN
-></A
-> to be used for the new point.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN4743"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a summit of <CODE
-CLASS="PARAMETER"
->t</CODE
-> (if <CODE
-CLASS="PARAMETER"
->boundary</CODE
-> is set to <TT
-CLASS="LITERAL"
->TRUE</TT
->), one of the endpoints
-of <CODE
-CLASS="PARAMETER"
->s</CODE
-> or a new <A
-HREF="gts-points.html#GTSPOINT"
-><SPAN
-CLASS="TYPE"
->GtsPoint</SPAN
-></A
->, intersection of <CODE
-CLASS="PARAMETER"
->s</CODE
-> with <CODE
-CLASS="PARAMETER"
->t</CODE
-> or <TT
-CLASS="LITERAL"
->NULL</TT
-> if <CODE
-CLASS="PARAMETER"
->s</CODE
->
-and <CODE
-CLASS="PARAMETER"
->t</CODE
-> don't intersect. </P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN4759"
-></A
-><H3
-><A
-NAME="GTS-POINT-TRANSFORM"
-></A
->gts_point_transform ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_point_transform (<A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *p,
- <A
-HREF="gts-vectors-and-matrices.html#GTSMATRIX"
->GtsMatrix</A
-> *m);</PRE
-><P
->Transform the coordinates of <CODE
-CLASS="PARAMETER"
->p</CODE
-> according to <CODE
-CLASS="PARAMETER"
->m</CODE
->. (p[] becomes m[][].p[]).</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN4773"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->p</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-points.html#GTSPOINT"
-><SPAN
-CLASS="TYPE"
->GtsPoint</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN4780"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->m</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the <A
-HREF="gts-vectors-and-matrices.html#GTSMATRIX"
-><SPAN
-CLASS="TYPE"
->GtsMatrix</SPAN
-></A
-> representing the transformation to
-apply to the coordinates of <CODE
-CLASS="PARAMETER"
->p</CODE
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN4788"
-></A
-><H3
-><A
-NAME="GTS-POINT-DISTANCE"
-></A
->gts_point_distance ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> gts_point_distance (<A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *p1,
- <A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *p2);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN4800"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->p1</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-points.html#GTSPOINT"
-><SPAN
-CLASS="TYPE"
->GtsPoint</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN4807"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->p2</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> another <A
-HREF="gts-points.html#GTSPOINT"
-><SPAN
-CLASS="TYPE"
->GtsPoint</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN4814"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the Euclidean distance between <CODE
-CLASS="PARAMETER"
->p1</CODE
-> and <CODE
-CLASS="PARAMETER"
->p2</CODE
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN4821"
-></A
-><H3
-><A
-NAME="GTS-POINT-DISTANCE2"
-></A
->gts_point_distance2 ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> gts_point_distance2 (<A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *p1,
- <A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *p2);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN4833"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->p1</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-points.html#GTSPOINT"
-><SPAN
-CLASS="TYPE"
->GtsPoint</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN4840"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->p2</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> another <A
-HREF="gts-points.html#GTSPOINT"
-><SPAN
-CLASS="TYPE"
->GtsPoint</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN4847"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the square of the Euclidean distance between <CODE
-CLASS="PARAMETER"
->p1</CODE
-> and <CODE
-CLASS="PARAMETER"
->p2</CODE
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN4854"
-></A
-><H3
-><A
-NAME="GTS-POINT-ORIENTATION-3D"
-></A
->gts_point_orientation_3d ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> gts_point_orientation_3d (<A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *p1,
- <A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *p2,
- <A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *p3,
- <A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *p4);</PRE
-><P
->Checks if <CODE
-CLASS="PARAMETER"
->p4</CODE
-> lies above, below or on the plane passing through the
-points <CODE
-CLASS="PARAMETER"
->p1</CODE
->, <CODE
-CLASS="PARAMETER"
->p2</CODE
-> and <CODE
-CLASS="PARAMETER"
->p3</CODE
->. Below is defined so that <CODE
-CLASS="PARAMETER"
->p1</CODE
->, <CODE
-CLASS="PARAMETER"
->p2</CODE
-> and <CODE
-CLASS="PARAMETER"
->p3</CODE
->
-appear in counterclockwise order when viewed from above the
-plane. The returned value is an approximation of six times the
-signed volume of the tetrahedron defined by the four points. This
-function uses adaptive floating point arithmetic and is
-consequently geometrically robust.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN4875"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->p1</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-points.html#GTSPOINT"
-><SPAN
-CLASS="TYPE"
->GtsPoint</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN4882"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->p2</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-points.html#GTSPOINT"
-><SPAN
-CLASS="TYPE"
->GtsPoint</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN4889"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->p3</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-points.html#GTSPOINT"
-><SPAN
-CLASS="TYPE"
->GtsPoint</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN4896"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->p4</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-points.html#GTSPOINT"
-><SPAN
-CLASS="TYPE"
->GtsPoint</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN4903"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a positive value if <CODE
-CLASS="PARAMETER"
->p4</CODE
-> lies below, a negative value if
-<CODE
-CLASS="PARAMETER"
->p4</CODE
-> lies above the plane, zero if the four points are coplanar. </P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN4910"
-></A
-><H3
-><A
-NAME="GTS-POINT-ORIENTATION-3D-SOS"
-></A
->gts_point_orientation_3d_sos ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GINT"
->gint</GTKDOCLINK
-> gts_point_orientation_3d_sos (<A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *p1,
- <A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *p2,
- <A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *p3,
- <A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *p4);</PRE
-><P
->Checks if <CODE
-CLASS="PARAMETER"
->p4</CODE
-> lies above or below the plane passing through the
-points <CODE
-CLASS="PARAMETER"
->p1</CODE
->, <CODE
-CLASS="PARAMETER"
->p2</CODE
-> and <CODE
-CLASS="PARAMETER"
->p3</CODE
->. Below is defined so that <CODE
-CLASS="PARAMETER"
->p1</CODE
->, <CODE
-CLASS="PARAMETER"
->p2</CODE
-> and <CODE
-CLASS="PARAMETER"
->p3</CODE
->
-appear in counterclockwise order when viewed from above the
-plane. This function uses adaptive floating point arithmetic and is
-consequently geometrically robust.</P
-><P
->Simulation of Simplicity (SoS) is used to break ties when the
-orientation is degenerate (i.e. <CODE
-CLASS="PARAMETER"
->p4</CODE
-> lies on the plane defined by
-<CODE
-CLASS="PARAMETER"
->p1</CODE
->, <CODE
-CLASS="PARAMETER"
->p2</CODE
-> and <CODE
-CLASS="PARAMETER"
->p3</CODE
->).</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN4936"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->p1</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-points.html#GTSPOINT"
-><SPAN
-CLASS="TYPE"
->GtsPoint</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN4943"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->p2</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-points.html#GTSPOINT"
-><SPAN
-CLASS="TYPE"
->GtsPoint</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN4950"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->p3</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-points.html#GTSPOINT"
-><SPAN
-CLASS="TYPE"
->GtsPoint</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN4957"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->p4</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-points.html#GTSPOINT"
-><SPAN
-CLASS="TYPE"
->GtsPoint</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN4964"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> +1 if <CODE
-CLASS="PARAMETER"
->p4</CODE
-> lies below, -1 if <CODE
-CLASS="PARAMETER"
->p4</CODE
-> lies above the plane. </P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN4971"
-></A
-><H3
-><A
-NAME="GTSINTERSECT"
-></A
->enum GtsIntersect</H3
-><PRE
-CLASS="PROGRAMLISTING"
->typedef enum
-{
- GTS_OUT = -1,
- GTS_ON = 0,
- GTS_IN = 1
-} GtsIntersect;</PRE
-><P
-></P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN4978"
-></A
-><H3
-><A
-NAME="GTS-POINT-IN-CIRCLE"
-></A
->gts_point_in_circle ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> gts_point_in_circle (<A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *p,
- <A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *p1,
- <A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *p2,
- <A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *p3);</PRE
-><P
->Tests if the planar projection (x, y) of <CODE
-CLASS="PARAMETER"
->p</CODE
-> is inside or outside the
-circle defined by the planar projection of <CODE
-CLASS="PARAMETER"
->p1</CODE
->, <CODE
-CLASS="PARAMETER"
->p2</CODE
-> and <CODE
-CLASS="PARAMETER"
->p3</CODE
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN4996"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->p</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-points.html#GTSPOINT"
-><SPAN
-CLASS="TYPE"
->GtsPoint</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN5003"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->p1</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-points.html#GTSPOINT"
-><SPAN
-CLASS="TYPE"
->GtsPoint</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN5010"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->p2</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-points.html#GTSPOINT"
-><SPAN
-CLASS="TYPE"
->GtsPoint</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN5017"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->p3</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-points.html#GTSPOINT"
-><SPAN
-CLASS="TYPE"
->GtsPoint</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN5024"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a positive number if <CODE
-CLASS="PARAMETER"
->p</CODE
-> lies inside,
-a negative number if <CODE
-CLASS="PARAMETER"
->p</CODE
-> lies outside and zero if <CODE
-CLASS="PARAMETER"
->p</CODE
-> lies on
-the circle.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN5032"
-></A
-><H3
-><A
-NAME="GTS-POINT-IN-TRIANGLE-CIRCLE"
-></A
->gts_point_in_triangle_circle ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> gts_point_in_triangle_circle (<A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *p,
- <A
-HREF="gts-triangles.html#GTSTRIANGLE"
->GtsTriangle</A
-> *t);</PRE
-><P
->Tests if the planar projection (x, y) of <CODE
-CLASS="PARAMETER"
->p</CODE
-> is inside or outside
-the circumcircle of the planar projection of <CODE
-CLASS="PARAMETER"
->t</CODE
->. This function is
-geometrically robust.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN5046"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->p</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-points.html#GTSPOINT"
-><SPAN
-CLASS="TYPE"
->GtsPoint</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN5053"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->t</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-triangles.html#GTSTRIANGLE"
-><SPAN
-CLASS="TYPE"
->GtsTriangle</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN5060"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a positive number if <CODE
-CLASS="PARAMETER"
->p</CODE
-> lies inside,
-a negative number if <CODE
-CLASS="PARAMETER"
->p</CODE
-> lies outside and zero if <CODE
-CLASS="PARAMETER"
->p</CODE
-> lies on
-the circumcircle of <CODE
-CLASS="PARAMETER"
->t</CODE
->. </P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN5069"
-></A
-><H3
-><A
-NAME="GTS-POINT-IS-IN-TRIANGLE"
-></A
->gts_point_is_in_triangle ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-points.html#GTSINTERSECT"
->GtsIntersect</A
-> gts_point_is_in_triangle (<A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *p,
- <A
-HREF="gts-triangles.html#GTSTRIANGLE"
->GtsTriangle</A
-> *t);</PRE
-><P
->Tests if the planar projection (x, y) of <CODE
-CLASS="PARAMETER"
->p</CODE
-> is inside, outside or
-on the boundary of the planar projection of <CODE
-CLASS="PARAMETER"
->t</CODE
->. This function is
-geometrically robust.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN5083"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->p</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-points.html#GTSPOINT"
-><SPAN
-CLASS="TYPE"
->GtsPoint</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN5090"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->t</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-triangles.html#GTSTRIANGLE"
-><SPAN
-CLASS="TYPE"
->GtsTriangle</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN5097"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> <TT
-CLASS="LITERAL"
->GTS_IN</TT
-> if <CODE
-CLASS="PARAMETER"
->p</CODE
-> is inside <CODE
-CLASS="PARAMETER"
->t</CODE
->, <TT
-CLASS="LITERAL"
->GTS_ON</TT
-> if <CODE
-CLASS="PARAMETER"
->p</CODE
-> is on the boundary of
-<CODE
-CLASS="PARAMETER"
->t</CODE
->, <TT
-CLASS="LITERAL"
->GTS_OUT</TT
-> otherwise. </P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN5109"
-></A
-><H3
-><A
-NAME="GTS-POINT-ORIENTATION"
-></A
->gts_point_orientation ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> gts_point_orientation (<A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *p1,
- <A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *p2,
- <A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *p3);</PRE
-><P
->Checks for orientation of the projection of three points on the
-(x,y) plane. The result is also an approximation of twice the
-signed area of the triangle defined by the three points. This
-function uses adaptive floating point arithmetic and is
-consequently geometrically robust.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN5122"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->p1</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-points.html#GTSPOINT"
-><SPAN
-CLASS="TYPE"
->GtsPoint</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN5129"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->p2</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-points.html#GTSPOINT"
-><SPAN
-CLASS="TYPE"
->GtsPoint</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN5136"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->p3</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-points.html#GTSPOINT"
-><SPAN
-CLASS="TYPE"
->GtsPoint</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN5143"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a positive value if <CODE
-CLASS="PARAMETER"
->p1</CODE
->, <CODE
-CLASS="PARAMETER"
->p2</CODE
-> and <CODE
-CLASS="PARAMETER"
->p3</CODE
-> appear in
-counterclockwise order, a negative value if they appear in
-clockwise order and zero if they are colinear. </P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN5151"
-></A
-><H3
-><A
-NAME="GTS-POINT-ORIENTATION-SOS"
-></A
->gts_point_orientation_sos ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GINT"
->gint</GTKDOCLINK
-> gts_point_orientation_sos (<A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *p1,
- <A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *p2,
- <A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *p3);</PRE
-><P
->Checks for orientation of the projection of three points on the
-(x,y) plane.</P
-><P
->Simulation of Simplicity (SoS) is used to break ties when the
-orientation is degenerate (i.e. <CODE
-CLASS="PARAMETER"
->p3</CODE
-> lies on the line defined by
-<CODE
-CLASS="PARAMETER"
->p1</CODE
-> and <CODE
-CLASS="PARAMETER"
->p2</CODE
->).</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN5168"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->p1</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-points.html#GTSPOINT"
-><SPAN
-CLASS="TYPE"
->GtsPoint</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN5175"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->p2</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-points.html#GTSPOINT"
-><SPAN
-CLASS="TYPE"
->GtsPoint</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN5182"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->p3</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-points.html#GTSPOINT"
-><SPAN
-CLASS="TYPE"
->GtsPoint</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN5189"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a positive value if <CODE
-CLASS="PARAMETER"
->p1</CODE
->, <CODE
-CLASS="PARAMETER"
->p2</CODE
-> and <CODE
-CLASS="PARAMETER"
->p3</CODE
-> appear in
-counterclockwise order or a negative value if they appear in
-clockwise order. </P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN5197"
-></A
-><H3
-><A
-NAME="GTS-POINT-SEGMENT-DISTANCE2"
-></A
->gts_point_segment_distance2 ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> gts_point_segment_distance2 (<A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *p,
- <A
-HREF="gts-segments.html#GTSSEGMENT"
->GtsSegment</A
-> *s);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN5209"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->p</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-points.html#GTSPOINT"
-><SPAN
-CLASS="TYPE"
->GtsPoint</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN5216"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->s</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-segments.html#GTSSEGMENT"
-><SPAN
-CLASS="TYPE"
->GtsSegment</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN5223"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the square of the minimun Euclidean distance between <CODE
-CLASS="PARAMETER"
->p</CODE
-> and <CODE
-CLASS="PARAMETER"
->s</CODE
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN5230"
-></A
-><H3
-><A
-NAME="GTS-POINT-SEGMENT-DISTANCE"
-></A
->gts_point_segment_distance ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> gts_point_segment_distance (<A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *p,
- <A
-HREF="gts-segments.html#GTSSEGMENT"
->GtsSegment</A
-> *s);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN5242"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->p</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-points.html#GTSPOINT"
-><SPAN
-CLASS="TYPE"
->GtsPoint</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN5249"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->s</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-segments.html#GTSSEGMENT"
-><SPAN
-CLASS="TYPE"
->GtsSegment</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN5256"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the minimun Euclidean distance between <CODE
-CLASS="PARAMETER"
->p</CODE
-> and <CODE
-CLASS="PARAMETER"
->s</CODE
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN5263"
-></A
-><H3
-><A
-NAME="GTS-POINT-SEGMENT-CLOSEST"
-></A
->gts_point_segment_closest ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_point_segment_closest (<A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *p,
- <A
-HREF="gts-segments.html#GTSSEGMENT"
->GtsSegment</A
-> *s,
- <A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *closest);</PRE
-><P
->Set the coordinates of <CODE
-CLASS="PARAMETER"
->closest</CODE
-> to the coordinates of the point belonging
-to <CODE
-CLASS="PARAMETER"
->s</CODE
-> closest to <CODE
-CLASS="PARAMETER"
->p</CODE
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN5279"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->p</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-points.html#GTSPOINT"
-><SPAN
-CLASS="TYPE"
->GtsPoint</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN5286"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->s</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-segments.html#GTSSEGMENT"
-><SPAN
-CLASS="TYPE"
->GtsSegment</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN5293"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->closest</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-points.html#GTSPOINT"
-><SPAN
-CLASS="TYPE"
->GtsPoint</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN5300"
-></A
-><H3
-><A
-NAME="GTS-POINT-TRIANGLE-DISTANCE"
-></A
->gts_point_triangle_distance ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> gts_point_triangle_distance (<A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *p,
- <A
-HREF="gts-triangles.html#GTSTRIANGLE"
->GtsTriangle</A
-> *t);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN5312"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->p</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-points.html#GTSPOINT"
-><SPAN
-CLASS="TYPE"
->GtsPoint</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN5319"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->t</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-triangles.html#GTSTRIANGLE"
-><SPAN
-CLASS="TYPE"
->GtsTriangle</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN5326"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the minimun Euclidean distance between <CODE
-CLASS="PARAMETER"
->p</CODE
-> and <CODE
-CLASS="PARAMETER"
->t</CODE
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN5333"
-></A
-><H3
-><A
-NAME="GTS-POINT-TRIANGLE-CLOSEST"
-></A
->gts_point_triangle_closest ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_point_triangle_closest (<A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *p,
- <A
-HREF="gts-triangles.html#GTSTRIANGLE"
->GtsTriangle</A
-> *t,
- <A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *closest);</PRE
-><P
->Set the coordinates of <CODE
-CLASS="PARAMETER"
->closest</CODE
-> to those of the point belonging to <CODE
-CLASS="PARAMETER"
->t</CODE
-> and
-closest to <CODE
-CLASS="PARAMETER"
->p</CODE
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN5349"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->p</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-points.html#GTSPOINT"
-><SPAN
-CLASS="TYPE"
->GtsPoint</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN5356"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->t</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-triangles.html#GTSTRIANGLE"
-><SPAN
-CLASS="TYPE"
->GtsTriangle</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN5363"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->closest</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-points.html#GTSPOINT"
-><SPAN
-CLASS="TYPE"
->GtsPoint</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN5370"
-></A
-><H3
-><A
-NAME="GTS-POINT-TRIANGLE-DISTANCE2"
-></A
->gts_point_triangle_distance2 ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> gts_point_triangle_distance2 (<A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *p,
- <A
-HREF="gts-triangles.html#GTSTRIANGLE"
->GtsTriangle</A
-> *t);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN5382"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->p</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-points.html#GTSPOINT"
-><SPAN
-CLASS="TYPE"
->GtsPoint</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN5389"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->t</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-triangles.html#GTSTRIANGLE"
-><SPAN
-CLASS="TYPE"
->GtsTriangle</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN5396"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the square of the minimun Euclidean distance between <CODE
-CLASS="PARAMETER"
->p</CODE
-> and <CODE
-CLASS="PARAMETER"
->t</CODE
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN5403"
-></A
-><H3
-><A
-NAME="GTS-POINT-IS-INSIDE-SURFACE"
-></A
->gts_point_is_inside_surface ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GBOOLEAN"
->gboolean</GTKDOCLINK
-> gts_point_is_inside_surface (<A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *p,
- <GTKDOCLINK
-HREF="GNODE"
->GNode</GTKDOCLINK
-> *tree,
- <GTKDOCLINK
-HREF="GBOOLEAN"
->gboolean</GTKDOCLINK
-> is_open);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN5416"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->p</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-points.html#GTSPOINT"
-><SPAN
-CLASS="TYPE"
->GtsPoint</SPAN
-></A
->. </P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN5423"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->tree</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a bounding box tree of the faces of a closed, orientable
-surface (see <A
-HREF="gts-bounding-boxes-trees.html#GTS-BB-TREE-SURFACE"
-><CODE
-CLASS="FUNCTION"
->gts_bb_tree_surface()</CODE
-></A
->).</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN5430"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->is_open</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> <TT
-CLASS="LITERAL"
->TRUE</TT
-> if the surface defined by <CODE
-CLASS="PARAMETER"
->tree</CODE
-> is "open" i.e. its volume
-is negative, <TT
-CLASS="LITERAL"
->FALSE</TT
-> otherwise.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN5438"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> <TT
-CLASS="LITERAL"
->TRUE</TT
-> if <CODE
-CLASS="PARAMETER"
->p</CODE
-> is inside the surface defined by <CODE
-CLASS="PARAMETER"
->tree</CODE
->, <TT
-CLASS="LITERAL"
->FALSE</TT
->
-otherwise. </P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-></DIV
-><TABLE
-CLASS="navigation"
-WIDTH="100%"
-SUMMARY="Navigation footer"
-CELLPADDING="2"
-CELLSPACING="2"
-><TR
-VALIGN="middle"
-><TD
-ALIGN="left"
-><A
-ACCESSKEY="p"
-HREF="gts-containee-classes.html"
-><B
-><<< Containee classes</B
-></A
-></TD
-><TD
-ALIGN="right"
-><A
-ACCESSKEY="n"
-HREF="gts-vertices.html"
-><B
->Vertices >>></B
-></A
-></TD
-></TR
-></TABLE
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/gts-progressive-graph.html b/doc/html/gts-progressive-graph.html
deleted file mode 100644
index b8c8f21..0000000
--- a/doc/html/gts-progressive-graph.html
+++ /dev/null
@@ -1,2498 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
-<HTML
-><HEAD
-><TITLE
->Progressive graph</TITLE
-><META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
-REL="HOME"
-TITLE="GTS Library Reference Manual"
-HREF="book1.html"><LINK
-REL="UP"
-TITLE="Graph and operations on graphs"
-HREF="c17114.html"><LINK
-REL="PREVIOUS"
-TITLE="Weighted graph"
-HREF="gts-weighted-graph.html"><LINK
-REL="NEXT"
-TITLE="Graph partitioning"
-HREF="gts-graph-partitioning.html"><STYLE
-TYPE="text/css"
->.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</STYLE
-></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><TABLE
-WIDTH="100%"
-CLASS="navigation"
-SUMMARY="Navigation header"
-CELLPADDING="2"
-CELLSPACING="2"
-><TR
-VALIGN="middle"
-><TD
-><A
-ACCESSKEY="p"
-HREF="gts-weighted-graph.html"
-><IMG
-SRC="left.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Prev"></A
-></TD
-><TD
-><A
-ACCESSKEY="u"
-HREF="c17114.html"
-><IMG
-SRC="up.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Up"></A
-></TD
-><TD
-><A
-ACCESSKEY="h"
-HREF="book1.html"
-><IMG
-SRC="home.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Home"></A
-></TD
-><TH
-WIDTH="100%"
-align="center"
->GTS Library Reference Manual</TH
-><TD
-><A
-ACCESSKEY="n"
-HREF="gts-graph-partitioning.html"
-><IMG
-SRC="right.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Next"></A
-></TD
-></TR
-></TABLE
-><H1
-><A
-NAME="GTS-PROGRESSIVE-GRAPH"
-></A
->Progressive graph</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN18937"
-></A
-><H2
->Name</H2
->Progressive graph -- </DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN18940"
-></A
-><H2
->Synopsis</H2
-><PRE
-CLASS="SYNOPSIS"
->
#include <gts.h>
-
-
-#define <A
-HREF="gts-progressive-graph.html#GTS-GNODE-SPLIT-CLASS:CAPS"
->GTS_GNODE_SPLIT_CLASS</A
-> (klass)
-#define <A
-HREF="gts-progressive-graph.html#GTS-GNODE-SPLIT:CAPS"
->GTS_GNODE_SPLIT</A
-> (obj)
-#define <A
-HREF="gts-progressive-graph.html#GTS-IS-GNODE-SPLIT:CAPS"
->GTS_IS_GNODE_SPLIT</A
-> (obj)
-#define <A
-HREF="gts-progressive-graph.html#GTS-GNODE-SPLIT-N1:CAPS"
->GTS_GNODE_SPLIT_N1</A
-> (ns)
-#define <A
-HREF="gts-progressive-graph.html#GTS-GNODE-SPLIT-N2:CAPS"
->GTS_GNODE_SPLIT_N2</A
-> (ns)
- <A
-HREF="gts-progressive-graph.html#GTSGNODESPLITCLASS"
->GtsGNodeSplitClass</A
->;
- <A
-HREF="gts-progressive-graph.html#GTSGNODESPLIT"
->GtsGNodeSplit</A
->;
-
-<A
-HREF="gts-progressive-graph.html#GTSGNODESPLITCLASS"
->GtsGNodeSplitClass</A
->* <A
-HREF="gts-progressive-graph.html#GTS-GNODE-SPLIT-CLASS"
->gts_gnode_split_class</A
-> (void);
-<A
-HREF="gts-progressive-graph.html#GTSGNODESPLIT"
->GtsGNodeSplit</A
->* <A
-HREF="gts-progressive-graph.html#GTS-GNODE-SPLIT-NEW"
->gts_gnode_split_new</A
-> (<A
-HREF="gts-progressive-graph.html#GTSGNODESPLITCLASS"
->GtsGNodeSplitClass</A
-> *klass,
- <A
-HREF="gts-graph-class.html#GTSGNODE"
->GtsGNode</A
-> *n,
- <A
-HREF="gts-object-class.html#GTSOBJECT"
->GtsObject</A
-> *n1,
- <A
-HREF="gts-object-class.html#GTSOBJECT"
->GtsObject</A
-> *n2);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-progressive-graph.html#GTS-GNODE-SPLIT-COLLAPSE"
->gts_gnode_split_collapse</A
-> (<A
-HREF="gts-progressive-graph.html#GTSGNODESPLIT"
->GtsGNodeSplit</A
-> *ns,
- <A
-HREF="gts-graph-class.html#GTSGRAPH"
->GtsGraph</A
-> *g,
- <A
-HREF="gts-weighted-graph.html#GTSWGEDGECLASS"
->GtsWGEdgeClass</A
-> *klass);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-progressive-graph.html#GTS-GNODE-SPLIT-EXPAND"
->gts_gnode_split_expand</A
-> (<A
-HREF="gts-progressive-graph.html#GTSGNODESPLIT"
->GtsGNodeSplit</A
-> *ns,
- <A
-HREF="gts-graph-class.html#GTSGRAPH"
->GtsGraph</A
-> *g);
-
-#define <A
-HREF="gts-progressive-graph.html#GTS-PGRAPH-CLASS:CAPS"
->GTS_PGRAPH_CLASS</A
-> (klass)
-#define <A
-HREF="gts-progressive-graph.html#GTS-PGRAPH:CAPS"
->GTS_PGRAPH</A
-> (obj)
-#define <A
-HREF="gts-progressive-graph.html#GTS-IS-PGRAPH:CAPS"
->GTS_IS_PGRAPH</A
-> (obj)
- <A
-HREF="gts-progressive-graph.html#GTSPGRAPHCLASS"
->GtsPGraphClass</A
->;
- <A
-HREF="gts-progressive-graph.html#GTSPGRAPH"
->GtsPGraph</A
->;
-
-<A
-HREF="gts-progressive-graph.html#GTSPGRAPHCLASS"
->GtsPGraphClass</A
->* <A
-HREF="gts-progressive-graph.html#GTS-PGRAPH-CLASS"
->gts_pgraph_class</A
-> (void);
-<A
-HREF="gts-progressive-graph.html#GTSPGRAPH"
->GtsPGraph</A
->* <A
-HREF="gts-progressive-graph.html#GTS-PGRAPH-NEW"
->gts_pgraph_new</A
-> (<A
-HREF="gts-progressive-graph.html#GTSPGRAPHCLASS"
->GtsPGraphClass</A
-> *klass,
- <A
-HREF="gts-graph-class.html#GTSGRAPH"
->GtsGraph</A
-> *g,
- <A
-HREF="gts-progressive-graph.html#GTSGNODESPLITCLASS"
->GtsGNodeSplitClass</A
-> *split_class,
- <A
-HREF="gts-weighted-graph.html#GTSWGNODECLASS"
->GtsWGNodeClass</A
-> *node_class,
- <A
-HREF="gts-weighted-graph.html#GTSWGEDGECLASS"
->GtsWGEdgeClass</A
-> *edge_class,
- <GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> min);
-<A
-HREF="gts-progressive-graph.html#GTSGNODESPLIT"
->GtsGNodeSplit</A
->* <A
-HREF="gts-progressive-graph.html#GTS-PGRAPH-ADD-NODE"
->gts_pgraph_add_node</A
-> (<A
-HREF="gts-progressive-graph.html#GTSPGRAPH"
->GtsPGraph</A
-> *pg);
-<A
-HREF="gts-progressive-graph.html#GTSGNODESPLIT"
->GtsGNodeSplit</A
->* <A
-HREF="gts-progressive-graph.html#GTS-PGRAPH-REMOVE-NODE"
->gts_pgraph_remove_node</A
-> (<A
-HREF="gts-progressive-graph.html#GTSPGRAPH"
->GtsPGraph</A
-> *pg);
-<GTKDOCLINK
-HREF="GBOOLEAN"
->gboolean</GTKDOCLINK
-> <A
-HREF="gts-progressive-graph.html#GTS-PGRAPH-DOWN"
->gts_pgraph_down</A
-> (<A
-HREF="gts-progressive-graph.html#GTSPGRAPH"
->GtsPGraph</A
-> *pg,
- <A
-HREF="gts-surfaces.html#GTSFUNC"
->GtsFunc</A
-> func,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> data);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-progressive-graph.html#GTS-PGRAPH-SET-NODE-NUMBER"
->gts_pgraph_set_node_number</A
-> (<A
-HREF="gts-progressive-graph.html#GTSPGRAPH"
->GtsPGraph</A
-> *pg,
- <GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> n);
-<GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> <A
-HREF="gts-progressive-graph.html#GTS-PGRAPH-GET-NODE-NUMBER"
->gts_pgraph_get_node_number</A
-> (<A
-HREF="gts-progressive-graph.html#GTSPGRAPH"
->GtsPGraph</A
-> *pg);
-<GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> <A
-HREF="gts-progressive-graph.html#GTS-PGRAPH-MAX-NODE-NUMBER"
->gts_pgraph_max_node_number</A
-> (<A
-HREF="gts-progressive-graph.html#GTSPGRAPH"
->GtsPGraph</A
-> *pg);
-<GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> <A
-HREF="gts-progressive-graph.html#GTS-PGRAPH-MIN-NODE-NUMBER"
->gts_pgraph_min_node_number</A
-> (<A
-HREF="gts-progressive-graph.html#GTSPGRAPH"
->GtsPGraph</A
-> *pg);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-progressive-graph.html#GTS-PGRAPH-FOREACH-NODE"
->gts_pgraph_foreach_node</A
-> (<A
-HREF="gts-progressive-graph.html#GTSPGRAPH"
->GtsPGraph</A
-> *pg,
- <A
-HREF="gts-surfaces.html#GTSFUNC"
->GtsFunc</A
-> func,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> data);</PRE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN19011"
-></A
-><H2
->Description</H2
-><P
-></P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN19014"
-></A
-><H2
->Details</H2
-><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN19016"
-></A
-><H3
-><A
-NAME="GTS-GNODE-SPLIT-CLASS:CAPS"
-></A
->GTS_GNODE_SPLIT_CLASS()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_GNODE_SPLIT_CLASS(klass)</PRE
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN19024"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->klass</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN19029"
-></A
-><H3
-><A
-NAME="GTS-GNODE-SPLIT:CAPS"
-></A
->GTS_GNODE_SPLIT()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_GNODE_SPLIT(obj)</PRE
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN19037"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->obj</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN19042"
-></A
-><H3
-><A
-NAME="GTS-IS-GNODE-SPLIT:CAPS"
-></A
->GTS_IS_GNODE_SPLIT()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_IS_GNODE_SPLIT(obj)</PRE
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN19050"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->obj</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN19055"
-></A
-><H3
-><A
-NAME="GTS-GNODE-SPLIT-N1:CAPS"
-></A
->GTS_GNODE_SPLIT_N1()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_GNODE_SPLIT_N1(ns) (GTS_IS_GNODE_SPLIT ((ns)->n1) ? GTS_GNODE_SPLIT ((ns)->n1)->n : GTS_GNODE ((ns)->n1))</PRE
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN19063"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->ns</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN19068"
-></A
-><H3
-><A
-NAME="GTS-GNODE-SPLIT-N2:CAPS"
-></A
->GTS_GNODE_SPLIT_N2()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_GNODE_SPLIT_N2(ns) (GTS_IS_GNODE_SPLIT ((ns)->n2) ? GTS_GNODE_SPLIT ((ns)->n2)->n : GTS_GNODE ((ns)->n2))</PRE
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN19076"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->ns</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN19081"
-></A
-><H3
-><A
-NAME="GTSGNODESPLITCLASS"
-></A
->GtsGNodeSplitClass</H3
-><PRE
-CLASS="PROGRAMLISTING"
->typedef struct {
- GtsObjectClass parent_class;
-} GtsGNodeSplitClass;</PRE
-><P
-></P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN19088"
-></A
-><H3
-><A
-NAME="GTSGNODESPLIT"
-></A
->GtsGNodeSplit</H3
-><PRE
-CLASS="PROGRAMLISTING"
->typedef struct {
- GtsObject object;
-
- GtsGNode * n;
- GtsObject * n1;
- GtsObject * n2;
-} GtsGNodeSplit;</PRE
-><P
-></P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN19095"
-></A
-><H3
-><A
-NAME="GTS-GNODE-SPLIT-CLASS"
-></A
->gts_gnode_split_class ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-progressive-graph.html#GTSGNODESPLITCLASS"
->GtsGNodeSplitClass</A
->* gts_gnode_split_class (void);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN19105"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the <A
-HREF="gts-progressive-graph.html#GTSGNODESPLITCLASS"
-><SPAN
-CLASS="TYPE"
->GtsGNodeSplitClass</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN19112"
-></A
-><H3
-><A
-NAME="GTS-GNODE-SPLIT-NEW"
-></A
->gts_gnode_split_new ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-progressive-graph.html#GTSGNODESPLIT"
->GtsGNodeSplit</A
->* gts_gnode_split_new (<A
-HREF="gts-progressive-graph.html#GTSGNODESPLITCLASS"
->GtsGNodeSplitClass</A
-> *klass,
- <A
-HREF="gts-graph-class.html#GTSGNODE"
->GtsGNode</A
-> *n,
- <A
-HREF="gts-object-class.html#GTSOBJECT"
->GtsObject</A
-> *n1,
- <A
-HREF="gts-object-class.html#GTSOBJECT"
->GtsObject</A
-> *n2);</PRE
-><P
->Creates a new <A
-HREF="gts-progressive-graph.html#GTSGNODESPLIT"
-><SPAN
-CLASS="TYPE"
->GtsGNodeSplit</SPAN
-></A
-> which would collapse <CODE
-CLASS="PARAMETER"
->n1</CODE
-> and <CODE
-CLASS="PARAMETER"
->n2</CODE
-> into
-<CODE
-CLASS="PARAMETER"
->n</CODE
->. The collapse itself is not performed.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN19131"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->klass</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-progressive-graph.html#GTSGNODESPLITCLASS"
-><SPAN
-CLASS="TYPE"
->GtsGNodeSplitClass</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN19138"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->n</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-graph-class.html#GTSGNODE"
-><SPAN
-CLASS="TYPE"
->GtsGNode</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN19145"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->n1</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-progressive-graph.html#GTSGNODESPLIT"
-><SPAN
-CLASS="TYPE"
->GtsGNodeSplit</SPAN
-></A
-> or <A
-HREF="gts-graph-class.html#GTSGNODE"
-><SPAN
-CLASS="TYPE"
->GtsGNode</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN19154"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->n2</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-progressive-graph.html#GTSGNODESPLIT"
-><SPAN
-CLASS="TYPE"
->GtsGNodeSplit</SPAN
-></A
-> or <A
-HREF="gts-graph-class.html#GTSGNODE"
-><SPAN
-CLASS="TYPE"
->GtsGNode</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN19163"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the new <A
-HREF="gts-progressive-graph.html#GTSGNODESPLIT"
-><SPAN
-CLASS="TYPE"
->GtsGNodeSplit</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN19170"
-></A
-><H3
-><A
-NAME="GTS-GNODE-SPLIT-COLLAPSE"
-></A
->gts_gnode_split_collapse ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_gnode_split_collapse (<A
-HREF="gts-progressive-graph.html#GTSGNODESPLIT"
->GtsGNodeSplit</A
-> *ns,
- <A
-HREF="gts-graph-class.html#GTSGRAPH"
->GtsGraph</A
-> *g,
- <A
-HREF="gts-weighted-graph.html#GTSWGEDGECLASS"
->GtsWGEdgeClass</A
-> *klass);</PRE
-><P
->Collapses the node split <CODE
-CLASS="PARAMETER"
->ns</CODE
->. Any new edge created during the
-process will be of class <CODE
-CLASS="PARAMETER"
->klass</CODE
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN19185"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->ns</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-progressive-graph.html#GTSGNODESPLIT"
-><SPAN
-CLASS="TYPE"
->GtsGNodeSplit</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN19192"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->g</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-graph-class.html#GTSGRAPH"
-><SPAN
-CLASS="TYPE"
->GtsGraph</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN19199"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->klass</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-weighted-graph.html#GTSWGEDGECLASS"
-><SPAN
-CLASS="TYPE"
->GtsWGEdgeClass</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN19206"
-></A
-><H3
-><A
-NAME="GTS-GNODE-SPLIT-EXPAND"
-></A
->gts_gnode_split_expand ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_gnode_split_expand (<A
-HREF="gts-progressive-graph.html#GTSGNODESPLIT"
->GtsGNodeSplit</A
-> *ns,
- <A
-HREF="gts-graph-class.html#GTSGRAPH"
->GtsGraph</A
-> *g);</PRE
-><P
->Expands the node split ns adding the new nodes to <CODE
-CLASS="PARAMETER"
->g</CODE
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN19219"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->ns</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-progressive-graph.html#GTSGNODESPLIT"
-><SPAN
-CLASS="TYPE"
->GtsGNodeSplit</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN19226"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->g</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-graph-class.html#GTSGRAPH"
-><SPAN
-CLASS="TYPE"
->GtsGraph</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN19233"
-></A
-><H3
-><A
-NAME="GTS-PGRAPH-CLASS:CAPS"
-></A
->GTS_PGRAPH_CLASS()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_PGRAPH_CLASS(klass)</PRE
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN19241"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->klass</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN19246"
-></A
-><H3
-><A
-NAME="GTS-PGRAPH:CAPS"
-></A
->GTS_PGRAPH()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_PGRAPH(obj)</PRE
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN19254"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->obj</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN19259"
-></A
-><H3
-><A
-NAME="GTS-IS-PGRAPH:CAPS"
-></A
->GTS_IS_PGRAPH()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_IS_PGRAPH(obj)</PRE
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN19267"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->obj</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN19272"
-></A
-><H3
-><A
-NAME="GTSPGRAPHCLASS"
-></A
->GtsPGraphClass</H3
-><PRE
-CLASS="PROGRAMLISTING"
->typedef struct {
- GtsObjectClass parent_class;
-} GtsPGraphClass;</PRE
-><P
-></P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN19279"
-></A
-><H3
-><A
-NAME="GTSPGRAPH"
-></A
->GtsPGraph</H3
-><PRE
-CLASS="PROGRAMLISTING"
->typedef struct {
- GtsObject object;
-
- GtsGraph * g;
- GPtrArray * split;
- GArray * levels;
- GtsGNodeSplitClass * split_class;
- GtsWGEdgeClass * edge_class;
- guint pos, min, level;
-} GtsPGraph;</PRE
-><P
-></P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN19286"
-></A
-><H3
-><A
-NAME="GTS-PGRAPH-CLASS"
-></A
->gts_pgraph_class ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-progressive-graph.html#GTSPGRAPHCLASS"
->GtsPGraphClass</A
->* gts_pgraph_class (void);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN19296"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the <A
-HREF="gts-progressive-graph.html#GTSPGRAPHCLASS"
-><SPAN
-CLASS="TYPE"
->GtsPGraphClass</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN19303"
-></A
-><H3
-><A
-NAME="GTS-PGRAPH-NEW"
-></A
->gts_pgraph_new ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-progressive-graph.html#GTSPGRAPH"
->GtsPGraph</A
->* gts_pgraph_new (<A
-HREF="gts-progressive-graph.html#GTSPGRAPHCLASS"
->GtsPGraphClass</A
-> *klass,
- <A
-HREF="gts-graph-class.html#GTSGRAPH"
->GtsGraph</A
-> *g,
- <A
-HREF="gts-progressive-graph.html#GTSGNODESPLITCLASS"
->GtsGNodeSplitClass</A
-> *split_class,
- <A
-HREF="gts-weighted-graph.html#GTSWGNODECLASS"
->GtsWGNodeClass</A
-> *node_class,
- <A
-HREF="gts-weighted-graph.html#GTSWGEDGECLASS"
->GtsWGEdgeClass</A
-> *edge_class,
- <GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> min);</PRE
-><P
->Creates a new multilevel approximation of graph <CODE
-CLASS="PARAMETER"
->g</CODE
->. At each level a
-maximal matching is created using the Heavy Edge Matching (HEM)
-technique of Karypis and Kumar (1997). The newly created nodes are
-of type <CODE
-CLASS="PARAMETER"
->node_class</CODE
-> and their weight is set to the sum of the
-weights of their children. The newly created edges are of type
-<CODE
-CLASS="PARAMETER"
->edge_class</CODE
-> and their weight is set to the sum of the weight of the
-collapsed edges. The last level is reached when the maximal
-matching obtained would lead to a graph with less than <CODE
-CLASS="PARAMETER"
->min</CODE
-> nodes.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN19323"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->klass</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-progressive-graph.html#GTSPGRAPHCLASS"
-><SPAN
-CLASS="TYPE"
->GtsPGraphClass</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN19330"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->g</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-graph-class.html#GTSGRAPH"
-><SPAN
-CLASS="TYPE"
->GtsGraph</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN19337"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->split_class</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-progressive-graph.html#GTSGNODESPLITCLASS"
-><SPAN
-CLASS="TYPE"
->GtsGNodeSplitClass</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN19344"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->node_class</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-weighted-graph.html#GTSWGNODECLASS"
-><SPAN
-CLASS="TYPE"
->GtsWGNodeClass</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN19351"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->edge_class</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-weighted-graph.html#GTSWGEDGECLASS"
-><SPAN
-CLASS="TYPE"
->GtsWGEdgeClass</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN19358"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->min</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the minimum number of nodes.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN19363"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the new <A
-HREF="gts-progressive-graph.html#GTSPGRAPH"
-><SPAN
-CLASS="TYPE"
->GtsPGraph</SPAN
-></A
-> containing the multilevel
-representation of <CODE
-CLASS="PARAMETER"
->g</CODE
->. </P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN19371"
-></A
-><H3
-><A
-NAME="GTS-PGRAPH-ADD-NODE"
-></A
->gts_pgraph_add_node ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-progressive-graph.html#GTSGNODESPLIT"
->GtsGNodeSplit</A
->* gts_pgraph_add_node (<A
-HREF="gts-progressive-graph.html#GTSPGRAPH"
->GtsPGraph</A
-> *pg);</PRE
-><P
->Adds one node to the multilevel graph <CODE
-CLASS="PARAMETER"
->pg</CODE
-> by expanding the next
-available <A
-HREF="gts-progressive-graph.html#GTSGNODESPLIT"
-><SPAN
-CLASS="TYPE"
->GtsGNodeSplit</SPAN
-></A
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN19385"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->pg</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-progressive-graph.html#GTSPGRAPH"
-><SPAN
-CLASS="TYPE"
->GtsPGraph</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN19392"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the expanded <A
-HREF="gts-progressive-graph.html#GTSGNODESPLIT"
-><SPAN
-CLASS="TYPE"
->GtsGNodeSplit</SPAN
-></A
-> or <GTKDOCLINK
-HREF="NULL:CAPS"
-><SPAN
-CLASS="TYPE"
->NULL</SPAN
-></GTKDOCLINK
-> if all the
-<A
-HREF="gts-progressive-graph.html#GTSGNODESPLIT"
-><SPAN
-CLASS="TYPE"
->GtsGNodeSplit</SPAN
-></A
-> have already been expanded. </P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN19403"
-></A
-><H3
-><A
-NAME="GTS-PGRAPH-REMOVE-NODE"
-></A
->gts_pgraph_remove_node ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-progressive-graph.html#GTSGNODESPLIT"
->GtsGNodeSplit</A
->* gts_pgraph_remove_node (<A
-HREF="gts-progressive-graph.html#GTSPGRAPH"
->GtsPGraph</A
-> *pg);</PRE
-><P
->Removes one node from the multilevel graph <CODE
-CLASS="PARAMETER"
->pg</CODE
-> by collapsing the
-first available <A
-HREF="gts-progressive-graph.html#GTSGNODESPLIT"
-><SPAN
-CLASS="TYPE"
->GtsGNodeSplit</SPAN
-></A
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN19417"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->pg</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-progressive-graph.html#GTSPGRAPH"
-><SPAN
-CLASS="TYPE"
->GtsPGraph</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN19424"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the collapsed <A
-HREF="gts-progressive-graph.html#GTSGNODESPLIT"
-><SPAN
-CLASS="TYPE"
->GtsGNodeSplit</SPAN
-></A
-> or <TT
-CLASS="LITERAL"
->NULL</TT
-> if all the
-<A
-HREF="gts-progressive-graph.html#GTSGNODESPLIT"
-><SPAN
-CLASS="TYPE"
->GtsGNodeSplit</SPAN
-></A
-> have already been collapsed. </P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN19434"
-></A
-><H3
-><A
-NAME="GTS-PGRAPH-DOWN"
-></A
->gts_pgraph_down ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GBOOLEAN"
->gboolean</GTKDOCLINK
-> gts_pgraph_down (<A
-HREF="gts-progressive-graph.html#GTSPGRAPH"
->GtsPGraph</A
-> *pg,
- <A
-HREF="gts-surfaces.html#GTSFUNC"
->GtsFunc</A
-> func,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> data);</PRE
-><P
->Performs the required number of expansions to go from the current
-level to the level immediately below.</P
-><P
->If <CODE
-CLASS="PARAMETER"
->func</CODE
-> is not <TT
-CLASS="LITERAL"
->NULL</TT
->, it is called after each <A
-HREF="gts-progressive-graph.html#GTSGNODESPLIT"
-><SPAN
-CLASS="TYPE"
->GtsGNodeSplit</SPAN
-></A
-> has
-been expanded.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN19452"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->pg</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-progressive-graph.html#GTSPGRAPH"
-><SPAN
-CLASS="TYPE"
->GtsPGraph</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN19459"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->func</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSFUNC"
-><SPAN
-CLASS="TYPE"
->GtsFunc</SPAN
-></A
-> or <TT
-CLASS="LITERAL"
->NULL</TT
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN19467"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->data</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> user data to pass to <CODE
-CLASS="PARAMETER"
->func</CODE
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN19473"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> <TT
-CLASS="LITERAL"
->FALSE</TT
-> if it is not possible to go down one level, <TT
-CLASS="LITERAL"
->TRUE</TT
->
-otherwise. </P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN19480"
-></A
-><H3
-><A
-NAME="GTS-PGRAPH-SET-NODE-NUMBER"
-></A
->gts_pgraph_set_node_number ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_pgraph_set_node_number (<A
-HREF="gts-progressive-graph.html#GTSPGRAPH"
->GtsPGraph</A
-> *pg,
- <GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> n);</PRE
-><P
->Performs the required number of collapses or expansions to set the
-number of nodes of <CODE
-CLASS="PARAMETER"
->pg</CODE
-> to <CODE
-CLASS="PARAMETER"
->n</CODE
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN19494"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->pg</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-progressive-graph.html#GTSPGRAPH"
-><SPAN
-CLASS="TYPE"
->GtsPGraph</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN19501"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->n</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a number of nodes.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN19506"
-></A
-><H3
-><A
-NAME="GTS-PGRAPH-GET-NODE-NUMBER"
-></A
->gts_pgraph_get_node_number ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> gts_pgraph_get_node_number (<A
-HREF="gts-progressive-graph.html#GTSPGRAPH"
->GtsPGraph</A
-> *pg);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN19517"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->pg</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-progressive-graph.html#GTSPGRAPH"
-><SPAN
-CLASS="TYPE"
->GtsPGraph</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN19524"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the current number of nodes of <CODE
-CLASS="PARAMETER"
->pg</CODE
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN19530"
-></A
-><H3
-><A
-NAME="GTS-PGRAPH-MAX-NODE-NUMBER"
-></A
->gts_pgraph_max_node_number ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> gts_pgraph_max_node_number (<A
-HREF="gts-progressive-graph.html#GTSPGRAPH"
->GtsPGraph</A
-> *pg);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN19541"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->pg</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-progressive-graph.html#GTSPGRAPH"
-><SPAN
-CLASS="TYPE"
->GtsPGraph</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN19548"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the maximum number of nodes of <CODE
-CLASS="PARAMETER"
->pg</CODE
-> i.e. the number of
-nodes if all the <A
-HREF="gts-progressive-graph.html#GTSGNODESPLIT"
-><SPAN
-CLASS="TYPE"
->GtsGNodeSplit</SPAN
-></A
-> were expanded. </P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN19556"
-></A
-><H3
-><A
-NAME="GTS-PGRAPH-MIN-NODE-NUMBER"
-></A
->gts_pgraph_min_node_number ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> gts_pgraph_min_node_number (<A
-HREF="gts-progressive-graph.html#GTSPGRAPH"
->GtsPGraph</A
-> *pg);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN19567"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->pg</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-progressive-graph.html#GTSPGRAPH"
-><SPAN
-CLASS="TYPE"
->GtsPGraph</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN19574"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the minimum number of nodes of <CODE
-CLASS="PARAMETER"
->pg</CODE
-> i.e. the number of
-nodes if all the <A
-HREF="gts-progressive-graph.html#GTSGNODESPLIT"
-><SPAN
-CLASS="TYPE"
->GtsGNodeSplit</SPAN
-></A
-> were collapsed. </P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN19582"
-></A
-><H3
-><A
-NAME="GTS-PGRAPH-FOREACH-NODE"
-></A
->gts_pgraph_foreach_node ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_pgraph_foreach_node (<A
-HREF="gts-progressive-graph.html#GTSPGRAPH"
->GtsPGraph</A
-> *pg,
- <A
-HREF="gts-surfaces.html#GTSFUNC"
->GtsFunc</A
-> func,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> data);</PRE
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN19594"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->pg</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-></P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN19599"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->func</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-></P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN19604"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->data</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-></DIV
-><TABLE
-CLASS="navigation"
-WIDTH="100%"
-SUMMARY="Navigation footer"
-CELLPADDING="2"
-CELLSPACING="2"
-><TR
-VALIGN="middle"
-><TD
-ALIGN="left"
-><A
-ACCESSKEY="p"
-HREF="gts-weighted-graph.html"
-><B
-><<< Weighted graph</B
-></A
-></TD
-><TD
-ALIGN="right"
-><A
-ACCESSKEY="n"
-HREF="gts-graph-partitioning.html"
-><B
->Graph partitioning >>></B
-></A
-></TD
-></TR
-></TABLE
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/gts-progressive-surfaces.html b/doc/html/gts-progressive-surfaces.html
deleted file mode 100644
index 5f60d7b..0000000
--- a/doc/html/gts-progressive-surfaces.html
+++ /dev/null
@@ -1,2559 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
-<HTML
-><HEAD
-><TITLE
->Progressive surfaces</TITLE
-><META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
-REL="HOME"
-TITLE="GTS Library Reference Manual"
-HREF="book1.html"><LINK
-REL="UP"
-TITLE="Progressive and Hierarchical surfaces"
-HREF="c15264.html"><LINK
-REL="PREVIOUS"
-TITLE="Vertex split"
-HREF="gts-vertex-split.html"><LINK
-REL="NEXT"
-TITLE="Hierarchical vertex split"
-HREF="gts-hierarchical-vertex-split.html"><STYLE
-TYPE="text/css"
->.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</STYLE
-></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><TABLE
-WIDTH="100%"
-CLASS="navigation"
-SUMMARY="Navigation header"
-CELLPADDING="2"
-CELLSPACING="2"
-><TR
-VALIGN="middle"
-><TD
-><A
-ACCESSKEY="p"
-HREF="gts-vertex-split.html"
-><IMG
-SRC="left.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Prev"></A
-></TD
-><TD
-><A
-ACCESSKEY="u"
-HREF="c15264.html"
-><IMG
-SRC="up.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Up"></A
-></TD
-><TD
-><A
-ACCESSKEY="h"
-HREF="book1.html"
-><IMG
-SRC="home.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Home"></A
-></TD
-><TH
-WIDTH="100%"
-align="center"
->GTS Library Reference Manual</TH
-><TD
-><A
-ACCESSKEY="n"
-HREF="gts-hierarchical-vertex-split.html"
-><IMG
-SRC="right.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Next"></A
-></TD
-></TR
-></TABLE
-><H1
-><A
-NAME="GTS-PROGRESSIVE-SURFACES"
-></A
->Progressive surfaces</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN15757"
-></A
-><H2
->Name</H2
->Progressive surfaces -- continuous level-of-detail for surfaces.</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN15760"
-></A
-><H2
->Synopsis</H2
-><PRE
-CLASS="SYNOPSIS"
->
#include <gts.h>
-
-
-#define <A
-HREF="gts-progressive-surfaces.html#GTS-PSURFACE-CLASS:CAPS"
->GTS_PSURFACE_CLASS</A
-> (klass)
-#define <A
-HREF="gts-progressive-surfaces.html#GTS-PSURFACE:CAPS"
->GTS_PSURFACE</A
-> (obj)
-#define <A
-HREF="gts-progressive-surfaces.html#GTS-IS-PSURFACE:CAPS"
->GTS_IS_PSURFACE</A
-> (obj)
-#define <A
-HREF="gts-progressive-surfaces.html#GTS-PSURFACE-IS-CLOSED:CAPS"
->GTS_PSURFACE_IS_CLOSED</A
-> (ps)
- <A
-HREF="gts-progressive-surfaces.html#GTSPSURFACECLASS"
->GtsPSurfaceClass</A
->;
- <A
-HREF="gts-progressive-surfaces.html#GTSPSURFACE"
->GtsPSurface</A
->;
-
-<A
-HREF="gts-progressive-surfaces.html#GTSPSURFACECLASS"
->GtsPSurfaceClass</A
->* <A
-HREF="gts-progressive-surfaces.html#GTS-PSURFACE-CLASS"
->gts_psurface_class</A
-> (void);
-<A
-HREF="gts-progressive-surfaces.html#GTSPSURFACE"
->GtsPSurface</A
->* <A
-HREF="gts-progressive-surfaces.html#GTS-PSURFACE-NEW"
->gts_psurface_new</A
-> (<A
-HREF="gts-progressive-surfaces.html#GTSPSURFACECLASS"
->GtsPSurfaceClass</A
-> *klass,
- <A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *surface,
- <A
-HREF="gts-vertex-split.html#GTSSPLITCLASS"
->GtsSplitClass</A
-> *split_class,
- <A
-HREF="gts-extended-binary-heaps.html#GTSKEYFUNC"
->GtsKeyFunc</A
-> cost_func,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> cost_data,
- <A
-HREF="gts-surface-simplification-and-refinement.html#GTSCOARSENFUNC"
->GtsCoarsenFunc</A
-> coarsen_func,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> coarsen_data,
- <A
-HREF="gts-surface-simplification-and-refinement.html#GTSSTOPFUNC"
->GtsStopFunc</A
-> stop_func,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> stop_data,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> minangle);
-<A
-HREF="gts-vertex-split.html#GTSSPLIT"
->GtsSplit</A
->* <A
-HREF="gts-progressive-surfaces.html#GTS-PSURFACE-ADD-VERTEX"
->gts_psurface_add_vertex</A
-> (<A
-HREF="gts-progressive-surfaces.html#GTSPSURFACE"
->GtsPSurface</A
-> *ps);
-<A
-HREF="gts-vertex-split.html#GTSSPLIT"
->GtsSplit</A
->* <A
-HREF="gts-progressive-surfaces.html#GTS-PSURFACE-REMOVE-VERTEX"
->gts_psurface_remove_vertex</A
-> (<A
-HREF="gts-progressive-surfaces.html#GTSPSURFACE"
->GtsPSurface</A
-> *ps);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-progressive-surfaces.html#GTS-PSURFACE-SET-VERTEX-NUMBER"
->gts_psurface_set_vertex_number</A
-> (<A
-HREF="gts-progressive-surfaces.html#GTSPSURFACE"
->GtsPSurface</A
-> *ps,
- <GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> n);
-<GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> <A
-HREF="gts-progressive-surfaces.html#GTS-PSURFACE-GET-VERTEX-NUMBER"
->gts_psurface_get_vertex_number</A
-> (<A
-HREF="gts-progressive-surfaces.html#GTSPSURFACE"
->GtsPSurface</A
-> *ps);
-<GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> <A
-HREF="gts-progressive-surfaces.html#GTS-PSURFACE-MIN-VERTEX-NUMBER"
->gts_psurface_min_vertex_number</A
-> (<A
-HREF="gts-progressive-surfaces.html#GTSPSURFACE"
->GtsPSurface</A
-> *ps);
-<GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> <A
-HREF="gts-progressive-surfaces.html#GTS-PSURFACE-MAX-VERTEX-NUMBER"
->gts_psurface_max_vertex_number</A
-> (<A
-HREF="gts-progressive-surfaces.html#GTSPSURFACE"
->GtsPSurface</A
-> *ps);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-progressive-surfaces.html#GTS-PSURFACE-FOREACH-VERTEX"
->gts_psurface_foreach_vertex</A
-> (<A
-HREF="gts-progressive-surfaces.html#GTSPSURFACE"
->GtsPSurface</A
-> *ps,
- <A
-HREF="gts-surfaces.html#GTSFUNC"
->GtsFunc</A
-> func,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> data);
-<A
-HREF="gts-progressive-surfaces.html#GTSPSURFACE"
->GtsPSurface</A
->* <A
-HREF="gts-progressive-surfaces.html#GTS-PSURFACE-OPEN"
->gts_psurface_open</A
-> (<A
-HREF="gts-progressive-surfaces.html#GTSPSURFACECLASS"
->GtsPSurfaceClass</A
-> *klass,
- <A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s,
- <A
-HREF="gts-vertex-split.html#GTSSPLITCLASS"
->GtsSplitClass</A
-> *split_class,
- <A
-HREF="gts-miscellaneous-macros-and-functions.html#GTSFILE"
->GtsFile</A
-> *f);
-<A
-HREF="gts-vertex-split.html#GTSSPLIT"
->GtsSplit</A
->* <A
-HREF="gts-progressive-surfaces.html#GTS-PSURFACE-READ-VERTEX"
->gts_psurface_read_vertex</A
-> (<A
-HREF="gts-progressive-surfaces.html#GTSPSURFACE"
->GtsPSurface</A
-> *ps,
- <A
-HREF="gts-miscellaneous-macros-and-functions.html#GTSFILE"
->GtsFile</A
-> *fp);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-progressive-surfaces.html#GTS-PSURFACE-CLOSE"
->gts_psurface_close</A
-> (<A
-HREF="gts-progressive-surfaces.html#GTSPSURFACE"
->GtsPSurface</A
-> *ps);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-progressive-surfaces.html#GTS-PSURFACE-WRITE"
->gts_psurface_write</A
-> (<A
-HREF="gts-progressive-surfaces.html#GTSPSURFACE"
->GtsPSurface</A
-> *ps,
- <GTKDOCLINK
-HREF="FILE:CAPS"
->FILE</GTKDOCLINK
-> *fptr);</PRE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN15824"
-></A
-><H2
->Description</H2
-><P
->Progressive surfaces allow you to control precisely and continuously the level of detail of a <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
->. They are built off-line by storing the sequence of edge collapses performed during surface simplification (see <A
-HREF="gts-progressive-surfaces.html#GTS-PSURFACE-NEW"
-><CODE
-CLASS="FUNCTION"
->gts_psurface_new()</CODE
-></A
->). Fast traversal of the pre-built sequence allow on-line selection of the required level of detail.</P
-><P
->Using the <A
-HREF="gts-progressive-surfaces.html#GTS-PSURFACE-WRITE"
-><CODE
-CLASS="FUNCTION"
->gts_psurface_write()</CODE
-></A
-> function a text representation of a progressive surface can be written to a file, pipe or socket. This text representation allows the progressive transmission of a surface, starting with the coarsest representation and progressively refining it as data is read or received (see <A
-HREF="gts-progressive-surfaces.html#GTS-PSURFACE-OPEN"
-><CODE
-CLASS="FUNCTION"
->gts_psurface_open()</CODE
-></A
->, <A
-HREF="gts-progressive-surfaces.html#GTS-PSURFACE-READ-VERTEX"
-><CODE
-CLASS="FUNCTION"
->gts_psurface_read_vertex()</CODE
-></A
-> and <A
-HREF="gts-progressive-surfaces.html#GTS-PSURFACE-CLOSE"
-><CODE
-CLASS="FUNCTION"
->gts_psurface_close()</CODE
-></A
-> for details).</P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN15840"
-></A
-><H2
->Details</H2
-><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN15842"
-></A
-><H3
-><A
-NAME="GTS-PSURFACE-CLASS:CAPS"
-></A
->GTS_PSURFACE_CLASS()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_PSURFACE_CLASS(klass)</PRE
-><P
->Casts <CODE
-CLASS="PARAMETER"
->klass</CODE
-> to <A
-HREF="gts-progressive-surfaces.html#GTSPSURFACECLASS"
-><SPAN
-CLASS="TYPE"
->GtsPSurfaceClass</SPAN
-></A
->.</P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN15853"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->klass</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->a descendant of <A
-HREF="gts-progressive-surfaces.html#GTSPSURFACECLASS"
-><SPAN
-CLASS="TYPE"
->GtsPSurfaceClass</SPAN
-></A
->.
-
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN15860"
-></A
-><H3
-><A
-NAME="GTS-PSURFACE:CAPS"
-></A
->GTS_PSURFACE()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_PSURFACE(obj)</PRE
-><P
->Casts <CODE
-CLASS="PARAMETER"
->obj</CODE
-> to <A
-HREF="gts-progressive-surfaces.html#GTSPSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsPSurface</SPAN
-></A
->.</P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN15871"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->obj</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->a descendant of <A
-HREF="gts-progressive-surfaces.html#GTSPSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsPSurface</SPAN
-></A
->.
-
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN15878"
-></A
-><H3
-><A
-NAME="GTS-IS-PSURFACE:CAPS"
-></A
->GTS_IS_PSURFACE()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_IS_PSURFACE(obj)</PRE
-><P
->Evaluates to <TT
-CLASS="LITERAL"
->TRUE</TT
-> if <CODE
-CLASS="PARAMETER"
->obj</CODE
-> is a <A
-HREF="gts-progressive-surfaces.html#GTSPSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsPSurface</SPAN
-></A
->, <TT
-CLASS="LITERAL"
->FALSE</TT
-> otherwise.</P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN15891"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->obj</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->a pointer to test.
-
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN15896"
-></A
-><H3
-><A
-NAME="GTS-PSURFACE-IS-CLOSED:CAPS"
-></A
->GTS_PSURFACE_IS_CLOSED()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_PSURFACE_IS_CLOSED(ps) (!(ps)->vertices)</PRE
-><P
->Evaluates to <TT
-CLASS="LITERAL"
->TRUE</TT
-> if <CODE
-CLASS="PARAMETER"
->ps</CODE
-> has not been created with <A
-HREF="gts-progressive-surfaces.html#GTS-PSURFACE-OPEN"
-><CODE
-CLASS="FUNCTION"
->gts_psurface_open()</CODE
-></A
-> or if
-it has been closed using <A
-HREF="gts-progressive-surfaces.html#GTS-PSURFACE-CLOSE"
-><CODE
-CLASS="FUNCTION"
->gts_psurface_close()</CODE
-></A
->.</P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN15910"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->ps</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->a <A
-HREF="gts-progressive-surfaces.html#GTSPSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsPSurface</SPAN
-></A
->.
-
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN15917"
-></A
-><H3
-><A
-NAME="GTSPSURFACECLASS"
-></A
->GtsPSurfaceClass</H3
-><PRE
-CLASS="PROGRAMLISTING"
->typedef struct {
- GtsObjectClass parent_class;
-} GtsPSurfaceClass;</PRE
-><P
->The progressive surface class derived from <A
-HREF="gts-object-class.html#GTSOBJECTCLASS"
-><SPAN
-CLASS="TYPE"
->GtsObjectClass</SPAN
-></A
->.</P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN15926"
-></A
-><H3
-><A
-NAME="GTSPSURFACE"
-></A
->GtsPSurface</H3
-><PRE
-CLASS="PROGRAMLISTING"
->typedef struct {
- GtsObject object;
-
- GtsSurface * s;
- GPtrArray * split;
- GtsSplitClass * split_class;
- guint pos, min;
-
- GPtrArray * vertices;
- GPtrArray * faces;
-} GtsPSurface;</PRE
-><P
->The progressive surface object.
-
- derived from <A
-HREF="gts-object-class.html#GTSOBJECT"
-><SPAN
-CLASS="TYPE"
->GtsObject</SPAN
-></A
->. The field <CODE
-CLASS="PARAMETER"
->s</CODE
-> is the <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
-> being refined or coarsened by operations on the progressive surface. All the other fields must be considered private and accessed only through the following functions.</P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN15939"><SPAN
-STYLE="white-space: nowrap"
-><A
-HREF="gts-object-class.html#GTSOBJECT"
->GtsObject</A
-> <CODE
-CLASS="STRUCTFIELD"
->object</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->The parent object.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN15945"><SPAN
-STYLE="white-space: nowrap"
-><A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *<CODE
-CLASS="STRUCTFIELD"
->s</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->The <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
-> being refined or coarsened by operations on the progressive surface.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN15953"><SPAN
-STYLE="white-space: nowrap"
-><GTKDOCLINK
-HREF="GPTRARRAY"
->GPtrArray</GTKDOCLINK
-> *<CODE
-CLASS="STRUCTFIELD"
->split</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-></P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN15959"><SPAN
-STYLE="white-space: nowrap"
-><A
-HREF="gts-vertex-split.html#GTSSPLITCLASS"
->GtsSplitClass</A
-> *<CODE
-CLASS="STRUCTFIELD"
->split_class</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-></P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN15965"><SPAN
-STYLE="white-space: nowrap"
-><GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> <CODE
-CLASS="STRUCTFIELD"
->pos</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-></P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN15971"><SPAN
-STYLE="white-space: nowrap"
-><GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> <CODE
-CLASS="STRUCTFIELD"
->min</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-></P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN15977"><SPAN
-STYLE="white-space: nowrap"
-><GTKDOCLINK
-HREF="GPTRARRAY"
->GPtrArray</GTKDOCLINK
-> *<CODE
-CLASS="STRUCTFIELD"
->vertices</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-></P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN15983"><SPAN
-STYLE="white-space: nowrap"
-><GTKDOCLINK
-HREF="GPTRARRAY"
->GPtrArray</GTKDOCLINK
-> *<CODE
-CLASS="STRUCTFIELD"
->faces</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-></P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN15989"
-></A
-><H3
-><A
-NAME="GTS-PSURFACE-CLASS"
-></A
->gts_psurface_class ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-progressive-surfaces.html#GTSPSURFACECLASS"
->GtsPSurfaceClass</A
->* gts_psurface_class (void);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN15999"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the <A
-HREF="gts-progressive-surfaces.html#GTSPSURFACECLASS"
-><SPAN
-CLASS="TYPE"
->GtsPSurfaceClass</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN16006"
-></A
-><H3
-><A
-NAME="GTS-PSURFACE-NEW"
-></A
->gts_psurface_new ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-progressive-surfaces.html#GTSPSURFACE"
->GtsPSurface</A
->* gts_psurface_new (<A
-HREF="gts-progressive-surfaces.html#GTSPSURFACECLASS"
->GtsPSurfaceClass</A
-> *klass,
- <A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *surface,
- <A
-HREF="gts-vertex-split.html#GTSSPLITCLASS"
->GtsSplitClass</A
-> *split_class,
- <A
-HREF="gts-extended-binary-heaps.html#GTSKEYFUNC"
->GtsKeyFunc</A
-> cost_func,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> cost_data,
- <A
-HREF="gts-surface-simplification-and-refinement.html#GTSCOARSENFUNC"
->GtsCoarsenFunc</A
-> coarsen_func,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> coarsen_data,
- <A
-HREF="gts-surface-simplification-and-refinement.html#GTSSTOPFUNC"
->GtsStopFunc</A
-> stop_func,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> stop_data,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> minangle);</PRE
-><P
->This function works in exactly the same way as the
-<A
-HREF="gts-surface-simplification-and-refinement.html#GTS-SURFACE-COARSEN"
-><CODE
-CLASS="FUNCTION"
->gts_surface_coarsen()</CODE
-></A
-> function, except that the history of edge
-collapse is saved in an array of <A
-HREF="gts-vertex-split.html#GTSSPLIT"
-><SPAN
-CLASS="TYPE"
->GtsSplit</SPAN
-></A
-> objects. This allows for
-dynamic continuous multiresolution control of the input <CODE
-CLASS="PARAMETER"
->surface</CODE
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN16031"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->klass</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-progressive-surfaces.html#GTSPSURFACECLASS"
-><SPAN
-CLASS="TYPE"
->GtsPSurfaceClass</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN16038"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->surface</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN16045"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->split_class</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-vertex-split.html#GTSSPLITCLASS"
-><SPAN
-CLASS="TYPE"
->GtsSplitClass</SPAN
-></A
-> to use for the new progressive surface.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN16052"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->cost_func</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> cost function for the edge collapse algorithm.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN16057"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->cost_data</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> data to pass to <CODE
-CLASS="PARAMETER"
->cost_func</CODE
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN16063"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->coarsen_func</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the function returning the vertex replacement for the edge
-collapse.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN16068"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->coarsen_data</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> data to pass to <CODE
-CLASS="PARAMETER"
->coarsen_func</CODE
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN16074"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->stop_func</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the function to call to decide whether to stop the coarsening
-process.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN16079"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->stop_data</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> data to pass to <CODE
-CLASS="PARAMETER"
->stop_func</CODE
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN16085"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->minangle</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the minimum angle allowable between two neighboring triangles.
-This is used to avoid introducing folds in the mesh during simplification.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN16090"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a new progressive surface.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN16095"
-></A
-><H3
-><A
-NAME="GTS-PSURFACE-ADD-VERTEX"
-></A
->gts_psurface_add_vertex ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-vertex-split.html#GTSSPLIT"
->GtsSplit</A
->* gts_psurface_add_vertex (<A
-HREF="gts-progressive-surfaces.html#GTSPSURFACE"
->GtsPSurface</A
-> *ps);</PRE
-><P
->Adds a vertex to the progressive surface <CODE
-CLASS="PARAMETER"
->ps</CODE
-> by expanding the next
-available <A
-HREF="gts-vertex-split.html#GTSSPLIT"
-><SPAN
-CLASS="TYPE"
->GtsSplit</SPAN
-></A
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN16109"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->ps</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-progressive-surfaces.html#GTSPSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsPSurface</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN16116"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the expanded <A
-HREF="gts-vertex-split.html#GTSSPLIT"
-><SPAN
-CLASS="TYPE"
->GtsSplit</SPAN
-></A
-> or <TT
-CLASS="LITERAL"
->NULL</TT
-> if all the <A
-HREF="gts-vertex-split.html#GTSSPLIT"
-><SPAN
-CLASS="TYPE"
->GtsSplit</SPAN
-></A
-> have already
-been expanded.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN16126"
-></A
-><H3
-><A
-NAME="GTS-PSURFACE-REMOVE-VERTEX"
-></A
->gts_psurface_remove_vertex ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-vertex-split.html#GTSSPLIT"
->GtsSplit</A
->* gts_psurface_remove_vertex (<A
-HREF="gts-progressive-surfaces.html#GTSPSURFACE"
->GtsPSurface</A
-> *ps);</PRE
-><P
->Removes one vertex from the progressive surface <CODE
-CLASS="PARAMETER"
->ps</CODE
-> by collapsing the first
-available <A
-HREF="gts-vertex-split.html#GTSSPLIT"
-><SPAN
-CLASS="TYPE"
->GtsSplit</SPAN
-></A
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN16140"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->ps</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-progressive-surfaces.html#GTSPSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsPSurface</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN16147"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the collapsed <A
-HREF="gts-vertex-split.html#GTSSPLIT"
-><SPAN
-CLASS="TYPE"
->GtsSplit</SPAN
-></A
-> or <TT
-CLASS="LITERAL"
->NULL</TT
-> if all the <A
-HREF="gts-vertex-split.html#GTSSPLIT"
-><SPAN
-CLASS="TYPE"
->GtsSplit</SPAN
-></A
-> have already
-been collapsed.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN16157"
-></A
-><H3
-><A
-NAME="GTS-PSURFACE-SET-VERTEX-NUMBER"
-></A
->gts_psurface_set_vertex_number ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_psurface_set_vertex_number (<A
-HREF="gts-progressive-surfaces.html#GTSPSURFACE"
->GtsPSurface</A
-> *ps,
- <GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> n);</PRE
-><P
->Performs the required number of collapses or expansions to set the number
-of vertices of <CODE
-CLASS="PARAMETER"
->ps</CODE
-> to <CODE
-CLASS="PARAMETER"
->n</CODE
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN16171"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->ps</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-progressive-surfaces.html#GTSPSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsPSurface</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN16178"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->n</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a number of vertices.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN16183"
-></A
-><H3
-><A
-NAME="GTS-PSURFACE-GET-VERTEX-NUMBER"
-></A
->gts_psurface_get_vertex_number ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> gts_psurface_get_vertex_number (<A
-HREF="gts-progressive-surfaces.html#GTSPSURFACE"
->GtsPSurface</A
-> *ps);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN16194"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->ps</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-progressive-surfaces.html#GTSPSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsPSurface</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN16201"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the current number of vertices of <CODE
-CLASS="PARAMETER"
->ps</CODE
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN16207"
-></A
-><H3
-><A
-NAME="GTS-PSURFACE-MIN-VERTEX-NUMBER"
-></A
->gts_psurface_min_vertex_number ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> gts_psurface_min_vertex_number (<A
-HREF="gts-progressive-surfaces.html#GTSPSURFACE"
->GtsPSurface</A
-> *ps);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN16218"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->ps</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-progressive-surfaces.html#GTSPSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsPSurface</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN16225"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the minimum number of vertices of <CODE
-CLASS="PARAMETER"
->ps</CODE
-> i.e. the number of vertices
-if all the <A
-HREF="gts-vertex-split.html#GTSSPLIT"
-><SPAN
-CLASS="TYPE"
->GtsSplit</SPAN
-></A
-> were collapsed.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN16233"
-></A
-><H3
-><A
-NAME="GTS-PSURFACE-MAX-VERTEX-NUMBER"
-></A
->gts_psurface_max_vertex_number ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> gts_psurface_max_vertex_number (<A
-HREF="gts-progressive-surfaces.html#GTSPSURFACE"
->GtsPSurface</A
-> *ps);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN16244"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->ps</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-progressive-surfaces.html#GTSPSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsPSurface</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN16251"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the maximum number of vertices of <CODE
-CLASS="PARAMETER"
->ps</CODE
-> i.e. the number of vertices
-if all the <A
-HREF="gts-vertex-split.html#GTSSPLIT"
-><SPAN
-CLASS="TYPE"
->GtsSplit</SPAN
-></A
-> were expanded.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN16259"
-></A
-><H3
-><A
-NAME="GTS-PSURFACE-FOREACH-VERTEX"
-></A
->gts_psurface_foreach_vertex ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_psurface_foreach_vertex (<A
-HREF="gts-progressive-surfaces.html#GTSPSURFACE"
->GtsPSurface</A
-> *ps,
- <A
-HREF="gts-surfaces.html#GTSFUNC"
->GtsFunc</A
-> func,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> data);</PRE
-><P
->Calls <CODE
-CLASS="PARAMETER"
->func</CODE
-> for each (potential) vertex of <CODE
-CLASS="PARAMETER"
->ps</CODE
->, whether actually used
-or not. The vertices are called in the order they were created during the
-edge collapse operation.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN16274"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->ps</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-progressive-surfaces.html#GTSPSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsPSurface</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN16281"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->func</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a function to call for each vertex of <CODE
-CLASS="PARAMETER"
->ps</CODE
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN16287"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->data</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> data to be passed to <CODE
-CLASS="PARAMETER"
->func</CODE
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN16293"
-></A
-><H3
-><A
-NAME="GTS-PSURFACE-OPEN"
-></A
->gts_psurface_open ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-progressive-surfaces.html#GTSPSURFACE"
->GtsPSurface</A
->* gts_psurface_open (<A
-HREF="gts-progressive-surfaces.html#GTSPSURFACECLASS"
->GtsPSurfaceClass</A
-> *klass,
- <A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s,
- <A
-HREF="gts-vertex-split.html#GTSSPLITCLASS"
->GtsSplitClass</A
-> *split_class,
- <A
-HREF="gts-miscellaneous-macros-and-functions.html#GTSFILE"
->GtsFile</A
-> *f);</PRE
-><P
->Creates a new <A
-HREF="gts-progressive-surfaces.html#GTSPSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsPSurface</SPAN
-></A
-> prepared for input from the file <CODE
-CLASS="PARAMETER"
->f</CODE
->
-containing a valid GTS representation of a progressive surface. The initial
-shape of the progressive surface is loaded into <CODE
-CLASS="PARAMETER"
->s</CODE
->.</P
-><P
->Before being usable as such this progressive surface must be closed using
-<A
-HREF="gts-progressive-surfaces.html#GTS-PSURFACE-CLOSE"
-><CODE
-CLASS="FUNCTION"
->gts_psurface_close()</CODE
-></A
->. While open however, the functions
-<A
-HREF="gts-progressive-surfaces.html#GTS-PSURFACE-GET-VERTEX-NUMBER"
-><CODE
-CLASS="FUNCTION"
->gts_psurface_get_vertex_number()</CODE
-></A
->, <A
-HREF="gts-progressive-surfaces.html#GTS-PSURFACE-MIN-VERTEX-NUMBER"
-><CODE
-CLASS="FUNCTION"
->gts_psurface_min_vertex_number()</CODE
-></A
-> and
-<A
-HREF="gts-progressive-surfaces.html#GTS-PSURFACE-MAX-VERTEX-NUMBER"
-><CODE
-CLASS="FUNCTION"
->gts_psurface_max_vertex_number()</CODE
-></A
-> can still be used.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN16320"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->klass</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-progressive-surfaces.html#GTSPSURFACECLASS"
-><SPAN
-CLASS="TYPE"
->GtsPSurfaceClass</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN16327"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->s</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN16334"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->split_class</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-vertex-split.html#GTSSPLITCLASS"
-><SPAN
-CLASS="TYPE"
->GtsSplitClass</SPAN
-></A
-> to use for the <A
-HREF="gts-vertex-split.html#GTSSPLIT"
-><SPAN
-CLASS="TYPE"
->GtsSplit</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN16343"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->f</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-miscellaneous-macros-and-functions.html#GTSFILE"
-><SPAN
-CLASS="TYPE"
->GtsFile</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN16350"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a new <A
-HREF="gts-progressive-surfaces.html#GTSPSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsPSurface</SPAN
-></A
-> or <TT
-CLASS="LITERAL"
->NULL</TT
-> if there was a format error while
-reading the file, in which case <CODE
-CLASS="PARAMETER"
->f</CODE
-> contains information about the error.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN16359"
-></A
-><H3
-><A
-NAME="GTS-PSURFACE-READ-VERTEX"
-></A
->gts_psurface_read_vertex ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-vertex-split.html#GTSSPLIT"
->GtsSplit</A
->* gts_psurface_read_vertex (<A
-HREF="gts-progressive-surfaces.html#GTSPSURFACE"
->GtsPSurface</A
-> *ps,
- <A
-HREF="gts-miscellaneous-macros-and-functions.html#GTSFILE"
->GtsFile</A
-> *fp);</PRE
-><P
->Reads in one vertex split operation from <CODE
-CLASS="PARAMETER"
->fp</CODE
-> and performs the expansion.</P
-><P
->If an error occurs while reading the file, the <CODE
-CLASS="PARAMETER"
->error</CODE
-> field of <CODE
-CLASS="PARAMETER"
->fp</CODE
-> is set.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN16375"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->ps</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-progressive-surfaces.html#GTSPSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsPSurface</SPAN
-></A
-> prealably created with <A
-HREF="gts-progressive-surfaces.html#GTS-PSURFACE-OPEN"
-><CODE
-CLASS="FUNCTION"
->gts_psurface_open()</CODE
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN16384"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->fp</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-miscellaneous-macros-and-functions.html#GTSFILE"
-><SPAN
-CLASS="TYPE"
->GtsFile</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN16391"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the newly created <A
-HREF="gts-vertex-split.html#GTSSPLIT"
-><SPAN
-CLASS="TYPE"
->GtsSplit</SPAN
-></A
-> or <TT
-CLASS="LITERAL"
->NULL</TT
-> if no vertex split could be
-read from <CODE
-CLASS="PARAMETER"
->fp</CODE
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN16400"
-></A
-><H3
-><A
-NAME="GTS-PSURFACE-CLOSE"
-></A
->gts_psurface_close ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_psurface_close (<A
-HREF="gts-progressive-surfaces.html#GTSPSURFACE"
->GtsPSurface</A
-> *ps);</PRE
-><P
->Closes a progressive surface.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN16411"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->ps</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-progressive-surfaces.html#GTSPSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsPSurface</SPAN
-></A
-> prealably created with <A
-HREF="gts-progressive-surfaces.html#GTS-PSURFACE-OPEN"
-><CODE
-CLASS="FUNCTION"
->gts_psurface_open()</CODE
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN16420"
-></A
-><H3
-><A
-NAME="GTS-PSURFACE-WRITE"
-></A
->gts_psurface_write ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_psurface_write (<A
-HREF="gts-progressive-surfaces.html#GTSPSURFACE"
->GtsPSurface</A
-> *ps,
- <GTKDOCLINK
-HREF="FILE:CAPS"
->FILE</GTKDOCLINK
-> *fptr);</PRE
-><P
->Writes to <CODE
-CLASS="PARAMETER"
->fptr</CODE
-> a GTS progressive surface description.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN16433"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->ps</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-progressive-surfaces.html#GTSPSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsPSurface</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN16440"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->fptr</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a file pointer.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-></DIV
-><TABLE
-CLASS="navigation"
-WIDTH="100%"
-SUMMARY="Navigation footer"
-CELLPADDING="2"
-CELLSPACING="2"
-><TR
-VALIGN="middle"
-><TD
-ALIGN="left"
-><A
-ACCESSKEY="p"
-HREF="gts-vertex-split.html"
-><B
-><<< Vertex split</B
-></A
-></TD
-><TD
-ALIGN="right"
-><A
-ACCESSKEY="n"
-HREF="gts-hierarchical-vertex-split.html"
-><B
->Hierarchical vertex split >>></B
-></A
-></TD
-></TR
-></TABLE
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/gts-segments.html b/doc/html/gts-segments.html
deleted file mode 100644
index 58bbc13..0000000
--- a/doc/html/gts-segments.html
+++ /dev/null
@@ -1,1647 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
-<HTML
-><HEAD
-><TITLE
->Segments</TITLE
-><META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
-REL="HOME"
-TITLE="GTS Library Reference Manual"
-HREF="book1.html"><LINK
-REL="UP"
-TITLE="Geometrical Object Hierarchy"
-HREF="c2915.html"><LINK
-REL="PREVIOUS"
-TITLE="Vertices"
-HREF="gts-vertices.html"><LINK
-REL="NEXT"
-TITLE="Edges"
-HREF="gts-edges.html"><STYLE
-TYPE="text/css"
->.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</STYLE
-></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><TABLE
-WIDTH="100%"
-CLASS="navigation"
-SUMMARY="Navigation header"
-CELLPADDING="2"
-CELLSPACING="2"
-><TR
-VALIGN="middle"
-><TD
-><A
-ACCESSKEY="p"
-HREF="gts-vertices.html"
-><IMG
-SRC="left.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Prev"></A
-></TD
-><TD
-><A
-ACCESSKEY="u"
-HREF="c2915.html"
-><IMG
-SRC="up.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Up"></A
-></TD
-><TD
-><A
-ACCESSKEY="h"
-HREF="book1.html"
-><IMG
-SRC="home.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Home"></A
-></TD
-><TH
-WIDTH="100%"
-align="center"
->GTS Library Reference Manual</TH
-><TD
-><A
-ACCESSKEY="n"
-HREF="gts-edges.html"
-><IMG
-SRC="right.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Next"></A
-></TD
-></TR
-></TABLE
-><H1
-><A
-NAME="GTS-SEGMENTS"
-></A
->Segments</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN6136"
-></A
-><H2
->Name</H2
->Segments -- segment object and related functions.</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN6139"
-></A
-><H2
->Synopsis</H2
-><PRE
-CLASS="SYNOPSIS"
->
#include <gts.h>
-
-
-#define <A
-HREF="gts-segments.html#GTS-SEGMENT-CLASS:CAPS"
->GTS_SEGMENT_CLASS</A
-> (klass)
-#define <A
-HREF="gts-segments.html#GTS-SEGMENT:CAPS"
->GTS_SEGMENT</A
-> (obj)
-#define <A
-HREF="gts-segments.html#GTS-IS-SEGMENT:CAPS"
->GTS_IS_SEGMENT</A
-> (obj)
- <A
-HREF="gts-segments.html#GTSSEGMENTCLASS"
->GtsSegmentClass</A
->;
- <A
-HREF="gts-segments.html#GTSSEGMENT"
->GtsSegment</A
->;
-
-<A
-HREF="gts-segments.html#GTSSEGMENTCLASS"
->GtsSegmentClass</A
->* <A
-HREF="gts-segments.html#GTS-SEGMENT-CLASS"
->gts_segment_class</A
-> (void);
-<A
-HREF="gts-segments.html#GTSSEGMENT"
->GtsSegment</A
->* <A
-HREF="gts-segments.html#GTS-SEGMENT-NEW"
->gts_segment_new</A
-> (<A
-HREF="gts-segments.html#GTSSEGMENTCLASS"
->GtsSegmentClass</A
-> *klass,
- <A
-HREF="gts-vertices.html#GTSVERTEX"
->GtsVertex</A
-> *v1,
- <A
-HREF="gts-vertices.html#GTSVERTEX"
->GtsVertex</A
-> *v2);
-#define <A
-HREF="gts-segments.html#GTS-SEGMENTS-ARE-IDENTICAL"
->gts_segments_are_identical</A
-> (s1, s2)
-<A
-HREF="gts-points.html#GTSINTERSECT"
->GtsIntersect</A
-> <A
-HREF="gts-segments.html#GTS-SEGMENTS-ARE-INTERSECTING"
->gts_segments_are_intersecting</A
-> (<A
-HREF="gts-segments.html#GTSSEGMENT"
->GtsSegment</A
-> *s1,
- <A
-HREF="gts-segments.html#GTSSEGMENT"
->GtsSegment</A
-> *s2);
-<A
-HREF="gts-segments.html#GTSSEGMENT"
->GtsSegment</A
->* <A
-HREF="gts-segments.html#GTS-SEGMENT-IS-DUPLICATE"
->gts_segment_is_duplicate</A
-> (<A
-HREF="gts-segments.html#GTSSEGMENT"
->GtsSegment</A
-> *s);
-<GTKDOCLINK
-HREF="GBOOLEAN"
->gboolean</GTKDOCLINK
-> <A
-HREF="gts-segments.html#GTS-SEGMENT-IS-OK"
->gts_segment_is_ok</A
-> (<A
-HREF="gts-segments.html#GTSSEGMENT"
->GtsSegment</A
-> *s);
-#define <A
-HREF="gts-segments.html#GTS-SEGMENT-CONNECT"
->gts_segment_connect</A
-> (s, e1, e2)
-#define <A
-HREF="gts-segments.html#GTS-SEGMENTS-TOUCH"
->gts_segments_touch</A
-> (s1, s2)
-<GTKDOCLINK
-HREF="GSLIST"
->GSList</GTKDOCLINK
->* <A
-HREF="gts-segments.html#GTS-SEGMENTS-FROM-VERTICES"
->gts_segments_from_vertices</A
-> (<GTKDOCLINK
-HREF="GSLIST"
->GSList</GTKDOCLINK
-> *vertices);
-<A
-HREF="gts-vertices.html#GTSVERTEX"
->GtsVertex</A
->* <A
-HREF="gts-segments.html#GTS-SEGMENT-MIDVERTEX"
->gts_segment_midvertex</A
-> (<A
-HREF="gts-segments.html#GTSSEGMENT"
->GtsSegment</A
-> *s,
- <A
-HREF="gts-vertices.html#GTSVERTEXCLASS"
->GtsVertexClass</A
-> *klass);</PRE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN6174"
-></A
-><H2
->Description</H2
-><P
->Segments are defined by their two <A
-HREF="gts-vertices.html#GTSVERTEX"
-><SPAN
-CLASS="TYPE"
->GtsVertex</SPAN
-></A
->. They are not oriented.</P
-><P
->When destroying a <A
-HREF="gts-segments.html#GTSSEGMENT"
-><SPAN
-CLASS="TYPE"
->GtsSegment</SPAN
-></A
->, all the vertices not used by another edge are also destroyed. This default behaviour can be changed punctually by setting the global variable gts_allow_floating_vertices to <TT
-CLASS="LITERAL"
->TRUE</TT
->. You must not forget to set this variable back to <TT
-CLASS="LITERAL"
->FALSE</TT
-> as all the algorithms of GTS assume the default behaviour.</P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN6184"
-></A
-><H2
->Details</H2
-><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN6186"
-></A
-><H3
-><A
-NAME="GTS-SEGMENT-CLASS:CAPS"
-></A
->GTS_SEGMENT_CLASS()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_SEGMENT_CLASS(klass)</PRE
-><P
->Casts <CODE
-CLASS="PARAMETER"
->klass</CODE
-> to <A
-HREF="gts-segments.html#GTSSEGMENTCLASS"
-><SPAN
-CLASS="TYPE"
->GtsSegmentClass</SPAN
-></A
->.</P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN6197"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->klass</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->a descendant of <A
-HREF="gts-segments.html#GTSSEGMENTCLASS"
-><SPAN
-CLASS="TYPE"
->GtsSegmentClass</SPAN
-></A
->.
-
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN6204"
-></A
-><H3
-><A
-NAME="GTS-SEGMENT:CAPS"
-></A
->GTS_SEGMENT()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_SEGMENT(obj)</PRE
-><P
->Casts <CODE
-CLASS="PARAMETER"
->obj</CODE
-> to <A
-HREF="gts-segments.html#GTSSEGMENT"
-><SPAN
-CLASS="TYPE"
->GtsSegment</SPAN
-></A
->.</P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN6215"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->obj</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->a descendant of <A
-HREF="gts-segments.html#GTSSEGMENT"
-><SPAN
-CLASS="TYPE"
->GtsSegment</SPAN
-></A
->.
-
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN6222"
-></A
-><H3
-><A
-NAME="GTS-IS-SEGMENT:CAPS"
-></A
->GTS_IS_SEGMENT()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_IS_SEGMENT(obj)</PRE
-><P
->Evaluates to <TT
-CLASS="LITERAL"
->TRUE</TT
-> if <CODE
-CLASS="PARAMETER"
->obj</CODE
-> is a descendant of <A
-HREF="gts-segments.html#GTSSEGMENT"
-><SPAN
-CLASS="TYPE"
->GtsSegment</SPAN
-></A
->, <TT
-CLASS="LITERAL"
->FALSE</TT
-> otherwise.</P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN6235"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->obj</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->a pointer to test.
-
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN6240"
-></A
-><H3
-><A
-NAME="GTSSEGMENTCLASS"
-></A
->GtsSegmentClass</H3
-><PRE
-CLASS="PROGRAMLISTING"
->typedef struct {
- GtsObjectClass parent_class;
-} GtsSegmentClass;</PRE
-><P
->The segment class. No virtual functions are assiocated.</P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN6247"
-></A
-><H3
-><A
-NAME="GTSSEGMENT"
-></A
->GtsSegment</H3
-><PRE
-CLASS="PROGRAMLISTING"
->typedef struct {
- GtsObject object;
-
- GtsVertex * v1;
- GtsVertex * v2;
-} GtsSegment;</PRE
-><P
->The segment object.</P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN6255"><SPAN
-STYLE="white-space: nowrap"
-><A
-HREF="gts-object-class.html#GTSOBJECT"
->GtsObject</A
-> <CODE
-CLASS="STRUCTFIELD"
->object</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->The parent object.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN6261"><SPAN
-STYLE="white-space: nowrap"
-><A
-HREF="gts-vertices.html#GTSVERTEX"
->GtsVertex</A
-> *<CODE
-CLASS="STRUCTFIELD"
->v1</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->First endpoint of the segment.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN6267"><SPAN
-STYLE="white-space: nowrap"
-><A
-HREF="gts-vertices.html#GTSVERTEX"
->GtsVertex</A
-> *<CODE
-CLASS="STRUCTFIELD"
->v2</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->Second endpoint of the segment.
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN6273"
-></A
-><H3
-><A
-NAME="GTS-SEGMENT-CLASS"
-></A
->gts_segment_class ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-segments.html#GTSSEGMENTCLASS"
->GtsSegmentClass</A
->* gts_segment_class (void);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN6283"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the <A
-HREF="gts-segments.html#GTSSEGMENTCLASS"
-><SPAN
-CLASS="TYPE"
->GtsSegmentClass</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN6290"
-></A
-><H3
-><A
-NAME="GTS-SEGMENT-NEW"
-></A
->gts_segment_new ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-segments.html#GTSSEGMENT"
->GtsSegment</A
->* gts_segment_new (<A
-HREF="gts-segments.html#GTSSEGMENTCLASS"
->GtsSegmentClass</A
-> *klass,
- <A
-HREF="gts-vertices.html#GTSVERTEX"
->GtsVertex</A
-> *v1,
- <A
-HREF="gts-vertices.html#GTSVERTEX"
->GtsVertex</A
-> *v2);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN6303"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->klass</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-segments.html#GTSSEGMENTCLASS"
-><SPAN
-CLASS="TYPE"
->GtsSegmentClass</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN6310"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->v1</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-vertices.html#GTSVERTEX"
-><SPAN
-CLASS="TYPE"
->GtsVertex</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN6317"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->v2</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> another <A
-HREF="gts-vertices.html#GTSVERTEX"
-><SPAN
-CLASS="TYPE"
->GtsVertex</SPAN
-></A
-> different from <CODE
-CLASS="PARAMETER"
->v1</CODE
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN6325"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a new <A
-HREF="gts-segments.html#GTSSEGMENT"
-><SPAN
-CLASS="TYPE"
->GtsSegment</SPAN
-></A
-> linking <CODE
-CLASS="PARAMETER"
->v1</CODE
-> and <CODE
-CLASS="PARAMETER"
->v2</CODE
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN6334"
-></A
-><H3
-><A
-NAME="GTS-SEGMENTS-ARE-IDENTICAL"
-></A
->gts_segments_are_identical()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define gts_segments_are_identical(s1, s2)</PRE
-><P
->Evaluates to <TT
-CLASS="LITERAL"
->TRUE</TT
-> if <CODE
-CLASS="PARAMETER"
->s1</CODE
-> and <CODE
-CLASS="PARAMETER"
->s2</CODE
-> link the same vertices, <TT
-CLASS="LITERAL"
->FALSE</TT
-> otherwise.</P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN6346"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->s1</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->a <A
-HREF="gts-segments.html#GTSSEGMENT"
-><SPAN
-CLASS="TYPE"
->GtsSegment</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN6353"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->s2</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->another <A
-HREF="gts-segments.html#GTSSEGMENT"
-><SPAN
-CLASS="TYPE"
->GtsSegment</SPAN
-></A
->.
-
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN6360"
-></A
-><H3
-><A
-NAME="GTS-SEGMENTS-ARE-INTERSECTING"
-></A
->gts_segments_are_intersecting ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-points.html#GTSINTERSECT"
->GtsIntersect</A
-> gts_segments_are_intersecting (<A
-HREF="gts-segments.html#GTSSEGMENT"
->GtsSegment</A
-> *s1,
- <A
-HREF="gts-segments.html#GTSSEGMENT"
->GtsSegment</A
-> *s2);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN6372"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->s1</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-segments.html#GTSSEGMENT"
-><SPAN
-CLASS="TYPE"
->GtsSegment</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN6379"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->s2</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-segments.html#GTSSEGMENT"
-><SPAN
-CLASS="TYPE"
->GtsSegment</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN6386"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> <TT
-CLASS="LITERAL"
->GTS_IN</TT
-> if <CODE
-CLASS="PARAMETER"
->s1</CODE
-> and <CODE
-CLASS="PARAMETER"
->s2</CODE
-> are intersecting, <TT
-CLASS="LITERAL"
->GTS_ON</TT
-> if one of the
-endpoints of <CODE
-CLASS="PARAMETER"
->s1</CODE
-> (resp. <CODE
-CLASS="PARAMETER"
->s2</CODE
->) lies on <CODE
-CLASS="PARAMETER"
->s2</CODE
-> (resp. <CODE
-CLASS="PARAMETER"
->s1</CODE
->), <TT
-CLASS="LITERAL"
->GTS_OUT</TT
-> otherwise.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN6400"
-></A
-><H3
-><A
-NAME="GTS-SEGMENT-IS-DUPLICATE"
-></A
->gts_segment_is_duplicate ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-segments.html#GTSSEGMENT"
->GtsSegment</A
->* gts_segment_is_duplicate (<A
-HREF="gts-segments.html#GTSSEGMENT"
->GtsSegment</A
-> *s);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN6411"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->s</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-segments.html#GTSSEGMENT"
-><SPAN
-CLASS="TYPE"
->GtsSegment</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN6418"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the first <A
-HREF="gts-segments.html#GTSSEGMENT"
-><SPAN
-CLASS="TYPE"
->GtsSegment</SPAN
-></A
-> different from <CODE
-CLASS="PARAMETER"
->s</CODE
-> which shares the
-same endpoints or <TT
-CLASS="LITERAL"
->NULL</TT
-> if there is none.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN6427"
-></A
-><H3
-><A
-NAME="GTS-SEGMENT-IS-OK"
-></A
->gts_segment_is_ok ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GBOOLEAN"
->gboolean</GTKDOCLINK
-> gts_segment_is_ok (<A
-HREF="gts-segments.html#GTSSEGMENT"
->GtsSegment</A
-> *s);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN6438"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->s</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-segments.html#GTSSEGMENT"
-><SPAN
-CLASS="TYPE"
->GtsSegment</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN6445"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> <TT
-CLASS="LITERAL"
->TRUE</TT
-> if <CODE
-CLASS="PARAMETER"
->s</CODE
-> is not degenerate (i.e. <CODE
-CLASS="PARAMETER"
->s</CODE
->->v1 != <CODE
-CLASS="PARAMETER"
->s</CODE
->->v2) and not
-duplicate, <TT
-CLASS="LITERAL"
->FALSE</TT
-> otherwise.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN6455"
-></A
-><H3
-><A
-NAME="GTS-SEGMENT-CONNECT"
-></A
->gts_segment_connect()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define gts_segment_connect(s, e1, e2)</PRE
-><P
->Evaluates to <TT
-CLASS="LITERAL"
->TRUE</TT
-> if <CODE
-CLASS="PARAMETER"
->s</CODE
-> connects <CODE
-CLASS="PARAMETER"
->e1</CODE
-> with <CODE
-CLASS="PARAMETER"
->e2</CODE
->, <TT
-CLASS="LITERAL"
->FALSE</TT
-> otherwise.</P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN6468"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->s</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->a <A
-HREF="gts-segments.html#GTSSEGMENT"
-><SPAN
-CLASS="TYPE"
->GtsSegment</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN6475"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->e1</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->a <A
-HREF="gts-vertices.html#GTSVERTEX"
-><SPAN
-CLASS="TYPE"
->GtsVertex</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN6482"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->e2</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->another <A
-HREF="gts-vertices.html#GTSVERTEX"
-><SPAN
-CLASS="TYPE"
->GtsVertex</SPAN
-></A
->.
-
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN6489"
-></A
-><H3
-><A
-NAME="GTS-SEGMENTS-TOUCH"
-></A
->gts_segments_touch()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define gts_segments_touch(s1, s2)</PRE
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN6497"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->s1</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-></P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN6502"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->s2</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN6507"
-></A
-><H3
-><A
-NAME="GTS-SEGMENTS-FROM-VERTICES"
-></A
->gts_segments_from_vertices ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GSLIST"
->GSList</GTKDOCLINK
->* gts_segments_from_vertices (<GTKDOCLINK
-HREF="GSLIST"
->GSList</GTKDOCLINK
-> *vertices);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN6518"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->vertices</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a list of <A
-HREF="gts-vertices.html#GTSVERTEX"
-><SPAN
-CLASS="TYPE"
->GtsVertex</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN6525"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a list of unique <A
-HREF="gts-segments.html#GTSSEGMENT"
-><SPAN
-CLASS="TYPE"
->GtsSegment</SPAN
-></A
-> which have one of their vertices in
-<CODE
-CLASS="PARAMETER"
->vertices</CODE
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN6533"
-></A
-><H3
-><A
-NAME="GTS-SEGMENT-MIDVERTEX"
-></A
->gts_segment_midvertex ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-vertices.html#GTSVERTEX"
->GtsVertex</A
->* gts_segment_midvertex (<A
-HREF="gts-segments.html#GTSSEGMENT"
->GtsSegment</A
-> *s,
- <A
-HREF="gts-vertices.html#GTSVERTEXCLASS"
->GtsVertexClass</A
-> *klass);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN6545"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->s</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-segments.html#GTSSEGMENT"
-><SPAN
-CLASS="TYPE"
->GtsSegment</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN6552"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->klass</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-vertices.html#GTSVERTEXCLASS"
-><SPAN
-CLASS="TYPE"
->GtsVertexClass</SPAN
-></A
-> to be used for the new vertex.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN6559"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a new <A
-HREF="gts-vertices.html#GTSVERTEX"
-><SPAN
-CLASS="TYPE"
->GtsVertex</SPAN
-></A
->, midvertex of <CODE
-CLASS="PARAMETER"
->s</CODE
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-></DIV
-><TABLE
-CLASS="navigation"
-WIDTH="100%"
-SUMMARY="Navigation footer"
-CELLPADDING="2"
-CELLSPACING="2"
-><TR
-VALIGN="middle"
-><TD
-ALIGN="left"
-><A
-ACCESSKEY="p"
-HREF="gts-vertices.html"
-><B
-><<< Vertices</B
-></A
-></TD
-><TD
-ALIGN="right"
-><A
-ACCESSKEY="n"
-HREF="gts-edges.html"
-><B
->Edges >>></B
-></A
-></TD
-></TR
-></TABLE
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/gts-simple-statistics.html b/doc/html/gts-simple-statistics.html
deleted file mode 100644
index 4311998..0000000
--- a/doc/html/gts-simple-statistics.html
+++ /dev/null
@@ -1,823 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
-<HTML
-><HEAD
-><TITLE
->Simple statistics</TITLE
-><META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
-REL="HOME"
-TITLE="GTS Library Reference Manual"
-HREF="book1.html"><LINK
-REL="UP"
-TITLE="Basic Macros, functions and data structures"
-HREF="c4.html"><LINK
-REL="PREVIOUS"
-TITLE="Vectors and matrices"
-HREF="gts-vectors-and-matrices.html"><LINK
-REL="NEXT"
-TITLE="Miscellaneous macros and functions"
-HREF="gts-miscellaneous-macros-and-functions.html"><STYLE
-TYPE="text/css"
->.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</STYLE
-></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><TABLE
-WIDTH="100%"
-CLASS="navigation"
-SUMMARY="Navigation header"
-CELLPADDING="2"
-CELLSPACING="2"
-><TR
-VALIGN="middle"
-><TD
-><A
-ACCESSKEY="p"
-HREF="gts-vectors-and-matrices.html"
-><IMG
-SRC="left.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Prev"></A
-></TD
-><TD
-><A
-ACCESSKEY="u"
-HREF="c4.html"
-><IMG
-SRC="up.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Up"></A
-></TD
-><TD
-><A
-ACCESSKEY="h"
-HREF="book1.html"
-><IMG
-SRC="home.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Home"></A
-></TD
-><TH
-WIDTH="100%"
-align="center"
->GTS Library Reference Manual</TH
-><TD
-><A
-ACCESSKEY="n"
-HREF="gts-miscellaneous-macros-and-functions.html"
-><IMG
-SRC="right.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Next"></A
-></TD
-></TR
-></TABLE
-><H1
-><A
-NAME="GTS-SIMPLE-STATISTICS"
-></A
->Simple statistics</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN2193"
-></A
-><H2
->Name</H2
->Simple statistics -- a basic structure for computing min, max, average and variance.</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN2196"
-></A
-><H2
->Synopsis</H2
-><PRE
-CLASS="SYNOPSIS"
->
#include <gts.h>
-
-
- <A
-HREF="gts-simple-statistics.html#GTSRANGE"
->GtsRange</A
->;
-
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-simple-statistics.html#GTS-RANGE-INIT"
->gts_range_init</A
-> (<A
-HREF="gts-simple-statistics.html#GTSRANGE"
->GtsRange</A
-> *r);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-simple-statistics.html#GTS-RANGE-ADD-VALUE"
->gts_range_add_value</A
-> (<A
-HREF="gts-simple-statistics.html#GTSRANGE"
->GtsRange</A
-> *r,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> val);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-simple-statistics.html#GTS-RANGE-UPDATE"
->gts_range_update</A
-> (<A
-HREF="gts-simple-statistics.html#GTSRANGE"
->GtsRange</A
-> *r);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-simple-statistics.html#GTS-RANGE-RESET"
->gts_range_reset</A
-> (<A
-HREF="gts-simple-statistics.html#GTSRANGE"
->GtsRange</A
-> *r);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-simple-statistics.html#GTS-RANGE-PRINT"
->gts_range_print</A
-> (<A
-HREF="gts-simple-statistics.html#GTSRANGE"
->GtsRange</A
-> *r,
- <GTKDOCLINK
-HREF="FILE:CAPS"
->FILE</GTKDOCLINK
-> *fptr);</PRE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN2217"
-></A
-><H2
->Description</H2
-><P
->Using <A
-HREF="gts-simple-statistics.html#GTS-RANGE-INIT"
-><CODE
-CLASS="FUNCTION"
->gts_range_init()</CODE
-></A
->, <A
-HREF="gts-simple-statistics.html#GTS-RANGE-ADD-VALUE"
-><CODE
-CLASS="FUNCTION"
->gts_range_add_value()</CODE
-></A
-> and <A
-HREF="gts-simple-statistics.html#GTS-RANGE-UPDATE"
-><CODE
-CLASS="FUNCTION"
->gts_range_update()</CODE
-></A
->, you can easily maintain basic statistics about an ensemble of values.</P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN2226"
-></A
-><H2
->Details</H2
-><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN2228"
-></A
-><H3
-><A
-NAME="GTSRANGE"
-></A
->GtsRange</H3
-><PRE
-CLASS="PROGRAMLISTING"
->typedef struct {
- gdouble min, max, sum, sum2, mean, stddev;
- guint n;
-} GtsRange;</PRE
-><P
->A simple statistics structure.</P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN2236"><SPAN
-STYLE="white-space: nowrap"
-><GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> <CODE
-CLASS="STRUCTFIELD"
->min</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->Minimum value of the population.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN2242"><SPAN
-STYLE="white-space: nowrap"
-><GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> <CODE
-CLASS="STRUCTFIELD"
->max</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->Maximum value of the population.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN2248"><SPAN
-STYLE="white-space: nowrap"
-><GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> <CODE
-CLASS="STRUCTFIELD"
->sum</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-></P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN2254"><SPAN
-STYLE="white-space: nowrap"
-><GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> <CODE
-CLASS="STRUCTFIELD"
->sum2</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-></P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN2260"><SPAN
-STYLE="white-space: nowrap"
-><GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> <CODE
-CLASS="STRUCTFIELD"
->mean</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->Average value of the population.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN2266"><SPAN
-STYLE="white-space: nowrap"
-><GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> <CODE
-CLASS="STRUCTFIELD"
->stddev</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->Standard deviation of the population.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN2272"><SPAN
-STYLE="white-space: nowrap"
-><GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> <CODE
-CLASS="STRUCTFIELD"
->n</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->Number of samples in the population.
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN2278"
-></A
-><H3
-><A
-NAME="GTS-RANGE-INIT"
-></A
->gts_range_init ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_range_init (<A
-HREF="gts-simple-statistics.html#GTSRANGE"
->GtsRange</A
-> *r);</PRE
-><P
->Initializes a <A
-HREF="gts-simple-statistics.html#GTSRANGE"
-><SPAN
-CLASS="TYPE"
->GtsRange</SPAN
-></A
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN2291"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->r</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-simple-statistics.html#GTSRANGE"
-><SPAN
-CLASS="TYPE"
->GtsRange</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN2298"
-></A
-><H3
-><A
-NAME="GTS-RANGE-ADD-VALUE"
-></A
->gts_range_add_value ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_range_add_value (<A
-HREF="gts-simple-statistics.html#GTSRANGE"
->GtsRange</A
-> *r,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> val);</PRE
-><P
->Adds <CODE
-CLASS="PARAMETER"
->val</CODE
-> to <CODE
-CLASS="PARAMETER"
->r</CODE
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN2312"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->r</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-simple-statistics.html#GTSRANGE"
-><SPAN
-CLASS="TYPE"
->GtsRange</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN2319"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->val</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a value to add to <CODE
-CLASS="PARAMETER"
->r</CODE
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN2325"
-></A
-><H3
-><A
-NAME="GTS-RANGE-UPDATE"
-></A
->gts_range_update ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_range_update (<A
-HREF="gts-simple-statistics.html#GTSRANGE"
->GtsRange</A
-> *r);</PRE
-><P
->Updates the fields of <CODE
-CLASS="PARAMETER"
->r</CODE
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN2337"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->r</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-simple-statistics.html#GTSRANGE"
-><SPAN
-CLASS="TYPE"
->GtsRange</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN2344"
-></A
-><H3
-><A
-NAME="GTS-RANGE-RESET"
-></A
->gts_range_reset ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_range_reset (<A
-HREF="gts-simple-statistics.html#GTSRANGE"
->GtsRange</A
-> *r);</PRE
-><P
->Sets all the fields of <CODE
-CLASS="PARAMETER"
->r</CODE
-> to 0.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN2356"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->r</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-simple-statistics.html#GTSRANGE"
-><SPAN
-CLASS="TYPE"
->GtsRange</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN2363"
-></A
-><H3
-><A
-NAME="GTS-RANGE-PRINT"
-></A
->gts_range_print ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_range_print (<A
-HREF="gts-simple-statistics.html#GTSRANGE"
->GtsRange</A
-> *r,
- <GTKDOCLINK
-HREF="FILE:CAPS"
->FILE</GTKDOCLINK
-> *fptr);</PRE
-><P
->Writes a text representation of <CODE
-CLASS="PARAMETER"
->r</CODE
-> in <CODE
-CLASS="PARAMETER"
->fptr</CODE
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN2377"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->r</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-simple-statistics.html#GTSRANGE"
-><SPAN
-CLASS="TYPE"
->GtsRange</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN2384"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->fptr</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a file pointer.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-></DIV
-><TABLE
-CLASS="navigation"
-WIDTH="100%"
-SUMMARY="Navigation footer"
-CELLPADDING="2"
-CELLSPACING="2"
-><TR
-VALIGN="middle"
-><TD
-ALIGN="left"
-><A
-ACCESSKEY="p"
-HREF="gts-vectors-and-matrices.html"
-><B
-><<< Vectors and matrices</B
-></A
-></TD
-><TD
-ALIGN="right"
-><A
-ACCESSKEY="n"
-HREF="gts-miscellaneous-macros-and-functions.html"
-><B
->Miscellaneous macros and functions >>></B
-></A
-></TD
-></TR
-></TABLE
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/gts-surface-simplification-and-refinement.html b/doc/html/gts-surface-simplification-and-refinement.html
deleted file mode 100644
index 9fecce2..0000000
--- a/doc/html/gts-surface-simplification-and-refinement.html
+++ /dev/null
@@ -1,2302 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
-<HTML
-><HEAD
-><TITLE
->Surface simplification and refinement</TITLE
-><META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
-REL="HOME"
-TITLE="GTS Library Reference Manual"
-HREF="book1.html"><LINK
-REL="UP"
-TITLE="Surface operations"
-HREF="c12206.html"><LINK
-REL="PREVIOUS"
-TITLE="Boolean operations"
-HREF="gts-boolean-operations.html"><LINK
-REL="NEXT"
-TITLE="Out-of-core simplification"
-HREF="gts-out-of-core-simplification.html"><STYLE
-TYPE="text/css"
->.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</STYLE
-></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><TABLE
-WIDTH="100%"
-CLASS="navigation"
-SUMMARY="Navigation header"
-CELLPADDING="2"
-CELLSPACING="2"
-><TR
-VALIGN="middle"
-><TD
-><A
-ACCESSKEY="p"
-HREF="gts-boolean-operations.html"
-><IMG
-SRC="left.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Prev"></A
-></TD
-><TD
-><A
-ACCESSKEY="u"
-HREF="c12206.html"
-><IMG
-SRC="up.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Up"></A
-></TD
-><TD
-><A
-ACCESSKEY="h"
-HREF="book1.html"
-><IMG
-SRC="home.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Home"></A
-></TD
-><TH
-WIDTH="100%"
-align="center"
->GTS Library Reference Manual</TH
-><TD
-><A
-ACCESSKEY="n"
-HREF="gts-out-of-core-simplification.html"
-><IMG
-SRC="right.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Next"></A
-></TD
-></TR
-></TABLE
-><H1
-><A
-NAME="GTS-SURFACE-SIMPLIFICATION-AND-REFINEMENT"
-></A
->Surface simplification and refinement</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN12636"
-></A
-><H2
->Name</H2
->Surface simplification and refinement -- reducing or increasing the number of edges of a triangulated surface.</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN12639"
-></A
-><H2
->Synopsis</H2
-><PRE
-CLASS="SYNOPSIS"
->
#include <gts.h>
-
-
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-surface-simplification-and-refinement.html#GTS-SURFACE-REFINE"
->gts_surface_refine</A
-> (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *surface,
- <A
-HREF="gts-extended-binary-heaps.html#GTSKEYFUNC"
->GtsKeyFunc</A
-> cost_func,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> cost_data,
- <A
-HREF="gts-surface-simplification-and-refinement.html#GTSREFINEFUNC"
->GtsRefineFunc</A
-> refine_func,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> refine_data,
- <A
-HREF="gts-surface-simplification-and-refinement.html#GTSSTOPFUNC"
->GtsStopFunc</A
-> stop_func,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> stop_data);
-
-<A
-HREF="gts-vertices.html#GTSVERTEX"
->GtsVertex</A
->* (<A
-HREF="gts-surface-simplification-and-refinement.html#GTSCOARSENFUNC"
->*GtsCoarsenFunc</A
->) (<A
-HREF="gts-edges.html#GTSEDGE"
->GtsEdge</A
-> *e,
- <A
-HREF="gts-vertices.html#GTSVERTEXCLASS"
->GtsVertexClass</A
-> *klass,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> data);
-<A
-HREF="gts-vertices.html#GTSVERTEX"
->GtsVertex</A
->* (<A
-HREF="gts-surface-simplification-and-refinement.html#GTSREFINEFUNC"
->*GtsRefineFunc</A
->) (<A
-HREF="gts-edges.html#GTSEDGE"
->GtsEdge</A
-> *e,
- <A
-HREF="gts-vertices.html#GTSVERTEXCLASS"
->GtsVertexClass</A
-> *klass,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> data);
-<GTKDOCLINK
-HREF="GBOOLEAN"
->gboolean</GTKDOCLINK
-> (<A
-HREF="gts-surface-simplification-and-refinement.html#GTSSTOPFUNC"
->*GtsStopFunc</A
->) (<GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> cost,
- <GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> nedge,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> data);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-surface-simplification-and-refinement.html#GTS-SURFACE-COARSEN"
->gts_surface_coarsen</A
-> (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *surface,
- <A
-HREF="gts-extended-binary-heaps.html#GTSKEYFUNC"
->GtsKeyFunc</A
-> cost_func,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> cost_data,
- <A
-HREF="gts-surface-simplification-and-refinement.html#GTSCOARSENFUNC"
->GtsCoarsenFunc</A
-> coarsen_func,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> coarsen_data,
- <A
-HREF="gts-surface-simplification-and-refinement.html#GTSSTOPFUNC"
->GtsStopFunc</A
-> stop_func,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> stop_data,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> minangle);
-<GTKDOCLINK
-HREF="GBOOLEAN"
->gboolean</GTKDOCLINK
-> <A
-HREF="gts-surface-simplification-and-refinement.html#GTS-COARSEN-STOP-NUMBER"
->gts_coarsen_stop_number</A
-> (<GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> cost,
- <GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> nedge,
- <GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> *min_number);
-<GTKDOCLINK
-HREF="GBOOLEAN"
->gboolean</GTKDOCLINK
-> <A
-HREF="gts-surface-simplification-and-refinement.html#GTS-COARSEN-STOP-COST"
->gts_coarsen_stop_cost</A
-> (<GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> cost,
- <GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> nedge,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> *max_cost);
-
- <A
-HREF="gts-surface-simplification-and-refinement.html#GTSVOLUMEOPTIMIZEDPARAMS"
->GtsVolumeOptimizedParams</A
->;
-<A
-HREF="gts-vertices.html#GTSVERTEX"
->GtsVertex</A
->* <A
-HREF="gts-surface-simplification-and-refinement.html#GTS-VOLUME-OPTIMIZED-VERTEX"
->gts_volume_optimized_vertex</A
-> (<A
-HREF="gts-edges.html#GTSEDGE"
->GtsEdge</A
-> *edge,
- <A
-HREF="gts-vertices.html#GTSVERTEXCLASS"
->GtsVertexClass</A
-> *klass,
- <A
-HREF="gts-surface-simplification-and-refinement.html#GTSVOLUMEOPTIMIZEDPARAMS"
->GtsVolumeOptimizedParams</A
-> *params);
-<GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> <A
-HREF="gts-surface-simplification-and-refinement.html#GTS-VOLUME-OPTIMIZED-COST"
->gts_volume_optimized_cost</A
-> (<A
-HREF="gts-edges.html#GTSEDGE"
->GtsEdge</A
-> *e,
- <A
-HREF="gts-surface-simplification-and-refinement.html#GTSVOLUMEOPTIMIZEDPARAMS"
->GtsVolumeOptimizedParams</A
-> *params);
-<GTKDOCLINK
-HREF="GBOOLEAN"
->gboolean</GTKDOCLINK
-> <A
-HREF="gts-surface-simplification-and-refinement.html#GTS-EDGE-COLLAPSE-IS-VALID"
->gts_edge_collapse_is_valid</A
-> (<A
-HREF="gts-edges.html#GTSEDGE"
->GtsEdge</A
-> *e);
-<GTKDOCLINK
-HREF="GBOOLEAN"
->gboolean</GTKDOCLINK
-> <A
-HREF="gts-surface-simplification-and-refinement.html#GTS-EDGE-COLLAPSE-CREATES-FOLD"
->gts_edge_collapse_creates_fold</A
-> (<A
-HREF="gts-edges.html#GTSEDGE"
->GtsEdge</A
-> *e,
- <A
-HREF="gts-vertices.html#GTSVERTEX"
->GtsVertex</A
-> *v,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> max);</PRE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN12704"
-></A
-><H2
->Description</H2
-><P
->The <A
-HREF="gts-surface-simplification-and-refinement.html#GTS-SURFACE-COARSEN"
-><CODE
-CLASS="FUNCTION"
->gts_surface_coarsen()</CODE
-></A
-> function allows to reduce the number of edges (and of course faces and vertices) of a given surface. Each edge is collapsed according to an order described by a user-defined cost function. It is then replaced by a single vertex given by another user-defined function. Two sets of cost and replacement functions are provided with the library. The default uses the squared length of the segment as cost and replaces the segment with its midpoint.</P
-><P
->The functions <A
-HREF="gts-surface-simplification-and-refinement.html#GTS-VOLUME-OPTIMIZED-COST"
-><CODE
-CLASS="FUNCTION"
->gts_volume_optimized_cost()</CODE
-></A
-> and <A
-HREF="gts-surface-simplification-and-refinement.html#GTS-VOLUME-OPTIMIZED-VERTEX"
-><CODE
-CLASS="FUNCTION"
->gts_volume_optimized_vertex()</CODE
-></A
-> are an implementation of an algorithm proposed by Lindstrom and Turk called "memoryless simplification". This algorithm has been shown to be both computationally efficient and very accurate in terms of error between the simplified surface and the original one. It also preserves the volume enclosed by the surface both globally and locally.</P
-><P
->Surface refinement is obtained by splitting the edges in two equal parts according to an order described by a user-defined cost function. The default is to use the squared length of the segments as cost.</P
-><P
->The coarsening or refinement processes are stopped using a user-defined stop function. Two functions are provided stopping either when the cost of collapsing an edge is too large (<A
-HREF="gts-surface-simplification-and-refinement.html#GTS-COARSEN-STOP-COST"
-><CODE
-CLASS="FUNCTION"
->gts_coarsen_stop_cost()</CODE
-></A
->) or when the number of edges is too small (<A
-HREF="gts-surface-simplification-and-refinement.html#GTS-COARSEN-STOP-NUMBER"
-><CODE
-CLASS="FUNCTION"
->gts_coarsen_stop_number()</CODE
-></A
->).</P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN12720"
-></A
-><H2
->Details</H2
-><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN12722"
-></A
-><H3
-><A
-NAME="GTS-SURFACE-REFINE"
-></A
->gts_surface_refine ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_surface_refine (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *surface,
- <A
-HREF="gts-extended-binary-heaps.html#GTSKEYFUNC"
->GtsKeyFunc</A
-> cost_func,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> cost_data,
- <A
-HREF="gts-surface-simplification-and-refinement.html#GTSREFINEFUNC"
->GtsRefineFunc</A
-> refine_func,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> refine_data,
- <A
-HREF="gts-surface-simplification-and-refinement.html#GTSSTOPFUNC"
->GtsStopFunc</A
-> stop_func,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> stop_data);</PRE
-><P
->Refine <CODE
-CLASS="PARAMETER"
->surface</CODE
-> using a midvertex insertion technique. All the
-edges of <CODE
-CLASS="PARAMETER"
->surface</CODE
-> are ordered according to <CODE
-CLASS="PARAMETER"
->cost_func</CODE
->. The edges
-are then processed in order until <CODE
-CLASS="PARAMETER"
->stop_func</CODE
-> returns <TT
-CLASS="LITERAL"
->TRUE</TT
->. Each
-edge is split in two and new edges and faces are created.</P
-><P
->If <CODE
-CLASS="PARAMETER"
->cost_func</CODE
-> is set to <TT
-CLASS="LITERAL"
->NULL</TT
->, the edges are sorted according
-to their length squared (the longest is on top).</P
-><P
->If <CODE
-CLASS="PARAMETER"
->refine_func</CODE
-> is set to <TT
-CLASS="LITERAL"
->NULL</TT
-> <A
-HREF="gts-segments.html#GTS-SEGMENT-MIDVERTEX"
-><CODE
-CLASS="FUNCTION"
->gts_segment_midvertex()</CODE
-></A
-> is used.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN12752"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->surface</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN12759"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->cost_func</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a function returning the cost for a given edge.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN12764"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->cost_data</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> user data to be passed to <CODE
-CLASS="PARAMETER"
->cost_func</CODE
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN12770"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->refine_func</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surface-simplification-and-refinement.html#GTSREFINEFUNC"
-><SPAN
-CLASS="TYPE"
->GtsRefineFunc</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN12777"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->refine_data</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> user data to be passed to <CODE
-CLASS="PARAMETER"
->refine_func</CODE
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN12783"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->stop_func</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surface-simplification-and-refinement.html#GTSSTOPFUNC"
-><SPAN
-CLASS="TYPE"
->GtsStopFunc</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN12790"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->stop_data</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> user data to be passed to <CODE
-CLASS="PARAMETER"
->stop_func</CODE
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN12796"
-></A
-><H3
-><A
-NAME="GTSCOARSENFUNC"
-></A
->GtsCoarsenFunc ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-vertices.html#GTSVERTEX"
->GtsVertex</A
->* (*GtsCoarsenFunc) (<A
-HREF="gts-edges.html#GTSEDGE"
->GtsEdge</A
-> *e,
- <A
-HREF="gts-vertices.html#GTSVERTEXCLASS"
->GtsVertexClass</A
-> *klass,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> data);</PRE
-><P
->User-defined function taking an edge <CODE
-CLASS="PARAMETER"
->e</CODE
-> and returning a replacement vertex of class <CODE
-CLASS="PARAMETER"
->klass</CODE
->.</P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN12810"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->e</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->a <A
-HREF="gts-edges.html#GTSEDGE"
-><SPAN
-CLASS="TYPE"
->GtsEdge</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN12817"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->klass</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->the <A
-HREF="gts-vertices.html#GTSVERTEXCLASS"
-><SPAN
-CLASS="TYPE"
->GtsVertexClass</SPAN
-></A
-> of the replacement vertex.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN12824"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->data</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->user data passed to the function.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN12829"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->a replacement vertex of class <CODE
-CLASS="PARAMETER"
->klass</CODE
->.
-
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN12835"
-></A
-><H3
-><A
-NAME="GTSREFINEFUNC"
-></A
->GtsRefineFunc ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-vertices.html#GTSVERTEX"
->GtsVertex</A
->* (*GtsRefineFunc) (<A
-HREF="gts-edges.html#GTSEDGE"
->GtsEdge</A
-> *e,
- <A
-HREF="gts-vertices.html#GTSVERTEXCLASS"
->GtsVertexClass</A
-> *klass,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> data);</PRE
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN12847"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->e</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-></P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN12852"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->klass</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-></P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN12857"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->data</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-></P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN12862"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN12867"
-></A
-><H3
-><A
-NAME="GTSSTOPFUNC"
-></A
->GtsStopFunc ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GBOOLEAN"
->gboolean</GTKDOCLINK
-> (*GtsStopFunc) (<GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> cost,
- <GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> nedge,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> data);</PRE
-><P
->User-defined function used to stop the coarsening process.</P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN12879"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->cost</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->the cost of collapse of the current edge.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN12884"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->nedge</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->the number of edges of the surface after collapse of the current edge.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN12889"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->data</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->user data passed to the function.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN12894"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-><TT
-CLASS="LITERAL"
->TRUE</TT
-> if the collapse of the current edge is not to take place, <TT
-CLASS="LITERAL"
->FALSE</TT
-> otherwise.
-
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN12901"
-></A
-><H3
-><A
-NAME="GTS-SURFACE-COARSEN"
-></A
->gts_surface_coarsen ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_surface_coarsen (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *surface,
- <A
-HREF="gts-extended-binary-heaps.html#GTSKEYFUNC"
->GtsKeyFunc</A
-> cost_func,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> cost_data,
- <A
-HREF="gts-surface-simplification-and-refinement.html#GTSCOARSENFUNC"
->GtsCoarsenFunc</A
-> coarsen_func,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> coarsen_data,
- <A
-HREF="gts-surface-simplification-and-refinement.html#GTSSTOPFUNC"
->GtsStopFunc</A
-> stop_func,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> stop_data,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> minangle);</PRE
-><P
->The edges of <CODE
-CLASS="PARAMETER"
->surface</CODE
-> are sorted according to <CODE
-CLASS="PARAMETER"
->cost_func</CODE
-> to
-create a priority heap (a <A
-HREF="gts-extended-binary-heaps.html#GTSEHEAP"
-><SPAN
-CLASS="TYPE"
->GtsEHeap</SPAN
-></A
->). The edges are extracted in
-turn from the top of the heap and collapsed (i.e. the vertices are
-replaced by the vertex returned by the <CODE
-CLASS="PARAMETER"
->coarsen_func</CODE
-> function)
-until the <CODE
-CLASS="PARAMETER"
->stop_func</CODE
-> functions returns <TT
-CLASS="LITERAL"
->TRUE</TT
->.</P
-><P
->If <CODE
-CLASS="PARAMETER"
->cost_func</CODE
-> is set to <TT
-CLASS="LITERAL"
->NULL</TT
->, the edges are sorted according
-to their length squared (the shortest is on top).</P
-><P
->If <CODE
-CLASS="PARAMETER"
->coarsen_func</CODE
-> is set to <TT
-CLASS="LITERAL"
->NULL</TT
-> <A
-HREF="gts-segments.html#GTS-SEGMENT-MIDVERTEX"
-><CODE
-CLASS="FUNCTION"
->gts_segment_midvertex()</CODE
-></A
-> is used.</P
-><P
->The minimum angle is used to avoid introducing faces which would be folded.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN12935"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->surface</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN12942"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->cost_func</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a function returning the cost for a given edge.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN12947"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->cost_data</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> user data to be passed to <CODE
-CLASS="PARAMETER"
->cost_func</CODE
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN12953"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->coarsen_func</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <GTKDOCLINK
-HREF="GTSCOARSENVERTEXFUNC"
-><SPAN
-CLASS="TYPE"
->GtsCoarsenVertexFunc</SPAN
-></GTKDOCLINK
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN12960"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->coarsen_data</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> user data to be passed to <CODE
-CLASS="PARAMETER"
->coarsen_func</CODE
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN12966"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->stop_func</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surface-simplification-and-refinement.html#GTSSTOPFUNC"
-><SPAN
-CLASS="TYPE"
->GtsStopFunc</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN12973"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->stop_data</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> user data to be passed to <CODE
-CLASS="PARAMETER"
->stop_func</CODE
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN12979"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->minangle</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> minimum angle between two neighboring triangles.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN12984"
-></A
-><H3
-><A
-NAME="GTS-COARSEN-STOP-NUMBER"
-></A
->gts_coarsen_stop_number ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GBOOLEAN"
->gboolean</GTKDOCLINK
-> gts_coarsen_stop_number (<GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> cost,
- <GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> nedge,
- <GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> *min_number);</PRE
-><P
->This function is to be used as the <CODE
-CLASS="PARAMETER"
->stop_func</CODE
-> argument of
-<A
-HREF="gts-surface-simplification-and-refinement.html#GTS-SURFACE-COARSEN"
-><CODE
-CLASS="FUNCTION"
->gts_surface_coarsen()</CODE
-></A
-> or <A
-HREF="gts-progressive-surfaces.html#GTS-PSURFACE-NEW"
-><CODE
-CLASS="FUNCTION"
->gts_psurface_new()</CODE
-></A
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN13002"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->cost</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the cost of the edge collapse considered.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN13007"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->nedge</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the current number of edges of the surface being simplified.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN13012"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->min_number</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a pointer to the minimum number of edges desired for the
-surface being simplified.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN13017"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> <TT
-CLASS="LITERAL"
->TRUE</TT
-> if the edge collapse would create a surface with a smaller
-number of edges than given by <CODE
-CLASS="PARAMETER"
->min_number</CODE
->, <TT
-CLASS="LITERAL"
->FALSE</TT
-> otherwise.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN13025"
-></A
-><H3
-><A
-NAME="GTS-COARSEN-STOP-COST"
-></A
->gts_coarsen_stop_cost ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GBOOLEAN"
->gboolean</GTKDOCLINK
-> gts_coarsen_stop_cost (<GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> cost,
- <GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> nedge,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> *max_cost);</PRE
-><P
->This function is to be used as the <CODE
-CLASS="PARAMETER"
->stop_func</CODE
-> argument of
-<A
-HREF="gts-surface-simplification-and-refinement.html#GTS-SURFACE-COARSEN"
-><CODE
-CLASS="FUNCTION"
->gts_surface_coarsen()</CODE
-></A
-> or <A
-HREF="gts-progressive-surfaces.html#GTS-PSURFACE-NEW"
-><CODE
-CLASS="FUNCTION"
->gts_psurface_new()</CODE
-></A
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN13043"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->cost</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the cost of the edge collapse considered.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN13048"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->nedge</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the current number of edges of the surface being simplified.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN13053"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->max_cost</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a pointer to the maximum cost allowed for an edge collapse.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN13058"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> <TT
-CLASS="LITERAL"
->TRUE</TT
-> if the cost of the edge collapse considered is larger than
-given by <CODE
-CLASS="PARAMETER"
->max_cost</CODE
->, <TT
-CLASS="LITERAL"
->FALSE</TT
-> otherwise.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN13066"
-></A
-><H3
-><A
-NAME="GTSVOLUMEOPTIMIZEDPARAMS"
-></A
->GtsVolumeOptimizedParams</H3
-><PRE
-CLASS="PROGRAMLISTING"
->typedef struct {
- gdouble volume_weight;
- gdouble boundary_weight;
- gdouble shape_weight;
-} GtsVolumeOptimizedParams;</PRE
-><P
->The parameters for the volume optimization algorithm of Lindstrom and Turk. THey define the relative weight of the volume, boundary and shape optimization part of the algorithm. Lindstrom and Turk advice is to set them to 0.5, 0.5 and 0. You may want to experiment depending on your problem. Setting <CODE
-CLASS="PARAMETER"
->shape_weight</CODE
-> to a very small value (1e-10) for example might help improve the quality of the resulting triangulation.</P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN13075"><SPAN
-STYLE="white-space: nowrap"
-><GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> <CODE
-CLASS="STRUCTFIELD"
->volume_weight</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->Weight of the volume optimization.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN13081"><SPAN
-STYLE="white-space: nowrap"
-><GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> <CODE
-CLASS="STRUCTFIELD"
->boundary_weight</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->Weight of the boundary optimization.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN13087"><SPAN
-STYLE="white-space: nowrap"
-><GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> <CODE
-CLASS="STRUCTFIELD"
->shape_weight</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->Weight of the shape optimization.
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN13093"
-></A
-><H3
-><A
-NAME="GTS-VOLUME-OPTIMIZED-VERTEX"
-></A
->gts_volume_optimized_vertex ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-vertices.html#GTSVERTEX"
->GtsVertex</A
->* gts_volume_optimized_vertex (<A
-HREF="gts-edges.html#GTSEDGE"
->GtsEdge</A
-> *edge,
- <A
-HREF="gts-vertices.html#GTSVERTEXCLASS"
->GtsVertexClass</A
-> *klass,
- <A
-HREF="gts-surface-simplification-and-refinement.html#GTSVOLUMEOPTIMIZEDPARAMS"
->GtsVolumeOptimizedParams</A
-> *params);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN13106"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->edge</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-edges.html#GTSEDGE"
-><SPAN
-CLASS="TYPE"
->GtsEdge</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN13113"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->klass</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-vertices.html#GTSVERTEXCLASS"
-><SPAN
-CLASS="TYPE"
->GtsVertexClass</SPAN
-></A
-> to be used for the new vertex.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN13120"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->params</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <GTKDOCLINK
-HREF="GTSVOLUMEOPTIMIZEDPARMS"
-><SPAN
-CLASS="TYPE"
->GtsVolumeOptimizedParms</SPAN
-></GTKDOCLINK
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN13127"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-vertices.html#GTSVERTEX"
-><SPAN
-CLASS="TYPE"
->GtsVertex</SPAN
-></A
-> which can be used to replace <CODE
-CLASS="PARAMETER"
->edge</CODE
-> for an
-edge collapse operation. The position of the vertex is optimized in
-order to minimize the changes in area and volume for the surface
-using <CODE
-CLASS="PARAMETER"
->edge</CODE
->. The volume enclosed by the surface is locally
-preserved. For more details see "Fast and memory efficient
-polygonal simplification" (1998) and "Evaluation of memoryless
-simplification" (1999) by Lindstrom and Turk. </P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN13136"
-></A
-><H3
-><A
-NAME="GTS-VOLUME-OPTIMIZED-COST"
-></A
->gts_volume_optimized_cost ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> gts_volume_optimized_cost (<A
-HREF="gts-edges.html#GTSEDGE"
->GtsEdge</A
-> *e,
- <A
-HREF="gts-surface-simplification-and-refinement.html#GTSVOLUMEOPTIMIZEDPARAMS"
->GtsVolumeOptimizedParams</A
-> *params);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN13148"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->e</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-edges.html#GTSEDGE"
-><SPAN
-CLASS="TYPE"
->GtsEdge</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN13155"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->params</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surface-simplification-and-refinement.html#GTSVOLUMEOPTIMIZEDPARAMS"
-><SPAN
-CLASS="TYPE"
->GtsVolumeOptimizedParams</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN13162"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the cost for the collapse of <CODE
-CLASS="PARAMETER"
->e</CODE
-> as minimized by the function
-<A
-HREF="gts-surface-simplification-and-refinement.html#GTS-VOLUME-OPTIMIZED-VERTEX"
-><CODE
-CLASS="FUNCTION"
->gts_volume_optimized_vertex()</CODE
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN13170"
-></A
-><H3
-><A
-NAME="GTS-EDGE-COLLAPSE-IS-VALID"
-></A
->gts_edge_collapse_is_valid ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GBOOLEAN"
->gboolean</GTKDOCLINK
-> gts_edge_collapse_is_valid (<A
-HREF="gts-edges.html#GTSEDGE"
->GtsEdge</A
-> *e);</PRE
-><P
->An implementation of the topological constraints described in the
-"Mesh Optimization" article of Hoppe et al (1993).</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN13181"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->e</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-edges.html#GTSEDGE"
-><SPAN
-CLASS="TYPE"
->GtsEdge</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN13188"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> <TT
-CLASS="LITERAL"
->TRUE</TT
-> if <CODE
-CLASS="PARAMETER"
->e</CODE
-> can be collapsed without violation of the topological
-constraints, <TT
-CLASS="LITERAL"
->FALSE</TT
-> otherwise.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN13196"
-></A
-><H3
-><A
-NAME="GTS-EDGE-COLLAPSE-CREATES-FOLD"
-></A
->gts_edge_collapse_creates_fold ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GBOOLEAN"
->gboolean</GTKDOCLINK
-> gts_edge_collapse_creates_fold (<A
-HREF="gts-edges.html#GTSEDGE"
->GtsEdge</A
-> *e,
- <A
-HREF="gts-vertices.html#GTSVERTEX"
->GtsVertex</A
-> *v,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> max);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN13209"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->e</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-edges.html#GTSEDGE"
-><SPAN
-CLASS="TYPE"
->GtsEdge</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN13216"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->v</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-vertices.html#GTSVERTEX"
-><SPAN
-CLASS="TYPE"
->GtsVertex</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN13223"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->max</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the maximum value of the square of the cosine of the angle between
-two triangles.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN13228"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> <TT
-CLASS="LITERAL"
->TRUE</TT
-> if collapsing edge <CODE
-CLASS="PARAMETER"
->e</CODE
-> to vertex <CODE
-CLASS="PARAMETER"
->v</CODE
-> would create
-faces making an angle the cosine squared of which would be larger than max,
-<TT
-CLASS="LITERAL"
->FALSE</TT
-> otherwise. </P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-></DIV
-><TABLE
-CLASS="navigation"
-WIDTH="100%"
-SUMMARY="Navigation footer"
-CELLPADDING="2"
-CELLSPACING="2"
-><TR
-VALIGN="middle"
-><TD
-ALIGN="left"
-><A
-ACCESSKEY="p"
-HREF="gts-boolean-operations.html"
-><B
-><<< Boolean operations</B
-></A
-></TD
-><TD
-ALIGN="right"
-><A
-ACCESSKEY="n"
-HREF="gts-out-of-core-simplification.html"
-><B
->Out-of-core simplification >>></B
-></A
-></TD
-></TR
-></TABLE
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/gts-surfaces.html b/doc/html/gts-surfaces.html
deleted file mode 100644
index 9f9d463..0000000
--- a/doc/html/gts-surfaces.html
+++ /dev/null
@@ -1,5639 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
-<HTML
-><HEAD
-><TITLE
->Surfaces</TITLE
-><META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
-REL="HOME"
-TITLE="GTS Library Reference Manual"
-HREF="book1.html"><LINK
-REL="UP"
-TITLE="Geometrical Object Hierarchy"
-HREF="c2915.html"><LINK
-REL="PREVIOUS"
-TITLE="Faces"
-HREF="gts-faces.html"><LINK
-REL="NEXT"
-TITLE="Geometrical data structures"
-HREF="c10545.html"><STYLE
-TYPE="text/css"
->.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</STYLE
-></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><TABLE
-WIDTH="100%"
-CLASS="navigation"
-SUMMARY="Navigation header"
-CELLPADDING="2"
-CELLSPACING="2"
-><TR
-VALIGN="middle"
-><TD
-><A
-ACCESSKEY="p"
-HREF="gts-faces.html"
-><IMG
-SRC="left.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Prev"></A
-></TD
-><TD
-><A
-ACCESSKEY="u"
-HREF="c2915.html"
-><IMG
-SRC="up.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Up"></A
-></TD
-><TD
-><A
-ACCESSKEY="h"
-HREF="book1.html"
-><IMG
-SRC="home.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Home"></A
-></TD
-><TH
-WIDTH="100%"
-align="center"
->GTS Library Reference Manual</TH
-><TD
-><A
-ACCESSKEY="n"
-HREF="c10545.html"
-><IMG
-SRC="right.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Next"></A
-></TD
-></TR
-></TABLE
-><H1
-><A
-NAME="GTS-SURFACES"
-></A
->Surfaces</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN8974"
-></A
-><H2
->Name</H2
->Surfaces -- surface object and related functions.</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN8977"
-></A
-><H2
->Synopsis</H2
-><PRE
-CLASS="SYNOPSIS"
->
#include <gts.h>
-
-
-#define <A
-HREF="gts-surfaces.html#GTS-SURFACE-CLASS:CAPS"
->GTS_SURFACE_CLASS</A
-> (klass)
-#define <A
-HREF="gts-surfaces.html#GTS-SURFACE:CAPS"
->GTS_SURFACE</A
-> (obj)
-#define <A
-HREF="gts-surfaces.html#GTS-IS-SURFACE:CAPS"
->GTS_IS_SURFACE</A
-> (obj)
- <A
-HREF="gts-surfaces.html#GTSSURFACECLASS"
->GtsSurfaceClass</A
->;
- <A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
->;
-
-<A
-HREF="gts-surfaces.html#GTSSURFACECLASS"
->GtsSurfaceClass</A
->* <A
-HREF="gts-surfaces.html#GTS-SURFACE-CLASS"
->gts_surface_class</A
-> (void);
-<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
->* <A
-HREF="gts-surfaces.html#GTS-SURFACE-NEW"
->gts_surface_new</A
-> (<A
-HREF="gts-surfaces.html#GTSSURFACECLASS"
->GtsSurfaceClass</A
-> *klass,
- <A
-HREF="gts-faces.html#GTSFACECLASS"
->GtsFaceClass</A
-> *face_class,
- <A
-HREF="gts-edges.html#GTSEDGECLASS"
->GtsEdgeClass</A
-> *edge_class,
- <A
-HREF="gts-vertices.html#GTSVERTEXCLASS"
->GtsVertexClass</A
-> *vertex_class);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-surfaces.html#GTS-SURFACE-ADD-FACE"
->gts_surface_add_face</A
-> (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s,
- <A
-HREF="gts-faces.html#GTSFACE"
->GtsFace</A
-> *f);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-surfaces.html#GTS-SURFACE-REMOVE-FACE"
->gts_surface_remove_face</A
-> (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s,
- <A
-HREF="gts-faces.html#GTSFACE"
->GtsFace</A
-> *f);
-<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
->* <A
-HREF="gts-surfaces.html#GTS-SURFACE-COPY"
->gts_surface_copy</A
-> (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s1,
- <A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s2);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-surfaces.html#GTS-SURFACE-MERGE"
->gts_surface_merge</A
-> (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s,
- <A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *with);
-<GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> <A
-HREF="gts-surfaces.html#GTS-SURFACE-READ"
->gts_surface_read</A
-> (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *surface,
- <A
-HREF="gts-miscellaneous-macros-and-functions.html#GTSFILE"
->GtsFile</A
-> *f);
-<GTKDOCLINK
-HREF="GBOOLEAN"
->gboolean</GTKDOCLINK
-> <A
-HREF="gts-surfaces.html#GTS-SURFACE-IS-MANIFOLD"
->gts_surface_is_manifold</A
-> (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s);
-<GTKDOCLINK
-HREF="GBOOLEAN"
->gboolean</GTKDOCLINK
-> <A
-HREF="gts-surfaces.html#GTS-SURFACE-IS-ORIENTABLE"
->gts_surface_is_orientable</A
-> (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s);
-<GTKDOCLINK
-HREF="GBOOLEAN"
->gboolean</GTKDOCLINK
-> <A
-HREF="gts-surfaces.html#GTS-SURFACE-IS-CLOSED"
->gts_surface_is_closed</A
-> (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s);
-<GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> <A
-HREF="gts-surfaces.html#GTS-SURFACE-VERTEX-NUMBER"
->gts_surface_vertex_number</A
-> (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s);
-<GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> <A
-HREF="gts-surfaces.html#GTS-SURFACE-EDGE-NUMBER"
->gts_surface_edge_number</A
-> (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s);
-<GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> <A
-HREF="gts-surfaces.html#GTS-SURFACE-FACE-NUMBER"
->gts_surface_face_number</A
-> (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s);
-<GTKDOCLINK
-HREF="GSLIST"
->GSList</GTKDOCLINK
->* <A
-HREF="gts-surfaces.html#GTS-SURFACE-BOUNDARY"
->gts_surface_boundary</A
-> (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *surface);
-<GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> <A
-HREF="gts-surfaces.html#GTS-SURFACE-AREA"
->gts_surface_area</A
-> (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s);
-<GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> <A
-HREF="gts-surfaces.html#GTS-SURFACE-VOLUME"
->gts_surface_volume</A
-> (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s);
-<GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> <A
-HREF="gts-surfaces.html#GTS-SURFACE-CENTER-OF-MASS"
->gts_surface_center_of_mass</A
-> (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s,
- <GTKDOCLINK
-HREF="GTSVECTOR"
->GtsVector</GTKDOCLINK
-> cm);
-<GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> <A
-HREF="gts-surfaces.html#GTS-SURFACE-CENTER-OF-AREA"
->gts_surface_center_of_area</A
-> (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s,
- <GTKDOCLINK
-HREF="GTSVECTOR"
->GtsVector</GTKDOCLINK
-> cm);
- <A
-HREF="gts-surfaces.html#GTSSURFACESTATS"
->GtsSurfaceStats</A
->;
- <A
-HREF="gts-surfaces.html#GTSSURFACEQUALITYSTATS"
->GtsSurfaceQualityStats</A
->;
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-surfaces.html#GTS-SURFACE-STATS"
->gts_surface_stats</A
-> (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s,
- <A
-HREF="gts-surfaces.html#GTSSURFACESTATS"
->GtsSurfaceStats</A
-> *stats);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-surfaces.html#GTS-SURFACE-QUALITY-STATS"
->gts_surface_quality_stats</A
-> (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s,
- <A
-HREF="gts-surfaces.html#GTSSURFACEQUALITYSTATS"
->GtsSurfaceQualityStats</A
-> *stats);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-surfaces.html#GTS-SURFACE-PRINT-STATS"
->gts_surface_print_stats</A
-> (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s,
- <GTKDOCLINK
-HREF="FILE:CAPS"
->FILE</GTKDOCLINK
-> *fptr);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-surfaces.html#GTS-SURFACE-WRITE"
->gts_surface_write</A
-> (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s,
- <GTKDOCLINK
-HREF="FILE:CAPS"
->FILE</GTKDOCLINK
-> *fptr);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-surfaces.html#GTS-SURFACE-WRITE-OOGL"
->gts_surface_write_oogl</A
-> (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s,
- <GTKDOCLINK
-HREF="FILE:CAPS"
->FILE</GTKDOCLINK
-> *fptr);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-surfaces.html#GTS-SURFACE-WRITE-OOGL-BOUNDARY"
->gts_surface_write_oogl_boundary</A
-> (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s,
- <GTKDOCLINK
-HREF="FILE:CAPS"
->FILE</GTKDOCLINK
-> *fptr);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-surfaces.html#GTS-SURFACE-WRITE-VTK"
->gts_surface_write_vtk</A
-> (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s,
- <GTKDOCLINK
-HREF="FILE:CAPS"
->FILE</GTKDOCLINK
-> *fptr);
-<GTKDOCLINK
-HREF="GINT"
->gint</GTKDOCLINK
-> (<A
-HREF="gts-surfaces.html#GTSFUNC"
->*GtsFunc</A
->) (<GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> item,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> data);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-surfaces.html#GTS-SURFACE-FOREACH-VERTEX"
->gts_surface_foreach_vertex</A
-> (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s,
- <A
-HREF="gts-surfaces.html#GTSFUNC"
->GtsFunc</A
-> func,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> data);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-surfaces.html#GTS-SURFACE-FOREACH-EDGE"
->gts_surface_foreach_edge</A
-> (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s,
- <A
-HREF="gts-surfaces.html#GTSFUNC"
->GtsFunc</A
-> func,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> data);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-surfaces.html#GTS-SURFACE-FOREACH-FACE"
->gts_surface_foreach_face</A
-> (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s,
- <A
-HREF="gts-surfaces.html#GTSFUNC"
->GtsFunc</A
-> func,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> data);
-<GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> <A
-HREF="gts-surfaces.html#GTS-SURFACE-FOREACH-FACE-REMOVE"
->gts_surface_foreach_face_remove</A
-> (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s,
- <A
-HREF="gts-surfaces.html#GTSFUNC"
->GtsFunc</A
-> func,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> data);
-<GTKDOCLINK
-HREF="GBOOLEAN"
->gboolean</GTKDOCLINK
-> <A
-HREF="gts-surfaces.html#GTS-SURFACE-FOREACH-INTERSECTING-FACE"
->gts_surface_foreach_intersecting_face</A
->
- (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s,
- <A
-HREF="gts-bounding-boxes-trees.html#GTSBBTREETRAVERSEFUNC"
->GtsBBTreeTraverseFunc</A
-> func,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> data);
- <A
-HREF="gts-surfaces.html#GTSSURFACETRAVERSE"
->GtsSurfaceTraverse</A
->;
-<A
-HREF="gts-surfaces.html#GTSSURFACETRAVERSE"
->GtsSurfaceTraverse</A
->* <A
-HREF="gts-surfaces.html#GTS-SURFACE-TRAVERSE-NEW"
->gts_surface_traverse_new</A
->
- (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s,
- <A
-HREF="gts-faces.html#GTSFACE"
->GtsFace</A
-> *f);
-<A
-HREF="gts-faces.html#GTSFACE"
->GtsFace</A
->* <A
-HREF="gts-surfaces.html#GTS-SURFACE-TRAVERSE-NEXT"
->gts_surface_traverse_next</A
-> (<A
-HREF="gts-surfaces.html#GTSSURFACETRAVERSE"
->GtsSurfaceTraverse</A
-> *t,
- <GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> *level);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-surfaces.html#GTS-SURFACE-TRAVERSE-DESTROY"
->gts_surface_traverse_destroy</A
-> (<A
-HREF="gts-surfaces.html#GTSSURFACETRAVERSE"
->GtsSurfaceTraverse</A
-> *t);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-surfaces.html#GTS-SURFACE-DISTANCE"
->gts_surface_distance</A
-> (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s1,
- <A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s2,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> delta,
- <A
-HREF="gts-simple-statistics.html#GTSRANGE"
->GtsRange</A
-> *face_range,
- <A
-HREF="gts-simple-statistics.html#GTSRANGE"
->GtsRange</A
-> *boundary_range);
-<GTKDOCLINK
-HREF="GSLIST"
->GSList</GTKDOCLINK
->* <A
-HREF="gts-surfaces.html#GTS-SURFACE-STRIP"
->gts_surface_strip</A
-> (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-surfaces.html#GTS-SURFACE-TESSELLATE"
->gts_surface_tessellate</A
-> (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s,
- <A
-HREF="gts-surface-simplification-and-refinement.html#GTSREFINEFUNC"
->GtsRefineFunc</A
-> refine_func,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> refine_data);
-<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
->* <A
-HREF="gts-surfaces.html#GTS-SURFACE-GENERATE-SPHERE"
->gts_surface_generate_sphere</A
-> (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s,
- <GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> geodesation_order);
-<GTKDOCLINK
-HREF="GSLIST"
->GSList</GTKDOCLINK
->* <A
-HREF="gts-surfaces.html#GTS-SURFACE-SPLIT"
->gts_surface_split</A
-> (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s);</PRE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN9141"
-></A
-><H2
->Description</H2
-><P
->A <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
-> is defined as a collection of <A
-HREF="gts-faces.html#GTSFACE"
-><SPAN
-CLASS="TYPE"
->GtsFace</SPAN
-></A
->. No topological constraint is imposed: the surface may or may not be manifold, closed or orientable.</P
-><P
->When destroying a <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
->, all the faces not used by another surface are also destroyed. This default behaviour can be changed punctually by setting the global variable gts_allow_floating_faces to <TT
-CLASS="LITERAL"
->TRUE</TT
->. You must not forget to set this variable back to <TT
-CLASS="LITERAL"
->FALSE</TT
-> as all the algorithms of GTS assume the default behaviour.</P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN9153"
-></A
-><H2
->Details</H2
-><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN9155"
-></A
-><H3
-><A
-NAME="GTS-SURFACE-CLASS:CAPS"
-></A
->GTS_SURFACE_CLASS()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_SURFACE_CLASS(klass)</PRE
-><P
->Casts <CODE
-CLASS="PARAMETER"
->klass</CODE
-> to <A
-HREF="gts-surfaces.html#GTSSURFACECLASS"
-><SPAN
-CLASS="TYPE"
->GtsSurfaceClass</SPAN
-></A
->.</P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN9166"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->klass</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->a descendant of <A
-HREF="gts-surfaces.html#GTSSURFACECLASS"
-><SPAN
-CLASS="TYPE"
->GtsSurfaceClass</SPAN
-></A
->.
-
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN9173"
-></A
-><H3
-><A
-NAME="GTS-SURFACE:CAPS"
-></A
->GTS_SURFACE()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_SURFACE(obj)</PRE
-><P
->Casts <CODE
-CLASS="PARAMETER"
->obj</CODE
-> to <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
->.</P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN9184"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->obj</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->a descendant of <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
->.
-
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN9191"
-></A
-><H3
-><A
-NAME="GTS-IS-SURFACE:CAPS"
-></A
->GTS_IS_SURFACE()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_IS_SURFACE(obj)</PRE
-><P
->Evaluates to <TT
-CLASS="LITERAL"
->TRUE</TT
-> if <CODE
-CLASS="PARAMETER"
->obj</CODE
-> is a <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
->, <TT
-CLASS="LITERAL"
->FALSE</TT
-> otherwise.</P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN9204"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->obj</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->a pointer to test.
-
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN9209"
-></A
-><H3
-><A
-NAME="GTSSURFACECLASS"
-></A
->GtsSurfaceClass</H3
-><PRE
-CLASS="PROGRAMLISTING"
->typedef struct {
- GtsObjectClass parent_class;
-
- void (* add_face) (GtsSurface *, GtsFace *);
- void (* remove_face) (GtsSurface *, GtsFace *);
-} GtsSurfaceClass;</PRE
-><P
->The surface class. No virtual function is defined.</P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN9216"
-></A
-><H3
-><A
-NAME="GTSSURFACE"
-></A
->GtsSurface</H3
-><PRE
-CLASS="PROGRAMLISTING"
->typedef struct {
- GtsObject object;
-
-#ifdef USE_SURFACE_BTREE
- GTree * faces;
-#else /* not USE_SURFACE_BTREE */
- GHashTable * faces;
-#endif /* not USE_SURFACE_BTREE */
- GtsFaceClass * face_class;
- GtsEdgeClass * edge_class;
- GtsVertexClass * vertex_class;
- gboolean keep_faces;
-} GtsSurface;</PRE
-><P
->The surface structure derived from <A
-HREF="gts-object-class.html#GTSOBJECT"
-><SPAN
-CLASS="TYPE"
->GtsObject</SPAN
-></A
->.
-This structure should only be accessed through the following functions.</P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN9225"
-></A
-><H3
-><A
-NAME="GTS-SURFACE-CLASS"
-></A
->gts_surface_class ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-surfaces.html#GTSSURFACECLASS"
->GtsSurfaceClass</A
->* gts_surface_class (void);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN9235"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the <A
-HREF="gts-surfaces.html#GTSSURFACECLASS"
-><SPAN
-CLASS="TYPE"
->GtsSurfaceClass</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN9242"
-></A
-><H3
-><A
-NAME="GTS-SURFACE-NEW"
-></A
->gts_surface_new ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
->* gts_surface_new (<A
-HREF="gts-surfaces.html#GTSSURFACECLASS"
->GtsSurfaceClass</A
-> *klass,
- <A
-HREF="gts-faces.html#GTSFACECLASS"
->GtsFaceClass</A
-> *face_class,
- <A
-HREF="gts-edges.html#GTSEDGECLASS"
->GtsEdgeClass</A
-> *edge_class,
- <A
-HREF="gts-vertices.html#GTSVERTEXCLASS"
->GtsVertexClass</A
-> *vertex_class);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN9256"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->klass</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSSURFACECLASS"
-><SPAN
-CLASS="TYPE"
->GtsSurfaceClass</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN9263"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->face_class</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-faces.html#GTSFACECLASS"
-><SPAN
-CLASS="TYPE"
->GtsFaceClass</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN9270"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->edge_class</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-edges.html#GTSEDGECLASS"
-><SPAN
-CLASS="TYPE"
->GtsEdgeClass</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN9277"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->vertex_class</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-vertices.html#GTSVERTEXCLASS"
-><SPAN
-CLASS="TYPE"
->GtsVertexClass</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN9284"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a new empty <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN9291"
-></A
-><H3
-><A
-NAME="GTS-SURFACE-ADD-FACE"
-></A
->gts_surface_add_face ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_surface_add_face (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s,
- <A
-HREF="gts-faces.html#GTSFACE"
->GtsFace</A
-> *f);</PRE
-><P
->Adds face <CODE
-CLASS="PARAMETER"
->f</CODE
-> to surface <CODE
-CLASS="PARAMETER"
->s</CODE
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN9305"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->s</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN9312"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->f</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-faces.html#GTSFACE"
-><SPAN
-CLASS="TYPE"
->GtsFace</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN9319"
-></A
-><H3
-><A
-NAME="GTS-SURFACE-REMOVE-FACE"
-></A
->gts_surface_remove_face ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_surface_remove_face (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s,
- <A
-HREF="gts-faces.html#GTSFACE"
->GtsFace</A
-> *f);</PRE
-><P
->Removes face <CODE
-CLASS="PARAMETER"
->f</CODE
-> from surface <CODE
-CLASS="PARAMETER"
->s</CODE
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN9333"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->s</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN9340"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->f</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-faces.html#GTSFACE"
-><SPAN
-CLASS="TYPE"
->GtsFace</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN9347"
-></A
-><H3
-><A
-NAME="GTS-SURFACE-COPY"
-></A
->gts_surface_copy ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
->* gts_surface_copy (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s1,
- <A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s2);</PRE
-><P
->Add a copy of all the faces, edges and vertices of <CODE
-CLASS="PARAMETER"
->s2</CODE
-> to <CODE
-CLASS="PARAMETER"
->s1</CODE
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN9361"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->s1</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN9368"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->s2</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN9375"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> <CODE
-CLASS="PARAMETER"
->s1</CODE
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN9381"
-></A
-><H3
-><A
-NAME="GTS-SURFACE-MERGE"
-></A
->gts_surface_merge ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_surface_merge (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s,
- <A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *with);</PRE
-><P
->Adds all the faces of <CODE
-CLASS="PARAMETER"
->with</CODE
-> which do not already belong to <CODE
-CLASS="PARAMETER"
->s</CODE
->
-to <CODE
-CLASS="PARAMETER"
->s</CODE
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN9396"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->s</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN9403"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->with</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> another <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN9410"
-></A
-><H3
-><A
-NAME="GTS-SURFACE-READ"
-></A
->gts_surface_read ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> gts_surface_read (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *surface,
- <A
-HREF="gts-miscellaneous-macros-and-functions.html#GTSFILE"
->GtsFile</A
-> *f);</PRE
-><P
->Add to <CODE
-CLASS="PARAMETER"
->surface</CODE
-> the data read from <CODE
-CLASS="PARAMETER"
->f</CODE
->. The format of the file pointed to
-by <CODE
-CLASS="PARAMETER"
->f</CODE
-> is as described in <A
-HREF="gts-surfaces.html#GTS-SURFACE-WRITE"
-><CODE
-CLASS="FUNCTION"
->gts_surface_write()</CODE
-></A
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN9427"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->surface</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN9434"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->f</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-miscellaneous-macros-and-functions.html#GTSFILE"
-><SPAN
-CLASS="TYPE"
->GtsFile</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN9441"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> 0 if successful or the line number at which the parsing
-stopped in case of error (in which case the <CODE
-CLASS="PARAMETER"
->error</CODE
-> field of <CODE
-CLASS="PARAMETER"
->f</CODE
-> is
-set to a description of the error which occured). </P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN9448"
-></A
-><H3
-><A
-NAME="GTS-SURFACE-IS-MANIFOLD"
-></A
->gts_surface_is_manifold ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GBOOLEAN"
->gboolean</GTKDOCLINK
-> gts_surface_is_manifold (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN9459"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->s</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN9466"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> <TT
-CLASS="LITERAL"
->TRUE</TT
-> if the surface is a manifold, <TT
-CLASS="LITERAL"
->FALSE</TT
-> otherwise.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN9473"
-></A
-><H3
-><A
-NAME="GTS-SURFACE-IS-ORIENTABLE"
-></A
->gts_surface_is_orientable ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GBOOLEAN"
->gboolean</GTKDOCLINK
-> gts_surface_is_orientable (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN9484"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->s</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN9491"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> <TT
-CLASS="LITERAL"
->TRUE</TT
-> if all the faces of <CODE
-CLASS="PARAMETER"
->s</CODE
-> have compatible orientation
-as checked by <GTKDOCLINK
-HREF="GTS-FACES-ARE-COMPATIBLE"
-><CODE
-CLASS="FUNCTION"
->gts_faces_are_compatible()</CODE
-></GTKDOCLINK
->, <TT
-CLASS="LITERAL"
->FALSE</TT
-> otherwise. Note that
-an orientable surface is also a manifold.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN9501"
-></A
-><H3
-><A
-NAME="GTS-SURFACE-IS-CLOSED"
-></A
->gts_surface_is_closed ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GBOOLEAN"
->gboolean</GTKDOCLINK
-> gts_surface_is_closed (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN9512"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->s</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN9519"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> <TT
-CLASS="LITERAL"
->TRUE</TT
-> if <CODE
-CLASS="PARAMETER"
->s</CODE
-> is a closed surface, <TT
-CLASS="LITERAL"
->FALSE</TT
-> otherwise. Note that a
-closed surface is also a manifold.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN9527"
-></A
-><H3
-><A
-NAME="GTS-SURFACE-VERTEX-NUMBER"
-></A
->gts_surface_vertex_number ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> gts_surface_vertex_number (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN9538"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->s</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN9545"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the number of vertices of <CODE
-CLASS="PARAMETER"
->s</CODE
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN9551"
-></A
-><H3
-><A
-NAME="GTS-SURFACE-EDGE-NUMBER"
-></A
->gts_surface_edge_number ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> gts_surface_edge_number (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN9562"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->s</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN9569"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the number of edges of <CODE
-CLASS="PARAMETER"
->s</CODE
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN9575"
-></A
-><H3
-><A
-NAME="GTS-SURFACE-FACE-NUMBER"
-></A
->gts_surface_face_number ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> gts_surface_face_number (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN9586"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->s</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN9593"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the number of faces of <CODE
-CLASS="PARAMETER"
->s</CODE
-></P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN9599"
-></A
-><H3
-><A
-NAME="GTS-SURFACE-BOUNDARY"
-></A
->gts_surface_boundary ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GSLIST"
->GSList</GTKDOCLINK
->* gts_surface_boundary (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *surface);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN9610"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->surface</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN9617"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a list of <A
-HREF="gts-edges.html#GTSEDGE"
-><SPAN
-CLASS="TYPE"
->GtsEdge</SPAN
-></A
-> boundary of <CODE
-CLASS="PARAMETER"
->surface</CODE
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN9625"
-></A
-><H3
-><A
-NAME="GTS-SURFACE-AREA"
-></A
->gts_surface_area ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> gts_surface_area (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN9636"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->s</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN9643"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the area of <CODE
-CLASS="PARAMETER"
->s</CODE
-> obtained as the sum of the signed areas of its
-faces.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN9649"
-></A
-><H3
-><A
-NAME="GTS-SURFACE-VOLUME"
-></A
->gts_surface_volume ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> gts_surface_volume (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN9660"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->s</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN9667"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the signed volume of the domain bounded by the surface <CODE
-CLASS="PARAMETER"
->s</CODE
->. It
-makes sense only if <CODE
-CLASS="PARAMETER"
->s</CODE
-> is a closed and orientable manifold.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN9674"
-></A
-><H3
-><A
-NAME="GTS-SURFACE-CENTER-OF-MASS"
-></A
->gts_surface_center_of_mass ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> gts_surface_center_of_mass (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s,
- <GTKDOCLINK
-HREF="GTSVECTOR"
->GtsVector</GTKDOCLINK
-> cm);</PRE
-><P
->Fills <CODE
-CLASS="PARAMETER"
->cm</CODE
-> with the coordinates of the center of mass of <CODE
-CLASS="PARAMETER"
->s</CODE
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN9688"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->s</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN9695"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->cm</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <GTKDOCLINK
-HREF="GTSVECTOR"
-><SPAN
-CLASS="TYPE"
->GtsVector</SPAN
-></GTKDOCLINK
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN9702"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the signed volume of the domain bounded by the surface <CODE
-CLASS="PARAMETER"
->s</CODE
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN9708"
-></A
-><H3
-><A
-NAME="GTS-SURFACE-CENTER-OF-AREA"
-></A
->gts_surface_center_of_area ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> gts_surface_center_of_area (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s,
- <GTKDOCLINK
-HREF="GTSVECTOR"
->GtsVector</GTKDOCLINK
-> cm);</PRE
-><P
->Fills <CODE
-CLASS="PARAMETER"
->cm</CODE
-> with the coordinates of the center of area of <CODE
-CLASS="PARAMETER"
->s</CODE
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN9722"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->s</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN9729"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->cm</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <GTKDOCLINK
-HREF="GTSVECTOR"
-><SPAN
-CLASS="TYPE"
->GtsVector</SPAN
-></GTKDOCLINK
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN9736"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the area of surface <CODE
-CLASS="PARAMETER"
->s</CODE
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN9742"
-></A
-><H3
-><A
-NAME="GTSSURFACESTATS"
-></A
->GtsSurfaceStats</H3
-><PRE
-CLASS="PROGRAMLISTING"
->typedef struct {
- guint n_faces;
- guint n_incompatible_faces;
- guint n_duplicate_faces;
- guint n_duplicate_edges;
- guint n_boundary_edges;
- guint n_non_manifold_edges;
- GtsRange edges_per_vertex, faces_per_edge;
- GtsSurface * parent;
-} GtsSurfaceStats;</PRE
-><P
->Connectivity statistics.</P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN9750"><SPAN
-STYLE="white-space: nowrap"
-><GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> <CODE
-CLASS="STRUCTFIELD"
->n_faces</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->Number of faces.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN9756"><SPAN
-STYLE="white-space: nowrap"
-><GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> <CODE
-CLASS="STRUCTFIELD"
->n_incompatible_faces</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->Number of incompatible faces (see <A
-HREF="gts-triangles.html#GTS-TRIANGLES-ARE-COMPATIBLE"
-><CODE
-CLASS="FUNCTION"
->gts_triangles_are_compatible()</CODE
-></A
-> for details).</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN9764"><SPAN
-STYLE="white-space: nowrap"
-><GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> <CODE
-CLASS="STRUCTFIELD"
->n_duplicate_faces</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->Number of duplicate faces (see <A
-HREF="gts-triangles.html#GTS-TRIANGLE-IS-DUPLICATE"
-><CODE
-CLASS="FUNCTION"
->gts_triangle_is_duplicate()</CODE
-></A
-> for details).</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN9772"><SPAN
-STYLE="white-space: nowrap"
-><GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> <CODE
-CLASS="STRUCTFIELD"
->n_duplicate_edges</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->Number of duplicate edges (see <A
-HREF="gts-segments.html#GTS-SEGMENT-IS-DUPLICATE"
-><CODE
-CLASS="FUNCTION"
->gts_segment_is_duplicate()</CODE
-></A
-> for details).</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN9780"><SPAN
-STYLE="white-space: nowrap"
-><GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> <CODE
-CLASS="STRUCTFIELD"
->n_boundary_edges</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->Number of boundary edges.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN9786"><SPAN
-STYLE="white-space: nowrap"
-><GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> <CODE
-CLASS="STRUCTFIELD"
->n_non_manifold_edges</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->Number of non-manifold edges.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN9792"><SPAN
-STYLE="white-space: nowrap"
-><A
-HREF="gts-simple-statistics.html#GTSRANGE"
->GtsRange</A
-> <CODE
-CLASS="STRUCTFIELD"
->edges_per_vertex</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->Statistics on the number of edges per vertex.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN9798"><SPAN
-STYLE="white-space: nowrap"
-><A
-HREF="gts-simple-statistics.html#GTSRANGE"
->GtsRange</A
-> <CODE
-CLASS="STRUCTFIELD"
->faces_per_edge</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->Statistics on the number of faces per vertex.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN9804"><SPAN
-STYLE="white-space: nowrap"
-><A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *<CODE
-CLASS="STRUCTFIELD"
->parent</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->Surface from which these statistics have been obtained.
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN9810"
-></A
-><H3
-><A
-NAME="GTSSURFACEQUALITYSTATS"
-></A
->GtsSurfaceQualityStats</H3
-><PRE
-CLASS="PROGRAMLISTING"
->typedef struct {
- GtsRange face_quality;
- GtsRange face_area;
- GtsRange edge_length;
- GtsRange edge_angle;
- GtsSurface * parent;
-} GtsSurfaceQualityStats;</PRE
-><P
->Quality and geometry statistics.</P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN9818"><SPAN
-STYLE="white-space: nowrap"
-><A
-HREF="gts-simple-statistics.html#GTSRANGE"
->GtsRange</A
-> <CODE
-CLASS="STRUCTFIELD"
->face_quality</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->Statistics for face quality (see <A
-HREF="gts-triangles.html#GTS-TRIANGLE-QUALITY"
-><CODE
-CLASS="FUNCTION"
->gts_triangle_quality()</CODE
-></A
-> for details).</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN9826"><SPAN
-STYLE="white-space: nowrap"
-><A
-HREF="gts-simple-statistics.html#GTSRANGE"
->GtsRange</A
-> <CODE
-CLASS="STRUCTFIELD"
->face_area</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->Statistics for the face area.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN9832"><SPAN
-STYLE="white-space: nowrap"
-><A
-HREF="gts-simple-statistics.html#GTSRANGE"
->GtsRange</A
-> <CODE
-CLASS="STRUCTFIELD"
->edge_length</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->Statistics for the edge length.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN9838"><SPAN
-STYLE="white-space: nowrap"
-><A
-HREF="gts-simple-statistics.html#GTSRANGE"
->GtsRange</A
-> <CODE
-CLASS="STRUCTFIELD"
->edge_angle</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->Statistics for the edge angles.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN9844"><SPAN
-STYLE="white-space: nowrap"
-><A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *<CODE
-CLASS="STRUCTFIELD"
->parent</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->Surface from which these statistics have been obtained.
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN9850"
-></A
-><H3
-><A
-NAME="GTS-SURFACE-STATS"
-></A
->gts_surface_stats ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_surface_stats (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s,
- <A
-HREF="gts-surfaces.html#GTSSURFACESTATS"
->GtsSurfaceStats</A
-> *stats);</PRE
-><P
->Fills <CODE
-CLASS="PARAMETER"
->stats</CODE
-> with the statistics relevant to surface <CODE
-CLASS="PARAMETER"
->s</CODE
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN9864"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->s</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN9871"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->stats</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSSURFACESTATS"
-><SPAN
-CLASS="TYPE"
->GtsSurfaceStats</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN9878"
-></A
-><H3
-><A
-NAME="GTS-SURFACE-QUALITY-STATS"
-></A
->gts_surface_quality_stats ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_surface_quality_stats (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s,
- <A
-HREF="gts-surfaces.html#GTSSURFACEQUALITYSTATS"
->GtsSurfaceQualityStats</A
-> *stats);</PRE
-><P
->Fills <CODE
-CLASS="PARAMETER"
->stats</CODE
-> with quality statistics relevant to surface <CODE
-CLASS="PARAMETER"
->s</CODE
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN9892"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->s</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN9899"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->stats</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSSURFACEQUALITYSTATS"
-><SPAN
-CLASS="TYPE"
->GtsSurfaceQualityStats</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN9906"
-></A
-><H3
-><A
-NAME="GTS-SURFACE-PRINT-STATS"
-></A
->gts_surface_print_stats ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_surface_print_stats (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s,
- <GTKDOCLINK
-HREF="FILE:CAPS"
->FILE</GTKDOCLINK
-> *fptr);</PRE
-><P
->Writes in the file pointed to by <CODE
-CLASS="PARAMETER"
->fptr</CODE
-> the statistics for surface <CODE
-CLASS="PARAMETER"
->s</CODE
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN9920"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->s</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN9927"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->fptr</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a file pointer.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN9932"
-></A
-><H3
-><A
-NAME="GTS-SURFACE-WRITE"
-></A
->gts_surface_write ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_surface_write (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s,
- <GTKDOCLINK
-HREF="FILE:CAPS"
->FILE</GTKDOCLINK
-> *fptr);</PRE
-><P
->Writes in the file <CODE
-CLASS="PARAMETER"
->fptr</CODE
-> an ASCII representation of <CODE
-CLASS="PARAMETER"
->s</CODE
->. The file
-format is as follows. </P
-><P
->All the lines beginning with <A
-HREF="gts-miscellaneous-macros-and-functions.html#GTS-COMMENTS:CAPS"
-><SPAN
-CLASS="TYPE"
->GTS_COMMENTS</SPAN
-></A
-> are ignored. The first line
-contains three unsigned integers separated by spaces. The first
-integer is the number of vertices, nv, the second is the number of
-edges, ne and the third is the number of faces, nf.</P
-><P
->Follows nv lines containing the x, y and z coordinates of the
-vertices. Follows ne lines containing the two indices (starting
-from one) of the vertices of each edge. Follows nf lines containing
-the three ordered indices (also starting from one) of the edges of
-each face. </P
-><P
->The format described above is the least common denominator to all
-GTS files. Consistent with an object-oriented approach, the GTS
-file format is extensible. Each of the lines of the file can be
-extended with user-specific attributes accessible through the
-<GTKDOCLINK
-HREF="READ"
-><CODE
-CLASS="FUNCTION"
->read()</CODE
-></GTKDOCLINK
-> and <GTKDOCLINK
-HREF="WRITE"
-><CODE
-CLASS="FUNCTION"
->write()</CODE
-></GTKDOCLINK
-> virtual methods of each of the objects written
-(surface, vertices, edges or faces). When read with different
-object classes, these extra attributes are just ignored.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN9955"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->s</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN9962"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->fptr</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a file pointer.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN9967"
-></A
-><H3
-><A
-NAME="GTS-SURFACE-WRITE-OOGL"
-></A
->gts_surface_write_oogl ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_surface_write_oogl (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s,
- <GTKDOCLINK
-HREF="FILE:CAPS"
->FILE</GTKDOCLINK
-> *fptr);</PRE
-><P
->Writes in the file <CODE
-CLASS="PARAMETER"
->fptr</CODE
-> an OOGL (Geomview) representation of <CODE
-CLASS="PARAMETER"
->s</CODE
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN9981"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->s</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN9988"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->fptr</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a file pointer.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN9993"
-></A
-><H3
-><A
-NAME="GTS-SURFACE-WRITE-OOGL-BOUNDARY"
-></A
->gts_surface_write_oogl_boundary ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_surface_write_oogl_boundary (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s,
- <GTKDOCLINK
-HREF="FILE:CAPS"
->FILE</GTKDOCLINK
-> *fptr);</PRE
-><P
->Writes in the file <CODE
-CLASS="PARAMETER"
->fptr</CODE
-> an OOGL (Geomview) representation of the
-boundary of <CODE
-CLASS="PARAMETER"
->s</CODE
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN10007"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->s</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN10014"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->fptr</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a file pointer.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN10019"
-></A
-><H3
-><A
-NAME="GTS-SURFACE-WRITE-VTK"
-></A
->gts_surface_write_vtk ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_surface_write_vtk (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s,
- <GTKDOCLINK
-HREF="FILE:CAPS"
->FILE</GTKDOCLINK
-> *fptr);</PRE
-><P
->Writes in the file <CODE
-CLASS="PARAMETER"
->fptr</CODE
-> a VTK representation of <CODE
-CLASS="PARAMETER"
->s</CODE
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN10033"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->s</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN10040"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->fptr</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a file pointer.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN10045"
-></A
-><H3
-><A
-NAME="GTSFUNC"
-></A
->GtsFunc ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GINT"
->gint</GTKDOCLINK
-> (*GtsFunc) (<GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> item,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> data);</PRE
-><P
->A user function called for each item of a collection.</P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN10056"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->item</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->a pointer this function is called for.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN10061"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->data</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->user data passed to the function.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN10066"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->if 0 the calling sequence continues, otherwise it stops.
-
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN10071"
-></A
-><H3
-><A
-NAME="GTS-SURFACE-FOREACH-VERTEX"
-></A
->gts_surface_foreach_vertex ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_surface_foreach_vertex (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s,
- <A
-HREF="gts-surfaces.html#GTSFUNC"
->GtsFunc</A
-> func,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> data);</PRE
-><P
->Calls <CODE
-CLASS="PARAMETER"
->func</CODE
-> once for each vertex of <CODE
-CLASS="PARAMETER"
->s</CODE
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN10086"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->s</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN10093"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->func</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSFUNC"
-><SPAN
-CLASS="TYPE"
->GtsFunc</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN10100"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->data</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> user data to be passed to <CODE
-CLASS="PARAMETER"
->func</CODE
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN10106"
-></A
-><H3
-><A
-NAME="GTS-SURFACE-FOREACH-EDGE"
-></A
->gts_surface_foreach_edge ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_surface_foreach_edge (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s,
- <A
-HREF="gts-surfaces.html#GTSFUNC"
->GtsFunc</A
-> func,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> data);</PRE
-><P
->Calls <CODE
-CLASS="PARAMETER"
->func</CODE
-> once for each edge of <CODE
-CLASS="PARAMETER"
->s</CODE
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN10121"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->s</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN10128"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->func</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSFUNC"
-><SPAN
-CLASS="TYPE"
->GtsFunc</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN10135"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->data</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> user data to be passed to <CODE
-CLASS="PARAMETER"
->func</CODE
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN10141"
-></A
-><H3
-><A
-NAME="GTS-SURFACE-FOREACH-FACE"
-></A
->gts_surface_foreach_face ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_surface_foreach_face (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s,
- <A
-HREF="gts-surfaces.html#GTSFUNC"
->GtsFunc</A
-> func,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> data);</PRE
-><P
->Calls <CODE
-CLASS="PARAMETER"
->func</CODE
-> once for each face of <CODE
-CLASS="PARAMETER"
->s</CODE
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN10156"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->s</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN10163"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->func</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSFUNC"
-><SPAN
-CLASS="TYPE"
->GtsFunc</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN10170"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->data</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> user data to be passed to <CODE
-CLASS="PARAMETER"
->func</CODE
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN10176"
-></A
-><H3
-><A
-NAME="GTS-SURFACE-FOREACH-FACE-REMOVE"
-></A
->gts_surface_foreach_face_remove ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> gts_surface_foreach_face_remove (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s,
- <A
-HREF="gts-surfaces.html#GTSFUNC"
->GtsFunc</A
-> func,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> data);</PRE
-><P
->Calls <CODE
-CLASS="PARAMETER"
->func</CODE
-> once for each face of <CODE
-CLASS="PARAMETER"
->s</CODE
->. If <CODE
-CLASS="PARAMETER"
->func</CODE
-> returns <TT
-CLASS="LITERAL"
->TRUE</TT
-> the
-corresponding face is removed from <CODE
-CLASS="PARAMETER"
->s</CODE
-> (and destroyed if it does not
-belong to any other surface and <GTKDOCLINK
-HREF="GTS-ALLOW-FLOATING-FACES"
-><SPAN
-CLASS="TYPE"
->gts_allow_floating_faces</SPAN
-></GTKDOCLINK
-> is set to
-<TT
-CLASS="LITERAL"
->FALSE</TT
->).</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN10197"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->s</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN10204"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->func</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSFUNC"
-><SPAN
-CLASS="TYPE"
->GtsFunc</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN10211"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->data</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> user data to be passed to <CODE
-CLASS="PARAMETER"
->func</CODE
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN10217"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the number of faces removed from <CODE
-CLASS="PARAMETER"
->s</CODE
->. </P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN10223"
-></A
-><H3
-><A
-NAME="GTS-SURFACE-FOREACH-INTERSECTING-FACE"
-></A
->gts_surface_foreach_intersecting_face ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GBOOLEAN"
->gboolean</GTKDOCLINK
-> gts_surface_foreach_intersecting_face
- (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s,
- <A
-HREF="gts-bounding-boxes-trees.html#GTSBBTREETRAVERSEFUNC"
->GtsBBTreeTraverseFunc</A
-> func,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> data);</PRE
-><P
->Calls <CODE
-CLASS="PARAMETER"
->func</CODE
-> for each intersecting pair of faces of <CODE
-CLASS="PARAMETER"
->s</CODE
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN10238"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->s</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN10245"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->func</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-bounding-boxes-trees.html#GTSBBTREETRAVERSEFUNC"
-><SPAN
-CLASS="TYPE"
->GtsBBTreeTraverseFunc</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN10252"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->data</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> user data to pass to <CODE
-CLASS="PARAMETER"
->func</CODE
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN10258"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> <TT
-CLASS="LITERAL"
->TRUE</TT
-> if <CODE
-CLASS="PARAMETER"
->func</CODE
-> was called at least once, <TT
-CLASS="LITERAL"
->FALSE</TT
-> otherwise.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN10266"
-></A
-><H3
-><A
-NAME="GTSSURFACETRAVERSE"
-></A
->GtsSurfaceTraverse</H3
-><PRE
-CLASS="PROGRAMLISTING"
->typedef struct _GtsSurfaceTraverse GtsSurfaceTraverse;</PRE
-><P
-></P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN10273"
-></A
-><H3
-><A
-NAME="GTS-SURFACE-TRAVERSE-NEW"
-></A
->gts_surface_traverse_new ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-surfaces.html#GTSSURFACETRAVERSE"
->GtsSurfaceTraverse</A
->* gts_surface_traverse_new
- (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s,
- <A
-HREF="gts-faces.html#GTSFACE"
->GtsFace</A
-> *f);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN10285"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->s</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN10292"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->f</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-faces.html#GTSFACE"
-><SPAN
-CLASS="TYPE"
->GtsFace</SPAN
-></A
-> belonging to <CODE
-CLASS="PARAMETER"
->s</CODE
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN10300"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a new <A
-HREF="gts-surfaces.html#GTSSURFACETRAVERSE"
-><SPAN
-CLASS="TYPE"
->GtsSurfaceTraverse</SPAN
-></A
->, initialized to start traversing
-from face <CODE
-CLASS="PARAMETER"
->f</CODE
-> of surface <CODE
-CLASS="PARAMETER"
->s</CODE
->. </P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN10309"
-></A
-><H3
-><A
-NAME="GTS-SURFACE-TRAVERSE-NEXT"
-></A
->gts_surface_traverse_next ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-faces.html#GTSFACE"
->GtsFace</A
->* gts_surface_traverse_next (<A
-HREF="gts-surfaces.html#GTSSURFACETRAVERSE"
->GtsSurfaceTraverse</A
-> *t,
- <GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> *level);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN10321"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->t</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSSURFACETRAVERSE"
-><SPAN
-CLASS="TYPE"
->GtsSurfaceTraverse</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN10328"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->level</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a pointer to a guint or <TT
-CLASS="LITERAL"
->NULL</TT
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN10334"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the next face of the traversal in breadth-first order or
-<TT
-CLASS="LITERAL"
->NULL</TT
-> if no faces are left. If <CODE
-CLASS="PARAMETER"
->level</CODE
-> if not <TT
-CLASS="LITERAL"
->NULL</TT
->, it is filled
-with the level of the returned face (0 for the initial face, 1 for
-its neighbors and so on). </P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN10342"
-></A
-><H3
-><A
-NAME="GTS-SURFACE-TRAVERSE-DESTROY"
-></A
->gts_surface_traverse_destroy ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_surface_traverse_destroy (<A
-HREF="gts-surfaces.html#GTSSURFACETRAVERSE"
->GtsSurfaceTraverse</A
-> *t);</PRE
-><P
->Frees all the memory allocated for <CODE
-CLASS="PARAMETER"
->t</CODE
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN10354"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->t</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSSURFACETRAVERSE"
-><SPAN
-CLASS="TYPE"
->GtsSurfaceTraverse</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN10361"
-></A
-><H3
-><A
-NAME="GTS-SURFACE-DISTANCE"
-></A
->gts_surface_distance ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_surface_distance (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s1,
- <A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s2,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> delta,
- <A
-HREF="gts-simple-statistics.html#GTSRANGE"
->GtsRange</A
-> *face_range,
- <A
-HREF="gts-simple-statistics.html#GTSRANGE"
->GtsRange</A
-> *boundary_range);</PRE
-><P
->Using the <A
-HREF="gts-bounding-boxes-trees.html#GTS-BB-TREE-SURFACE-DISTANCE"
-><CODE
-CLASS="FUNCTION"
->gts_bb_tree_surface_distance()</CODE
-></A
-> and
-<A
-HREF="gts-bounding-boxes-trees.html#GTS-BB-TREE-SURFACE-BOUNDARY-DISTANCE"
-><CODE
-CLASS="FUNCTION"
->gts_bb_tree_surface_boundary_distance()</CODE
-></A
-> functions fills <CODE
-CLASS="PARAMETER"
->face_range</CODE
->
-and <CODE
-CLASS="PARAMETER"
->boundary_range</CODE
-> with the min, max and average Euclidean
-(minimum) distances between the faces of <CODE
-CLASS="PARAMETER"
->s1</CODE
-> and the faces of <CODE
-CLASS="PARAMETER"
->s2</CODE
->
-and between the boundary edges of <CODE
-CLASS="PARAMETER"
->s1</CODE
-> and <CODE
-CLASS="PARAMETER"
->s2</CODE
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN10386"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->s1</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN10393"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->s2</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN10400"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->delta</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a spatial increment defined as the percentage of the diagonal
-of the bounding box of <CODE
-CLASS="PARAMETER"
->s2</CODE
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN10406"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->face_range</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-simple-statistics.html#GTSRANGE"
-><SPAN
-CLASS="TYPE"
->GtsRange</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN10413"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->boundary_range</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-simple-statistics.html#GTSRANGE"
-><SPAN
-CLASS="TYPE"
->GtsRange</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN10420"
-></A
-><H3
-><A
-NAME="GTS-SURFACE-STRIP"
-></A
->gts_surface_strip ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GSLIST"
->GSList</GTKDOCLINK
->* gts_surface_strip (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s);</PRE
-><P
->Decompose <CODE
-CLASS="PARAMETER"
->s</CODE
-> into triangle strips for fast-rendering.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN10432"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->s</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN10439"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a list of triangle strips containing all the triangles of <CODE
-CLASS="PARAMETER"
->s</CODE
->.
-A triangle strip is itself a list of successive triangles having one edge
-in common.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN10445"
-></A
-><H3
-><A
-NAME="GTS-SURFACE-TESSELLATE"
-></A
->gts_surface_tessellate ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_surface_tessellate (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s,
- <A
-HREF="gts-surface-simplification-and-refinement.html#GTSREFINEFUNC"
->GtsRefineFunc</A
-> refine_func,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> refine_data);</PRE
-><P
->Tessellate each triangle of <CODE
-CLASS="PARAMETER"
->s</CODE
-> with 4 triangles:
-the number of triangles is increased by a factor of 4.
-http://mathworld.wolfram.com/GeodesicDome.html</P
-><P
->If <CODE
-CLASS="PARAMETER"
->refine_func</CODE
-> is set to <TT
-CLASS="LITERAL"
->NULL</TT
-> a mid arc function is used: if
-the surface is a polyhedron with the unit sphere as circum sphere,
-then <A
-HREF="gts-surfaces.html#GTS-SURFACE-TESSELLATE"
-><CODE
-CLASS="FUNCTION"
->gts_surface_tessellate()</CODE
-></A
-> corresponds to a geodesation step
-(see <A
-HREF="gts-surfaces.html#GTS-SURFACE-GENERATE-SPHERE"
-><CODE
-CLASS="FUNCTION"
->gts_surface_generate_sphere()</CODE
-></A
->).</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN10466"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->s</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN10473"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->refine_func</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surface-simplification-and-refinement.html#GTSREFINEFUNC"
-><SPAN
-CLASS="TYPE"
->GtsRefineFunc</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN10480"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->refine_data</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> user data to be passed to <CODE
-CLASS="PARAMETER"
->refine_func</CODE
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN10486"
-></A
-><H3
-><A
-NAME="GTS-SURFACE-GENERATE-SPHERE"
-></A
->gts_surface_generate_sphere ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
->* gts_surface_generate_sphere (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s,
- <GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> geodesation_order);</PRE
-><P
->Add a triangulated unit sphere generated by recursive subdivision to <CODE
-CLASS="PARAMETER"
->s</CODE
->.
-First approximation is an isocahedron; each level of refinement
-(<CODE
-CLASS="PARAMETER"
->geodesation_order</CODE
->) increases the number of triangles by a factor of 4.
-http://mathworld.wolfram.com/GeodesicDome.html</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN10500"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->s</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN10507"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->geodesation_order</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <GTKDOCLINK
-HREF="GUINT"
-><SPAN
-CLASS="TYPE"
->guint</SPAN
-></GTKDOCLINK
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN10514"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> <CODE
-CLASS="PARAMETER"
->s</CODE
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN10520"
-></A
-><H3
-><A
-NAME="GTS-SURFACE-SPLIT"
-></A
->gts_surface_split ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GSLIST"
->GSList</GTKDOCLINK
->* gts_surface_split (<A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s);</PRE
-><P
->Splits a surface into connected and manifold components.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN10531"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->s</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN10538"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a list of new <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-></DIV
-><TABLE
-CLASS="navigation"
-WIDTH="100%"
-SUMMARY="Navigation footer"
-CELLPADDING="2"
-CELLSPACING="2"
-><TR
-VALIGN="middle"
-><TD
-ALIGN="left"
-><A
-ACCESSKEY="p"
-HREF="gts-faces.html"
-><B
-><<< Faces</B
-></A
-></TD
-><TD
-ALIGN="right"
-><A
-ACCESSKEY="n"
-HREF="c10545.html"
-><B
->Geometrical data structures >>></B
-></A
-></TD
-></TR
-></TABLE
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/gts-triangles.html b/doc/html/gts-triangles.html
deleted file mode 100644
index d6ab8a2..0000000
--- a/doc/html/gts-triangles.html
+++ /dev/null
@@ -1,4554 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
-<HTML
-><HEAD
-><TITLE
->Triangles</TITLE
-><META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
-REL="HOME"
-TITLE="GTS Library Reference Manual"
-HREF="book1.html"><LINK
-REL="UP"
-TITLE="Geometrical Object Hierarchy"
-HREF="c2915.html"><LINK
-REL="PREVIOUS"
-TITLE="Edges"
-HREF="gts-edges.html"><LINK
-REL="NEXT"
-TITLE="Faces"
-HREF="gts-faces.html"><STYLE
-TYPE="text/css"
->.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</STYLE
-></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><TABLE
-WIDTH="100%"
-CLASS="navigation"
-SUMMARY="Navigation header"
-CELLPADDING="2"
-CELLSPACING="2"
-><TR
-VALIGN="middle"
-><TD
-><A
-ACCESSKEY="p"
-HREF="gts-edges.html"
-><IMG
-SRC="left.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Prev"></A
-></TD
-><TD
-><A
-ACCESSKEY="u"
-HREF="c2915.html"
-><IMG
-SRC="up.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Up"></A
-></TD
-><TD
-><A
-ACCESSKEY="h"
-HREF="book1.html"
-><IMG
-SRC="home.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Home"></A
-></TD
-><TH
-WIDTH="100%"
-align="center"
->GTS Library Reference Manual</TH
-><TD
-><A
-ACCESSKEY="n"
-HREF="gts-faces.html"
-><IMG
-SRC="right.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Next"></A
-></TD
-></TR
-></TABLE
-><H1
-><A
-NAME="GTS-TRIANGLES"
-></A
->Triangles</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN7291"
-></A
-><H2
->Name</H2
->Triangles -- triangle object and related functions.</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN7294"
-></A
-><H2
->Synopsis</H2
-><PRE
-CLASS="SYNOPSIS"
->
#include <gts.h>
-
-
-#define <A
-HREF="gts-triangles.html#GTS-TRIANGLE-CLASS:CAPS"
->GTS_TRIANGLE_CLASS</A
-> (klass)
-#define <A
-HREF="gts-triangles.html#GTS-TRIANGLE:CAPS"
->GTS_TRIANGLE</A
-> (obj)
-#define <A
-HREF="gts-triangles.html#GTS-IS-TRIANGLE:CAPS"
->GTS_IS_TRIANGLE</A
-> (obj)
- <A
-HREF="gts-triangles.html#GTSTRIANGLECLASS"
->GtsTriangleClass</A
->;
- <A
-HREF="gts-triangles.html#GTSTRIANGLE"
->GtsTriangle</A
->;
-
-<A
-HREF="gts-triangles.html#GTSTRIANGLECLASS"
->GtsTriangleClass</A
->* <A
-HREF="gts-triangles.html#GTS-TRIANGLE-CLASS"
->gts_triangle_class</A
-> (void);
-<A
-HREF="gts-triangles.html#GTSTRIANGLE"
->GtsTriangle</A
->* <A
-HREF="gts-triangles.html#GTS-TRIANGLE-NEW"
->gts_triangle_new</A
-> (<A
-HREF="gts-triangles.html#GTSTRIANGLECLASS"
->GtsTriangleClass</A
-> *klass,
- <A
-HREF="gts-edges.html#GTSEDGE"
->GtsEdge</A
-> *e1,
- <A
-HREF="gts-edges.html#GTSEDGE"
->GtsEdge</A
-> *e2,
- <A
-HREF="gts-edges.html#GTSEDGE"
->GtsEdge</A
-> *e3);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-triangles.html#GTS-TRIANGLE-SET"
->gts_triangle_set</A
-> (<A
-HREF="gts-triangles.html#GTSTRIANGLE"
->GtsTriangle</A
-> *triangle,
- <A
-HREF="gts-edges.html#GTSEDGE"
->GtsEdge</A
-> *e1,
- <A
-HREF="gts-edges.html#GTSEDGE"
->GtsEdge</A
-> *e2,
- <A
-HREF="gts-edges.html#GTSEDGE"
->GtsEdge</A
-> *e3);
-<GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> <A
-HREF="gts-triangles.html#GTS-TRIANGLE-AREA"
->gts_triangle_area</A
-> (<A
-HREF="gts-triangles.html#GTSTRIANGLE"
->GtsTriangle</A
-> *t);
-<GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> <A
-HREF="gts-triangles.html#GTS-TRIANGLE-PERIMETER"
->gts_triangle_perimeter</A
-> (<A
-HREF="gts-triangles.html#GTSTRIANGLE"
->GtsTriangle</A
-> *t);
-<GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> <A
-HREF="gts-triangles.html#GTS-TRIANGLE-QUALITY"
->gts_triangle_quality</A
-> (<A
-HREF="gts-triangles.html#GTSTRIANGLE"
->GtsTriangle</A
-> *t);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-triangles.html#GTS-TRIANGLE-NORMAL"
->gts_triangle_normal</A
-> (<A
-HREF="gts-triangles.html#GTSTRIANGLE"
->GtsTriangle</A
-> *t,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> *x,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> *y,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> *z);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-triangles.html#GTS-TRIANGLE-REVERT"
->gts_triangle_revert</A
-> (<A
-HREF="gts-triangles.html#GTSTRIANGLE"
->GtsTriangle</A
-> *t);
-<GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> <A
-HREF="gts-triangles.html#GTS-TRIANGLE-ORIENTATION"
->gts_triangle_orientation</A
-> (<A
-HREF="gts-triangles.html#GTSTRIANGLE"
->GtsTriangle</A
-> *t);
-<A
-HREF="gts-triangles.html#GTSTRIANGLE"
->GtsTriangle</A
->* <A
-HREF="gts-triangles.html#GTS-TRIANGLE-IS-DUPLICATE"
->gts_triangle_is_duplicate</A
-> (<A
-HREF="gts-triangles.html#GTSTRIANGLE"
->GtsTriangle</A
-> *t);
-<GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> <A
-HREF="gts-triangles.html#GTS-TRIANGLES-ANGLE"
->gts_triangles_angle</A
-> (<A
-HREF="gts-triangles.html#GTSTRIANGLE"
->GtsTriangle</A
-> *t1,
- <A
-HREF="gts-triangles.html#GTSTRIANGLE"
->GtsTriangle</A
-> *t2);
-<GTKDOCLINK
-HREF="GBOOLEAN"
->gboolean</GTKDOCLINK
-> <A
-HREF="gts-triangles.html#GTS-TRIANGLES-ARE-COMPATIBLE"
->gts_triangles_are_compatible</A
-> (<A
-HREF="gts-triangles.html#GTSTRIANGLE"
->GtsTriangle</A
-> *t1,
- <A
-HREF="gts-triangles.html#GTSTRIANGLE"
->GtsTriangle</A
-> *t2,
- <A
-HREF="gts-edges.html#GTSEDGE"
->GtsEdge</A
-> *e);
-<A
-HREF="gts-triangles.html#GTSTRIANGLE"
->GtsTriangle</A
->* <A
-HREF="gts-triangles.html#GTS-TRIANGLE-ENCLOSING"
->gts_triangle_enclosing</A
-> (<A
-HREF="gts-triangles.html#GTSTRIANGLECLASS"
->GtsTriangleClass</A
-> *klass,
- <GTKDOCLINK
-HREF="GSLIST"
->GSList</GTKDOCLINK
-> *points,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> scale);
-<A
-HREF="gts-edges.html#GTSEDGE"
->GtsEdge</A
->* <A
-HREF="gts-triangles.html#GTS-TRIANGLES-COMMON-EDGE"
->gts_triangles_common_edge</A
-> (<A
-HREF="gts-triangles.html#GTSTRIANGLE"
->GtsTriangle</A
-> *t1,
- <A
-HREF="gts-triangles.html#GTSTRIANGLE"
->GtsTriangle</A
-> *t2);
-<GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> <A
-HREF="gts-triangles.html#GTS-TRIANGLE-NEIGHBOR-NUMBER"
->gts_triangle_neighbor_number</A
-> (<A
-HREF="gts-triangles.html#GTSTRIANGLE"
->GtsTriangle</A
-> *t);
-<GTKDOCLINK
-HREF="GSLIST"
->GSList</GTKDOCLINK
->* <A
-HREF="gts-triangles.html#GTS-TRIANGLE-NEIGHBORS"
->gts_triangle_neighbors</A
-> (<A
-HREF="gts-triangles.html#GTSTRIANGLE"
->GtsTriangle</A
-> *t);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-triangles.html#GTS-TRIANGLE-VERTICES-EDGES"
->gts_triangle_vertices_edges</A
-> (<A
-HREF="gts-triangles.html#GTSTRIANGLE"
->GtsTriangle</A
-> *t,
- <A
-HREF="gts-edges.html#GTSEDGE"
->GtsEdge</A
-> *e,
- <A
-HREF="gts-vertices.html#GTSVERTEX"
->GtsVertex</A
-> **v1,
- <A
-HREF="gts-vertices.html#GTSVERTEX"
->GtsVertex</A
-> **v2,
- <A
-HREF="gts-vertices.html#GTSVERTEX"
->GtsVertex</A
-> **v3,
- <A
-HREF="gts-edges.html#GTSEDGE"
->GtsEdge</A
-> **e1,
- <A
-HREF="gts-edges.html#GTSEDGE"
->GtsEdge</A
-> **e2,
- <A
-HREF="gts-edges.html#GTSEDGE"
->GtsEdge</A
-> **e3);
-<A
-HREF="gts-vertices.html#GTSVERTEX"
->GtsVertex</A
->* <A
-HREF="gts-triangles.html#GTS-TRIANGLE-VERTEX-OPPOSITE"
->gts_triangle_vertex_opposite</A
-> (<A
-HREF="gts-triangles.html#GTSTRIANGLE"
->GtsTriangle</A
-> *t,
- <A
-HREF="gts-edges.html#GTSEDGE"
->GtsEdge</A
-> *e);
-<A
-HREF="gts-edges.html#GTSEDGE"
->GtsEdge</A
->* <A
-HREF="gts-triangles.html#GTS-TRIANGLE-EDGE-OPPOSITE"
->gts_triangle_edge_opposite</A
-> (<A
-HREF="gts-triangles.html#GTSTRIANGLE"
->GtsTriangle</A
-> *t,
- <A
-HREF="gts-vertices.html#GTSVERTEX"
->GtsVertex</A
-> *v);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-triangles.html#GTS-TRIANGLE-VERTICES"
->gts_triangle_vertices</A
-> (<A
-HREF="gts-triangles.html#GTSTRIANGLE"
->GtsTriangle</A
-> *t,
- <A
-HREF="gts-vertices.html#GTSVERTEX"
->GtsVertex</A
-> **v1,
- <A
-HREF="gts-vertices.html#GTSVERTEX"
->GtsVertex</A
-> **v2,
- <A
-HREF="gts-vertices.html#GTSVERTEX"
->GtsVertex</A
-> **v3);
-#define <A
-HREF="gts-triangles.html#GTS-TRIANGLE-VERTEX"
->gts_triangle_vertex</A
-> (t)
-<GTKDOCLINK
-HREF="GBOOLEAN"
->gboolean</GTKDOCLINK
-> <A
-HREF="gts-triangles.html#GTS-TRIANGLE-IS-OK"
->gts_triangle_is_ok</A
-> (<A
-HREF="gts-triangles.html#GTSTRIANGLE"
->GtsTriangle</A
-> *t);
-<A
-HREF="gts-triangles.html#GTSTRIANGLE"
->GtsTriangle</A
->* <A
-HREF="gts-triangles.html#GTS-TRIANGLE-USE-EDGES"
->gts_triangle_use_edges</A
-> (<A
-HREF="gts-edges.html#GTSEDGE"
->GtsEdge</A
-> *e1,
- <A
-HREF="gts-edges.html#GTSEDGE"
->GtsEdge</A
-> *e2,
- <A
-HREF="gts-edges.html#GTSEDGE"
->GtsEdge</A
-> *e3);
-<A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
->* <A
-HREF="gts-triangles.html#GTS-TRIANGLE-CIRCUMCIRCLE-CENTER"
->gts_triangle_circumcircle_center</A
->
- (<A
-HREF="gts-triangles.html#GTSTRIANGLE"
->GtsTriangle</A
-> *t,
- <A
-HREF="gts-points.html#GTSPOINTCLASS"
->GtsPointClass</A
-> *point_class);
-<A
-HREF="gts-object-class.html#GTSOBJECT"
->GtsObject</A
->* <A
-HREF="gts-triangles.html#GTS-TRIANGLE-IS-STABBED"
->gts_triangle_is_stabbed</A
-> (<A
-HREF="gts-triangles.html#GTSTRIANGLE"
->GtsTriangle</A
-> *t,
- <A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *p,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> *orientation);
-<GTKDOCLINK
-HREF="GBOOLEAN"
->gboolean</GTKDOCLINK
-> <A
-HREF="gts-triangles.html#GTS-TRIANGLES-ARE-FOLDED"
->gts_triangles_are_folded</A
-> (<GTKDOCLINK
-HREF="GSLIST"
->GSList</GTKDOCLINK
-> *triangles,
- <A
-HREF="gts-vertices.html#GTSVERTEX"
->GtsVertex</A
-> *A,
- <A
-HREF="gts-vertices.html#GTSVERTEX"
->GtsVertex</A
-> *B,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> max);
-<GTKDOCLINK
-HREF="GSLIST"
->GSList</GTKDOCLINK
->* <A
-HREF="gts-triangles.html#GTS-TRIANGLES-FROM-EDGES"
->gts_triangles_from_edges</A
-> (<GTKDOCLINK
-HREF="GSLIST"
->GSList</GTKDOCLINK
-> *edges);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-triangles.html#GTS-TRIANGLE-INTERPOLATE-HEIGHT"
->gts_triangle_interpolate_height</A
-> (<A
-HREF="gts-triangles.html#GTSTRIANGLE"
->GtsTriangle</A
-> *t,
- <A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *p);</PRE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN7419"
-></A
-><H2
->Description</H2
-><P
->A <A
-HREF="gts-triangles.html#GTSTRIANGLE"
-><SPAN
-CLASS="TYPE"
->GtsTriangle</SPAN
-></A
-> is defined by three <A
-HREF="gts-edges.html#GTSEDGE"
-><SPAN
-CLASS="TYPE"
->GtsEdge</SPAN
-></A
->. They are oriented, the normal to the triangle points toward an observer seing the three edges in counter-clockwise order.</P
-><P
->When destroying a <A
-HREF="gts-triangles.html#GTSTRIANGLE"
-><SPAN
-CLASS="TYPE"
->GtsTriangle</SPAN
-></A
->, all the edges not used by another triangle are also destroyed. This default behaviour can be changed punctually by setting the global variable gts_allow_floating_edges to <TT
-CLASS="LITERAL"
->TRUE</TT
->. You must not forget to set this variable back to <TT
-CLASS="LITERAL"
->FALSE</TT
-> as all the algorithms of GTS assume the default behaviour.</P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN7431"
-></A
-><H2
->Details</H2
-><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN7433"
-></A
-><H3
-><A
-NAME="GTS-TRIANGLE-CLASS:CAPS"
-></A
->GTS_TRIANGLE_CLASS()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_TRIANGLE_CLASS(klass)</PRE
-><P
->Casts <CODE
-CLASS="PARAMETER"
->klass</CODE
-> to <A
-HREF="gts-triangles.html#GTSTRIANGLECLASS"
-><SPAN
-CLASS="TYPE"
->GtsTriangleClass</SPAN
-></A
->.</P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN7444"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->klass</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->a descendant of <A
-HREF="gts-triangles.html#GTSTRIANGLECLASS"
-><SPAN
-CLASS="TYPE"
->GtsTriangleClass</SPAN
-></A
->.
-
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN7451"
-></A
-><H3
-><A
-NAME="GTS-TRIANGLE:CAPS"
-></A
->GTS_TRIANGLE()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_TRIANGLE(obj)</PRE
-><P
->Casts <CODE
-CLASS="PARAMETER"
->obj</CODE
-> to <A
-HREF="gts-triangles.html#GTSTRIANGLE"
-><SPAN
-CLASS="TYPE"
->GtsTriangle</SPAN
-></A
->.</P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN7462"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->obj</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->a descendant of <A
-HREF="gts-triangles.html#GTSTRIANGLE"
-><SPAN
-CLASS="TYPE"
->GtsTriangle</SPAN
-></A
->.
-
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN7469"
-></A
-><H3
-><A
-NAME="GTS-IS-TRIANGLE:CAPS"
-></A
->GTS_IS_TRIANGLE()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_IS_TRIANGLE(obj)</PRE
-><P
->Evaluates to <TT
-CLASS="LITERAL"
->TRUE</TT
-> if <CODE
-CLASS="PARAMETER"
->obj</CODE
-> is a descendant of <A
-HREF="gts-triangles.html#GTSTRIANGLE"
-><SPAN
-CLASS="TYPE"
->GtsTriangle</SPAN
-></A
->, <TT
-CLASS="LITERAL"
->FALSE</TT
-> otherwise.</P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN7482"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->obj</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->a pointer to test.
-
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN7487"
-></A
-><H3
-><A
-NAME="GTSTRIANGLECLASS"
-></A
->GtsTriangleClass</H3
-><PRE
-CLASS="PROGRAMLISTING"
->typedef struct {
- GtsObjectClass parent_class;
-} GtsTriangleClass;</PRE
-><P
->The triangle class, just derived from <A
-HREF="gts-object-class.html#GTSOBJECT"
-><SPAN
-CLASS="TYPE"
->GtsObject</SPAN
-></A
->.</P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN7496"
-></A
-><H3
-><A
-NAME="GTSTRIANGLE"
-></A
->GtsTriangle</H3
-><PRE
-CLASS="PROGRAMLISTING"
->typedef struct {
- GtsObject object;
-
- GtsEdge * e1;
- GtsEdge * e2;
- GtsEdge * e3;
-} GtsTriangle;</PRE
-><P
->The triangle object.</P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN7504"><SPAN
-STYLE="white-space: nowrap"
-><A
-HREF="gts-object-class.html#GTSOBJECT"
->GtsObject</A
-> <CODE
-CLASS="STRUCTFIELD"
->object</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->Parent object.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN7510"><SPAN
-STYLE="white-space: nowrap"
-><A
-HREF="gts-edges.html#GTSEDGE"
->GtsEdge</A
-> *<CODE
-CLASS="STRUCTFIELD"
->e1</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->First edge.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN7516"><SPAN
-STYLE="white-space: nowrap"
-><A
-HREF="gts-edges.html#GTSEDGE"
->GtsEdge</A
-> *<CODE
-CLASS="STRUCTFIELD"
->e2</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->Second edge.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN7522"><SPAN
-STYLE="white-space: nowrap"
-><A
-HREF="gts-edges.html#GTSEDGE"
->GtsEdge</A
-> *<CODE
-CLASS="STRUCTFIELD"
->e3</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->Third edge.
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN7528"
-></A
-><H3
-><A
-NAME="GTS-TRIANGLE-CLASS"
-></A
->gts_triangle_class ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-triangles.html#GTSTRIANGLECLASS"
->GtsTriangleClass</A
->* gts_triangle_class (void);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN7538"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the <A
-HREF="gts-triangles.html#GTSTRIANGLECLASS"
-><SPAN
-CLASS="TYPE"
->GtsTriangleClass</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN7545"
-></A
-><H3
-><A
-NAME="GTS-TRIANGLE-NEW"
-></A
->gts_triangle_new ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-triangles.html#GTSTRIANGLE"
->GtsTriangle</A
->* gts_triangle_new (<A
-HREF="gts-triangles.html#GTSTRIANGLECLASS"
->GtsTriangleClass</A
-> *klass,
- <A
-HREF="gts-edges.html#GTSEDGE"
->GtsEdge</A
-> *e1,
- <A
-HREF="gts-edges.html#GTSEDGE"
->GtsEdge</A
-> *e2,
- <A
-HREF="gts-edges.html#GTSEDGE"
->GtsEdge</A
-> *e3);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN7559"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->klass</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-triangles.html#GTSTRIANGLECLASS"
-><SPAN
-CLASS="TYPE"
->GtsTriangleClass</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN7566"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->e1</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-edges.html#GTSEDGE"
-><SPAN
-CLASS="TYPE"
->GtsEdge</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN7573"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->e2</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> another <A
-HREF="gts-edges.html#GTSEDGE"
-><SPAN
-CLASS="TYPE"
->GtsEdge</SPAN
-></A
-> touching <CODE
-CLASS="PARAMETER"
->e1</CODE
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN7581"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->e3</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> another <A
-HREF="gts-edges.html#GTSEDGE"
-><SPAN
-CLASS="TYPE"
->GtsEdge</SPAN
-></A
-> touching both <CODE
-CLASS="PARAMETER"
->e1</CODE
-> and <CODE
-CLASS="PARAMETER"
->e2</CODE
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN7590"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a new <A
-HREF="gts-triangles.html#GTSTRIANGLE"
-><SPAN
-CLASS="TYPE"
->GtsTriangle</SPAN
-></A
-> having <CODE
-CLASS="PARAMETER"
->e1</CODE
->, <CODE
-CLASS="PARAMETER"
->e2</CODE
-> and <CODE
-CLASS="PARAMETER"
->e3</CODE
-> as edges.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN7600"
-></A
-><H3
-><A
-NAME="GTS-TRIANGLE-SET"
-></A
->gts_triangle_set ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_triangle_set (<A
-HREF="gts-triangles.html#GTSTRIANGLE"
->GtsTriangle</A
-> *triangle,
- <A
-HREF="gts-edges.html#GTSEDGE"
->GtsEdge</A
-> *e1,
- <A
-HREF="gts-edges.html#GTSEDGE"
->GtsEdge</A
-> *e2,
- <A
-HREF="gts-edges.html#GTSEDGE"
->GtsEdge</A
-> *e3);</PRE
-><P
->Sets the edge of <CODE
-CLASS="PARAMETER"
->triangle</CODE
-> to <CODE
-CLASS="PARAMETER"
->e1</CODE
->, <CODE
-CLASS="PARAMETER"
->e2</CODE
-> and <CODE
-CLASS="PARAMETER"
->e3</CODE
-> while checking that they
-define a valid triangle.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN7618"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->triangle</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-triangles.html#GTSTRIANGLE"
-><SPAN
-CLASS="TYPE"
->GtsTriangle</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN7625"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->e1</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-edges.html#GTSEDGE"
-><SPAN
-CLASS="TYPE"
->GtsEdge</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN7632"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->e2</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> another <A
-HREF="gts-edges.html#GTSEDGE"
-><SPAN
-CLASS="TYPE"
->GtsEdge</SPAN
-></A
-> touching <CODE
-CLASS="PARAMETER"
->e1</CODE
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN7640"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->e3</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> another <A
-HREF="gts-edges.html#GTSEDGE"
-><SPAN
-CLASS="TYPE"
->GtsEdge</SPAN
-></A
-> touching both <CODE
-CLASS="PARAMETER"
->e1</CODE
-> and <CODE
-CLASS="PARAMETER"
->e2</CODE
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN7649"
-></A
-><H3
-><A
-NAME="GTS-TRIANGLE-AREA"
-></A
->gts_triangle_area ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> gts_triangle_area (<A
-HREF="gts-triangles.html#GTSTRIANGLE"
->GtsTriangle</A
-> *t);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN7660"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->t</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-triangles.html#GTSTRIANGLE"
-><SPAN
-CLASS="TYPE"
->GtsTriangle</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN7667"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the area of the triangle <CODE
-CLASS="PARAMETER"
->t</CODE
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN7673"
-></A
-><H3
-><A
-NAME="GTS-TRIANGLE-PERIMETER"
-></A
->gts_triangle_perimeter ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> gts_triangle_perimeter (<A
-HREF="gts-triangles.html#GTSTRIANGLE"
->GtsTriangle</A
-> *t);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN7684"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->t</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-triangles.html#GTSTRIANGLE"
-><SPAN
-CLASS="TYPE"
->GtsTriangle</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN7691"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the perimeter of the triangle <CODE
-CLASS="PARAMETER"
->t</CODE
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN7697"
-></A
-><H3
-><A
-NAME="GTS-TRIANGLE-QUALITY"
-></A
->gts_triangle_quality ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> gts_triangle_quality (<A
-HREF="gts-triangles.html#GTSTRIANGLE"
->GtsTriangle</A
-> *t);</PRE
-><P
->The quality of a triangle is defined as the ratio of the square
-root of its surface area to its perimeter relative to this same
-ratio for an equilateral triangle with the same area. The quality
-is then one for an equilateral triangle and tends to zero for a
-very stretched triangle.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN7708"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->t</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-triangles.html#GTSTRIANGLE"
-><SPAN
-CLASS="TYPE"
->GtsTriangle</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN7715"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the quality of the triangle <CODE
-CLASS="PARAMETER"
->t</CODE
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN7721"
-></A
-><H3
-><A
-NAME="GTS-TRIANGLE-NORMAL"
-></A
->gts_triangle_normal ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_triangle_normal (<A
-HREF="gts-triangles.html#GTSTRIANGLE"
->GtsTriangle</A
-> *t,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> *x,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> *y,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> *z);</PRE
-><P
->Computes the coordinates of the oriented normal of <CODE
-CLASS="PARAMETER"
->t</CODE
-> as the
-cross-product of two edges, using the left-hand rule. The normal is
-not normalized. If this triangle is part of a closed and oriented
-surface, the normal points to the outside of the surface.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN7736"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->t</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-triangles.html#GTSTRIANGLE"
-><SPAN
-CLASS="TYPE"
->GtsTriangle</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN7743"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->x</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the x coordinate of the normal.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN7748"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->y</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the y coordinate of the normal.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN7753"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->z</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the z coordinate of the normal.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN7758"
-></A
-><H3
-><A
-NAME="GTS-TRIANGLE-REVERT"
-></A
->gts_triangle_revert ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_triangle_revert (<A
-HREF="gts-triangles.html#GTSTRIANGLE"
->GtsTriangle</A
-> *t);</PRE
-><P
->Changes the orientation of triangle <CODE
-CLASS="PARAMETER"
->t</CODE
->, turning it inside out.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN7770"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->t</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-triangles.html#GTSTRIANGLE"
-><SPAN
-CLASS="TYPE"
->GtsTriangle</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN7777"
-></A
-><H3
-><A
-NAME="GTS-TRIANGLE-ORIENTATION"
-></A
->gts_triangle_orientation ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> gts_triangle_orientation (<A
-HREF="gts-triangles.html#GTSTRIANGLE"
->GtsTriangle</A
-> *t);</PRE
-><P
->Checks for the orientation of the plane (x,y) projection of a
-triangle. See <A
-HREF="gts-points.html#GTS-POINT-ORIENTATION"
-><CODE
-CLASS="FUNCTION"
->gts_point_orientation()</CODE
-></A
-> for details. This function
-is geometrically robust.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN7790"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->t</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-triangles.html#GTSTRIANGLE"
-><SPAN
-CLASS="TYPE"
->GtsTriangle</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN7797"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a number depending on the orientation of the vertices of <CODE
-CLASS="PARAMETER"
->t</CODE
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN7803"
-></A
-><H3
-><A
-NAME="GTS-TRIANGLE-IS-DUPLICATE"
-></A
->gts_triangle_is_duplicate ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-triangles.html#GTSTRIANGLE"
->GtsTriangle</A
->* gts_triangle_is_duplicate (<A
-HREF="gts-triangles.html#GTSTRIANGLE"
->GtsTriangle</A
-> *t);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN7814"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->t</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-triangles.html#GTSTRIANGLE"
-><SPAN
-CLASS="TYPE"
->GtsTriangle</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN7821"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-triangles.html#GTSTRIANGLE"
-><SPAN
-CLASS="TYPE"
->GtsTriangle</SPAN
-></A
-> different from <CODE
-CLASS="PARAMETER"
->t</CODE
-> but sharing all its edges
-with <CODE
-CLASS="PARAMETER"
->t</CODE
-> or <TT
-CLASS="LITERAL"
->NULL</TT
-> if there is none.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN7831"
-></A
-><H3
-><A
-NAME="GTS-TRIANGLES-ANGLE"
-></A
->gts_triangles_angle ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> gts_triangles_angle (<A
-HREF="gts-triangles.html#GTSTRIANGLE"
->GtsTriangle</A
-> *t1,
- <A
-HREF="gts-triangles.html#GTSTRIANGLE"
->GtsTriangle</A
-> *t2);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN7843"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->t1</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-triangles.html#GTSTRIANGLE"
-><SPAN
-CLASS="TYPE"
->GtsTriangle</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN7850"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->t2</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-triangles.html#GTSTRIANGLE"
-><SPAN
-CLASS="TYPE"
->GtsTriangle</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN7857"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the value (in radians) of the angle between <CODE
-CLASS="PARAMETER"
->t1</CODE
-> and <CODE
-CLASS="PARAMETER"
->t2</CODE
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN7864"
-></A
-><H3
-><A
-NAME="GTS-TRIANGLES-ARE-COMPATIBLE"
-></A
->gts_triangles_are_compatible ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GBOOLEAN"
->gboolean</GTKDOCLINK
-> gts_triangles_are_compatible (<A
-HREF="gts-triangles.html#GTSTRIANGLE"
->GtsTriangle</A
-> *t1,
- <A
-HREF="gts-triangles.html#GTSTRIANGLE"
->GtsTriangle</A
-> *t2,
- <A
-HREF="gts-edges.html#GTSEDGE"
->GtsEdge</A
-> *e);</PRE
-><P
->Checks if <CODE
-CLASS="PARAMETER"
->t1</CODE
-> and <CODE
-CLASS="PARAMETER"
->t2</CODE
-> have compatible orientations i.e. if <CODE
-CLASS="PARAMETER"
->t1</CODE
-> and
-<CODE
-CLASS="PARAMETER"
->t2</CODE
-> can be part of the same surface without conflict in the surface
-normal orientation.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN7881"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->t1</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-triangles.html#GTSTRIANGLE"
-><SPAN
-CLASS="TYPE"
->GtsTriangle</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN7888"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->t2</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-triangles.html#GTSTRIANGLE"
-><SPAN
-CLASS="TYPE"
->GtsTriangle</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN7895"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->e</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-edges.html#GTSEDGE"
-><SPAN
-CLASS="TYPE"
->GtsEdge</SPAN
-></A
-> used by both <CODE
-CLASS="PARAMETER"
->t1</CODE
-> and <CODE
-CLASS="PARAMETER"
->t2</CODE
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN7904"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> <TT
-CLASS="LITERAL"
->TRUE</TT
-> if <CODE
-CLASS="PARAMETER"
->t1</CODE
-> and <CODE
-CLASS="PARAMETER"
->t2</CODE
-> are compatible, <TT
-CLASS="LITERAL"
->FALSE</TT
-> otherwise.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN7913"
-></A
-><H3
-><A
-NAME="GTS-TRIANGLE-ENCLOSING"
-></A
->gts_triangle_enclosing ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-triangles.html#GTSTRIANGLE"
->GtsTriangle</A
->* gts_triangle_enclosing (<A
-HREF="gts-triangles.html#GTSTRIANGLECLASS"
->GtsTriangleClass</A
-> *klass,
- <GTKDOCLINK
-HREF="GSLIST"
->GSList</GTKDOCLINK
-> *points,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> scale);</PRE
-><P
->Builds a new triangle (including new vertices and edges) enclosing
-the plane projection of all the points in <CODE
-CLASS="PARAMETER"
->points</CODE
->. This triangle is
-equilateral and encloses a rectangle defined by the maximum and
-minimum x and y coordinates of the points. <CODE
-CLASS="PARAMETER"
->scale</CODE
-> is an homothetic
-scaling factor. If equal to one, the triangle encloses exactly the
-enclosing rectangle.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN7928"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->klass</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the class of the new triangle.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN7933"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->points</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a list of <A
-HREF="gts-points.html#GTSPOINT"
-><SPAN
-CLASS="TYPE"
->GtsPoint</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN7940"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->scale</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a scaling factor (must be larger than one).</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN7945"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a new <A
-HREF="gts-triangles.html#GTSTRIANGLE"
-><SPAN
-CLASS="TYPE"
->GtsTriangle</SPAN
-></A
->. </P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN7952"
-></A
-><H3
-><A
-NAME="GTS-TRIANGLES-COMMON-EDGE"
-></A
->gts_triangles_common_edge ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-edges.html#GTSEDGE"
->GtsEdge</A
->* gts_triangles_common_edge (<A
-HREF="gts-triangles.html#GTSTRIANGLE"
->GtsTriangle</A
-> *t1,
- <A
-HREF="gts-triangles.html#GTSTRIANGLE"
->GtsTriangle</A
-> *t2);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN7964"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->t1</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-triangles.html#GTSTRIANGLE"
-><SPAN
-CLASS="TYPE"
->GtsTriangle</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN7971"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->t2</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-triangles.html#GTSTRIANGLE"
-><SPAN
-CLASS="TYPE"
->GtsTriangle</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN7978"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-edges.html#GTSEDGE"
-><SPAN
-CLASS="TYPE"
->GtsEdge</SPAN
-></A
-> common to both <CODE
-CLASS="PARAMETER"
->t1</CODE
-> and <CODE
-CLASS="PARAMETER"
->t2</CODE
-> or <TT
-CLASS="LITERAL"
->NULL</TT
-> if <CODE
-CLASS="PARAMETER"
->t1</CODE
-> and <CODE
-CLASS="PARAMETER"
->t2</CODE
->
-do not share any edge.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN7990"
-></A
-><H3
-><A
-NAME="GTS-TRIANGLE-NEIGHBOR-NUMBER"
-></A
->gts_triangle_neighbor_number ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> gts_triangle_neighbor_number (<A
-HREF="gts-triangles.html#GTSTRIANGLE"
->GtsTriangle</A
-> *t);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN8001"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->t</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-triangles.html#GTSTRIANGLE"
-><SPAN
-CLASS="TYPE"
->GtsTriangle</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN8008"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the number of triangles neighbors of <CODE
-CLASS="PARAMETER"
->t</CODE
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN8014"
-></A
-><H3
-><A
-NAME="GTS-TRIANGLE-NEIGHBORS"
-></A
->gts_triangle_neighbors ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GSLIST"
->GSList</GTKDOCLINK
->* gts_triangle_neighbors (<A
-HREF="gts-triangles.html#GTSTRIANGLE"
->GtsTriangle</A
-> *t);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN8025"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->t</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-triangles.html#GTSTRIANGLE"
-><SPAN
-CLASS="TYPE"
->GtsTriangle</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN8032"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a list of <A
-HREF="gts-triangles.html#GTSTRIANGLE"
-><SPAN
-CLASS="TYPE"
->GtsTriangle</SPAN
-></A
-> neighbors of <CODE
-CLASS="PARAMETER"
->t</CODE
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN8040"
-></A
-><H3
-><A
-NAME="GTS-TRIANGLE-VERTICES-EDGES"
-></A
->gts_triangle_vertices_edges ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_triangle_vertices_edges (<A
-HREF="gts-triangles.html#GTSTRIANGLE"
->GtsTriangle</A
-> *t,
- <A
-HREF="gts-edges.html#GTSEDGE"
->GtsEdge</A
-> *e,
- <A
-HREF="gts-vertices.html#GTSVERTEX"
->GtsVertex</A
-> **v1,
- <A
-HREF="gts-vertices.html#GTSVERTEX"
->GtsVertex</A
-> **v2,
- <A
-HREF="gts-vertices.html#GTSVERTEX"
->GtsVertex</A
-> **v3,
- <A
-HREF="gts-edges.html#GTSEDGE"
->GtsEdge</A
-> **e1,
- <A
-HREF="gts-edges.html#GTSEDGE"
->GtsEdge</A
-> **e2,
- <A
-HREF="gts-edges.html#GTSEDGE"
->GtsEdge</A
-> **e3);</PRE
-><P
->Given <CODE
-CLASS="PARAMETER"
->t</CODE
-> and <CODE
-CLASS="PARAMETER"
->e</CODE
->, returns <CODE
-CLASS="PARAMETER"
->v1</CODE
->, <CODE
-CLASS="PARAMETER"
->v2</CODE
->, <CODE
-CLASS="PARAMETER"
->v3</CODE
->, <CODE
-CLASS="PARAMETER"
->e1</CODE
->, <CODE
-CLASS="PARAMETER"
->e2</CODE
-> and <CODE
-CLASS="PARAMETER"
->e3</CODE
->. <CODE
-CLASS="PARAMETER"
->e1</CODE
->
-has <CODE
-CLASS="PARAMETER"
->v1</CODE
-> and <CODE
-CLASS="PARAMETER"
->v2</CODE
-> as vertices, <CODE
-CLASS="PARAMETER"
->e2</CODE
-> has <CODE
-CLASS="PARAMETER"
->v2</CODE
-> and <CODE
-CLASS="PARAMETER"
->v3</CODE
-> as vertices
-and <CODE
-CLASS="PARAMETER"
->e3</CODE
-> has <CODE
-CLASS="PARAMETER"
->v3</CODE
-> and <CODE
-CLASS="PARAMETER"
->v1</CODE
-> as vertices. <CODE
-CLASS="PARAMETER"
->v1</CODE
->, <CODE
-CLASS="PARAMETER"
->v2</CODE
-> and <CODE
-CLASS="PARAMETER"
->v3</CODE
-> respects
-the orientation of <CODE
-CLASS="PARAMETER"
->t</CODE
->. If <CODE
-CLASS="PARAMETER"
->e</CODE
-> is not NULL, <CODE
-CLASS="PARAMETER"
->e1</CODE
-> and <CODE
-CLASS="PARAMETER"
->e</CODE
-> are
-identical.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN8082"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->t</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-triangles.html#GTSTRIANGLE"
-><SPAN
-CLASS="TYPE"
->GtsTriangle</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN8089"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->e</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-edges.html#GTSEDGE"
-><SPAN
-CLASS="TYPE"
->GtsEdge</SPAN
-></A
-> belonging to the edges of <CODE
-CLASS="PARAMETER"
->t</CODE
-> or <TT
-CLASS="LITERAL"
->NULL</TT
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN8098"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->v1</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-vertices.html#GTSVERTEX"
-><SPAN
-CLASS="TYPE"
->GtsVertex</SPAN
-></A
-> used by <CODE
-CLASS="PARAMETER"
->t</CODE
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN8106"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->v2</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-vertices.html#GTSVERTEX"
-><SPAN
-CLASS="TYPE"
->GtsVertex</SPAN
-></A
-> used by <CODE
-CLASS="PARAMETER"
->t</CODE
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN8114"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->v3</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-vertices.html#GTSVERTEX"
-><SPAN
-CLASS="TYPE"
->GtsVertex</SPAN
-></A
-> used by <CODE
-CLASS="PARAMETER"
->t</CODE
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN8122"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->e1</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-edges.html#GTSEDGE"
-><SPAN
-CLASS="TYPE"
->GtsEdge</SPAN
-></A
-> used by <CODE
-CLASS="PARAMETER"
->t</CODE
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN8130"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->e2</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-edges.html#GTSEDGE"
-><SPAN
-CLASS="TYPE"
->GtsEdge</SPAN
-></A
-> used by <CODE
-CLASS="PARAMETER"
->t</CODE
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN8138"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->e3</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-edges.html#GTSEDGE"
-><SPAN
-CLASS="TYPE"
->GtsEdge</SPAN
-></A
-> used by <CODE
-CLASS="PARAMETER"
->t</CODE
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN8146"
-></A
-><H3
-><A
-NAME="GTS-TRIANGLE-VERTEX-OPPOSITE"
-></A
->gts_triangle_vertex_opposite ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-vertices.html#GTSVERTEX"
->GtsVertex</A
->* gts_triangle_vertex_opposite (<A
-HREF="gts-triangles.html#GTSTRIANGLE"
->GtsTriangle</A
-> *t,
- <A
-HREF="gts-edges.html#GTSEDGE"
->GtsEdge</A
-> *e);</PRE
-><P
->This function fails if <CODE
-CLASS="PARAMETER"
->e</CODE
-> is not an edge of <CODE
-CLASS="PARAMETER"
->t</CODE
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN8160"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->t</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-triangles.html#GTSTRIANGLE"
-><SPAN
-CLASS="TYPE"
->GtsTriangle</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN8167"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->e</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-edges.html#GTSEDGE"
-><SPAN
-CLASS="TYPE"
->GtsEdge</SPAN
-></A
-> used by <CODE
-CLASS="PARAMETER"
->t</CODE
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN8175"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-vertices.html#GTSVERTEX"
-><SPAN
-CLASS="TYPE"
->GtsVertex</SPAN
-></A
->, vertex of <CODE
-CLASS="PARAMETER"
->t</CODE
-> which does not belong to <CODE
-CLASS="PARAMETER"
->e</CODE
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN8184"
-></A
-><H3
-><A
-NAME="GTS-TRIANGLE-EDGE-OPPOSITE"
-></A
->gts_triangle_edge_opposite ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-edges.html#GTSEDGE"
->GtsEdge</A
->* gts_triangle_edge_opposite (<A
-HREF="gts-triangles.html#GTSTRIANGLE"
->GtsTriangle</A
-> *t,
- <A
-HREF="gts-vertices.html#GTSVERTEX"
->GtsVertex</A
-> *v);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN8196"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->t</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-triangles.html#GTSTRIANGLE"
-><SPAN
-CLASS="TYPE"
->GtsTriangle</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN8203"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->v</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-vertices.html#GTSVERTEX"
-><SPAN
-CLASS="TYPE"
->GtsVertex</SPAN
-></A
-> of <CODE
-CLASS="PARAMETER"
->t</CODE
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN8211"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the edge of <CODE
-CLASS="PARAMETER"
->t</CODE
-> opposite <CODE
-CLASS="PARAMETER"
->v</CODE
-> or <TT
-CLASS="LITERAL"
->NULL</TT
-> if <CODE
-CLASS="PARAMETER"
->v</CODE
-> is not a vertice of <CODE
-CLASS="PARAMETER"
->t</CODE
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN8221"
-></A
-><H3
-><A
-NAME="GTS-TRIANGLE-VERTICES"
-></A
->gts_triangle_vertices ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_triangle_vertices (<A
-HREF="gts-triangles.html#GTSTRIANGLE"
->GtsTriangle</A
-> *t,
- <A
-HREF="gts-vertices.html#GTSVERTEX"
->GtsVertex</A
-> **v1,
- <A
-HREF="gts-vertices.html#GTSVERTEX"
->GtsVertex</A
-> **v2,
- <A
-HREF="gts-vertices.html#GTSVERTEX"
->GtsVertex</A
-> **v3);</PRE
-><P
->Fills <CODE
-CLASS="PARAMETER"
->v1</CODE
->, <CODE
-CLASS="PARAMETER"
->v2</CODE
-> and <CODE
-CLASS="PARAMETER"
->v3</CODE
-> with the oriented set of vertices, summits of <CODE
-CLASS="PARAMETER"
->t</CODE
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN8239"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->t</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-triangles.html#GTSTRIANGLE"
-><SPAN
-CLASS="TYPE"
->GtsTriangle</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN8246"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->v1</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a pointer on a <A
-HREF="gts-vertices.html#GTSVERTEX"
-><SPAN
-CLASS="TYPE"
->GtsVertex</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN8253"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->v2</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a pointer on a <A
-HREF="gts-vertices.html#GTSVERTEX"
-><SPAN
-CLASS="TYPE"
->GtsVertex</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN8260"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->v3</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a pointer on a <A
-HREF="gts-vertices.html#GTSVERTEX"
-><SPAN
-CLASS="TYPE"
->GtsVertex</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN8267"
-></A
-><H3
-><A
-NAME="GTS-TRIANGLE-VERTEX"
-></A
->gts_triangle_vertex()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define gts_triangle_vertex(t)</PRE
-><P
->Evaluates to the <A
-HREF="gts-vertices.html#GTSVERTEX"
-><SPAN
-CLASS="TYPE"
->GtsVertex</SPAN
-></A
-> of <CODE
-CLASS="PARAMETER"
->t</CODE
-> not used by <CODE
-CLASS="PARAMETER"
->t->e1</CODE
->.</P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN8279"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->t</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->a <A
-HREF="gts-triangles.html#GTSTRIANGLE"
-><SPAN
-CLASS="TYPE"
->GtsTriangle</SPAN
-></A
->.
-
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN8286"
-></A
-><H3
-><A
-NAME="GTS-TRIANGLE-IS-OK"
-></A
->gts_triangle_is_ok ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GBOOLEAN"
->gboolean</GTKDOCLINK
-> gts_triangle_is_ok (<A
-HREF="gts-triangles.html#GTSTRIANGLE"
->GtsTriangle</A
-> *t);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN8297"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->t</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-triangles.html#GTSTRIANGLE"
-><SPAN
-CLASS="TYPE"
->GtsTriangle</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN8304"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> <TT
-CLASS="LITERAL"
->TRUE</TT
-> if <CODE
-CLASS="PARAMETER"
->t</CODE
-> is a non-degenerate, non-duplicate triangle,
-<TT
-CLASS="LITERAL"
->FALSE</TT
-> otherwise.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN8312"
-></A
-><H3
-><A
-NAME="GTS-TRIANGLE-USE-EDGES"
-></A
->gts_triangle_use_edges ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-triangles.html#GTSTRIANGLE"
->GtsTriangle</A
->* gts_triangle_use_edges (<A
-HREF="gts-edges.html#GTSEDGE"
->GtsEdge</A
-> *e1,
- <A
-HREF="gts-edges.html#GTSEDGE"
->GtsEdge</A
-> *e2,
- <A
-HREF="gts-edges.html#GTSEDGE"
->GtsEdge</A
-> *e3);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN8325"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->e1</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-edges.html#GTSEDGE"
-><SPAN
-CLASS="TYPE"
->GtsEdge</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN8332"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->e2</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-edges.html#GTSEDGE"
-><SPAN
-CLASS="TYPE"
->GtsEdge</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN8339"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->e3</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-edges.html#GTSEDGE"
-><SPAN
-CLASS="TYPE"
->GtsEdge</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN8346"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-triangles.html#GTSTRIANGLE"
-><SPAN
-CLASS="TYPE"
->GtsTriangle</SPAN
-></A
-> having <CODE
-CLASS="PARAMETER"
->e1</CODE
->, <CODE
-CLASS="PARAMETER"
->e2</CODE
-> and <CODE
-CLASS="PARAMETER"
->e3</CODE
-> as edges or <TT
-CLASS="LITERAL"
->NULL</TT
-> if <CODE
-CLASS="PARAMETER"
->e1</CODE
->,
-<CODE
-CLASS="PARAMETER"
->e2</CODE
-> and <CODE
-CLASS="PARAMETER"
->e3</CODE
-> are not part of any triangle.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN8360"
-></A
-><H3
-><A
-NAME="GTS-TRIANGLE-CIRCUMCIRCLE-CENTER"
-></A
->gts_triangle_circumcircle_center ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
->* gts_triangle_circumcircle_center
- (<A
-HREF="gts-triangles.html#GTSTRIANGLE"
->GtsTriangle</A
-> *t,
- <A
-HREF="gts-points.html#GTSPOINTCLASS"
->GtsPointClass</A
-> *point_class);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN8372"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->t</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-triangles.html#GTSTRIANGLE"
-><SPAN
-CLASS="TYPE"
->GtsTriangle</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN8379"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->point_class</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-points.html#GTSPOINTCLASS"
-><SPAN
-CLASS="TYPE"
->GtsPointClass</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN8386"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a new <A
-HREF="gts-points.html#GTSPOINT"
-><SPAN
-CLASS="TYPE"
->GtsPoint</SPAN
-></A
->, center of the circumscribing circle of <CODE
-CLASS="PARAMETER"
->t</CODE
-> or
-<TT
-CLASS="LITERAL"
->NULL</TT
-> if the circumscribing circle is not defined.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN8395"
-></A
-><H3
-><A
-NAME="GTS-TRIANGLE-IS-STABBED"
-></A
->gts_triangle_is_stabbed ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-object-class.html#GTSOBJECT"
->GtsObject</A
->* gts_triangle_is_stabbed (<A
-HREF="gts-triangles.html#GTSTRIANGLE"
->GtsTriangle</A
-> *t,
- <A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *p,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> *orientation);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN8408"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->t</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-triangles.html#GTSTRIANGLE"
-><SPAN
-CLASS="TYPE"
->GtsTriangle</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN8415"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->p</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-points.html#GTSPOINT"
-><SPAN
-CLASS="TYPE"
->GtsPoint</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN8422"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->orientation</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a pointer or <TT
-CLASS="LITERAL"
->NULL</TT
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN8428"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> one of the vertices of <CODE
-CLASS="PARAMETER"
->t</CODE
->, one of the edges of <CODE
-CLASS="PARAMETER"
->t</CODE
-> or <CODE
-CLASS="PARAMETER"
->t</CODE
-> if
-any of these are stabbed by the ray starting at <CODE
-CLASS="PARAMETER"
->p</CODE
-> (included) and
-ending at (<CODE
-CLASS="PARAMETER"
->p</CODE
->->x, <CODE
-CLASS="PARAMETER"
->p</CODE
->->y, +infty), <TT
-CLASS="LITERAL"
->NULL</TT
-> otherwise. If the ray is
-contained in the plane of the triangle <TT
-CLASS="LITERAL"
->NULL</TT
-> is also returned. If
-<CODE
-CLASS="PARAMETER"
->orientation</CODE
-> is not <TT
-CLASS="LITERAL"
->NULL</TT
->, it is set to the value of the
-orientation of <CODE
-CLASS="PARAMETER"
->p</CODE
-> relative to <CODE
-CLASS="PARAMETER"
->t</CODE
-> (as given by
-<A
-HREF="gts-points.html#GTS-POINT-ORIENTATION-3D"
-><CODE
-CLASS="FUNCTION"
->gts_point_orientation_3d()</CODE
-></A
->). </P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN8447"
-></A
-><H3
-><A
-NAME="GTS-TRIANGLES-ARE-FOLDED"
-></A
->gts_triangles_are_folded ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GBOOLEAN"
->gboolean</GTKDOCLINK
-> gts_triangles_are_folded (<GTKDOCLINK
-HREF="GSLIST"
->GSList</GTKDOCLINK
-> *triangles,
- <A
-HREF="gts-vertices.html#GTSVERTEX"
->GtsVertex</A
-> *A,
- <A
-HREF="gts-vertices.html#GTSVERTEX"
->GtsVertex</A
-> *B,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> max);</PRE
-><P
->Given a list of triangles sharing <CODE
-CLASS="PARAMETER"
->A</CODE
-> and <CODE
-CLASS="PARAMETER"
->B</CODE
-> as vertices, checks if any
-two triangles in the list make an angle larger than a given value defined
-by <CODE
-CLASS="PARAMETER"
->max</CODE
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN8464"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->triangles</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a list of <A
-HREF="gts-triangles.html#GTSTRIANGLE"
-><SPAN
-CLASS="TYPE"
->GtsTriangle</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN8471"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->A</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-vertices.html#GTSVERTEX"
-><SPAN
-CLASS="TYPE"
->GtsVertex</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN8478"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->B</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> another <A
-HREF="gts-vertices.html#GTSVERTEX"
-><SPAN
-CLASS="TYPE"
->GtsVertex</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN8485"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->max</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the maximum value of the square of the cosine of the angle between
-two triangles.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN8490"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> <TT
-CLASS="LITERAL"
->TRUE</TT
-> if any pair of triangles in <CODE
-CLASS="PARAMETER"
->triangles</CODE
-> makes an angle larger
-than the maximum value, <TT
-CLASS="LITERAL"
->FALSE</TT
-> otherwise.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN8498"
-></A
-><H3
-><A
-NAME="GTS-TRIANGLES-FROM-EDGES"
-></A
->gts_triangles_from_edges ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GSLIST"
->GSList</GTKDOCLINK
->* gts_triangles_from_edges (<GTKDOCLINK
-HREF="GSLIST"
->GSList</GTKDOCLINK
-> *edges);</PRE
-><P
->Builds a list of unique triangles which have one of their edges in <CODE
-CLASS="PARAMETER"
->edges</CODE
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN8510"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->edges</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a list of <A
-HREF="gts-edges.html#GTSEDGE"
-><SPAN
-CLASS="TYPE"
->GtsEdge</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN8517"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the list of triangles.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN8522"
-></A
-><H3
-><A
-NAME="GTS-TRIANGLE-INTERPOLATE-HEIGHT"
-></A
->gts_triangle_interpolate_height ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_triangle_interpolate_height (<A
-HREF="gts-triangles.html#GTSTRIANGLE"
->GtsTriangle</A
-> *t,
- <A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> *p);</PRE
-><P
->Fills the z-coordinate of point <CODE
-CLASS="PARAMETER"
->p</CODE
-> belonging to the plane
-projection of triangle <CODE
-CLASS="PARAMETER"
->t</CODE
-> with the linearly interpolated value of
-the z-coordinates of the vertices of <CODE
-CLASS="PARAMETER"
->t</CODE
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN8537"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->t</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-triangles.html#GTSTRIANGLE"
-><SPAN
-CLASS="TYPE"
->GtsTriangle</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN8544"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->p</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-points.html#GTSPOINT"
-><SPAN
-CLASS="TYPE"
->GtsPoint</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-></DIV
-><TABLE
-CLASS="navigation"
-WIDTH="100%"
-SUMMARY="Navigation footer"
-CELLPADDING="2"
-CELLSPACING="2"
-><TR
-VALIGN="middle"
-><TD
-ALIGN="left"
-><A
-ACCESSKEY="p"
-HREF="gts-edges.html"
-><B
-><<< Edges</B
-></A
-></TD
-><TD
-ALIGN="right"
-><A
-ACCESSKEY="n"
-HREF="gts-faces.html"
-><B
->Faces >>></B
-></A
-></TD
-></TR
-></TABLE
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/gts-vectors-and-matrices.html b/doc/html/gts-vectors-and-matrices.html
deleted file mode 100644
index ba32f98..0000000
--- a/doc/html/gts-vectors-and-matrices.html
+++ /dev/null
@@ -1,3819 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
-<HTML
-><HEAD
-><TITLE
->Vectors and matrices</TITLE
-><META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
-REL="HOME"
-TITLE="GTS Library Reference Manual"
-HREF="book1.html"><LINK
-REL="UP"
-TITLE="Basic Macros, functions and data structures"
-HREF="c4.html"><LINK
-REL="PREVIOUS"
-TITLE="First In First Out heaps"
-HREF="gts-first-in-first-out-heaps.html"><LINK
-REL="NEXT"
-TITLE="Simple statistics"
-HREF="gts-simple-statistics.html"><STYLE
-TYPE="text/css"
->.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</STYLE
-></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><TABLE
-WIDTH="100%"
-CLASS="navigation"
-SUMMARY="Navigation header"
-CELLPADDING="2"
-CELLSPACING="2"
-><TR
-VALIGN="middle"
-><TD
-><A
-ACCESSKEY="p"
-HREF="gts-first-in-first-out-heaps.html"
-><IMG
-SRC="left.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Prev"></A
-></TD
-><TD
-><A
-ACCESSKEY="u"
-HREF="c4.html"
-><IMG
-SRC="up.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Up"></A
-></TD
-><TD
-><A
-ACCESSKEY="h"
-HREF="book1.html"
-><IMG
-SRC="home.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Home"></A
-></TD
-><TH
-WIDTH="100%"
-align="center"
->GTS Library Reference Manual</TH
-><TD
-><A
-ACCESSKEY="n"
-HREF="gts-simple-statistics.html"
-><IMG
-SRC="right.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Next"></A
-></TD
-></TR
-></TABLE
-><H1
-><A
-NAME="GTS-VECTORS-AND-MATRICES"
-></A
->Vectors and matrices</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN1157"
-></A
-><H2
->Name</H2
->Vectors and matrices -- simple operations on vectors and matrices.</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN1160"
-></A
-><H2
->Synopsis</H2
-><PRE
-CLASS="SYNOPSIS"
->
#include <gts.h>
-
-
-
-#define <A
-HREF="gts-vectors-and-matrices.html#GTS-VECTOR-INIT"
->gts_vector_init</A
-> (v, p1, p2)
-#define <A
-HREF="gts-vectors-and-matrices.html#GTS-VECTOR-SCALAR"
->gts_vector_scalar</A
-> (v1, v2)
-#define <A
-HREF="gts-vectors-and-matrices.html#GTS-VECTOR-CROSS"
->gts_vector_cross</A
-> (C,A,B)
-#define <A
-HREF="gts-vectors-and-matrices.html#GTS-VECTOR-NORM"
->gts_vector_norm</A
-> (v)
-#define <A
-HREF="gts-vectors-and-matrices.html#GTS-VECTOR-NORMALIZE"
->gts_vector_normalize</A
-> (v)
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-vectors-and-matrices.html#GTS-VECTOR-PRINT"
->gts_vector_print</A
-> (<GTKDOCLINK
-HREF="GTSVECTOR"
->GtsVector</GTKDOCLINK
-> v,
- <GTKDOCLINK
-HREF="FILE:CAPS"
->FILE</GTKDOCLINK
-> *fptr);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-vectors-and-matrices.html#GTS-VECTOR4-PRINT"
->gts_vector4_print</A
-> (<GTKDOCLINK
-HREF="GTSVECTOR4"
->GtsVector4</GTKDOCLINK
-> v,
- <GTKDOCLINK
-HREF="FILE:CAPS"
->FILE</GTKDOCLINK
-> *fptr);
-
-typedef <A
-HREF="gts-vectors-and-matrices.html#GTSMATRIX"
->GtsMatrix</A
->;
-
-<A
-HREF="gts-vectors-and-matrices.html#GTSMATRIX"
->GtsMatrix</A
->* <A
-HREF="gts-vectors-and-matrices.html#GTS-MATRIX-NEW"
->gts_matrix_new</A
-> (<GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> a00,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> a01,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> a02,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> a03,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> a10,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> a11,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> a12,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> a13,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> a20,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> a21,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> a22,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> a23,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> a30,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> a31,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> a32,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> a33);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-vectors-and-matrices.html#GTS-MATRIX-ASSIGN"
->gts_matrix_assign</A
-> (<A
-HREF="gts-vectors-and-matrices.html#GTSMATRIX"
->GtsMatrix</A
-> *m,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> a00,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> a01,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> a02,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> a03,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> a10,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> a11,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> a12,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> a13,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> a20,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> a21,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> a22,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> a23,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> a30,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> a31,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> a32,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> a33);
-<A
-HREF="gts-vectors-and-matrices.html#GTSMATRIX"
->GtsMatrix</A
->* <A
-HREF="gts-vectors-and-matrices.html#GTS-MATRIX-ZERO"
->gts_matrix_zero</A
-> (<A
-HREF="gts-vectors-and-matrices.html#GTSMATRIX"
->GtsMatrix</A
-> *m);
-<A
-HREF="gts-vectors-and-matrices.html#GTSMATRIX"
->GtsMatrix</A
->* <A
-HREF="gts-vectors-and-matrices.html#GTS-MATRIX-IDENTITY"
->gts_matrix_identity</A
-> (<A
-HREF="gts-vectors-and-matrices.html#GTSMATRIX"
->GtsMatrix</A
-> *m);
-<A
-HREF="gts-vectors-and-matrices.html#GTSMATRIX"
->GtsMatrix</A
->* <A
-HREF="gts-vectors-and-matrices.html#GTS-MATRIX-PROJECTION"
->gts_matrix_projection</A
-> (<A
-HREF="gts-triangles.html#GTSTRIANGLE"
->GtsTriangle</A
-> *t);
-<A
-HREF="gts-vectors-and-matrices.html#GTSMATRIX"
->GtsMatrix</A
->* <A
-HREF="gts-vectors-and-matrices.html#GTS-MATRIX-SCALE"
->gts_matrix_scale</A
-> (<A
-HREF="gts-vectors-and-matrices.html#GTSMATRIX"
->GtsMatrix</A
-> *m,
- <GTKDOCLINK
-HREF="GTSVECTOR"
->GtsVector</GTKDOCLINK
-> s);
-<A
-HREF="gts-vectors-and-matrices.html#GTSMATRIX"
->GtsMatrix</A
->* <A
-HREF="gts-vectors-and-matrices.html#GTS-MATRIX-TRANSLATE"
->gts_matrix_translate</A
-> (<A
-HREF="gts-vectors-and-matrices.html#GTSMATRIX"
->GtsMatrix</A
-> *m,
- <GTKDOCLINK
-HREF="GTSVECTOR"
->GtsVector</GTKDOCLINK
-> t);
-<A
-HREF="gts-vectors-and-matrices.html#GTSMATRIX"
->GtsMatrix</A
->* <A
-HREF="gts-vectors-and-matrices.html#GTS-MATRIX-ROTATE"
->gts_matrix_rotate</A
-> (<A
-HREF="gts-vectors-and-matrices.html#GTSMATRIX"
->GtsMatrix</A
-> *m,
- <GTKDOCLINK
-HREF="GTSVECTOR"
->GtsVector</GTKDOCLINK
-> r,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> angle);
-<A
-HREF="gts-vectors-and-matrices.html#GTSMATRIX"
->GtsMatrix</A
->* <A
-HREF="gts-vectors-and-matrices.html#GTS-MATRIX-TRANSPOSE"
->gts_matrix_transpose</A
-> (<A
-HREF="gts-vectors-and-matrices.html#GTSMATRIX"
->GtsMatrix</A
-> *m);
-<GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> <A
-HREF="gts-vectors-and-matrices.html#GTS-MATRIX-DETERMINANT"
->gts_matrix_determinant</A
-> (<A
-HREF="gts-vectors-and-matrices.html#GTSMATRIX"
->GtsMatrix</A
-> *m);
-<A
-HREF="gts-vectors-and-matrices.html#GTSMATRIX"
->GtsMatrix</A
->* <A
-HREF="gts-vectors-and-matrices.html#GTS-MATRIX-INVERSE"
->gts_matrix_inverse</A
-> (<A
-HREF="gts-vectors-and-matrices.html#GTSMATRIX"
->GtsMatrix</A
-> *m);
-<A
-HREF="gts-vectors-and-matrices.html#GTSMATRIX"
->GtsMatrix</A
->* <A
-HREF="gts-vectors-and-matrices.html#GTS-MATRIX3-INVERSE"
->gts_matrix3_inverse</A
-> (<A
-HREF="gts-vectors-and-matrices.html#GTSMATRIX"
->GtsMatrix</A
-> *m);
-<A
-HREF="gts-vectors-and-matrices.html#GTSMATRIX"
->GtsMatrix</A
->* <A
-HREF="gts-vectors-and-matrices.html#GTS-MATRIX-PRODUCT"
->gts_matrix_product</A
-> (<A
-HREF="gts-vectors-and-matrices.html#GTSMATRIX"
->GtsMatrix</A
-> *m1,
- <A
-HREF="gts-vectors-and-matrices.html#GTSMATRIX"
->GtsMatrix</A
-> *m2);
-<GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> <A
-HREF="gts-vectors-and-matrices.html#GTS-MATRIX-COMPATIBLE-ROW"
->gts_matrix_compatible_row</A
-> (<A
-HREF="gts-vectors-and-matrices.html#GTSMATRIX"
->GtsMatrix</A
-> *A,
- <GTKDOCLINK
-HREF="GTSVECTOR"
->GtsVector</GTKDOCLINK
-> b,
- <GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> n,
- <GTKDOCLINK
-HREF="GTSVECTOR"
->GtsVector</GTKDOCLINK
-> A1,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> b1);
-<GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> <A
-HREF="gts-vectors-and-matrices.html#GTS-MATRIX-QUADRATIC-OPTIMIZATION"
->gts_matrix_quadratic_optimization</A
->
- (<A
-HREF="gts-vectors-and-matrices.html#GTSMATRIX"
->GtsMatrix</A
-> *A,
- <GTKDOCLINK
-HREF="GTSVECTOR"
->GtsVector</GTKDOCLINK
-> b,
- <GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> n,
- <A
-HREF="gts-vectors-and-matrices.html#GTSMATRIX"
->GtsMatrix</A
-> *H,
- <GTKDOCLINK
-HREF="GTSVECTOR"
->GtsVector</GTKDOCLINK
-> c);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-vectors-and-matrices.html#GTS-MATRIX-PRINT"
->gts_matrix_print</A
-> (<A
-HREF="gts-vectors-and-matrices.html#GTSMATRIX"
->GtsMatrix</A
-> *m,
- <GTKDOCLINK
-HREF="FILE:CAPS"
->FILE</GTKDOCLINK
-> *fptr);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-vectors-and-matrices.html#GTS-MATRIX-DESTROY"
->gts_matrix_destroy</A
-> (<A
-HREF="gts-vectors-and-matrices.html#GTSMATRIX"
->GtsMatrix</A
-> *m);</PRE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN1273"
-></A
-><H2
->Description</H2
-><P
->The functions described in this section allow to perform simple transformations on point coordinates. In particular projection onto a plane passing through the vertices of a given triangle or quadratic optimization problems.</P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN1276"
-></A
-><H2
->Details</H2
-><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN1278"
-></A
-><H3
-><A
-NAME="GTS-VECTOR-INIT"
-></A
->gts_vector_init()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define gts_vector_init(v, p1, p2)</PRE
-><P
->Given two points <CODE
-CLASS="PARAMETER"
->p1</CODE
-> and <CODE
-CLASS="PARAMETER"
->p2</CODE
->, fills <CODE
-CLASS="PARAMETER"
->v</CODE
-> with the coordinates of vector <CODE
-CLASS="PARAMETER"
->p1</CODE
->-><CODE
-CLASS="PARAMETER"
->p2</CODE
->.</P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN1291"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->v</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->a <GTKDOCLINK
-HREF="GTSVECTOR"
-><SPAN
-CLASS="TYPE"
->GtsVector</SPAN
-></GTKDOCLINK
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN1298"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->p1</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->a <A
-HREF="gts-points.html#GTSPOINT"
-><SPAN
-CLASS="TYPE"
->GtsPoint</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN1305"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->p2</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->another <A
-HREF="gts-points.html#GTSPOINT"
-><SPAN
-CLASS="TYPE"
->GtsPoint</SPAN
-></A
->.
-
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN1312"
-></A
-><H3
-><A
-NAME="GTS-VECTOR-SCALAR"
-></A
->gts_vector_scalar()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define gts_vector_scalar(v1, v2)</PRE
-><P
->Given two vectors <CODE
-CLASS="PARAMETER"
->v1</CODE
-> and <CODE
-CLASS="PARAMETER"
->v2</CODE
-> evaluates to the scalar product <CODE
-CLASS="PARAMETER"
->v1</CODE
->.<CODE
-CLASS="PARAMETER"
->v2</CODE
->.</P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN1324"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->v1</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->a <GTKDOCLINK
-HREF="GTSVECTOR"
-><SPAN
-CLASS="TYPE"
->GtsVector</SPAN
-></GTKDOCLINK
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN1331"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->v2</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->another <GTKDOCLINK
-HREF="GTSVECTOR"
-><SPAN
-CLASS="TYPE"
->GtsVector</SPAN
-></GTKDOCLINK
->.
-
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN1338"
-></A
-><H3
-><A
-NAME="GTS-VECTOR-CROSS"
-></A
->gts_vector_cross()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define gts_vector_cross(C,A,B)</PRE
-><P
->Given two vectors <CODE
-CLASS="PARAMETER"
->A</CODE
-> and <CODE
-CLASS="PARAMETER"
->B</CODE
-> fills <CODE
-CLASS="PARAMETER"
->C</CODE
-> with the coordinates of the cross-product <CODE
-CLASS="PARAMETER"
->A</CODE
->^<CODE
-CLASS="PARAMETER"
->B</CODE
->.</P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN1351"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->C</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->a <GTKDOCLINK
-HREF="GTSVECTOR"
-><SPAN
-CLASS="TYPE"
->GtsVector</SPAN
-></GTKDOCLINK
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN1358"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->A</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->another <GTKDOCLINK
-HREF="GTSVECTOR"
-><SPAN
-CLASS="TYPE"
->GtsVector</SPAN
-></GTKDOCLINK
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN1365"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->B</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->and another.
-
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN1370"
-></A
-><H3
-><A
-NAME="GTS-VECTOR-NORM"
-></A
->gts_vector_norm()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define gts_vector_norm(v)</PRE
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN1378"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->v</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN1383"
-></A
-><H3
-><A
-NAME="GTS-VECTOR-NORMALIZE"
-></A
->gts_vector_normalize()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define gts_vector_normalize(v)</PRE
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN1391"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->v</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN1396"
-></A
-><H3
-><A
-NAME="GTS-VECTOR-PRINT"
-></A
->gts_vector_print ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_vector_print (<GTKDOCLINK
-HREF="GTSVECTOR"
->GtsVector</GTKDOCLINK
-> v,
- <GTKDOCLINK
-HREF="FILE:CAPS"
->FILE</GTKDOCLINK
-> *fptr);</PRE
-><P
->Print <CODE
-CLASS="PARAMETER"
->s</CODE
-> to file <CODE
-CLASS="PARAMETER"
->fptr</CODE
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN1410"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->v</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <GTKDOCLINK
-HREF="GTSVECTOR"
-><SPAN
-CLASS="TYPE"
->GtsVector</SPAN
-></GTKDOCLINK
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN1417"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->fptr</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a file descriptor.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN1422"
-></A
-><H3
-><A
-NAME="GTS-VECTOR4-PRINT"
-></A
->gts_vector4_print ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_vector4_print (<GTKDOCLINK
-HREF="GTSVECTOR4"
->GtsVector4</GTKDOCLINK
-> v,
- <GTKDOCLINK
-HREF="FILE:CAPS"
->FILE</GTKDOCLINK
-> *fptr);</PRE
-><P
->Print <CODE
-CLASS="PARAMETER"
->v</CODE
-> to file <CODE
-CLASS="PARAMETER"
->fptr</CODE
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN1436"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->v</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <GTKDOCLINK
-HREF="GTSVECTOR4"
-><SPAN
-CLASS="TYPE"
->GtsVector4</SPAN
-></GTKDOCLINK
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN1443"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->fptr</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a file descriptor.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN1448"
-></A
-><H3
-><A
-NAME="GTSMATRIX"
-></A
->GtsMatrix</H3
-><PRE
-CLASS="PROGRAMLISTING"
->typedef GtsVector4 GtsMatrix;</PRE
-><P
->A <A
-HREF="gts-vectors-and-matrices.html#GTSMATRIX"
-><SPAN
-CLASS="TYPE"
->GtsMatrix</SPAN
-></A
-> is a 3x3 matrix.</P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN1457"
-></A
-><H3
-><A
-NAME="GTS-MATRIX-NEW"
-></A
->gts_matrix_new ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-vectors-and-matrices.html#GTSMATRIX"
->GtsMatrix</A
->* gts_matrix_new (<GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> a00,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> a01,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> a02,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> a03,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> a10,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> a11,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> a12,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> a13,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> a20,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> a21,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> a22,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> a23,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> a30,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> a31,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> a32,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> a33);</PRE
-><P
->Allocates memory and initializes a new <A
-HREF="gts-vectors-and-matrices.html#GTSMATRIX"
-><SPAN
-CLASS="TYPE"
->GtsMatrix</SPAN
-></A
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN1485"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->a00</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> element [0][0].</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN1490"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->a01</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> element [0][1].</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN1495"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->a02</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> element [0][2].</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN1500"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->a03</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> element [0][3].</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN1505"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->a10</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> element [1][0].</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN1510"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->a11</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> element [1][1].</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN1515"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->a12</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> element [1][2].</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN1520"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->a13</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> element [1][3].</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN1525"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->a20</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> element [2][0].</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN1530"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->a21</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> element [2][1].</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN1535"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->a22</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> element [2][2].</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN1540"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->a23</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> element [2][3].</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN1545"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->a30</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> element [3][0].</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN1550"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->a31</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> element [3][1].</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN1555"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->a32</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> element [3][2].</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN1560"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->a33</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> element [3][3].</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN1565"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a pointer to the newly created <A
-HREF="gts-vectors-and-matrices.html#GTSMATRIX"
-><SPAN
-CLASS="TYPE"
->GtsMatrix</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN1572"
-></A
-><H3
-><A
-NAME="GTS-MATRIX-ASSIGN"
-></A
->gts_matrix_assign ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_matrix_assign (<A
-HREF="gts-vectors-and-matrices.html#GTSMATRIX"
->GtsMatrix</A
-> *m,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> a00,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> a01,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> a02,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> a03,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> a10,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> a11,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> a12,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> a13,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> a20,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> a21,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> a22,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> a23,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> a30,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> a31,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> a32,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> a33);</PRE
-><P
->Set values of matrix elements.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN1599"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->m</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-vectors-and-matrices.html#GTSMATRIX"
-><SPAN
-CLASS="TYPE"
->GtsMatrix</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN1606"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->a00</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> element [0][0].</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN1611"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->a01</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> element [0][1].</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN1616"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->a02</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> element [0][2].</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN1621"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->a03</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> element [0][3].</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN1626"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->a10</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> element [1][0].</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN1631"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->a11</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> element [1][1].</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN1636"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->a12</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> element [1][2].</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN1641"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->a13</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> element [1][3].</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN1646"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->a20</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> element [2][0].</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN1651"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->a21</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> element [2][1].</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN1656"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->a22</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> element [2][2].</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN1661"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->a23</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> element [2][3].</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN1666"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->a30</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> element [3][0].</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN1671"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->a31</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> element [3][1].</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN1676"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->a32</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> element [3][2].</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN1681"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->a33</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> element [3][3].</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN1686"
-></A
-><H3
-><A
-NAME="GTS-MATRIX-ZERO"
-></A
->gts_matrix_zero ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-vectors-and-matrices.html#GTSMATRIX"
->GtsMatrix</A
->* gts_matrix_zero (<A
-HREF="gts-vectors-and-matrices.html#GTSMATRIX"
->GtsMatrix</A
-> *m);</PRE
-><P
->Initializes <CODE
-CLASS="PARAMETER"
->m</CODE
-> to zeros. Allocates a matrix if <CODE
-CLASS="PARAMETER"
->m</CODE
-> is <TT
-CLASS="LITERAL"
->NULL</TT
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN1700"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->m</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-vectors-and-matrices.html#GTSMATRIX"
-><SPAN
-CLASS="TYPE"
->GtsMatrix</SPAN
-></A
-> or $NULL.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN1707"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the zero'ed matrix.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN1712"
-></A
-><H3
-><A
-NAME="GTS-MATRIX-IDENTITY"
-></A
->gts_matrix_identity ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-vectors-and-matrices.html#GTSMATRIX"
->GtsMatrix</A
->* gts_matrix_identity (<A
-HREF="gts-vectors-and-matrices.html#GTSMATRIX"
->GtsMatrix</A
-> *m);</PRE
-><P
->Initializes <CODE
-CLASS="PARAMETER"
->m</CODE
-> to an identity matrix. Allocates a matrix if <CODE
-CLASS="PARAMETER"
->m</CODE
-> is <TT
-CLASS="LITERAL"
->NULL</TT
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN1726"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->m</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-vectors-and-matrices.html#GTSMATRIX"
-><SPAN
-CLASS="TYPE"
->GtsMatrix</SPAN
-></A
-> or <TT
-CLASS="LITERAL"
->NULL</TT
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN1734"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the identity matrix.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN1739"
-></A
-><H3
-><A
-NAME="GTS-MATRIX-PROJECTION"
-></A
->gts_matrix_projection ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-vectors-and-matrices.html#GTSMATRIX"
->GtsMatrix</A
->* gts_matrix_projection (<A
-HREF="gts-triangles.html#GTSTRIANGLE"
->GtsTriangle</A
-> *t);</PRE
-><P
->Creates a new <A
-HREF="gts-vectors-and-matrices.html#GTSMATRIX"
-><SPAN
-CLASS="TYPE"
->GtsMatrix</SPAN
-></A
-> representing the projection onto a plane of normal
-given by <CODE
-CLASS="PARAMETER"
->t</CODE
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN1753"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->t</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-triangles.html#GTSTRIANGLE"
-><SPAN
-CLASS="TYPE"
->GtsTriangle</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN1760"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a pointer to the newly created <A
-HREF="gts-vectors-and-matrices.html#GTSMATRIX"
-><SPAN
-CLASS="TYPE"
->GtsMatrix</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN1767"
-></A
-><H3
-><A
-NAME="GTS-MATRIX-SCALE"
-></A
->gts_matrix_scale ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-vectors-and-matrices.html#GTSMATRIX"
->GtsMatrix</A
->* gts_matrix_scale (<A
-HREF="gts-vectors-and-matrices.html#GTSMATRIX"
->GtsMatrix</A
-> *m,
- <GTKDOCLINK
-HREF="GTSVECTOR"
->GtsVector</GTKDOCLINK
-> s);</PRE
-><P
->Initializes <CODE
-CLASS="PARAMETER"
->m</CODE
-> to a scaling matrix for <CODE
-CLASS="PARAMETER"
->s</CODE
->. Allocates a matrix if <CODE
-CLASS="PARAMETER"
->m</CODE
->
-is <TT
-CLASS="LITERAL"
->NULL</TT
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN1783"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->m</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-vectors-and-matrices.html#GTSMATRIX"
-><SPAN
-CLASS="TYPE"
->GtsMatrix</SPAN
-></A
-> or <TT
-CLASS="LITERAL"
->NULL</TT
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN1791"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->s</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the scaling vector.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN1796"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the scaling matrix.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN1801"
-></A
-><H3
-><A
-NAME="GTS-MATRIX-TRANSLATE"
-></A
->gts_matrix_translate ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-vectors-and-matrices.html#GTSMATRIX"
->GtsMatrix</A
->* gts_matrix_translate (<A
-HREF="gts-vectors-and-matrices.html#GTSMATRIX"
->GtsMatrix</A
-> *m,
- <GTKDOCLINK
-HREF="GTSVECTOR"
->GtsVector</GTKDOCLINK
-> t);</PRE
-><P
->Initializes <CODE
-CLASS="PARAMETER"
->m</CODE
-> to a translation matrix for <CODE
-CLASS="PARAMETER"
->t</CODE
->. Allocates a new
-matrix if <CODE
-CLASS="PARAMETER"
->m</CODE
-> is <TT
-CLASS="LITERAL"
->NULL</TT
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN1817"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->m</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-vectors-and-matrices.html#GTSMATRIX"
-><SPAN
-CLASS="TYPE"
->GtsMatrix</SPAN
-></A
-> or <TT
-CLASS="LITERAL"
->NULL</TT
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN1825"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->t</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the translation vector.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN1830"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the translation matix.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN1835"
-></A
-><H3
-><A
-NAME="GTS-MATRIX-ROTATE"
-></A
->gts_matrix_rotate ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-vectors-and-matrices.html#GTSMATRIX"
->GtsMatrix</A
->* gts_matrix_rotate (<A
-HREF="gts-vectors-and-matrices.html#GTSMATRIX"
->GtsMatrix</A
-> *m,
- <GTKDOCLINK
-HREF="GTSVECTOR"
->GtsVector</GTKDOCLINK
-> r,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> angle);</PRE
-><P
->Initializes <CODE
-CLASS="PARAMETER"
->m</CODE
-> to a rotation matrix around <CODE
-CLASS="PARAMETER"
->r</CODE
-> by <CODE
-CLASS="PARAMETER"
->angle</CODE
->.
-Allocates a new matrix if <CODE
-CLASS="PARAMETER"
->m</CODE
-> is <TT
-CLASS="LITERAL"
->NULL</TT
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN1853"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->m</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-vectors-and-matrices.html#GTSMATRIX"
-><SPAN
-CLASS="TYPE"
->GtsMatrix</SPAN
-></A
-> or <TT
-CLASS="LITERAL"
->NULL</TT
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN1861"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->r</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the rotation axis.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN1866"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->angle</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the angle (in radians) to rotate by.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN1871"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the rotation matrix.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN1876"
-></A
-><H3
-><A
-NAME="GTS-MATRIX-TRANSPOSE"
-></A
->gts_matrix_transpose ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-vectors-and-matrices.html#GTSMATRIX"
->GtsMatrix</A
->* gts_matrix_transpose (<A
-HREF="gts-vectors-and-matrices.html#GTSMATRIX"
->GtsMatrix</A
-> *m);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN1887"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->m</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-vectors-and-matrices.html#GTSMATRIX"
-><SPAN
-CLASS="TYPE"
->GtsMatrix</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN1894"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a pointer to a newly created <A
-HREF="gts-vectors-and-matrices.html#GTSMATRIX"
-><SPAN
-CLASS="TYPE"
->GtsMatrix</SPAN
-></A
-> transposed of <CODE
-CLASS="PARAMETER"
->m</CODE
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN1902"
-></A
-><H3
-><A
-NAME="GTS-MATRIX-DETERMINANT"
-></A
->gts_matrix_determinant ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> gts_matrix_determinant (<A
-HREF="gts-vectors-and-matrices.html#GTSMATRIX"
->GtsMatrix</A
-> *m);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN1913"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->m</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-vectors-and-matrices.html#GTSMATRIX"
-><SPAN
-CLASS="TYPE"
->GtsMatrix</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN1920"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the value of det(<CODE
-CLASS="PARAMETER"
->m</CODE
->).</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN1926"
-></A
-><H3
-><A
-NAME="GTS-MATRIX-INVERSE"
-></A
->gts_matrix_inverse ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-vectors-and-matrices.html#GTSMATRIX"
->GtsMatrix</A
->* gts_matrix_inverse (<A
-HREF="gts-vectors-and-matrices.html#GTSMATRIX"
->GtsMatrix</A
-> *m);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN1937"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->m</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-vectors-and-matrices.html#GTSMATRIX"
-><SPAN
-CLASS="TYPE"
->GtsMatrix</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN1944"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a pointer to a newly created <A
-HREF="gts-vectors-and-matrices.html#GTSMATRIX"
-><SPAN
-CLASS="TYPE"
->GtsMatrix</SPAN
-></A
-> inverse of <CODE
-CLASS="PARAMETER"
->m</CODE
-> or <TT
-CLASS="LITERAL"
->NULL</TT
->
-if <CODE
-CLASS="PARAMETER"
->m</CODE
-> is not invertible.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN1954"
-></A
-><H3
-><A
-NAME="GTS-MATRIX3-INVERSE"
-></A
->gts_matrix3_inverse ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-vectors-and-matrices.html#GTSMATRIX"
->GtsMatrix</A
->* gts_matrix3_inverse (<A
-HREF="gts-vectors-and-matrices.html#GTSMATRIX"
->GtsMatrix</A
-> *m);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN1965"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->m</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a 3x3 <A
-HREF="gts-vectors-and-matrices.html#GTSMATRIX"
-><SPAN
-CLASS="TYPE"
->GtsMatrix</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN1972"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a pointer to a newly created 3x3 <A
-HREF="gts-vectors-and-matrices.html#GTSMATRIX"
-><SPAN
-CLASS="TYPE"
->GtsMatrix</SPAN
-></A
-> inverse of <CODE
-CLASS="PARAMETER"
->m</CODE
-> or <TT
-CLASS="LITERAL"
->NULL</TT
->
-if <CODE
-CLASS="PARAMETER"
->m</CODE
-> is not invertible.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN1982"
-></A
-><H3
-><A
-NAME="GTS-MATRIX-PRODUCT"
-></A
->gts_matrix_product ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-vectors-and-matrices.html#GTSMATRIX"
->GtsMatrix</A
->* gts_matrix_product (<A
-HREF="gts-vectors-and-matrices.html#GTSMATRIX"
->GtsMatrix</A
-> *m1,
- <A
-HREF="gts-vectors-and-matrices.html#GTSMATRIX"
->GtsMatrix</A
-> *m2);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN1994"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->m1</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-vectors-and-matrices.html#GTSMATRIX"
-><SPAN
-CLASS="TYPE"
->GtsMatrix</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN2001"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->m2</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> another <A
-HREF="gts-vectors-and-matrices.html#GTSMATRIX"
-><SPAN
-CLASS="TYPE"
->GtsMatrix</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN2008"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a new <A
-HREF="gts-vectors-and-matrices.html#GTSMATRIX"
-><SPAN
-CLASS="TYPE"
->GtsMatrix</SPAN
-></A
->, product of <CODE
-CLASS="PARAMETER"
->m1</CODE
-> and <CODE
-CLASS="PARAMETER"
->m2</CODE
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN2017"
-></A
-><H3
-><A
-NAME="GTS-MATRIX-COMPATIBLE-ROW"
-></A
->gts_matrix_compatible_row ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> gts_matrix_compatible_row (<A
-HREF="gts-vectors-and-matrices.html#GTSMATRIX"
->GtsMatrix</A
-> *A,
- <GTKDOCLINK
-HREF="GTSVECTOR"
->GtsVector</GTKDOCLINK
-> b,
- <GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> n,
- <GTKDOCLINK
-HREF="GTSVECTOR"
->GtsVector</GTKDOCLINK
-> A1,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> b1);</PRE
-><P
->Given a system of <CODE
-CLASS="PARAMETER"
->n</CODE
-> constraints <CODE
-CLASS="PARAMETER"
->A.x</CODE
->=<CODE
-CLASS="PARAMETER"
->b</CODE
-> adds to it the compatible
-constraints defined by <CODE
-CLASS="PARAMETER"
->A1.x</CODE
->=<CODE
-CLASS="PARAMETER"
->b1</CODE
->. The compatibility is determined
-by insuring that the resulting system is well-conditioned (see
-Lindstrom and Turk (1998, 1999)).</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN2037"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->A</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-vectors-and-matrices.html#GTSMATRIX"
-><SPAN
-CLASS="TYPE"
->GtsMatrix</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN2044"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->b</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <GTKDOCLINK
-HREF="GTSVECTOR"
-><SPAN
-CLASS="TYPE"
->GtsVector</SPAN
-></GTKDOCLINK
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN2051"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->n</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the number of previous constraints of <CODE
-CLASS="PARAMETER"
->A.x</CODE
->=<CODE
-CLASS="PARAMETER"
->b</CODE
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN2058"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->A1</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-vectors-and-matrices.html#GTSMATRIX"
-><SPAN
-CLASS="TYPE"
->GtsMatrix</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN2065"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->b1</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <GTKDOCLINK
-HREF="GTSVECTOR"
-><SPAN
-CLASS="TYPE"
->GtsVector</SPAN
-></GTKDOCLINK
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN2072"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the number of constraints of the resulting system. </P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN2077"
-></A
-><H3
-><A
-NAME="GTS-MATRIX-QUADRATIC-OPTIMIZATION"
-></A
->gts_matrix_quadratic_optimization ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> gts_matrix_quadratic_optimization
- (<A
-HREF="gts-vectors-and-matrices.html#GTSMATRIX"
->GtsMatrix</A
-> *A,
- <GTKDOCLINK
-HREF="GTSVECTOR"
->GtsVector</GTKDOCLINK
-> b,
- <GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> n,
- <A
-HREF="gts-vectors-and-matrices.html#GTSMATRIX"
->GtsMatrix</A
-> *H,
- <GTKDOCLINK
-HREF="GTSVECTOR"
->GtsVector</GTKDOCLINK
-> c);</PRE
-><P
->Solve a quadratic optimization problem: Given a quadratic objective function
-f which can be written as: f(x) = x^t.<CODE
-CLASS="PARAMETER"
->H.x</CODE
-> + <CODE
-CLASS="PARAMETER"
->c</CODE
->^t.x + k, where <CODE
-CLASS="PARAMETER"
->H</CODE
-> is the
-symmetric positive definite Hessian of f and k is a constant, find the
-minimum of f subject to the set of <CODE
-CLASS="PARAMETER"
->n</CODE
-> prior linear constraints, defined by
-the first <CODE
-CLASS="PARAMETER"
->n</CODE
-> rows of <CODE
-CLASS="PARAMETER"
->A</CODE
-> and <CODE
-CLASS="PARAMETER"
->b</CODE
-> (<CODE
-CLASS="PARAMETER"
->A.x</CODE
-> = <CODE
-CLASS="PARAMETER"
->b</CODE
->). The new constraints given by
-the minimization are added to <CODE
-CLASS="PARAMETER"
->A</CODE
-> and <CODE
-CLASS="PARAMETER"
->b</CODE
-> only if they are linearly
-independent as determined by <A
-HREF="gts-vectors-and-matrices.html#GTS-MATRIX-COMPATIBLE-ROW"
-><CODE
-CLASS="FUNCTION"
->gts_matrix_compatible_row()</CODE
-></A
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN2105"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->A</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-vectors-and-matrices.html#GTSMATRIX"
-><SPAN
-CLASS="TYPE"
->GtsMatrix</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN2112"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->b</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <GTKDOCLINK
-HREF="GTSVECTOR"
-><SPAN
-CLASS="TYPE"
->GtsVector</SPAN
-></GTKDOCLINK
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN2119"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->n</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the number of constraints (must be smaller than 3).</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN2124"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->H</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a symmetric positive definite Hessian.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN2129"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->c</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <GTKDOCLINK
-HREF="GTSVECTOR"
-><SPAN
-CLASS="TYPE"
->GtsVector</SPAN
-></GTKDOCLINK
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN2136"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the new number of constraints defined by <CODE
-CLASS="PARAMETER"
->A</CODE
-> and <CODE
-CLASS="PARAMETER"
->b</CODE
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN2143"
-></A
-><H3
-><A
-NAME="GTS-MATRIX-PRINT"
-></A
->gts_matrix_print ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_matrix_print (<A
-HREF="gts-vectors-and-matrices.html#GTSMATRIX"
->GtsMatrix</A
-> *m,
- <GTKDOCLINK
-HREF="FILE:CAPS"
->FILE</GTKDOCLINK
-> *fptr);</PRE
-><P
->Print <CODE
-CLASS="PARAMETER"
->m</CODE
-> to file <CODE
-CLASS="PARAMETER"
->fptr</CODE
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN2157"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->m</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-vectors-and-matrices.html#GTSMATRIX"
-><SPAN
-CLASS="TYPE"
->GtsMatrix</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN2164"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->fptr</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a file descriptor.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN2169"
-></A
-><H3
-><A
-NAME="GTS-MATRIX-DESTROY"
-></A
->gts_matrix_destroy ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_matrix_destroy (<A
-HREF="gts-vectors-and-matrices.html#GTSMATRIX"
->GtsMatrix</A
-> *m);</PRE
-><P
->Free all the memory allocated for <CODE
-CLASS="PARAMETER"
->m</CODE
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN2181"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->m</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-vectors-and-matrices.html#GTSMATRIX"
-><SPAN
-CLASS="TYPE"
->GtsMatrix</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-></DIV
-><TABLE
-CLASS="navigation"
-WIDTH="100%"
-SUMMARY="Navigation footer"
-CELLPADDING="2"
-CELLSPACING="2"
-><TR
-VALIGN="middle"
-><TD
-ALIGN="left"
-><A
-ACCESSKEY="p"
-HREF="gts-first-in-first-out-heaps.html"
-><B
-><<< First In First Out heaps</B
-></A
-></TD
-><TD
-ALIGN="right"
-><A
-ACCESSKEY="n"
-HREF="gts-simple-statistics.html"
-><B
->Simple statistics >>></B
-></A
-></TD
-></TR
-></TABLE
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/gts-vertex-split.html b/doc/html/gts-vertex-split.html
deleted file mode 100644
index b694aef..0000000
--- a/doc/html/gts-vertex-split.html
+++ /dev/null
@@ -1,1822 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
-<HTML
-><HEAD
-><TITLE
->Vertex split</TITLE
-><META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
-REL="HOME"
-TITLE="GTS Library Reference Manual"
-HREF="book1.html"><LINK
-REL="UP"
-TITLE="Progressive and Hierarchical surfaces"
-HREF="c15264.html"><LINK
-REL="PREVIOUS"
-TITLE="Progressive and Hierarchical surfaces"
-HREF="c15264.html"><LINK
-REL="NEXT"
-TITLE="Progressive surfaces"
-HREF="gts-progressive-surfaces.html"><STYLE
-TYPE="text/css"
->.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</STYLE
-></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><TABLE
-WIDTH="100%"
-CLASS="navigation"
-SUMMARY="Navigation header"
-CELLPADDING="2"
-CELLSPACING="2"
-><TR
-VALIGN="middle"
-><TD
-><A
-ACCESSKEY="p"
-HREF="c15264.html"
-><IMG
-SRC="left.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Prev"></A
-></TD
-><TD
-><A
-ACCESSKEY="u"
-HREF="c15264.html"
-><IMG
-SRC="up.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Up"></A
-></TD
-><TD
-><A
-ACCESSKEY="h"
-HREF="book1.html"
-><IMG
-SRC="home.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Home"></A
-></TD
-><TH
-WIDTH="100%"
-align="center"
->GTS Library Reference Manual</TH
-><TD
-><A
-ACCESSKEY="n"
-HREF="gts-progressive-surfaces.html"
-><IMG
-SRC="right.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Next"></A
-></TD
-></TR
-></TABLE
-><H1
-><A
-NAME="GTS-VERTEX-SPLIT"
-></A
->Vertex split</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN15271"
-></A
-><H2
->Name</H2
->Vertex split -- object encoding a reversible edge-collapse operation.</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN15274"
-></A
-><H2
->Synopsis</H2
-><PRE
-CLASS="SYNOPSIS"
->
#include <gts.h>
-
-
-#define <A
-HREF="gts-vertex-split.html#GTS-SPLIT-CLASS:CAPS"
->GTS_SPLIT_CLASS</A
-> (klass)
-#define <A
-HREF="gts-vertex-split.html#GTS-SPLIT:CAPS"
->GTS_SPLIT</A
-> (obj)
-#define <A
-HREF="gts-vertex-split.html#GTS-IS-SPLIT:CAPS"
->GTS_IS_SPLIT</A
-> (obj)
-#define <A
-HREF="gts-vertex-split.html#GTS-SPLIT-V1:CAPS"
->GTS_SPLIT_V1</A
-> (vs)
-#define <A
-HREF="gts-vertex-split.html#GTS-SPLIT-V2:CAPS"
->GTS_SPLIT_V2</A
-> (vs)
- <A
-HREF="gts-vertex-split.html#GTSSPLITCLASS"
->GtsSplitClass</A
->;
- <A
-HREF="gts-vertex-split.html#GTSSPLITCFACE"
->GtsSplitCFace</A
->;
- <A
-HREF="gts-vertex-split.html#GTSSPLIT"
->GtsSplit</A
->;
-
-<A
-HREF="gts-vertex-split.html#GTSSPLITCLASS"
->GtsSplitClass</A
->* <A
-HREF="gts-vertex-split.html#GTS-SPLIT-CLASS"
->gts_split_class</A
-> (void);
-<A
-HREF="gts-vertex-split.html#GTSSPLIT"
->GtsSplit</A
->* <A
-HREF="gts-vertex-split.html#GTS-SPLIT-NEW"
->gts_split_new</A
-> (<A
-HREF="gts-vertex-split.html#GTSSPLITCLASS"
->GtsSplitClass</A
-> *klass,
- <A
-HREF="gts-vertices.html#GTSVERTEX"
->GtsVertex</A
-> *v,
- <A
-HREF="gts-object-class.html#GTSOBJECT"
->GtsObject</A
-> *o1,
- <A
-HREF="gts-object-class.html#GTSOBJECT"
->GtsObject</A
-> *o2);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-vertex-split.html#GTS-SPLIT-COLLAPSE"
->gts_split_collapse</A
-> (<A
-HREF="gts-vertex-split.html#GTSSPLIT"
->GtsSplit</A
-> *vs,
- <A
-HREF="gts-edges.html#GTSEDGECLASS"
->GtsEdgeClass</A
-> *klass,
- <A
-HREF="gts-extended-binary-heaps.html#GTSEHEAP"
->GtsEHeap</A
-> *heap);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-vertex-split.html#GTS-SPLIT-EXPAND"
->gts_split_expand</A
-> (<A
-HREF="gts-vertex-split.html#GTSSPLIT"
->GtsSplit</A
-> *vs,
- <A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s,
- <A
-HREF="gts-edges.html#GTSEDGECLASS"
->GtsEdgeClass</A
-> *klass);
-<GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> <A
-HREF="gts-vertex-split.html#GTS-SPLIT-HEIGHT"
->gts_split_height</A
-> (<A
-HREF="gts-vertex-split.html#GTSSPLIT"
->GtsSplit</A
-> *root);
-<GTKDOCLINK
-HREF="GBOOLEAN"
->gboolean</GTKDOCLINK
-> (<A
-HREF="gts-vertex-split.html#GTSSPLITTRAVERSEFUNC"
->*GtsSplitTraverseFunc</A
->) (<A
-HREF="gts-vertex-split.html#GTSSPLIT"
->GtsSplit</A
-> *vs,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> data);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-vertex-split.html#GTS-SPLIT-TRAVERSE"
->gts_split_traverse</A
-> (<A
-HREF="gts-vertex-split.html#GTSSPLIT"
->GtsSplit</A
-> *root,
- <GTKDOCLINK
-HREF="GTRAVERSETYPE"
->GTraverseType</GTKDOCLINK
-> order,
- <GTKDOCLINK
-HREF="GINT"
->gint</GTKDOCLINK
-> depth,
- <A
-HREF="gts-vertex-split.html#GTSSPLITTRAVERSEFUNC"
->GtsSplitTraverseFunc</A
-> func,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> data);</PRE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN15317"
-></A
-><H2
->Description</H2
-><P
->The vertex split object is the building block of the progressive mesh representation proposed by Hoppe ("Progressive meshes", SIGGRAPH, 1996). It encodes an edge collapse operation and its inverse the "vertex split". The implementation of vertex split in GTS is somewhat more general than the original version of Hoppe. Non-manifold edges can be collapsed and non-manifold vertices can be split.</P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN15320"
-></A
-><H2
->Details</H2
-><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN15322"
-></A
-><H3
-><A
-NAME="GTS-SPLIT-CLASS:CAPS"
-></A
->GTS_SPLIT_CLASS()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_SPLIT_CLASS(klass)</PRE
-><P
->Casts <CODE
-CLASS="PARAMETER"
->klass</CODE
-> to <A
-HREF="gts-vertex-split.html#GTSSPLITCLASS"
-><SPAN
-CLASS="TYPE"
->GtsSplitClass</SPAN
-></A
->.</P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN15333"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->klass</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->a descendant of <A
-HREF="gts-vertex-split.html#GTSSPLITCLASS"
-><SPAN
-CLASS="TYPE"
->GtsSplitClass</SPAN
-></A
->.
-
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN15340"
-></A
-><H3
-><A
-NAME="GTS-SPLIT:CAPS"
-></A
->GTS_SPLIT()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_SPLIT(obj)</PRE
-><P
->Casts <CODE
-CLASS="PARAMETER"
->obj</CODE
-> to <A
-HREF="gts-vertex-split.html#GTSSPLIT"
-><SPAN
-CLASS="TYPE"
->GtsSplit</SPAN
-></A
->.</P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN15351"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->obj</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->a descendant of <A
-HREF="gts-vertex-split.html#GTSSPLIT"
-><SPAN
-CLASS="TYPE"
->GtsSplit</SPAN
-></A
->.
-
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN15358"
-></A
-><H3
-><A
-NAME="GTS-IS-SPLIT:CAPS"
-></A
->GTS_IS_SPLIT()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_IS_SPLIT(obj)</PRE
-><P
->Evaluates to <TT
-CLASS="LITERAL"
->TRUE</TT
-> if <CODE
-CLASS="PARAMETER"
->obj</CODE
-> is a <A
-HREF="gts-vertex-split.html#GTSSPLIT"
-><SPAN
-CLASS="TYPE"
->GtsSplit</SPAN
-></A
->.</P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN15370"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->obj</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->a pointer to test.
-
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN15375"
-></A
-><H3
-><A
-NAME="GTS-SPLIT-V1:CAPS"
-></A
->GTS_SPLIT_V1()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_SPLIT_V1(vs)</PRE
-><P
->Evaluates to the first vertex of the edge collapsed by <CODE
-CLASS="PARAMETER"
->vs</CODE
->.</P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN15384"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->vs</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->a <A
-HREF="gts-vertex-split.html#GTSSPLIT"
-><SPAN
-CLASS="TYPE"
->GtsSplit</SPAN
-></A
->.
-
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN15391"
-></A
-><H3
-><A
-NAME="GTS-SPLIT-V2:CAPS"
-></A
->GTS_SPLIT_V2()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_SPLIT_V2(vs)</PRE
-><P
->Evaluates to the second vertex of the edge collapsed by <CODE
-CLASS="PARAMETER"
->vs</CODE
->.</P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN15400"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->vs</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->a <A
-HREF="gts-vertex-split.html#GTSSPLIT"
-><SPAN
-CLASS="TYPE"
->GtsSplit</SPAN
-></A
->.
-
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN15407"
-></A
-><H3
-><A
-NAME="GTSSPLITCLASS"
-></A
->GtsSplitClass</H3
-><PRE
-CLASS="PROGRAMLISTING"
->typedef struct {
- GtsObjectClass parent_class;
-} GtsSplitClass;</PRE
-><P
->The vertex split class.</P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN15414"
-></A
-><H3
-><A
-NAME="GTSSPLITCFACE"
-></A
->GtsSplitCFace</H3
-><PRE
-CLASS="PROGRAMLISTING"
->typedef struct _GtsSplitCFace GtsSplitCFace;</PRE
-><P
->An opaque structure describing the faces collapsed by a vertex split.</P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN15421"
-></A
-><H3
-><A
-NAME="GTSSPLIT"
-></A
->GtsSplit</H3
-><PRE
-CLASS="PROGRAMLISTING"
->typedef struct {
- GtsObject object;
-
- GtsVertex * v;
- GtsObject * v1;
- GtsObject * v2;
- GtsSplitCFace * cfaces;
- guint ncf;
-} GtsSplit;</PRE
-><P
->The vertex split object. If <CODE
-CLASS="PARAMETER"
->v1</CODE
-> is a <A
-HREF="gts-vertex-split.html#GTSSPLIT"
-><SPAN
-CLASS="TYPE"
->GtsSplit</SPAN
-></A
-> the corresponding vertex can be found in GTS_SPLIT(v1)->v. This conversion is performed directly by the two macros <A
-HREF="gts-vertex-split.html#GTS-SPLIT-V1:CAPS"
-><SPAN
-CLASS="TYPE"
->GTS_SPLIT_V1</SPAN
-></A
-> and <A
-HREF="gts-vertex-split.html#GTS-SPLIT-V2:CAPS"
-><SPAN
-CLASS="TYPE"
->GTS_SPLIT_V2</SPAN
-></A
->. Together with the current <A
-HREF="gts-vertex-split.html#GTSSPLIT"
-><SPAN
-CLASS="TYPE"
->GtsSplit</SPAN
-></A
->, <CODE
-CLASS="PARAMETER"
->v1</CODE
-> and <CODE
-CLASS="PARAMETER"
->v2</CODE
-> define one level of a vertex split tree. If <CODE
-CLASS="PARAMETER"
->v1</CODE
-> or <CODE
-CLASS="PARAMETER"
->v2</CODE
-> are both <A
-HREF="gts-vertices.html#GTSVERTEX"
-><SPAN
-CLASS="TYPE"
->GtsVertex</SPAN
-></A
->, the current vertex split is a leaf of the tree.</P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN15444"><SPAN
-STYLE="white-space: nowrap"
-><A
-HREF="gts-object-class.html#GTSOBJECT"
->GtsObject</A
-> <CODE
-CLASS="STRUCTFIELD"
->object</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-></P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN15450"><SPAN
-STYLE="white-space: nowrap"
-><A
-HREF="gts-vertices.html#GTSVERTEX"
->GtsVertex</A
-> *<CODE
-CLASS="STRUCTFIELD"
->v</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->Vertex to be split.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN15456"><SPAN
-STYLE="white-space: nowrap"
-><A
-HREF="gts-object-class.html#GTSOBJECT"
->GtsObject</A
-> *<CODE
-CLASS="STRUCTFIELD"
->v1</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->Either a <A
-HREF="gts-vertex-split.html#GTSSPLIT"
-><SPAN
-CLASS="TYPE"
->GtsSplit</SPAN
-></A
-> or <A
-HREF="gts-vertices.html#GTSVERTEX"
-><SPAN
-CLASS="TYPE"
->GtsVertex</SPAN
-></A
->, first vertex of the edge to be expanded.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN15466"><SPAN
-STYLE="white-space: nowrap"
-><A
-HREF="gts-object-class.html#GTSOBJECT"
->GtsObject</A
-> *<CODE
-CLASS="STRUCTFIELD"
->v2</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->Either a <A
-HREF="gts-vertex-split.html#GTSSPLIT"
-><SPAN
-CLASS="TYPE"
->GtsSplit</SPAN
-></A
-> or <A
-HREF="gts-vertices.html#GTSVERTEX"
-><SPAN
-CLASS="TYPE"
->GtsVertex</SPAN
-></A
->, second vertex of the edge to be expanded.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN15476"><SPAN
-STYLE="white-space: nowrap"
-><A
-HREF="gts-vertex-split.html#GTSSPLITCFACE"
->GtsSplitCFace</A
-> *<CODE
-CLASS="STRUCTFIELD"
->cfaces</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->An array of <A
-HREF="gts-vertex-split.html#GTSSPLITCFACE"
-><SPAN
-CLASS="TYPE"
->GtsSplitCFace</SPAN
-></A
-> describing the faces collapsed by the vertex split.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN15484"><SPAN
-STYLE="white-space: nowrap"
-><GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> <CODE
-CLASS="STRUCTFIELD"
->ncf</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->Number of faces collapsed in <CODE
-CLASS="PARAMETER"
->cfaces</CODE
->.
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN15491"
-></A
-><H3
-><A
-NAME="GTS-SPLIT-CLASS"
-></A
->gts_split_class ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-vertex-split.html#GTSSPLITCLASS"
->GtsSplitClass</A
->* gts_split_class (void);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN15501"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the <A
-HREF="gts-vertex-split.html#GTSSPLITCLASS"
-><SPAN
-CLASS="TYPE"
->GtsSplitClass</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN15508"
-></A
-><H3
-><A
-NAME="GTS-SPLIT-NEW"
-></A
->gts_split_new ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-vertex-split.html#GTSSPLIT"
->GtsSplit</A
->* gts_split_new (<A
-HREF="gts-vertex-split.html#GTSSPLITCLASS"
->GtsSplitClass</A
-> *klass,
- <A
-HREF="gts-vertices.html#GTSVERTEX"
->GtsVertex</A
-> *v,
- <A
-HREF="gts-object-class.html#GTSOBJECT"
->GtsObject</A
-> *o1,
- <A
-HREF="gts-object-class.html#GTSOBJECT"
->GtsObject</A
-> *o2);</PRE
-><P
->Creates a new <A
-HREF="gts-vertex-split.html#GTSSPLIT"
-><SPAN
-CLASS="TYPE"
->GtsSplit</SPAN
-></A
-> which would collapse <CODE
-CLASS="PARAMETER"
->o1</CODE
-> and <CODE
-CLASS="PARAMETER"
->o2</CODE
-> into <CODE
-CLASS="PARAMETER"
->v</CODE
->. The
-collapse itself is not performed.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN15527"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->klass</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-vertex-split.html#GTSSPLITCLASS"
-><SPAN
-CLASS="TYPE"
->GtsSplitClass</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN15534"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->v</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-vertices.html#GTSVERTEX"
-><SPAN
-CLASS="TYPE"
->GtsVertex</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN15541"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->o1</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> either a <A
-HREF="gts-vertices.html#GTSVERTEX"
-><SPAN
-CLASS="TYPE"
->GtsVertex</SPAN
-></A
-> or a <A
-HREF="gts-vertex-split.html#GTSSPLIT"
-><SPAN
-CLASS="TYPE"
->GtsSplit</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN15550"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->o2</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> either a <A
-HREF="gts-vertices.html#GTSVERTEX"
-><SPAN
-CLASS="TYPE"
->GtsVertex</SPAN
-></A
-> or a <A
-HREF="gts-vertex-split.html#GTSSPLIT"
-><SPAN
-CLASS="TYPE"
->GtsSplit</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN15559"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the new <A
-HREF="gts-vertex-split.html#GTSSPLIT"
-><SPAN
-CLASS="TYPE"
->GtsSplit</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN15566"
-></A
-><H3
-><A
-NAME="GTS-SPLIT-COLLAPSE"
-></A
->gts_split_collapse ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_split_collapse (<A
-HREF="gts-vertex-split.html#GTSSPLIT"
->GtsSplit</A
-> *vs,
- <A
-HREF="gts-edges.html#GTSEDGECLASS"
->GtsEdgeClass</A
-> *klass,
- <A
-HREF="gts-extended-binary-heaps.html#GTSEHEAP"
->GtsEHeap</A
-> *heap);</PRE
-><P
->Collapses the vertex split <CODE
-CLASS="PARAMETER"
->vs</CODE
->. Any new edge created during the process will
-be of class <CODE
-CLASS="PARAMETER"
->klass</CODE
->. If heap is not <TT
-CLASS="LITERAL"
->NULL</TT
->, the new edges will be inserted
-into it and the destroyed edges will be removed from it.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN15582"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->vs</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-vertex-split.html#GTSSPLIT"
-><SPAN
-CLASS="TYPE"
->GtsSplit</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN15589"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->klass</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-edges.html#GTSEDGECLASS"
-><SPAN
-CLASS="TYPE"
->GtsEdgeClass</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN15596"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->heap</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-extended-binary-heaps.html#GTSEHEAP"
-><SPAN
-CLASS="TYPE"
->GtsEHeap</SPAN
-></A
-> or <TT
-CLASS="LITERAL"
->NULL</TT
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN15604"
-></A
-><H3
-><A
-NAME="GTS-SPLIT-EXPAND"
-></A
->gts_split_expand ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_split_expand (<A
-HREF="gts-vertex-split.html#GTSSPLIT"
->GtsSplit</A
-> *vs,
- <A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *s,
- <A
-HREF="gts-edges.html#GTSEDGECLASS"
->GtsEdgeClass</A
-> *klass);</PRE
-><P
->Expands the vertex split <CODE
-CLASS="PARAMETER"
->vs</CODE
-> adding the newly created faces to <CODE
-CLASS="PARAMETER"
->s</CODE
->. Any
-new edge will be of class <CODE
-CLASS="PARAMETER"
->klass</CODE
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN15620"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->vs</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-vertex-split.html#GTSSPLIT"
-><SPAN
-CLASS="TYPE"
->GtsSplit</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN15627"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->s</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN15634"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->klass</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-edges.html#GTSEDGECLASS"
-><SPAN
-CLASS="TYPE"
->GtsEdgeClass</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN15641"
-></A
-><H3
-><A
-NAME="GTS-SPLIT-HEIGHT"
-></A
->gts_split_height ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> gts_split_height (<A
-HREF="gts-vertex-split.html#GTSSPLIT"
->GtsSplit</A
-> *root);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN15652"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->root</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-vertex-split.html#GTSSPLIT"
-><SPAN
-CLASS="TYPE"
->GtsSplit</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN15659"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the maximum height of the vertex split tree having <CODE
-CLASS="PARAMETER"
->root</CODE
-> as root.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN15665"
-></A
-><H3
-><A
-NAME="GTSSPLITTRAVERSEFUNC"
-></A
->GtsSplitTraverseFunc ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GBOOLEAN"
->gboolean</GTKDOCLINK
-> (*GtsSplitTraverseFunc) (<A
-HREF="gts-vertex-split.html#GTSSPLIT"
->GtsSplit</A
-> *vs,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> data);</PRE
-><P
->A user-defined function to be called when traversing a vertex split tree.</P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN15676"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->vs</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->the <A
-HREF="gts-vertex-split.html#GTSSPLIT"
-><SPAN
-CLASS="TYPE"
->GtsSplit</SPAN
-></A
-> for which this function is called.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN15683"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->data</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->user data passed to the function.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN15688"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-><TT
-CLASS="LITERAL"
->TRUE</TT
-> to stop the traversal, <TT
-CLASS="LITERAL"
->FALSE</TT
-> to continue.
-
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN15695"
-></A
-><H3
-><A
-NAME="GTS-SPLIT-TRAVERSE"
-></A
->gts_split_traverse ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_split_traverse (<A
-HREF="gts-vertex-split.html#GTSSPLIT"
->GtsSplit</A
-> *root,
- <GTKDOCLINK
-HREF="GTRAVERSETYPE"
->GTraverseType</GTKDOCLINK
-> order,
- <GTKDOCLINK
-HREF="GINT"
->gint</GTKDOCLINK
-> depth,
- <A
-HREF="gts-vertex-split.html#GTSSPLITTRAVERSEFUNC"
->GtsSplitTraverseFunc</A
-> func,
- <GTKDOCLINK
-HREF="GPOINTER"
->gpointer</GTKDOCLINK
-> data);</PRE
-><P
->Traverses the <A
-HREF="gts-vertex-split.html#GTSSPLIT"
-><SPAN
-CLASS="TYPE"
->GtsSplit</SPAN
-></A
-> tree having <CODE
-CLASS="PARAMETER"
->root</CODE
-> as root. Calls <CODE
-CLASS="PARAMETER"
->func</CODE
-> for each
-<A
-HREF="gts-vertex-split.html#GTSSPLIT"
-><SPAN
-CLASS="TYPE"
->GtsSplit</SPAN
-></A
-> of the tree in the order specified by <CODE
-CLASS="PARAMETER"
->order</CODE
->. If order is set
-to G_PRE_ORDER <CODE
-CLASS="PARAMETER"
->func</CODE
-> is called for the <A
-HREF="gts-vertex-split.html#GTSSPLIT"
-><SPAN
-CLASS="TYPE"
->GtsSplit</SPAN
-></A
-> then its children, if order
-is set to G_POST_ORDER <CODE
-CLASS="PARAMETER"
->func</CODE
-> is called for the children and then for the
-<A
-HREF="gts-vertex-split.html#GTSSPLIT"
-><SPAN
-CLASS="TYPE"
->GtsSplit</SPAN
-></A
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN15723"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->root</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the <A
-HREF="gts-vertex-split.html#GTSSPLIT"
-><SPAN
-CLASS="TYPE"
->GtsSplit</SPAN
-></A
-> to start the traversal from.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN15730"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->order</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the order in which nodes are visited - G_PRE_ORDER or G_POST_ORDER.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN15735"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->depth</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the maximum depth of the traversal. Nodes below this depth
-will not be visited. If depth is -1 all nodes in the tree are
-visited. If depth is 1, only the root is visited. If depth is 2,
-the root and its children are visited. And so on.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN15740"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->func</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the function to call for each visited <A
-HREF="gts-hierarchical-vertex-split.html#GTSHSPLIT"
-><SPAN
-CLASS="TYPE"
->GtsHSplit</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN15747"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->data</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> user data to pass to the function.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-></DIV
-><TABLE
-CLASS="navigation"
-WIDTH="100%"
-SUMMARY="Navigation footer"
-CELLPADDING="2"
-CELLSPACING="2"
-><TR
-VALIGN="middle"
-><TD
-ALIGN="left"
-><A
-ACCESSKEY="p"
-HREF="c15264.html"
-><B
-><<< Progressive and Hierarchical surfaces</B
-></A
-></TD
-><TD
-ALIGN="right"
-><A
-ACCESSKEY="n"
-HREF="gts-progressive-surfaces.html"
-><B
->Progressive surfaces >>></B
-></A
-></TD
-></TR
-></TABLE
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/gts-vertices.html b/doc/html/gts-vertices.html
deleted file mode 100644
index 7fc1c2c..0000000
--- a/doc/html/gts-vertices.html
+++ /dev/null
@@ -1,2528 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
-<HTML
-><HEAD
-><TITLE
->Vertices</TITLE
-><META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
-REL="HOME"
-TITLE="GTS Library Reference Manual"
-HREF="book1.html"><LINK
-REL="UP"
-TITLE="Geometrical Object Hierarchy"
-HREF="c2915.html"><LINK
-REL="PREVIOUS"
-TITLE="Points"
-HREF="gts-points.html"><LINK
-REL="NEXT"
-TITLE="Segments"
-HREF="gts-segments.html"><STYLE
-TYPE="text/css"
->.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</STYLE
-></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><TABLE
-WIDTH="100%"
-CLASS="navigation"
-SUMMARY="Navigation header"
-CELLPADDING="2"
-CELLSPACING="2"
-><TR
-VALIGN="middle"
-><TD
-><A
-ACCESSKEY="p"
-HREF="gts-points.html"
-><IMG
-SRC="left.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Prev"></A
-></TD
-><TD
-><A
-ACCESSKEY="u"
-HREF="c2915.html"
-><IMG
-SRC="up.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Up"></A
-></TD
-><TD
-><A
-ACCESSKEY="h"
-HREF="book1.html"
-><IMG
-SRC="home.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Home"></A
-></TD
-><TH
-WIDTH="100%"
-align="center"
->GTS Library Reference Manual</TH
-><TD
-><A
-ACCESSKEY="n"
-HREF="gts-segments.html"
-><IMG
-SRC="right.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Next"></A
-></TD
-></TR
-></TABLE
-><H1
-><A
-NAME="GTS-VERTICES"
-></A
->Vertices</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN5452"
-></A
-><H2
->Name</H2
->Vertices -- vertex object and related functions.</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN5455"
-></A
-><H2
->Synopsis</H2
-><PRE
-CLASS="SYNOPSIS"
->
#include <gts.h>
-
-
-#define <A
-HREF="gts-vertices.html#GTS-VERTEX-CLASS:CAPS"
->GTS_VERTEX_CLASS</A
-> (klass)
-#define <A
-HREF="gts-vertices.html#GTS-VERTEX:CAPS"
->GTS_VERTEX</A
-> (obj)
-#define <A
-HREF="gts-vertices.html#GTS-IS-VERTEX:CAPS"
->GTS_IS_VERTEX</A
-> (obj)
- <A
-HREF="gts-vertices.html#GTSVERTEXCLASS"
->GtsVertexClass</A
->;
- <A
-HREF="gts-vertices.html#GTSVERTEX"
->GtsVertex</A
->;
-
-<A
-HREF="gts-vertices.html#GTSVERTEXCLASS"
->GtsVertexClass</A
->* <A
-HREF="gts-vertices.html#GTS-VERTEX-CLASS"
->gts_vertex_class</A
-> (void);
-<A
-HREF="gts-vertices.html#GTSVERTEX"
->GtsVertex</A
->* <A
-HREF="gts-vertices.html#GTS-VERTEX-NEW"
->gts_vertex_new</A
-> (<A
-HREF="gts-vertices.html#GTSVERTEXCLASS"
->GtsVertexClass</A
-> *klass,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> x,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> y,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> z);
-<GTKDOCLINK
-HREF="GBOOLEAN"
->gboolean</GTKDOCLINK
-> <A
-HREF="gts-vertices.html#GTS-VERTEX-IS-UNATTACHED"
->gts_vertex_is_unattached</A
-> (<A
-HREF="gts-vertices.html#GTSVERTEX"
->GtsVertex</A
-> *v);
-<GTKDOCLINK
-HREF="GBOOLEAN"
->gboolean</GTKDOCLINK
-> <A
-HREF="gts-vertices.html#GTS-VERTEX-IS-BOUNDARY"
->gts_vertex_is_boundary</A
-> (<A
-HREF="gts-vertices.html#GTSVERTEX"
->GtsVertex</A
-> *v,
- <A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *surface);
-<GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> <A
-HREF="gts-vertices.html#GTS-VERTEX-IS-CONTACT"
->gts_vertex_is_contact</A
-> (<A
-HREF="gts-vertices.html#GTSVERTEX"
->GtsVertex</A
-> *v,
- <GTKDOCLINK
-HREF="GBOOLEAN"
->gboolean</GTKDOCLINK
-> sever);
-<A
-HREF="gts-segments.html#GTSSEGMENT"
->GtsSegment</A
->* <A
-HREF="gts-vertices.html#GTS-VERTICES-ARE-CONNECTED"
->gts_vertices_are_connected</A
-> (<A
-HREF="gts-vertices.html#GTSVERTEX"
->GtsVertex</A
-> *v1,
- <A
-HREF="gts-vertices.html#GTSVERTEX"
->GtsVertex</A
-> *v2);
-<GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> <A
-HREF="gts-vertices.html#GTS-VERTEX-REPLACE"
->gts_vertex_replace</A
-> (<A
-HREF="gts-vertices.html#GTSVERTEX"
->GtsVertex</A
-> *v,
- <A
-HREF="gts-vertices.html#GTSVERTEX"
->GtsVertex</A
-> *with);
-<GTKDOCLINK
-HREF="GSLIST"
->GSList</GTKDOCLINK
->* <A
-HREF="gts-vertices.html#GTS-VERTEX-NEIGHBORS"
->gts_vertex_neighbors</A
-> (<A
-HREF="gts-vertices.html#GTSVERTEX"
->GtsVertex</A
-> *v,
- <GTKDOCLINK
-HREF="GSLIST"
->GSList</GTKDOCLINK
-> *list,
- <A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *surface);
-<GTKDOCLINK
-HREF="GSLIST"
->GSList</GTKDOCLINK
->* <A
-HREF="gts-vertices.html#GTS-VERTEX-TRIANGLES"
->gts_vertex_triangles</A
-> (<A
-HREF="gts-vertices.html#GTSVERTEX"
->GtsVertex</A
-> *v,
- <GTKDOCLINK
-HREF="GSLIST"
->GSList</GTKDOCLINK
-> *list);
-<GTKDOCLINK
-HREF="GSLIST"
->GSList</GTKDOCLINK
->* <A
-HREF="gts-vertices.html#GTS-VERTEX-FACES"
->gts_vertex_faces</A
-> (<A
-HREF="gts-vertices.html#GTSVERTEX"
->GtsVertex</A
-> *v,
- <A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *surface,
- <GTKDOCLINK
-HREF="GSLIST"
->GSList</GTKDOCLINK
-> *list);
-<GTKDOCLINK
-HREF="GSLIST"
->GSList</GTKDOCLINK
->* <A
-HREF="gts-vertices.html#GTS-VERTEX-FAN-ORIENTED"
->gts_vertex_fan_oriented</A
-> (<A
-HREF="gts-vertices.html#GTSVERTEX"
->GtsVertex</A
-> *v,
- <A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *surface);
-<GTKDOCLINK
-HREF="GBOOLEAN"
->gboolean</GTKDOCLINK
-> <A
-HREF="gts-vertices.html#GTS-VERTEX-ENCROACHES-EDGE"
->gts_vertex_encroaches_edge</A
-> (<A
-HREF="gts-vertices.html#GTSVERTEX"
->GtsVertex</A
-> *v,
- <A
-HREF="gts-edges.html#GTSEDGE"
->GtsEdge</A
-> *e);
-<GTKDOCLINK
-HREF="GSLIST"
->GSList</GTKDOCLINK
->* <A
-HREF="gts-vertices.html#GTS-VERTICES-FROM-SEGMENTS"
->gts_vertices_from_segments</A
-> (<GTKDOCLINK
-HREF="GSLIST"
->GSList</GTKDOCLINK
-> *segments);
-<GTKDOCLINK
-HREF="GLIST"
->GList</GTKDOCLINK
->* <A
-HREF="gts-vertices.html#GTS-VERTICES-MERGE"
->gts_vertices_merge</A
-> (<GTKDOCLINK
-HREF="GLIST"
->GList</GTKDOCLINK
-> *vertices,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> epsilon,
- <GTKDOCLINK
-HREF="GBOOLEAN"
->gboolean</GTKDOCLINK
-> (*check) (GtsVertex *, GtsVertex *));</PRE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN5520"
-></A
-><H2
->Description</H2
-><P
->Vertices are points used as endpoints of <A
-HREF="gts-segments.html#GTSSEGMENT"
-><SPAN
-CLASS="TYPE"
->GtsSegment</SPAN
-></A
->. They are derived from <A
-HREF="gts-points.html#GTSPOINT"
-><SPAN
-CLASS="TYPE"
->GtsPoint</SPAN
-></A
->.</P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN5527"
-></A
-><H2
->Details</H2
-><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN5529"
-></A
-><H3
-><A
-NAME="GTS-VERTEX-CLASS:CAPS"
-></A
->GTS_VERTEX_CLASS()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_VERTEX_CLASS(klass)</PRE
-><P
->Casts <CODE
-CLASS="PARAMETER"
->klass</CODE
-> to <A
-HREF="gts-vertices.html#GTSVERTEXCLASS"
-><SPAN
-CLASS="TYPE"
->GtsVertexClass</SPAN
-></A
->.</P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN5540"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->klass</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->a descendant of <A
-HREF="gts-vertices.html#GTSVERTEXCLASS"
-><SPAN
-CLASS="TYPE"
->GtsVertexClass</SPAN
-></A
->.
-
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN5547"
-></A
-><H3
-><A
-NAME="GTS-VERTEX:CAPS"
-></A
->GTS_VERTEX()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_VERTEX(obj)</PRE
-><P
->Casts <CODE
-CLASS="PARAMETER"
->obj</CODE
-> to <A
-HREF="gts-vertices.html#GTSVERTEX"
-><SPAN
-CLASS="TYPE"
->GtsVertex</SPAN
-></A
->.</P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN5558"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->obj</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->a descendant of <A
-HREF="gts-vertices.html#GTSVERTEX"
-><SPAN
-CLASS="TYPE"
->GtsVertex</SPAN
-></A
->.
-
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN5565"
-></A
-><H3
-><A
-NAME="GTS-IS-VERTEX:CAPS"
-></A
->GTS_IS_VERTEX()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_IS_VERTEX(obj)</PRE
-><P
->Evaluates to <TT
-CLASS="LITERAL"
->TRUE</TT
-> if <CODE
-CLASS="PARAMETER"
->obj</CODE
-> is a descendant of <A
-HREF="gts-vertices.html#GTSVERTEX"
-><SPAN
-CLASS="TYPE"
->GtsVertex</SPAN
-></A
->, <TT
-CLASS="LITERAL"
->FALSE</TT
-> otherwise.</P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN5578"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->obj</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->a pointer to test.
-
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN5583"
-></A
-><H3
-><A
-NAME="GTSVERTEXCLASS"
-></A
->GtsVertexClass</H3
-><PRE
-CLASS="PROGRAMLISTING"
->typedef struct {
- GtsPointClass parent_class;
-
- void (* intersection_attributes) (GtsVertex *,
- GtsObject *,
- GtsObject *);
-} GtsVertexClass;</PRE
-><P
->The vertex class. No virtual functions are associated.</P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN5590"
-></A
-><H3
-><A
-NAME="GTSVERTEX"
-></A
->GtsVertex</H3
-><PRE
-CLASS="PROGRAMLISTING"
->typedef struct {
- GtsPoint p;
-
- GSList * segments;
-} GtsVertex;</PRE
-><P
->The vertex object.</P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN5598"><SPAN
-STYLE="white-space: nowrap"
-><A
-HREF="gts-points.html#GTSPOINT"
->GtsPoint</A
-> <CODE
-CLASS="STRUCTFIELD"
->p</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->The parent object.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN5604"><SPAN
-STYLE="white-space: nowrap"
-><GTKDOCLINK
-HREF="GSLIST"
->GSList</GTKDOCLINK
-> *<CODE
-CLASS="STRUCTFIELD"
->segments</CODE
->;</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->Contains all the <A
-HREF="gts-segments.html#GTSSEGMENT"
-><SPAN
-CLASS="TYPE"
->GtsSegment</SPAN
-></A
-> using this vertex as one of their endpoints.
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN5612"
-></A
-><H3
-><A
-NAME="GTS-VERTEX-CLASS"
-></A
->gts_vertex_class ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-vertices.html#GTSVERTEXCLASS"
->GtsVertexClass</A
->* gts_vertex_class (void);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN5622"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the <A
-HREF="gts-vertices.html#GTSVERTEXCLASS"
-><SPAN
-CLASS="TYPE"
->GtsVertexClass</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN5629"
-></A
-><H3
-><A
-NAME="GTS-VERTEX-NEW"
-></A
->gts_vertex_new ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-vertices.html#GTSVERTEX"
->GtsVertex</A
->* gts_vertex_new (<A
-HREF="gts-vertices.html#GTSVERTEXCLASS"
->GtsVertexClass</A
-> *klass,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> x,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> y,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> z);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN5643"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->klass</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-vertices.html#GTSVERTEXCLASS"
-><SPAN
-CLASS="TYPE"
->GtsVertexClass</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN5650"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->x</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the x-coordinate of the vertex to create.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN5655"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->y</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the y-coordinate of the vertex to create.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN5660"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->z</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the y-coordinate of the vertex to create.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN5665"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a new <A
-HREF="gts-vertices.html#GTSVERTEX"
-><SPAN
-CLASS="TYPE"
->GtsVertex</SPAN
-></A
-> with <CODE
-CLASS="PARAMETER"
->x</CODE
->, <CODE
-CLASS="PARAMETER"
->y</CODE
-> and <CODE
-CLASS="PARAMETER"
->z</CODE
-> as coordinates.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN5675"
-></A
-><H3
-><A
-NAME="GTS-VERTEX-IS-UNATTACHED"
-></A
->gts_vertex_is_unattached ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GBOOLEAN"
->gboolean</GTKDOCLINK
-> gts_vertex_is_unattached (<A
-HREF="gts-vertices.html#GTSVERTEX"
->GtsVertex</A
-> *v);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN5686"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->v</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-vertices.html#GTSVERTEX"
-><SPAN
-CLASS="TYPE"
->GtsVertex</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN5693"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> <TT
-CLASS="LITERAL"
->TRUE</TT
-> if <CODE
-CLASS="PARAMETER"
->v</CODE
-> is not the endpoint of any <A
-HREF="gts-segments.html#GTSSEGMENT"
-><SPAN
-CLASS="TYPE"
->GtsSegment</SPAN
-></A
->,
-<TT
-CLASS="LITERAL"
->FALSE</TT
-> otherwise.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN5703"
-></A
-><H3
-><A
-NAME="GTS-VERTEX-IS-BOUNDARY"
-></A
->gts_vertex_is_boundary ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GBOOLEAN"
->gboolean</GTKDOCLINK
-> gts_vertex_is_boundary (<A
-HREF="gts-vertices.html#GTSVERTEX"
->GtsVertex</A
-> *v,
- <A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *surface);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN5715"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->v</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-vertices.html#GTSVERTEX"
-><SPAN
-CLASS="TYPE"
->GtsVertex</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN5722"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->surface</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
-> or <TT
-CLASS="LITERAL"
->NULL</TT
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN5730"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> <TT
-CLASS="LITERAL"
->TRUE</TT
-> if <CODE
-CLASS="PARAMETER"
->v</CODE
-> is used by a <A
-HREF="gts-edges.html#GTSEDGE"
-><SPAN
-CLASS="TYPE"
->GtsEdge</SPAN
-></A
-> boundary of <CODE
-CLASS="PARAMETER"
->surface</CODE
-> as
-determined by <A
-HREF="gts-edges.html#GTS-EDGE-IS-BOUNDARY"
-><CODE
-CLASS="FUNCTION"
->gts_edge_is_boundary()</CODE
-></A
->, <TT
-CLASS="LITERAL"
->FALSE</TT
-> otherwise.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN5743"
-></A
-><H3
-><A
-NAME="GTS-VERTEX-IS-CONTACT"
-></A
->gts_vertex_is_contact ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GUINT"
->guint</GTKDOCLINK
-> gts_vertex_is_contact (<A
-HREF="gts-vertices.html#GTSVERTEX"
->GtsVertex</A
-> *v,
- <GTKDOCLINK
-HREF="GBOOLEAN"
->gboolean</GTKDOCLINK
-> sever);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN5755"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->v</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-vertices.html#GTSVERTEX"
-><SPAN
-CLASS="TYPE"
->GtsVertex</SPAN
-></A
->. </P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN5762"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->sever</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> if <TT
-CLASS="LITERAL"
->TRUE</TT
-> and if <CODE
-CLASS="PARAMETER"
->v</CODE
-> is a contact vertex between two or more
-sets of connected triangles replaces it with as many vertices,
-clones of <CODE
-CLASS="PARAMETER"
->v</CODE
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN5770"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the number of sets of connected triangles sharing <CODE
-CLASS="PARAMETER"
->v</CODE
-> as a
-contact vertex. </P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN5776"
-></A
-><H3
-><A
-NAME="GTS-VERTICES-ARE-CONNECTED"
-></A
->gts_vertices_are_connected ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-segments.html#GTSSEGMENT"
->GtsSegment</A
->* gts_vertices_are_connected (<A
-HREF="gts-vertices.html#GTSVERTEX"
->GtsVertex</A
-> *v1,
- <A
-HREF="gts-vertices.html#GTSVERTEX"
->GtsVertex</A
-> *v2);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN5788"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->v1</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-vertices.html#GTSVERTEX"
-><SPAN
-CLASS="TYPE"
->GtsVertex</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN5795"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->v2</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> another <A
-HREF="gts-vertices.html#GTSVERTEX"
-><SPAN
-CLASS="TYPE"
->GtsVertex</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN5802"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> if <CODE
-CLASS="PARAMETER"
->v1</CODE
-> and <CODE
-CLASS="PARAMETER"
->v2</CODE
-> are the vertices of the same <A
-HREF="gts-segments.html#GTSSEGMENT"
-><SPAN
-CLASS="TYPE"
->GtsSegment</SPAN
-></A
->
-this segment else <TT
-CLASS="LITERAL"
->NULL</TT
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN5812"
-></A
-><H3
-><A
-NAME="GTS-VERTEX-REPLACE"
-></A
->gts_vertex_replace ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="VOID"
->void</GTKDOCLINK
-> gts_vertex_replace (<A
-HREF="gts-vertices.html#GTSVERTEX"
->GtsVertex</A
-> *v,
- <A
-HREF="gts-vertices.html#GTSVERTEX"
->GtsVertex</A
-> *with);</PRE
-><P
->Replaces vertex <CODE
-CLASS="PARAMETER"
->v</CODE
-> with vertex <CODE
-CLASS="PARAMETER"
->with</CODE
->. <CODE
-CLASS="PARAMETER"
->v</CODE
-> and <CODE
-CLASS="PARAMETER"
->with</CODE
-> must be
-different. All the <A
-HREF="gts-segments.html#GTSSEGMENT"
-><SPAN
-CLASS="TYPE"
->GtsSegment</SPAN
-></A
-> which have <CODE
-CLASS="PARAMETER"
->v</CODE
-> has one of their
-vertices are updated. The segments list of vertex <CODE
-CLASS="PARAMETER"
->v</CODE
-> is freed and
-<CODE
-CLASS="PARAMETER"
->v</CODE
->->segments is set to <TT
-CLASS="LITERAL"
->NULL</TT
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN5834"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->v</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-vertices.html#GTSVERTEX"
-><SPAN
-CLASS="TYPE"
->GtsVertex</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN5841"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->with</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> another <A
-HREF="gts-vertices.html#GTSVERTEX"
-><SPAN
-CLASS="TYPE"
->GtsVertex</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN5848"
-></A
-><H3
-><A
-NAME="GTS-VERTEX-NEIGHBORS"
-></A
->gts_vertex_neighbors ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GSLIST"
->GSList</GTKDOCLINK
->* gts_vertex_neighbors (<A
-HREF="gts-vertices.html#GTSVERTEX"
->GtsVertex</A
-> *v,
- <GTKDOCLINK
-HREF="GSLIST"
->GSList</GTKDOCLINK
-> *list,
- <A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *surface);</PRE
-><P
->Adds to <CODE
-CLASS="PARAMETER"
->list</CODE
-> all the <A
-HREF="gts-vertices.html#GTSVERTEX"
-><SPAN
-CLASS="TYPE"
->GtsVertex</SPAN
-></A
-> connected to <CODE
-CLASS="PARAMETER"
->v</CODE
-> by a <A
-HREF="gts-segments.html#GTSSEGMENT"
-><SPAN
-CLASS="TYPE"
->GtsSegment</SPAN
-></A
-> and not
-already in <CODE
-CLASS="PARAMETER"
->list</CODE
->. If <CODE
-CLASS="PARAMETER"
->surface</CODE
-> is not <TT
-CLASS="LITERAL"
->NULL</TT
-> only the vertices connected to
-<CODE
-CLASS="PARAMETER"
->v</CODE
-> by an edge belonging to <CODE
-CLASS="PARAMETER"
->surface</CODE
-> are considered.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN5872"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->v</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-vertices.html#GTSVERTEX"
-><SPAN
-CLASS="TYPE"
->GtsVertex</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN5879"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->list</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a list of <A
-HREF="gts-vertices.html#GTSVERTEX"
-><SPAN
-CLASS="TYPE"
->GtsVertex</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN5886"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->surface</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
-> or <TT
-CLASS="LITERAL"
->NULL</TT
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN5894"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the new list of unique <A
-HREF="gts-vertices.html#GTSVERTEX"
-><SPAN
-CLASS="TYPE"
->GtsVertex</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN5901"
-></A
-><H3
-><A
-NAME="GTS-VERTEX-TRIANGLES"
-></A
->gts_vertex_triangles ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GSLIST"
->GSList</GTKDOCLINK
->* gts_vertex_triangles (<A
-HREF="gts-vertices.html#GTSVERTEX"
->GtsVertex</A
-> *v,
- <GTKDOCLINK
-HREF="GSLIST"
->GSList</GTKDOCLINK
-> *list);</PRE
-><P
->Adds all the <A
-HREF="gts-triangles.html#GTSTRIANGLE"
-><SPAN
-CLASS="TYPE"
->GtsTriangle</SPAN
-></A
-> which share <CODE
-CLASS="PARAMETER"
->v</CODE
-> as a vertex and do not
-already belong to <CODE
-CLASS="PARAMETER"
->list</CODE
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN5917"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->v</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-vertices.html#GTSVERTEX"
-><SPAN
-CLASS="TYPE"
->GtsVertex</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN5924"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->list</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a list of <A
-HREF="gts-triangles.html#GTSTRIANGLE"
-><SPAN
-CLASS="TYPE"
->GtsTriangle</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN5931"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the new list of unique <A
-HREF="gts-triangles.html#GTSTRIANGLE"
-><SPAN
-CLASS="TYPE"
->GtsTriangle</SPAN
-></A
-> which share <CODE
-CLASS="PARAMETER"
->v</CODE
-> as a
-vertex. </P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN5939"
-></A
-><H3
-><A
-NAME="GTS-VERTEX-FACES"
-></A
->gts_vertex_faces ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GSLIST"
->GSList</GTKDOCLINK
->* gts_vertex_faces (<A
-HREF="gts-vertices.html#GTSVERTEX"
->GtsVertex</A
-> *v,
- <A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *surface,
- <GTKDOCLINK
-HREF="GSLIST"
->GSList</GTKDOCLINK
-> *list);</PRE
-><P
->Adds all the <A
-HREF="gts-faces.html#GTSFACE"
-><SPAN
-CLASS="TYPE"
->GtsFace</SPAN
-></A
-> belonging to <CODE
-CLASS="PARAMETER"
->surface</CODE
-> (if not <TT
-CLASS="LITERAL"
->NULL</TT
->) which share
-<CODE
-CLASS="PARAMETER"
->v</CODE
-> as a vertex and do not already belong to <CODE
-CLASS="PARAMETER"
->list</CODE
->.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN5958"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->v</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-vertices.html#GTSVERTEX"
-><SPAN
-CLASS="TYPE"
->GtsVertex</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN5965"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->surface</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
-> or <TT
-CLASS="LITERAL"
->NULL</TT
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN5973"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->list</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a list of <A
-HREF="gts-faces.html#GTSFACE"
-><SPAN
-CLASS="TYPE"
->GtsFace</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN5980"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the new list of unique <A
-HREF="gts-faces.html#GTSFACE"
-><SPAN
-CLASS="TYPE"
->GtsFace</SPAN
-></A
-> belonging to <CODE
-CLASS="PARAMETER"
->surface</CODE
->
-which share <CODE
-CLASS="PARAMETER"
->v</CODE
-> as a vertex.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN5989"
-></A
-><H3
-><A
-NAME="GTS-VERTEX-FAN-ORIENTED"
-></A
->gts_vertex_fan_oriented ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GSLIST"
->GSList</GTKDOCLINK
->* gts_vertex_fan_oriented (<A
-HREF="gts-vertices.html#GTSVERTEX"
->GtsVertex</A
-> *v,
- <A
-HREF="gts-surfaces.html#GTSSURFACE"
->GtsSurface</A
-> *surface);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN6001"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->v</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-vertices.html#GTSVERTEX"
-><SPAN
-CLASS="TYPE"
->GtsVertex</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN6008"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->surface</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-surfaces.html#GTSSURFACE"
-><SPAN
-CLASS="TYPE"
->GtsSurface</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN6015"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a list of <A
-HREF="gts-edges.html#GTSEDGE"
-><SPAN
-CLASS="TYPE"
->GtsEdge</SPAN
-></A
-> describing in counterclockwise order the
-boundary of the fan of summit <CODE
-CLASS="PARAMETER"
->v</CODE
->, the faces of the fan belonging to
-<CODE
-CLASS="PARAMETER"
->surface</CODE
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN6024"
-></A
-><H3
-><A
-NAME="GTS-VERTEX-ENCROACHES-EDGE"
-></A
->gts_vertex_encroaches_edge ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GBOOLEAN"
->gboolean</GTKDOCLINK
-> gts_vertex_encroaches_edge (<A
-HREF="gts-vertices.html#GTSVERTEX"
->GtsVertex</A
-> *v,
- <A
-HREF="gts-edges.html#GTSEDGE"
->GtsEdge</A
-> *e);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN6036"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->v</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-vertices.html#GTSVERTEX"
-><SPAN
-CLASS="TYPE"
->GtsVertex</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN6043"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->e</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-edges.html#GTSEDGE"
-><SPAN
-CLASS="TYPE"
->GtsEdge</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN6050"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> <TT
-CLASS="LITERAL"
->TRUE</TT
-> if <CODE
-CLASS="PARAMETER"
->v</CODE
-> is strictly contained in the diametral circle of <CODE
-CLASS="PARAMETER"
->e</CODE
->,
-<TT
-CLASS="LITERAL"
->FALSE</TT
-> otherwise.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN6059"
-></A
-><H3
-><A
-NAME="GTS-VERTICES-FROM-SEGMENTS"
-></A
->gts_vertices_from_segments ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GSLIST"
->GSList</GTKDOCLINK
->* gts_vertices_from_segments (<GTKDOCLINK
-HREF="GSLIST"
->GSList</GTKDOCLINK
-> *segments);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN6070"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->segments</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a list of <A
-HREF="gts-segments.html#GTSSEGMENT"
-><SPAN
-CLASS="TYPE"
->GtsSegment</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN6077"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a list of <A
-HREF="gts-vertices.html#GTSVERTEX"
-><SPAN
-CLASS="TYPE"
->GtsVertex</SPAN
-></A
->, vertices of a <A
-HREF="gts-segments.html#GTSSEGMENT"
-><SPAN
-CLASS="TYPE"
->GtsSegment</SPAN
-></A
-> in <CODE
-CLASS="PARAMETER"
->segments</CODE
->.
-Each element in the list is unique (no duplicates).</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN6087"
-></A
-><H3
-><A
-NAME="GTS-VERTICES-MERGE"
-></A
->gts_vertices_merge ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GLIST"
->GList</GTKDOCLINK
->* gts_vertices_merge (<GTKDOCLINK
-HREF="GLIST"
->GList</GTKDOCLINK
-> *vertices,
- <GTKDOCLINK
-HREF="GDOUBLE"
->gdouble</GTKDOCLINK
-> epsilon,
- <GTKDOCLINK
-HREF="GBOOLEAN"
->gboolean</GTKDOCLINK
-> (*check) (GtsVertex *, GtsVertex *));</PRE
-><P
->For each vertex v in <CODE
-CLASS="PARAMETER"
->vertices</CODE
-> look if there are any vertex of
-<CODE
-CLASS="PARAMETER"
->vertices</CODE
-> contained in a box centered on v of size 2*<CODE
-CLASS="PARAMETER"
->epsilon</CODE
->. If
-there are and if <CODE
-CLASS="PARAMETER"
->check</CODE
-> is not <TT
-CLASS="LITERAL"
->NULL</TT
-> and returns <TT
-CLASS="LITERAL"
->TRUE</TT
->, replace
-them with v (using <A
-HREF="gts-vertices.html#GTS-VERTEX-REPLACE"
-><CODE
-CLASS="FUNCTION"
->gts_vertex_replace()</CODE
-></A
->), destroy them and remove
-them from list. This is done efficiently using Kd-Trees.</P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN6108"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->vertices</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a list of <A
-HREF="gts-vertices.html#GTSVERTEX"
-><SPAN
-CLASS="TYPE"
->GtsVertex</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN6115"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->epsilon</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> half the size of the bounding box to consider for each vertex.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN6120"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->check</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> function called for each pair of vertices about to be merged
-or <TT
-CLASS="LITERAL"
->NULL</TT
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN6126"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the updated list of vertices. </P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-></DIV
-><TABLE
-CLASS="navigation"
-WIDTH="100%"
-SUMMARY="Navigation footer"
-CELLPADDING="2"
-CELLSPACING="2"
-><TR
-VALIGN="middle"
-><TD
-ALIGN="left"
-><A
-ACCESSKEY="p"
-HREF="gts-points.html"
-><B
-><<< Points</B
-></A
-></TD
-><TD
-ALIGN="right"
-><A
-ACCESSKEY="n"
-HREF="gts-segments.html"
-><B
->Segments >>></B
-></A
-></TD
-></TR
-></TABLE
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/gts-weighted-graph.html b/doc/html/gts-weighted-graph.html
deleted file mode 100644
index ccaa9af..0000000
--- a/doc/html/gts-weighted-graph.html
+++ /dev/null
@@ -1,1399 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
-<HTML
-><HEAD
-><TITLE
->Weighted graph</TITLE
-><META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
-REL="HOME"
-TITLE="GTS Library Reference Manual"
-HREF="book1.html"><LINK
-REL="UP"
-TITLE="Graph and operations on graphs"
-HREF="c17114.html"><LINK
-REL="PREVIOUS"
-TITLE="Graph class"
-HREF="gts-graph-class.html"><LINK
-REL="NEXT"
-TITLE="Progressive graph"
-HREF="gts-progressive-graph.html"><STYLE
-TYPE="text/css"
->.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</STYLE
-></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><TABLE
-WIDTH="100%"
-CLASS="navigation"
-SUMMARY="Navigation header"
-CELLPADDING="2"
-CELLSPACING="2"
-><TR
-VALIGN="middle"
-><TD
-><A
-ACCESSKEY="p"
-HREF="gts-graph-class.html"
-><IMG
-SRC="left.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Prev"></A
-></TD
-><TD
-><A
-ACCESSKEY="u"
-HREF="c17114.html"
-><IMG
-SRC="up.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Up"></A
-></TD
-><TD
-><A
-ACCESSKEY="h"
-HREF="book1.html"
-><IMG
-SRC="home.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Home"></A
-></TD
-><TH
-WIDTH="100%"
-align="center"
->GTS Library Reference Manual</TH
-><TD
-><A
-ACCESSKEY="n"
-HREF="gts-progressive-graph.html"
-><IMG
-SRC="right.png"
-WIDTH="24"
-HEIGHT="24"
-BORDER="0"
-ALT="Next"></A
-></TD
-></TR
-></TABLE
-><H1
-><A
-NAME="GTS-WEIGHTED-GRAPH"
-></A
->Weighted graph</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN18569"
-></A
-><H2
->Name</H2
->Weighted graph -- </DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN18572"
-></A
-><H2
->Synopsis</H2
-><PRE
-CLASS="SYNOPSIS"
->
#include <gts.h>
-
-
-#define <A
-HREF="gts-weighted-graph.html#GTS-WGEDGE-CLASS:CAPS"
->GTS_WGEDGE_CLASS</A
-> (klass)
-#define <A
-HREF="gts-weighted-graph.html#GTS-WGEDGE:CAPS"
->GTS_WGEDGE</A
-> (obj)
-#define <A
-HREF="gts-weighted-graph.html#GTS-IS-WGEDGE:CAPS"
->GTS_IS_WGEDGE</A
-> (obj)
- <A
-HREF="gts-weighted-graph.html#GTSWGEDGECLASS"
->GtsWGEdgeClass</A
->;
- <A
-HREF="gts-weighted-graph.html#GTSWGEDGE"
->GtsWGEdge</A
->;
-
-<A
-HREF="gts-weighted-graph.html#GTSWGEDGECLASS"
->GtsWGEdgeClass</A
->* <A
-HREF="gts-weighted-graph.html#GTS-WGEDGE-CLASS"
->gts_wgedge_class</A
-> (void);
-<A
-HREF="gts-weighted-graph.html#GTSWGEDGE"
->GtsWGEdge</A
->* <A
-HREF="gts-weighted-graph.html#GTS-WGEDGE-NEW"
->gts_wgedge_new</A
-> (<A
-HREF="gts-weighted-graph.html#GTSWGEDGECLASS"
->GtsWGEdgeClass</A
-> *klass,
- <A
-HREF="gts-graph-class.html#GTSGNODE"
->GtsGNode</A
-> *n1,
- <A
-HREF="gts-graph-class.html#GTSGNODE"
->GtsGNode</A
-> *n2,
- <GTKDOCLINK
-HREF="GFLOAT"
->gfloat</GTKDOCLINK
-> weight);
-
-#define <A
-HREF="gts-weighted-graph.html#GTS-WGNODE-CLASS:CAPS"
->GTS_WGNODE_CLASS</A
-> (klass)
-#define <A
-HREF="gts-weighted-graph.html#GTS-WGNODE:CAPS"
->GTS_WGNODE</A
-> (obj)
-#define <A
-HREF="gts-weighted-graph.html#GTS-IS-WGNODE:CAPS"
->GTS_IS_WGNODE</A
-> (obj)
- <A
-HREF="gts-weighted-graph.html#GTSWGNODECLASS"
->GtsWGNodeClass</A
->;
- <A
-HREF="gts-weighted-graph.html#GTSWGNODE"
->GtsWGNode</A
->;
-
-<A
-HREF="gts-weighted-graph.html#GTSWGNODECLASS"
->GtsWGNodeClass</A
->* <A
-HREF="gts-weighted-graph.html#GTS-WGNODE-CLASS"
->gts_wgnode_class</A
-> (void);
-<A
-HREF="gts-weighted-graph.html#GTSWGNODE"
->GtsWGNode</A
->* <A
-HREF="gts-weighted-graph.html#GTS-WGNODE-NEW"
->gts_wgnode_new</A
-> (<A
-HREF="gts-weighted-graph.html#GTSWGNODECLASS"
->GtsWGNodeClass</A
-> *klass,
- <GTKDOCLINK
-HREF="GFLOAT"
->gfloat</GTKDOCLINK
-> weight);
-
-#define <A
-HREF="gts-weighted-graph.html#GTS-WGRAPH-CLASS:CAPS"
->GTS_WGRAPH_CLASS</A
-> (klass)
-#define <A
-HREF="gts-weighted-graph.html#GTS-WGRAPH:CAPS"
->GTS_WGRAPH</A
-> (obj)
-#define <A
-HREF="gts-weighted-graph.html#GTS-IS-WGRAPH:CAPS"
->GTS_IS_WGRAPH</A
-> (obj)
- <A
-HREF="gts-weighted-graph.html#GTSWGRAPHCLASS"
->GtsWGraphClass</A
->;
- <A
-HREF="gts-weighted-graph.html#GTSWGRAPH"
->GtsWGraph</A
->;
-
-<A
-HREF="gts-weighted-graph.html#GTSWGRAPHCLASS"
->GtsWGraphClass</A
->* <A
-HREF="gts-weighted-graph.html#GTS-WGRAPH-CLASS"
->gts_wgraph_class</A
-> (void);
-<GTKDOCLINK
-HREF="GFLOAT"
->gfloat</GTKDOCLINK
-> <A
-HREF="gts-weighted-graph.html#GTS-WGRAPH-WEIGHT-MAX"
->gts_wgraph_weight_max</A
-> (<A
-HREF="gts-weighted-graph.html#GTSWGRAPH"
->GtsWGraph</A
-> *wg);</PRE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN18609"
-></A
-><H2
->Description</H2
-><P
-></P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN18612"
-></A
-><H2
->Details</H2
-><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN18614"
-></A
-><H3
-><A
-NAME="GTS-WGEDGE-CLASS:CAPS"
-></A
->GTS_WGEDGE_CLASS()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_WGEDGE_CLASS(klass)</PRE
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN18622"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->klass</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN18627"
-></A
-><H3
-><A
-NAME="GTS-WGEDGE:CAPS"
-></A
->GTS_WGEDGE()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_WGEDGE(obj)</PRE
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN18635"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->obj</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN18640"
-></A
-><H3
-><A
-NAME="GTS-IS-WGEDGE:CAPS"
-></A
->GTS_IS_WGEDGE()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_IS_WGEDGE(obj)</PRE
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN18648"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->obj</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN18653"
-></A
-><H3
-><A
-NAME="GTSWGEDGECLASS"
-></A
->GtsWGEdgeClass</H3
-><PRE
-CLASS="PROGRAMLISTING"
->typedef struct {
- GtsGEdgeClass parent_class;
-} GtsWGEdgeClass;</PRE
-><P
-></P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN18660"
-></A
-><H3
-><A
-NAME="GTSWGEDGE"
-></A
->GtsWGEdge</H3
-><PRE
-CLASS="PROGRAMLISTING"
->typedef struct {
- GtsGEdge gedge;
-
- gfloat weight;
-} GtsWGEdge;</PRE
-><P
-></P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN18667"
-></A
-><H3
-><A
-NAME="GTS-WGEDGE-CLASS"
-></A
->gts_wgedge_class ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-weighted-graph.html#GTSWGEDGECLASS"
->GtsWGEdgeClass</A
->* gts_wgedge_class (void);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN18677"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the <A
-HREF="gts-weighted-graph.html#GTSWGEDGECLASS"
-><SPAN
-CLASS="TYPE"
->GtsWGEdgeClass</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN18684"
-></A
-><H3
-><A
-NAME="GTS-WGEDGE-NEW"
-></A
->gts_wgedge_new ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-weighted-graph.html#GTSWGEDGE"
->GtsWGEdge</A
->* gts_wgedge_new (<A
-HREF="gts-weighted-graph.html#GTSWGEDGECLASS"
->GtsWGEdgeClass</A
-> *klass,
- <A
-HREF="gts-graph-class.html#GTSGNODE"
->GtsGNode</A
-> *n1,
- <A
-HREF="gts-graph-class.html#GTSGNODE"
->GtsGNode</A
-> *n2,
- <GTKDOCLINK
-HREF="GFLOAT"
->gfloat</GTKDOCLINK
-> weight);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN18698"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->klass</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-weighted-graph.html#GTSWGEDGECLASS"
-><SPAN
-CLASS="TYPE"
->GtsWGEdgeClass</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN18705"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->n1</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-graph-class.html#GTSGNODE"
-><SPAN
-CLASS="TYPE"
->GtsGNode</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN18712"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->n2</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> another <A
-HREF="gts-graph-class.html#GTSGNODE"
-><SPAN
-CLASS="TYPE"
->GtsGNode</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN18719"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->weight</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the weight of the new edge.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN18724"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a new <A
-HREF="gts-weighted-graph.html#GTSWGEDGE"
-><SPAN
-CLASS="TYPE"
->GtsWGEdge</SPAN
-></A
-> of weight <CODE
-CLASS="PARAMETER"
->weight</CODE
-> linking <CODE
-CLASS="PARAMETER"
->n1</CODE
-> and <CODE
-CLASS="PARAMETER"
->n2</CODE
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN18734"
-></A
-><H3
-><A
-NAME="GTS-WGNODE-CLASS:CAPS"
-></A
->GTS_WGNODE_CLASS()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_WGNODE_CLASS(klass)</PRE
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN18742"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->klass</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN18747"
-></A
-><H3
-><A
-NAME="GTS-WGNODE:CAPS"
-></A
->GTS_WGNODE()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_WGNODE(obj)</PRE
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN18755"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->obj</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN18760"
-></A
-><H3
-><A
-NAME="GTS-IS-WGNODE:CAPS"
-></A
->GTS_IS_WGNODE()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_IS_WGNODE(obj)</PRE
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN18768"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->obj</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN18773"
-></A
-><H3
-><A
-NAME="GTSWGNODECLASS"
-></A
->GtsWGNodeClass</H3
-><PRE
-CLASS="PROGRAMLISTING"
->typedef struct {
- GtsGNodeClass parent_class;
-} GtsWGNodeClass;</PRE
-><P
-></P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN18780"
-></A
-><H3
-><A
-NAME="GTSWGNODE"
-></A
->GtsWGNode</H3
-><PRE
-CLASS="PROGRAMLISTING"
->typedef struct {
- GtsGNode node;
-
- gfloat weight;
-} GtsWGNode;</PRE
-><P
-></P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN18787"
-></A
-><H3
-><A
-NAME="GTS-WGNODE-CLASS"
-></A
->gts_wgnode_class ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-weighted-graph.html#GTSWGNODECLASS"
->GtsWGNodeClass</A
->* gts_wgnode_class (void);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN18797"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the <A
-HREF="gts-weighted-graph.html#GTSWGNODECLASS"
-><SPAN
-CLASS="TYPE"
->GtsWGNodeClass</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN18804"
-></A
-><H3
-><A
-NAME="GTS-WGNODE-NEW"
-></A
->gts_wgnode_new ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-weighted-graph.html#GTSWGNODE"
->GtsWGNode</A
->* gts_wgnode_new (<A
-HREF="gts-weighted-graph.html#GTSWGNODECLASS"
->GtsWGNodeClass</A
-> *klass,
- <GTKDOCLINK
-HREF="GFLOAT"
->gfloat</GTKDOCLINK
-> weight);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN18816"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->klass</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-weighted-graph.html#GTSWGNODECLASS"
-><SPAN
-CLASS="TYPE"
->GtsWGNodeClass</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN18823"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->weight</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the weight of the <A
-HREF="gts-weighted-graph.html#GTSWGNODE"
-><SPAN
-CLASS="TYPE"
->GtsWGNode</SPAN
-></A
-> to create.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN18830"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a new <A
-HREF="gts-weighted-graph.html#GTSWGNODE"
-><SPAN
-CLASS="TYPE"
->GtsWGNode</SPAN
-></A
-> of weight <CODE
-CLASS="PARAMETER"
->weight</CODE
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN18838"
-></A
-><H3
-><A
-NAME="GTS-WGRAPH-CLASS:CAPS"
-></A
->GTS_WGRAPH_CLASS()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_WGRAPH_CLASS(klass)</PRE
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN18846"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->klass</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN18851"
-></A
-><H3
-><A
-NAME="GTS-WGRAPH:CAPS"
-></A
->GTS_WGRAPH()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_WGRAPH(obj)</PRE
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN18859"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->obj</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN18864"
-></A
-><H3
-><A
-NAME="GTS-IS-WGRAPH:CAPS"
-></A
->GTS_IS_WGRAPH()</H3
-><PRE
-CLASS="PROGRAMLISTING"
->#define GTS_IS_WGRAPH(obj)</PRE
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN18872"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->obj</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->
</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN18877"
-></A
-><H3
-><A
-NAME="GTSWGRAPHCLASS"
-></A
->GtsWGraphClass</H3
-><PRE
-CLASS="PROGRAMLISTING"
->typedef struct {
- GtsGraphClass parent_class;
-} GtsWGraphClass;</PRE
-><P
-></P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN18884"
-></A
-><H3
-><A
-NAME="GTSWGRAPH"
-></A
->GtsWGraph</H3
-><PRE
-CLASS="PROGRAMLISTING"
->typedef struct {
- GtsGraph graph;
-
- gfloat weight;
-} GtsWGraph;</PRE
-><P
-></P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN18891"
-></A
-><H3
-><A
-NAME="GTS-WGRAPH-CLASS"
-></A
->gts_wgraph_class ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gts-weighted-graph.html#GTSWGRAPHCLASS"
->GtsWGraphClass</A
->* gts_wgraph_class (void);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN18901"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the <A
-HREF="gts-weighted-graph.html#GTSWGRAPHCLASS"
-><SPAN
-CLASS="TYPE"
->GtsWGraphClass</SPAN
-></A
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN18908"
-></A
-><H3
-><A
-NAME="GTS-WGRAPH-WEIGHT-MAX"
-></A
->gts_wgraph_weight_max ()</H3
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="GFLOAT"
->gfloat</GTKDOCLINK
-> gts_wgraph_weight_max (<A
-HREF="gts-weighted-graph.html#GTSWGRAPH"
->GtsWGraph</A
-> *wg);</PRE
-><P
-></P
-><P
-></P
-><P
-></P
-><TABLE
-CLASS="variablelist"
-BORDER="0"
-CELLSPACING="0"
-CELLPADDING="4"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN18919"><SPAN
-STYLE="white-space: nowrap"
-><CODE
-CLASS="PARAMETER"
->wg</CODE
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> a <A
-HREF="gts-weighted-graph.html#GTSWGRAPH"
-><SPAN
-CLASS="TYPE"
->GtsWGraph</SPAN
-></A
->.</P
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><A
-NAME="AEN18926"><SPAN
-STYLE="white-space: nowrap"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> the maximum weight of any vertices belonging to <CODE
-CLASS="PARAMETER"
->g</CODE
->.</P
-></TD
-></TR
-></TBODY
-></TABLE
-></DIV
-></DIV
-><TABLE
-CLASS="navigation"
-WIDTH="100%"
-SUMMARY="Navigation footer"
-CELLPADDING="2"
-CELLSPACING="2"
-><TR
-VALIGN="middle"
-><TD
-ALIGN="left"
-><A
-ACCESSKEY="p"
-HREF="gts-graph-class.html"
-><B
-><<< Graph class</B
-></A
-></TD
-><TD
-ALIGN="right"
-><A
-ACCESSKEY="n"
-HREF="gts-progressive-graph.html"
-><B
->Progressive graph >>></B
-></A
-></TD
-></TR
-></TABLE
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/index.sgml b/doc/html/index.sgml
new file mode 100644
index 0000000..e69de29
diff --git a/examples/Makefile.in b/examples/Makefile.in
index 47962a8..62a5c3b 100644
--- a/examples/Makefile.in
+++ b/examples/Makefile.in
@@ -208,6 +208,7 @@ GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
GLIB_MKENUMS = @GLIB_MKENUMS@
GOBJECT_QUERY = @GOBJECT_QUERY@
+GREP = @GREP@
GTS_MAJOR_VERSION = @GTS_MAJOR_VERSION@
GTS_MICRO_VERSION = @GTS_MICRO_VERSION@
GTS_MINOR_VERSION = @GTS_MINOR_VERSION@
@@ -242,16 +243,14 @@ PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PKG_CONFIG = @PKG_CONFIG@
RANLIB = @RANLIB@
+SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
-ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
@@ -266,6 +265,9 @@ build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
exec_prefix = @exec_prefix@
glib_cflags = @glib_cflags@
glib_libs = @glib_libs@
@@ -278,17 +280,21 @@ host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
+htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
+localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
+psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
diff --git a/examples/cartesian.c b/examples/cartesian.c
index 219edd5..0ed821d 100644
--- a/examples/cartesian.c
+++ b/examples/cartesian.c
@@ -379,7 +379,8 @@ int main (int argc, char * argv[])
{"holes", no_argument, NULL, 'H'},
{"keep", no_argument, NULL, 'k'},
{"help", no_argument, NULL, 'h'},
- {"verbose", no_argument, NULL, 'v'}
+ {"verbose", no_argument, NULL, 'v'},
+ { NULL }
};
int option_index = 0;
switch ((c = getopt_long (argc, argv, "hvHk",
diff --git a/examples/cleanup.c b/examples/cleanup.c
index 00a4a76..4d0f1a8 100644
--- a/examples/cleanup.c
+++ b/examples/cleanup.c
@@ -153,7 +153,8 @@ int main (int argc, char * argv[])
{"merge", required_argument, NULL, 'm'},
{"sever", no_argument, NULL, 's'},
{"help", no_argument, NULL, 'h'},
- {"verbose", no_argument, NULL, 'v'}
+ {"verbose", no_argument, NULL, 'v'},
+ { NULL }
};
int option_index = 0;
switch ((c = getopt_long (argc, argv, "hvsm:bc",
diff --git a/examples/coarsen.c b/examples/coarsen.c
index c4efed5..799f7b2 100644
--- a/examples/coarsen.c
+++ b/examples/coarsen.c
@@ -160,7 +160,8 @@ int main (int argc, char * argv[])
{"vweight", required_argument, NULL, 'w'},
{"bweight", required_argument, NULL, 'b'},
{"sweight", required_argument, NULL, 's'},
- {"log", no_argument, NULL, 'L'}
+ {"log", no_argument, NULL, 'L'},
+ { NULL }
};
int option_index = 0;
switch ((c = getopt_long (argc, argv, "hvmc:n:lpf:w:b:s:La",
diff --git a/examples/delaunay.c b/examples/delaunay.c
index 7338652..4cf0e38 100644
--- a/examples/delaunay.c
+++ b/examples/delaunay.c
@@ -262,7 +262,8 @@ int main (int argc, char * argv[])
{"conform", no_argument, NULL, 'o'},
{"steiner", required_argument, NULL, 's'},
{"quality", required_argument, NULL, 'q'},
- {"area", required_argument, NULL, 'a'}
+ {"area", required_argument, NULL, 'a'},
+ { NULL }
};
int option_index = 0;
switch ((c = getopt_long (argc, argv, "hvbecf:os:q:a:HSrd",
diff --git a/examples/happrox.c b/examples/happrox.c
index 88770a8..029e11a 100644
--- a/examples/happrox.c
+++ b/examples/happrox.c
@@ -500,7 +500,8 @@ int main (int argc, char * argv[])
{"number", required_argument, NULL, 'n'},
{"cost", required_argument, NULL, 'c'},
{"help", no_argument, NULL, 'h'},
- {"verbose", no_argument, NULL, 'v'}
+ {"verbose", no_argument, NULL, 'v'},
+ { NULL }
};
int option_index = 0;
switch ((c = getopt_long (argc, argv, "hvn:c:lfr:kC",
diff --git a/examples/iso.c b/examples/iso.c
index f30d954..5a25e9e 100644
--- a/examples/iso.c
+++ b/examples/iso.c
@@ -116,7 +116,8 @@ int main (int argc, char * argv[])
{"barth", no_argument, NULL, 'b'},
{"clebsch", no_argument, NULL, 'c'},
{"help", no_argument, NULL, 'h'},
- {"verbose", no_argument, NULL, 'v'}
+ {"verbose", no_argument, NULL, 'v'},
+ { NULL }
};
int option_index = 0;
switch ((c = getopt_long (argc, argv, "hvbctd",
diff --git a/examples/merge.c b/examples/merge.c
index f2441b4..f3f0aed 100644
--- a/examples/merge.c
+++ b/examples/merge.c
@@ -44,6 +44,7 @@ int main (int argc, char * argv[])
static struct option long_options[] = {
{"help", no_argument, NULL, 'h'},
{"verbose", no_argument, NULL, 'v'},
+ { NULL }
};
int option_index = 0;
switch ((c = getopt_long (argc, argv, "hv",
diff --git a/examples/optimize.c b/examples/optimize.c
index 29298ea..f6488f9 100644
--- a/examples/optimize.c
+++ b/examples/optimize.c
@@ -208,7 +208,8 @@ int main (int argc, char * argv[])
#ifdef HAVE_GETOPT_LONG
static struct option long_options[] = {
{"help", no_argument, NULL, 'h'},
- {"verbose", no_argument, NULL, 'v'}
+ {"verbose", no_argument, NULL, 'v'},
+ { NULL }
};
int option_index = 0;
switch ((c = getopt_long (argc, argv, "hv",
diff --git a/examples/partition.c b/examples/partition.c
index ae8497d..e82c0dc 100644
--- a/examples/partition.c
+++ b/examples/partition.c
@@ -87,7 +87,8 @@ int main (int argc, char * argv[])
{"try", required_argument, NULL, 't'},
{"mmax", required_argument, NULL, 'm'},
{"nmin", required_argument, NULL, 'n'},
- {"imbalance", required_argument, NULL, 'i'}
+ {"imbalance", required_argument, NULL, 'i'},
+ { NULL }
};
int option_index = 0;
switch ((c = getopt_long (argc, argv, "hvt:m:n:i:",
diff --git a/examples/refine.c b/examples/refine.c
index 9a16da2..4ee514a 100644
--- a/examples/refine.c
+++ b/examples/refine.c
@@ -148,7 +148,8 @@ int main (int argc, char * argv[])
{"verbose", no_argument, NULL, 'v'},
{"number", required_argument, NULL, 'n'},
{"cost", required_argument, NULL, 'c'},
- {"log", no_argument, NULL, 'L'}
+ {"log", no_argument, NULL, 'L'},
+ { NULL }
};
int option_index = 0;
switch ((c = getopt_long (argc, argv, "hvc:n:L",
diff --git a/examples/set.c b/examples/set.c
index 715aa00..95ae09c 100644
--- a/examples/set.c
+++ b/examples/set.c
@@ -65,7 +65,8 @@ int main (int argc, char * argv[])
{"inter", no_argument, NULL, 'i'},
{"self", no_argument, NULL, 's'},
{"help", no_argument, NULL, 'h'},
- {"verbose", no_argument, NULL, 'v'}
+ {"verbose", no_argument, NULL, 'v'},
+ { NULL }
};
int option_index = 0;
switch ((c = getopt_long (argc, argv, "hvis",
@@ -86,7 +87,7 @@ int main (int argc, char * argv[])
fprintf (stderr,
"Usage: set [OPTION] OPERATION FILE1 FILE2\n"
"Compute set operations between surfaces, where OPERATION is either.\n"
- "union, inter, diff.\n"
+ "union, inter, diff, all.\n"
"\n"
" -i --inter output an OOGL (Geomview) representation of the curve\n"
" intersection of the surfaces\n"
@@ -242,6 +243,47 @@ int main (int argc, char * argv[])
gts_surface_foreach_face (si->s2, (GtsFunc) gts_triangle_revert, NULL);
gts_surface_foreach_face (s2, (GtsFunc) gts_triangle_revert, NULL);
}
+ else if (!strcmp (operation, "all")) {
+ GtsSurface * s1out2, * s1in2, * s2out1, * s2in1;
+ FILE * fp;
+
+ s1out2 = gts_surface_new (gts_surface_class (),
+ gts_face_class (),
+ gts_edge_class (),
+ gts_vertex_class ());
+ s1in2 = gts_surface_new (gts_surface_class (),
+ gts_face_class (),
+ gts_edge_class (),
+ gts_vertex_class ());
+ s2out1 = gts_surface_new (gts_surface_class (),
+ gts_face_class (),
+ gts_edge_class (),
+ gts_vertex_class ());
+ s2in1 = gts_surface_new (gts_surface_class (),
+ gts_face_class (),
+ gts_edge_class (),
+ gts_vertex_class ());
+ gts_surface_inter_boolean (si, s1out2, GTS_1_OUT_2);
+ gts_surface_inter_boolean (si, s1in2, GTS_1_IN_2);
+ gts_surface_inter_boolean (si, s2out1, GTS_2_OUT_1);
+ gts_surface_inter_boolean (si, s2in1, GTS_2_IN_1);
+ fp = fopen ("s1out2.gts", "w");
+ gts_surface_write (s1out2, fp);
+ fclose (fp);
+ fp = fopen ("s1in2.gts", "w");
+ gts_surface_write (s1in2, fp);
+ fclose (fp);
+ fp = fopen ("s2out1.gts", "w");
+ gts_surface_write (s2out1, fp);
+ fclose (fp);
+ fp = fopen ("s2in1.gts", "w");
+ gts_surface_write (s2in1, fp);
+ fclose (fp);
+ gts_object_destroy (GTS_OBJECT (s1out2));
+ gts_object_destroy (GTS_OBJECT (s1in2));
+ gts_object_destroy (GTS_OBJECT (s2out1));
+ gts_object_destroy (GTS_OBJECT (s2in1));
+ }
else {
fprintf (stderr,
"set: operation `%s' unknown\n"
diff --git a/examples/smooth.c b/examples/smooth.c
index aad2b7e..f9a4c68 100644
--- a/examples/smooth.c
+++ b/examples/smooth.c
@@ -107,7 +107,8 @@ int main (int argc, char * argv[])
static struct option long_options[] = {
{"fold", required_argument, NULL, 'f'},
{"help", no_argument, NULL, 'h'},
- {"verbose", no_argument, NULL, 'v'}
+ {"verbose", no_argument, NULL, 'v'},
+ { NULL }
};
int option_index = 0;
switch ((c = getopt_long (argc, argv, "hvf:",
diff --git a/examples/sphere.c b/examples/sphere.c
index 156e8f3..2b1ccdd 100644
--- a/examples/sphere.c
+++ b/examples/sphere.c
@@ -47,7 +47,8 @@ int main (int argc, char * argv[])
#ifdef HAVE_GETOPT_LONG
static struct option long_options[] = {
{"help", no_argument, NULL, 'h'},
- {"verbose", no_argument, NULL, 'v'}
+ {"verbose", no_argument, NULL, 'v'},
+ { NULL }
};
int option_index = 0;
switch ((c = getopt_long (argc, argv, "hv",
diff --git a/examples/split.c b/examples/split.c
index 17e4ec8..a0c1780 100644
--- a/examples/split.c
+++ b/examples/split.c
@@ -48,7 +48,8 @@ int main (int argc, char * argv[])
#ifdef HAVE_GETOPT_LONG
static struct option long_options[] = {
{"help", no_argument, NULL, 'h'},
- {"verbose", no_argument, NULL, 'v'}
+ {"verbose", no_argument, NULL, 'v'},
+ { NULL }
};
int option_index = 0;
switch ((c = getopt_long (argc, argv, "hv",
diff --git a/examples/stripe.c b/examples/stripe.c
index eff0474..1bfc9d6 100644
--- a/examples/stripe.c
+++ b/examples/stripe.c
@@ -46,7 +46,8 @@ int main (int argc, char * argv[])
#ifdef HAVE_GETOPT_LONG
static struct option long_options[] = {
{"help", no_argument, NULL, 'h'},
- {"verbose", no_argument, NULL, 'v'}
+ {"verbose", no_argument, NULL, 'v'},
+ { NULL }
};
int option_index = 0;
switch ((c = getopt_long (argc, argv, "hv",
diff --git a/examples/transform.c b/examples/transform.c
index 3d45e22..242b0ac 100644
--- a/examples/transform.c
+++ b/examples/transform.c
@@ -66,6 +66,7 @@ int main (int argc, char * argv[])
{"normalize", no_argument, NULL, 'o'},
{"help", no_argument, NULL, 'h'},
{"verbose", no_argument, NULL, 'v'},
+ { NULL }
};
int option_index = 0;
switch ((c = getopt_long (argc, argv, "hvr:m:n:s:R:M:N:it:u:w:o",
diff --git a/examples/traverse.c b/examples/traverse.c
index afa3d9a..d960fcd 100644
--- a/examples/traverse.c
+++ b/examples/traverse.c
@@ -192,7 +192,8 @@ int main (int argc, char * argv[])
static struct option long_options[] = {
{"cmap", required_argument, NULL, 'c'},
{"help", no_argument, NULL, 'h'},
- {"verbose", no_argument, NULL, 'v'}
+ {"verbose", no_argument, NULL, 'v'},
+ { NULL }
};
int option_index = 0;
switch ((c = getopt_long (argc, argv, "hvc:",
diff --git a/examples/volume.c b/examples/volume.c
index 5bb97aa..ddee498 100644
--- a/examples/volume.c
+++ b/examples/volume.c
@@ -47,7 +47,8 @@ int main (int argc, char * argv[])
static struct option long_options[] = {
{"cm", no_argument, NULL, 'c'},
{"help", no_argument, NULL, 'h'},
- {"verbose", no_argument, NULL, 'v'}
+ {"verbose", no_argument, NULL, 'v'},
+ { NULL }
};
int option_index = 0;
switch ((c = getopt_long (argc, argv, "hvc",
@@ -64,7 +65,7 @@ int main (int argc, char * argv[])
case 'h': /* help */
fprintf (stderr,
"Usage: volume [OPTION] < file.gts\n"
- "Compute the volume of the domain bounded by the surface defined by file.srf.\n"
+ "Compute the volume of the domain bounded by the surface defined by file.gts.\n"
"Print the volume and exit successfully if the surface is a closed orientable\n"
"manifold. Exit unsuccessfully otherwise.\n"
"\n"
@@ -96,8 +97,10 @@ int main (int argc, char * argv[])
}
/* if verbose on print stats */
- if (verbose)
+ if (verbose) {
gts_surface_print_stats (s, stdout);
+ printf ("# Total area: %g\n", gts_surface_area (s));
+ }
/* test if surface is a closed and orientable manifold.
we don't need to test if s is a manifold since both tests below
diff --git a/gts.pc.in b/gts.pc.in
index bcd4014..39626d7 100644
--- a/gts.pc.in
+++ b/gts.pc.in
@@ -7,5 +7,5 @@ Name: GTS
Description: GNU Triangulated Surface Library
Version: @VERSION@
Requires: glib-2.0,gthread-2.0,gmodule-2.0
-Libs: -L${libdir} @LIBS@ -lgts
+Libs: -L${libdir} @LIBS@ -lgts -lm
Cflags: -I${includedir}
diff --git a/ltmain.sh b/ltmain.sh
index db4982d..2160ef7 100644
--- a/ltmain.sh
+++ b/ltmain.sh
@@ -1,8 +1,8 @@
# ltmain.sh - Provide generalized library-building support services.
# NOTE: Changing this file will not affect anything until you rerun configure.
#
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005
-# Free Software Foundation, Inc.
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006,
+# 2007 Free Software Foundation, Inc.
# Originally by Gordon Matzigkeit <gord at gnu.ai.mit.edu>, 1996
#
# This program is free software; you can redistribute it and/or modify
@@ -43,14 +43,22 @@ EXIT_FAILURE=1
PROGRAM=ltmain.sh
PACKAGE=libtool
-VERSION="1.5.20 Debian 1.5.20-2"
-TIMESTAMP=" (1.1220.2.287 2005/08/31 18:54:15)"
-
-# See if we are running on zsh, and set the options which allow our
-# commands through without removal of \ escapes.
-if test -n "${ZSH_VERSION+set}" ; then
+VERSION="1.5.24 Debian 1.5.24-1ubuntu1"
+TIMESTAMP=" (1.1220.2.456 2007/06/24 02:25:32)"
+
+# Be Bourne compatible (taken from Autoconf:_AS_BOURNE_COMPATIBLE).
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
fi
+BIN_SH=xpg4; export BIN_SH # for Tru64
+DUALCASE=1; export DUALCASE # for MKS sh
# Check that we have a working $echo.
if test "X$1" = X--no-reexec; then
@@ -105,12 +113,14 @@ esac
# These must not be set unconditionally because not all systems understand
# e.g. LANG=C (notably SCO).
# We save the old values to restore during execute mode.
-if test "${LC_ALL+set}" = set; then
- save_LC_ALL="$LC_ALL"; LC_ALL=C; export LC_ALL
-fi
-if test "${LANG+set}" = set; then
- save_LANG="$LANG"; LANG=C; export LANG
-fi
+for lt_var in LANG LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
+do
+ eval "if test \"\${$lt_var+set}\" = set; then
+ save_$lt_var=\$$lt_var
+ $lt_var=C
+ export $lt_var
+ fi"
+done
# Make sure IFS has a sensible default
lt_nl='
@@ -132,13 +142,54 @@ run=
show="$echo"
show_help=
execute_dlfiles=
+duplicate_deps=no
+preserve_args=
lo2o="s/\\.lo\$/.${objext}/"
o2lo="s/\\.${objext}\$/.lo/"
+extracted_archives=
+extracted_serial=0
#####################################
# Shell function definitions:
# This seems to be the best place for them
+# func_mktempdir [string]
+# Make a temporary directory that won't clash with other running
+# libtool processes, and avoids race conditions if possible. If
+# given, STRING is the basename for that directory.
+func_mktempdir ()
+{
+ my_template="${TMPDIR-/tmp}/${1-$progname}"
+
+ if test "$run" = ":"; then
+ # Return a directory name, but don't create it in dry-run mode
+ my_tmpdir="${my_template}-$$"
+ else
+
+ # If mktemp works, use that first and foremost
+ my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null`
+
+ if test ! -d "$my_tmpdir"; then
+ # Failing that, at least try and use $RANDOM to avoid a race
+ my_tmpdir="${my_template}-${RANDOM-0}$$"
+
+ save_mktempdir_umask=`umask`
+ umask 0077
+ $mkdir "$my_tmpdir"
+ umask $save_mktempdir_umask
+ fi
+
+ # If we're not in dry-run mode, bomb out on failure
+ test -d "$my_tmpdir" || {
+ $echo "cannot create temporary directory \`$my_tmpdir'" 1>&2
+ exit $EXIT_FAILURE
+ }
+ fi
+
+ $echo "X$my_tmpdir" | $Xsed
+}
+
+
# func_win32_libid arg
# return the library type of file 'arg'
#
@@ -157,12 +208,17 @@ func_win32_libid ()
if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | \
$EGREP -e 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then
win32_nmres=`eval $NM -f posix -A $1 | \
- sed -n -e '1,100{/ I /{x;/import/!{s/^/import/;h;p;};x;};}'`
- if test "X$win32_nmres" = "Ximport" ; then
- win32_libid_type="x86 archive import"
- else
- win32_libid_type="x86 archive static"
- fi
+ $SED -n -e '1,100{
+ / I /{
+ s,.*,import,
+ p
+ q
+ }
+ }'`
+ case $win32_nmres in
+ import*) win32_libid_type="x86 archive import";;
+ *) win32_libid_type="x86 archive static";;
+ esac
fi
;;
*DLL*)
@@ -289,15 +345,25 @@ func_extract_archives ()
*) my_xabs=`pwd`"/$my_xlib" ;;
esac
my_xlib=`$echo "X$my_xlib" | $Xsed -e 's%^.*/%%'`
- my_xdir="$my_gentop/$my_xlib"
+ my_xlib_u=$my_xlib
+ while :; do
+ case " $extracted_archives " in
+ *" $my_xlib_u "*)
+ extracted_serial=`expr $extracted_serial + 1`
+ my_xlib_u=lt$extracted_serial-$my_xlib ;;
+ *) break ;;
+ esac
+ done
+ extracted_archives="$extracted_archives $my_xlib_u"
+ my_xdir="$my_gentop/$my_xlib_u"
$show "${rm}r $my_xdir"
$run ${rm}r "$my_xdir"
$show "$mkdir $my_xdir"
$run $mkdir "$my_xdir"
- status=$?
- if test "$status" -ne 0 && test ! -d "$my_xdir"; then
- exit $status
+ exit_status=$?
+ if test "$exit_status" -ne 0 && test ! -d "$my_xdir"; then
+ exit $exit_status
fi
case $host in
*-darwin*)
@@ -352,6 +418,8 @@ func_extract_archives ()
# Darwin sucks
eval std_shrext=\"$shrext_cmds\"
+disable_libs=no
+
# Parse our command line options once, thoroughly.
while test "$#" -gt 0
do
@@ -414,11 +482,12 @@ do
;;
--version)
- $echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP"
- $echo
- $echo "Copyright (C) 2005 Free Software Foundation, Inc."
- $echo "This is free software; see the source for copying conditions. There is NO"
- $echo "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+ echo "\
+$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP
+
+Copyright (C) 2007 Free Software Foundation, Inc.
+This is free software; see the source for copying conditions. There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
exit $?
;;
@@ -468,7 +537,11 @@ do
preserve_args="$preserve_args $arg"
;;
- --tag) prevopt="--tag" prev=tag ;;
+ --tag)
+ prevopt="--tag"
+ prev=tag
+ preserve_args="$preserve_args --tag"
+ ;;
--tag=*)
set tag "$optarg" ${1+"$@"}
shift
@@ -500,6 +573,18 @@ if test -n "$prevopt"; then
exit $EXIT_FAILURE
fi
+case $disable_libs in
+no)
+ ;;
+shared)
+ build_libtool_libs=no
+ build_old_libs=yes
+ ;;
+static)
+ build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac`
+ ;;
+esac
+
# If this variable is set in any of the actions, the command in it
# will be execed at the end. This prevents here-documents from being
# left over by shells.
@@ -699,9 +784,10 @@ if test -z "$show_help"; then
*.class) xform=class ;;
*.cpp) xform=cpp ;;
*.cxx) xform=cxx ;;
- *.f90) xform=f90 ;;
+ *.[fF][09]?) xform=[fF][09]. ;;
*.for) xform=for ;;
*.java) xform=java ;;
+ *.obj) xform=obj ;;
esac
libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"`
@@ -856,9 +942,9 @@ EOF
if test ! -d "${xdir}$objdir"; then
$show "$mkdir ${xdir}$objdir"
$run $mkdir ${xdir}$objdir
- status=$?
- if test "$status" -ne 0 && test ! -d "${xdir}$objdir"; then
- exit $status
+ exit_status=$?
+ if test "$exit_status" -ne 0 && test ! -d "${xdir}$objdir"; then
+ exit $exit_status
fi
fi
@@ -1061,6 +1147,7 @@ EOF
no_install=no
objs=
non_pic_objects=
+ notinst_path= # paths that contain not-installed libtool libraries
precious_files_regex=
prefer_static_libs=no
preload=no
@@ -1081,22 +1168,32 @@ EOF
for arg
do
case $arg in
- -all-static | -static)
- if test "X$arg" = "X-all-static"; then
+ -all-static | -static | -static-libtool-libs)
+ case $arg in
+ -all-static)
if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
$echo "$modename: warning: complete static linking is impossible in this configuration" 1>&2
fi
if test -n "$link_static_flag"; then
dlopen_self=$dlopen_self_static
fi
- else
+ prefer_static_libs=yes
+ ;;
+ -static)
if test -z "$pic_flag" && test -n "$link_static_flag"; then
dlopen_self=$dlopen_self_static
fi
- fi
+ prefer_static_libs=built
+ ;;
+ -static-libtool-libs)
+ if test -z "$pic_flag" && test -n "$link_static_flag"; then
+ dlopen_self=$dlopen_self_static
+ fi
+ prefer_static_libs=yes
+ ;;
+ esac
build_libtool_libs=no
build_old_libs=yes
- prefer_static_libs=yes
break
;;
esac
@@ -1271,6 +1368,11 @@ EOF
if test -z "$pic_object" || test "$pic_object" = none ; then
arg="$non_pic_object"
fi
+ else
+ # If the PIC object exists, use it instead.
+ # $xdir was prepended to $pic_object above.
+ non_pic_object="$pic_object"
+ non_pic_objects="$non_pic_objects $non_pic_object"
fi
else
# Only an error if not doing a dry-run.
@@ -1354,8 +1456,8 @@ EOF
prev=
continue
;;
- darwin_framework)
- compiler_flags="$compiler_flags $arg"
+ darwin_framework|darwin_framework_skip)
+ test "$prev" = "darwin_framework" && compiler_flags="$compiler_flags $arg"
compile_command="$compile_command $arg"
finalize_command="$finalize_command $arg"
prev=
@@ -1419,13 +1521,17 @@ EOF
continue
;;
- -framework|-arch)
- prev=darwin_framework
- compiler_flags="$compiler_flags $arg"
+ -framework|-arch|-isysroot)
+ case " $CC " in
+ *" ${arg} ${1} "* | *" ${arg} ${1} "*)
+ prev=darwin_framework_skip ;;
+ *) compiler_flags="$compiler_flags $arg"
+ prev=darwin_framework ;;
+ esac
compile_command="$compile_command $arg"
finalize_command="$finalize_command $arg"
- continue
- ;;
+ continue
+ ;;
-inst-prefix-dir)
prev=inst_prefix
@@ -1453,7 +1559,8 @@ EOF
absdir=`cd "$dir" && pwd`
if test -z "$absdir"; then
$echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2
- exit $EXIT_FAILURE
+ absdir="$dir"
+ notinst_path="$notinst_path $dir"
fi
dir="$absdir"
;;
@@ -1467,10 +1574,15 @@ EOF
esac
case $host in
*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
+ testbindir=`$echo "X$dir" | $Xsed -e 's*/lib$*/bin*'`
case :$dllsearchpath: in
*":$dir:"*) ;;
*) dllsearchpath="$dllsearchpath:$dir";;
esac
+ case :$dllsearchpath: in
+ *":$testbindir:"*) ;;
+ *) dllsearchpath="$dllsearchpath:$testbindir";;
+ esac
;;
esac
continue
@@ -1479,11 +1591,11 @@ EOF
-l*)
if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then
case $host in
- *-*-cygwin* | *-*-pw32* | *-*-beos*)
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos*)
# These systems don't actually have a C or math library (as such)
continue
;;
- *-*-mingw* | *-*-os2*)
+ *-*-os2*)
# These systems don't actually have a C library (as such)
test "X$arg" = "X-lc" && continue
;;
@@ -1495,6 +1607,15 @@ EOF
# Rhapsody C and math libraries are in the System framework
deplibs="$deplibs -framework System"
continue
+ ;;
+ *-*-sco3.2v5* | *-*-sco5v6*)
+ # Causes problems with __ctype
+ test "X$arg" = "X-lc" && continue
+ ;;
+ *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
+ # Compiler inserts libc in the correct place for threads to work
+ test "X$arg" = "X-lc" && continue
+ ;;
esac
elif test "X$arg" = "X-lc_r"; then
case $host in
@@ -1518,7 +1639,7 @@ EOF
continue
;;
- -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe)
+ -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
compiler_flags="$compiler_flags $arg"
compile_command="$compile_command $arg"
finalize_command="$finalize_command $arg"
@@ -1536,7 +1657,13 @@ EOF
# +DA*, +DD* enable 64-bit mode on the HP compiler
# -q* pass through compiler args for the IBM compiler
# -m* pass through architecture-specific compiler args for GCC
- -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*)
+ # -m*, -t[45]*, -txscale* pass through architecture-specific
+ # compiler args for GCC
+ # -p, -pg, --coverage, -fprofile-* pass through profiling flag for GCC
+ # -F/path gives path to uninstalled frameworks, gcc on darwin
+ # @file GCC response files
+ -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
+ -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*)
# Unknown arguments in both finalize_command and compile_command need
# to be aesthetically quoted because they are evaled later.
@@ -1548,9 +1675,7 @@ EOF
esac
compile_command="$compile_command $arg"
finalize_command="$finalize_command $arg"
- if test "$with_gcc" = "yes" ; then
- compiler_flags="$compiler_flags $arg"
- fi
+ compiler_flags="$compiler_flags $arg"
continue
;;
@@ -1566,9 +1691,9 @@ EOF
-no-install)
case $host in
- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin*)
# The PATH hackery in wrapper scripts is required on Windows
- # in order for the loader to find any dlls it needs.
+ # and Darwin in order for the loader to find any dlls it needs.
$echo "$modename: warning: \`-no-install' is ignored for $host" 1>&2
$echo "$modename: warning: assuming \`-no-fast-install' instead" 1>&2
fast_install=no
@@ -1627,7 +1752,7 @@ EOF
continue
;;
- -static)
+ -static | -static-libtool-libs)
# The effects of -static are defined in a previous loop.
# We used to do the same as -all-static on platforms that
# didn't have a PIC flag, but the assumption that the effects
@@ -1788,6 +1913,11 @@ EOF
if test -z "$pic_object" || test "$pic_object" = none ; then
arg="$non_pic_object"
fi
+ else
+ # If the PIC object exists, use it instead.
+ # $xdir was prepended to $pic_object above.
+ non_pic_object="$pic_object"
+ non_pic_objects="$non_pic_objects $non_pic_object"
fi
else
# Only an error if not doing a dry-run.
@@ -1893,9 +2023,9 @@ EOF
if test ! -d "$output_objdir"; then
$show "$mkdir $output_objdir"
$run $mkdir $output_objdir
- status=$?
- if test "$status" -ne 0 && test ! -d "$output_objdir"; then
- exit $status
+ exit_status=$?
+ if test "$exit_status" -ne 0 && test ! -d "$output_objdir"; then
+ exit $exit_status
fi
fi
@@ -1958,7 +2088,6 @@ EOF
newlib_search_path=
need_relink=no # whether we're linking any uninstalled libtool libraries
notinst_deplibs= # not-installed libtool libraries
- notinst_path= # paths that contain not-installed libtool libraries
case $linkmode in
lib)
passes="conv link"
@@ -2008,7 +2137,7 @@ EOF
lib=
found=no
case $deplib in
- -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe)
+ -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
if test "$linkmode,$pass" = "prog,link"; then
compile_deplibs="$deplib $compile_deplibs"
finalize_deplibs="$deplib $finalize_deplibs"
@@ -2197,7 +2326,7 @@ EOF
esac # case $deplib
if test "$found" = yes || test -f "$lib"; then :
else
- $echo "$modename: cannot find the library \`$lib'" 1>&2
+ $echo "$modename: cannot find the library \`$lib' or unhandled argument \`$deplib'" 1>&2
exit $EXIT_FAILURE
fi
@@ -2404,7 +2533,9 @@ EOF
if test "$linkmode,$pass" = "prog,link"; then
if test -n "$library_names" &&
- { test "$prefer_static_libs" = no || test -z "$old_library"; }; then
+ { { test "$prefer_static_libs" = no ||
+ test "$prefer_static_libs,$installed" = "built,yes"; } ||
+ test -z "$old_library"; }; then
# We need to hardcode the library path
if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then
# Make sure the rpath contains only unique directories.
@@ -2448,8 +2579,12 @@ EOF
fi
link_static=no # Whether the deplib will be linked statically
+ use_static_libs=$prefer_static_libs
+ if test "$use_static_libs" = built && test "$installed" = yes ; then
+ use_static_libs=no
+ fi
if test -n "$library_names" &&
- { test "$prefer_static_libs" = no || test -z "$old_library"; }; then
+ { test "$use_static_libs" = no || test -z "$old_library"; }; then
if test "$installed" = no; then
notinst_deplibs="$notinst_deplibs $lib"
need_relink=yes
@@ -2562,11 +2697,15 @@ EOF
if test "$hardcode_direct" = no; then
add="$dir/$linklib"
case $host in
- *-*-sco3.2v5* ) add_dir="-L$dir" ;;
+ *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;;
+ *-*-sysv4*uw2*) add_dir="-L$dir" ;;
+ *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \
+ *-*-unixware7*) add_dir="-L$dir" ;;
*-*-darwin* )
# if the lib is a module then we can not link against
# it, someone is ignoring the new warnings I added
- if /usr/bin/file -L $add 2> /dev/null | $EGREP "bundle" >/dev/null ; then
+ if /usr/bin/file -L $add 2> /dev/null |
+ $EGREP ": [^:]* bundle" >/dev/null ; then
$echo "** Warning, lib $linklib is a module, not a shared library"
if test -z "$old_library" ; then
$echo
@@ -3092,7 +3231,7 @@ EOF
# which has an extra 1 added just for fun
#
case $version_type in
- darwin|linux|osf|windows)
+ darwin|linux|osf|windows|none)
current=`expr $number_major + $number_minor`
age="$number_minor"
revision="$number_revision"
@@ -3103,9 +3242,10 @@ EOF
age="0"
;;
irix|nonstopux)
- current=`expr $number_major + $number_minor - 1`
+ current=`expr $number_major + $number_minor`
age="$number_minor"
revision="$number_minor"
+ lt_irix_increment=no
;;
*)
$echo "$modename: unknown library version type \`$version_type'" 1>&2
@@ -3169,7 +3309,8 @@ EOF
versuffix="$major.$age.$revision"
# Darwin ld doesn't like 0 for these options...
minor_current=`expr $current + 1`
- verstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision"
+ xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision"
+ verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
;;
freebsd-aout)
@@ -3183,8 +3324,11 @@ EOF
;;
irix | nonstopux)
- major=`expr $current - $age + 1`
-
+ if test "X$lt_irix_increment" = "Xno"; then
+ major=`expr $current - $age`
+ else
+ major=`expr $current - $age + 1`
+ fi
case $version_type in
nonstopux) verstring_prefix=nonstopux ;;
*) verstring_prefix=sgi ;;
@@ -3321,11 +3465,11 @@ EOF
fi
# Eliminate all temporary directories.
- for path in $notinst_path; do
- lib_search_path=`$echo "$lib_search_path " | ${SED} -e 's% $path % %g'`
- deplibs=`$echo "$deplibs " | ${SED} -e 's% -L$path % %g'`
- dependency_libs=`$echo "$dependency_libs " | ${SED} -e 's% -L$path % %g'`
- done
+ #for path in $notinst_path; do
+ # lib_search_path=`$echo "$lib_search_path " | ${SED} -e "s% $path % %g"`
+ # deplibs=`$echo "$deplibs " | ${SED} -e "s% -L$path % %g"`
+ # dependency_libs=`$echo "$dependency_libs " | ${SED} -e "s% -L$path % %g"`
+ #done
if test -n "$xrpath"; then
# If the user specified any rpath flags, then add them.
@@ -3377,7 +3521,12 @@ EOF
;;
*-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
# Do not include libc due to us having libc/libc_r.
- test "X$arg" = "X-lc" && continue
+ ;;
+ *-*-sco3.2v5* | *-*-sco5v6*)
+ # Causes problems with __ctype
+ ;;
+ *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
+ # Compiler inserts libc in the correct place for threads to work
;;
*)
# Add libc to deplibs on all other systems if necessary.
@@ -3421,13 +3570,12 @@ EOF
int main() { return 0; }
EOF
$rm conftest
- $LTCC -o conftest conftest.c $deplibs
- if test "$?" -eq 0 ; then
+ if $LTCC $LTCFLAGS -o conftest conftest.c $deplibs; then
ldd_output=`ldd conftest`
for i in $deplibs; do
name=`expr $i : '-l\(.*\)'`
# If $name is empty we are operating on a -L argument.
- if test "$name" != "" && test "$name" -ne "0"; then
+ if test "$name" != "" && test "$name" != "0"; then
if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
case " $predeps $postdeps " in
*" $i "*)
@@ -3466,9 +3614,7 @@ EOF
# If $name is empty we are operating on a -L argument.
if test "$name" != "" && test "$name" != "0"; then
$rm conftest
- $LTCC -o conftest conftest.c $i
- # Did it work?
- if test "$?" -eq 0 ; then
+ if $LTCC $LTCFLAGS -o conftest conftest.c $i; then
ldd_output=`ldd conftest`
if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
case " $predeps $postdeps " in
@@ -3500,7 +3646,7 @@ EOF
droppeddeps=yes
$echo
$echo "*** Warning! Library $i is needed by this library but I was not able to"
- $echo "*** make it link in! You will probably need to install it or some"
+ $echo "*** make it link in! You will probably need to install it or some"
$echo "*** library that it depends on before this library will be fully"
$echo "*** functional. Installing it before continuing would be even better."
fi
@@ -3713,6 +3859,35 @@ EOF
deplibs=$newdeplibs
fi
+
+ # move library search paths that coincide with paths to not yet
+ # installed libraries to the beginning of the library search list
+ new_libs=
+ for path in $notinst_path; do
+ case " $new_libs " in
+ *" -L$path/$objdir "*) ;;
+ *)
+ case " $deplibs " in
+ *" -L$path/$objdir "*)
+ new_libs="$new_libs -L$path/$objdir" ;;
+ esac
+ ;;
+ esac
+ done
+ for deplib in $deplibs; do
+ case $deplib in
+ -L*)
+ case " $new_libs " in
+ *" $deplib "*) ;;
+ *) new_libs="$new_libs $deplib" ;;
+ esac
+ ;;
+ *) new_libs="$new_libs $deplib" ;;
+ esac
+ done
+ deplibs="$new_libs"
+
+
# All the library-specific variables (install_libdir is set above).
library_names=
old_library=
@@ -3757,7 +3932,10 @@ EOF
test -n "$hardcode_libdirs"; then
libdir="$hardcode_libdirs"
if test -n "$hardcode_libdir_flag_spec_ld"; then
- eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\"
+ case $archive_cmds in
+ *\$LD*) eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\" ;;
+ *) eval dep_rpath=\"$hardcode_libdir_flag_spec\" ;;
+ esac
else
eval dep_rpath=\"$hardcode_libdir_flag_spec\"
fi
@@ -3796,6 +3974,7 @@ EOF
fi
lib="$output_objdir/$realname"
+ linknames=
for link
do
linknames="$linknames $link"
@@ -4115,12 +4294,14 @@ EOF
reload_conv_objs=
gentop=
# reload_cmds runs $LD directly, so let us get rid of
- # -Wl from whole_archive_flag_spec
+ # -Wl from whole_archive_flag_spec and hope we can get by with
+ # turning comma into space..
wl=
if test -n "$convenience"; then
if test -n "$whole_archive_flag_spec"; then
- eval reload_conv_objs=\"\$reload_objs $whole_archive_flag_spec\"
+ eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\"
+ reload_conv_objs=$reload_objs\ `$echo "X$tmp_whole_archive_flags" | $Xsed -e 's|,| |g'`
else
gentop="$output_objdir/${obj}x"
generated="$generated $gentop"
@@ -4227,6 +4408,35 @@ EOF
;;
esac
+
+ # move library search paths that coincide with paths to not yet
+ # installed libraries to the beginning of the library search list
+ new_libs=
+ for path in $notinst_path; do
+ case " $new_libs " in
+ *" -L$path/$objdir "*) ;;
+ *)
+ case " $compile_deplibs " in
+ *" -L$path/$objdir "*)
+ new_libs="$new_libs -L$path/$objdir" ;;
+ esac
+ ;;
+ esac
+ done
+ for deplib in $compile_deplibs; do
+ case $deplib in
+ -L*)
+ case " $new_libs " in
+ *" $deplib "*) ;;
+ *) new_libs="$new_libs $deplib" ;;
+ esac
+ ;;
+ *) new_libs="$new_libs $deplib" ;;
+ esac
+ done
+ compile_deplibs="$new_libs"
+
+
compile_command="$compile_command $compile_deplibs"
finalize_command="$finalize_command $finalize_deplibs"
@@ -4271,10 +4481,15 @@ EOF
fi
case $host in
*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
+ testbindir=`$echo "X$libdir" | $Xsed -e 's*/lib$*/bin*'`
case :$dllsearchpath: in
*":$libdir:"*) ;;
*) dllsearchpath="$dllsearchpath:$libdir";;
esac
+ case :$dllsearchpath: in
+ *":$testbindir:"*) ;;
+ *) dllsearchpath="$dllsearchpath:$testbindir";;
+ esac
;;
esac
done
@@ -4391,10 +4606,22 @@ extern \"C\" {
export_symbols="$output_objdir/$outputname.exp"
$run $rm $export_symbols
$run eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
+ case $host in
+ *cygwin* | *mingw* )
+ $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
+ $run eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"'
+ ;;
+ esac
else
- $run eval "${SED} -e 's/\([ ][.*^$]\)/\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
+ $run eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
$run eval 'grep -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
$run eval 'mv "$nlist"T "$nlist"'
+ case $host in
+ *cygwin* | *mingw* )
+ $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
+ $run eval 'cat "$nlist" >> "$output_objdir/$outputname.def"'
+ ;;
+ esac
fi
fi
@@ -4511,16 +4738,29 @@ static const void *lt_preloaded_setup() {
esac
# Now compile the dynamic symbol file.
- $show "(cd $output_objdir && $LTCC -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")"
- $run eval '(cd $output_objdir && $LTCC -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $?
+ $show "(cd $output_objdir && $LTCC $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")"
+ $run eval '(cd $output_objdir && $LTCC $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $?
# Clean up the generated files.
$show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T"
$run $rm "$output_objdir/$dlsyms" "$nlist" "${nlist}S" "${nlist}T"
# Transform the symbol file into the correct name.
- compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
- finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
+ case $host in
+ *cygwin* | *mingw* )
+ if test -f "$output_objdir/${outputname}.def" ; then
+ compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%" | $NL2SP`
+ finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%" | $NL2SP`
+ else
+ compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP`
+ finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP`
+ fi
+ ;;
+ * )
+ compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP`
+ finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP`
+ ;;
+ esac
;;
*)
$echo "$modename: unknown suffix for \`$dlsyms'" 1>&2
@@ -4533,19 +4773,19 @@ static const void *lt_preloaded_setup() {
# really was required.
# Nullify the symbol file.
- compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"`
- finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"`
+ compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s% @SYMFILE@%%" | $NL2SP`
+ finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s% @SYMFILE@%%" | $NL2SP`
fi
if test "$need_relink" = no || test "$build_libtool_libs" != yes; then
# Replace the output file specification.
- compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
+ compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e 's%@OUTPUT@%'"$output"'%g' | $NL2SP`
link_command="$compile_command$compile_rpath"
# We have no uninstalled library dependencies, so finalize right now.
$show "$link_command"
$run eval "$link_command"
- status=$?
+ exit_status=$?
# Delete the generated files.
if test -n "$dlsyms"; then
@@ -4553,7 +4793,7 @@ static const void *lt_preloaded_setup() {
$run $rm "$output_objdir/${outputname}S.${objext}"
fi
- exit $status
+ exit $exit_status
fi
if test -n "$shlibpath_var"; then
@@ -4626,7 +4866,7 @@ static const void *lt_preloaded_setup() {
if test "$fast_install" != no; then
link_command="$finalize_var$compile_command$finalize_rpath"
if test "$fast_install" = yes; then
- relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'`
+ relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $SP2NL | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g' | $NL2SP`
else
# fast_install is set to needless
relink_command=
@@ -4663,7 +4903,7 @@ static const void *lt_preloaded_setup() {
fi
done
relink_command="(cd `pwd`; $relink_command)"
- relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"`
+ relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e "$sed_quote_subst" | $NL2SP`
fi
# Quote $echo for shipping.
@@ -4693,10 +4933,12 @@ static const void *lt_preloaded_setup() {
esac
case $host in
*cygwin* | *mingw* )
- cwrappersource=`$echo ${objdir}/lt-${outputname}.c`
- cwrapper=`$echo ${output}.exe`
- $rm $cwrappersource $cwrapper
- trap "$rm $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15
+ output_name=`basename $output`
+ output_path=`dirname $output`
+ cwrappersource="$output_path/$objdir/lt-$output_name.c"
+ cwrapper="$output_path/$output_name.exe"
+ $rm $cwrappersource $cwrapper
+ trap "$rm $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15
cat > $cwrappersource <<EOF
@@ -4721,6 +4963,9 @@ EOF
#include <malloc.h>
#include <stdarg.h>
#include <assert.h>
+#include <string.h>
+#include <ctype.h>
+#include <sys/stat.h>
#if defined(PATH_MAX)
# define LT_PATHMAX PATH_MAX
@@ -4731,15 +4976,19 @@ EOF
#endif
#ifndef DIR_SEPARATOR
-#define DIR_SEPARATOR '/'
+# define DIR_SEPARATOR '/'
+# define PATH_SEPARATOR ':'
#endif
#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \
defined (__OS2__)
-#define HAVE_DOS_BASED_FILE_SYSTEM
-#ifndef DIR_SEPARATOR_2
-#define DIR_SEPARATOR_2 '\\'
-#endif
+# define HAVE_DOS_BASED_FILE_SYSTEM
+# ifndef DIR_SEPARATOR_2
+# define DIR_SEPARATOR_2 '\\'
+# endif
+# ifndef PATH_SEPARATOR_2
+# define PATH_SEPARATOR_2 ';'
+# endif
#endif
#ifndef DIR_SEPARATOR_2
@@ -4749,17 +4998,32 @@ EOF
(((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2))
#endif /* DIR_SEPARATOR_2 */
+#ifndef PATH_SEPARATOR_2
+# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR)
+#else /* PATH_SEPARATOR_2 */
+# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2)
+#endif /* PATH_SEPARATOR_2 */
+
#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type)))
#define XFREE(stale) do { \
if (stale) { free ((void *) stale); stale = 0; } \
} while (0)
+/* -DDEBUG is fairly common in CFLAGS. */
+#undef DEBUG
+#if defined DEBUGWRAPPER
+# define DEBUG(format, ...) fprintf(stderr, format, __VA_ARGS__)
+#else
+# define DEBUG(format, ...)
+#endif
+
const char *program_name = NULL;
void * xmalloc (size_t num);
char * xstrdup (const char *string);
-char * basename (const char *name);
-char * fnqualify(const char *path);
+const char * base_name (const char *name);
+char * find_executable(const char *wrapper);
+int check_executable(const char *path);
char * strendzap(char *str, const char *pat);
void lt_fatal (const char *message, ...);
@@ -4769,29 +5033,50 @@ main (int argc, char *argv[])
char **newargz;
int i;
- program_name = (char *) xstrdup ((char *) basename (argv[0]));
+ program_name = (char *) xstrdup (base_name (argv[0]));
+ DEBUG("(main) argv[0] : %s\n",argv[0]);
+ DEBUG("(main) program_name : %s\n",program_name);
newargz = XMALLOC(char *, argc+2);
EOF
- cat >> $cwrappersource <<EOF
- newargz[0] = "$SHELL";
+ cat >> $cwrappersource <<EOF
+ newargz[0] = (char *) xstrdup("$SHELL");
EOF
- cat >> $cwrappersource <<"EOF"
- newargz[1] = fnqualify(argv[0]);
+ cat >> $cwrappersource <<"EOF"
+ newargz[1] = find_executable(argv[0]);
+ if (newargz[1] == NULL)
+ lt_fatal("Couldn't find %s", argv[0]);
+ DEBUG("(main) found exe at : %s\n",newargz[1]);
/* we know the script has the same name, without the .exe */
/* so make sure newargz[1] doesn't end in .exe */
strendzap(newargz[1],".exe");
for (i = 1; i < argc; i++)
newargz[i+1] = xstrdup(argv[i]);
newargz[argc+1] = NULL;
+
+ for (i=0; i<argc+1; i++)
+ {
+ DEBUG("(main) newargz[%d] : %s\n",i,newargz[i]);
+ ;
+ }
+
EOF
- cat >> $cwrappersource <<EOF
+ case $host_os in
+ mingw*)
+ cat >> $cwrappersource <<EOF
+ execv("$SHELL",(char const **)newargz);
+EOF
+ ;;
+ *)
+ cat >> $cwrappersource <<EOF
execv("$SHELL",newargz);
EOF
+ ;;
+ esac
- cat >> $cwrappersource <<"EOF"
+ cat >> $cwrappersource <<"EOF"
return 127;
}
@@ -4812,48 +5097,148 @@ xstrdup (const char *string)
;
}
-char *
-basename (const char *name)
+const char *
+base_name (const char *name)
{
const char *base;
#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
/* Skip over the disk name in MSDOS pathnames. */
- if (isalpha (name[0]) && name[1] == ':')
+ if (isalpha ((unsigned char)name[0]) && name[1] == ':')
name += 2;
#endif
for (base = name; *name; name++)
if (IS_DIR_SEPARATOR (*name))
base = name + 1;
- return (char *) base;
+ return base;
}
+int
+check_executable(const char * path)
+{
+ struct stat st;
+
+ DEBUG("(check_executable) : %s\n", path ? (*path ? path : "EMPTY!") : "NULL!");
+ if ((!path) || (!*path))
+ return 0;
+
+ if ((stat (path, &st) >= 0) &&
+ (
+ /* MinGW & native WIN32 do not support S_IXOTH or S_IXGRP */
+#if defined (S_IXOTH)
+ ((st.st_mode & S_IXOTH) == S_IXOTH) ||
+#endif
+#if defined (S_IXGRP)
+ ((st.st_mode & S_IXGRP) == S_IXGRP) ||
+#endif
+ ((st.st_mode & S_IXUSR) == S_IXUSR))
+ )
+ return 1;
+ else
+ return 0;
+}
+
+/* Searches for the full path of the wrapper. Returns
+ newly allocated full path name if found, NULL otherwise */
char *
-fnqualify(const char *path)
+find_executable (const char* wrapper)
{
- size_t size;
- char *p;
+ int has_slash = 0;
+ const char* p;
+ const char* p_next;
+ /* static buffer for getcwd */
char tmp[LT_PATHMAX + 1];
+ int tmp_len;
+ char* concat_name;
+
+ DEBUG("(find_executable) : %s\n", wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!");
- assert(path != NULL);
+ if ((wrapper == NULL) || (*wrapper == '\0'))
+ return NULL;
- /* Is it qualified already? */
+ /* Absolute path? */
#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
- if (isalpha (path[0]) && path[1] == ':')
- return xstrdup (path);
+ if (isalpha ((unsigned char)wrapper[0]) && wrapper[1] == ':')
+ {
+ concat_name = xstrdup (wrapper);
+ if (check_executable(concat_name))
+ return concat_name;
+ XFREE(concat_name);
+ }
+ else
+ {
+#endif
+ if (IS_DIR_SEPARATOR (wrapper[0]))
+ {
+ concat_name = xstrdup (wrapper);
+ if (check_executable(concat_name))
+ return concat_name;
+ XFREE(concat_name);
+ }
+#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
+ }
#endif
- if (IS_DIR_SEPARATOR (path[0]))
- return xstrdup (path);
- /* prepend the current directory */
- /* doesn't handle '~' */
+ for (p = wrapper; *p; p++)
+ if (*p == '/')
+ {
+ has_slash = 1;
+ break;
+ }
+ if (!has_slash)
+ {
+ /* no slashes; search PATH */
+ const char* path = getenv ("PATH");
+ if (path != NULL)
+ {
+ for (p = path; *p; p = p_next)
+ {
+ const char* q;
+ size_t p_len;
+ for (q = p; *q; q++)
+ if (IS_PATH_SEPARATOR(*q))
+ break;
+ p_len = q - p;
+ p_next = (*q == '\0' ? q : q + 1);
+ if (p_len == 0)
+ {
+ /* empty path: current directory */
+ if (getcwd (tmp, LT_PATHMAX) == NULL)
+ lt_fatal ("getcwd failed");
+ tmp_len = strlen(tmp);
+ concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1);
+ memcpy (concat_name, tmp, tmp_len);
+ concat_name[tmp_len] = '/';
+ strcpy (concat_name + tmp_len + 1, wrapper);
+ }
+ else
+ {
+ concat_name = XMALLOC(char, p_len + 1 + strlen(wrapper) + 1);
+ memcpy (concat_name, p, p_len);
+ concat_name[p_len] = '/';
+ strcpy (concat_name + p_len + 1, wrapper);
+ }
+ if (check_executable(concat_name))
+ return concat_name;
+ XFREE(concat_name);
+ }
+ }
+ /* not found in PATH; assume curdir */
+ }
+ /* Relative path | not found in path: prepend cwd */
if (getcwd (tmp, LT_PATHMAX) == NULL)
lt_fatal ("getcwd failed");
- size = strlen(tmp) + 1 + strlen(path) + 1; /* +2 for '/' and '\0' */
- p = XMALLOC(char, size);
- sprintf(p, "%s%c%s", tmp, DIR_SEPARATOR, path);
- return p;
+ tmp_len = strlen(tmp);
+ concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1);
+ memcpy (concat_name, tmp, tmp_len);
+ concat_name[tmp_len] = '/';
+ strcpy (concat_name + tmp_len + 1, wrapper);
+
+ if (check_executable(concat_name))
+ return concat_name;
+ XFREE(concat_name);
+ return NULL;
}
char *
@@ -4897,16 +5282,16 @@ lt_fatal (const char *message, ...)
va_end (ap);
}
EOF
- # we should really use a build-platform specific compiler
- # here, but OTOH, the wrappers (shell script and this C one)
- # are only useful if you want to execute the "real" binary.
- # Since the "real" binary is built for $host, then this
- # wrapper might as well be built for $host, too.
- $run $LTCC -s -o $cwrapper $cwrappersource
- ;;
- esac
- $rm $output
- trap "$rm $output; exit $EXIT_FAILURE" 1 2 15
+ # we should really use a build-platform specific compiler
+ # here, but OTOH, the wrappers (shell script and this C one)
+ # are only useful if you want to execute the "real" binary.
+ # Since the "real" binary is built for $host, then this
+ # wrapper might as well be built for $host, too.
+ $run $LTCC $LTCFLAGS -s -o $cwrapper $cwrappersource
+ ;;
+ esac
+ $rm $output
+ trap "$rm $output; exit $EXIT_FAILURE" 1 2 15
$echo > $output "\
#! $SHELL
@@ -4925,6 +5310,20 @@ EOF
Xsed='${SED} -e 1s/^X//'
sed_quote_subst='$sed_quote_subst'
+# Be Bourne compatible (taken from Autoconf:_AS_BOURNE_COMPATIBLE).
+if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '\${1+\"\$@\"}'='\"\$@\"'
+ setopt NO_GLOB_SUBST
+else
+ case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac
+fi
+BIN_SH=xpg4; export BIN_SH # for Tru64
+DUALCASE=1; export DUALCASE # for MKS sh
+
# The HP-UX ksh and POSIX shell print the target directory to stdout
# if CDPATH is set.
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
@@ -5067,7 +5466,7 @@ else
;;
esac
$echo >> $output "\
- \$echo \"\$0: cannot exec \$program \${1+\"\$@\"}\"
+ \$echo \"\$0: cannot exec \$program \$*\"
exit $EXIT_FAILURE
fi
else
@@ -5136,9 +5535,9 @@ fi\
$run ${rm}r "$gentop"
$show "$mkdir $gentop"
$run $mkdir "$gentop"
- status=$?
- if test "$status" -ne 0 && test ! -d "$gentop"; then
- exit $status
+ exit_status=$?
+ if test "$exit_status" -ne 0 && test ! -d "$gentop"; then
+ exit $exit_status
fi
fi
@@ -5253,7 +5652,7 @@ fi\
done
# Quote the link command for shipping.
relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
- relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"`
+ relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e "$sed_quote_subst" | $NL2SP`
if test "$hardcode_automatic" = yes ; then
relink_command=
fi
@@ -5598,9 +5997,9 @@ relink_command=\"$relink_command\""
if test -n "$inst_prefix_dir"; then
# Stick the inst_prefix_dir data into the link command.
- relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"`
+ relink_command=`$echo "$relink_command" | $SP2NL | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%" | $NL2SP`
else
- relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%%"`
+ relink_command=`$echo "$relink_command" | $SP2NL | $SED "s%@inst_prefix_dir@%%" | $NL2SP`
fi
$echo "$modename: warning: relinking \`$file'" 1>&2
@@ -5805,22 +6204,11 @@ relink_command=\"$relink_command\""
outputname=
if test "$fast_install" = no && test -n "$relink_command"; then
if test "$finalize" = yes && test -z "$run"; then
- tmpdir="/tmp"
- test -n "$TMPDIR" && tmpdir="$TMPDIR"
- tmpdir="$tmpdir/libtool-$$"
- save_umask=`umask`
- umask 0077
- if $mkdir "$tmpdir"; then
- umask $save_umask
- else
- umask $save_umask
- $echo "$modename: error: cannot create temporary directory \`$tmpdir'" 1>&2
- continue
- fi
+ tmpdir=`func_mktempdir`
file=`$echo "X$file$stripped_ext" | $Xsed -e 's%^.*/%%'`
outputname="$tmpdir/$file"
# Replace the output file specification.
- relink_command=`$echo "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'`
+ relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g' | $NL2SP`
$show "$relink_command"
if $run eval "$relink_command"; then :
@@ -5940,7 +6328,7 @@ relink_command=\"$relink_command\""
# Exit here if they wanted silent mode.
test "$show" = : && exit $EXIT_SUCCESS
- $echo "----------------------------------------------------------------------"
+ $echo "X----------------------------------------------------------------------" | $Xsed
$echo "Libraries have been installed in:"
for libdir in $libdirs; do
$echo " $libdir"
@@ -5973,7 +6361,7 @@ relink_command=\"$relink_command\""
$echo
$echo "See any operating system documentation about shared libraries for"
$echo "more information, such as the ld(1) and ld.so(8) manual pages."
- $echo "----------------------------------------------------------------------"
+ $echo "X----------------------------------------------------------------------" | $Xsed
exit $EXIT_SUCCESS
;;
@@ -6031,8 +6419,10 @@ relink_command=\"$relink_command\""
if test -f "$dir/$objdir/$dlname"; then
dir="$dir/$objdir"
else
- $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2
- exit $EXIT_FAILURE
+ if test ! -f "$dir/$dlname"; then
+ $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2
+ exit $EXIT_FAILURE
+ fi
fi
;;
@@ -6096,12 +6486,12 @@ relink_command=\"$relink_command\""
fi
# Restore saved environment variables
- if test "${save_LC_ALL+set}" = set; then
- LC_ALL="$save_LC_ALL"; export LC_ALL
- fi
- if test "${save_LANG+set}" = set; then
- LANG="$save_LANG"; export LANG
- fi
+ for lt_var in LANG LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
+ do
+ eval "if test \"\${save_$lt_var+set}\" = set; then
+ $lt_var=\$save_$lt_var; export $lt_var
+ fi"
+ done
# Now prepare to actually exec the command.
exec_cmd="\$cmd$args"
@@ -6190,9 +6580,17 @@ relink_command=\"$relink_command\""
rmfiles="$rmfiles $objdir/$n"
done
test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library"
- test "$mode" = clean && rmfiles="$rmfiles $objdir/$name $objdir/${name}i"
- if test "$mode" = uninstall; then
+ case "$mode" in
+ clean)
+ case " $library_names " in
+ # " " in the beginning catches empty $dlname
+ *" $dlname "*) ;;
+ *) rmfiles="$rmfiles $objdir/$dlname" ;;
+ esac
+ test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i"
+ ;;
+ uninstall)
if test -n "$library_names"; then
# Do each command in the postuninstall commands.
cmds=$postuninstall_cmds
@@ -6225,7 +6623,8 @@ relink_command=\"$relink_command\""
IFS="$save_ifs"
fi
# FIXME: should reinstall the best remaining shared library.
- fi
+ ;;
+ esac
fi
;;
@@ -6449,9 +6848,9 @@ The following components of LINK-COMMAND are treated specially:
-dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols
-export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
-export-symbols SYMFILE
- try to export only the symbols listed in SYMFILE
+ try to export only the symbols listed in SYMFILE
-export-symbols-regex REGEX
- try to export only the symbols matching REGEX
+ try to export only the symbols matching REGEX
-LLIBDIR search LIBDIR for required installed libraries
-lNAME OUTPUT-FILE requires the installed library libNAME
-module build a library that can dlopened
@@ -6465,9 +6864,11 @@ The following components of LINK-COMMAND are treated specially:
-release RELEASE specify package release information
-rpath LIBDIR the created library will eventually be installed in LIBDIR
-R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries
- -static do not do any dynamic linking of libtool libraries
+ -static do not do any dynamic linking of uninstalled libtool libraries
+ -static-libtool-libs
+ do not do any dynamic linking of libtool libraries
-version-info CURRENT[:REVISION[:AGE]]
- specify library version info [each variable defaults to 0]
+ specify library version info [each variable defaults to 0]
All other options (arguments beginning with \`-') are ignored.
@@ -6524,12 +6925,11 @@ exit $?
# configuration. But we'll never go from static-only to shared-only.
# ### BEGIN LIBTOOL TAG CONFIG: disable-shared
-build_libtool_libs=no
-build_old_libs=yes
+disable_libs=shared
# ### END LIBTOOL TAG CONFIG: disable-shared
# ### BEGIN LIBTOOL TAG CONFIG: disable-static
-build_old_libs=`case $build_libtool_libs in yes) $echo no;; *) $echo yes;; esac`
+disable_libs=static
# ### END LIBTOOL TAG CONFIG: disable-static
# Local Variables:
diff --git a/src/Makefile.in b/src/Makefile.in
index 5881bea..0ce708f 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -137,6 +137,7 @@ GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
GLIB_MKENUMS = @GLIB_MKENUMS@
GOBJECT_QUERY = @GOBJECT_QUERY@
+GREP = @GREP@
GTS_MAJOR_VERSION = @GTS_MAJOR_VERSION@
GTS_MICRO_VERSION = @GTS_MICRO_VERSION@
GTS_MINOR_VERSION = @GTS_MINOR_VERSION@
@@ -171,16 +172,14 @@ PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PKG_CONFIG = @PKG_CONFIG@
RANLIB = @RANLIB@
+SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
-ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
@@ -195,6 +194,9 @@ build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
exec_prefix = @exec_prefix@
glib_cflags = @glib_cflags@
glib_libs = @glib_libs@
@@ -207,17 +209,21 @@ host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
+htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
+localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
+psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
diff --git a/src/edge.c b/src/edge.c
index f92af35..72b2722 100644
--- a/src/edge.c
+++ b/src/edge.c
@@ -490,7 +490,7 @@ guint gts_edge_is_contact (GtsEdge * e)
*/
void gts_edge_swap (GtsEdge * e, GtsSurface * s)
{
- GtsTriangle * t1 = NULL, * t2 = NULL, * t = NULL;
+ GtsTriangle * t1 = NULL, * t2 = NULL, * t;
GtsFace * f;
GSList * i;
GtsVertex * v1, * v2, * v3, * v4, * v5, * v6;
@@ -522,7 +522,7 @@ void gts_edge_swap (GtsEdge * e, GtsSurface * s)
if (!GTS_IS_EDGE (v3v6))
v3v6 = GTS_SEGMENT (gts_edge_new (s->edge_class, v3, v6));
f = gts_face_new (s->face_class, e1, GTS_EDGE (v3v6), e4);
- if ((t == gts_triangle_is_duplicate (GTS_TRIANGLE (f))) &&
+ if ((t = gts_triangle_is_duplicate (GTS_TRIANGLE (f))) &&
GTS_IS_FACE (t)) {
gts_object_destroy (GTS_OBJECT (f));
f = GTS_FACE (t);
@@ -530,7 +530,7 @@ void gts_edge_swap (GtsEdge * e, GtsSurface * s)
gts_surface_add_face (s, f);
f = gts_face_new (s->face_class, GTS_EDGE (v3v6), e2, e3);
- if ((t == gts_triangle_is_duplicate (GTS_TRIANGLE (f))) &&
+ if ((t = gts_triangle_is_duplicate (GTS_TRIANGLE (f))) &&
GTS_IS_FACE (t)) {
gts_object_destroy (GTS_OBJECT (f));
f = GTS_FACE (t);
diff --git a/src/eheap.c b/src/eheap.c
index d9a2a70..9c3c52f 100644
--- a/src/eheap.c
+++ b/src/eheap.c
@@ -29,7 +29,6 @@ struct _GtsEHeap {
GtsKeyFunc func;
gpointer data;
gboolean frozen, randomized;
- GMemChunk * mem_chunk;
};
/**
@@ -50,7 +49,6 @@ GtsEHeap * gts_eheap_new (GtsKeyFunc key_func,
heap->data = data;
heap->frozen = FALSE;
heap->randomized = FALSE;
- heap->mem_chunk = g_mem_chunk_create (GtsEHeapPair, 512, G_ALLOC_AND_FREE);
return heap;
}
@@ -98,7 +96,7 @@ GtsEHeapPair * gts_eheap_insert (GtsEHeap * heap, gpointer p)
g_return_val_if_fail (heap->func != NULL, NULL);
elts = heap->elts;
- pair = g_chunk_new (GtsEHeapPair, heap->mem_chunk);
+ pair = g_malloc (sizeof (GtsEHeapPair));
g_ptr_array_add (elts, pair);
pair->data = p;
pair->pos = elts->len;
@@ -130,7 +128,7 @@ GtsEHeapPair * gts_eheap_insert_with_key (GtsEHeap * heap,
g_return_val_if_fail (heap != NULL, NULL);
elts = heap->elts;
- pair = g_chunk_new (GtsEHeapPair, heap->mem_chunk);
+ pair = g_malloc (sizeof (GtsEHeapPair));
g_ptr_array_add (elts, pair);
pair->data = p;
pair->pos = elts->len;
@@ -209,7 +207,7 @@ gpointer gts_eheap_remove_top (GtsEHeap * heap, gdouble * key)
root = pair->data;
if (key)
*key = pair->key;
- g_mem_chunk_free (heap->mem_chunk, pair);
+ g_free (pair);
return root;
}
@@ -217,7 +215,7 @@ gpointer gts_eheap_remove_top (GtsEHeap * heap, gdouble * key)
root = pair->data;
if (key)
*key = pair->key;
- g_mem_chunk_free (heap->mem_chunk, pair);
+ g_free (pair);
pair = g_ptr_array_remove_index (elts, len - 1);
elts->pdata[0] = pair;
pair->pos = 1;
@@ -259,10 +257,13 @@ gpointer gts_eheap_top (GtsEHeap * heap, gdouble * key)
*/
void gts_eheap_destroy (GtsEHeap * heap)
{
+ guint i;
+
g_return_if_fail (heap != NULL);
+ for (i = 0; i < heap->elts->len; i++)
+ g_free (heap->elts->pdata[i]);
g_ptr_array_free (heap->elts, TRUE);
- g_mem_chunk_destroy (heap->mem_chunk);
g_free (heap);
}
diff --git a/src/gts.def b/src/gts.def
index cff9bd5..4ae8ed9 100644
--- a/src/gts.def
+++ b/src/gts.def
@@ -15,6 +15,7 @@ EXPORTS
gts_point_distance
gts_point_distance2
gts_point_in_circle
+ gts_point_in_sphere
gts_point_in_triangle_circle
gts_point_is_in_triangle
gts_point_is_inside_surface
diff --git a/src/gts.h b/src/gts.h
index 1b76915..91b5823 100644
--- a/src/gts.h
+++ b/src/gts.h
@@ -258,15 +258,8 @@ gpointer gts_object_check_cast (gpointer object,
gpointer klass);
gpointer gts_object_class_check_cast (gpointer klass,
gpointer from);
-G_INLINE_FUNC
-gpointer gts_object_is_from_class (gpointer object,
- gpointer klass);
-G_INLINE_FUNC
-gpointer gts_object_class_is_from_class (gpointer klass,
- gpointer from);
-#ifdef G_CAN_INLINE
-G_INLINE_FUNC
+static inline
gpointer gts_object_is_from_class (gpointer object,
gpointer klass)
{
@@ -290,7 +283,7 @@ gpointer gts_object_is_from_class (gpointer object,
return NULL;
}
-G_INLINE_FUNC
+static inline
gpointer gts_object_class_is_from_class (gpointer klass,
gpointer from)
{
@@ -308,7 +301,6 @@ gpointer gts_object_class_is_from_class (gpointer klass,
return NULL;
}
-#endif /* G_CAN_INLINE */
GtsObjectClass * gts_object_class_from_name (const gchar * name);
@@ -399,6 +391,11 @@ gdouble gts_point_in_circle (GtsPoint * p,
GtsPoint * p1,
GtsPoint * p2,
GtsPoint * p3);
+gdouble gts_point_in_sphere (GtsPoint * p,
+ GtsPoint * p1,
+ GtsPoint * p2,
+ GtsPoint * p3,
+ GtsPoint * p4);
gdouble gts_point_in_triangle_circle (GtsPoint * p,
GtsTriangle * t);
gdouble gts_point_orientation (GtsPoint * p1,
diff --git a/src/object.c b/src/object.c
index 8d04a45..5970e50 100644
--- a/src/object.c
+++ b/src/object.c
@@ -144,65 +144,6 @@ GtsObjectClass * gts_object_class (void)
return klass;
}
-#ifndef G_CAN_INLINE
-/**
- * gts_object_is_from_class:
- * @object: a #GtsObject.
- * @klass: a #GtsObjectClass.
- *
- * Returns: @object if @object is of class @klass or of a class derived from
- * @klass, %NULL otherwise.
- */
-gpointer gts_object_is_from_class (gpointer object,
- gpointer klass)
-{
- GtsObjectClass * c;
-
- g_return_val_if_fail (klass != NULL, NULL);
-
- if (object == NULL)
- return NULL;
-
- c = ((GtsObject *) object)->klass;
-
- g_return_val_if_fail (c != NULL, NULL);
-
- while (c) {
- if (c == klass)
- return object;
- c = c->parent_class;
- }
-
- return NULL;
-}
-
-/**
- * gts_object_class_is_from_class:
- * @klass: a #GtsObjectClass.
- * @from: a #GtsObjectClass.
- *
- * Returns: @klass if @klass is equal to @from or if @klass is derived
- * from @from, %NULL otherwise.
- */
-gpointer gts_object_class_is_from_class (gpointer klass,
- gpointer from)
-{
- GtsObjectClass * c;
-
- g_return_val_if_fail (klass != NULL, NULL);
- g_return_val_if_fail (from != NULL, NULL);
-
- c = (GtsObjectClass *) klass;
- while (c) {
- if (c == from)
- return klass;
- c = c->parent_class;
- }
-
- return NULL;
-}
-#endif /* not G_CAN_INLINE */
-
/**
* gts_object_check_cast:
* @object: a #GtsObject.
diff --git a/src/partition.c b/src/partition.c
index 1f88986..16dc0e1 100644
--- a/src/partition.c
+++ b/src/partition.c
@@ -579,7 +579,9 @@ GtsGraphBisection * gts_graph_ggg_bisection (GtsGraph * g, guint ntry)
gts_container_size (GTS_CONTAINER (bestg2)));
#endif
+ g_assert (bestg1 != NULL);
bg->g1 = bestg1;
+ g_assert (bestg2 != NULL);
bg->g2 = bestg2;
/* boundary nodes */
diff --git a/src/point.c b/src/point.c
index c57e89f..42fce69 100644
--- a/src/point.c
+++ b/src/point.c
@@ -307,6 +307,34 @@ gdouble gts_point_in_circle (GtsPoint * p,
}
/**
+ * gts_point_in_sphere:
+ * @p: a #GtsPoint.
+ * @p1: a #GtsPoint.
+ * @p2: a #GtsPoint.
+ * @p3: a #GtsPoint.
+ * @p4: a #GtsPoint.
+ *
+ * Tests if @p is inside or outside the sphere defined by @p1, @p2,
+ * @p3 and @p4.
+ *
+ * Returns: a positive number if @p lies inside,
+ * a negative number if @p lies outside and zero if @p lies on
+ * the sphere.
+ */
+gdouble gts_point_in_sphere (GtsPoint * p,
+ GtsPoint * p1, GtsPoint * p2, GtsPoint * p3, GtsPoint * p4)
+{
+ g_return_val_if_fail (p != NULL && p1 != NULL && p2 != NULL && p3 != NULL && p4 != NULL,
+ 0.0);
+
+ return insphere ((gdouble *) &p1->x,
+ (gdouble *) &p2->x,
+ (gdouble *) &p3->x,
+ (gdouble *) &p4->x,
+ (gdouble *) &p->x);
+}
+
+/**
* gts_point_segment_distance2:
* @p: a #GtsPoint.
* @s: a #GtsSegment.
diff --git a/test/Makefile.in b/test/Makefile.in
index 0cbbf3e..813e542 100644
--- a/test/Makefile.in
+++ b/test/Makefile.in
@@ -92,6 +92,7 @@ GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
GLIB_MKENUMS = @GLIB_MKENUMS@
GOBJECT_QUERY = @GOBJECT_QUERY@
+GREP = @GREP@
GTS_MAJOR_VERSION = @GTS_MAJOR_VERSION@
GTS_MICRO_VERSION = @GTS_MICRO_VERSION@
GTS_MINOR_VERSION = @GTS_MINOR_VERSION@
@@ -126,16 +127,14 @@ PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PKG_CONFIG = @PKG_CONFIG@
RANLIB = @RANLIB@
+SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
-ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
@@ -150,6 +149,9 @@ build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
exec_prefix = @exec_prefix@
glib_cflags = @glib_cflags@
glib_libs = @glib_libs@
@@ -162,17 +164,21 @@ host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
+htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
+localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
+psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
diff --git a/test/boolean/Makefile.in b/test/boolean/Makefile.in
index fa68701..8a3b9d5 100644
--- a/test/boolean/Makefile.in
+++ b/test/boolean/Makefile.in
@@ -113,6 +113,7 @@ GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
GLIB_MKENUMS = @GLIB_MKENUMS@
GOBJECT_QUERY = @GOBJECT_QUERY@
+GREP = @GREP@
GTS_MAJOR_VERSION = @GTS_MAJOR_VERSION@
GTS_MICRO_VERSION = @GTS_MICRO_VERSION@
GTS_MINOR_VERSION = @GTS_MINOR_VERSION@
@@ -147,16 +148,14 @@ PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PKG_CONFIG = @PKG_CONFIG@
RANLIB = @RANLIB@
+SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
-ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
@@ -171,6 +170,9 @@ build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
exec_prefix = @exec_prefix@
glib_cflags = @glib_cflags@
glib_libs = @glib_libs@
@@ -183,17 +185,21 @@ host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
+htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
+localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
+psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
diff --git a/test/coarsen/Makefile.in b/test/coarsen/Makefile.in
index 901ad91..42a7deb 100644
--- a/test/coarsen/Makefile.in
+++ b/test/coarsen/Makefile.in
@@ -123,6 +123,7 @@ GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
GLIB_MKENUMS = @GLIB_MKENUMS@
GOBJECT_QUERY = @GOBJECT_QUERY@
+GREP = @GREP@
GTS_MAJOR_VERSION = @GTS_MAJOR_VERSION@
GTS_MICRO_VERSION = @GTS_MICRO_VERSION@
GTS_MINOR_VERSION = @GTS_MINOR_VERSION@
@@ -157,16 +158,14 @@ PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PKG_CONFIG = @PKG_CONFIG@
RANLIB = @RANLIB@
+SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
-ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
@@ -181,6 +180,9 @@ build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
exec_prefix = @exec_prefix@
glib_cflags = @glib_cflags@
glib_libs = @glib_libs@
@@ -193,17 +195,21 @@ host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
+htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
+localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
+psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
diff --git a/test/delaunay/Makefile.in b/test/delaunay/Makefile.in
index 2344dd2..11df974 100644
--- a/test/delaunay/Makefile.in
+++ b/test/delaunay/Makefile.in
@@ -108,6 +108,7 @@ GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
GLIB_MKENUMS = @GLIB_MKENUMS@
GOBJECT_QUERY = @GOBJECT_QUERY@
+GREP = @GREP@
GTS_MAJOR_VERSION = @GTS_MAJOR_VERSION@
GTS_MICRO_VERSION = @GTS_MICRO_VERSION@
GTS_MINOR_VERSION = @GTS_MINOR_VERSION@
@@ -142,16 +143,14 @@ PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PKG_CONFIG = @PKG_CONFIG@
RANLIB = @RANLIB@
+SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
-ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
@@ -166,6 +165,9 @@ build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
exec_prefix = @exec_prefix@
glib_cflags = @glib_cflags@
glib_libs = @glib_libs@
@@ -178,17 +180,21 @@ host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
+htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
+localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
+psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
diff --git a/tools/Makefile.in b/tools/Makefile.in
index d42ebab..c0f56bf 100644
--- a/tools/Makefile.in
+++ b/tools/Makefile.in
@@ -136,6 +136,7 @@ GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
GLIB_MKENUMS = @GLIB_MKENUMS@
GOBJECT_QUERY = @GOBJECT_QUERY@
+GREP = @GREP@
GTS_MAJOR_VERSION = @GTS_MAJOR_VERSION@
GTS_MICRO_VERSION = @GTS_MICRO_VERSION@
GTS_MINOR_VERSION = @GTS_MINOR_VERSION@
@@ -170,16 +171,14 @@ PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PKG_CONFIG = @PKG_CONFIG@
RANLIB = @RANLIB@
+SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
-ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
@@ -194,6 +193,9 @@ build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
exec_prefix = @exec_prefix@
glib_cflags = @glib_cflags@
glib_libs = @glib_libs@
@@ -206,17 +208,21 @@ host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
+htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
+localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
+psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
diff --git a/tools/gts2oogl.c b/tools/gts2oogl.c
index 89f5239..a252668 100644
--- a/tools/gts2oogl.c
+++ b/tools/gts2oogl.c
@@ -682,7 +682,8 @@ int main (int argc, char * argv[])
{"max", required_argument, NULL, 'M'},
{"nosurface", no_argument, NULL, 'n'},
{"reverse", no_argument, NULL, 'r'},
- {"verbose", no_argument, NULL, 'v'}
+ {"verbose", no_argument, NULL, 'v'},
+ { NULL }
};
int option_index = 0;
switch ((c = getopt_long (argc, argv, "c:hm:M:rvf:i:nF:e:H:CgI:tG",
diff --git a/tools/gts2stl.c b/tools/gts2stl.c
index 97bf1ee..24581fa 100644
--- a/tools/gts2stl.c
+++ b/tools/gts2stl.c
@@ -64,7 +64,8 @@ int main (int argc, char * argv[])
static struct option long_options[] = {
{"revert", no_argument, NULL, 'r'},
{"help", no_argument, NULL, 'h'},
- {"verbose", no_argument, NULL, 'v'}
+ {"verbose", no_argument, NULL, 'v'},
+ { NULL }
};
int option_index = 0;
switch ((c = getopt_long (argc, argv, "hvr",
diff --git a/tools/gtscheck.c b/tools/gtscheck.c
index 8615389..9e29fad 100644
--- a/tools/gtscheck.c
+++ b/tools/gtscheck.c
@@ -49,7 +49,8 @@ int main (int argc, char * argv[])
#ifdef HAVE_GETOPT_LONG
static struct option long_options[] = {
{"help", no_argument, NULL, 'h'},
- {"verbose", no_argument, NULL, 'v'}
+ {"verbose", no_argument, NULL, 'v'},
+ { NULL }
};
int option_index = 0;
switch ((c = getopt_long (argc, argv, "hv",
diff --git a/tools/gtscompare.c b/tools/gtscompare.c
index 6d79276..5930315 100644
--- a/tools/gtscompare.c
+++ b/tools/gtscompare.c
@@ -239,7 +239,8 @@ int main (int argc, char * argv[])
{"help", no_argument, NULL, 'h'},
{"min", required_argument, NULL, 'm'},
{"max", required_argument, NULL, 'M'},
- {"reverse", no_argument, NULL, 'r'}
+ {"reverse", no_argument, NULL, 'r'},
+ { NULL }
};
int option_index = 0;
switch ((c = getopt_long (argc, argv, "c:hm:M:risl",
diff --git a/tools/stl2gts.c b/tools/stl2gts.c
index 1e3dbf9..c5f287a 100644
--- a/tools/stl2gts.c
+++ b/tools/stl2gts.c
@@ -264,7 +264,8 @@ int main (int argc, char * argv[])
{"revert", no_argument, NULL, 'r'},
{"nomerge", no_argument, NULL, 'n'},
{"help", no_argument, NULL, 'h'},
- {"verbose", no_argument, NULL, 'v'}
+ {"verbose", no_argument, NULL, 'v'},
+ { NULL }
};
int option_index = 0;
switch ((c = getopt_long (argc, argv, "hvnr",
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/gts.git
More information about the debian-science-commits
mailing list