[SCM] Packaging for mathgl branch, master, updated. debian/2.0.3-1-2-ge3572d2
Dimitrios Eftaxiopoulos
eftaxi12 at otenet.gr
Fri Nov 23 21:21:25 UTC 2012
The following commit has been merged in the master branch:
commit 97a60aa78b3f9c1250785143eeba47546e582e34
Author: Dimitrios Eftaxiopoulos <eftaxi12 at otenet.gr>
Date: Fri Nov 23 23:03:01 2012 +0200
Edit debian/copyright in order to fix RC bug
diff --git a/Makefile.in b/Makefile.in
index 7acbdc4..970a266 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -15,6 +15,23 @@
@SET_MAKE@
VPATH = @srcdir@
+am__make_dryrun = \
+ { \
+ am__dry=no; \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
+ | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+ *) \
+ for am__flg in $$MAKEFLAGS; do \
+ case $$am__flg in \
+ *=*|--*) ;; \
+ *n*) am__dry=yes; break;; \
+ esac; \
+ done;; \
+ esac; \
+ test $$am__dry = yes; \
+ }
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@@ -46,7 +63,11 @@ DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
config/texinfo.tex
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/config/autotroll.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/config/libtool.m4 \
+ $(top_srcdir)/config/ltoptions.m4 \
+ $(top_srcdir)/config/ltsugar.m4 \
+ $(top_srcdir)/config/ltversion.m4 \
+ $(top_srcdir)/config/lt~obsolete.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
@@ -64,6 +85,11 @@ RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
install-pdf-recursive install-ps-recursive install-recursive \
installcheck-recursive installdirs-recursive pdf-recursive \
ps-recursive uninstall-recursive
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
distclean-recursive maintainer-clean-recursive
AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
@@ -76,9 +102,11 @@ DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
distdir = $(PACKAGE)-$(VERSION)
top_distdir = $(distdir)
am__remove_distdir = \
- { test ! -d "$(distdir)" \
- || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
- && rm -fr "$(distdir)"; }; }
+ if test -d "$(distdir)"; then \
+ find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
+ && rm -rf "$(distdir)" \
+ || { sleep 5 && rm -rf "$(distdir)"; }; \
+ else :; fi
am__relativize = \
dir0=`pwd`; \
sed_first='s,^\([^/]*\)/.*$$,\1,'; \
@@ -107,6 +135,8 @@ am__relativize = \
DIST_ARCHIVES = $(distdir).tar.gz
GZIP_ENV = --best
distuninstallcheck_listfiles = find . -type f -print
+am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
+ | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
distcleancheck_listfiles = find . -type f -print
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
@@ -290,7 +320,7 @@ mgldest = $(DESTDIR)$(datadir)/$(PACKAGE)/fonts
all: all-recursive
.SUFFIXES:
-am--refresh:
+am--refresh: Makefile
@:
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
@@ -326,10 +356,8 @@ $(ACLOCAL_M4): $(am__aclocal_m4_deps)
$(am__aclocal_m4_deps):
include/mgl/config.h: include/mgl/stamp-h1
- @if test ! -f $@; then \
- rm -f include/mgl/stamp-h1; \
- $(MAKE) $(AM_MAKEFLAGS) include/mgl/stamp-h1; \
- else :; fi
+ @if test ! -f $@; then rm -f include/mgl/stamp-h1; else :; fi
+ @if test ! -f $@; then $(MAKE) $(AM_MAKEFLAGS) include/mgl/stamp-h1; else :; fi
include/mgl/stamp-h1: $(top_srcdir)/include/mgl/config.h.in $(top_builddir)/config.status
@rm -f include/mgl/stamp-h1
@@ -520,13 +548,10 @@ distdir: $(DISTFILES)
done
@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
- test -d "$(distdir)/$$subdir" \
- || $(MKDIR_P) "$(distdir)/$$subdir" \
- || exit 1; \
- fi; \
- done
- @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
+ $(am__make_dryrun) \
+ || test -d "$(distdir)/$$subdir" \
+ || $(MKDIR_P) "$(distdir)/$$subdir" \
+ || exit 1; \
dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
$(am__relativize); \
new_distdir=$$reldir; \
@@ -558,7 +583,11 @@ dist-gzip: distdir
$(am__remove_distdir)
dist-bzip2: distdir
- tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
+ tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2
+ $(am__remove_distdir)
+
+dist-lzip: distdir
+ tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz
$(am__remove_distdir)
dist-lzma: distdir
@@ -566,7 +595,7 @@ dist-lzma: distdir
$(am__remove_distdir)
dist-xz: distdir
- tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz
+ tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz
$(am__remove_distdir)
dist-tarZ: distdir
@@ -597,6 +626,8 @@ distcheck: dist
bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
*.tar.lzma*) \
lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\
+ *.tar.lz*) \
+ lzip -dc $(distdir).tar.lz | $(am__untar) ;;\
*.tar.xz*) \
xz -dc $(distdir).tar.xz | $(am__untar) ;;\
*.tar.Z*) \
@@ -606,7 +637,7 @@ distcheck: dist
*.zip*) \
unzip $(distdir).zip ;;\
esac
- chmod -R a-w $(distdir); chmod a+w $(distdir)
+ chmod -R a-w $(distdir); chmod u+w $(distdir)
mkdir $(distdir)/_build
mkdir $(distdir)/_inst
chmod a-w $(distdir)
@@ -616,6 +647,7 @@ distcheck: dist
&& am__cwd=`pwd` \
&& $(am__cd) $(distdir)/_build \
&& ../configure --srcdir=.. --prefix="$$dc_install_base" \
+ $(AM_DISTCHECK_CONFIGURE_FLAGS) \
$(DISTCHECK_CONFIGURE_FLAGS) \
&& $(MAKE) $(AM_MAKEFLAGS) \
&& $(MAKE) $(AM_MAKEFLAGS) dvi \
@@ -644,8 +676,16 @@ distcheck: dist
list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
distuninstallcheck:
- @$(am__cd) '$(distuninstallcheck_dir)' \
- && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
+ @test -n '$(distuninstallcheck_dir)' || { \
+ echo 'ERROR: trying to run $@ with an empty' \
+ '$$(distuninstallcheck_dir)' >&2; \
+ exit 1; \
+ }; \
+ $(am__cd) '$(distuninstallcheck_dir)' || { \
+ echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \
+ exit 1; \
+ }; \
+ test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \
|| { echo "ERROR: files left after uninstall:" ; \
if test -n "$(DESTDIR)"; then \
echo " (check DESTDIR support)"; \
@@ -676,10 +716,15 @@ install-am: all-am
installcheck: installcheck-recursive
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
@@ -767,8 +812,8 @@ uninstall-am: uninstall-local
.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
all all-am all-local am--refresh check check-am clean \
clean-generic clean-libtool clean-local ctags ctags-recursive \
- dist dist-all dist-bzip2 dist-gzip dist-lzma dist-shar \
- dist-tarZ dist-xz dist-zip distcheck distclean \
+ dist dist-all dist-bzip2 dist-gzip dist-lzip dist-lzma \
+ dist-shar dist-tarZ dist-xz dist-zip distcheck distclean \
distclean-generic distclean-hdr distclean-libtool \
distclean-tags distcleancheck distdir distuninstallcheck dvi \
dvi-am html html-am info info-am install install-am \
diff --git a/aclocal.m4 b/aclocal.m4
index fadf64c..a136313 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -1,7 +1,8 @@
-# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
+# generated automatically by aclocal 1.11.6 -*- Autoconf -*-
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+# 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation,
+# Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -13,8449 +14,21 @@
m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
-m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.68],,
-[m4_warning([this file was generated for autoconf 2.68.
+m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],,
+[m4_warning([this file was generated for autoconf 2.69.
You have another version of autoconf. It may work, but is not guaranteed to.
If you have problems, you may need to regenerate the build system entirely.
To do so, use the procedure documented by the package, typically `autoreconf'.])])
-# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
-#
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
-# 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
-# Inc.
-# Written by Gordon Matzigkeit, 1996
-#
-# This file is free software; the Free Software Foundation gives
-# unlimited permission to copy and/or distribute it, with or without
-# modifications, as long as this notice is preserved.
-
-m4_define([_LT_COPYING], [dnl
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
-# 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
-# Inc.
-# Written by Gordon Matzigkeit, 1996
-#
-# This file is part of GNU Libtool.
-#
-# GNU Libtool 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.
-#
-# As a special exception to the GNU General Public License,
-# if you distribute this file as part of a program or library that
-# is built using GNU Libtool, you may include this file under the
-# same distribution terms that you use for the rest of that program.
-#
-# GNU Libtool 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 GNU Libtool; see the file COPYING. If not, a copy
-# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
-# obtained by writing to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-])
-
-# serial 57 LT_INIT
-
-
-# LT_PREREQ(VERSION)
-# ------------------
-# Complain and exit if this libtool version is less that VERSION.
-m4_defun([LT_PREREQ],
-[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1,
- [m4_default([$3],
- [m4_fatal([Libtool version $1 or higher is required],
- 63)])],
- [$2])])
-
-
-# _LT_CHECK_BUILDDIR
-# ------------------
-# Complain if the absolute build directory name contains unusual characters
-m4_defun([_LT_CHECK_BUILDDIR],
-[case `pwd` in
- *\ * | *\ *)
- AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;;
-esac
-])
-
-
-# LT_INIT([OPTIONS])
-# ------------------
-AC_DEFUN([LT_INIT],
-[AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT
-AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
-AC_BEFORE([$0], [LT_LANG])dnl
-AC_BEFORE([$0], [LT_OUTPUT])dnl
-AC_BEFORE([$0], [LTDL_INIT])dnl
-m4_require([_LT_CHECK_BUILDDIR])dnl
-
-dnl Autoconf doesn't catch unexpanded LT_ macros by default:
-m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl
-m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl
-dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4
-dnl unless we require an AC_DEFUNed macro:
-AC_REQUIRE([LTOPTIONS_VERSION])dnl
-AC_REQUIRE([LTSUGAR_VERSION])dnl
-AC_REQUIRE([LTVERSION_VERSION])dnl
-AC_REQUIRE([LTOBSOLETE_VERSION])dnl
-m4_require([_LT_PROG_LTMAIN])dnl
-
-_LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}])
-
-dnl Parse OPTIONS
-_LT_SET_OPTIONS([$0], [$1])
-
-# This can be used to rebuild libtool when needed
-LIBTOOL_DEPS="$ltmain"
-
-# Always use our own libtool.
-LIBTOOL='$(SHELL) $(top_builddir)/libtool'
-AC_SUBST(LIBTOOL)dnl
-
-_LT_SETUP
-
-# Only expand once:
-m4_define([LT_INIT])
-])# LT_INIT
-
-# Old names:
-AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT])
-AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_PROG_LIBTOOL], [])
-dnl AC_DEFUN([AM_PROG_LIBTOOL], [])
-
-
-# _LT_CC_BASENAME(CC)
-# -------------------
-# Calculate cc_basename. Skip known compiler wrappers and cross-prefix.
-m4_defun([_LT_CC_BASENAME],
-[for cc_temp in $1""; do
- case $cc_temp in
- compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
- distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
- \-*) ;;
- *) break;;
- esac
-done
-cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
-])
-
-
-# _LT_FILEUTILS_DEFAULTS
-# ----------------------
-# It is okay to use these file commands and assume they have been set
-# sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'.
-m4_defun([_LT_FILEUTILS_DEFAULTS],
-[: ${CP="cp -f"}
-: ${MV="mv -f"}
-: ${RM="rm -f"}
-])# _LT_FILEUTILS_DEFAULTS
-
-
-# _LT_SETUP
-# ---------
-m4_defun([_LT_SETUP],
-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-AC_REQUIRE([AC_CANONICAL_BUILD])dnl
-AC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl
-AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl
-
-_LT_DECL([], [host_alias], [0], [The host system])dnl
-_LT_DECL([], [host], [0])dnl
-_LT_DECL([], [host_os], [0])dnl
-dnl
-_LT_DECL([], [build_alias], [0], [The build system])dnl
-_LT_DECL([], [build], [0])dnl
-_LT_DECL([], [build_os], [0])dnl
-dnl
-AC_REQUIRE([AC_PROG_CC])dnl
-AC_REQUIRE([LT_PATH_LD])dnl
-AC_REQUIRE([LT_PATH_NM])dnl
-dnl
-AC_REQUIRE([AC_PROG_LN_S])dnl
-test -z "$LN_S" && LN_S="ln -s"
-_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl
-dnl
-AC_REQUIRE([LT_CMD_MAX_LEN])dnl
-_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl
-_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl
-dnl
-m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-m4_require([_LT_CHECK_SHELL_FEATURES])dnl
-m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl
-m4_require([_LT_CMD_RELOAD])dnl
-m4_require([_LT_CHECK_MAGIC_METHOD])dnl
-m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl
-m4_require([_LT_CMD_OLD_ARCHIVE])dnl
-m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
-m4_require([_LT_WITH_SYSROOT])dnl
-
-_LT_CONFIG_LIBTOOL_INIT([
-# See if we are running on zsh, and set the options which allow our
-# commands through without removal of \ escapes INIT.
-if test -n "\${ZSH_VERSION+set}" ; then
- setopt NO_GLOB_SUBST
-fi
-])
-if test -n "${ZSH_VERSION+set}" ; then
- setopt NO_GLOB_SUBST
-fi
-
-_LT_CHECK_OBJDIR
-
-m4_require([_LT_TAG_COMPILER])dnl
-
-case $host_os in
-aix3*)
- # AIX sometimes has problems with the GCC collect2 program. For some
- # reason, if we set the COLLECT_NAMES environment variable, the problems
- # vanish in a puff of smoke.
- if test "X${COLLECT_NAMES+set}" != Xset; then
- COLLECT_NAMES=
- export COLLECT_NAMES
- fi
- ;;
-esac
-
-# Global variables:
-ofile=libtool
-can_build_shared=yes
-
-# All known linkers require a `.a' archive for static linking (except MSVC,
-# which needs '.lib').
-libext=a
-
-with_gnu_ld="$lt_cv_prog_gnu_ld"
-
-old_CC="$CC"
-old_CFLAGS="$CFLAGS"
-
-# Set sane defaults for various variables
-test -z "$CC" && CC=cc
-test -z "$LTCC" && LTCC=$CC
-test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
-test -z "$LD" && LD=ld
-test -z "$ac_objext" && ac_objext=o
-
-_LT_CC_BASENAME([$compiler])
-
-# Only perform the check for file, if the check method requires it
-test -z "$MAGIC_CMD" && MAGIC_CMD=file
-case $deplibs_check_method in
-file_magic*)
- if test "$file_magic_cmd" = '$MAGIC_CMD'; then
- _LT_PATH_MAGIC
- fi
- ;;
-esac
-
-# Use C for the default configuration in the libtool script
-LT_SUPPORTED_TAG([CC])
-_LT_LANG_C_CONFIG
-_LT_LANG_DEFAULT_CONFIG
-_LT_CONFIG_COMMANDS
-])# _LT_SETUP
-
-
-# _LT_PREPARE_SED_QUOTE_VARS
-# --------------------------
-# Define a few sed substitution that help us do robust quoting.
-m4_defun([_LT_PREPARE_SED_QUOTE_VARS],
-[# Backslashify metacharacters that are still active within
-# double-quoted strings.
-sed_quote_subst='s/\([["`$\\]]\)/\\\1/g'
-
-# Same as above, but do not quote variable references.
-double_quote_subst='s/\([["`\\]]\)/\\\1/g'
-
-# Sed substitution to delay expansion of an escaped shell variable in a
-# double_quote_subst'ed string.
-delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
-
-# Sed substitution to delay expansion of an escaped single quote.
-delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
-
-# Sed substitution to avoid accidental globbing in evaled expressions
-no_glob_subst='s/\*/\\\*/g'
-])
-
-# _LT_PROG_LTMAIN
-# ---------------
-# Note that this code is called both from `configure', and `config.status'
-# now that we use AC_CONFIG_COMMANDS to generate libtool. Notably,
-# `config.status' has no value for ac_aux_dir unless we are using Automake,
-# so we pass a copy along to make sure it has a sensible value anyway.
-m4_defun([_LT_PROG_LTMAIN],
-[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl
-_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir'])
-ltmain="$ac_aux_dir/ltmain.sh"
-])# _LT_PROG_LTMAIN
-
-
-
-# So that we can recreate a full libtool script including additional
-# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS
-# in macros and then make a single call at the end using the `libtool'
-# label.
-
-
-# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS])
-# ----------------------------------------
-# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later.
-m4_define([_LT_CONFIG_LIBTOOL_INIT],
-[m4_ifval([$1],
- [m4_append([_LT_OUTPUT_LIBTOOL_INIT],
- [$1
-])])])
-
-# Initialize.
-m4_define([_LT_OUTPUT_LIBTOOL_INIT])
-
-
-# _LT_CONFIG_LIBTOOL([COMMANDS])
-# ------------------------------
-# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later.
-m4_define([_LT_CONFIG_LIBTOOL],
-[m4_ifval([$1],
- [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS],
- [$1
-])])])
-
-# Initialize.
-m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS])
-
-
-# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS])
-# -----------------------------------------------------
-m4_defun([_LT_CONFIG_SAVE_COMMANDS],
-[_LT_CONFIG_LIBTOOL([$1])
-_LT_CONFIG_LIBTOOL_INIT([$2])
-])
-
-
-# _LT_FORMAT_COMMENT([COMMENT])
-# -----------------------------
-# Add leading comment marks to the start of each line, and a trailing
-# full-stop to the whole comment if one is not present already.
-m4_define([_LT_FORMAT_COMMENT],
-[m4_ifval([$1], [
-m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])],
- [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.])
-)])
-
-
-
-
-
-# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?])
-# -------------------------------------------------------------------
-# CONFIGNAME is the name given to the value in the libtool script.
-# VARNAME is the (base) name used in the configure script.
-# VALUE may be 0, 1 or 2 for a computed quote escaped value based on
-# VARNAME. Any other value will be used directly.
-m4_define([_LT_DECL],
-[lt_if_append_uniq([lt_decl_varnames], [$2], [, ],
- [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name],
- [m4_ifval([$1], [$1], [$2])])
- lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3])
- m4_ifval([$4],
- [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])])
- lt_dict_add_subkey([lt_decl_dict], [$2],
- [tagged?], [m4_ifval([$5], [yes], [no])])])
-])
-
-
-# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION])
-# --------------------------------------------------------
-m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])])
-
-
-# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...])
-# ------------------------------------------------
-m4_define([lt_decl_tag_varnames],
-[_lt_decl_filter([tagged?], [yes], $@)])
-
-
-# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..])
-# ---------------------------------------------------------
-m4_define([_lt_decl_filter],
-[m4_case([$#],
- [0], [m4_fatal([$0: too few arguments: $#])],
- [1], [m4_fatal([$0: too few arguments: $#: $1])],
- [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)],
- [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)],
- [lt_dict_filter([lt_decl_dict], $@)])[]dnl
-])
-
-
-# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...])
-# --------------------------------------------------
-m4_define([lt_decl_quote_varnames],
-[_lt_decl_filter([value], [1], $@)])
-
-
-# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...])
-# ---------------------------------------------------
-m4_define([lt_decl_dquote_varnames],
-[_lt_decl_filter([value], [2], $@)])
-
-
-# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...])
-# ---------------------------------------------------
-m4_define([lt_decl_varnames_tagged],
-[m4_assert([$# <= 2])dnl
-_$0(m4_quote(m4_default([$1], [[, ]])),
- m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]),
- m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))])
-m4_define([_lt_decl_varnames_tagged],
-[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])])
-
-
-# lt_decl_all_varnames([SEPARATOR], [VARNAME1...])
-# ------------------------------------------------
-m4_define([lt_decl_all_varnames],
-[_$0(m4_quote(m4_default([$1], [[, ]])),
- m4_if([$2], [],
- m4_quote(lt_decl_varnames),
- m4_quote(m4_shift($@))))[]dnl
-])
-m4_define([_lt_decl_all_varnames],
-[lt_join($@, lt_decl_varnames_tagged([$1],
- lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl
-])
-
-
-# _LT_CONFIG_STATUS_DECLARE([VARNAME])
-# ------------------------------------
-# Quote a variable value, and forward it to `config.status' so that its
-# declaration there will have the same value as in `configure'. VARNAME
-# must have a single quote delimited value for this to work.
-m4_define([_LT_CONFIG_STATUS_DECLARE],
-[$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`'])
-
-
-# _LT_CONFIG_STATUS_DECLARATIONS
-# ------------------------------
-# We delimit libtool config variables with single quotes, so when
-# we write them to config.status, we have to be sure to quote all
-# embedded single quotes properly. In configure, this macro expands
-# each variable declared with _LT_DECL (and _LT_TAGDECL) into:
-#
-# <var>='`$ECHO "$<var>" | $SED "$delay_single_quote_subst"`'
-m4_defun([_LT_CONFIG_STATUS_DECLARATIONS],
-[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames),
- [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])])
-
-
-# _LT_LIBTOOL_TAGS
-# ----------------
-# Output comment and list of tags supported by the script
-m4_defun([_LT_LIBTOOL_TAGS],
-[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl
-available_tags="_LT_TAGS"dnl
-])
-
-
-# _LT_LIBTOOL_DECLARE(VARNAME, [TAG])
-# -----------------------------------
-# Extract the dictionary values for VARNAME (optionally with TAG) and
-# expand to a commented shell variable setting:
-#
-# # Some comment about what VAR is for.
-# visible_name=$lt_internal_name
-m4_define([_LT_LIBTOOL_DECLARE],
-[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1],
- [description])))[]dnl
-m4_pushdef([_libtool_name],
- m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl
-m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])),
- [0], [_libtool_name=[$]$1],
- [1], [_libtool_name=$lt_[]$1],
- [2], [_libtool_name=$lt_[]$1],
- [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl
-m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl
-])
-
-
-# _LT_LIBTOOL_CONFIG_VARS
-# -----------------------
-# Produce commented declarations of non-tagged libtool config variables
-# suitable for insertion in the LIBTOOL CONFIG section of the `libtool'
-# script. Tagged libtool config variables (even for the LIBTOOL CONFIG
-# section) are produced by _LT_LIBTOOL_TAG_VARS.
-m4_defun([_LT_LIBTOOL_CONFIG_VARS],
-[m4_foreach([_lt_var],
- m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)),
- [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])])
-
-
-# _LT_LIBTOOL_TAG_VARS(TAG)
-# -------------------------
-m4_define([_LT_LIBTOOL_TAG_VARS],
-[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames),
- [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])])
-
-
-# _LT_TAGVAR(VARNAME, [TAGNAME])
-# ------------------------------
-m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])])
-
-
-# _LT_CONFIG_COMMANDS
-# -------------------
-# Send accumulated output to $CONFIG_STATUS. Thanks to the lists of
-# variables for single and double quote escaping we saved from calls
-# to _LT_DECL, we can put quote escaped variables declarations
-# into `config.status', and then the shell code to quote escape them in
-# for loops in `config.status'. Finally, any additional code accumulated
-# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded.
-m4_defun([_LT_CONFIG_COMMANDS],
-[AC_PROVIDE_IFELSE([LT_OUTPUT],
- dnl If the libtool generation code has been placed in $CONFIG_LT,
- dnl instead of duplicating it all over again into config.status,
- dnl then we will have config.status run $CONFIG_LT later, so it
- dnl needs to know what name is stored there:
- [AC_CONFIG_COMMANDS([libtool],
- [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])],
- dnl If the libtool generation code is destined for config.status,
- dnl expand the accumulated commands and init code now:
- [AC_CONFIG_COMMANDS([libtool],
- [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])])
-])#_LT_CONFIG_COMMANDS
-
-
-# Initialize.
-m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT],
-[
-
-# 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
-
-sed_quote_subst='$sed_quote_subst'
-double_quote_subst='$double_quote_subst'
-delay_variable_subst='$delay_variable_subst'
-_LT_CONFIG_STATUS_DECLARATIONS
-LTCC='$LTCC'
-LTCFLAGS='$LTCFLAGS'
-compiler='$compiler_DEFAULT'
-
-# A function that is used when there is no print builtin or printf.
-func_fallback_echo ()
-{
- eval 'cat <<_LTECHO_EOF
-\$[]1
-_LTECHO_EOF'
-}
-
-# Quote evaled strings.
-for var in lt_decl_all_varnames([[ \
-]], lt_decl_quote_varnames); do
- case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
- *[[\\\\\\\`\\"\\\$]]*)
- eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
- ;;
- *)
- eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
- ;;
- esac
-done
-
-# Double-quote double-evaled strings.
-for var in lt_decl_all_varnames([[ \
-]], lt_decl_dquote_varnames); do
- case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
- *[[\\\\\\\`\\"\\\$]]*)
- eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
- ;;
- *)
- eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
- ;;
- esac
-done
-
-_LT_OUTPUT_LIBTOOL_INIT
-])
-
-# _LT_GENERATED_FILE_INIT(FILE, [COMMENT])
-# ------------------------------------
-# Generate a child script FILE with all initialization necessary to
-# reuse the environment learned by the parent script, and make the
-# file executable. If COMMENT is supplied, it is inserted after the
-# `#!' sequence but before initialization text begins. After this
-# macro, additional text can be appended to FILE to form the body of
-# the child script. The macro ends with non-zero status if the
-# file could not be fully written (such as if the disk is full).
-m4_ifdef([AS_INIT_GENERATED],
-[m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])],
-[m4_defun([_LT_GENERATED_FILE_INIT],
-[m4_require([AS_PREPARE])]dnl
-[m4_pushdef([AS_MESSAGE_LOG_FD])]dnl
-[lt_write_fail=0
-cat >$1 <<_ASEOF || lt_write_fail=1
-#! $SHELL
-# Generated by $as_me.
-$2
-SHELL=\${CONFIG_SHELL-$SHELL}
-export SHELL
-_ASEOF
-cat >>$1 <<\_ASEOF || lt_write_fail=1
-AS_SHELL_SANITIZE
-_AS_PREPARE
-exec AS_MESSAGE_FD>&1
-_ASEOF
-test $lt_write_fail = 0 && chmod +x $1[]dnl
-m4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT
-
-# LT_OUTPUT
-# ---------
-# This macro allows early generation of the libtool script (before
-# AC_OUTPUT is called), incase it is used in configure for compilation
-# tests.
-AC_DEFUN([LT_OUTPUT],
-[: ${CONFIG_LT=./config.lt}
-AC_MSG_NOTICE([creating $CONFIG_LT])
-_LT_GENERATED_FILE_INIT(["$CONFIG_LT"],
-[# Run this file to recreate a libtool stub with the current configuration.])
-
-cat >>"$CONFIG_LT" <<\_LTEOF
-lt_cl_silent=false
-exec AS_MESSAGE_LOG_FD>>config.log
-{
- echo
- AS_BOX([Running $as_me.])
-} >&AS_MESSAGE_LOG_FD
-
-lt_cl_help="\
-\`$as_me' creates a local libtool stub from the current configuration,
-for use in further configure time tests before the real libtool is
-generated.
-
-Usage: $[0] [[OPTIONS]]
-
- -h, --help print this help, then exit
- -V, --version print version number, then exit
- -q, --quiet do not print progress messages
- -d, --debug don't remove temporary files
-
-Report bugs to <bug-libtool at gnu.org>."
-
-lt_cl_version="\
-m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl
-m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
-configured by $[0], generated by m4_PACKAGE_STRING.
-
-Copyright (C) 2010 Free Software Foundation, Inc.
-This config.lt script is free software; the Free Software Foundation
-gives unlimited permision to copy, distribute and modify it."
-
-while test $[#] != 0
-do
- case $[1] in
- --version | --v* | -V )
- echo "$lt_cl_version"; exit 0 ;;
- --help | --h* | -h )
- echo "$lt_cl_help"; exit 0 ;;
- --debug | --d* | -d )
- debug=: ;;
- --quiet | --q* | --silent | --s* | -q )
- lt_cl_silent=: ;;
-
- -*) AC_MSG_ERROR([unrecognized option: $[1]
-Try \`$[0] --help' for more information.]) ;;
-
- *) AC_MSG_ERROR([unrecognized argument: $[1]
-Try \`$[0] --help' for more information.]) ;;
- esac
- shift
-done
-
-if $lt_cl_silent; then
- exec AS_MESSAGE_FD>/dev/null
-fi
-_LTEOF
-
-cat >>"$CONFIG_LT" <<_LTEOF
-_LT_OUTPUT_LIBTOOL_COMMANDS_INIT
-_LTEOF
-
-cat >>"$CONFIG_LT" <<\_LTEOF
-AC_MSG_NOTICE([creating $ofile])
-_LT_OUTPUT_LIBTOOL_COMMANDS
-AS_EXIT(0)
-_LTEOF
-chmod +x "$CONFIG_LT"
-
-# configure is writing to config.log, but config.lt does its own redirection,
-# appending to config.log, which fails on DOS, as config.log is still kept
-# open by configure. Here we exec the FD to /dev/null, effectively closing
-# config.log, so it can be properly (re)opened and appended to by config.lt.
-lt_cl_success=:
-test "$silent" = yes &&
- lt_config_lt_args="$lt_config_lt_args --quiet"
-exec AS_MESSAGE_LOG_FD>/dev/null
-$SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false
-exec AS_MESSAGE_LOG_FD>>config.log
-$lt_cl_success || AS_EXIT(1)
-])# LT_OUTPUT
-
-
-# _LT_CONFIG(TAG)
-# ---------------
-# If TAG is the built-in tag, create an initial libtool script with a
-# default configuration from the untagged config vars. Otherwise add code
-# to config.status for appending the configuration named by TAG from the
-# matching tagged config vars.
-m4_defun([_LT_CONFIG],
-[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-_LT_CONFIG_SAVE_COMMANDS([
- m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl
- m4_if(_LT_TAG, [C], [
- # 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
-
- cfgfile="${ofile}T"
- trap "$RM \"$cfgfile\"; exit 1" 1 2 15
- $RM "$cfgfile"
-
- cat <<_LT_EOF >> "$cfgfile"
-#! $SHELL
-
-# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
-# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-# NOTE: Changes made to this file will be lost: look at ltmain.sh.
-#
-_LT_COPYING
-_LT_LIBTOOL_TAGS
-
-# ### BEGIN LIBTOOL CONFIG
-_LT_LIBTOOL_CONFIG_VARS
-_LT_LIBTOOL_TAG_VARS
-# ### END LIBTOOL CONFIG
-
-_LT_EOF
-
- case $host_os in
- aix3*)
- cat <<\_LT_EOF >> "$cfgfile"
-# AIX sometimes has problems with the GCC collect2 program. For some
-# reason, if we set the COLLECT_NAMES environment variable, the problems
-# vanish in a puff of smoke.
-if test "X${COLLECT_NAMES+set}" != Xset; then
- COLLECT_NAMES=
- export COLLECT_NAMES
-fi
-_LT_EOF
- ;;
- esac
-
- _LT_PROG_LTMAIN
-
- # We use sed instead of cat because bash on DJGPP gets confused if
- # if finds mixed CR/LF and LF-only lines. Since sed operates in
- # text mode, it properly converts lines to CR/LF. This bash problem
- # is reportedly fixed, but why not run on old versions too?
- sed '$q' "$ltmain" >> "$cfgfile" \
- || (rm -f "$cfgfile"; exit 1)
-
- _LT_PROG_REPLACE_SHELLFNS
-
- mv -f "$cfgfile" "$ofile" ||
- (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
- chmod +x "$ofile"
-],
-[cat <<_LT_EOF >> "$ofile"
-
-dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded
-dnl in a comment (ie after a #).
-# ### BEGIN LIBTOOL TAG CONFIG: $1
-_LT_LIBTOOL_TAG_VARS(_LT_TAG)
-# ### END LIBTOOL TAG CONFIG: $1
-_LT_EOF
-])dnl /m4_if
-],
-[m4_if([$1], [], [
- PACKAGE='$PACKAGE'
- VERSION='$VERSION'
- TIMESTAMP='$TIMESTAMP'
- RM='$RM'
- ofile='$ofile'], [])
-])dnl /_LT_CONFIG_SAVE_COMMANDS
-])# _LT_CONFIG
-
-
-# LT_SUPPORTED_TAG(TAG)
-# ---------------------
-# Trace this macro to discover what tags are supported by the libtool
-# --tag option, using:
-# autoconf --trace 'LT_SUPPORTED_TAG:$1'
-AC_DEFUN([LT_SUPPORTED_TAG], [])
-
-
-# C support is built-in for now
-m4_define([_LT_LANG_C_enabled], [])
-m4_define([_LT_TAGS], [])
-
-
-# LT_LANG(LANG)
-# -------------
-# Enable libtool support for the given language if not already enabled.
-AC_DEFUN([LT_LANG],
-[AC_BEFORE([$0], [LT_OUTPUT])dnl
-m4_case([$1],
- [C], [_LT_LANG(C)],
- [C++], [_LT_LANG(CXX)],
- [Java], [_LT_LANG(GCJ)],
- [Fortran 77], [_LT_LANG(F77)],
- [Fortran], [_LT_LANG(FC)],
- [Windows Resource], [_LT_LANG(RC)],
- [m4_ifdef([_LT_LANG_]$1[_CONFIG],
- [_LT_LANG($1)],
- [m4_fatal([$0: unsupported language: "$1"])])])dnl
-])# LT_LANG
-
-
-# _LT_LANG(LANGNAME)
-# ------------------
-m4_defun([_LT_LANG],
-[m4_ifdef([_LT_LANG_]$1[_enabled], [],
- [LT_SUPPORTED_TAG([$1])dnl
- m4_append([_LT_TAGS], [$1 ])dnl
- m4_define([_LT_LANG_]$1[_enabled], [])dnl
- _LT_LANG_$1_CONFIG($1)])dnl
-])# _LT_LANG
-
-
-# _LT_LANG_DEFAULT_CONFIG
-# -----------------------
-m4_defun([_LT_LANG_DEFAULT_CONFIG],
-[AC_PROVIDE_IFELSE([AC_PROG_CXX],
- [LT_LANG(CXX)],
- [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])])
-
-AC_PROVIDE_IFELSE([AC_PROG_F77],
- [LT_LANG(F77)],
- [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])])
-
-AC_PROVIDE_IFELSE([AC_PROG_FC],
- [LT_LANG(FC)],
- [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])])
-
-dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal
-dnl pulling things in needlessly.
-AC_PROVIDE_IFELSE([AC_PROG_GCJ],
- [LT_LANG(GCJ)],
- [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
- [LT_LANG(GCJ)],
- [AC_PROVIDE_IFELSE([LT_PROG_GCJ],
- [LT_LANG(GCJ)],
- [m4_ifdef([AC_PROG_GCJ],
- [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])])
- m4_ifdef([A][M_PROG_GCJ],
- [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])])
- m4_ifdef([LT_PROG_GCJ],
- [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])])
-
-AC_PROVIDE_IFELSE([LT_PROG_RC],
- [LT_LANG(RC)],
- [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])])
-])# _LT_LANG_DEFAULT_CONFIG
-
-# Obsolete macros:
-AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)])
-AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)])
-AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)])
-AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)])
-AU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LIBTOOL_CXX], [])
-dnl AC_DEFUN([AC_LIBTOOL_F77], [])
-dnl AC_DEFUN([AC_LIBTOOL_FC], [])
-dnl AC_DEFUN([AC_LIBTOOL_GCJ], [])
-dnl AC_DEFUN([AC_LIBTOOL_RC], [])
-
-
-# _LT_TAG_COMPILER
-# ----------------
-m4_defun([_LT_TAG_COMPILER],
-[AC_REQUIRE([AC_PROG_CC])dnl
-
-_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl
-_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl
-_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl
-_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl
-
-# 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_TAG_COMPILER
-
-
-# _LT_COMPILER_BOILERPLATE
-# ------------------------
-# Check for compiler boilerplate output or warnings with
-# the simple compiler test code.
-m4_defun([_LT_COMPILER_BOILERPLATE],
-[m4_require([_LT_DECL_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
-
-
-# _LT_LINKER_BOILERPLATE
-# ----------------------
-# Check for linker boilerplate output or warnings with
-# the simple link test code.
-m4_defun([_LT_LINKER_BOILERPLATE],
-[m4_require([_LT_DECL_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 -r conftest*
-])# _LT_LINKER_BOILERPLATE
-
-# _LT_REQUIRED_DARWIN_CHECKS
-# -------------------------
-m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
- case $host_os in
- rhapsody* | darwin*)
- AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:])
- AC_CHECK_TOOL([NMEDIT], [nmedit], [:])
- AC_CHECK_TOOL([LIPO], [lipo], [:])
- AC_CHECK_TOOL([OTOOL], [otool], [:])
- AC_CHECK_TOOL([OTOOL64], [otool64], [:])
- _LT_DECL([], [DSYMUTIL], [1],
- [Tool to manipulate archived DWARF debug symbol files on Mac OS X])
- _LT_DECL([], [NMEDIT], [1],
- [Tool to change global to local symbols on Mac OS X])
- _LT_DECL([], [LIPO], [1],
- [Tool to manipulate fat objects and archives on Mac OS X])
- _LT_DECL([], [OTOOL], [1],
- [ldd/readelf like tool for Mach-O binaries on Mac OS X])
- _LT_DECL([], [OTOOL64], [1],
- [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4])
-
- AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
- [lt_cv_apple_cc_single_mod=no
- if test -z "${LT_MULTI_MODULE}"; then
- # By default we will add the -single_module flag. You can override
- # by either setting the environment variable LT_MULTI_MODULE
- # non-empty at configure time, or by adding -multi_module to the
- # link flags.
- rm -rf libconftest.dylib*
- echo "int foo(void){return 1;}" > conftest.c
- echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
--dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD
- $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
- -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
- _lt_result=$?
- if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
- lt_cv_apple_cc_single_mod=yes
- else
- cat conftest.err >&AS_MESSAGE_LOG_FD
- fi
- rm -rf libconftest.dylib*
- rm -f conftest.*
- fi])
- AC_CACHE_CHECK([for -exported_symbols_list linker flag],
- [lt_cv_ld_exported_symbols_list],
- [lt_cv_ld_exported_symbols_list=no
- save_LDFLAGS=$LDFLAGS
- echo "_main" > conftest.sym
- LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
- AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
- [lt_cv_ld_exported_symbols_list=yes],
- [lt_cv_ld_exported_symbols_list=no])
- LDFLAGS="$save_LDFLAGS"
- ])
- AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load],
- [lt_cv_ld_force_load=no
- cat > conftest.c << _LT_EOF
-int forced_loaded() { return 2;}
-_LT_EOF
- echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD
- $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD
- echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD
- $AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD
- echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD
- $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD
- cat > conftest.c << _LT_EOF
-int main() { return 0;}
-_LT_EOF
- echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD
- $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
- _lt_result=$?
- if test -f conftest && test ! -s conftest.err && test $_lt_result = 0 && $GREP forced_load conftest 2>&1 >/dev/null; then
- lt_cv_ld_force_load=yes
- else
- cat conftest.err >&AS_MESSAGE_LOG_FD
- fi
- rm -f conftest.err libconftest.a conftest conftest.c
- rm -rf conftest.dSYM
- ])
- case $host_os in
- rhapsody* | darwin1.[[012]])
- _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
- darwin1.*)
- _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
- darwin*) # darwin 5.x on
- # if running on 10.5 or later, the deployment target defaults
- # to the OS version, if on x86, and 10.4, the deployment
- # target defaults to 10.4. Don't you love it?
- case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
- 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*)
- _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
- 10.[[012]]*)
- _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
- 10.*)
- _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
- esac
- ;;
- esac
- if test "$lt_cv_apple_cc_single_mod" = "yes"; then
- _lt_dar_single_mod='$single_module'
- fi
- if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
- _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
- else
- _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
- fi
- if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then
- _lt_dsymutil='~$DSYMUTIL $lib || :'
- else
- _lt_dsymutil=
- fi
- ;;
- esac
-])
-
-
-# _LT_DARWIN_LINKER_FEATURES
-# --------------------------
-# Checks for linker and compiler features on darwin
-m4_defun([_LT_DARWIN_LINKER_FEATURES],
-[
- m4_require([_LT_REQUIRED_DARWIN_CHECKS])
- _LT_TAGVAR(archive_cmds_need_lc, $1)=no
- _LT_TAGVAR(hardcode_direct, $1)=no
- _LT_TAGVAR(hardcode_automatic, $1)=yes
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
- if test "$lt_cv_ld_force_load" = "yes"; then
- _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
- else
- _LT_TAGVAR(whole_archive_flag_spec, $1)=''
- fi
- _LT_TAGVAR(link_all_deplibs, $1)=yes
- _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined"
- case $cc_basename in
- ifort*) _lt_dar_can_shared=yes ;;
- *) _lt_dar_can_shared=$GCC ;;
- esac
- if test "$_lt_dar_can_shared" = "yes"; then
- output_verbose_link_cmd=func_echo_all
- _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
- _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
- _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
- _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
- m4_if([$1], [CXX],
-[ if test "$lt_cv_apple_cc_single_mod" != "yes"; then
- _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}"
- _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}"
- fi
-],[])
- else
- _LT_TAGVAR(ld_shlibs, $1)=no
- fi
-])
-
-# _LT_SYS_MODULE_PATH_AIX([TAGNAME])
-# ----------------------------------
-# Links a minimal program and checks the executable
-# for the system default hardcoded library path. In most cases,
-# this is /usr/lib:/lib, but when the MPI compilers are used
-# the location of the communication and MPI libs are included too.
-# If we don't find anything, use the default library path according
-# to the aix ld manual.
-# Store the results from the different compilers for each TAGNAME.
-# Allow to override them for all tags through lt_cv_aix_libpath.
-m4_defun([_LT_SYS_MODULE_PATH_AIX],
-[m4_require([_LT_DECL_SED])dnl
-if test "${lt_cv_aix_libpath+set}" = set; then
- aix_libpath=$lt_cv_aix_libpath
-else
- AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])],
- [AC_LINK_IFELSE([AC_LANG_PROGRAM],[
- lt_aix_libpath_sed='[
- /Import File Strings/,/^$/ {
- /^0/ {
- s/^0 *\([^ ]*\) *$/\1/
- p
- }
- }]'
- _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`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 "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
- _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
- fi],[])
- if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
- _LT_TAGVAR([lt_cv_aix_libpath_], [$1])="/usr/lib:/lib"
- fi
- ])
- aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])
-fi
-])# _LT_SYS_MODULE_PATH_AIX
-
-
-# _LT_SHELL_INIT(ARG)
-# -------------------
-m4_define([_LT_SHELL_INIT],
-[m4_divert_text([M4SH-INIT], [$1
-])])# _LT_SHELL_INIT
-
-
-
-# _LT_PROG_ECHO_BACKSLASH
-# -----------------------
-# Find how we can fake an echo command that does not interpret backslash.
-# In particular, with Autoconf 2.60 or later we add some code to the start
-# of the generated configure script which will find a shell with a builtin
-# printf (which we can use as an echo command).
-m4_defun([_LT_PROG_ECHO_BACKSLASH],
-[ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
-ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
-
-AC_MSG_CHECKING([how to print strings])
-# Test print first, because it will be a builtin if present.
-if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
- test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
- ECHO='print -r --'
-elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
- ECHO='printf %s\n'
-else
- # Use this function as a fallback that always works.
- func_fallback_echo ()
- {
- eval 'cat <<_LTECHO_EOF
-$[]1
-_LTECHO_EOF'
- }
- ECHO='func_fallback_echo'
-fi
-
-# func_echo_all arg...
-# Invoke $ECHO with all args, space-separated.
-func_echo_all ()
-{
- $ECHO "$*"
-}
-
-case "$ECHO" in
- printf*) AC_MSG_RESULT([printf]) ;;
- print*) AC_MSG_RESULT([print -r]) ;;
- *) AC_MSG_RESULT([cat]) ;;
-esac
-
-m4_ifdef([_AS_DETECT_SUGGESTED],
-[_AS_DETECT_SUGGESTED([
- test -n "${ZSH_VERSION+set}${BASH_VERSION+set}" || (
- ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
- ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
- ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
- PATH=/empty FPATH=/empty; export PATH FPATH
- test "X`printf %s $ECHO`" = "X$ECHO" \
- || test "X`print -r -- $ECHO`" = "X$ECHO" )])])
-
-_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts])
-_LT_DECL([], [ECHO], [1], [An echo program that protects backslashes])
-])# _LT_PROG_ECHO_BACKSLASH
-
-
-# _LT_WITH_SYSROOT
-# ----------------
-AC_DEFUN([_LT_WITH_SYSROOT],
-[AC_MSG_CHECKING([for sysroot])
-AC_ARG_WITH([sysroot],
-[ --with-sysroot[=DIR] Search for dependent libraries within DIR
- (or the compiler's sysroot if not specified).],
-[], [with_sysroot=no])
-
-dnl lt_sysroot will always be passed unquoted. We quote it here
-dnl in case the user passed a directory name.
-lt_sysroot=
-case ${with_sysroot} in #(
- yes)
- if test "$GCC" = yes; then
- lt_sysroot=`$CC --print-sysroot 2>/dev/null`
- fi
- ;; #(
- /*)
- lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
- ;; #(
- no|'')
- ;; #(
- *)
- AC_MSG_RESULT([${with_sysroot}])
- AC_MSG_ERROR([The sysroot must be an absolute path.])
- ;;
-esac
-
- AC_MSG_RESULT([${lt_sysroot:-no}])
-_LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl
-[dependent libraries, and in which our libraries should be installed.])])
-
-# _LT_ENABLE_LOCK
-# ---------------
-m4_defun([_LT_ENABLE_LOCK],
-[AC_ARG_ENABLE([libtool-lock],
- [AS_HELP_STRING([--disable-libtool-lock],
- [avoid locking (might break parallel builds)])])
-test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
-
-# Some flags need to be propagated to the compiler or linker for good
-# libtool support.
-case $host in
-ia64-*-hpux*)
- # 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.$ac_objext` in
- *ELF-32*)
- HPUX_IA64_MODE="32"
- ;;
- *ELF-64*)
- HPUX_IA64_MODE="64"
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
-*-*-irix6*)
- # Find out which ABI we are using.
- echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext
- if AC_TRY_EVAL(ac_compile); then
- if test "$lt_cv_prog_gnu_ld" = yes; then
- case `/usr/bin/file conftest.$ac_objext` in
- *32-bit*)
- LD="${LD-ld} -melf32bsmip"
- ;;
- *N32*)
- LD="${LD-ld} -melf32bmipn32"
- ;;
- *64-bit*)
- LD="${LD-ld} -melf64bmip"
- ;;
- esac
- else
- case `/usr/bin/file conftest.$ac_objext` in
- *32-bit*)
- LD="${LD-ld} -32"
- ;;
- *N32*)
- LD="${LD-ld} -n32"
- ;;
- *64-bit*)
- LD="${LD-ld} -64"
- ;;
- esac
- fi
- fi
- rm -rf conftest*
- ;;
-
-x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
-s390*-*linux*|s390*-*tpf*|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"
- ;;
- ppc64-*linux*|powerpc64-*linux*)
- LD="${LD-ld} -m elf32ppclinux"
- ;;
- s390x-*linux*)
- LD="${LD-ld} -m elf_s390"
- ;;
- sparc64-*linux*)
- LD="${LD-ld} -m elf32_sparc"
- ;;
- esac
- ;;
- *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"
- ;;
- ppc*-*linux*|powerpc*-*linux*)
- LD="${LD-ld} -m elf64ppc"
- ;;
- s390*-*linux*|s390*-*tpf*)
- LD="${LD-ld} -m elf64_s390"
- ;;
- sparc*-*linux*)
- LD="${LD-ld} -m elf64_sparc"
- ;;
- esac
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
-
-*-*-sco3.2v5*)
- # On SCO OpenServer 5, we need -belf to get full-featured binaries.
- SAVE_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS -belf"
- AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
- [AC_LANG_PUSH(C)
- AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
- AC_LANG_POP])
- 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 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" ;;
- *)
- if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
- LD="${LD-ld} -64"
- fi
- ;;
- esac
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
-esac
-
-need_locks="$enable_libtool_lock"
-])# _LT_ENABLE_LOCK
-
-
-# _LT_PROG_AR
-# -----------
-m4_defun([_LT_PROG_AR],
-[AC_CHECK_TOOLS(AR, [ar], false)
-: ${AR=ar}
-: ${AR_FLAGS=cru}
-_LT_DECL([], [AR], [1], [The archiver])
-_LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive])
-
-AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file],
- [lt_cv_ar_at_file=no
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM],
- [echo conftest.$ac_objext > conftest.lst
- lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD'
- AC_TRY_EVAL([lt_ar_try])
- if test "$ac_status" -eq 0; then
- # Ensure the archiver fails upon bogus file names.
- rm -f conftest.$ac_objext libconftest.a
- AC_TRY_EVAL([lt_ar_try])
- if test "$ac_status" -ne 0; then
- lt_cv_ar_at_file=@
- fi
- fi
- rm -f conftest.* libconftest.a
- ])
- ])
-
-if test "x$lt_cv_ar_at_file" = xno; then
- archiver_list_spec=
-else
- archiver_list_spec=$lt_cv_ar_at_file
-fi
-_LT_DECL([], [archiver_list_spec], [1],
- [How to feed a file listing to the archiver])
-])# _LT_PROG_AR
-
-
-# _LT_CMD_OLD_ARCHIVE
-# -------------------
-m4_defun([_LT_CMD_OLD_ARCHIVE],
-[_LT_PROG_AR
-
-AC_CHECK_TOOL(STRIP, strip, :)
-test -z "$STRIP" && STRIP=:
-_LT_DECL([], [STRIP], [1], [A symbol stripping program])
-
-AC_CHECK_TOOL(RANLIB, ranlib, :)
-test -z "$RANLIB" && RANLIB=:
-_LT_DECL([], [RANLIB], [1],
- [Commands used to install an old-style archive])
-
-# Determine commands to create old-style static archives.
-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="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
- ;;
- *)
- old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
- ;;
- esac
- old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
-fi
-
-case $host_os in
- darwin*)
- lock_old_archive_extraction=yes ;;
- *)
- lock_old_archive_extraction=no ;;
-esac
-_LT_DECL([], [old_postinstall_cmds], [2])
-_LT_DECL([], [old_postuninstall_cmds], [2])
-_LT_TAGDECL([], [old_archive_cmds], [2],
- [Commands used to build an old-style archive])
-_LT_DECL([], [lock_old_archive_extraction], [0],
- [Whether to use a lock for old archive extraction])
-])# _LT_CMD_OLD_ARCHIVE
-
-
-# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
-# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
-# ----------------------------------------------------------------
-# Check whether the given compiler option works
-AC_DEFUN([_LT_COMPILER_OPTION],
-[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-m4_require([_LT_DECL_SED])dnl
-AC_CACHE_CHECK([$1], [$2],
- [$2=no
- m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
- 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.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- # The option is referenced via a variable to avoid confusing sed.
- lt_compile=`echo "$ac_compile" | $SED \
- -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:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
- (eval "$lt_compile" 2>conftest.err)
- ac_status=$?
- cat conftest.err >&AS_MESSAGE_LOG_FD
- echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
- 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 "$_lt_compiler_boilerplate" | $SED '/^$/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
- $RM conftest*
-])
-
-if test x"[$]$2" = xyes; then
- m4_if([$5], , :, [$5])
-else
- m4_if([$6], , :, [$6])
-fi
-])# _LT_COMPILER_OPTION
-
-# Old name:
-AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [])
-
-
-# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
-# [ACTION-SUCCESS], [ACTION-FAILURE])
-# ----------------------------------------------------
-# Check whether the given linker option works
-AC_DEFUN([_LT_LINKER_OPTION],
-[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-m4_require([_LT_DECL_SED])dnl
-AC_CACHE_CHECK([$1], [$2],
- [$2=no
- save_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS $3"
- 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 "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if diff conftest.exp conftest.er2 >/dev/null; then
- $2=yes
- fi
- else
- $2=yes
- fi
- fi
- $RM -r conftest*
- LDFLAGS="$save_LDFLAGS"
-])
-
-if test x"[$]$2" = xyes; then
- m4_if([$4], , :, [$4])
-else
- m4_if([$5], , :, [$5])
-fi
-])# _LT_LINKER_OPTION
-
-# Old name:
-AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], [])
-
-
-# LT_CMD_MAX_LEN
-#---------------
-AC_DEFUN([LT_CMD_MAX_LEN],
-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-# find the maximum length of command line arguments
-AC_MSG_CHECKING([the maximum length of command line arguments])
-AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
- i=0
- teststring="ABCD"
-
- case $build_os in
- msdosdjgpp*)
- # On DJGPP, this test can blow up pretty badly due to problems in libc
- # (any single argument exceeding 2000 bytes causes a buffer overrun
- # during glob expansion). Even if it were fixed, the result of this
- # check would be larger than it should be.
- lt_cv_sys_max_cmd_len=12288; # 12K is about right
- ;;
-
- gnu*)
- # Under GNU Hurd, this test is not required because there is
- # no limit to the length of command line arguments.
- # Libtool will interpret -1 as no limit whatsoever
- lt_cv_sys_max_cmd_len=-1;
- ;;
-
- cygwin* | mingw* | cegcc*)
- # On Win9x/ME, this test blows up -- it succeeds, but takes
- # about 5 minutes as the teststring grows exponentially.
- # Worse, since 9x/ME are not pre-emptively multitasking,
- # you end up with a "frozen" computer, even though with patience
- # the test eventually succeeds (with a max line length of 256k).
- # Instead, let's just punt: use the minimum linelength reported by
- # all of the supported platforms: 8192 (on NT/2K/XP).
- lt_cv_sys_max_cmd_len=8192;
- ;;
-
- mint*)
- # On MiNT this can take a long time and run out of memory.
- lt_cv_sys_max_cmd_len=8192;
- ;;
-
- amigaos*)
- # On AmigaOS with pdksh, this test takes hours, literally.
- # So we just punt and use a minimum line length of 8192.
- lt_cv_sys_max_cmd_len=8192;
- ;;
-
- netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
- # This has been around since 386BSD, at least. Likely further.
- if test -x /sbin/sysctl; then
- lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
- elif test -x /usr/sbin/sysctl; then
- lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
- else
- lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
- fi
- # And add a safety zone
- 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
- # nice to cause kernel panics so lets avoid the loop below.
- # First set a reasonable default.
- lt_cv_sys_max_cmd_len=16384
- #
- if test -x /sbin/sysconfig; then
- case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
- *1*) lt_cv_sys_max_cmd_len=-1 ;;
- 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
- ;;
- *)
- 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
- # Make teststring a little bigger before we do anything with it.
- # a 1K string should be a reasonable start.
- for i in 1 2 3 4 5 6 7 8 ; do
- teststring=$teststring$teststring
- done
- SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
- # 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.
- while { test "X"`func_fallback_echo "$teststring$teststring" 2>/dev/null` \
- = "X$teststring$teststring"; } >/dev/null 2>&1 &&
- test $i != 17 # 1/2 MB should be enough
- do
- i=`expr $i + 1`
- teststring=$teststring$teststring
- done
- # Only check the string length outside the loop.
- lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
- 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
-])
-if test -n $lt_cv_sys_max_cmd_len ; then
- AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
-else
- AC_MSG_RESULT(none)
-fi
-max_cmd_len=$lt_cv_sys_max_cmd_len
-_LT_DECL([], [max_cmd_len], [0],
- [What is the maximum length of a command?])
-])# LT_CMD_MAX_LEN
-
-# Old name:
-AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [])
-
-
-# _LT_HEADER_DLFCN
-# ----------------
-m4_defun([_LT_HEADER_DLFCN],
-[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl
-])# _LT_HEADER_DLFCN
-
-
-# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
-# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
-# ----------------------------------------------------------------
-m4_defun([_LT_TRY_DLOPEN_SELF],
-[m4_require([_LT_HEADER_DLFCN])dnl
-if test "$cross_compiling" = yes; then :
- [$4]
-else
- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
- lt_status=$lt_dlunknown
- cat > conftest.$ac_ext <<_LT_EOF
-[#line $LINENO "configure"
-#include "confdefs.h"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-# define LT_DLGLOBAL RTLD_GLOBAL
-#else
-# ifdef DL_GLOBAL
-# define LT_DLGLOBAL DL_GLOBAL
-# else
-# define LT_DLGLOBAL 0
-# endif
-#endif
-
-/* 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
-
-/* When -fvisbility=hidden is used, assume the code has been annotated
- correspondingly for the symbols needed. */
-#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
-int fnord () __attribute__((visibility("default")));
-#endif
-
-int fnord () { return 42; }
-int main ()
-{
- void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
- int status = $lt_dlunknown;
-
- if (self)
- {
- if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
- else
- {
- if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
- else puts (dlerror ());
- }
- /* dlclose (self); */
- }
- else
- puts (dlerror ());
-
- return status;
-}]
-_LT_EOF
- if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
- (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
- lt_status=$?
- case x$lt_status in
- x$lt_dlno_uscore) $1 ;;
- x$lt_dlneed_uscore) $2 ;;
- x$lt_dlunknown|x*) $3 ;;
- esac
- else :
- # compilation failed
- $3
- fi
-fi
-rm -fr conftest*
-])# _LT_TRY_DLOPEN_SELF
-
-
-# LT_SYS_DLOPEN_SELF
-# ------------------
-AC_DEFUN([LT_SYS_DLOPEN_SELF],
-[m4_require([_LT_HEADER_DLFCN])dnl
-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* | cegcc*)
- 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
- AC_CHECK_LIB([dl], [dlopen],
- [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[
- lt_cv_dlopen="dyld"
- lt_cv_dlopen_libs=
- lt_cv_dlopen_self=yes
- ])
- ;;
-
- *)
- AC_CHECK_FUNC([shl_load],
- [lt_cv_dlopen="shl_load"],
- [AC_CHECK_LIB([dld], [shl_load],
- [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"],
- [AC_CHECK_FUNC([dlopen],
- [lt_cv_dlopen="dlopen"],
- [AC_CHECK_LIB([dl], [dlopen],
- [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
- [AC_CHECK_LIB([svld], [dlopen],
- [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
- [AC_CHECK_LIB([dld], [dld_link],
- [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"])
- ])
- ])
- ])
- ])
- ])
- ;;
- esac
-
- if test "x$lt_cv_dlopen" != xno; then
- enable_dlopen=yes
- else
- enable_dlopen=no
- fi
-
- 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"
- wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
-
- save_LIBS="$LIBS"
- LIBS="$lt_cv_dlopen_libs $LIBS"
-
- AC_CACHE_CHECK([whether a program can dlopen itself],
- lt_cv_dlopen_self, [dnl
- _LT_TRY_DLOPEN_SELF(
- lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
- lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
- ])
-
- if test "x$lt_cv_dlopen_self" = xyes; then
- 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_TRY_DLOPEN_SELF(
- lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
- lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross)
- ])
- fi
-
- CPPFLAGS="$save_CPPFLAGS"
- LDFLAGS="$save_LDFLAGS"
- LIBS="$save_LIBS"
- ;;
- esac
-
- case $lt_cv_dlopen_self in
- yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
- *) enable_dlopen_self=unknown ;;
- esac
-
- 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
-_LT_DECL([dlopen_support], [enable_dlopen], [0],
- [Whether dlopen is supported])
-_LT_DECL([dlopen_self], [enable_dlopen_self], [0],
- [Whether dlopen of programs is supported])
-_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0],
- [Whether dlopen of statically linked programs is supported])
-])# LT_SYS_DLOPEN_SELF
-
-# Old name:
-AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [])
-
-
-# _LT_COMPILER_C_O([TAGNAME])
-# ---------------------------
-# Check to see if options -c and -o are simultaneously supported by compiler.
-# This macro does not hard code the compiler like AC_PROG_CC_C_O.
-m4_defun([_LT_COMPILER_C_O],
-[m4_require([_LT_DECL_SED])dnl
-m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-m4_require([_LT_TAG_COMPILER])dnl
-AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
- [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
- [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
- $RM -r conftest 2>/dev/null
- mkdir conftest
- cd conftest
- mkdir out
- 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
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- lt_compile=`echo "$ac_compile" | $SED \
- -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:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
- (eval "$lt_compile" 2>out/conftest.err)
- ac_status=$?
- cat out/conftest.err >&AS_MESSAGE_LOG_FD
- echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
- 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 "$_lt_compiler_boilerplate" | $SED '/^$/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_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
- fi
- fi
- chmod u+w . 2>&AS_MESSAGE_LOG_FD
- $RM conftest*
- # SGI C++ compiler will create directory out/ii_files/ for
- # template instantiation
- test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
- $RM out/* && rmdir out
- cd ..
- $RM -r conftest
- $RM conftest*
-])
-_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1],
- [Does compiler simultaneously support -c and -o options?])
-])# _LT_COMPILER_C_O
-
-
-# _LT_COMPILER_FILE_LOCKS([TAGNAME])
-# ----------------------------------
-# Check to see if we can do hard links to lock some files if needed
-m4_defun([_LT_COMPILER_FILE_LOCKS],
-[m4_require([_LT_ENABLE_LOCK])dnl
-m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-_LT_COMPILER_C_O([$1])
-
-hard_links="nottested"
-if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then
- # do not overwrite the value of need_locks provided by the user
- AC_MSG_CHECKING([if we can lock with hard links])
- 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
- AC_MSG_RESULT([$hard_links])
- if test "$hard_links" = no; then
- AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe])
- need_locks=warn
- fi
-else
- need_locks=no
-fi
-_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?])
-])# _LT_COMPILER_FILE_LOCKS
-
-
-# _LT_CHECK_OBJDIR
-# ----------------
-m4_defun([_LT_CHECK_OBJDIR],
-[AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
-[rm -f .libs 2>/dev/null
-mkdir .libs 2>/dev/null
-if test -d .libs; then
- lt_cv_objdir=.libs
-else
- # MS-DOS does not allow filenames that begin with a dot.
- lt_cv_objdir=_libs
-fi
-rmdir .libs 2>/dev/null])
-objdir=$lt_cv_objdir
-_LT_DECL([], [objdir], [0],
- [The name of the directory that contains temporary libtool files])dnl
-m4_pattern_allow([LT_OBJDIR])dnl
-AC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/",
- [Define to the sub-directory in which libtool stores uninstalled libraries.])
-])# _LT_CHECK_OBJDIR
-
-
-# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME])
-# --------------------------------------
-# Check hardcoding attributes.
-m4_defun([_LT_LINKER_HARDCODE_LIBPATH],
-[AC_MSG_CHECKING([how to hardcode library paths into programs])
-_LT_TAGVAR(hardcode_action, $1)=
-if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" ||
- test -n "$_LT_TAGVAR(runpath_var, $1)" ||
- test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then
-
- # We can hardcode non-existent directories.
- if test "$_LT_TAGVAR(hardcode_direct, $1)" != 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_TAGVAR(hardcode_shlibpath_var, $1)" != no &&
- test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then
- # Linking always hardcodes the temporary library directory.
- _LT_TAGVAR(hardcode_action, $1)=relink
- else
- # We can link without hardcoding, and we can hardcode nonexisting dirs.
- _LT_TAGVAR(hardcode_action, $1)=immediate
- fi
-else
- # We cannot hardcode anything, or else we can only hardcode existing
- # directories.
- _LT_TAGVAR(hardcode_action, $1)=unsupported
-fi
-AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)])
-
-if test "$_LT_TAGVAR(hardcode_action, $1)" = relink ||
- test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; 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
-_LT_TAGDECL([], [hardcode_action], [0],
- [How to hardcode a shared library path into an executable])
-])# _LT_LINKER_HARDCODE_LIBPATH
-
-
-# _LT_CMD_STRIPLIB
-# ----------------
-m4_defun([_LT_CMD_STRIPLIB],
-[m4_require([_LT_DECL_EGREP])
-striplib=
-old_striplib=
-AC_MSG_CHECKING([whether stripping libraries is possible])
-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"
- AC_MSG_RESULT([yes])
-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"
- old_striplib="$STRIP -S"
- AC_MSG_RESULT([yes])
- else
- AC_MSG_RESULT([no])
- fi
- ;;
- *)
- AC_MSG_RESULT([no])
- ;;
- esac
-fi
-_LT_DECL([], [old_striplib], [1], [Commands to strip libraries])
-_LT_DECL([], [striplib], [1])
-])# _LT_CMD_STRIPLIB
-
-
-# _LT_SYS_DYNAMIC_LINKER([TAG])
-# -----------------------------
-# PORTME Fill in your ld.so characteristics
-m4_defun([_LT_SYS_DYNAMIC_LINKER],
-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-m4_require([_LT_DECL_EGREP])dnl
-m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-m4_require([_LT_DECL_OBJDUMP])dnl
-m4_require([_LT_DECL_SED])dnl
-m4_require([_LT_CHECK_SHELL_FEATURES])dnl
-AC_MSG_CHECKING([dynamic linker characteristics])
-m4_if([$1],
- [], [
-if test "$GCC" = yes; then
- case $host_os in
- darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
- *) lt_awk_arg="/^libraries:/" ;;
- esac
- case $host_os in
- mingw* | cegcc*) lt_sed_strip_eq="s,=\([[A-Za-z]]:\),\1,g" ;;
- *) lt_sed_strip_eq="s,=/,/,g" ;;
- esac
- lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
- case $lt_search_path_spec in
- *\;*)
- # 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.
- lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
- ;;
- *)
- lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
- ;;
- esac
- # 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; }
-}'`
- # AWK program above erroneously prepends '/' to C:/dos/paths
- # for these hosts.
- case $host_os in
- mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
- $SED 's,/\([[A-Za-z]]:\),\1,g'` ;;
- esac
- sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
-else
- sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
-fi])
-library_names_spec=
-libname_spec='lib$name'
-soname_spec=
-shrext_cmds=".so"
-postinstall_cmds=
-postuninstall_cmds=
-finish_cmds=
-finish_eval=
-shlibpath_var=
-shlibpath_overrides_runpath=unknown
-version_type=none
-dynamic_linker="$host_os ld.so"
-sys_lib_dlsearch_path_spec="/lib /usr/lib"
-need_lib_prefix=unknown
-hardcode_into_libs=no
-
-# when you set need_version to no, make sure it does not cause -set_version
-# flags to be left without arguments
-need_version=unknown
-
-case $host_os in
-aix3*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
- shlibpath_var=LIBPATH
-
- # AIX 3 has no versioning support, so we append a major version to the name.
- soname_spec='${libname}${release}${shared_ext}$major'
- ;;
-
-aix[[4-9]]*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- hardcode_into_libs=yes
- if test "$host_cpu" = ia64; then
- # AIX 5 supports IA64
- library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- else
- # With GCC up to 2.95.x, collect2 would create an import file
- # for dependence libraries. The import file would start with
- # the line `#! .'. This would cause the generated library to
- # depend on `.', always an invalid library. This was fixed in
- # development snapshots of GCC prior to 3.0.
- case $host_os in
- aix4 | aix4.[[01]] | aix4.[[01]].*)
- if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
- echo ' yes '
- echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
- :
- else
- can_build_shared=no
- fi
- ;;
- esac
- # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
- # soname into executable. Probably we can add versioning support to
- # collect2, so additional links can be useful in future.
- if test "$aix_use_runtimelinking" = yes; then
- # If using run time linking (on AIX 4.2 or later) use lib<name>.so
- # instead of lib<name>.a to let people know that these are not
- # typical AIX shared libraries.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- else
- # We preserve .a as extension for shared libraries through AIX4.2
- # and later when we are not doing run time linking.
- library_names_spec='${libname}${release}.a $libname.a'
- soname_spec='${libname}${release}${shared_ext}$major'
- fi
- shlibpath_var=LIBPATH
- fi
- ;;
-
-amigaos*)
- case $host_cpu in
- powerpc)
- # Since July 2007 AmigaOS4 officially supports .so libraries.
- # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- ;;
- m68k)
- 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=`func_echo_all "$lib" | $SED '\''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'
- ;;
- esac
- ;;
-
-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* | cegcc*)
- version_type=windows
- shrext_cmds=".dll"
- need_version=no
- need_lib_prefix=no
-
- case $GCC,$cc_basename in
- yes,*)
- # gcc
- 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~
- if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
- eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
- fi'
- 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}'
-m4_if([$1], [],[
- sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"])
- ;;
- mingw* | cegcc*)
- # MinGW DLLs use traditional 'lib' prefix
- soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
- ;;
- 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
- dynamic_linker='Win32 ld.exe'
- ;;
-
- *,cl*)
- # Native MSVC
- libname_spec='$name'
- soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
- library_names_spec='${libname}.dll.lib'
-
- case $build_os in
- mingw*)
- sys_lib_search_path_spec=
- lt_save_ifs=$IFS
- IFS=';'
- for lt_path in $LIB
- do
- IFS=$lt_save_ifs
- # Let DOS variable expansion print the short 8.3 style file name.
- lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
- sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
- done
- IFS=$lt_save_ifs
- # Convert to MSYS style.
- sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'`
- ;;
- cygwin*)
- # Convert to unix form, then to dos form, then back to unix form
- # but this time dos style (no spaces!) so that the unix form looks
- # like /cygdrive/c/PROGRA~1:/cygdr...
- sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
- sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
- sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
- ;;
- *)
- sys_lib_search_path_spec="$LIB"
- if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then
- # It is most probably a Windows format PATH.
- 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
- # FIXME: find the short name or the path components, as spaces are
- # common. (e.g. "Program Files" -> "PROGRA~1")
- ;;
- esac
-
- # 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'
- postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
- dlpath=$dir/\$dldll~
- $RM \$dlpath'
- shlibpath_overrides_runpath=yes
- dynamic_linker='Win32 link.exe'
- ;;
-
- *)
- # Assume MSVC wrapper
- library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib'
- dynamic_linker='Win32 ld.exe'
- ;;
- esac
- # 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}${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`'
-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'
- ;;
-
-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
- ;;
-
-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
- ;;
- 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
- ;;
-
-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
- ;;
-
-haiku*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- dynamic_linker="$host_os runtime_loader"
- 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=LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
- 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'
- # or fails outright, so override atomically:
- install_override_mode=555
- ;;
-
-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 ;;
- *)
- 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* | k*bsd*-gnu | kopensolaris*-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
-
- # Some binutils ld are patched to set DT_RUNPATH
- AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath],
- [lt_cv_shlibpath_overrides_runpath=no
- save_LDFLAGS=$LDFLAGS
- save_libdir=$libdir
- eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \
- LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\""
- AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
- [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null],
- [lt_cv_shlibpath_overrides_runpath=yes])])
- LDFLAGS=$save_LDFLAGS
- libdir=$save_libdir
- ])
- shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
-
- # 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
-
- # Add ABI-specific directories to the system library path.
- sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib"
-
- # 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;s/"//g;/^$/d' | tr '\n' ' '`
- sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $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'
- ;;
-
-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=qnx
- 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='ldqnx.so'
- ;;
-
-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
- ;;
-
-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"
- ;;
-
-rdos*)
- dynamic_linker=no
- ;;
-
-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.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
- 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
- ;;
-
-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
- shlibpath_overrides_runpath=yes
- 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'
- else
- sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
- 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'
- ;;
-
-tpf*)
- # TPF is a cross-target only. Preferred cross-host = GNU/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}'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
-
-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
-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
-
-if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
- sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
-fi
-if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
- sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
-fi
-
-_LT_DECL([], [variables_saved_for_relink], [1],
- [Variables whose values should be saved in libtool wrapper scripts and
- restored at link time])
-_LT_DECL([], [need_lib_prefix], [0],
- [Do we need the "lib" prefix for modules?])
-_LT_DECL([], [need_version], [0], [Do we need a version for libraries?])
-_LT_DECL([], [version_type], [0], [Library versioning type])
-_LT_DECL([], [runpath_var], [0], [Shared library runtime path variable])
-_LT_DECL([], [shlibpath_var], [0],[Shared library path variable])
-_LT_DECL([], [shlibpath_overrides_runpath], [0],
- [Is shlibpath searched before the hard-coded library search path?])
-_LT_DECL([], [libname_spec], [1], [Format of library name prefix])
-_LT_DECL([], [library_names_spec], [1],
- [[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]])
-_LT_DECL([], [soname_spec], [1],
- [[The coded name of the library, if different from the real name]])
-_LT_DECL([], [install_override_mode], [1],
- [Permission mode override for installation of shared libraries])
-_LT_DECL([], [postinstall_cmds], [2],
- [Command to use after installation of a shared archive])
-_LT_DECL([], [postuninstall_cmds], [2],
- [Command to use after uninstallation of a shared archive])
-_LT_DECL([], [finish_cmds], [2],
- [Commands used to finish a libtool library installation in a directory])
-_LT_DECL([], [finish_eval], [1],
- [[As "finish_cmds", except a single script fragment to be evaled but
- not shown]])
-_LT_DECL([], [hardcode_into_libs], [0],
- [Whether we should hardcode library paths into libraries])
-_LT_DECL([], [sys_lib_search_path_spec], [2],
- [Compile-time system search path for libraries])
-_LT_DECL([], [sys_lib_dlsearch_path_spec], [2],
- [Run-time system search path for libraries])
-])# _LT_SYS_DYNAMIC_LINKER
-
-
-# _LT_PATH_TOOL_PREFIX(TOOL)
-# --------------------------
-# find a file program which can recognize shared library
-AC_DEFUN([_LT_PATH_TOOL_PREFIX],
-[m4_require([_LT_DECL_EGREP])dnl
-AC_MSG_CHECKING([for $1])
-AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
-[case $MAGIC_CMD in
-[[\\/*] | ?:[\\/]*])
- lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
- ;;
-*)
- lt_save_MAGIC_CMD="$MAGIC_CMD"
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-dnl $ac_dummy forces splitting on constant user-supplied paths.
-dnl POSIX.2 word splitting is done only on the output of word expansions,
-dnl not every word. This closes a longstanding sh security hole.
- ac_dummy="m4_if([$2], , $PATH, [$2])"
- for ac_dir in $ac_dummy; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$1; then
- lt_cv_path_MAGIC_CMD="$ac_dir/$1"
- if test -n "$file_magic_test_file"; then
- case $deplibs_check_method in
- "file_magic "*)
- file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
- MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
- if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
- $EGREP "$file_magic_regex" > /dev/null; then
- :
- else
- cat <<_LT_EOF 1>&2
-
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such. This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem. Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool at gnu.org
-
-_LT_EOF
- fi ;;
- esac
- fi
- break
- fi
- done
- IFS="$lt_save_ifs"
- MAGIC_CMD="$lt_save_MAGIC_CMD"
- ;;
-esac])
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-if test -n "$MAGIC_CMD"; then
- AC_MSG_RESULT($MAGIC_CMD)
-else
- AC_MSG_RESULT(no)
-fi
-_LT_DECL([], [MAGIC_CMD], [0],
- [Used to examine libraries when file_magic_cmd begins with "file"])dnl
-])# _LT_PATH_TOOL_PREFIX
-
-# Old name:
-AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], [])
-
-
-# _LT_PATH_MAGIC
-# --------------
-# find a file program which can recognize a shared library
-m4_defun([_LT_PATH_MAGIC],
-[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
-if test -z "$lt_cv_path_MAGIC_CMD"; then
- if test -n "$ac_tool_prefix"; then
- _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
- else
- MAGIC_CMD=:
- fi
-fi
-])# _LT_PATH_MAGIC
-
-
-# LT_PATH_LD
-# ----------
-# find the pathname to the GNU or non-GNU linker
-AC_DEFUN([LT_PATH_LD],
-[AC_REQUIRE([AC_PROG_CC])dnl
-AC_REQUIRE([AC_CANONICAL_HOST])dnl
-AC_REQUIRE([AC_CANONICAL_BUILD])dnl
-m4_require([_LT_DECL_SED])dnl
-m4_require([_LT_DECL_EGREP])dnl
-m4_require([_LT_PROG_ECHO_BACKSLASH])dnl
-
-AC_ARG_WITH([gnu-ld],
- [AS_HELP_STRING([--with-gnu-ld],
- [assume the C compiler uses GNU ld @<:@default=no@:>@])],
- [test "$withval" = no || with_gnu_ld=yes],
- [with_gnu_ld=no])dnl
-
-ac_prog=ld
-if test "$GCC" = yes; then
- # Check if gcc -print-prog-name=ld gives a path.
- AC_MSG_CHECKING([for ld used by $CC])
- case $host in
- *-*-mingw*)
- # gcc leaves a trailing carriage return which upsets mingw
- ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
- *)
- ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
- esac
- case $ac_prog in
- # Accept absolute paths.
- [[\\/]]* | ?:[[\\/]]*)
- re_direlt='/[[^/]][[^/]]*/\.\./'
- # Canonicalize the pathname of ld
- ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
- while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
- ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
- done
- test -z "$LD" && LD="$ac_prog"
- ;;
- "")
- # If it fails, then pretend we aren't using GCC.
- ac_prog=ld
- ;;
- *)
- # If it is relative, then search for the first ld in PATH.
- with_gnu_ld=unknown
- ;;
- esac
-elif test "$with_gnu_ld" = yes; then
- AC_MSG_CHECKING([for GNU ld])
-else
- AC_MSG_CHECKING([for non-GNU ld])
-fi
-AC_CACHE_VAL(lt_cv_path_LD,
-[if test -z "$LD"; then
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- for ac_dir in $PATH; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
- lt_cv_path_LD="$ac_dir/$ac_prog"
- # Check to see if the program is GNU ld. I'd rather use --version,
- # but apparently some variants of GNU ld only accept -v.
- # Break only if it was the GNU/non-GNU ld that we prefer.
- case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
- *GNU* | *'with BFD'*)
- test "$with_gnu_ld" != no && break
- ;;
- *)
- test "$with_gnu_ld" != yes && break
- ;;
- esac
- fi
- done
- IFS="$lt_save_ifs"
-else
- lt_cv_path_LD="$LD" # Let the user override the test with a path.
-fi])
-LD="$lt_cv_path_LD"
-if test -n "$LD"; then
- AC_MSG_RESULT($LD)
-else
- AC_MSG_RESULT(no)
-fi
-test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
-_LT_PATH_LD_GNU
-AC_SUBST([LD])
-
-_LT_TAGDECL([], [LD], [1], [The linker used to build libraries])
-])# LT_PATH_LD
-
-# Old names:
-AU_ALIAS([AM_PROG_LD], [LT_PATH_LD])
-AU_ALIAS([AC_PROG_LD], [LT_PATH_LD])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AM_PROG_LD], [])
-dnl AC_DEFUN([AC_PROG_LD], [])
-
-
-# _LT_PATH_LD_GNU
-#- --------------
-m4_defun([_LT_PATH_LD_GNU],
-[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
-[# I'd rather use --version here, but apparently some GNU lds only accept -v.
-case `$LD -v 2>&1 </dev/null` in
-*GNU* | *'with BFD'*)
- lt_cv_prog_gnu_ld=yes
- ;;
-*)
- lt_cv_prog_gnu_ld=no
- ;;
-esac])
-with_gnu_ld=$lt_cv_prog_gnu_ld
-])# _LT_PATH_LD_GNU
-
-
-# _LT_CMD_RELOAD
-# --------------
-# find reload flag for linker
-# -- PORTME Some linkers may need a different reload flag.
-m4_defun([_LT_CMD_RELOAD],
-[AC_CACHE_CHECK([for $LD option to reload object files],
- lt_cv_ld_reload_flag,
- [lt_cv_ld_reload_flag='-r'])
-reload_flag=$lt_cv_ld_reload_flag
-case $reload_flag in
-"" | " "*) ;;
-*) reload_flag=" $reload_flag" ;;
-esac
-reload_cmds='$LD$reload_flag -o $output$reload_objs'
-case $host_os in
- cygwin* | mingw* | pw32* | cegcc*)
- if test "$GCC" != yes; then
- reload_cmds=false
- fi
- ;;
- darwin*)
- if test "$GCC" = yes; then
- reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
- else
- reload_cmds='$LD$reload_flag -o $output$reload_objs'
- fi
- ;;
-esac
-_LT_TAGDECL([], [reload_flag], [1], [How to create reloadable object files])dnl
-_LT_TAGDECL([], [reload_cmds], [2])dnl
-])# _LT_CMD_RELOAD
-
-
-# _LT_CHECK_MAGIC_METHOD
-# ----------------------
-# how to check for library dependencies
-# -- PORTME fill in with the dynamic library characteristics
-m4_defun([_LT_CHECK_MAGIC_METHOD],
-[m4_require([_LT_DECL_EGREP])
-m4_require([_LT_DECL_OBJDUMP])
-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=
-lt_cv_deplibs_check_method='unknown'
-# Need to set the preceding variable on all platforms that support
-# interlibrary dependencies.
-# 'none' -- dependencies not supported.
-# `unknown' -- same as none, but documents that we really don't know.
-# 'pass_all' -- all dependencies passed with no checks.
-# 'test_compile' -- check by making test program.
-# 'file_magic [[regex]]' -- check by looking for files in library path
-# which responds to the $file_magic_cmd with a given extended regex.
-# If you have `file' or equivalent on your system and you're not sure
-# whether `pass_all' will *always* work, you probably want this one.
-
-case $host_os in
-aix[[4-9]]*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-beos*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-bsdi[[45]]*)
- lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
- lt_cv_file_magic_cmd='/usr/bin/file -L'
- lt_cv_file_magic_test_file=/shlib/libc.so
- ;;
-
-cygwin*)
- # func_win32_libid is a shell function defined in ltmain.sh
- lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
- lt_cv_file_magic_cmd='func_win32_libid'
- ;;
-
-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',
- # unless we find 'file', for example because we are cross-compiling.
- # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin.
- if ( test "$lt_cv_nm_interface" = "BSD nm" && 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
- # Keep this pattern in sync with the one in func_win32_libid.
- lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
- lt_cv_file_magic_cmd='$OBJDUMP -f'
- fi
- ;;
-
-cegcc*)
- # use the weaker test based on 'objdump'. See mingw*.
- lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
- lt_cv_file_magic_cmd='$OBJDUMP -f'
- ;;
-
-darwin* | rhapsody*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-freebsd* | dragonfly*)
- if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
- case $host_cpu in
- i*86 )
- # Not sure whether the presence of OpenBSD here was a mistake.
- # Let's accept both of them until this is cleared up.
- lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
- lt_cv_file_magic_cmd=/usr/bin/file
- lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
- ;;
- esac
- else
- lt_cv_deplibs_check_method=pass_all
- fi
- ;;
-
-gnu*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-haiku*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-hpux10.20* | hpux11*)
- lt_cv_file_magic_cmd=/usr/bin/file
- case $host_cpu in
- ia64*)
- lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
- lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
- ;;
- hppa*64*)
- [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]']
- lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
- ;;
- *)
- lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]]\.[[0-9]]) shared library'
- lt_cv_file_magic_test_file=/usr/lib/libc.sl
- ;;
- 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;;
- *-n32|*"-n32 ") libmagic=N32;;
- *-64|*"-64 ") libmagic=64-bit;;
- *) libmagic=never-match;;
- esac
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-# This must be Linux ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-netbsd*)
- 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
- lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$'
- fi
- ;;
-
-newos6*)
- lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
- lt_cv_file_magic_cmd=/usr/bin/file
- lt_cv_file_magic_test_file=/usr/lib/libnls.so
- ;;
-
-*nto* | *qnx*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-openbsd*)
- if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
- else
- lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
- fi
- ;;
-
-osf3* | osf4* | osf5*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-rdos*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-solaris*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-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]]'
- lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
- ;;
- ncr)
- lt_cv_deplibs_check_method=pass_all
- ;;
- sequent)
- lt_cv_file_magic_cmd='/bin/file'
- lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
- ;;
- sni)
- lt_cv_file_magic_cmd='/bin/file'
- lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
- lt_cv_file_magic_test_file=/lib/libc.so
- ;;
- siemens)
- lt_cv_deplibs_check_method=pass_all
- ;;
- pc)
- lt_cv_deplibs_check_method=pass_all
- ;;
- esac
- ;;
-
-tpf*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-esac
-])
-
-file_magic_glob=
-want_nocaseglob=no
-if test "$build" = "$host"; then
- case $host_os in
- mingw* | pw32*)
- if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
- want_nocaseglob=yes
- else
- file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[[\1]]\/[[\1]]\/g;/g"`
- fi
- ;;
- esac
-fi
-
-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
-
-_LT_DECL([], [deplibs_check_method], [1],
- [Method to check whether dependent libraries are shared objects])
-_LT_DECL([], [file_magic_cmd], [1],
- [Command to use when deplibs_check_method = "file_magic"])
-_LT_DECL([], [file_magic_glob], [1],
- [How to find potential files when deplibs_check_method = "file_magic"])
-_LT_DECL([], [want_nocaseglob], [1],
- [Find potential files using nocaseglob when deplibs_check_method = "file_magic"])
-])# _LT_CHECK_MAGIC_METHOD
-
-
-# LT_PATH_NM
-# ----------
-# find the pathname to a BSD- or MS-compatible name lister
-AC_DEFUN([LT_PATH_NM],
-[AC_REQUIRE([AC_PROG_CC])dnl
-AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM,
-[if test -n "$NM"; then
- # Let the user override the test.
- lt_cv_path_NM="$NM"
-else
- 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
- ;;
- *)
- 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
- fi
- done
- IFS="$lt_save_ifs"
- done
- : ${lt_cv_path_NM=no}
-fi])
-if test "$lt_cv_path_NM" != "no"; then
- NM="$lt_cv_path_NM"
-else
- # Didn't find any BSD compatible name lister, look for dumpbin.
- if test -n "$DUMPBIN"; then :
- # Let the user override the test.
- else
- AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :)
- case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in
- *COFF*)
- DUMPBIN="$DUMPBIN -symbols"
- ;;
- *)
- DUMPBIN=:
- ;;
- esac
- fi
- AC_SUBST([DUMPBIN])
- if test "$DUMPBIN" != ":"; then
- NM="$DUMPBIN"
- fi
-fi
-test -z "$NM" && NM=nm
-AC_SUBST([NM])
-_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl
-
-AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface],
- [lt_cv_nm_interface="BSD nm"
- echo "int some_variable = 0;" > conftest.$ac_ext
- (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD)
- (eval "$ac_compile" 2>conftest.err)
- cat conftest.err >&AS_MESSAGE_LOG_FD
- (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD)
- (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
- cat conftest.err >&AS_MESSAGE_LOG_FD
- (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD)
- cat conftest.out >&AS_MESSAGE_LOG_FD
- if $GREP 'External.*some_variable' conftest.out > /dev/null; then
- lt_cv_nm_interface="MS dumpbin"
- fi
- rm -f conftest*])
-])# LT_PATH_NM
-
-# Old names:
-AU_ALIAS([AM_PROG_NM], [LT_PATH_NM])
-AU_ALIAS([AC_PROG_NM], [LT_PATH_NM])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AM_PROG_NM], [])
-dnl AC_DEFUN([AC_PROG_NM], [])
-
-# _LT_CHECK_SHAREDLIB_FROM_LINKLIB
-# --------------------------------
-# how to determine the name of the shared library
-# associated with a specific link library.
-# -- PORTME fill in with the dynamic library characteristics
-m4_defun([_LT_CHECK_SHAREDLIB_FROM_LINKLIB],
-[m4_require([_LT_DECL_EGREP])
-m4_require([_LT_DECL_OBJDUMP])
-m4_require([_LT_DECL_DLLTOOL])
-AC_CACHE_CHECK([how to associate runtime and link libraries],
-lt_cv_sharedlib_from_linklib_cmd,
-[lt_cv_sharedlib_from_linklib_cmd='unknown'
-
-case $host_os in
-cygwin* | mingw* | pw32* | cegcc*)
- # two different shell functions defined in ltmain.sh
- # decide which to use based on capabilities of $DLLTOOL
- case `$DLLTOOL --help 2>&1` in
- *--identify-strict*)
- lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
- ;;
- *)
- lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
- ;;
- esac
- ;;
-*)
- # fallback: assume linklib IS sharedlib
- lt_cv_sharedlib_from_linklib_cmd="$ECHO"
- ;;
-esac
-])
-sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
-test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
-
-_LT_DECL([], [sharedlib_from_linklib_cmd], [1],
- [Command to associate shared and link libraries])
-])# _LT_CHECK_SHAREDLIB_FROM_LINKLIB
-
-
-# _LT_PATH_MANIFEST_TOOL
-# ----------------------
-# locate the manifest tool
-m4_defun([_LT_PATH_MANIFEST_TOOL],
-[AC_CHECK_TOOL(MANIFEST_TOOL, mt, :)
-test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
-AC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_mainfest_tool],
- [lt_cv_path_mainfest_tool=no
- echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD
- $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
- cat conftest.err >&AS_MESSAGE_LOG_FD
- if $GREP 'Manifest Tool' conftest.out > /dev/null; then
- lt_cv_path_mainfest_tool=yes
- fi
- rm -f conftest*])
-if test "x$lt_cv_path_mainfest_tool" != xyes; then
- MANIFEST_TOOL=:
-fi
-_LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl
-])# _LT_PATH_MANIFEST_TOOL
-
-
-# LT_LIB_M
-# --------
-# check for math library
-AC_DEFUN([LT_LIB_M],
-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-LIBM=
-case $host in
-*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*)
- # These system don't have libm, or don't need it
- ;;
-*-ncr-sysv4.3*)
- AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
- AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
- ;;
-*)
- AC_CHECK_LIB(m, cos, LIBM="-lm")
- ;;
-esac
-AC_SUBST([LIBM])
-])# LT_LIB_M
-
-# Old name:
-AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_CHECK_LIBM], [])
-
-
-# _LT_COMPILER_NO_RTTI([TAGNAME])
-# -------------------------------
-m4_defun([_LT_COMPILER_NO_RTTI],
-[m4_require([_LT_TAG_COMPILER])dnl
-
-_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
-
-if test "$GCC" = yes; then
- case $cc_basename in
- nvcc*)
- _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;;
- *)
- _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;;
- esac
-
- _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
- lt_cv_prog_compiler_rtti_exceptions,
- [-fno-rtti -fno-exceptions], [],
- [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
-fi
-_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1],
- [Compiler flag to turn off builtin functions])
-])# _LT_COMPILER_NO_RTTI
-
-
-# _LT_CMD_GLOBAL_SYMBOLS
-# ----------------------
-m4_defun([_LT_CMD_GLOBAL_SYMBOLS],
-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-AC_REQUIRE([AC_PROG_CC])dnl
-AC_REQUIRE([AC_PROG_AWK])dnl
-AC_REQUIRE([LT_PATH_NM])dnl
-AC_REQUIRE([LT_PATH_LD])dnl
-m4_require([_LT_DECL_SED])dnl
-m4_require([_LT_DECL_EGREP])dnl
-m4_require([_LT_TAG_COMPILER])dnl
-
-# Check for command to grab the raw symbol name followed by C symbol from nm.
-AC_MSG_CHECKING([command to parse $NM output from $compiler object])
-AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
-[
-# These are sane defaults that work on at least a few old systems.
-# [They come from Ultrix. What could be older than Ultrix?!! ;)]
-
-# Character class describing NM global symbol codes.
-symcode='[[BCDEGRST]]'
-
-# Regexp to match symbols that can be accessed directly from C.
-sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
-
-# Define system-specific variables.
-case $host_os in
-aix*)
- symcode='[[BCDT]]'
- ;;
-cygwin* | mingw* | pw32* | cegcc*)
- symcode='[[ABCDGISTW]]'
- ;;
-hpux*)
- if test "$host_cpu" = ia64; then
- symcode='[[ABCDEGRST]]'
- fi
- ;;
-irix* | nonstopux*)
- symcode='[[BCDEGRST]]'
- ;;
-osf*)
- symcode='[[BCDEGQRST]]'
- ;;
-solaris*)
- symcode='[[BDRT]]'
- ;;
-sco3.2v5*)
- symcode='[[DT]]'
- ;;
-sysv4.2uw2*)
- symcode='[[DT]]'
- ;;
-sysv5* | sco5v6* | unixware* | OpenUNIX*)
- symcode='[[ABDT]]'
- ;;
-sysv4)
- symcode='[[DFNSTU]]'
- ;;
-esac
-
-# If we're using GNU nm, then use its standard symbol codes.
-case `$NM -V 2>&1` in
-*GNU* | *'with BFD'*)
- symcode='[[ABCDGIRSTW]]' ;;
-esac
-
-# Transform an extracted symbol line into a proper C declaration.
-# Some systems (esp. on ia64) link data and code symbols differently,
-# so use this general approach.
-lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
-
-# Transform an extracted symbol line into symbol name and symbol address
-lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p'"
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"lib\2\", (void *) \&\2},/p'"
-
-# Handle CRLF in mingw tool chain
-opt_cr=
-case $build_os in
-mingw*)
- opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
- ;;
-esac
-
-# Try without a prefix underscore, then with it.
-for ac_symprfx in "" "_"; do
-
- # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
- symxfrm="\\1 $ac_symprfx\\2 \\2"
-
- # Write the raw and C identifiers.
- if test "$lt_cv_nm_interface" = "MS dumpbin"; then
- # Fake it for dumpbin and say T for any non-static function
- # and D for any global variable.
- # Also find C++ and __fastcall symbols from MSVC++,
- # which start with @ or ?.
- lt_cv_sys_global_symbol_pipe="$AWK ['"\
-" {last_section=section; section=\$ 3};"\
-" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
-" \$ 0!~/External *\|/{next};"\
-" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
-" {if(hide[section]) next};"\
-" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
-" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
-" s[1]~/^[@?]/{print s[1], s[1]; next};"\
-" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
-" ' prfx=^$ac_symprfx]"
- else
- lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
- fi
- lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
-
- # Check to see that the pipe works correctly.
- pipe_works=no
-
- rm -f conftest*
- cat > conftest.$ac_ext <<_LT_EOF
-#ifdef __cplusplus
-extern "C" {
-#endif
-char nm_test_var;
-void nm_test_func(void);
-void nm_test_func(void){}
-#ifdef __cplusplus
-}
-#endif
-int main(){nm_test_var='a';nm_test_func();return(0);}
-_LT_EOF
-
- if AC_TRY_EVAL(ac_compile); then
- # Now try to grab the symbols.
- nlist=conftest.nm
- if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && test -s "$nlist"; then
- # Try sorting and uniquifying the output.
- if sort "$nlist" | uniq > "$nlist"T; then
- mv -f "$nlist"T "$nlist"
- else
- rm -f "$nlist"T
- fi
-
- # Make sure that we snagged all the symbols we need.
- if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
- if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
- cat <<_LT_EOF > conftest.$ac_ext
-/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
-#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
-/* DATA imports from DLLs on WIN32 con't be const, because runtime
- relocations are performed -- see ld's documentation on pseudo-relocs. */
-# define LT@&t at _DLSYM_CONST
-#elif defined(__osf__)
-/* This system does not cope well with relocations in const data. */
-# define LT@&t at _DLSYM_CONST
-#else
-# define LT@&t at _DLSYM_CONST const
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-_LT_EOF
- # Now generate the symbol file.
- eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
-
- cat <<_LT_EOF >> conftest.$ac_ext
-
-/* The mapping between symbol names and symbols. */
-LT@&t at _DLSYM_CONST struct {
- const char *name;
- void *address;
-}
-lt__PROGRAM__LTX_preloaded_symbols[[]] =
-{
- { "@PROGRAM@", (void *) 0 },
-_LT_EOF
- $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
- cat <<\_LT_EOF >> conftest.$ac_ext
- {0, (void *) 0}
-};
-
-/* This works around a problem in FreeBSD linker */
-#ifdef FREEBSD_WORKAROUND
-static const void *lt_preloaded_setup() {
- return lt__PROGRAM__LTX_preloaded_symbols;
-}
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-_LT_EOF
- # Now try linking the two files.
- mv conftest.$ac_objext conftstm.$ac_objext
- lt_globsym_save_LIBS=$LIBS
- lt_globsym_save_CFLAGS=$CFLAGS
- LIBS="conftstm.$ac_objext"
- CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
- if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then
- pipe_works=yes
- fi
- LIBS=$lt_globsym_save_LIBS
- CFLAGS=$lt_globsym_save_CFLAGS
- else
- echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
- fi
- else
- echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
- fi
- else
- echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
- fi
- else
- echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
- cat conftest.$ac_ext >&5
- fi
- rm -rf conftest* conftst*
-
- # Do not use the global_symbol_pipe unless it works.
- if test "$pipe_works" = yes; then
- break
- else
- lt_cv_sys_global_symbol_pipe=
- fi
-done
-])
-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
- AC_MSG_RESULT(failed)
-else
- AC_MSG_RESULT(ok)
-fi
-
-# Response file support.
-if test "$lt_cv_nm_interface" = "MS dumpbin"; then
- nm_file_list_spec='@'
-elif $NM --help 2>/dev/null | grep '[[@]]FILE' >/dev/null; then
- nm_file_list_spec='@'
-fi
-
-_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1],
- [Take the output of nm and produce a listing of raw symbols and C names])
-_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1],
- [Transform the output of nm in a proper C declaration])
-_LT_DECL([global_symbol_to_c_name_address],
- [lt_cv_sys_global_symbol_to_c_name_address], [1],
- [Transform the output of nm in a C name address pair])
-_LT_DECL([global_symbol_to_c_name_address_lib_prefix],
- [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1],
- [Transform the output of nm in a C name address pair when lib prefix is needed])
-_LT_DECL([], [nm_file_list_spec], [1],
- [Specify filename containing input files for $NM])
-]) # _LT_CMD_GLOBAL_SYMBOLS
-
-
-# _LT_COMPILER_PIC([TAGNAME])
-# ---------------------------
-m4_defun([_LT_COMPILER_PIC],
-[m4_require([_LT_TAG_COMPILER])dnl
-_LT_TAGVAR(lt_prog_compiler_wl, $1)=
-_LT_TAGVAR(lt_prog_compiler_pic, $1)=
-_LT_TAGVAR(lt_prog_compiler_static, $1)=
-
-m4_if([$1], [CXX], [
- # C++ specific cases for pic, static, wl, etc.
- if test "$GXX" = yes; then
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
-
- case $host_os in
- aix*)
- # All AIX code is PIC.
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- fi
- ;;
-
- amigaos*)
- case $host_cpu in
- powerpc)
- # see comment about AmigaOS4 .so support
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
- ;;
- m68k)
- # FIXME: we need at least 68020 code to build shared libraries, but
- # adding the `-m68020' flag to GCC prevents building anything better,
- # like `-m68040'.
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
- ;;
- esac
- ;;
-
- beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
- # PIC is the default for these OSes.
- ;;
- mingw* | cygwin* | os2* | pw32* | cegcc*)
- # 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
- m4_if([$1], [GCJ], [],
- [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
- ;;
- darwin* | rhapsody*)
- # PIC is the default on this platform
- # Common symbols not allowed in MH_DYLIB files
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
- ;;
- *djgpp*)
- # DJGPP does not support shared libraries at all
- _LT_TAGVAR(lt_prog_compiler_pic, $1)=
- ;;
- haiku*)
- # PIC is the default for Haiku.
- # The "-static" flag exists, but is broken.
- _LT_TAGVAR(lt_prog_compiler_static, $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_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
- fi
- ;;
- hpux*)
- # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
- # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
- # sets the default TLS model and affects inlining.
- case $host_cpu in
- hppa*64*)
- ;;
- *)
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
- ;;
- esac
- ;;
- *qnx* | *nto*)
- # QNX uses GNU C++, but need to define -shared option too, otherwise
- # it will coredump.
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
- ;;
- *)
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
- ;;
- esac
- else
- case $host_os in
- aix[[4-9]]*)
- # All AIX code is PIC.
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- else
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
- fi
- ;;
- chorus*)
- case $cc_basename in
- cxch68*)
- # Green Hills C++ Compiler
- # _LT_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
- ;;
- esac
- ;;
- mingw* | cygwin* | os2* | pw32* | cegcc*)
- # 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).
- m4_if([$1], [GCJ], [],
- [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
- ;;
- dgux*)
- case $cc_basename in
- ec++*)
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- ;;
- ghcx*)
- # Green Hills C++ Compiler
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
- ;;
- *)
- ;;
- esac
- ;;
- freebsd* | dragonfly*)
- # FreeBSD uses GNU C++
- ;;
- hpux9* | hpux10* | hpux11*)
- case $cc_basename in
- CC*)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
- if test "$host_cpu" != ia64; then
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
- fi
- ;;
- aCC*)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
- case $host_cpu in
- hppa*64*|ia64*)
- # +Z the default
- ;;
- *)
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
- ;;
- esac
- ;;
- *)
- ;;
- 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*)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
- # CC pic flag -KPIC is the default.
- ;;
- *)
- ;;
- esac
- ;;
- linux* | k*bsd*-gnu | kopensolaris*-gnu)
- case $cc_basename in
- KCC*)
- # KAI C++ Compiler
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
- ;;
- ecpc* )
- # old Intel C++ for x86_64 which still supported -KPIC.
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
- ;;
- icpc* )
- # Intel C++, used to be incompatible with GCC.
- # ICC 10 doesn't accept -KPIC any more.
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
- ;;
- pgCC* | pgcpp*)
- # Portland Group C++ compiler
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- ;;
- cxx*)
- # Compaq C++
- # Make sure the PIC flag is empty. It appears that all Alpha
- # Linux and Compaq Tru64 Unix objects are PIC.
- _LT_TAGVAR(lt_prog_compiler_pic, $1)=
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
- ;;
- xlc* | xlC* | bgxl[[cC]]* | mpixl[[cC]]*)
- # IBM XL 8.0, 9.0 on PPC and BlueGene
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
- ;;
- *)
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ C*)
- # Sun C++ 5.9
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
- ;;
- esac
- ;;
- esac
- ;;
- lynxos*)
- ;;
- m88k*)
- ;;
- mvs*)
- case $cc_basename in
- cxx*)
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
- ;;
- *)
- ;;
- esac
- ;;
- netbsd*)
- ;;
- *qnx* | *nto*)
- # QNX uses GNU C++, but need to define -shared option too, otherwise
- # it will coredump.
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
- ;;
- osf3* | osf4* | osf5*)
- case $cc_basename in
- KCC*)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
- ;;
- RCC*)
- # Rational C++ 2.4.1
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
- ;;
- cxx*)
- # Digital/Compaq C++
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- # Make sure the PIC flag is empty. It appears that all Alpha
- # Linux and Compaq Tru64 Unix objects are PIC.
- _LT_TAGVAR(lt_prog_compiler_pic, $1)=
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
- ;;
- *)
- ;;
- esac
- ;;
- psos*)
- ;;
- solaris*)
- case $cc_basename in
- CC* | sunCC*)
- # Sun C++ 4.2, 5.x and Centerline C++
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
- ;;
- gcx*)
- # Green Hills C++ Compiler
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
- ;;
- *)
- ;;
- esac
- ;;
- sunos4*)
- case $cc_basename in
- CC*)
- # Sun C++ 4.x
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- ;;
- lcc*)
- # Lucid
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
- ;;
- *)
- ;;
- esac
- ;;
- sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
- case $cc_basename in
- CC*)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- ;;
- esac
- ;;
- tandem*)
- case $cc_basename in
- NCC*)
- # NonStop-UX NCC 3.20
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- ;;
- *)
- ;;
- esac
- ;;
- vxworks*)
- ;;
- *)
- _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
- ;;
- esac
- fi
-],
-[
- if test "$GCC" = yes; then
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
-
- case $host_os in
- aix*)
- # All AIX code is PIC.
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- fi
- ;;
-
- amigaos*)
- case $host_cpu in
- powerpc)
- # see comment about AmigaOS4 .so support
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
- ;;
- m68k)
- # FIXME: we need at least 68020 code to build shared libraries, but
- # adding the `-m68020' flag to GCC prevents building anything better,
- # like `-m68040'.
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
- ;;
- esac
- ;;
-
- beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
- # PIC is the default for these OSes.
- ;;
-
- mingw* | cygwin* | pw32* | os2* | cegcc*)
- # 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
- m4_if([$1], [GCJ], [],
- [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
- ;;
-
- darwin* | rhapsody*)
- # PIC is the default on this platform
- # Common symbols not allowed in MH_DYLIB files
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
- ;;
-
- haiku*)
- # PIC is the default for Haiku.
- # The "-static" flag exists, but is broken.
- _LT_TAGVAR(lt_prog_compiler_static, $1)=
- ;;
-
- hpux*)
- # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
- # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
- # sets the default TLS model and affects inlining.
- case $host_cpu in
- hppa*64*)
- # +Z the default
- ;;
- *)
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
- ;;
- esac
- ;;
-
- 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.
- _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
- enable_shared=no
- ;;
-
- *nto* | *qnx*)
- # QNX uses GNU C++, but need to define -shared option too, otherwise
- # it will coredump.
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec; then
- _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
- fi
- ;;
-
- *)
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
- ;;
- esac
-
- case $cc_basename in
- nvcc*) # Cuda Compiler Driver 2.2
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker '
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Xcompiler -fPIC'
- ;;
- esac
- else
- # PORTME Check for flag to pass linker flags through the system compiler.
- case $host_os in
- aix*)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- else
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
- fi
- ;;
-
- mingw* | cygwin* | pw32* | os2* | cegcc*)
- # 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).
- m4_if([$1], [GCJ], [],
- [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
- ;;
-
- hpux9* | hpux10* | hpux11*)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
- # not for PA HP-UX.
- case $host_cpu in
- hppa*64*|ia64*)
- # +Z the default
- ;;
- *)
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
- ;;
- esac
- # Is there a better lt_prog_compiler_static that works with the bundled CC?
- _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
- ;;
-
- irix5* | irix6* | nonstopux*)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- # PIC (with -KPIC) is the default.
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
- ;;
-
- linux* | k*bsd*-gnu | kopensolaris*-gnu)
- case $cc_basename in
- # old Intel for x86_64 which still supported -KPIC.
- ecc*)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
- ;;
- # icc used to be incompatible with GCC.
- # ICC 10 doesn't accept -KPIC any more.
- icc* | ifort*)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
- ;;
- # Lahey Fortran 8.1.
- lf95*)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='--static'
- ;;
- nagfor*)
- # NAG Fortran compiler
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,'
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- ;;
- pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
- # Portland Group compilers (*not* the Pentium gcc compiler,
- # which looks to be a dead project)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- ;;
- ccc*)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- # All Alpha code is PIC.
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
- ;;
- xl* | bgxl* | bgf* | mpixl*)
- # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
- ;;
- *)
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ F* | *Sun*Fortran*)
- # Sun Fortran 8.3 passes all unrecognized flags to the linker
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- _LT_TAGVAR(lt_prog_compiler_wl, $1)=''
- ;;
- *Sun\ C*)
- # Sun C 5.9
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- ;;
- esac
- ;;
- esac
- ;;
-
- newsos6)
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- ;;
-
- *nto* | *qnx*)
- # QNX uses GNU C++, but need to define -shared option too, otherwise
- # it will coredump.
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
- ;;
-
- osf3* | osf4* | osf5*)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- # All OSF/1 code is PIC.
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
- ;;
-
- rdos*)
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
- ;;
-
- solaris*)
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- case $cc_basename in
- f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
- *)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
- esac
- ;;
-
- sunos4*)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- ;;
-
- sysv4 | sysv4.2uw2* | sysv4.3*)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec ;then
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- fi
- ;;
-
- sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- ;;
-
- unicos*)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
- ;;
-
- uts4*)
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- ;;
-
- *)
- _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
- ;;
- esac
- fi
-])
-case $host_os in
- # For platforms which do not support PIC, -DPIC is meaningless:
- *djgpp*)
- _LT_TAGVAR(lt_prog_compiler_pic, $1)=
- ;;
- *)
- _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t at m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])"
- ;;
-esac
-
-AC_CACHE_CHECK([for $compiler option to produce PIC],
- [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)],
- [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_prog_compiler_pic, $1)])
-_LT_TAGVAR(lt_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)
-
-#
-# Check to make sure the PIC flag actually works.
-#
-if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
- _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works],
- [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)],
- [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t at m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [],
- [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in
- "" | " "*) ;;
- *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;;
- esac],
- [_LT_TAGVAR(lt_prog_compiler_pic, $1)=
- _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
-fi
-_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1],
- [Additional compiler flags for building library objects])
-
-_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1],
- [How to pass a linker flag through the compiler])
-#
-# Check to make sure the static flag actually works.
-#
-wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\"
-_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
- _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1),
- $lt_tmp_static_flag,
- [],
- [_LT_TAGVAR(lt_prog_compiler_static, $1)=])
-_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1],
- [Compiler flag to prevent dynamic linking])
-])# _LT_COMPILER_PIC
-
-
-# _LT_LINKER_SHLIBS([TAGNAME])
-# ----------------------------
-# See if the linker supports building shared libraries.
-m4_defun([_LT_LINKER_SHLIBS],
-[AC_REQUIRE([LT_PATH_LD])dnl
-AC_REQUIRE([LT_PATH_NM])dnl
-m4_require([_LT_PATH_MANIFEST_TOOL])dnl
-m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-m4_require([_LT_DECL_EGREP])dnl
-m4_require([_LT_DECL_SED])dnl
-m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
-m4_require([_LT_TAG_COMPILER])dnl
-AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
-m4_if([$1], [CXX], [
- _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
- _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
- case $host_os in
- aix[[4-9]]*)
- # If we're using GNU nm, then we don't want the "-C" option.
- # -C means demangle to AIX nm, but means don't demangle with GNU nm
- # Also, AIX nm treats weak defined symbols like other global defined
- # symbols, whereas GNU nm marks them as "W".
- if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
- _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
- else
- _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
- fi
- ;;
- pw32*)
- _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
- ;;
- cygwin* | mingw* | cegcc*)
- case $cc_basename in
- cl*) ;;
- *)
- _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
- _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
- ;;
- esac
- ;;
- *)
- _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
- ;;
- esac
-], [
- runpath_var=
- _LT_TAGVAR(allow_undefined_flag, $1)=
- _LT_TAGVAR(always_export_symbols, $1)=no
- _LT_TAGVAR(archive_cmds, $1)=
- _LT_TAGVAR(archive_expsym_cmds, $1)=
- _LT_TAGVAR(compiler_needs_object, $1)=no
- _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
- _LT_TAGVAR(export_dynamic_flag_spec, $1)=
- _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
- _LT_TAGVAR(hardcode_automatic, $1)=no
- _LT_TAGVAR(hardcode_direct, $1)=no
- _LT_TAGVAR(hardcode_direct_absolute, $1)=no
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
- _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
- _LT_TAGVAR(hardcode_libdir_separator, $1)=
- _LT_TAGVAR(hardcode_minus_L, $1)=no
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
- _LT_TAGVAR(inherit_rpath, $1)=no
- _LT_TAGVAR(link_all_deplibs, $1)=unknown
- _LT_TAGVAR(module_cmds, $1)=
- _LT_TAGVAR(module_expsym_cmds, $1)=
- _LT_TAGVAR(old_archive_from_new_cmds, $1)=
- _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)=
- _LT_TAGVAR(thread_safe_flag_spec, $1)=
- _LT_TAGVAR(whole_archive_flag_spec, $1)=
- # include_expsyms should be a list of space-separated symbols to be *always*
- # included in the symbol list
- _LT_TAGVAR(include_expsyms, $1)=
- # exclude_expsyms can be an extended regexp of symbols to exclude
- # it will be wrapped by ` (' and `)$', so one must not match beginning or
- # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
- # as well as any symbol that contains `d'.
- _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
- # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
- # platforms (ab)use it in PIC code, but their linkers get confused if
- # the symbol is explicitly referenced. Since portable code cannot
- # rely on this symbol name, it's probably fine to never include it in
- # preloaded symbol tables.
- # Exclude shared library initialization/finalization symbols.
-dnl Note also adjust exclude_expsyms for C++ above.
- extract_expsyms_cmds=
-
- case $host_os in
- cygwin* | mingw* | pw32* | cegcc*)
- # FIXME: the MSVC++ port hasn't been tested in a loooong time
- # When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
- if test "$GCC" != yes; then
- 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
- ;;
- esac
-
- _LT_TAGVAR(ld_shlibs, $1)=yes
-
- # On some targets, GNU ld is compatible enough with the native linker
- # that we're better off using the native interface for both.
- lt_use_gnu_ld_interface=no
- if test "$with_gnu_ld" = yes; then
- case $host_os in
- aix*)
- # The AIX port of GNU ld has always aspired to compatibility
- # with the native linker. However, as the warning in the GNU ld
- # block says, versions before 2.19.5* couldn't really create working
- # shared libraries, regardless of the interface used.
- case `$LD -v 2>&1` in
- *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
- *\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;;
- *\ \(GNU\ Binutils\)\ [[3-9]]*) ;;
- *)
- lt_use_gnu_ld_interface=yes
- ;;
- esac
- ;;
- *)
- lt_use_gnu_ld_interface=yes
- ;;
- esac
- fi
-
- if test "$lt_use_gnu_ld_interface" = yes; then
- # If archive_cmds runs LD, not CC, wlarc should be empty
- wlarc='${wl}'
-
- # Set some defaults for GNU ld with shared library support. These
- # are reset later if shared libraries are not supported. Putting them
- # here allows them to be overridden if necessary.
- runpath_var=LD_RUN_PATH
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
- # ancient GNU ld didn't support --whole-archive et. al.
- if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
- _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
- else
- _LT_TAGVAR(whole_archive_flag_spec, $1)=
- fi
- supports_anon_versioning=no
- case `$LD -v 2>&1` in
- *GNU\ gold*) supports_anon_versioning=yes ;;
- *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
- *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
- *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
- *\ 2.11.*) ;; # other 2.11 versions
- *) supports_anon_versioning=yes ;;
- esac
-
- # See if GNU ld supports shared libraries.
- case $host_os in
- aix[[3-9]]*)
- # On AIX/PPC, the GNU linker is very broken
- if test "$host_cpu" != ia64; then
- _LT_TAGVAR(ld_shlibs, $1)=no
- cat <<_LT_EOF 1>&2
-
-*** Warning: the GNU linker, at least up to release 2.19, is reported
-*** to be unable to reliably create shared libraries on AIX.
-*** Therefore, libtool is disabling shared libraries support. If you
-*** really care for shared libraries, you may want to install binutils
-*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
-*** You will then need to restart the configuration process.
-
-_LT_EOF
- fi
- ;;
-
- amigaos*)
- case $host_cpu in
- powerpc)
- # see comment about AmigaOS4 .so support
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)=''
- ;;
- m68k)
- _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_TAGVAR(hardcode_minus_L, $1)=yes
- ;;
- esac
- ;;
-
- beos*)
- if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- _LT_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_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- else
- _LT_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
-
- cygwin* | mingw* | pw32* | cegcc*)
- # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
- # as there is no search path for DLLs.
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols'
- _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
- _LT_TAGVAR(always_export_symbols, $1)=no
- _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
- _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
- _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
-
- if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
- _LT_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_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- cp $export_symbols $output_objdir/$soname.def;
- else
- 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}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- else
- _LT_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
-
- haiku*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_TAGVAR(link_all_deplibs, $1)=yes
- ;;
-
- interix[[3-9]]*)
- _LT_TAGVAR(hardcode_direct, $1)=no
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- _LT_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_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_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* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
- tmp_diet=no
- if test "$host_os" = linux-dietlibc; then
- case $cc_basename in
- diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn)
- esac
- fi
- if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
- && test "$tmp_diet" = no
- then
- tmp_addflag=' $pic_flag'
- tmp_sharedflag='-shared'
- case $cc_basename,$host_cpu in
- pgcc*) # Portland Group C compiler
- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
- tmp_addflag=' $pic_flag'
- ;;
- pgf77* | pgf90* | pgf95* | pgfortran*)
- # Portland Group f77 and f90 compilers
- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
- tmp_addflag=' $pic_flag -Mnomain' ;;
- ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
- tmp_addflag=' -i_dynamic' ;;
- efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
- tmp_addflag=' -i_dynamic -nofor_main' ;;
- ifc* | ifort*) # Intel Fortran compiler
- tmp_addflag=' -nofor_main' ;;
- lf95*) # Lahey Fortran 8.1
- _LT_TAGVAR(whole_archive_flag_spec, $1)=
- tmp_sharedflag='--shared' ;;
- xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below)
- tmp_sharedflag='-qmkshrobj'
- tmp_addflag= ;;
- nvcc*) # Cuda Compiler Driver 2.2
- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
- _LT_TAGVAR(compiler_needs_object, $1)=yes
- ;;
- esac
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ C*) # Sun C 5.9
- _LT_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; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
- _LT_TAGVAR(compiler_needs_object, $1)=yes
- tmp_sharedflag='-G' ;;
- *Sun\ F*) # Sun Fortran 8.3
- tmp_sharedflag='-G' ;;
- esac
- _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-
- if test "x$supports_anon_versioning" = xyes; then
- _LT_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 '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
- fi
-
- case $cc_basename in
- xlf* | bgf* | bgxlf* | mpixlf*)
- # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
- _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
- _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir'
- _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
- if test "x$supports_anon_versioning" = xyes; then
- _LT_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~
- $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
- fi
- ;;
- esac
- else
- _LT_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
-
- netbsd*)
- if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
- _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
- wlarc=
- else
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- fi
- ;;
-
- solaris*)
- if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
- _LT_TAGVAR(ld_shlibs, $1)=no
- cat <<_LT_EOF 1>&2
-
-*** Warning: The releases 2.8.* of the GNU linker cannot reliably
-*** create shared libraries on Solaris systems. Therefore, libtool
-*** is disabling shared libraries support. We urge you to upgrade GNU
-*** binutils to release 2.9.1 or newer. Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
- elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- _LT_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
-
- sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
- case `$LD -v 2>&1` in
- *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
- _LT_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
- ;;
- *)
- # 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.
- if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- _LT_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
- esac
- ;;
-
- sunos4*)
- _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- wlarc=
- _LT_TAGVAR(hardcode_direct, $1)=yes
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- *)
- if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- _LT_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
- esac
-
- if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then
- runpath_var=
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
- _LT_TAGVAR(export_dynamic_flag_spec, $1)=
- _LT_TAGVAR(whole_archive_flag_spec, $1)=
- fi
- else
- # PORTME fill in a description of your system's linker (not GNU ld)
- case $host_os in
- aix3*)
- _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
- _LT_TAGVAR(always_export_symbols, $1)=yes
- _LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
- # Note: this linker hardcodes the directories in LIBPATH if there
- # are no directories specified by -L.
- _LT_TAGVAR(hardcode_minus_L, $1)=yes
- if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
- # Neither direct hardcoding nor static linking is supported with a
- # broken collect2.
- _LT_TAGVAR(hardcode_direct, $1)=unsupported
- fi
- ;;
-
- aix[[4-9]]*)
- if test "$host_cpu" = ia64; then
- # On IA64, the linker does run time linking by default, so we don't
- # have to do anything special.
- aix_use_runtimelinking=no
- exp_sym_flag='-Bexport'
- no_entry_flag=""
- else
- # If we're using GNU nm, then we don't want the "-C" option.
- # -C means demangle to AIX nm, but means don't demangle with GNU nm
- # Also, AIX nm treats weak defined symbols like other global
- # defined symbols, whereas GNU nm marks them as "W".
- if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
- _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
- else
- _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
- fi
- aix_use_runtimelinking=no
-
- # Test if we are trying to use run time linking or normal
- # AIX style linking. If -brtl is somewhere in LDFLAGS, we
- # need to do runtime linking.
- case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
- for ld_flag in $LDFLAGS; do
- if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
- aix_use_runtimelinking=yes
- break
- fi
- done
- ;;
- esac
-
- exp_sym_flag='-bexport'
- no_entry_flag='-bnoentry'
- fi
-
- # When large executables or shared objects are built, AIX ld can
- # have problems creating the table of contents. If linking a library
- # or program results in "error TOC overflow" add -mminimal-toc to
- # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
- # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-
- _LT_TAGVAR(archive_cmds, $1)=''
- _LT_TAGVAR(hardcode_direct, $1)=yes
- _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
- _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
- _LT_TAGVAR(link_all_deplibs, $1)=yes
- _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
-
- if test "$GCC" = yes; then
- case $host_os in aix4.[[012]]|aix4.[[012]].*)
- # We only want to do this on AIX 4.2 and lower, the check
- # below for broken collect2 doesn't work under 4.3+
- collect2name=`${CC} -print-prog-name=collect2`
- if test -f "$collect2name" &&
- strings "$collect2name" | $GREP resolve_lib_name >/dev/null
- then
- # We have reworked collect2
- :
- else
- # We have old collect2
- _LT_TAGVAR(hardcode_direct, $1)=unsupported
- # It fails to find uninstalled libraries when the uninstalled
- # path is not listed in the libpath. Setting hardcode_minus_L
- # to unsupported forces relinking
- _LT_TAGVAR(hardcode_minus_L, $1)=yes
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_TAGVAR(hardcode_libdir_separator, $1)=
- fi
- ;;
- esac
- shared_flag='-shared'
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag="$shared_flag "'${wl}-G'
- fi
- else
- # not using gcc
- if test "$host_cpu" = ia64; then
- # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
- # chokes on -Wl,-G. The following line is correct:
- shared_flag='-G'
- else
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag='${wl}-G'
- else
- shared_flag='${wl}-bM:SRE'
- fi
- fi
- fi
-
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
- # It seems that -bexpall does not export symbols beginning with
- # underscore (_), so it is better to generate a list of symbols to export.
- _LT_TAGVAR(always_export_symbols, $1)=yes
- if test "$aix_use_runtimelinking" = yes; then
- # Warning - without using the other runtime loading flags (-brtl),
- # -berok will link without error, but may produce a broken library.
- _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
- # Determine the default libpath from the value encoded in an
- # empty executable.
- _LT_SYS_MODULE_PATH_AIX([$1])
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
- _LT_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 func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
- else
- if test "$host_cpu" = ia64; then
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
- _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
- _LT_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_SYS_MODULE_PATH_AIX([$1])
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
- # Warning - without using the other run time loading flags,
- # -berok will link without error, but may produce a broken library.
- _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
- _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
- if test "$with_gnu_ld" = yes; then
- # We only use this code for GNU lds that support --whole-archive.
- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
- else
- # Exported symbols can be pulled into shared objects from archives
- _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
- fi
- _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
- # This is similar to how AIX traditionally builds its shared libraries.
- _LT_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
- ;;
-
- amigaos*)
- case $host_cpu in
- powerpc)
- # see comment about AmigaOS4 .so support
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)=''
- ;;
- m68k)
- _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_TAGVAR(hardcode_minus_L, $1)=yes
- ;;
- esac
- ;;
-
- bsdi[[45]]*)
- _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
- ;;
-
- cygwin* | mingw* | pw32* | cegcc*)
- # When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
- # hardcode_libdir_flag_spec is actually meaningless, as there is
- # no search path for DLLs.
- case $cc_basename in
- cl*)
- # Native MSVC
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
- _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
- _LT_TAGVAR(always_export_symbols, $1)=yes
- _LT_TAGVAR(file_list_spec, $1)='@'
- # Tell ltmain to make .lib files, not .a files.
- libext=lib
- # Tell ltmain to make .dll files, not .so files.
- shrext_cmds=".dll"
- # FIXME: Setting linknames here is a bad hack.
- _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
- _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
- else
- sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
- fi~
- $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
- linknames='
- # The linker will not automatically build a static lib if we build a DLL.
- # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
- _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
- _LT_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'
- # Don't use ranlib
- _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
- _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
- lt_tool_outputfile="@TOOL_OUTPUT@"~
- case $lt_outputfile in
- *.exe|*.EXE) ;;
- *)
- lt_outputfile="$lt_outputfile.exe"
- lt_tool_outputfile="$lt_tool_outputfile.exe"
- ;;
- esac~
- if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
- $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
- $RM "$lt_outputfile.manifest";
- fi'
- ;;
- *)
- # Assume MSVC wrapper
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
- _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
- # Tell ltmain to make .lib files, not .a files.
- libext=lib
- # Tell ltmain to make .dll files, not .so files.
- shrext_cmds=".dll"
- # FIXME: Setting linknames here is a bad hack.
- _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
- # The linker will automatically build a .lib file if we build a DLL.
- _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
- # FIXME: Should let the user specify the lib program.
- _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
- _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
- ;;
- esac
- ;;
-
- darwin* | rhapsody*)
- _LT_DARWIN_LINKER_FEATURES($1)
- ;;
-
- dgux*)
- _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- freebsd1*)
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
-
- # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
- # support. Future versions do this automatically, but an explicit c++rt0.o
- # does not break anything, and helps significantly (at the cost of a little
- # extra space).
- freebsd2.2*)
- _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- _LT_TAGVAR(hardcode_direct, $1)=yes
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- # Unfortunately, older versions of FreeBSD 2 do not have this feature.
- freebsd2*)
- _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- _LT_TAGVAR(hardcode_direct, $1)=yes
- _LT_TAGVAR(hardcode_minus_L, $1)=yes
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
- freebsd* | dragonfly*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- _LT_TAGVAR(hardcode_direct, $1)=yes
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- hpux9*)
- if test "$GCC" = yes; then
- _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- else
- _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- fi
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
- _LT_TAGVAR(hardcode_libdir_separator, $1)=:
- _LT_TAGVAR(hardcode_direct, $1)=yes
-
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- _LT_TAGVAR(hardcode_minus_L, $1)=yes
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
- ;;
-
- hpux10*)
- if test "$GCC" = yes && test "$with_gnu_ld" = no; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- else
- _LT_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_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
- _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
- _LT_TAGVAR(hardcode_libdir_separator, $1)=:
- _LT_TAGVAR(hardcode_direct, $1)=yes
- _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
- _LT_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_TAGVAR(hardcode_minus_L, $1)=yes
- fi
- ;;
-
- hpux11*)
- if test "$GCC" = yes && test "$with_gnu_ld" = no; then
- case $host_cpu in
- hppa*64*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- ia64*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- esac
- else
- case $host_cpu in
- hppa*64*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- ia64*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
- m4_if($1, [], [
- # Older versions of the 11.00 compiler do not understand -b yet
- # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
- _LT_LINKER_OPTION([if $CC understands -b],
- _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b],
- [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'],
- [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])],
- [_LT_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_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
- _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-
- case $host_cpu in
- hppa*64*|ia64*)
- _LT_TAGVAR(hardcode_direct, $1)=no
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
- *)
- _LT_TAGVAR(hardcode_direct, $1)=yes
- _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
- _LT_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_TAGVAR(hardcode_minus_L, $1)=yes
- ;;
- esac
- fi
- ;;
-
- irix5* | irix6* | nonstopux*)
- if test "$GCC" = yes; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- # Try to use the -exported_symbol ld option, if it does not
- # work, assume that -exports_file does not work either and
- # implicitly export all symbols.
- # This should be the same for all languages, so no per-tag cache variable.
- AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol],
- [lt_cv_irix_exported_symbol],
- [save_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
- AC_LINK_IFELSE(
- [AC_LANG_SOURCE(
- [AC_LANG_CASE([C], [[int foo (void) { return 0; }]],
- [C++], [[int foo (void) { return 0; }]],
- [Fortran 77], [[
- subroutine foo
- end]],
- [Fortran], [[
- subroutine foo
- end]])])],
- [lt_cv_irix_exported_symbol=yes],
- [lt_cv_irix_exported_symbol=no])
- LDFLAGS="$save_LDFLAGS"])
- if test "$lt_cv_irix_exported_symbol" = yes; then
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
- fi
- else
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
- fi
- _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_TAGVAR(hardcode_libdir_separator, $1)=:
- _LT_TAGVAR(inherit_rpath, $1)=yes
- _LT_TAGVAR(link_all_deplibs, $1)=yes
- ;;
-
- netbsd*)
- if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
- _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
- else
- _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
- fi
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- _LT_TAGVAR(hardcode_direct, $1)=yes
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- newsos6)
- _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_TAGVAR(hardcode_direct, $1)=yes
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_TAGVAR(hardcode_libdir_separator, $1)=:
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- *nto* | *qnx*)
- ;;
-
- openbsd*)
- if test -f /usr/libexec/ld.so; then
- _LT_TAGVAR(hardcode_direct, $1)=yes
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
- if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
- else
- case $host_os in
- openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
- _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- ;;
- *)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- ;;
- esac
- fi
- else
- _LT_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
-
- os2*)
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_TAGVAR(hardcode_minus_L, $1)=yes
- _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
- _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
- _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
- ;;
-
- osf3*)
- if test "$GCC" = yes; then
- _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- else
- _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
- fi
- _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_TAGVAR(hardcode_libdir_separator, $1)=:
- ;;
-
- osf4* | osf5*) # as osf3* with the addition of -msym flag
- if test "$GCC" = yes; then
- _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- else
- _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
- $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
-
- # Both c and cxx compiler support -rpath directly
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
- fi
- _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
- _LT_TAGVAR(hardcode_libdir_separator, $1)=:
- ;;
-
- solaris*)
- _LT_TAGVAR(no_undefined_flag, $1)=' -z defs'
- if test "$GCC" = yes; then
- wlarc='${wl}'
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
- else
- case `$CC -V 2>&1` in
- *"Compilers 5.0"*)
- wlarc=''
- _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_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'
- ;;
- *)
- wlarc='${wl}'
- _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
- ;;
- esac
- fi
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- case $host_os in
- solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
- *)
- # 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?)
- if test "$GCC" = yes; then
- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
- else
- _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
- fi
- ;;
- esac
- _LT_TAGVAR(link_all_deplibs, $1)=yes
- ;;
-
- sunos4*)
- if test "x$host_vendor" = xsequent; then
- # Use $CC to link under sequent, because it throws in some extra .o
- # files that make .init and .fini sections work.
- _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
- fi
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_TAGVAR(hardcode_direct, $1)=yes
- _LT_TAGVAR(hardcode_minus_L, $1)=yes
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- sysv4)
- case $host_vendor in
- sni)
- _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true???
- ;;
- siemens)
- ## LD is ld it makes a PLAMLIB
- ## CC just makes a GrossModule.
- _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
- _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
- _LT_TAGVAR(hardcode_direct, $1)=no
- ;;
- motorola)
- _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
- ;;
- esac
- runpath_var='LD_RUN_PATH'
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- sysv4.3*)
- _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec; then
- _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- runpath_var=LD_RUN_PATH
- hardcode_runpath_var=yes
- _LT_TAGVAR(ld_shlibs, $1)=yes
- fi
- ;;
-
- sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
- _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
- _LT_TAGVAR(archive_cmds_need_lc, $1)=no
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- runpath_var='LD_RUN_PATH'
-
- if test "$GCC" = yes; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- fi
- ;;
-
- 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_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
- _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
- _LT_TAGVAR(archive_cmds_need_lc, $1)=no
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
- _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
- _LT_TAGVAR(link_all_deplibs, $1)=yes
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
- runpath_var='LD_RUN_PATH'
-
- if test "$GCC" = yes; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- fi
- ;;
-
- uts4*)
- _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- *)
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
- esac
-
- if test x$host_vendor = xsni; then
- case $host in
- sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym'
- ;;
- esac
- fi
- fi
-])
-AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
-test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
-
-_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld
-
-_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl
-_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl
-_LT_DECL([], [extract_expsyms_cmds], [2],
- [The commands to extract the exported symbol list from a shared archive])
-
-#
-# Do we need to explicitly link libc?
-#
-case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in
-x|xyes)
- # Assume -lc should be added
- _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
-
- if test "$enable_shared" = yes && test "$GCC" = yes; then
- case $_LT_TAGVAR(archive_cmds, $1) in
- *'~'*)
- # FIXME: we may have to deal with multi-command sequences.
- ;;
- '$CC '*)
- # 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.
- AC_CACHE_CHECK([whether -lc should be explicitly linked in],
- [lt_cv_]_LT_TAGVAR(archive_cmds_need_lc, $1),
- [$RM conftest*
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
- if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
- soname=conftest
- lib=conftest
- libobjs=conftest.$ac_objext
- deplibs=
- wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1)
- pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1)
- compiler_flags=-v
- linker_flags=-v
- verstring=
- output_objdir=.
- libname=conftest
- lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1)
- _LT_TAGVAR(allow_undefined_flag, $1)=
- if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1)
- then
- lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=no
- else
- lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=yes
- fi
- _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
- else
- cat conftest.err 1>&5
- fi
- $RM conftest*
- ])
- _LT_TAGVAR(archive_cmds_need_lc, $1)=$lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)
- ;;
- esac
- fi
- ;;
-esac
-
-_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0],
- [Whether or not to add -lc for building shared libraries])
-_LT_TAGDECL([allow_libtool_libs_with_static_runtimes],
- [enable_shared_with_static_runtimes], [0],
- [Whether or not to disallow shared libs when runtime libs are static])
-_LT_TAGDECL([], [export_dynamic_flag_spec], [1],
- [Compiler flag to allow reflexive dlopens])
-_LT_TAGDECL([], [whole_archive_flag_spec], [1],
- [Compiler flag to generate shared objects directly from archives])
-_LT_TAGDECL([], [compiler_needs_object], [1],
- [Whether the compiler copes with passing no objects directly])
-_LT_TAGDECL([], [old_archive_from_new_cmds], [2],
- [Create an old-style archive from a shared archive])
-_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2],
- [Create a temporary old-style archive to link instead of a shared archive])
-_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive])
-_LT_TAGDECL([], [archive_expsym_cmds], [2])
-_LT_TAGDECL([], [module_cmds], [2],
- [Commands used to build a loadable module if different from building
- a shared archive.])
-_LT_TAGDECL([], [module_expsym_cmds], [2])
-_LT_TAGDECL([], [with_gnu_ld], [1],
- [Whether we are building with GNU ld or not])
-_LT_TAGDECL([], [allow_undefined_flag], [1],
- [Flag that allows shared libraries with undefined symbols to be built])
-_LT_TAGDECL([], [no_undefined_flag], [1],
- [Flag that enforces no undefined symbols])
-_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1],
- [Flag to hardcode $libdir into a binary during linking.
- This must work even if $libdir does not exist])
-_LT_TAGDECL([], [hardcode_libdir_flag_spec_ld], [1],
- [[If ld is used when linking, flag to hardcode $libdir into a binary
- during linking. This must work even if $libdir does not exist]])
-_LT_TAGDECL([], [hardcode_libdir_separator], [1],
- [Whether we need a single "-rpath" flag with a separated argument])
-_LT_TAGDECL([], [hardcode_direct], [0],
- [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
- DIR into the resulting binary])
-_LT_TAGDECL([], [hardcode_direct_absolute], [0],
- [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
- DIR into the resulting binary and the resulting library dependency is
- "absolute", i.e impossible to change by setting ${shlibpath_var} if the
- library is relocated])
-_LT_TAGDECL([], [hardcode_minus_L], [0],
- [Set to "yes" if using the -LDIR flag during linking hardcodes DIR
- into the resulting binary])
-_LT_TAGDECL([], [hardcode_shlibpath_var], [0],
- [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
- into the resulting binary])
-_LT_TAGDECL([], [hardcode_automatic], [0],
- [Set to "yes" if building a shared library automatically hardcodes DIR
- into the library and all subsequent libraries and executables linked
- against it])
-_LT_TAGDECL([], [inherit_rpath], [0],
- [Set to yes if linker adds runtime paths of dependent libraries
- to runtime path list])
-_LT_TAGDECL([], [link_all_deplibs], [0],
- [Whether libtool must link a program against all its dependency libraries])
-_LT_TAGDECL([], [always_export_symbols], [0],
- [Set to "yes" if exported symbols are required])
-_LT_TAGDECL([], [export_symbols_cmds], [2],
- [The commands to list exported symbols])
-_LT_TAGDECL([], [exclude_expsyms], [1],
- [Symbols that should not be listed in the preloaded symbols])
-_LT_TAGDECL([], [include_expsyms], [1],
- [Symbols that must always be exported])
-_LT_TAGDECL([], [prelink_cmds], [2],
- [Commands necessary for linking programs (against libraries) with templates])
-_LT_TAGDECL([], [postlink_cmds], [2],
- [Commands necessary for finishing linking programs])
-_LT_TAGDECL([], [file_list_spec], [1],
- [Specify filename containing input files])
-dnl FIXME: Not yet implemented
-dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1],
-dnl [Compiler flag to generate thread safe objects])
-])# _LT_LINKER_SHLIBS
-
-
-# _LT_LANG_C_CONFIG([TAG])
-# ------------------------
-# Ensure that the configuration variables for a C compiler are suitably
-# defined. These variables are subsequently used by _LT_CONFIG to write
-# the compiler configuration to `libtool'.
-m4_defun([_LT_LANG_C_CONFIG],
-[m4_require([_LT_DECL_EGREP])dnl
-lt_save_CC="$CC"
-AC_LANG_PUSH(C)
-
-# Source file extension for C test sources.
-ac_ext=c
-
-# Object file extension for compiled C test sources.
-objext=o
-_LT_TAGVAR(objext, $1)=$objext
-
-# Code to be used in simple compile tests
-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);}'
-
-_LT_TAG_COMPILER
-# Save the default compiler, since it gets overwritten when the other
-# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
-compiler_DEFAULT=$CC
-
-# save warnings/boilerplate of simple test code
-_LT_COMPILER_BOILERPLATE
-_LT_LINKER_BOILERPLATE
-
-if test -n "$compiler"; then
- _LT_COMPILER_NO_RTTI($1)
- _LT_COMPILER_PIC($1)
- _LT_COMPILER_C_O($1)
- _LT_COMPILER_FILE_LOCKS($1)
- _LT_LINKER_SHLIBS($1)
- _LT_SYS_DYNAMIC_LINKER($1)
- _LT_LINKER_HARDCODE_LIBPATH($1)
- LT_SYS_DLOPEN_SELF
- _LT_CMD_STRIPLIB
-
- # Report which library types will actually be built
- AC_MSG_CHECKING([if libtool supports shared libraries])
- AC_MSG_RESULT([$can_build_shared])
-
- AC_MSG_CHECKING([whether to build shared libraries])
- test "$can_build_shared" = "no" && enable_shared=no
-
- # On AIX, shared libraries and static libraries use the same namespace, and
- # are all built from PIC.
- case $host_os in
- aix3*)
- test "$enable_shared" = yes && enable_static=no
- if test -n "$RANLIB"; then
- archive_cmds="$archive_cmds~\$RANLIB \$lib"
- postinstall_cmds='$RANLIB $lib'
- fi
- ;;
-
- aix[[4-9]]*)
- if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
- test "$enable_shared" = yes && enable_static=no
- fi
- ;;
- esac
- AC_MSG_RESULT([$enable_shared])
-
- AC_MSG_CHECKING([whether to build static libraries])
- # Make sure either enable_shared or enable_static is yes.
- test "$enable_shared" = yes || enable_static=yes
- AC_MSG_RESULT([$enable_static])
-
- _LT_CONFIG($1)
-fi
-AC_LANG_POP
-CC="$lt_save_CC"
-])# _LT_LANG_C_CONFIG
-
-
-# _LT_LANG_CXX_CONFIG([TAG])
-# --------------------------
-# Ensure that the configuration variables for a C++ compiler are suitably
-# defined. These variables are subsequently used by _LT_CONFIG to write
-# the compiler configuration to `libtool'.
-m4_defun([_LT_LANG_CXX_CONFIG],
-[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-m4_require([_LT_DECL_EGREP])dnl
-m4_require([_LT_PATH_MANIFEST_TOOL])dnl
-if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
- ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
- (test "X$CXX" != "Xg++"))) ; then
- AC_PROG_CXXCPP
-else
- _lt_caught_CXX_error=yes
-fi
-
-AC_LANG_PUSH(C++)
-_LT_TAGVAR(archive_cmds_need_lc, $1)=no
-_LT_TAGVAR(allow_undefined_flag, $1)=
-_LT_TAGVAR(always_export_symbols, $1)=no
-_LT_TAGVAR(archive_expsym_cmds, $1)=
-_LT_TAGVAR(compiler_needs_object, $1)=no
-_LT_TAGVAR(export_dynamic_flag_spec, $1)=
-_LT_TAGVAR(hardcode_direct, $1)=no
-_LT_TAGVAR(hardcode_direct_absolute, $1)=no
-_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
-_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
-_LT_TAGVAR(hardcode_libdir_separator, $1)=
-_LT_TAGVAR(hardcode_minus_L, $1)=no
-_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
-_LT_TAGVAR(hardcode_automatic, $1)=no
-_LT_TAGVAR(inherit_rpath, $1)=no
-_LT_TAGVAR(module_cmds, $1)=
-_LT_TAGVAR(module_expsym_cmds, $1)=
-_LT_TAGVAR(link_all_deplibs, $1)=unknown
-_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
-_LT_TAGVAR(reload_flag, $1)=$reload_flag
-_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
-_LT_TAGVAR(no_undefined_flag, $1)=
-_LT_TAGVAR(whole_archive_flag_spec, $1)=
-_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
-
-# Source file extension for C++ test sources.
-ac_ext=cpp
-
-# Object file extension for compiled C++ test sources.
-objext=o
-_LT_TAGVAR(objext, $1)=$objext
-
-# No sense in running all these tests if we already determined that
-# the CXX compiler isn't working. Some variables (like enable_shared)
-# are currently assumed to apply to all compilers on this platform,
-# and will be corrupted by setting them based on a non-working compiler.
-if test "$_lt_caught_CXX_error" != yes; then
- # Code to be used in simple compile tests
- 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); }'
-
- # ltmain only uses $CC for tagged configurations so make sure $CC is set.
- _LT_TAG_COMPILER
-
- # save warnings/boilerplate of simple test code
- _LT_COMPILER_BOILERPLATE
- _LT_LINKER_BOILERPLATE
-
- # Allow CC to be a program name with arguments.
- lt_save_CC=$CC
- lt_save_CFLAGS=$CFLAGS
- lt_save_LD=$LD
- lt_save_GCC=$GCC
- GCC=$GXX
- lt_save_with_gnu_ld=$with_gnu_ld
- 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
- $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
- $as_unset lt_cv_path_LD
- fi
- test -z "${LDCXX+set}" || LD=$LDCXX
- CC=${CXX-"c++"}
- CFLAGS=$CXXFLAGS
- compiler=$CC
- _LT_TAGVAR(compiler, $1)=$CC
- _LT_CC_BASENAME([$compiler])
-
- if test -n "$compiler"; then
- # We don't want -fno-exception when compiling C++ code, so set the
- # no_builtin_flag separately
- if test "$GXX" = yes; then
- _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
- else
- _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
- fi
-
- if test "$GXX" = yes; then
- # Set up default GNU C++ configuration
-
- LT_PATH_LD
-
- # Check if GNU C++ uses GNU ld as the underlying linker, since the
- # archiving commands below assume that GNU ld is being used.
- if test "$with_gnu_ld" = yes; then
- _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
-
- # If archive_cmds runs LD, not CC, wlarc should be empty
- # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
- # investigate it a little bit more. (MM)
- wlarc='${wl}'
-
- # ancient GNU ld didn't support --whole-archive et. al.
- if eval "`$CC -print-prog-name=ld` --help 2>&1" |
- $GREP 'no-whole-archive' > /dev/null; then
- _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
- else
- _LT_TAGVAR(whole_archive_flag_spec, $1)=
- fi
- else
- with_gnu_ld=no
- wlarc=
-
- # A generic and very simple default shared library creation
- # command for GNU C++ for the case where it uses the native
- # linker, instead of GNU ld. If possible, this setting should
- # overridden to take advantage of the native linker features on
- # the platform it is being used on.
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
- fi
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
-
- else
- GXX=no
- with_gnu_ld=no
- wlarc=
- fi
-
- # PORTME: fill in a description of your system's C++ link characteristics
- AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
- _LT_TAGVAR(ld_shlibs, $1)=yes
- case $host_os in
- aix3*)
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
- aix[[4-9]]*)
- if test "$host_cpu" = ia64; then
- # On IA64, the linker does run time linking by default, so we don't
- # have to do anything special.
- aix_use_runtimelinking=no
- exp_sym_flag='-Bexport'
- no_entry_flag=""
- else
- aix_use_runtimelinking=no
-
- # Test if we are trying to use run time linking or normal
- # AIX style linking. If -brtl is somewhere in LDFLAGS, we
- # need to do runtime linking.
- case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
- for ld_flag in $LDFLAGS; do
- case $ld_flag in
- *-brtl*)
- aix_use_runtimelinking=yes
- break
- ;;
- esac
- done
- ;;
- esac
-
- exp_sym_flag='-bexport'
- no_entry_flag='-bnoentry'
- fi
-
- # When large executables or shared objects are built, AIX ld can
- # have problems creating the table of contents. If linking a library
- # or program results in "error TOC overflow" add -mminimal-toc to
- # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
- # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-
- _LT_TAGVAR(archive_cmds, $1)=''
- _LT_TAGVAR(hardcode_direct, $1)=yes
- _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
- _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
- _LT_TAGVAR(link_all_deplibs, $1)=yes
- _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
-
- if test "$GXX" = yes; then
- case $host_os in aix4.[[012]]|aix4.[[012]].*)
- # We only want to do this on AIX 4.2 and lower, the check
- # below for broken collect2 doesn't work under 4.3+
- collect2name=`${CC} -print-prog-name=collect2`
- if test -f "$collect2name" &&
- strings "$collect2name" | $GREP resolve_lib_name >/dev/null
- then
- # We have reworked collect2
- :
- else
- # We have old collect2
- _LT_TAGVAR(hardcode_direct, $1)=unsupported
- # It fails to find uninstalled libraries when the uninstalled
- # path is not listed in the libpath. Setting hardcode_minus_L
- # to unsupported forces relinking
- _LT_TAGVAR(hardcode_minus_L, $1)=yes
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_TAGVAR(hardcode_libdir_separator, $1)=
- fi
- esac
- shared_flag='-shared'
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag="$shared_flag "'${wl}-G'
- fi
- else
- # not using gcc
- if test "$host_cpu" = ia64; then
- # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
- # chokes on -Wl,-G. The following line is correct:
- shared_flag='-G'
- else
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag='${wl}-G'
- else
- shared_flag='${wl}-bM:SRE'
- fi
- fi
- fi
-
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
- # It seems that -bexpall does not export symbols beginning with
- # underscore (_), so it is better to generate a list of symbols to
- # export.
- _LT_TAGVAR(always_export_symbols, $1)=yes
- if test "$aix_use_runtimelinking" = yes; then
- # Warning - without using the other runtime loading flags (-brtl),
- # -berok will link without error, but may produce a broken library.
- _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
- # Determine the default libpath from the value encoded in an empty
- # executable.
- _LT_SYS_MODULE_PATH_AIX([$1])
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
-
- _LT_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 func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
- else
- if test "$host_cpu" = ia64; then
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
- _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
- _LT_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_SYS_MODULE_PATH_AIX([$1])
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
- # Warning - without using the other run time loading flags,
- # -berok will link without error, but may produce a broken library.
- _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
- _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
- if test "$with_gnu_ld" = yes; then
- # We only use this code for GNU lds that support --whole-archive.
- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
- else
- # Exported symbols can be pulled into shared objects from archives
- _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
- fi
- _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
- # This is similar to how AIX traditionally builds its shared
- # libraries.
- _LT_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_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_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- else
- _LT_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
-
- chorus*)
- case $cc_basename in
- *)
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
- esac
- ;;
-
- cygwin* | mingw* | pw32* | cegcc*)
- case $GXX,$cc_basename in
- ,cl* | no,cl*)
- # Native MSVC
- # hardcode_libdir_flag_spec is actually meaningless, as there is
- # no search path for DLLs.
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
- _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
- _LT_TAGVAR(always_export_symbols, $1)=yes
- _LT_TAGVAR(file_list_spec, $1)='@'
- # Tell ltmain to make .lib files, not .a files.
- libext=lib
- # Tell ltmain to make .dll files, not .so files.
- shrext_cmds=".dll"
- # FIXME: Setting linknames here is a bad hack.
- _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
- _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- $SED -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
- else
- $SED -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
- fi~
- $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
- linknames='
- # The linker will not automatically build a static lib if we build a DLL.
- # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
- _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
- # Don't use ranlib
- _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
- _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
- lt_tool_outputfile="@TOOL_OUTPUT@"~
- case $lt_outputfile in
- *.exe|*.EXE) ;;
- *)
- lt_outputfile="$lt_outputfile.exe"
- lt_tool_outputfile="$lt_tool_outputfile.exe"
- ;;
- esac~
- func_to_tool_file "$lt_outputfile"~
- if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
- $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
- $RM "$lt_outputfile.manifest";
- fi'
- ;;
- *)
- # g++
- # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
- # as there is no search path for DLLs.
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols'
- _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
- _LT_TAGVAR(always_export_symbols, $1)=no
- _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
-
- if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
- _LT_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_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- cp $export_symbols $output_objdir/$soname.def;
- else
- 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}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- else
- _LT_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
- esac
- ;;
- darwin* | rhapsody*)
- _LT_DARWIN_LINKER_FEATURES($1)
- ;;
-
- dgux*)
- case $cc_basename in
- ec++*)
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
- ghcx*)
- # Green Hills C++ Compiler
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
- *)
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
- esac
- ;;
-
- freebsd[[12]]*)
- # C++ shared libraries reported to be fairly broken before
- # switch to ELF
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
-
- freebsd-elf*)
- _LT_TAGVAR(archive_cmds_need_lc, $1)=no
- ;;
-
- freebsd* | dragonfly*)
- # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
- # conventions
- _LT_TAGVAR(ld_shlibs, $1)=yes
- ;;
-
- gnu*)
- ;;
-
- haiku*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_TAGVAR(link_all_deplibs, $1)=yes
- ;;
-
- hpux9*)
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
- _LT_TAGVAR(hardcode_libdir_separator, $1)=:
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
- _LT_TAGVAR(hardcode_direct, $1)=yes
- _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
- # but as the default
- # location of the library.
-
- case $cc_basename in
- CC*)
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
- aCC*)
- _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
- ;;
- *)
- if test "$GXX" = yes; then
- _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- else
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
- esac
- ;;
-
- hpux10*|hpux11*)
- if test $with_gnu_ld = no; then
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
- _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-
- case $host_cpu in
- hppa*64*|ia64*)
- ;;
- *)
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
- ;;
- esac
- fi
- case $host_cpu in
- hppa*64*|ia64*)
- _LT_TAGVAR(hardcode_direct, $1)=no
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
- *)
- _LT_TAGVAR(hardcode_direct, $1)=yes
- _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
- _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
- # but as the default
- # location of the library.
- ;;
- esac
-
- case $cc_basename in
- CC*)
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
- aCC*)
- case $host_cpu in
- hppa*64*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
- ia64*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
- *)
- _LT_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'
- ;;
- esac
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
- ;;
- *)
- if test "$GXX" = yes; then
- if test $with_gnu_ld = no; then
- case $host_cpu in
- hppa*64*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
- ia64*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
- *)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
- esac
- fi
- else
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
- esac
- ;;
-
- interix[[3-9]]*)
- _LT_TAGVAR(hardcode_direct, $1)=no
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- _LT_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_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_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*)
- # SGI C++
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
-
- # Archives containing C++ object files must be created using
- # "CC -ar", where "CC" is the IRIX C++ compiler. This is
- # necessary to make sure instantiated templates are included
- # in the archive.
- _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
- ;;
- *)
- if test "$GXX" = yes; then
- if test "$with_gnu_ld" = no; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- else
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` -o $lib'
- fi
- fi
- _LT_TAGVAR(link_all_deplibs, $1)=yes
- ;;
- esac
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_TAGVAR(hardcode_libdir_separator, $1)=:
- _LT_TAGVAR(inherit_rpath, $1)=yes
- ;;
-
- linux* | k*bsd*-gnu | kopensolaris*-gnu)
- case $cc_basename in
- KCC*)
- # Kuck and Associates, Inc. (KAI) C++ Compiler
-
- # KCC will only create a shared library if the output file
- # ends with ".so" (or ".sl" for HP-UX), so rename the library
- # to its proper name (with version) after linking.
- _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
-
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
-
- # Archives containing C++ object files must be created using
- # "CC -Bstatic", where "CC" is the KAI C++ compiler.
- _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
- ;;
- icpc* | ecpc* )
- # Intel C++
- with_gnu_ld=yes
- # version 8.0 and above of icpc choke on multiply defined symbols
- # if we add $predep_objects and $postdep_objects, however 7.1 and
- # earlier do not add the objects themselves.
- case `$CC -V 2>&1` in
- *"Version 7."*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- ;;
- *) # Version 8.0 or newer
- tmp_idyn=
- case $host_cpu in
- ia64*) tmp_idyn=' -i_dynamic';;
- esac
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- ;;
- esac
- _LT_TAGVAR(archive_cmds_need_lc, $1)=no
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
- ;;
- pgCC* | pgcpp*)
- # Portland Group C++ compiler
- case `$CC -V` in
- *pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*)
- _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~
- rm -rf $tpldir~
- $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
- compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"'
- _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~
- rm -rf $tpldir~
- $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
- $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~
- $RANLIB $oldlib'
- _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~
- rm -rf $tpldir~
- $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
- $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~
- rm -rf $tpldir~
- $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
- $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
- ;;
- *) # Version 6 and above use weak symbols
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
- ;;
- esac
-
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
- ;;
- cxx*)
- # Compaq C++
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
-
- runpath_var=LD_RUN_PATH
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
- _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$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; func_echo_all "X$list" | $Xsed'
- ;;
- xl* | mpixl* | bgxl*)
- # IBM XL 8.0 on PPC, with GNU ld
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
- _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- if test "x$supports_anon_versioning" = xyes; then
- _LT_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 -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
- fi
- ;;
- *)
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ C*)
- # Sun C++ 5.9
- _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
- _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- _LT_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_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- _LT_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; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
- _LT_TAGVAR(compiler_needs_object, $1)=yes
-
- # Not sure whether something based on
- # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
- # would be better.
- output_verbose_link_cmd='func_echo_all'
-
- # 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_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
- ;;
- esac
- ;;
- esac
- ;;
-
- lynxos*)
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
-
- m88k*)
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
-
- mvs*)
- case $cc_basename in
- cxx*)
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
- *)
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
- esac
- ;;
-
- netbsd*)
- if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
- _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
- wlarc=
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- _LT_TAGVAR(hardcode_direct, $1)=yes
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- fi
- # Workaround some broken pre-1.5 toolchains
- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
- ;;
-
- *nto* | *qnx*)
- _LT_TAGVAR(ld_shlibs, $1)=yes
- ;;
-
- openbsd2*)
- # C++ shared libraries are fairly broken
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
-
- openbsd*)
- if test -f /usr/libexec/ld.so; then
- _LT_TAGVAR(hardcode_direct, $1)=yes
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
- _LT_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_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_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
- _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
- fi
- output_verbose_link_cmd=func_echo_all
- else
- _LT_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
-
- osf3* | osf4* | osf5*)
- case $cc_basename in
- KCC*)
- # Kuck and Associates, Inc. (KAI) C++ Compiler
-
- # KCC will only create a shared library if the output file
- # ends with ".so" (or ".sl" for HP-UX), so rename the library
- # to its proper name (with version) after linking.
- _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
-
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-
- # Archives containing C++ object files must be created using
- # the KAI C++ compiler.
- case $host in
- osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;;
- *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;;
- esac
- ;;
- RCC*)
- # Rational C++ 2.4.1
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
- cxx*)
- case $host in
- osf3*)
- _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && func_echo_all "${wl}-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- ;;
- *)
- _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
- echo "-hidden">> $lib.exp~
- $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~
- $RM $lib.exp'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
- ;;
- esac
-
- _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$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; func_echo_all "$list"'
- ;;
- *)
- if test "$GXX" = yes && test "$with_gnu_ld" = no; then
- _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
- case $host in
- osf3*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- ;;
- *)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- ;;
- esac
-
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
-
- else
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
- esac
- ;;
-
- psos*)
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
-
- sunos4*)
- case $cc_basename in
- CC*)
- # Sun C++ 4.x
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
- lcc*)
- # Lucid
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
- *)
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
- esac
- ;;
-
- solaris*)
- case $cc_basename in
- CC* | sunCC*)
- # Sun C++ 4.2, 5.x and Centerline C++
- _LT_TAGVAR(archive_cmds_need_lc,$1)=yes
- _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
- _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
-
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- case $host_os in
- solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
- *)
- # The compiler driver will combine and reorder linker options,
- # but understands `-z linker_flag'.
- # Supported since Solaris 2.6 (maybe 2.5.1?)
- _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
- ;;
- esac
- _LT_TAGVAR(link_all_deplibs, $1)=yes
-
- output_verbose_link_cmd='func_echo_all'
-
- # 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_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
- ;;
- gcx*)
- # Green Hills C++ Compiler
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
-
- # The C++ compiler must be used to create the archive.
- _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
- ;;
- *)
- # GNU C++ compiler with Solaris linker
- if test "$GXX" = yes && test "$with_gnu_ld" = no; then
- _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs'
- if $CC --version | $GREP -v '^2\.7' > /dev/null; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $CC -shared $pic_flag -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
- else
- # g++ 2.7 appears to require `-G' NOT `-shared' on this
- # platform.
- _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
- fi
-
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
- case $host_os in
- solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
- *)
- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
- ;;
- esac
- fi
- ;;
- esac
- ;;
-
- sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
- _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
- _LT_TAGVAR(archive_cmds_need_lc, $1)=no
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- runpath_var='LD_RUN_PATH'
-
- case $cc_basename in
- CC*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_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.
- _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
- _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
- _LT_TAGVAR(archive_cmds_need_lc, $1)=no
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
- _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
- _LT_TAGVAR(link_all_deplibs, $1)=yes
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
- runpath_var='LD_RUN_PATH'
-
- case $cc_basename in
- CC*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~
- '"$_LT_TAGVAR(old_archive_cmds, $1)"
- _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~
- '"$_LT_TAGVAR(reload_cmds, $1)"
- ;;
- *)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- esac
- ;;
-
- tandem*)
- case $cc_basename in
- NCC*)
- # NonStop-UX NCC 3.20
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
- *)
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
- esac
- ;;
-
- vxworks*)
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
-
- *)
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
- esac
-
- AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
- test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
-
- _LT_TAGVAR(GCC, $1)="$GXX"
- _LT_TAGVAR(LD, $1)="$LD"
-
- ## CAVEAT EMPTOR:
- ## There is no encapsulation within the following macros, do not change
- ## the running order or otherwise move them around unless you know exactly
- ## what you are doing...
- _LT_SYS_HIDDEN_LIBDEPS($1)
- _LT_COMPILER_PIC($1)
- _LT_COMPILER_C_O($1)
- _LT_COMPILER_FILE_LOCKS($1)
- _LT_LINKER_SHLIBS($1)
- _LT_SYS_DYNAMIC_LINKER($1)
- _LT_LINKER_HARDCODE_LIBPATH($1)
-
- _LT_CONFIG($1)
- fi # test -n "$compiler"
-
- CC=$lt_save_CC
- CFLAGS=$lt_save_CFLAGS
- LDCXX=$LD
- LD=$lt_save_LD
- GCC=$lt_save_GCC
- with_gnu_ld=$lt_save_with_gnu_ld
- lt_cv_path_LDCXX=$lt_cv_path_LD
- lt_cv_path_LD=$lt_save_path_LD
- lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
- lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
-fi # test "$_lt_caught_CXX_error" != yes
-
-AC_LANG_POP
-])# _LT_LANG_CXX_CONFIG
-
-
-# _LT_FUNC_STRIPNAME_CNF
-# ----------------------
-# func_stripname_cnf prefix suffix name
-# strip PREFIX and SUFFIX off of NAME.
-# PREFIX and SUFFIX must not contain globbing or regex special
-# characters, hashes, percent signs, but SUFFIX may contain a leading
-# dot (in which case that matches only a dot).
-#
-# This function is identical to the (non-XSI) version of func_stripname,
-# except this one can be used by m4 code that may be executed by configure,
-# rather than the libtool script.
-m4_defun([_LT_FUNC_STRIPNAME_CNF],[dnl
-AC_REQUIRE([_LT_DECL_SED])
-AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])
-func_stripname_cnf ()
-{
- case ${2} in
- .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
- *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
- esac
-} # func_stripname_cnf
-])# _LT_FUNC_STRIPNAME_CNF
-
-# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME])
-# ---------------------------------
-# Figure out "hidden" library dependencies from verbose
-# compiler output when linking a shared library.
-# Parse the compiler output and extract the necessary
-# objects, libraries and library flags.
-m4_defun([_LT_SYS_HIDDEN_LIBDEPS],
-[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-AC_REQUIRE([_LT_FUNC_STRIPNAME_CNF])dnl
-# Dependencies to place before and after the object being linked:
-_LT_TAGVAR(predep_objects, $1)=
-_LT_TAGVAR(postdep_objects, $1)=
-_LT_TAGVAR(predeps, $1)=
-_LT_TAGVAR(postdeps, $1)=
-_LT_TAGVAR(compiler_lib_search_path, $1)=
-
-dnl we can't use the lt_simple_compile_test_code here,
-dnl because it contains code intended for an executable,
-dnl not a library. It's possible we should let each
-dnl tag define a new lt_????_link_test_code variable,
-dnl but it's only used here...
-m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF
-int a;
-void foo (void) { a = 0; }
-_LT_EOF
-], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF
-class Foo
-{
-public:
- Foo (void) { a = 0; }
-private:
- int a;
-};
-_LT_EOF
-], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF
- subroutine foo
- implicit none
- integer*4 a
- a=0
- return
- end
-_LT_EOF
-], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF
- subroutine foo
- implicit none
- integer a
- a=0
- return
- end
-_LT_EOF
-], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF
-public class foo {
- private int a;
- public void bar (void) {
- a = 0;
- }
-};
-_LT_EOF
-])
-
-_lt_libdeps_save_CFLAGS=$CFLAGS
-case "$CC $CFLAGS " in #(
-*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;;
-*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;;
-esac
-
-dnl Parse the compiler output and extract the necessary
-dnl objects, libraries and library flags.
-if AC_TRY_EVAL(ac_compile); then
- # Parse the compiler output and extract the necessary
- # objects, libraries and library flags.
-
- # Sentinel used to keep track of whether or not we are before
- # the conftest object file.
- pre_test_object_deps_done=no
-
- for p in `eval "$output_verbose_link_cmd"`; do
- case ${prev}${p} in
-
- -L* | -R* | -l*)
- # Some compilers place space between "-{L,R}" and the path.
- # Remove the space.
- if test $p = "-L" ||
- test $p = "-R"; then
- prev=$p
- continue
- fi
-
- # Expand the sysroot to ease extracting the directories later.
- if test -z "$prev"; then
- case $p in
- -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;;
- -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;;
- -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;;
- esac
- fi
- case $p in
- =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;;
- esac
- if test "$pre_test_object_deps_done" = no; then
- case ${prev} in
- -L | -R)
- # Internal compiler library paths should come after those
- # provided the user. The postdeps already come after the
- # user supplied libs so there is no need to process them.
- if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then
- _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}"
- else
- _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}"
- fi
- ;;
- # The "-l" case would never come before the object being
- # linked, so don't bother handling this case.
- esac
- else
- if test -z "$_LT_TAGVAR(postdeps, $1)"; then
- _LT_TAGVAR(postdeps, $1)="${prev}${p}"
- else
- _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}"
- fi
- fi
- prev=
- ;;
-
- *.lto.$objext) ;; # Ignore GCC LTO objects
- *.$objext)
- # This assumes that the test object file only shows up
- # once in the compiler output.
- if test "$p" = "conftest.$objext"; then
- pre_test_object_deps_done=yes
- continue
- fi
-
- if test "$pre_test_object_deps_done" = no; then
- if test -z "$_LT_TAGVAR(predep_objects, $1)"; then
- _LT_TAGVAR(predep_objects, $1)="$p"
- else
- _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p"
- fi
- else
- if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then
- _LT_TAGVAR(postdep_objects, $1)="$p"
- else
- _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p"
- fi
- fi
- ;;
-
- *) ;; # Ignore the rest.
-
- esac
- done
-
- # Clean up.
- rm -f a.out a.exe
-else
- echo "libtool.m4: error: problem compiling $1 test program"
-fi
-
-$RM -f confest.$objext
-CFLAGS=$_lt_libdeps_save_CFLAGS
-
-# PORTME: override above test on systems where it is broken
-m4_if([$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_TAGVAR(predep_objects,$1)=
- _LT_TAGVAR(postdep_objects,$1)=
- _LT_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_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
- fi
- ;;
- esac
- ;;
-
-solaris*)
- case $cc_basename in
- CC* | sunCC*)
- # 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.
- if test "$solaris_use_stlport4" != yes; then
- _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
- fi
- ;;
- esac
- ;;
-esac
-])
-
-case " $_LT_TAGVAR(postdeps, $1) " in
-*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;;
-esac
- _LT_TAGVAR(compiler_lib_search_dirs, $1)=
-if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then
- _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
-fi
-_LT_TAGDECL([], [compiler_lib_search_dirs], [1],
- [The directories searched by this compiler when creating a shared library])
-_LT_TAGDECL([], [predep_objects], [1],
- [Dependencies to place before and after the objects being linked to
- create a shared library])
-_LT_TAGDECL([], [postdep_objects], [1])
-_LT_TAGDECL([], [predeps], [1])
-_LT_TAGDECL([], [postdeps], [1])
-_LT_TAGDECL([], [compiler_lib_search_path], [1],
- [The library search path used internally by the compiler when linking
- a shared library])
-])# _LT_SYS_HIDDEN_LIBDEPS
-
-
-# _LT_LANG_F77_CONFIG([TAG])
-# --------------------------
-# Ensure that the configuration variables for a Fortran 77 compiler are
-# suitably defined. These variables are subsequently used by _LT_CONFIG
-# to write the compiler configuration to `libtool'.
-m4_defun([_LT_LANG_F77_CONFIG],
-[AC_LANG_PUSH(Fortran 77)
-if test -z "$F77" || test "X$F77" = "Xno"; then
- _lt_disable_F77=yes
-fi
-
-_LT_TAGVAR(archive_cmds_need_lc, $1)=no
-_LT_TAGVAR(allow_undefined_flag, $1)=
-_LT_TAGVAR(always_export_symbols, $1)=no
-_LT_TAGVAR(archive_expsym_cmds, $1)=
-_LT_TAGVAR(export_dynamic_flag_spec, $1)=
-_LT_TAGVAR(hardcode_direct, $1)=no
-_LT_TAGVAR(hardcode_direct_absolute, $1)=no
-_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
-_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
-_LT_TAGVAR(hardcode_libdir_separator, $1)=
-_LT_TAGVAR(hardcode_minus_L, $1)=no
-_LT_TAGVAR(hardcode_automatic, $1)=no
-_LT_TAGVAR(inherit_rpath, $1)=no
-_LT_TAGVAR(module_cmds, $1)=
-_LT_TAGVAR(module_expsym_cmds, $1)=
-_LT_TAGVAR(link_all_deplibs, $1)=unknown
-_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
-_LT_TAGVAR(reload_flag, $1)=$reload_flag
-_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
-_LT_TAGVAR(no_undefined_flag, $1)=
-_LT_TAGVAR(whole_archive_flag_spec, $1)=
-_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
-
-# Source file extension for f77 test sources.
-ac_ext=f
-
-# Object file extension for compiled f77 test sources.
-objext=o
-_LT_TAGVAR(objext, $1)=$objext
-
-# No sense in running all these tests if we already determined that
-# the F77 compiler isn't working. Some variables (like enable_shared)
-# are currently assumed to apply to all compilers on this platform,
-# and will be corrupted by setting them based on a non-working compiler.
-if test "$_lt_disable_F77" != yes; then
- # Code to be used in simple compile tests
- lt_simple_compile_test_code="\
- subroutine t
- return
- end
-"
-
- # Code to be used in simple link tests
- lt_simple_link_test_code="\
- program t
- end
-"
-
- # ltmain only uses $CC for tagged configurations so make sure $CC is set.
- _LT_TAG_COMPILER
-
- # save warnings/boilerplate of simple test code
- _LT_COMPILER_BOILERPLATE
- _LT_LINKER_BOILERPLATE
-
- # Allow CC to be a program name with arguments.
- lt_save_CC="$CC"
- lt_save_GCC=$GCC
- lt_save_CFLAGS=$CFLAGS
- CC=${F77-"f77"}
- CFLAGS=$FFLAGS
- compiler=$CC
- _LT_TAGVAR(compiler, $1)=$CC
- _LT_CC_BASENAME([$compiler])
- GCC=$G77
- if test -n "$compiler"; then
- AC_MSG_CHECKING([if libtool supports shared libraries])
- AC_MSG_RESULT([$can_build_shared])
-
- AC_MSG_CHECKING([whether to build shared libraries])
- test "$can_build_shared" = "no" && enable_shared=no
-
- # On AIX, shared libraries and static libraries use the same namespace, and
- # are all built from PIC.
- case $host_os in
- aix3*)
- test "$enable_shared" = yes && enable_static=no
- if test -n "$RANLIB"; then
- archive_cmds="$archive_cmds~\$RANLIB \$lib"
- postinstall_cmds='$RANLIB $lib'
- fi
- ;;
- aix[[4-9]]*)
- if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
- test "$enable_shared" = yes && enable_static=no
- fi
- ;;
- esac
- AC_MSG_RESULT([$enable_shared])
-
- AC_MSG_CHECKING([whether to build static libraries])
- # Make sure either enable_shared or enable_static is yes.
- test "$enable_shared" = yes || enable_static=yes
- AC_MSG_RESULT([$enable_static])
-
- _LT_TAGVAR(GCC, $1)="$G77"
- _LT_TAGVAR(LD, $1)="$LD"
-
- ## CAVEAT EMPTOR:
- ## There is no encapsulation within the following macros, do not change
- ## the running order or otherwise move them around unless you know exactly
- ## what you are doing...
- _LT_COMPILER_PIC($1)
- _LT_COMPILER_C_O($1)
- _LT_COMPILER_FILE_LOCKS($1)
- _LT_LINKER_SHLIBS($1)
- _LT_SYS_DYNAMIC_LINKER($1)
- _LT_LINKER_HARDCODE_LIBPATH($1)
-
- _LT_CONFIG($1)
- fi # test -n "$compiler"
-
- GCC=$lt_save_GCC
- CC="$lt_save_CC"
- CFLAGS="$lt_save_CFLAGS"
-fi # test "$_lt_disable_F77" != yes
-
-AC_LANG_POP
-])# _LT_LANG_F77_CONFIG
-
-
-# _LT_LANG_FC_CONFIG([TAG])
-# -------------------------
-# Ensure that the configuration variables for a Fortran compiler are
-# suitably defined. These variables are subsequently used by _LT_CONFIG
-# to write the compiler configuration to `libtool'.
-m4_defun([_LT_LANG_FC_CONFIG],
-[AC_LANG_PUSH(Fortran)
-
-if test -z "$FC" || test "X$FC" = "Xno"; then
- _lt_disable_FC=yes
-fi
-
-_LT_TAGVAR(archive_cmds_need_lc, $1)=no
-_LT_TAGVAR(allow_undefined_flag, $1)=
-_LT_TAGVAR(always_export_symbols, $1)=no
-_LT_TAGVAR(archive_expsym_cmds, $1)=
-_LT_TAGVAR(export_dynamic_flag_spec, $1)=
-_LT_TAGVAR(hardcode_direct, $1)=no
-_LT_TAGVAR(hardcode_direct_absolute, $1)=no
-_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
-_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
-_LT_TAGVAR(hardcode_libdir_separator, $1)=
-_LT_TAGVAR(hardcode_minus_L, $1)=no
-_LT_TAGVAR(hardcode_automatic, $1)=no
-_LT_TAGVAR(inherit_rpath, $1)=no
-_LT_TAGVAR(module_cmds, $1)=
-_LT_TAGVAR(module_expsym_cmds, $1)=
-_LT_TAGVAR(link_all_deplibs, $1)=unknown
-_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
-_LT_TAGVAR(reload_flag, $1)=$reload_flag
-_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
-_LT_TAGVAR(no_undefined_flag, $1)=
-_LT_TAGVAR(whole_archive_flag_spec, $1)=
-_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
-
-# Source file extension for fc test sources.
-ac_ext=${ac_fc_srcext-f}
-
-# Object file extension for compiled fc test sources.
-objext=o
-_LT_TAGVAR(objext, $1)=$objext
-
-# No sense in running all these tests if we already determined that
-# the FC compiler isn't working. Some variables (like enable_shared)
-# are currently assumed to apply to all compilers on this platform,
-# and will be corrupted by setting them based on a non-working compiler.
-if test "$_lt_disable_FC" != yes; then
- # Code to be used in simple compile tests
- lt_simple_compile_test_code="\
- subroutine t
- return
- end
-"
-
- # Code to be used in simple link tests
- lt_simple_link_test_code="\
- program t
- end
-"
-
- # ltmain only uses $CC for tagged configurations so make sure $CC is set.
- _LT_TAG_COMPILER
-
- # save warnings/boilerplate of simple test code
- _LT_COMPILER_BOILERPLATE
- _LT_LINKER_BOILERPLATE
-
- # Allow CC to be a program name with arguments.
- lt_save_CC="$CC"
- lt_save_GCC=$GCC
- lt_save_CFLAGS=$CFLAGS
- CC=${FC-"f95"}
- CFLAGS=$FCFLAGS
- compiler=$CC
- GCC=$ac_cv_fc_compiler_gnu
-
- _LT_TAGVAR(compiler, $1)=$CC
- _LT_CC_BASENAME([$compiler])
-
- if test -n "$compiler"; then
- AC_MSG_CHECKING([if libtool supports shared libraries])
- AC_MSG_RESULT([$can_build_shared])
-
- AC_MSG_CHECKING([whether to build shared libraries])
- test "$can_build_shared" = "no" && enable_shared=no
-
- # On AIX, shared libraries and static libraries use the same namespace, and
- # are all built from PIC.
- case $host_os in
- aix3*)
- test "$enable_shared" = yes && enable_static=no
- if test -n "$RANLIB"; then
- archive_cmds="$archive_cmds~\$RANLIB \$lib"
- postinstall_cmds='$RANLIB $lib'
- fi
- ;;
- aix[[4-9]]*)
- if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
- test "$enable_shared" = yes && enable_static=no
- fi
- ;;
- esac
- AC_MSG_RESULT([$enable_shared])
-
- AC_MSG_CHECKING([whether to build static libraries])
- # Make sure either enable_shared or enable_static is yes.
- test "$enable_shared" = yes || enable_static=yes
- AC_MSG_RESULT([$enable_static])
-
- _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu"
- _LT_TAGVAR(LD, $1)="$LD"
-
- ## CAVEAT EMPTOR:
- ## There is no encapsulation within the following macros, do not change
- ## the running order or otherwise move them around unless you know exactly
- ## what you are doing...
- _LT_SYS_HIDDEN_LIBDEPS($1)
- _LT_COMPILER_PIC($1)
- _LT_COMPILER_C_O($1)
- _LT_COMPILER_FILE_LOCKS($1)
- _LT_LINKER_SHLIBS($1)
- _LT_SYS_DYNAMIC_LINKER($1)
- _LT_LINKER_HARDCODE_LIBPATH($1)
-
- _LT_CONFIG($1)
- fi # test -n "$compiler"
-
- GCC=$lt_save_GCC
- CC=$lt_save_CC
- CFLAGS=$lt_save_CFLAGS
-fi # test "$_lt_disable_FC" != yes
-
-AC_LANG_POP
-])# _LT_LANG_FC_CONFIG
-
-
-# _LT_LANG_GCJ_CONFIG([TAG])
-# --------------------------
-# Ensure that the configuration variables for the GNU Java Compiler compiler
-# are suitably defined. These variables are subsequently used by _LT_CONFIG
-# to write the compiler configuration to `libtool'.
-m4_defun([_LT_LANG_GCJ_CONFIG],
-[AC_REQUIRE([LT_PROG_GCJ])dnl
-AC_LANG_SAVE
-
-# Source file extension for Java test sources.
-ac_ext=java
-
-# Object file extension for compiled Java test sources.
-objext=o
-_LT_TAGVAR(objext, $1)=$objext
-
-# Code to be used in simple compile tests
-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) {}; }'
-
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-_LT_TAG_COMPILER
-
-# save warnings/boilerplate of simple test code
-_LT_COMPILER_BOILERPLATE
-_LT_LINKER_BOILERPLATE
-
-# Allow CC to be a program name with arguments.
-lt_save_CC=$CC
-lt_save_CFLAGS=$CFLAGS
-lt_save_GCC=$GCC
-GCC=yes
-CC=${GCJ-"gcj"}
-CFLAGS=$GCJFLAGS
-compiler=$CC
-_LT_TAGVAR(compiler, $1)=$CC
-_LT_TAGVAR(LD, $1)="$LD"
-_LT_CC_BASENAME([$compiler])
-
-# GCJ did not exist at the time GCC didn't implicitly link libc in.
-_LT_TAGVAR(archive_cmds_need_lc, $1)=no
-
-_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
-_LT_TAGVAR(reload_flag, $1)=$reload_flag
-_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
-
-if test -n "$compiler"; then
- _LT_COMPILER_NO_RTTI($1)
- _LT_COMPILER_PIC($1)
- _LT_COMPILER_C_O($1)
- _LT_COMPILER_FILE_LOCKS($1)
- _LT_LINKER_SHLIBS($1)
- _LT_LINKER_HARDCODE_LIBPATH($1)
-
- _LT_CONFIG($1)
-fi
-
-AC_LANG_RESTORE
-
-GCC=$lt_save_GCC
-CC=$lt_save_CC
-CFLAGS=$lt_save_CFLAGS
-])# _LT_LANG_GCJ_CONFIG
-
-
-# _LT_LANG_RC_CONFIG([TAG])
-# -------------------------
-# Ensure that the configuration variables for the Windows resource compiler
-# are suitably defined. These variables are subsequently used by _LT_CONFIG
-# to write the compiler configuration to `libtool'.
-m4_defun([_LT_LANG_RC_CONFIG],
-[AC_REQUIRE([LT_PROG_RC])dnl
-AC_LANG_SAVE
-
-# Source file extension for RC test sources.
-ac_ext=rc
-
-# Object file extension for compiled RC test sources.
-objext=o
-_LT_TAGVAR(objext, $1)=$objext
-
-# Code to be used in simple compile tests
-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"
-
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-_LT_TAG_COMPILER
-
-# save warnings/boilerplate of simple test code
-_LT_COMPILER_BOILERPLATE
-_LT_LINKER_BOILERPLATE
-
-# Allow CC to be a program name with arguments.
-lt_save_CC="$CC"
-lt_save_CFLAGS=$CFLAGS
-lt_save_GCC=$GCC
-GCC=
-CC=${RC-"windres"}
-CFLAGS=
-compiler=$CC
-_LT_TAGVAR(compiler, $1)=$CC
-_LT_CC_BASENAME([$compiler])
-_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
-
-if test -n "$compiler"; then
- :
- _LT_CONFIG($1)
-fi
-
-GCC=$lt_save_GCC
-AC_LANG_RESTORE
-CC=$lt_save_CC
-CFLAGS=$lt_save_CFLAGS
-])# _LT_LANG_RC_CONFIG
-
-
-# LT_PROG_GCJ
-# -----------
-AC_DEFUN([LT_PROG_GCJ],
-[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ],
- [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ],
- [AC_CHECK_TOOL(GCJ, gcj,)
- test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2"
- AC_SUBST(GCJFLAGS)])])[]dnl
-])
-
-# Old name:
-AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([LT_AC_PROG_GCJ], [])
-
-
-# LT_PROG_RC
-# ----------
-AC_DEFUN([LT_PROG_RC],
-[AC_CHECK_TOOL(RC, windres,)
-])
-
-# Old name:
-AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([LT_AC_PROG_RC], [])
-
-
-# _LT_DECL_EGREP
-# --------------
-# If we don't have a new enough Autoconf to choose the best grep
-# available, choose the one first in the user's PATH.
-m4_defun([_LT_DECL_EGREP],
-[AC_REQUIRE([AC_PROG_EGREP])dnl
-AC_REQUIRE([AC_PROG_FGREP])dnl
-test -z "$GREP" && GREP=grep
-_LT_DECL([], [GREP], [1], [A grep program that handles long lines])
-_LT_DECL([], [EGREP], [1], [An ERE matcher])
-_LT_DECL([], [FGREP], [1], [A literal string matcher])
-dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too
-AC_SUBST([GREP])
-])
-
-
-# _LT_DECL_OBJDUMP
-# --------------
-# If we don't have a new enough Autoconf to choose the best objdump
-# available, choose the one first in the user's PATH.
-m4_defun([_LT_DECL_OBJDUMP],
-[AC_CHECK_TOOL(OBJDUMP, objdump, false)
-test -z "$OBJDUMP" && OBJDUMP=objdump
-_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper])
-AC_SUBST([OBJDUMP])
-])
-
-# _LT_DECL_DLLTOOL
-# ----------------
-# Ensure DLLTOOL variable is set.
-m4_defun([_LT_DECL_DLLTOOL],
-[AC_CHECK_TOOL(DLLTOOL, dlltool, false)
-test -z "$DLLTOOL" && DLLTOOL=dlltool
-_LT_DECL([], [DLLTOOL], [1], [DLL creation program])
-AC_SUBST([DLLTOOL])
-])
-
-# _LT_DECL_SED
-# ------------
-# Check for a fully-functional sed program, that truncates
-# as few characters as possible. Prefer GNU sed if found.
-m4_defun([_LT_DECL_SED],
-[AC_PROG_SED
-test -z "$SED" && SED=sed
-Xsed="$SED -e 1s/^X//"
-_LT_DECL([], [SED], [1], [A sed program that does not truncate output])
-_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"],
- [Sed that helps us avoid accidentally triggering echo(1) options like -n])
-])# _LT_DECL_SED
-
-m4_ifndef([AC_PROG_SED], [
-# 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 #
-# macro and use it instead. #
-
-m4_defun([AC_PROG_SED],
-[AC_MSG_CHECKING([for a sed that does not truncate output])
-AC_CACHE_VAL(lt_cv_path_SED,
-[# Loop through the user's path and test for sed and gsed.
-# Then use that list of sed's as ones to test for truncation.
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- 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
- 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
-# along with /bin/sed that truncates output.
-for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
- test ! -f $lt_ac_sed && continue
- cat /dev/null > conftest.in
- lt_ac_count=0
- echo $ECHO_N "0123456789$ECHO_C" >conftest.in
- # Check for GNU sed and select it if it is found.
- if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
- lt_cv_path_SED=$lt_ac_sed
- break
- fi
- while true; do
- cat conftest.in conftest.in >conftest.tmp
- mv conftest.tmp conftest.in
- cp conftest.in conftest.nl
- echo >>conftest.nl
- $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
- cmp -s conftest.out conftest.nl || break
- # 10000 chars as input seems more than enough
- test $lt_ac_count -gt 10 && break
- lt_ac_count=`expr $lt_ac_count + 1`
- if test $lt_ac_count -gt $lt_ac_max; then
- lt_ac_max=$lt_ac_count
- lt_cv_path_SED=$lt_ac_sed
- fi
- done
-done
-])
-SED=$lt_cv_path_SED
-AC_SUBST([SED])
-AC_MSG_RESULT([$SED])
-])#AC_PROG_SED
-])#m4_ifndef
-
-# Old name:
-AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([LT_AC_PROG_SED], [])
-
-
-# _LT_CHECK_SHELL_FEATURES
-# ------------------------
-# Find out whether the shell is Bourne or XSI compatible,
-# or has some other useful features.
-m4_defun([_LT_CHECK_SHELL_FEATURES],
-[AC_MSG_CHECKING([whether the shell understands some XSI constructs])
-# Try some XSI features
-xsi_shell=no
-( _lt_dummy="a/b/c"
- test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \
- = c,a/b,b/c, \
- && eval 'test $(( 1 + 1 )) -eq 2 \
- && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
- && xsi_shell=yes
-AC_MSG_RESULT([$xsi_shell])
-_LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell'])
-
-AC_MSG_CHECKING([whether the shell understands "+="])
-lt_shell_append=no
-( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \
- >/dev/null 2>&1 \
- && lt_shell_append=yes
-AC_MSG_RESULT([$lt_shell_append])
-_LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append'])
-
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
- lt_unset=unset
-else
- lt_unset=false
-fi
-_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl
-
-# test EBCDIC or ASCII
-case `echo X|tr X '\101'` in
- A) # ASCII based system
- # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
- lt_SP2NL='tr \040 \012'
- lt_NL2SP='tr \015\012 \040\040'
- ;;
- *) # EBCDIC based system
- lt_SP2NL='tr \100 \n'
- lt_NL2SP='tr \r\n \100\100'
- ;;
-esac
-_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl
-_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl
-])# _LT_CHECK_SHELL_FEATURES
-
-
-# _LT_PROG_FUNCTION_REPLACE (FUNCNAME, REPLACEMENT-BODY)
-# ------------------------------------------------------
-# In `$cfgfile', look for function FUNCNAME delimited by `^FUNCNAME ()$' and
-# '^} FUNCNAME ', and replace its body with REPLACEMENT-BODY.
-m4_defun([_LT_PROG_FUNCTION_REPLACE],
-[dnl {
-sed -e '/^$1 ()$/,/^} # $1 /c\
-$1 ()\
-{\
-m4_bpatsubsts([$2], [$], [\\], [^\([ ]\)], [\\\1])
-} # Extended-shell $1 implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-])
-
-
-# _LT_PROG_REPLACE_SHELLFNS
-# -------------------------
-# Replace existing portable implementations of several shell functions with
-# equivalent extended shell implementations where those features are available..
-m4_defun([_LT_PROG_REPLACE_SHELLFNS],
-[if test x"$xsi_shell" = xyes; then
- _LT_PROG_FUNCTION_REPLACE([func_dirname], [dnl
- case ${1} in
- */*) func_dirname_result="${1%/*}${2}" ;;
- * ) func_dirname_result="${3}" ;;
- esac])
-
- _LT_PROG_FUNCTION_REPLACE([func_basename], [dnl
- func_basename_result="${1##*/}"])
-
- _LT_PROG_FUNCTION_REPLACE([func_dirname_and_basename], [dnl
- case ${1} in
- */*) func_dirname_result="${1%/*}${2}" ;;
- * ) func_dirname_result="${3}" ;;
- esac
- func_basename_result="${1##*/}"])
-
- _LT_PROG_FUNCTION_REPLACE([func_stripname], [dnl
- # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
- # positional parameters, so assign one to ordinary parameter first.
- func_stripname_result=${3}
- func_stripname_result=${func_stripname_result#"${1}"}
- func_stripname_result=${func_stripname_result%"${2}"}])
-
- _LT_PROG_FUNCTION_REPLACE([func_split_long_opt], [dnl
- func_split_long_opt_name=${1%%=*}
- func_split_long_opt_arg=${1#*=}])
-
- _LT_PROG_FUNCTION_REPLACE([func_split_short_opt], [dnl
- func_split_short_opt_arg=${1#??}
- func_split_short_opt_name=${1%"$func_split_short_opt_arg"}])
-
- _LT_PROG_FUNCTION_REPLACE([func_lo2o], [dnl
- case ${1} in
- *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
- *) func_lo2o_result=${1} ;;
- esac])
-
- _LT_PROG_FUNCTION_REPLACE([func_xform], [ func_xform_result=${1%.*}.lo])
-
- _LT_PROG_FUNCTION_REPLACE([func_arith], [ func_arith_result=$(( $[*] ))])
-
- _LT_PROG_FUNCTION_REPLACE([func_len], [ func_len_result=${#1}])
-fi
-
-if test x"$lt_shell_append" = xyes; then
- _LT_PROG_FUNCTION_REPLACE([func_append], [ eval "${1}+=\\${2}"])
-
- _LT_PROG_FUNCTION_REPLACE([func_append_quoted], [dnl
- func_quote_for_eval "${2}"
-dnl m4 expansion turns \\\\ into \\, and then the shell eval turns that into \
- eval "${1}+=\\\\ \\$func_quote_for_eval_result"])
-
- # Save a `func_append' function call where possible by direct use of '+='
- sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
- test 0 -eq $? || _lt_function_replace_fail=:
-else
- # Save a `func_append' function call even when '+=' is not available
- sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
- test 0 -eq $? || _lt_function_replace_fail=:
-fi
-
-if test x"$_lt_function_replace_fail" = x":"; then
- AC_MSG_WARN([Unable to substitute extended shell functions in $ofile])
-fi
-])
-
-# _LT_PATH_CONVERSION_FUNCTIONS
-# -----------------------------
-# Determine which file name conversion functions should be used by
-# func_to_host_file (and, implicitly, by func_to_host_path). These are needed
-# for certain cross-compile configurations and native mingw.
-m4_defun([_LT_PATH_CONVERSION_FUNCTIONS],
-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-AC_REQUIRE([AC_CANONICAL_BUILD])dnl
-AC_MSG_CHECKING([how to convert $build file names to $host format])
-AC_CACHE_VAL(lt_cv_to_host_file_cmd,
-[case $host in
- *-*-mingw* )
- case $build in
- *-*-mingw* ) # actually msys
- lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
- ;;
- *-*-cygwin* )
- lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
- ;;
- * ) # otherwise, assume *nix
- lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
- ;;
- esac
- ;;
- *-*-cygwin* )
- case $build in
- *-*-mingw* ) # actually msys
- lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
- ;;
- *-*-cygwin* )
- lt_cv_to_host_file_cmd=func_convert_file_noop
- ;;
- * ) # otherwise, assume *nix
- lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
- ;;
- esac
- ;;
- * ) # unhandled hosts (and "normal" native builds)
- lt_cv_to_host_file_cmd=func_convert_file_noop
- ;;
-esac
-])
-to_host_file_cmd=$lt_cv_to_host_file_cmd
-AC_MSG_RESULT([$lt_cv_to_host_file_cmd])
-_LT_DECL([to_host_file_cmd], [lt_cv_to_host_file_cmd],
- [0], [convert $build file names to $host format])dnl
-
-AC_MSG_CHECKING([how to convert $build file names to toolchain format])
-AC_CACHE_VAL(lt_cv_to_tool_file_cmd,
-[#assume ordinary cross tools, or native build.
-lt_cv_to_tool_file_cmd=func_convert_file_noop
-case $host in
- *-*-mingw* )
- case $build in
- *-*-mingw* ) # actually msys
- lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
- ;;
- esac
- ;;
-esac
-])
-to_tool_file_cmd=$lt_cv_to_tool_file_cmd
-AC_MSG_RESULT([$lt_cv_to_tool_file_cmd])
-_LT_DECL([to_tool_file_cmd], [lt_cv_to_tool_file_cmd],
- [0], [convert $build files to toolchain format])dnl
-])# _LT_PATH_CONVERSION_FUNCTIONS
-
-# Helper functions for option handling. -*- Autoconf -*-
-#
-# Copyright (C) 2004, 2005, 2007, 2008, 2009 Free Software Foundation,
-# Inc.
-# Written by Gary V. Vaughan, 2004
-#
-# This file is free software; the Free Software Foundation gives
-# unlimited permission to copy and/or distribute it, with or without
-# modifications, as long as this notice is preserved.
-
-# serial 7 ltoptions.m4
-
-# This is to help aclocal find these macros, as it can't see m4_define.
-AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
-
-
-# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME)
-# ------------------------------------------
-m4_define([_LT_MANGLE_OPTION],
-[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])])
-
-
-# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME)
-# ---------------------------------------
-# Set option OPTION-NAME for macro MACRO-NAME, and if there is a
-# matching handler defined, dispatch to it. Other OPTION-NAMEs are
-# saved as a flag.
-m4_define([_LT_SET_OPTION],
-[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl
-m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]),
- _LT_MANGLE_DEFUN([$1], [$2]),
- [m4_warning([Unknown $1 option `$2'])])[]dnl
-])
-
-
-# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET])
-# ------------------------------------------------------------
-# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
-m4_define([_LT_IF_OPTION],
-[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])])
-
-
-# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET)
-# -------------------------------------------------------
-# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME
-# are set.
-m4_define([_LT_UNLESS_OPTIONS],
-[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
- [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option),
- [m4_define([$0_found])])])[]dnl
-m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3
-])[]dnl
-])
-
-
-# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST)
-# ----------------------------------------
-# OPTION-LIST is a space-separated list of Libtool options associated
-# with MACRO-NAME. If any OPTION has a matching handler declared with
-# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about
-# the unknown option and exit.
-m4_defun([_LT_SET_OPTIONS],
-[# Set options
-m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
- [_LT_SET_OPTION([$1], _LT_Option)])
-
-m4_if([$1],[LT_INIT],[
- dnl
- dnl Simply set some default values (i.e off) if boolean options were not
- dnl specified:
- _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no
- ])
- _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no
- ])
- dnl
- dnl If no reference was made to various pairs of opposing options, then
- dnl we run the default mode handler for the pair. For example, if neither
- dnl `shared' nor `disable-shared' was passed, we enable building of shared
- dnl archives by default:
- _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED])
- _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC])
- _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC])
- _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install],
- [_LT_ENABLE_FAST_INSTALL])
- ])
-])# _LT_SET_OPTIONS
-
-
-
-# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME)
-# -----------------------------------------
-m4_define([_LT_MANGLE_DEFUN],
-[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])])
-
-
-# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE)
-# -----------------------------------------------
-m4_define([LT_OPTION_DEFINE],
-[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl
-])# LT_OPTION_DEFINE
-
-
-# dlopen
-# ------
-LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes
-])
-
-AU_DEFUN([AC_LIBTOOL_DLOPEN],
-[_LT_SET_OPTION([LT_INIT], [dlopen])
-AC_DIAGNOSE([obsolete],
-[$0: Remove this warning and the call to _LT_SET_OPTION when you
-put the `dlopen' option into LT_INIT's first parameter.])
-])
-
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], [])
-
-
-# win32-dll
-# ---------
-# Declare package support for building win32 dll's.
-LT_OPTION_DEFINE([LT_INIT], [win32-dll],
-[enable_win32_dll=yes
-
-case $host in
-*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*)
- AC_CHECK_TOOL(AS, as, false)
- AC_CHECK_TOOL(DLLTOOL, dlltool, false)
- AC_CHECK_TOOL(OBJDUMP, objdump, false)
- ;;
-esac
-
-test -z "$AS" && AS=as
-_LT_DECL([], [AS], [1], [Assembler program])dnl
-
-test -z "$DLLTOOL" && DLLTOOL=dlltool
-_LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl
-
-test -z "$OBJDUMP" && OBJDUMP=objdump
-_LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl
-])# win32-dll
-
-AU_DEFUN([AC_LIBTOOL_WIN32_DLL],
-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-_LT_SET_OPTION([LT_INIT], [win32-dll])
-AC_DIAGNOSE([obsolete],
-[$0: Remove this warning and the call to _LT_SET_OPTION when you
-put the `win32-dll' option into LT_INIT's first parameter.])
-])
-
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [])
-
-
-# _LT_ENABLE_SHARED([DEFAULT])
-# ----------------------------
-# implement the --enable-shared flag, and supports the `shared' and
-# `disable-shared' LT_INIT options.
-# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
-m4_define([_LT_ENABLE_SHARED],
-[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl
-AC_ARG_ENABLE([shared],
- [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
- [build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])],
- [p=${PACKAGE-default}
- case $enableval in
- yes) enable_shared=yes ;;
- no) enable_shared=no ;;
- *)
- enable_shared=no
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for pkg in $enableval; do
- IFS="$lt_save_ifs"
- if test "X$pkg" = "X$p"; then
- enable_shared=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac],
- [enable_shared=]_LT_ENABLE_SHARED_DEFAULT)
-
- _LT_DECL([build_libtool_libs], [enable_shared], [0],
- [Whether or not to build shared libraries])
-])# _LT_ENABLE_SHARED
-
-LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])])
-LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])])
-
-# Old names:
-AC_DEFUN([AC_ENABLE_SHARED],
-[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared])
-])
-
-AC_DEFUN([AC_DISABLE_SHARED],
-[_LT_SET_OPTION([LT_INIT], [disable-shared])
-])
-
-AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
-AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
-
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AM_ENABLE_SHARED], [])
-dnl AC_DEFUN([AM_DISABLE_SHARED], [])
-
-
-
-# _LT_ENABLE_STATIC([DEFAULT])
-# ----------------------------
-# implement the --enable-static flag, and support the `static' and
-# `disable-static' LT_INIT options.
-# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
-m4_define([_LT_ENABLE_STATIC],
-[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl
-AC_ARG_ENABLE([static],
- [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@],
- [build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])],
- [p=${PACKAGE-default}
- case $enableval in
- yes) enable_static=yes ;;
- no) enable_static=no ;;
- *)
- enable_static=no
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for pkg in $enableval; do
- IFS="$lt_save_ifs"
- if test "X$pkg" = "X$p"; then
- enable_static=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac],
- [enable_static=]_LT_ENABLE_STATIC_DEFAULT)
-
- _LT_DECL([build_old_libs], [enable_static], [0],
- [Whether or not to build static libraries])
-])# _LT_ENABLE_STATIC
-
-LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])])
-LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])])
-
-# Old names:
-AC_DEFUN([AC_ENABLE_STATIC],
-[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static])
-])
-
-AC_DEFUN([AC_DISABLE_STATIC],
-[_LT_SET_OPTION([LT_INIT], [disable-static])
-])
-
-AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
-AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
-
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AM_ENABLE_STATIC], [])
-dnl AC_DEFUN([AM_DISABLE_STATIC], [])
-
-
-
-# _LT_ENABLE_FAST_INSTALL([DEFAULT])
-# ----------------------------------
-# implement the --enable-fast-install flag, and support the `fast-install'
-# and `disable-fast-install' LT_INIT options.
-# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
-m4_define([_LT_ENABLE_FAST_INSTALL],
-[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl
-AC_ARG_ENABLE([fast-install],
- [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
- [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
- [p=${PACKAGE-default}
- case $enableval in
- yes) enable_fast_install=yes ;;
- no) enable_fast_install=no ;;
- *)
- enable_fast_install=no
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for pkg in $enableval; do
- IFS="$lt_save_ifs"
- if test "X$pkg" = "X$p"; then
- enable_fast_install=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac],
- [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT)
-
-_LT_DECL([fast_install], [enable_fast_install], [0],
- [Whether or not to optimize for fast installation])dnl
-])# _LT_ENABLE_FAST_INSTALL
-
-LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])])
-LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])])
-
-# Old names:
-AU_DEFUN([AC_ENABLE_FAST_INSTALL],
-[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
-AC_DIAGNOSE([obsolete],
-[$0: Remove this warning and the call to _LT_SET_OPTION when you put
-the `fast-install' option into LT_INIT's first parameter.])
-])
-
-AU_DEFUN([AC_DISABLE_FAST_INSTALL],
-[_LT_SET_OPTION([LT_INIT], [disable-fast-install])
-AC_DIAGNOSE([obsolete],
-[$0: Remove this warning and the call to _LT_SET_OPTION when you put
-the `disable-fast-install' option into LT_INIT's first parameter.])
-])
-
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], [])
-dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
-
-
-# _LT_WITH_PIC([MODE])
-# --------------------
-# implement the --with-pic flag, and support the `pic-only' and `no-pic'
-# LT_INIT options.
-# MODE is either `yes' or `no'. If omitted, it defaults to `both'.
-m4_define([_LT_WITH_PIC],
-[AC_ARG_WITH([pic],
- [AS_HELP_STRING([--with-pic],
- [try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
- [pic_mode="$withval"],
- [pic_mode=default])
-
-test -z "$pic_mode" && pic_mode=m4_default([$1], [default])
-
-_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
-])# _LT_WITH_PIC
-
-LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])])
-LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])])
-
-# Old name:
-AU_DEFUN([AC_LIBTOOL_PICMODE],
-[_LT_SET_OPTION([LT_INIT], [pic-only])
-AC_DIAGNOSE([obsolete],
-[$0: Remove this warning and the call to _LT_SET_OPTION when you
-put the `pic-only' option into LT_INIT's first parameter.])
-])
-
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LIBTOOL_PICMODE], [])
-
-
-m4_define([_LTDL_MODE], [])
-LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive],
- [m4_define([_LTDL_MODE], [nonrecursive])])
-LT_OPTION_DEFINE([LTDL_INIT], [recursive],
- [m4_define([_LTDL_MODE], [recursive])])
-LT_OPTION_DEFINE([LTDL_INIT], [subproject],
- [m4_define([_LTDL_MODE], [subproject])])
-
-m4_define([_LTDL_TYPE], [])
-LT_OPTION_DEFINE([LTDL_INIT], [installable],
- [m4_define([_LTDL_TYPE], [installable])])
-LT_OPTION_DEFINE([LTDL_INIT], [convenience],
- [m4_define([_LTDL_TYPE], [convenience])])
-
-# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*-
-#
-# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
-# Written by Gary V. Vaughan, 2004
-#
-# This file is free software; the Free Software Foundation gives
-# unlimited permission to copy and/or distribute it, with or without
-# modifications, as long as this notice is preserved.
-
-# serial 6 ltsugar.m4
-
-# This is to help aclocal find these macros, as it can't see m4_define.
-AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])])
-
-
-# lt_join(SEP, ARG1, [ARG2...])
-# -----------------------------
-# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their
-# associated separator.
-# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier
-# versions in m4sugar had bugs.
-m4_define([lt_join],
-[m4_if([$#], [1], [],
- [$#], [2], [[$2]],
- [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])])
-m4_define([_lt_join],
-[m4_if([$#$2], [2], [],
- [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])])
-
-
-# lt_car(LIST)
-# lt_cdr(LIST)
-# ------------
-# Manipulate m4 lists.
-# These macros are necessary as long as will still need to support
-# Autoconf-2.59 which quotes differently.
-m4_define([lt_car], [[$1]])
-m4_define([lt_cdr],
-[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])],
- [$#], 1, [],
- [m4_dquote(m4_shift($@))])])
-m4_define([lt_unquote], $1)
-
-
-# lt_append(MACRO-NAME, STRING, [SEPARATOR])
-# ------------------------------------------
-# Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'.
-# Note that neither SEPARATOR nor STRING are expanded; they are appended
-# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked).
-# No SEPARATOR is output if MACRO-NAME was previously undefined (different
-# than defined and empty).
-#
-# This macro is needed until we can rely on Autoconf 2.62, since earlier
-# versions of m4sugar mistakenly expanded SEPARATOR but not STRING.
-m4_define([lt_append],
-[m4_define([$1],
- m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])])
-
-
-
-# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...])
-# ----------------------------------------------------------
-# Produce a SEP delimited list of all paired combinations of elements of
-# PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list
-# has the form PREFIXmINFIXSUFFIXn.
-# Needed until we can rely on m4_combine added in Autoconf 2.62.
-m4_define([lt_combine],
-[m4_if(m4_eval([$# > 3]), [1],
- [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl
-[[m4_foreach([_Lt_prefix], [$2],
- [m4_foreach([_Lt_suffix],
- ]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[,
- [_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])])
-
-
-# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ])
-# -----------------------------------------------------------------------
-# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited
-# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ.
-m4_define([lt_if_append_uniq],
-[m4_ifdef([$1],
- [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1],
- [lt_append([$1], [$2], [$3])$4],
- [$5])],
- [lt_append([$1], [$2], [$3])$4])])
-
-
-# lt_dict_add(DICT, KEY, VALUE)
-# -----------------------------
-m4_define([lt_dict_add],
-[m4_define([$1($2)], [$3])])
-
-
-# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE)
-# --------------------------------------------
-m4_define([lt_dict_add_subkey],
-[m4_define([$1($2:$3)], [$4])])
-
-
-# lt_dict_fetch(DICT, KEY, [SUBKEY])
-# ----------------------------------
-m4_define([lt_dict_fetch],
-[m4_ifval([$3],
- m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]),
- m4_ifdef([$1($2)], [m4_defn([$1($2)])]))])
-
-
-# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE])
-# -----------------------------------------------------------------
-m4_define([lt_if_dict_fetch],
-[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4],
- [$5],
- [$6])])
-
-
-# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...])
-# --------------------------------------------------------------
-m4_define([lt_dict_filter],
-[m4_if([$5], [], [],
- [lt_join(m4_quote(m4_default([$4], [[, ]])),
- lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]),
- [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl
-])
-
-# ltversion.m4 -- version numbers -*- Autoconf -*-
-#
-# Copyright (C) 2004 Free Software Foundation, Inc.
-# Written by Scott James Remnant, 2004
-#
-# This file is free software; the Free Software Foundation gives
-# unlimited permission to copy and/or distribute it, with or without
-# modifications, as long as this notice is preserved.
-
-# @configure_input@
-
-# serial 3293 ltversion.m4
-# This file is part of GNU Libtool
-
-m4_define([LT_PACKAGE_VERSION], [2.4])
-m4_define([LT_PACKAGE_REVISION], [1.3293])
-
-AC_DEFUN([LTVERSION_VERSION],
-[macro_version='2.4'
-macro_revision='1.3293'
-_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
-_LT_DECL(, macro_revision, 0)
-])
-
-# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*-
-#
-# Copyright (C) 2004, 2005, 2007, 2009 Free Software Foundation, Inc.
-# Written by Scott James Remnant, 2004.
-#
-# This file is free software; the Free Software Foundation gives
-# unlimited permission to copy and/or distribute it, with or without
-# modifications, as long as this notice is preserved.
-
-# serial 5 lt~obsolete.m4
-
-# These exist entirely to fool aclocal when bootstrapping libtool.
-#
-# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN)
-# which have later been changed to m4_define as they aren't part of the
-# exported API, or moved to Autoconf or Automake where they belong.
-#
-# The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN
-# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us
-# using a macro with the same name in our local m4/libtool.m4 it'll
-# pull the old libtool.m4 in (it doesn't see our shiny new m4_define
-# and doesn't know about Autoconf macros at all.)
-#
-# So we provide this file, which has a silly filename so it's always
-# included after everything else. This provides aclocal with the
-# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything
-# because those macros already exist, or will be overwritten later.
-# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6.
-#
-# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here.
-# Yes, that means every name once taken will need to remain here until
-# we give up compatibility with versions before 1.7, at which point
-# we need to keep only those names which we still refer to.
-
-# This is to help aclocal find these macros, as it can't see m4_define.
-AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])])
-
-m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])])
-m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])])
-m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])])
-m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])])
-m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])])
-m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])])
-m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])])
-m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])])
-m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])])
-m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])])
-m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])])
-m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])])
-m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])])
-m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])])
-m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])])
-m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])])
-m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])])
-m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])])
-m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])])
-m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])])
-m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])])
-m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])])
-m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])])
-m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])])
-m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])])
-m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])])
-m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])])
-m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])])
-m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])])
-m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])])
-m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])])
-m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])])
-m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])])
-m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])])
-m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])])
-m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])])
-m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])])
-m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])])
-m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])])
-m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])])
-m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])])
-m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])])
-m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])])
-m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])])
-m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])])
-m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])])
-m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])])
-m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])])
-m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])])
-m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])])
-m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])])
-m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])])
-m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])])
-m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])])
-m4_ifndef([_LT_REQUIRED_DARWIN_CHECKS], [AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS])])
-m4_ifndef([_LT_AC_PROG_CXXCPP], [AC_DEFUN([_LT_AC_PROG_CXXCPP])])
-m4_ifndef([_LT_PREPARE_SED_QUOTE_VARS], [AC_DEFUN([_LT_PREPARE_SED_QUOTE_VARS])])
-m4_ifndef([_LT_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_PROG_ECHO_BACKSLASH])])
-m4_ifndef([_LT_PROG_F77], [AC_DEFUN([_LT_PROG_F77])])
-m4_ifndef([_LT_PROG_FC], [AC_DEFUN([_LT_PROG_FC])])
-m4_ifndef([_LT_PROG_CXX], [AC_DEFUN([_LT_PROG_CXX])])
-
-# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008, 2011 Free Software
+# Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
+# serial 1
+
# AM_AUTOMAKE_VERSION(VERSION)
# ----------------------------
# Automake X.Y traces this macro to ensure aclocal.m4 has been
@@ -8465,7 +38,7 @@ AC_DEFUN([AM_AUTOMAKE_VERSION],
[am__api_version='1.11'
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
dnl require some minimum version. Point them to the right macro.
-m4_if([$1], [1.11.1], [],
+m4_if([$1], [1.11.6], [],
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
])
@@ -8481,19 +54,21 @@ m4_define([_AM_AUTOCONF_VERSION], [])
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.11.1])dnl
+[AM_AUTOMAKE_VERSION([1.11.6])dnl
m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
# AM_AUX_DIR_EXPAND -*- Autoconf -*-
-# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
+# Copyright (C) 2001, 2003, 2005, 2011 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
+# serial 1
+
# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to
# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
@@ -8575,14 +150,14 @@ AC_CONFIG_COMMANDS_PRE(
Usually this means the macro was only invoked conditionally.]])
fi])])
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009
-# Free Software Foundation, Inc.
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009,
+# 2010, 2011 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 10
+# serial 12
# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
# written in clear, in which case automake, when reading aclocal.m4,
@@ -8622,6 +197,7 @@ AC_CACHE_CHECK([dependency style of $depcc],
# instance it was reported that on HP-UX the gcc test will end up
# making a dummy file named `D' -- because `-MD' means `put the output
# in D'.
+ rm -rf conftest.dir
mkdir conftest.dir
# Copy depcomp to subdir because otherwise we won't find it if we're
# using a relative directory.
@@ -8686,7 +262,7 @@ AC_CACHE_CHECK([dependency style of $depcc],
break
fi
;;
- msvisualcpp | msvcmsys)
+ msvc7 | msvc7msys | msvisualcpp | msvcmsys)
# This compiler won't grok `-c -o', but also, the minuso test has
# not run yet. These depmodes are late enough in the game, and
# so weak that their functioning should not be impacted.
@@ -8751,10 +327,13 @@ AC_DEFUN([AM_DEP_TRACK],
if test "x$enable_dependency_tracking" != xno; then
am_depcomp="$ac_aux_dir/depcomp"
AMDEPBACKSLASH='\'
+ am__nodep='_no'
fi
AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
AC_SUBST([AMDEPBACKSLASH])dnl
_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
+AC_SUBST([am__nodep])dnl
+_AM_SUBST_NOTMAKE([am__nodep])dnl
])
# Generate code to set up dependency tracking. -*- Autoconf -*-
@@ -8976,12 +555,15 @@ for _am_header in $config_headers :; do
done
echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
-# Copyright (C) 2001, 2003, 2005, 2008 Free Software Foundation, Inc.
+# Copyright (C) 2001, 2003, 2005, 2008, 2011 Free Software Foundation,
+# Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
+# serial 1
+
# AM_PROG_INSTALL_SH
# ------------------
# Define $install_sh.
@@ -9113,12 +695,15 @@ else
fi
])
-# Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+# Copyright (C) 2003, 2004, 2005, 2006, 2011 Free Software Foundation,
+# Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
+# serial 1
+
# AM_PROG_MKDIR_P
# ---------------
# Check for `mkdir -p'.
@@ -9141,13 +726,14 @@ esac
# Helper functions for option handling. -*- Autoconf -*-
-# Copyright (C) 2001, 2002, 2003, 2005, 2008 Free Software Foundation, Inc.
+# Copyright (C) 2001, 2002, 2003, 2005, 2008, 2010 Free Software
+# Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 4
+# serial 5
# _AM_MANGLE_OPTION(NAME)
# -----------------------
@@ -9155,13 +741,13 @@ AC_DEFUN([_AM_MANGLE_OPTION],
[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
# _AM_SET_OPTION(NAME)
-# ------------------------------
+# --------------------
# Set option NAME. Presently that only means defining a flag for this option.
AC_DEFUN([_AM_SET_OPTION],
[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
# _AM_SET_OPTIONS(OPTIONS)
-# ----------------------------------
+# ------------------------
# OPTIONS is a space-separated list of Automake options.
AC_DEFUN([_AM_SET_OPTIONS],
[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
@@ -9172,13 +758,15 @@ AC_DEFUN([_AM_SET_OPTIONS],
AC_DEFUN([_AM_IF_OPTION],
[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008, 2009
-# Free Software Foundation, Inc.
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008, 2009,
+# 2011 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
+# serial 2
+
# AM_PATH_PYTHON([MINIMUM-VERSION], [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
# ---------------------------------------------------------------------------
# Adds support for distributing Python modules and packages. To
@@ -9206,8 +794,10 @@ AC_DEFUN([AM_PATH_PYTHON],
dnl Find a Python interpreter. Python versions prior to 2.0 are not
dnl supported. (2.0 was released on October 16, 2000).
m4_define_default([_AM_PYTHON_INTERPRETER_LIST],
- [python python2 python3 python3.0 python2.5 python2.4 python2.3 python2.2 dnl
-python2.1 python2.0])
+[python python2 python3 python3.2 python3.1 python3.0 python2.7 dnl
+ python2.6 python2.5 python2.4 python2.3 python2.2 python2.1 python2.0])
+
+ AC_ARG_VAR([PYTHON], [the Python interpreter])
m4_if([$1],[],[
dnl No version check is needed.
@@ -9279,9 +869,7 @@ python2.1 python2.0])
dnl site-packages directory, not the python standard library
dnl directory like in previous automake betas. This behavior
dnl is more consistent with lispdir.m4 for example.
- dnl Query distutils for this directory. distutils does not exist in
- dnl Python 1.5, so we fall back to the hardcoded directory if it
- dnl doesn't work.
+ dnl Query distutils for this directory.
AC_CACHE_CHECK([for $am_display_PYTHON script directory],
[am_cv_python_pythondir],
[if test "x$prefix" = xNONE
@@ -9290,8 +878,7 @@ python2.1 python2.0])
else
am_py_prefix=$prefix
fi
- am_cv_python_pythondir=`$PYTHON -c "import sys; from distutils import sysconfig; sys.stdout.write(sysconfig.get_python_lib(0,0,prefix='$am_py_prefix'))" 2>/dev/null ||
- echo "$PYTHON_PREFIX/lib/python$PYTHON_VERSION/site-packages"`
+ am_cv_python_pythondir=`$PYTHON -c "import sys; from distutils import sysconfig; sys.stdout.write(sysconfig.get_python_lib(0,0,prefix='$am_py_prefix'))" 2>/dev/null`
case $am_cv_python_pythondir in
$am_py_prefix*)
am__strip_prefix=`echo "$am_py_prefix" | sed 's|.|.|g'`
@@ -9317,9 +904,7 @@ python2.1 python2.0])
dnl pyexecdir -- directory for installing python extension modules
dnl (shared libraries)
- dnl Query distutils for this directory. distutils does not exist in
- dnl Python 1.5, so we fall back to the hardcoded directory if it
- dnl doesn't work.
+ dnl Query distutils for this directory.
AC_CACHE_CHECK([for $am_display_PYTHON extension module directory],
[am_cv_python_pyexecdir],
[if test "x$exec_prefix" = xNONE
@@ -9328,8 +913,7 @@ python2.1 python2.0])
else
am_py_exec_prefix=$exec_prefix
fi
- am_cv_python_pyexecdir=`$PYTHON -c "import sys; from distutils import sysconfig; sys.stdout.write(sysconfig.get_python_lib(1,0,prefix='$am_py_exec_prefix'))" 2>/dev/null ||
- echo "$PYTHON_EXEC_PREFIX/lib/python$PYTHON_VERSION/site-packages"`
+ am_cv_python_pyexecdir=`$PYTHON -c "import sys; from distutils import sysconfig; sys.stdout.write(sysconfig.get_python_lib(1,0,prefix='$am_py_exec_prefix'))" 2>/dev/null`
case $am_cv_python_pyexecdir in
$am_py_exec_prefix*)
am__strip_prefix=`echo "$am_py_exec_prefix" | sed 's|.|.|g'`
@@ -9442,12 +1026,14 @@ Check your system clock])
fi
AC_MSG_RESULT(yes)])
-# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
+# Copyright (C) 2001, 2003, 2005, 2011 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
+# serial 1
+
# AM_PROG_INSTALL_STRIP
# ---------------------
# One issue with vendor `install' (even GNU) is that you can't
@@ -9470,13 +1056,13 @@ fi
INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
AC_SUBST([INSTALL_STRIP_PROGRAM])])
-# Copyright (C) 2006, 2008 Free Software Foundation, Inc.
+# Copyright (C) 2006, 2008, 2010 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 2
+# serial 3
# _AM_SUBST_NOTMAKE(VARIABLE)
# ---------------------------
@@ -9485,13 +1071,13 @@ AC_SUBST([INSTALL_STRIP_PROGRAM])])
AC_DEFUN([_AM_SUBST_NOTMAKE])
# AM_SUBST_NOTMAKE(VARIABLE)
-# ---------------------------
+# --------------------------
# Public sister of _AM_SUBST_NOTMAKE.
AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
# Check how to create a tarball. -*- Autoconf -*-
-# Copyright (C) 2004, 2005 Free Software Foundation, Inc.
+# Copyright (C) 2004, 2005, 2012 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -9513,10 +1099,11 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
# a tarball read from stdin.
# $(am__untar) < result.tar
AC_DEFUN([_AM_PROG_TAR],
-[# Always define AMTAR for backward compatibility.
-AM_MISSING_PROG([AMTAR], [tar])
+[# Always define AMTAR for backward compatibility. Yes, it's still used
+# in the wild :-( We should find a proper way to deprecate it ...
+AC_SUBST([AMTAR], ['$${TAR-tar}'])
m4_if([$1], [v7],
- [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'],
+ [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'],
[m4_case([$1], [ustar],, [pax],,
[m4_fatal([Unknown tar format])])
AC_MSG_CHECKING([how to create a $1 tar archive])
@@ -9586,3 +1173,8 @@ AC_SUBST([am__untar])
]) # _AM_PROG_TAR
m4_include([config/autotroll.m4])
+m4_include([config/libtool.m4])
+m4_include([config/ltoptions.m4])
+m4_include([config/ltsugar.m4])
+m4_include([config/ltversion.m4])
+m4_include([config/lt~obsolete.m4])
diff --git a/configure b/configure
index 6501967..43dea0c 100755
--- a/configure
+++ b/configure
@@ -1,13 +1,11 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.68 for mathgl 1.11.2.
+# Generated by GNU Autoconf 2.69 for mathgl 1.11.2.
#
# Report bugs to <mathgl.abalakin at gmail.com>.
#
#
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software
-# Foundation, Inc.
+# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
#
#
# This configure script is free software; the Free Software Foundation
@@ -136,6 +134,31 @@ export LANGUAGE
# CDPATH.
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+# Use a proper internal environment variable to ensure we don't fall
+ # into an infinite loop, continuously re-executing ourselves.
+ if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
+ _as_can_reexec=no; export _as_can_reexec;
+ # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+ *v*x* | *x*v* ) as_opts=-vx ;;
+ *v* ) as_opts=-v ;;
+ *x* ) as_opts=-x ;;
+ * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+as_fn_exit 255
+ fi
+ # We don't want this to propagate to other subprocesses.
+ { _as_can_reexec=; unset _as_can_reexec;}
if test "x$CONFIG_SHELL" = x; then
as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
emulate sh
@@ -169,7 +192,8 @@ if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
else
exitcode=1; echo positional parameters were not saved.
fi
-test x\$exitcode = x0 || exit 1"
+test x\$exitcode = x0 || exit 1
+test -x / || exit 1"
as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
@@ -222,21 +246,25 @@ IFS=$as_save_IFS
if test "x$CONFIG_SHELL" != x; then :
- # We cannot yet assume a decent shell, so we have to provide a
- # neutralization value for shells without unset; and this also
- # works around shells that cannot unset nonexistent variables.
- # Preserve -v and -x to the replacement shell.
- BASH_ENV=/dev/null
- ENV=/dev/null
- (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
- export CONFIG_SHELL
- case $- in # ((((
- *v*x* | *x*v* ) as_opts=-vx ;;
- *v* ) as_opts=-v ;;
- *x* ) as_opts=-x ;;
- * ) as_opts= ;;
- esac
- exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"}
+ export CONFIG_SHELL
+ # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+ *v*x* | *x*v* ) as_opts=-vx ;;
+ *v* ) as_opts=-v ;;
+ *x* ) as_opts=-x ;;
+ * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+exit 255
fi
if test x$as_have_required = xno; then :
@@ -339,6 +367,14 @@ $as_echo X"$as_dir" |
} # as_fn_mkdir_p
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+ test -f "$1" && test -x "$1"
+} # as_fn_executable_p
# as_fn_append VAR VALUE
# ----------------------
# Append the text in VALUE to the end of the definition contained in VAR. Take
@@ -460,6 +496,10 @@ as_cr_alnum=$as_cr_Letters$as_cr_digits
chmod +x "$as_me.lineno" ||
{ $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
+ # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
+ # already done that, so ensure we don't try to do so again and fall
+ # in an infinite loop. This has already happened in practice.
+ _as_can_reexec=no; export _as_can_reexec
# 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 sensitive to this).
@@ -494,16 +534,16 @@ if (echo >conf$$.file) 2>/dev/null; then
# ... 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'.
+ # In both cases, we have to default to `cp -pR'.
ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
- as_ln_s='cp -p'
+ as_ln_s='cp -pR'
elif ln conf$$.file conf$$ 2>/dev/null; then
as_ln_s=ln
else
- as_ln_s='cp -p'
+ as_ln_s='cp -pR'
fi
else
- as_ln_s='cp -p'
+ as_ln_s='cp -pR'
fi
rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
rmdir conf$$.dir 2>/dev/null
@@ -515,28 +555,8 @@ else
as_mkdir_p=false
fi
-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
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
# 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'"
@@ -801,6 +821,7 @@ CXX
am__fastdepCC_FALSE
am__fastdepCC_TRUE
CCDEPMODE
+am__nodep
AMDEPBACKSLASH
AMDEP_FALSE
AMDEP_TRUE
@@ -925,7 +946,8 @@ CXXFLAGS
CCC
CPP
CXXCPP
-TMPDIR'
+TMPDIR
+PYTHON'
# Initialize some variables set by options.
@@ -1381,8 +1403,6 @@ target=$target_alias
if test "x$host_alias" != x; then
if test "x$build_alias" = x; then
cross_compiling=maybe
- $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host.
- If a cross compiler is detected then cross compile mode will be used" >&2
elif test "x$build_alias" != "x$host_alias"; then
cross_compiling=yes
fi
@@ -1597,6 +1617,7 @@ Some influential environment variables:
CPP C preprocessor
CXXCPP C++ preprocessor
TMPDIR A temporary directory with write access [/tmp]
+ PYTHON the Python interpreter
Use these variables to override the choices made by `configure' or to help
it to find libraries and programs with nonstandard names/locations.
@@ -1665,9 +1686,9 @@ test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
mathgl configure 1.11.2
-generated by GNU Autoconf 2.68
+generated by GNU Autoconf 2.69
-Copyright (C) 2010 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
This configure script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it.
_ACEOF
@@ -1781,7 +1802,7 @@ $as_echo "$ac_try_echo"; } >&5
test ! -s conftest.err
} && test -s conftest$ac_exeext && {
test "$cross_compiling" = yes ||
- $as_test_x conftest$ac_exeext
+ test -x conftest$ac_exeext
}; then :
ac_retval=0
else
@@ -2041,7 +2062,7 @@ $as_echo "$ac_try_echo"; } >&5
test ! -s conftest.err
} && test -s conftest$ac_exeext && {
test "$cross_compiling" = yes ||
- $as_test_x conftest$ac_exeext
+ test -x conftest$ac_exeext
}; then :
ac_retval=0
else
@@ -2155,7 +2176,7 @@ This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by mathgl $as_me 1.11.2, which was
-generated by GNU Autoconf 2.68. Invocation command line was
+generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -2599,7 +2620,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 { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
+ if as_fn_executable_p "$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.
@@ -2768,7 +2789,7 @@ 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
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_STRIP="${ac_tool_prefix}strip"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -2808,7 +2829,7 @@ 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
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_STRIP="strip"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -2859,7 +2880,7 @@ do
test -z "$as_dir" && as_dir=.
for ac_prog in mkdir gmkdir; do
for ac_exec_ext in '' $ac_executable_extensions; do
- { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue
+ as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext" || continue
case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
'mkdir (GNU coreutils) '* | \
'mkdir (coreutils) '* | \
@@ -2912,7 +2933,7 @@ 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
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_AWK="$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -3028,11 +3049,11 @@ MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
# We need awk for the "check" target. The system "awk" is bad on
# some platforms.
-# Always define AMTAR for backward compatibility.
+# Always define AMTAR for backward compatibility. Yes, it's still used
+# in the wild :-( We should find a proper way to deprecate it ...
+AMTAR='$${TAR-tar}'
-AMTAR=${AMTAR-"${am_missing_run}tar"}
-
-am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
+am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'
@@ -3061,7 +3082,7 @@ 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
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_CC="${ac_tool_prefix}gcc"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -3101,7 +3122,7 @@ 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
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_CC="gcc"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -3154,7 +3175,7 @@ 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
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_CC="${ac_tool_prefix}cc"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -3195,7 +3216,7 @@ 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
+ if as_fn_executable_p "$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
@@ -3253,7 +3274,7 @@ 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
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -3297,7 +3318,7 @@ 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
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_CC="$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -3743,8 +3764,7 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <stdarg.h>
#include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
+struct stat;
/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
struct buf { int x; };
FILE * (*rcsopen) (struct buf *, struct stat *, int);
@@ -3880,6 +3900,7 @@ fi
if test "x$enable_dependency_tracking" != xno; then
am_depcomp="$ac_aux_dir/depcomp"
AMDEPBACKSLASH='\'
+ am__nodep='_no'
fi
if test "x$enable_dependency_tracking" != xno; then
AMDEP_TRUE=
@@ -3904,6 +3925,7 @@ else
# instance it was reported that on HP-UX the gcc test will end up
# making a dummy file named `D' -- because `-MD' means `put the output
# in D'.
+ rm -rf conftest.dir
mkdir conftest.dir
# Copy depcomp to subdir because otherwise we won't find it if we're
# using a relative directory.
@@ -3963,7 +3985,7 @@ else
break
fi
;;
- msvisualcpp | msvcmsys)
+ msvc7 | msvc7msys | msvisualcpp | msvcmsys)
# This compiler won't grok `-c -o', but also, the minuso test has
# not run yet. These depmodes are late enough in the game, and
# so weak that their functioning should not be impacted.
@@ -4046,7 +4068,7 @@ 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
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -4090,7 +4112,7 @@ 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
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_CXX="$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -4288,6 +4310,7 @@ else
# instance it was reported that on HP-UX the gcc test will end up
# making a dummy file named `D' -- because `-MD' means `put the output
# in D'.
+ rm -rf conftest.dir
mkdir conftest.dir
# Copy depcomp to subdir because otherwise we won't find it if we're
# using a relative directory.
@@ -4347,7 +4370,7 @@ else
break
fi
;;
- msvisualcpp | msvcmsys)
+ msvc7 | msvc7msys | msvisualcpp | msvcmsys)
# This compiler won't grok `-c -o', but also, the minuso test has
# not run yet. These depmodes are late enough in the game, and
# so weak that their functioning should not be impacted.
@@ -4496,7 +4519,7 @@ 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
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_AS="${ac_tool_prefix}as"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -4536,7 +4559,7 @@ 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
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_AS="as"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -4588,7 +4611,7 @@ 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
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -4628,7 +4651,7 @@ 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
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_DLLTOOL="dlltool"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -4680,7 +4703,7 @@ 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
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -4720,7 +4743,7 @@ 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
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_OBJDUMP="objdump"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -4898,7 +4921,7 @@ do
for ac_prog in sed gsed; do
for ac_exec_ext in '' $ac_executable_extensions; do
ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
- { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue
+ as_fn_executable_p "$ac_path_SED" || continue
# Check for GNU ac_path_SED and select it if it is found.
# Check for GNU $ac_path_SED
case `"$ac_path_SED" --version 2>&1` in
@@ -4974,7 +4997,7 @@ do
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
+ as_fn_executable_p "$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
@@ -5040,7 +5063,7 @@ do
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
+ as_fn_executable_p "$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
@@ -5107,7 +5130,7 @@ do
for ac_prog in fgrep; do
for ac_exec_ext in '' $ac_executable_extensions; do
ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
- { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue
+ as_fn_executable_p "$ac_path_FGREP" || continue
# Check for GNU ac_path_FGREP and select it if it is found.
# Check for GNU $ac_path_FGREP
case `"$ac_path_FGREP" --version 2>&1` in
@@ -5363,7 +5386,7 @@ 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
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -5407,7 +5430,7 @@ 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
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -5826,7 +5849,7 @@ 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
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -5866,7 +5889,7 @@ 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
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_OBJDUMP="objdump"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -6169,7 +6192,7 @@ 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
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -6209,7 +6232,7 @@ 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
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_DLLTOOL="dlltool"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -6310,7 +6333,7 @@ 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
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -6354,7 +6377,7 @@ 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
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_AR="$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -6479,7 +6502,7 @@ 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
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_STRIP="${ac_tool_prefix}strip"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -6519,7 +6542,7 @@ 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
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_STRIP="strip"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -6578,7 +6601,7 @@ 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
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -6618,7 +6641,7 @@ 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
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_RANLIB="ranlib"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -7254,7 +7277,7 @@ 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
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -7294,7 +7317,7 @@ 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
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_MANIFEST_TOOL="mt"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -7374,7 +7397,7 @@ 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
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -7414,7 +7437,7 @@ 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
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -7466,7 +7489,7 @@ 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
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -7506,7 +7529,7 @@ 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
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_NMEDIT="nmedit"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -7558,7 +7581,7 @@ 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
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -7598,7 +7621,7 @@ 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
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_LIPO="lipo"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -7650,7 +7673,7 @@ 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
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -7690,7 +7713,7 @@ 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
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_OTOOL="otool"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -7742,7 +7765,7 @@ 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
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -7782,7 +7805,7 @@ 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
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_OTOOL64="otool64"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -8703,6 +8726,10 @@ _lt_linker_boilerplate=`cat conftest.err`
$RM -r conftest*
+## CAVEAT EMPTOR:
+## There is no encapsulation within the following macros, do not change
+## the running order or otherwise move them around unless you know exactly
+## what you are doing...
if test -n "$compiler"; then
lt_prog_compiler_no_builtin_flag=
@@ -15577,7 +15604,7 @@ 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
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_GSL_FLAGS="`$GSL_PROG --cflags`"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -15614,7 +15641,7 @@ 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
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_GSL_LIBS="`$GSL_PROG --libs`"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -16414,7 +16441,7 @@ 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
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_FLTK_FLAGS="`$FLTK_PROG --cxxflags`"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -16451,7 +16478,7 @@ 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
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_FLTK_LIBS="`$FLTK_PROG --ldflags`"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -16519,7 +16546,7 @@ 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
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_WX_FLAGS="`$WX_PROG --cflags`"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -16556,7 +16583,7 @@ 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
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_WX_LIBS="`$WX_PROG --libs`"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -16650,7 +16677,7 @@ 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
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_path_QMAKE="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -16698,7 +16725,7 @@ 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
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_path_QMAKE="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -16751,7 +16778,7 @@ 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
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_path_MOC="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -16799,7 +16826,7 @@ 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
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_path_MOC="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -16852,7 +16879,7 @@ 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
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_path_UIC="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -16900,7 +16927,7 @@ 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
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_path_UIC="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -16953,7 +16980,7 @@ 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
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_path_RCC="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -17001,7 +17028,7 @@ 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
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_path_RCC="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -17406,7 +17433,7 @@ 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
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_PYTHON_HEADERS="`python-config --cflags`"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -17443,7 +17470,7 @@ 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
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_HAVE_SWIG="true"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -17470,9 +17497,11 @@ fi
+
+
# Find any Python interpreter.
if test -z "$PYTHON"; then
- for ac_prog in python python2 python3 python3.0 python2.5 python2.4 python2.3 python2.2 python2.1 python2.0
+ for ac_prog in python python2 python3 python3.2 python3.1 python3.0 python2.7 python2.6 python2.5 python2.4 python2.3 python2.2 python2.1 python2.0
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
@@ -17492,7 +17521,7 @@ 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
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_path_PYTHON="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -17560,7 +17589,7 @@ $as_echo "$am_cv_python_platform" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON script directory" >&5
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON script directory" >&5
$as_echo_n "checking for $am_display_PYTHON script directory... " >&6; }
if ${am_cv_python_pythondir+:} false; then :
$as_echo_n "(cached) " >&6
@@ -17571,8 +17600,7 @@ else
else
am_py_prefix=$prefix
fi
- am_cv_python_pythondir=`$PYTHON -c "import sys; from distutils import sysconfig; sys.stdout.write(sysconfig.get_python_lib(0,0,prefix='$am_py_prefix'))" 2>/dev/null ||
- echo "$PYTHON_PREFIX/lib/python$PYTHON_VERSION/site-packages"`
+ am_cv_python_pythondir=`$PYTHON -c "import sys; from distutils import sysconfig; sys.stdout.write(sysconfig.get_python_lib(0,0,prefix='$am_py_prefix'))" 2>/dev/null`
case $am_cv_python_pythondir in
$am_py_prefix*)
am__strip_prefix=`echo "$am_py_prefix" | sed 's|.|.|g'`
@@ -17598,7 +17626,7 @@ $as_echo "$am_cv_python_pythondir" >&6; }
pkgpythondir=\${pythondir}/$PACKAGE
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON extension module directory" >&5
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON extension module directory" >&5
$as_echo_n "checking for $am_display_PYTHON extension module directory... " >&6; }
if ${am_cv_python_pyexecdir+:} false; then :
$as_echo_n "(cached) " >&6
@@ -17609,8 +17637,7 @@ else
else
am_py_exec_prefix=$exec_prefix
fi
- am_cv_python_pyexecdir=`$PYTHON -c "import sys; from distutils import sysconfig; sys.stdout.write(sysconfig.get_python_lib(1,0,prefix='$am_py_exec_prefix'))" 2>/dev/null ||
- echo "$PYTHON_EXEC_PREFIX/lib/python$PYTHON_VERSION/site-packages"`
+ am_cv_python_pyexecdir=`$PYTHON -c "import sys; from distutils import sysconfig; sys.stdout.write(sysconfig.get_python_lib(1,0,prefix='$am_py_exec_prefix'))" 2>/dev/null`
case $am_cv_python_pyexecdir in
$am_py_exec_prefix*)
am__strip_prefix=`echo "$am_py_exec_prefix" | sed 's|.|.|g'`
@@ -17682,7 +17709,7 @@ 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
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_OCTAVE="octave-config"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -18266,16 +18293,16 @@ if (echo >conf$$.file) 2>/dev/null; then
# ... 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'.
+ # In both cases, we have to default to `cp -pR'.
ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
- as_ln_s='cp -p'
+ as_ln_s='cp -pR'
elif ln conf$$.file conf$$ 2>/dev/null; then
as_ln_s=ln
else
- as_ln_s='cp -p'
+ as_ln_s='cp -pR'
fi
else
- as_ln_s='cp -p'
+ as_ln_s='cp -pR'
fi
rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
rmdir conf$$.dir 2>/dev/null
@@ -18335,28 +18362,16 @@ else
as_mkdir_p=false
fi
-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
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+ test -f "$1" && test -x "$1"
+} # as_fn_executable_p
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
# 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'"
@@ -18378,7 +18393,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# values after options handling.
ac_log="
This file was extended by mathgl $as_me 1.11.2, which was
-generated by GNU Autoconf 2.68. Invocation command line was
+generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
CONFIG_HEADERS = $CONFIG_HEADERS
@@ -18444,10 +18459,10 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
mathgl config.status 1.11.2
-configured by $0, generated by GNU Autoconf 2.68,
+configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
-Copyright (C) 2010 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
This config.status script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it."
@@ -18538,7 +18553,7 @@ fi
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
if \$ac_cs_recheck; then
- set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+ set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
shift
\$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
CONFIG_SHELL='$SHELL'
diff --git a/debian/changelog b/debian/changelog
index 583d4ca..7ea0639 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,11 @@
+mathgl (1.11.2-15) unstable; urgency=low
+
+ * Change debian/copyright file such that the license of the documentation
+ files included in the upstream source */texinfo diractory, becomes free
+ (Closes: #693885).
+
+ -- Dimitrios Eftaxiopoulos <eftaxi12 at otenet.gr> Fri, 23 Nov 2012 21:59:35 +0200
+
mathgl (1.11.2-14) unstable; urgency=low
* Make several libmgl-wx5 related symbols optional in order to fix FTBFS on
diff --git a/debian/copyright b/debian/copyright
index 48725de..5d1bdcf 100644
--- a/debian/copyright
+++ b/debian/copyright
@@ -18,19 +18,19 @@ License: GPL-2+
for more details.
Files: texinfo/*
-Copyright: (C) 2008 Alexey Balakin <mathgl.abalakin at gmail.com>
+Copyright: (C) 2008-2012 Alexey Balakin <mathgl.abalakin at gmail.com>
License: GFDL-1.2+
Permission is granted to copy, distribute and/or modify this document
- under the terms of the GNU Free Documentation License, Version 1.2 or
- any later version published by the Free Software Foundation; with no
- Invariant Sections, with the Front-Cover Texts being ``A GNU Manual,''
- and with the Back-Cover Texts as in (a) below. A copy of the
- license is included in the section entitled ``GNU Free Documentation
- License.''
- (a) The FSF's Back-Cover Text is: ``You have the freedom to
- copy and modify this GNU manual. Buying copies from the FSF
- supports it in developing GNU and promoting software freedom.''
-
+ under the terms of the GNU Free Documentation License, Version 1.2
+ or any later version published by the Free Software Foundation;
+ with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
+ Texts. A copy of the license is included in the section entitled ``GNU
+ Free Documentation License''.
+Comment: The above text is included in the file
+ http://svn.code.sf.net/p/mathgl/code/mathgl-code/mathgl-1x/texinfo/
+ copyright.texi
+ in the upstream SCM repository.
+
Files: debian/*
Copyright:
(C) 2008 Bradley Smith <brad at brad-smith.co.uk>
diff --git a/examples/Makefile.in b/examples/Makefile.in
index 72e3be3..8c642db 100644
--- a/examples/Makefile.in
+++ b/examples/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -35,6 +35,23 @@
# USA.
VPATH = @srcdir@
+am__make_dryrun = \
+ { \
+ am__dry=no; \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
+ | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+ *) \
+ for am__flg in $$MAKEFLAGS; do \
+ case $$am__flg in \
+ *=*|--*) ;; \
+ *n*) am__dry=yes; break;; \
+ esac; \
+ done;; \
+ esac; \
+ test $$am__dry = yes; \
+ }
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@@ -66,7 +83,11 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
subdir = examples
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/config/autotroll.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/config/libtool.m4 \
+ $(top_srcdir)/config/ltoptions.m4 \
+ $(top_srcdir)/config/ltsugar.m4 \
+ $(top_srcdir)/config/ltversion.m4 \
+ $(top_srcdir)/config/lt~obsolete.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
@@ -170,6 +191,11 @@ DIST_SOURCES = $(mgl_example_SOURCES) \
$(am__mgl_glut_example_SOURCES_DIST) \
$(am__mgl_qt_example_SOURCES_DIST) \
$(am__mgl_wx_example_SOURCES_DIST) $(am__test_SOURCES_DIST)
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -403,6 +429,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
+$(top_srcdir)/config/autotroll.mk:
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -414,8 +441,11 @@ $(ACLOCAL_M4): $(am__aclocal_m4_deps)
$(am__aclocal_m4_deps):
install-binPROGRAMS: $(bin_PROGRAMS)
@$(NORMAL_INSTALL)
- test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
@list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \
+ fi; \
for p in $$list; do echo "$$p $$p"; done | \
sed 's/$(EXEEXT)$$//' | \
while read p p1; do if test -f $$p || test -f $$p1; \
@@ -464,22 +494,22 @@ clean-checkPROGRAMS:
list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
echo " rm -f" $$list; \
rm -f $$list
-mgl_example$(EXEEXT): $(mgl_example_OBJECTS) $(mgl_example_DEPENDENCIES)
+mgl_example$(EXEEXT): $(mgl_example_OBJECTS) $(mgl_example_DEPENDENCIES) $(EXTRA_mgl_example_DEPENDENCIES)
@rm -f mgl_example$(EXEEXT)
$(CXXLINK) $(mgl_example_OBJECTS) $(mgl_example_LDADD) $(LIBS)
-mgl_fltk_example$(EXEEXT): $(mgl_fltk_example_OBJECTS) $(mgl_fltk_example_DEPENDENCIES)
+mgl_fltk_example$(EXEEXT): $(mgl_fltk_example_OBJECTS) $(mgl_fltk_example_DEPENDENCIES) $(EXTRA_mgl_fltk_example_DEPENDENCIES)
@rm -f mgl_fltk_example$(EXEEXT)
$(mgl_fltk_example_LINK) $(mgl_fltk_example_OBJECTS) $(mgl_fltk_example_LDADD) $(LIBS)
-mgl_glut_example$(EXEEXT): $(mgl_glut_example_OBJECTS) $(mgl_glut_example_DEPENDENCIES)
+mgl_glut_example$(EXEEXT): $(mgl_glut_example_OBJECTS) $(mgl_glut_example_DEPENDENCIES) $(EXTRA_mgl_glut_example_DEPENDENCIES)
@rm -f mgl_glut_example$(EXEEXT)
$(CXXLINK) $(mgl_glut_example_OBJECTS) $(mgl_glut_example_LDADD) $(LIBS)
-mgl_qt_example$(EXEEXT): $(mgl_qt_example_OBJECTS) $(mgl_qt_example_DEPENDENCIES)
+mgl_qt_example$(EXEEXT): $(mgl_qt_example_OBJECTS) $(mgl_qt_example_DEPENDENCIES) $(EXTRA_mgl_qt_example_DEPENDENCIES)
@rm -f mgl_qt_example$(EXEEXT)
$(mgl_qt_example_LINK) $(mgl_qt_example_OBJECTS) $(mgl_qt_example_LDADD) $(LIBS)
-mgl_wx_example$(EXEEXT): $(mgl_wx_example_OBJECTS) $(mgl_wx_example_DEPENDENCIES)
+mgl_wx_example$(EXEEXT): $(mgl_wx_example_OBJECTS) $(mgl_wx_example_DEPENDENCIES) $(EXTRA_mgl_wx_example_DEPENDENCIES)
@rm -f mgl_wx_example$(EXEEXT)
$(mgl_wx_example_LINK) $(mgl_wx_example_OBJECTS) $(mgl_wx_example_LDADD) $(LIBS)
-test$(EXEEXT): $(test_OBJECTS) $(test_DEPENDENCIES)
+test$(EXEEXT): $(test_OBJECTS) $(test_DEPENDENCIES) $(EXTRA_test_DEPENDENCIES)
@rm -f test$(EXEEXT)
$(test_LINK) $(test_OBJECTS) $(test_LDADD) $(LIBS)
@@ -757,10 +787,15 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
diff --git a/include/Makefile.in b/include/Makefile.in
index 2e75913..16251d6 100644
--- a/include/Makefile.in
+++ b/include/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -16,6 +16,23 @@
@SET_MAKE@
VPATH = @srcdir@
+am__make_dryrun = \
+ { \
+ am__dry=no; \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
+ | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+ *) \
+ for am__flg in $$MAKEFLAGS; do \
+ case $$am__flg in \
+ *=*|--*) ;; \
+ *n*) am__dry=yes; break;; \
+ esac; \
+ done;; \
+ esac; \
+ test $$am__dry = yes; \
+ }
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@@ -39,7 +56,11 @@ DIST_COMMON = $(am__nobase_include_HEADERS_DIST) $(srcdir)/Makefile.am \
$(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/config/autotroll.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/config/libtool.m4 \
+ $(top_srcdir)/config/ltoptions.m4 \
+ $(top_srcdir)/config/ltsugar.m4 \
+ $(top_srcdir)/config/ltversion.m4 \
+ $(top_srcdir)/config/lt~obsolete.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
@@ -48,6 +69,11 @@ CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
SOURCES =
DIST_SOURCES =
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
am__nobase_include_HEADERS_DIST = mgl/mgl_fltk.h mgl/mgl_glut.h \
mgl/mgl_wx.h mgl/mgl_qt.h mgl/mgl_ab.h mgl/mgl_data.h \
mgl/mgl_eval.h mgl/mgl_gl.h mgl/mgl.h mgl/mgl_parse.h \
@@ -76,6 +102,12 @@ am__nobase_list = $(am__nobase_strip_setup); \
am__base_list = \
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
am__installdirs = "$(DESTDIR)$(includedir)"
HEADERS = $(nobase_include_HEADERS)
ETAGS = etags
@@ -307,15 +339,18 @@ clean-libtool:
-rm -rf .libs _libs
install-nobase_includeHEADERS: $(nobase_include_HEADERS)
@$(NORMAL_INSTALL)
- test -z "$(includedir)" || $(MKDIR_P) "$(DESTDIR)$(includedir)"
@list='$(nobase_include_HEADERS)'; test -n "$(includedir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(includedir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(includedir)" || exit 1; \
+ fi; \
$(am__nobase_list) | while read dir files; do \
xfiles=; for file in $$files; do \
if test -f "$$file"; then xfiles="$$xfiles $$file"; \
else xfiles="$$xfiles $(srcdir)/$$file"; fi; done; \
test -z "$$xfiles" || { \
test "x$$dir" = x. || { \
- echo "$(MKDIR_P) '$(DESTDIR)$(includedir)/$$dir'"; \
+ echo " $(MKDIR_P) '$(DESTDIR)$(includedir)/$$dir'"; \
$(MKDIR_P) "$(DESTDIR)$(includedir)/$$dir"; }; \
echo " $(INSTALL_HEADER) $$xfiles '$(DESTDIR)$(includedir)/$$dir'"; \
$(INSTALL_HEADER) $$xfiles "$(DESTDIR)$(includedir)/$$dir" || exit $$?; }; \
@@ -325,9 +360,7 @@ uninstall-nobase_includeHEADERS:
@$(NORMAL_UNINSTALL)
@list='$(nobase_include_HEADERS)'; test -n "$(includedir)" || list=; \
$(am__nobase_strip_setup); files=`$(am__nobase_strip)`; \
- test -n "$$files" || exit 0; \
- echo " ( cd '$(DESTDIR)$(includedir)' && rm -f" $$files ")"; \
- cd "$(DESTDIR)$(includedir)" && rm -f $$files
+ dir='$(DESTDIR)$(includedir)'; $(am__uninstall_files_from_dir)
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
@@ -428,10 +461,15 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
diff --git a/lang/Makefile.in b/lang/Makefile.in
index 9ba6a6b..6545d54 100644
--- a/lang/Makefile.in
+++ b/lang/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -17,6 +17,23 @@
VPATH = @srcdir@
+am__make_dryrun = \
+ { \
+ am__dry=no; \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
+ | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+ *) \
+ for am__flg in $$MAKEFLAGS; do \
+ case $$am__flg in \
+ *=*|--*) ;; \
+ *n*) am__dry=yes; break;; \
+ esac; \
+ done;; \
+ esac; \
+ test $$am__dry = yes; \
+ }
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@@ -45,7 +62,11 @@ DIST_COMMON = $(am__dist_octave_DATA_DIST) $(am__python_PYTHON_DIST) \
$(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/config/autotroll.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/config/libtool.m4 \
+ $(top_srcdir)/config/ltoptions.m4 \
+ $(top_srcdir)/config/ltsugar.m4 \
+ $(top_srcdir)/config/ltversion.m4 \
+ $(top_srcdir)/config/lt~obsolete.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
@@ -73,6 +94,12 @@ am__nobase_list = $(am__nobase_strip_setup); \
am__base_list = \
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
am__installdirs = "$(DESTDIR)$(pyexecdir)" "$(DESTDIR)$(pythondir)" \
"$(DESTDIR)$(octavedir)"
LTLIBRARIES = $(pyexec_LTLIBRARIES)
@@ -100,7 +127,13 @@ CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
$(LDFLAGS) -o $@
SOURCES = $(_mathgl_la_SOURCES)
DIST_SOURCES = $(am___mathgl_la_SOURCES_DIST)
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
am__python_PYTHON_DIST = mathgl.py
+am__py_compile = PYTHON=$(PYTHON) $(SHELL) $(py_compile)
py_compile = $(top_srcdir)/config/py-compile
am__dist_octave_DATA_DIST = mathgl.tar.gz
DATA = $(dist_octave_DATA)
@@ -335,7 +368,6 @@ $(ACLOCAL_M4): $(am__aclocal_m4_deps)
$(am__aclocal_m4_deps):
install-pyexecLTLIBRARIES: $(pyexec_LTLIBRARIES)
@$(NORMAL_INSTALL)
- test -z "$(pyexecdir)" || $(MKDIR_P) "$(DESTDIR)$(pyexecdir)"
@list='$(pyexec_LTLIBRARIES)'; test -n "$(pyexecdir)" || list=; \
list2=; for p in $$list; do \
if test -f $$p; then \
@@ -343,6 +375,8 @@ install-pyexecLTLIBRARIES: $(pyexec_LTLIBRARIES)
else :; fi; \
done; \
test -z "$$list2" || { \
+ echo " $(MKDIR_P) '$(DESTDIR)$(pyexecdir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(pyexecdir)" || exit 1; \
echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(pyexecdir)'"; \
$(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(pyexecdir)"; \
}
@@ -364,7 +398,7 @@ clean-pyexecLTLIBRARIES:
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
-_mathgl.la: $(_mathgl_la_OBJECTS) $(_mathgl_la_DEPENDENCIES)
+_mathgl.la: $(_mathgl_la_OBJECTS) $(_mathgl_la_DEPENDENCIES) $(EXTRA__mathgl_la_DEPENDENCIES)
$(_mathgl_la_LINK) $(am__mathgl_la_rpath) $(_mathgl_la_OBJECTS) $(_mathgl_la_LIBADD) $(LIBS)
mostlyclean-compile:
@@ -410,8 +444,11 @@ clean-libtool:
-rm -rf .libs _libs
install-pythonPYTHON: $(python_PYTHON)
@$(NORMAL_INSTALL)
- test -z "$(pythondir)" || $(MKDIR_P) "$(DESTDIR)$(pythondir)"
@list='$(python_PYTHON)'; dlist=; list2=; test -n "$(pythondir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(pythondir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(pythondir)" || exit 1; \
+ fi; \
for p in $$list; do \
if test -f "$$p"; then b=; else b="$(srcdir)/"; fi; \
if test -f $$b$$p; then \
@@ -426,11 +463,8 @@ install-pythonPYTHON: $(python_PYTHON)
$(INSTALL_DATA) $$files "$(DESTDIR)$(pythondir)" || exit $$?; \
done || exit $$?; \
if test -n "$$dlist"; then \
- if test -z "$(DESTDIR)"; then \
- PYTHON=$(PYTHON) $(py_compile) --basedir "$(pythondir)" $$dlist; \
- else \
- PYTHON=$(PYTHON) $(py_compile) --destdir "$(DESTDIR)" --basedir "$(pythondir)" $$dlist; \
- fi; \
+ $(am__py_compile) --destdir "$(DESTDIR)" \
+ --basedir "$(pythondir)" $$dlist; \
else :; fi
uninstall-pythonPYTHON:
@@ -438,18 +472,21 @@ uninstall-pythonPYTHON:
@list='$(python_PYTHON)'; test -n "$(pythondir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
test -n "$$files" || exit 0; \
+ dir='$(DESTDIR)$(pythondir)'; \
filesc=`echo "$$files" | sed 's|$$|c|'`; \
fileso=`echo "$$files" | sed 's|$$|o|'`; \
- echo " ( cd '$(DESTDIR)$(pythondir)' && rm -f" $$files ")"; \
- cd "$(DESTDIR)$(pythondir)" && rm -f $$files || exit $$?; \
- echo " ( cd '$(DESTDIR)$(pythondir)' && rm -f" $$filesc ")"; \
- cd "$(DESTDIR)$(pythondir)" && rm -f $$filesc || exit $$?; \
- echo " ( cd '$(DESTDIR)$(pythondir)' && rm -f" $$fileso ")"; \
- cd "$(DESTDIR)$(pythondir)" && rm -f $$fileso
+ st=0; \
+ for files in "$$files" "$$filesc" "$$fileso"; do \
+ $(am__uninstall_files_from_dir) || st=$$?; \
+ done; \
+ exit $$st
install-dist_octaveDATA: $(dist_octave_DATA)
@$(NORMAL_INSTALL)
- test -z "$(octavedir)" || $(MKDIR_P) "$(DESTDIR)$(octavedir)"
@list='$(dist_octave_DATA)'; test -n "$(octavedir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(octavedir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(octavedir)" || exit 1; \
+ fi; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; \
@@ -463,9 +500,7 @@ uninstall-dist_octaveDATA:
@$(NORMAL_UNINSTALL)
@list='$(dist_octave_DATA)'; test -n "$(octavedir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
- test -n "$$files" || exit 0; \
- echo " ( cd '$(DESTDIR)$(octavedir)' && rm -f" $$files ")"; \
- cd "$(DESTDIR)$(octavedir)" && rm -f $$files
+ dir='$(DESTDIR)$(octavedir)'; $(am__uninstall_files_from_dir)
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
@@ -568,10 +603,15 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
diff --git a/mgl/Makefile.in b/mgl/Makefile.in
index 6a1ad71..af5c4aa 100644
--- a/mgl/Makefile.in
+++ b/mgl/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -16,6 +16,23 @@
@SET_MAKE@
VPATH = @srcdir@
+am__make_dryrun = \
+ { \
+ am__dry=no; \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
+ | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+ *) \
+ for am__flg in $$MAKEFLAGS; do \
+ case $$am__flg in \
+ *=*|--*) ;; \
+ *n*) am__dry=yes; break;; \
+ esac; \
+ done;; \
+ esac; \
+ test $$am__dry = yes; \
+ }
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@@ -49,7 +66,11 @@ subdir = mgl
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/config/autotroll.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/config/libtool.m4 \
+ $(top_srcdir)/config/ltoptions.m4 \
+ $(top_srcdir)/config/ltsugar.m4 \
+ $(top_srcdir)/config/ltversion.m4 \
+ $(top_srcdir)/config/lt~obsolete.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
@@ -77,6 +98,12 @@ am__nobase_list = $(am__nobase_strip_setup); \
am__base_list = \
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
am__installdirs = "$(DESTDIR)$(libdir)"
LTLIBRARIES = $(lib_LTLIBRARIES)
am__DEPENDENCIES_1 =
@@ -127,6 +154,11 @@ CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
$(LDFLAGS) -o $@
SOURCES = $(libmgl_la_SOURCES)
DIST_SOURCES = $(libmgl_la_SOURCES)
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -365,7 +397,6 @@ $(ACLOCAL_M4): $(am__aclocal_m4_deps)
$(am__aclocal_m4_deps):
install-libLTLIBRARIES: $(lib_LTLIBRARIES)
@$(NORMAL_INSTALL)
- test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
@list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
list2=; for p in $$list; do \
if test -f $$p; then \
@@ -373,6 +404,8 @@ install-libLTLIBRARIES: $(lib_LTLIBRARIES)
else :; fi; \
done; \
test -z "$$list2" || { \
+ echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \
echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
$(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
}
@@ -394,7 +427,7 @@ clean-libLTLIBRARIES:
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
-libmgl.la: $(libmgl_la_OBJECTS) $(libmgl_la_DEPENDENCIES)
+libmgl.la: $(libmgl_la_OBJECTS) $(libmgl_la_DEPENDENCIES) $(EXTRA_libmgl_la_DEPENDENCIES)
$(libmgl_la_LINK) -rpath $(libdir) $(libmgl_la_OBJECTS) $(libmgl_la_LIBADD) $(LIBS)
mostlyclean-compile:
@@ -802,10 +835,15 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
diff --git a/texinfo/mgl_ru.info-1 b/texinfo/mgl_ru.info-1
deleted file mode 100644
index e80adfa..0000000
--- a/texinfo/mgl_ru.info-1
+++ /dev/null
@@ -1,7151 +0,0 @@
-This is mgl_ru.info, produced by makeinfo version 4.13 from mgl_ru.texi.
-
-Это документация для MathGL (версии 1.11) -
-библиотеки классов и функций для
-построения научной графики.
-Пожалуйста сообщайте о любых ошибках в
-этом руководстве на <mathgl.abalakin at gmail.org>.
-
- Copyright (C) 2009 Алексей Балакин.
-
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.2 or any later version published by the Free Software
- Foundation; with no Invariant Sections, with the Front-Cover Texts
- being "A GNU Manual," and with the Back-Cover Texts as in (a)
- below. A copy of the license is included in the section entitled
- "GNU Free Documentation License."
-
- (a) The FSF's Back-Cover Text is: "You have the freedom to copy
- and modify this GNU manual. Buying copies from the FSF supports
- it in developing GNU and promoting software freedom."
-
-INFO-DIR-SECTION MathGL documentation system
-START-INFO-DIR-ENTRY
-* MathGL: (mathgl). The library for scientific graphics.
-END-INFO-DIR-ENTRY
-
-
-File: mgl_ru.info, Node: Top, Next: MGL interface, Up: (dir)
-
-Язык MGL
-************
-
-Это документация для языка MGL (версии
-1.11). Пожалуйста сообщайте о любых
-ошибках в этом руководстве на
-<mathgl.abalakin at gmail.org>. Дополнительную
-информацию о MGL и MathGL можно найти на
-домашней странице проекта
-`http://mathgl.sourceforge.net/'.
-
- Copyright (C) 2010 Алексей Балакин.
-
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.2 or any later version published by the Free Software
- Foundation; with no Invariant Sections, with the Front-Cover Texts
- being "A GNU Manual," and with the Back-Cover Texts as in (a)
- below. A copy of the license is included in the section entitled
- "GNU Free Documentation License."
-
- (a) The FSF's Back-Cover Text is: "You have the freedom to copy
- and modify this GNU manual. Buying copies from the FSF supports
- it in developing GNU and promoting software freedom."
-
-* Menu:
-
-* MGL interface::
-* Examples::
-* Samples::
-* Copying This Manual::
-* Index::
-
-
-File: mgl_ru.info, Node: MGL interface, Next: Examples, Up: Top
-
-1 Язык MGL
-**************
-
-MathGL имеет встроенный скриптовый язык
-MGL для обработки и отображения данных.
-Скрипты MGL можно использовать как
-независимо (программами UDAV, mgl2png, mgl2eps,
-mgl2svg и пр., *note Utilities::) так и вызовами
-библиотеки.
-
- Язык MGL достаточно простой. Каждая
-строка - отдельная команда. Первое
-слово - имя команды, а все остальные ее
-аргументы. Команда может иметь до 1000
-аргументов (по крайней мере сейчас).
-Слова разделяются одно от другого
-пробелом или символом табуляции.
-Различий между верхним и нижним
-индексом нет, т.е. переменные A и A
-идентичны. Символ `#' начинает
-комментарий - все символы после него
-игнорируются до конца строки.
-Исключением является случай, когда `#'
-входит в строку. Опции команды
-указываются после символа `;' (*note Command
-options::). Символ `:' начинает новую команду
-(подобно переводу строки) если он
-расположен не внутри скобок или строки.
-
- Если строка содержит ссылки на
-внешние параметры (`$0', `$1' ... `$9') или
-макроопределения (`$a', `$b' ... `$z'), то
-текущие значения
-параметров/макроопределений
-подставляются в строку вместо ссылки
-до выполнением команды. Это позволяет
-использовать один и тот же скрипт при
-различных входных параметрах
-командной строки или вводить
-макроопределения по ходу исполнения
-команд скрипта.
-
- Аргументы команды могут быть
-строками, переменными или числами.
- * Строка - произвольный набор
- символов между метками `''.
-
- * Обычно переменная имеет имя,
- состоящее из букв и чисел (должно
- начинаться с буквы и не быть длиннее
- 64 символов). В качестве переменной
- можно использовать временные
- массивы, включающие в себя:
- * срезы ("подмассивы") массивов
- данных (подобно команде *note subdata::).
- Например, `a(1)' или `a(1,:)' или `a(1,:,:)' -
- вторая строка массива A, `a(:,2)' или
- `a(:,2,:)' - третий столбец, `a(:,:,0)' -
- первый срез и т.д. Также можно
- выделить часть массива с m-го по
- n-ый элемент `a(m:n,:,:)' или просто
- `a(m:n)'.
-
- * произвольные комбинации
- столбцов данных (например,
- `a('n*w^2/exp(t)')'), если столбцы данных
- были именованы командой *note idset::
- или в файле данных (в строке
- начинающейся с `##').
-
- * произвольное выражение из
- существующих переменных и
- констант. Например, `sqrt(dat(:,5)+1)'
- даст временный массив данных с
- элементами равными `tmp[i,j] =
- sqrt(dat[i,5,j]+1)'.
-
- * массивы с элементами заданными в
- квадратных скобках [],
- разделенные `,'. При этом внутри
- выражения не должно быть
- пробелов! Например, `[1,2,3]' даст
- временный массив из 3 элементов {1,
- 2, 3}; `[[11,12],[21,22]]' даст матрицу 2*2 и
- т.д. Элементами такой конструкции
- могут быть и массивы если их
- размерности одинаковые, например
- `[v1,v2,...,vn]'.
-
- * результат команд построения
- новых данных (*note Make another data::), если
- они заключены в фигурные скобки
- {}. Например, `{sum dat 'x'}' даст
- временный массив, который есть
- результат суммирования DAT вдоль
- 'x'. Это такой же массив как и TMP,
- полученный командой `sum tmp dat 'x''.
- При этом можно использовать
- вложенные конструкции, например
- `{sum {max dat 'z'} 'x'}'.
- Временные массивы не могут стоять в
- качестве первого аргумента команд,
- создающих массивы (например, `new',
- `read', `hist' и т.д.).
-
- * К скалярным переменным, кроме
- собственно чисел, относятся:
- специальные переменные `nan=#QNAN,
- pi=3.1415926..., on=1, off=0, :=-1', переменные с
- суффиксами (*note Suffixes::), переменные
- определенные командой *note define::.
- Также массивы размером 1x1x1
- считаются скалярами (например,
- `pi/dat.nx').
- Перед первым использованием все
-переменные должны быть определены с
-помощью команд, создающих массивы (*note
-new::, *note var::, *note list::, *note copy::, *note read::, *note
-hist::, *note sum:: и др., *note Data create:: и *note Make another
-data::).
-
- Команды могут иметь несколько
-наборов аргументов (например, `plot ydat' и
-`plot xdat ydat'). Все аргументы команды для
-выбранного набора должны быть указаны,
-однако часть из них могут иметь
-значения по умолчанию. Такие аргументы
-в описании команд будут помещены в
-квадратные скобки [], например `plot ydat
-['stl'='' zval=nan]'. При этом запись `[arg1 arg2 arg3
-...]' подразумевает `[arg1 [arg2 [arg3 ...]]]', т.е.
-опускать можно только аргументы с
-конца, если вы согласны с их значениями
-по умолчанию. Например, `plot ydat '' 1' или
-`plot ydat ''' правильно, а `plot ydat 1' не
-правильно (аргумент `'stl'' пропущен).
-
- Все команды MGL можно разделить на
-несколько групп. В дальнейшем будет
-использованы следующие обозначения
-при описании команд: имя команды
-выделено жирным, строки заключены в
-одинарные кавычки ", переменные
-выделены курсивом, числа (скаляры)
-выделены моноширинным шрифтом.
-Необязательные аргументы будут
-помещены в квадратные скобки [] и
-показаны их значения по умолчанию.
-Подробную информацию о цвете и стиле
-линий (*note Line styles::), цветовых схемах (*note
-Color scheme::), стиле текста и символах TeX (*note
-Font styles::), текстовых формулах (*note Textual
-formulas::) можно найти в соответствующих
-разделах.
-
-* Menu:
-
-
-* General concepts::
-* Graphics setup ::
-* Axis settings ::
-* Transformation matrix ::
-* Export to file ::
-* Primitives drawing ::
-* Text printing ::
-* Axis and Colorbar ::
-* Legend ::
-* 1D plotting ::
-* 2D plotting ::
-* 3D plotting ::
-* Dual plotting ::
-* Vector fields ::
-* Other plotting ::
-* Nonlinear fitting ::
-* Data create ::
-* Data filling ::
-* Rearrange data ::
-* File I/O ::
-* Make another data ::
-* Change data ::
-* Operators ::
-* Program flow ::
-* Command options ::
-* Suffixes::
-* Utilities::
-
-
-File: mgl_ru.info, Node: General concepts, Prev: Utilities, Up: MGL interface
-
-1.1 Основные принципы
-=====================================
-
-Возможности библиотеки MathGL довольно
-богаты - число только основных типов
-графиков превышает 50 видов. Кроме того,
-есть функции для обработки данных,
-настройки вида графика и пр. и пр. Тем
-не менее, я старался придерживаться
-единого стиля в порядке аргументов
-функций и способе их "настройки". В
-основном все ниже сказанное относится
-к функциям рисования различных
-графиков.
-
- Всего основных концепций (базисных
-идей) четыре:
- 1. *Все настройки графиков (стиль
- линий, цветовые схемы поверхностей,
- стиль и цвет текста) задаются
- строками.* Это обеспечивает:
- удобство для пользователя -
- короткую строку легче читать и
- здесь тяжелее ошибиться, чем в
- большом списке параметров;
- переносимость - строки выглядят
- одинаково на всех платформах и не
- надо заботиться о типе и числе
- аргументов.
-
- 2. *Все функции имеют "упрощенный" и
- "продвинутый" варианты.* Сделано
- опять из-за удобства. В "упрощенном"
- варианте для построения графика
- нужны только один-два массив(а)
- данных, которые автоматически
- равнораспределяются в заданном
- диапазоне осей координат. В
- "продвинутой" версии можно не только
- указать явно диапазон построения
- графика, но и задать его
- параметрически. Последнее
- позволяет легко строить довольно
- сложные кривые и поверхности. В
- обоих вариантах функций порядок
- аргументов стандартен: сначала идут
- массивы данных, потом
- необязательный строковый параметр
- стиля графика, а далее -
- второстепенные необязательные
- параметры для более точной
- настройки графика.
-
- 3. *Все элементы рисунков векторные.*
- Изначально библиотека MathGL была
- ориентированна на работу с научными
- данными, которые по своей природе
- векторные (линии, грани, матрицы и
- т.д.). Поэтому векторность
- используется во всех рисунках!
- Причем иногда даже в ущерб
- производительности (например, при
- выводе шрифтов). Помимо всего
- прочего, векторность позволяет
- легко масштабировать рисунок -
- измените размер картинки в 2 раза, и
- рисунок пропорционально растянется.
-
- 4. *Новые графики не удаляют уже
- нарисованное.* Этот, в чем-то
- неожиданный, подход позволяет
- создавать огромное количество
- "комбинированных" графиков.
- Например, поверхность с наложенными
- линиями уровня строится двумя
- последовательными вызовами функций
- рисования поверхности и линий
- уровня (в любом порядке). И
- совершенно не надо писать
- специальную функцию (как в Matlab и
- некоторых других программах) для
- рисования этого графика. Примеров
- таких графиков можно привести
- множество (см. раздел *note Hints:: и сайт
- программы `http://mathgl.sf.net/index.html').
-
- Кроме основных концепций я хотел бы
-остановиться на нескольких, как
-оказалось, нетривиальных моментах -
-способе указания положения графика,
-осей координат и строковых параметров
-линий, поверхностей, текста.
-
-* Menu:
-
-* Coordinate axes::
-* Line styles::
-* Color scheme::
-* Font styles::
-* Textual formulas::
-
-
-File: mgl_ru.info, Node: Coordinate axes, Next: Line styles, Up: General concepts
-
-1.1.1 Оси координат
--------------------------------
-
-Представление системы координат в MathGL
-состоит из двух частей. Вначале
-координаты нормируются в интервал MINxMAX
-(*note Axis settings::). Если флаг CUT установлен,
-то точки вне интервала отбрасываются,
-в противном случае, они проецируются
-на ограничивающий параллелепипед (*note
-Cutting::). Кроме того, отбрасываются точки
-внутри границ, определенных
-переменными CUTMINxCUTMAX и точки, для
-которых значение функции `CutOff'() не
-равно нулю. После этого формулы
-перехода в криволинейную систему
-координат `SetFunc()'применяются к каждой
-точке. Наконец, точка данных
-отображается с помощью одной из
-графических функций.
-
- Величины MAX, MIN можно изменять
-вручную. Однако, после этого
-необходимо вызвать функцию `RecalcBorder()'
-для настройки графика. Более удобный и
-безопасный путь состоит в вызове
-функций `Axis(), SetRanges()' и др. В последнем
-случае функция `RecalcBorder()' вызывается
-автоматически. Размеры осей можно
-задавать и автоматически по
-минимальному и максимальному
-значениям массива данных. Для этого
-предназначены функции `XRange(), YRange(),
-ZRange()'. Второй не обязательный аргумент
-указывает, заменять ли новые значения
-диапазона изменения оси координат (по
-умолчанию) или только расширить уже
-существующий диапазон.
-
- Точка пересечения осей координат
-задается переменной ORG и действует на
-последующие вызовы функций рисования
-осей координат и сетки. По умолчанию,
-если точка пересечения осей координат
-попадает вне диапазона осей координат,
-то она проецируется на границу
-области. Изменить такое поведение
-можно, задав AUTOORG=`false'. В случае, если
-одно из значений ORG равно NAN, то
-соответствующее значение будет
-выбрано автоматически.
-
- Кроме привычных осей _x, y, z_ есть еще
-одна ось - цветовая шкала - ось _c_. Она
-используется при окрашивании
-поверхностей и задает границы
-изменения функции при окрашивании. При
-вызове `Axis()' ее границы автоматически
-устанавливаются равными Min.z и Max.z.
-Возможно и ручное изменение границ
-цветового интервала посредством
-вызова функции `CAxis()' или изменение
-границ по заданному массиву `CRange()'.
-Используйте `Colorbar()' для отображения
-цветовой шкалы.
-
- Вид меток по осям определяется
-функцией `SetTicks()' (*note Axis settings::). Она
-имеет 3 аргумента: первый D задает шаг
-меток (если положительны) или их число
-(если отрицательны) или
-логарифмические метки (если равны
-нулю); второ NS задает число "подметок";
-последний определяет начальную точку
-для меток (по умолчанию это точка
-пересечения осей). Функция SETTUNETICKS
-включает/выключает выделение общего
-множителя (большого или малого
-факторов в диапазоне) для меток осей
-координат. Наконец, если стандартный
-вид меток не устраивает пользователя,
-то их шаблон можно задать явно (можно
-использовать и ТеХ символы),
-воспользовавшись функциями `SetXTT(),
-SetYTT(). SetZTT(). SetCTT()'. Кроме того, в качестве
-меток можно вывести произвольный
-текст использовав функцию `SetTicksVal()'.
-
-
-File: mgl_ru.info, Node: Line styles, Next: Color scheme, Prev: Coordinate axes, Up: General concepts
-
-1.1.2 Стиль линий
----------------------------
-
-Стиль линии задается строкой, которая
-может содержать символ цвета
-(`wkrgbcymhRGBCYMHWlenupqLENUPQ'), тип пунктира (`-|;:ji'
-или пробел), ширину линии (`0123456789') и тип
-маркера (`o+xsd.^v' и модификатор `#'). Если
-пропущен цвет или тип пунктира, то
-используется значение по умолчанию с
-последним указанным цветом или
-значение из палитры (для *note 1D plotting::).
-По умолчанию палитры содержит
-следующие цвета: темно серый `H', синий
-`b', зеленый `g', красный `r', голубой `c',
-пурпурный `m', yellow `y', серый `h',
-сине-зеленый `l', небесно-синий `n',
-оранжевый `q', желто-зеленый `e',
-сине-фиолетовый `u', фиолетовый `p'.
-
- Символы цвета те же, что и в классе
-mglColor (*note mglColor class::): `k' - черный, `r' -
-красный, `R' - темно красный, `g' - зеленый,
-`G' - темно зеленый, `b' - синий, `B' - темно
-синий, `c' - голубой, `C' - темно голубой, `m'
-- пурпурный, `M' - темно пурпурный, `y' -
-желтый, `Y' - темно желтый (золотой), `h' -
-серый, `H' - темно серый, `w' - белый, `W' -
-светло серый, `l' - сине-зеленый, `L' -
-темно сине-зеленый, `e' - желто-зеленый,
-`E' - темно желто-зеленый, `n' -
-небесно-синий, `N' - темно небесно-синий,
-`u' - сине-фиолетовый, `U' - темно
-сине-фиолетовый, `p' - фиолетовый, `P' -
-темно фиолетовый, `q' - оранжевый, `Q' -
-темно оранжевый (коричневый).
-
- Тип пунктира: пробел - нет линии (для
-рисования только маркеров), `-' -
-сплошная линия (################), `|' - длинный
-пунктир (########________), `;' - пунктир
-(####____####____), `=' - короткий пунктир
-(##__##__##__##__), `:' - точки (#___#___#___#___), `j' -
-пунктир с точками (#######____#____), `i' -
-мелкий пунктир с точками (###__#__###__#__).
-
- Типы маркеров: `o' - окружность, `+' -
-крест, `x' - косой крест, `s' - квадрат, `d' -
-ромб, `.' - точка, `^' - треугольник вверх,
-`v' - треугольник вниз, `<' - треугольник
-влево, `>' - треугольник вправо, `#*' - знак
-Y, `#+' - крест в квадрате, `#x' - косой крест
-в квадрате, `#.' - точка в окружности.
-Если в строке присутствует символ `#',
-то используются символы с заполнением.
-
- [image src="../png/sample5.png" ]
-
-Стили линий и маркеров.
-
- На конце и в начале линии можно
-выводить специальный символ (стрелку),
-если в строке указать один из символов:
-`A' - стрелка наружу, `V' - стрелка внутрь,
-`I' - поперечная черта, `K' - стрелка с
-чертой, `T' - треугольник, `S' - квадрат, `D' -
-ромб, `O' - круг, `_' - нет стрелки (по
-умолчанию). При этом действует
-следующее правило: первый символ
-определяет стрелку на конце линии,
-второй символ - стрелку в начале линии.
-Например, `r-A' - красная сплошная линия
-со стрелкой на конце, `b|AI' - синий
-пунктир со стрелкой на конце и чертой
-вначале, `_O' - линия с текущим стилем и
-кружком вначале. Эти стили действуют и
-при построении графиков (например, *note
-1D plotting::).
-
- [image src="../png/sampled.png" ]
-
-Стили стрелок.
-
-
-File: mgl_ru.info, Node: Color scheme, Next: Font styles, Prev: Line styles, Up: General concepts
-
-1.1.3 Цветовая схема
----------------------------------
-
-Цветовая схема используется для
-определения цвета поверхностей, линий
-уровня и пр. Цветовая схема задается
-строкой _s_, которая содержит символы
-цвета (*note Line styles::) или символы `d#:|'.
-Символ `d' указывает на определение
-цвета в зависимости от положения точки
-в пространстве, а не по амплитуде
-данных. Символ `#' переключает
-рисование поверхности на сетчатое (для
-трехмерных поверхностей) или включает
-рисование сетки на поверхности. Символ
-`|' отключает интерполяцию цвета в
-цветовой схеме. Это может быть полезно
-для "резких" цветов, например, при
-рисовании матриц. Если в строке
-встречается символ `:', то он
-принудительно заканчивает разбор
-строки для стиля поверхности. После
-этого символа могут идти описание
-стиля текста или оси вращения
-кривой/линий уровня. Цветовая схема
-может содержать до 32 значений цвета.
-
- В цветовой схеме можно использовать
-тональные ("подсвеченные") цвета (_не в
-стиле линий!_). Тональный цвет задается
-двумя символами: первый - обычный цвет,
-второй - его яркость цифрой. Цифра
-может быть в диапазоне `1'...`9'. При этом
-`5' соответствует нормальному цвету, `1' -
-очень темная версия цвета (почти
-черный), `9' - очень светлая версия цвета
-(почти белый). Например цветовая схема
-может быть `b2b7wr7r2'.
-
- [image src="../png/colors.png" ]
-
-Цвета и их идентификаторы.
-
- При определении цвета по _амплитуде_
-(наиболее часто используется)
-окончательный цвет определяется путем
-линейной интерполяции массива цветов.
-Массив цветов формируется из цветов,
-указанных в строке спецификации.
-Аргумент - амплитуда, нормированная
-между CMIN - CMAX (*note Axis settings::). Например,
-строка из 4 символов `bcyr' соответствует
-изменению цвета от синего (минимальное
-значение) через голубой и желтый
-(промежуточные значения) к красному
-(максимальное значение). Строка `kw'
-соответствует изменению цвета от
-черного (минимальное значение) к
-белому (максимальное значение). Строка
-из одного символа (например, `g')
-соответствует однотонному цвету (в
-данному случае зеленому).
-
- Есть несколько полезных цветовых
-схем. Строка `kw' дает обычную серую
-(черно-белую) схему, когда большие
-значения светлее. Строка `wk'
-представляет обратную серую схему,
-когда большие значения темнее. Строки
-`kRryw', `kGgw', `kBbcw' представляют собой
-хорошо известные схемы _hot_, _summer_ и _winter_.
-Строки `BbwrR' и `bBkRr' позволяют рисовать
-двухцветные фигуры на белом или черном
-фоне, когда отрицательные значения
-показаны синим цветом, а положительные
-- красным. Строка `BbcyrR' дает цветовую
-схему, близкую к хорошо известной
-схеме _jet_.
-
- [image src="../png/color_schemes.png" ]
-
-Наиболее популярные цветовые схемы.
-
- При определении цвета по _положению
-точки в пространстве_ окончательный
-цвет определяется по формуле c=x*c[1] + y*c[2]
-+ z*c[3]. Здесь c[1], c[2], c[3] - первые три цвета
-в цветовом массиве; x, y, z - координаты
-точки, нормированные на MINxMAX. Такой тип
-определения цвета полезен, например,
-при построении поверхностей уровня,
-когда цвет дает представление о
-положении точки в пространстве.
-
-
-File: mgl_ru.info, Node: Font styles, Next: Textual formulas, Prev: Color scheme, Up: General concepts
-
-1.1.4 Стиль текста
------------------------------
-
-Стиль текста задается строкой, которая
-может содержать несколько символов:
-тип шрифта (`ribwou') и/или выравнивания
-(`LRC'), а также цвет текста `wkrgbcymhRGBCYMHW' (*note
-Line styles::) после символа `:'. Например, `biC:b'
-соответствует жирному курсиву с
-выравниванием по центру синего цвета.
-
- Начертания шрифта: `r' - прямой шрифт,
-`i' - курсив, `b' - жирный. По умолчанию
-используется прямой шрифт. Типы
-выравнивания текста: `L' - по левому краю
-(по умолчанию), `C' - по центру, `R' - по
-правому краю. Дополнительные эффекты
-шрифта: `w' - контурный, `o' - надчеркнутый,
-`u' - подчеркнутый.
-
- Синтаксический разбор LaTeX-их команд
-по умолчанию включен. Это команды
-смены стиля текста (например, \b для
-жирного текста): \a или \overline -
-надчеркивание, \b или \textbf - жирный, \i или
-\textit - курсив, \r или \textrm - прямой
-(отменяет стили жирного и курсива), \u
-или \underline - подчеркнутый, \w или \wire -
-контурный, \big - большего размера, @ -
-меньшего размера. Нижний и верхний
-индексы задаются символами `_' и `^'. При
-этом изменение стиля применяется
-только к следующему символу или к
-символам в фигурных скобках {}, которые
-понимаются как единый блок. Например,
-сравните строки `sin (x^{2^3})' и `sin (x^2^3)'.
-Можно также менять цвет текста внутри
-строки с помощью команд #? или \color?, где
-`?' - символ цвета (*note Line styles::). Например,
-слова `Blue' и `red' будут окрашены в
-соответствующий цвет в строке `#b{Blue} and
-\colorr{red} text'. Большинство функций
-понимает символ новой строки `\n' и
-позволяет выводить много строчный
-текст. Наконец, можно использовать
-символы с произвольным UTF кодом с
-помощью команды `\utf0x????'. Например,
-`\utf0x3b1' даст символ \alpha.
-
- Распознаются также большинство
-символов TeX и AMSTeX, команды смены стиля
-текста (\textrm, \textbf, \textit, \textsc, \overline,
-\underline), акценты (\hat, \tilde, \dot, \ddot, \acute, \check,
-\grave, \bar, \breve) и корни (\sqrt, \sqrt3, \sqrt4).
-Полный список содержит около 2000
-символов. Отмечу, что первый пробел
-(пробел, табуляция и пр.) после команды
-игнорируется, а все остальные пробелы
-печатаются обычным образом. Например,
-следующие строки дают одинаковый
-результат \tilde a: `\tilde{a}'; `\tilde a'; `\tilde{}a'.
-
- В частности, распознаются греческие
-буквы: \alpha - \alpha, \beta - \beta, \gamma - \gamma, \delta -
-\delta, \epsilon - \epsilon, \eta - \eta, \iota - \iota, \chi - \chi,
-\kappa - \kappa, \lambda - \lambda, \mu - \mu, \nu - \nu, o - \o,
-\omega - \omega, \phi - \phi, \pi - \pi, \psi - \psi, \rho - \rho,
-\sigma - \sigma, \theta - \theta, \tau - \tau, \upsilon - \upsilon, \xi
-- \xi, \zeta - \zeta, \varsigma - \varsigma, \varepsilon - \varepsilon,
-\vartheta - \vartheta, \varphi - \varphi, A - \Alpha, B - \Beta, \Gamma
-- \Gamma, \Delta - \Delta, E - \Epsilon, H - \Eta, I - \Iota, C - \Chi,
-K - \Kappa, \Lambda - \Lambda, M - \Mu, N - \Nu, O - \O, \Omega -
-\Omega, \Phi - \Phi, \Pi - \Pi, \Psi - \Psi, R - \Rho, \Sigma - \Sigma,
-\Theta - \Theta, T - \Tau, \Upsilon - \Upsilon, \Xi - \Xi, Z - \Zeta.
-
- Еще примеры наиболее
-общеупотребительных TeX-их символов:
-\angle - \angle, \aleph - \aleph, \cdot - \cdot, \clubsuit - \clubsuit,
-\cup - \cup, \cap - \cap, \diamondsuit - \diamondsuit, \diamond -
-\diamond, \div - \div, \downarrow - \downarrow, \dag - \dag, \ddag -
-\ddag, \equiv - \equiv, \exists - \exists, \frown - \frown, \flat -
-\flat, \ge - \ge, \geq - \geq, \gets - \gets, \heartsuit - \heartsuit,
-\infty - \infty, \in - \in, \int - \int, \Im - \Im, \langle - \langle,
-\le - \le, \leq - \leq, \leftarrow - \leftarrow, \mp - \mp, \nabla -
-\nabla, \ne - \ne, \neq - \neq, \natural - \natural, \oint - \oint,
-\odot - \odot, \oplus - \oplus, \partial - \partial, \parallel -
-\parallel, \perp - \perp, \pm - \pm, \propto - \propto, \prod - \prod,
-\Re - \Re, \rightarrow - \rightarrow, \rangle - \rangle, \spadesuit -
-\spadesuit, \sim - \sim, \smile - \smile, \subset - \subset, \supset -
-\supset, \surd - \sqrt or \surd, \S - \S, \sharp - \sharp, \sum - \sum,
-\times - \times, \to - \to, \uparrow - \uparrow, \wp - \wp and so on.
-
- Размер текста может быть задан явно
-(если SIZE>0) или относительно базового
-размера шрифта для рисунка |SIZE|*FONTSIZE
-при SIZE<0. Значение SIZE=0 указывает, что
-соответствующая строка выводиться не
-будет. Базовый размер шрифта
-измеряется во внутренних единицах.
-Специальные функции `SetFontSizePT(),
-SetFontSizeCM(), SetFontSizeIN()' позволяют задавать
-его в более "привычных" единицах.
-
-
-File: mgl_ru.info, Node: Textual formulas, Prev: Font styles, Up: General concepts
-
-1.1.5 Текстовые формулы
----------------------------------------
-
-MathGL имеет быстрый парсер текстовых
-формул , понимающий большое число
-функций и операций. Базовые операции:
-`+' - сложение, `-' - вычитание, `*' -
-умножение, `/' - деление, `^' - возведение в
-целосичленную степень. Также есть
-логические операции: `<' - истина если if
-x<y, `>' - истина если x>y, `=' - истина если x=y,
-`&' - истина если x и y оба не равны нулю, `|'
-- истина если x или y не нуль. Логические
-операции имеют наинизший приоритет и
-возвращают 1 если истина или 0 если
-ложно.
-
- Базовые функции: `sqrt(x)' - квадратный
-корень из X, `pow(x,y)' - X в степени Y, `ln(x)' -
-натуральный логарифм X, `lg(x)' -
-десятичный логарифм X, `log(a,x)' - логарифм
-по основанию A от X, `abs(x)' - модуль X, `sign(x)'
-- знак X, `mod(x,y)' - остаток от деления x на y,
-`step(x)' - ступенчатая функция, `int(x)' -
-целая часть X, `rnd' - случайное число, `pi' -
-число \pi=3.1415926...
-
- Тригонометрические функции: `sin(x)',
-`cos(x)', `tan(x)' (или `tg(x)'). Обратные
-тригонометрические функции: `asin(x)',
-`acos(x)', `atan(x)'. Гиперболические функции:
-`sinh(x)' (или `sh(x)'), `cosh(x)' (или `ch(x)'), `tanh(x)'
-(или `th(x)'). Обратные гиперболические
-функции: `asinh(x)', `acosh(x)', `atanh(x)'.
-
- Специальные функции: `gamma(x)' - гамма
-функция \Gamma(x) = \int_0^\infty dt t^{x-1} \exp(-t) , `psi(x)'
-- дигамма функция \psi(x) =
-\Gamma</samp>’(x)/\Gamma(x) для x!=0, `ai(x)' - Эйри
-функция Ai(x), `bi(x)' - Эйри функция Bi(x), `cl(x)'
-- функция Клаузена, `li2(x)' (или `dilog(x)') -
-дилогарифм Li_2(x) = - \Re \int_0^x ds \log(1-s)/s, `sinc(x)'
-- функция sinc(x) = \sin(\pi x) / (\pi x) для любых x,
-`zeta(x)' - зета функция Римана \zeta(s) =
-\sum_{k=1}^\infty k^{-s} для s!=1, `eta(x)' - эта функция
-\eta(s) = (1-2^{1-s}) \zeta(s) для произвольного s,
-`lp(l,x)' - полином Лежандра P_l(x), (|x|<=1, l>=0),
-`w0(x)', `w1(x)' - функции Ламберта W. Функции
-W(x) определены как решение уравнения W
-\exp(W) = x.
-
- Экспоненциальные интегралы: `ci(x)' -
-cos-интеграл Ci(x) = \int_0^x dt \cos(t)/t, `si(x)' -
-sin-интеграл Si(x) = \int_0^x dt \sin(t)/t, `erf(x)' -
-функция ошибки erf(x) = (2/\sqrt(\pi)) \int_0^x dt
-\exp(-t^2), `ei(x)' - интеграл Ei(x) := - PV(\int_{-x}^\infty
-dt \exp(-t)/t) (где PV обозначает главное
-значение), `e1(x)' - интеграл E_1(x) := Re
-\int_1^\infty dt \exp(-xt)/t , `e2(x)' - интеграл E_2(x) := Re
-\int_1^\infty dt \exp(-xt)/t^2, `ei3(x)' - интеграл Ei_3(x) =
-\int_0^x dt \exp(-t^3) для x>=0.
-
- Функции Бесселя: `j(nu,x)' - функция
-Бесселя первого рода, `y(nu,x)' - функция
-Бесселя второго рода, `i(nu,x)' -
-модифицированная функция Бесселя
-первого рода, `k(nu,x)' - модифицированная
-функция Бесселя второго рода.
-
- Эллиптические интегралы: `ee(k)' -
-полный эллиптический интеграл E(k) =
-E(\pi/2, k), `ek(k)' - полный эллиптический
-интеграл K(k) = F(\pi/2, k), `e(phi,k)' -
-эллиптический интеграл E(\phi,k) = \int_0^\phi dt
-\sqrt((1 - k^2 \sin^2(t))), `f(phi,k)' - эллиптический
-интеграл F(\phi,k) = \int_0^\phi dt 1/\sqrt((1 - k^2
-\sin^2(t))).
-
- Функции Якоби: `sn(u,m)', `cn(u,m)', `dn(u,m)',
-`sc(u,m)', `sd(u,m)', `ns(u,m)', `cs(u,m)', `cd(u,m)', `nc(u,m)',
-`ds(u,m)', `dc(u,m)', `nd(u,m)'.
-
- Некоторые из функций могут быть
-недоступны если флаг NO_GSL был определен
-при компиляции библиотеки MathGL.
-
- При разборе формул нет различия
-между верхним и нижним регистром. Если
-аргумент лежит вне области
-определения функции, то возвращается
-NaN.
-
-
-File: mgl_ru.info, Node: Graphics setup, Next: Axis settings, Prev: General concepts, Up: MGL interface
-
-1.2 Настройка графика
-=====================================
-
-Команды в этой группе влияют на вид
-всего рисунка. Соответственно они
-должны располагаться _перед_ вызовом
-функций непосредственно рисующих
-графики.
-
-* Menu:
-
-* Transparency ::
-* Lighting ::
-* Fog ::
-* Default sizes ::
-* Zooming ::
-* Cutting ::
-* Other settings ::
-
-
-File: mgl_ru.info, Node: Transparency, Next: Lighting, Up: Graphics setup
-
-1.2.1 Прозрачность
-------------------------------
-
-Эти команды настраивают тип и степень
-прозрачности поверхностей. Главной
-является функция *note alpha::, которая
-включает/выключает прозрачность для
-всех графиков, созданных после вызова
-*note alpha::. Функция *note alphadef::
-устанавливает величину alpha-канала по
-умолчанию. Прозрачность можно
-выключить для отдельного графика с
-помощью *note transparent::. Наконец, функция
-*note transptype:: задает тип прозрачности. См.
-раздел *note Transparent surface sample::, для
-примеров кода и графика.
-
- -- Команда MGL: alpha `[val=on]'
- Включает/выключает прозрачность
- для _всего_ рисунка. По умолчанию
- прозрачность выключена.
- Используйте `transparent off' для
- конкретного графика для выключения
- прозрачности.
-
- -- Команда MGL: alphadef `val'
- Задает значение прозрачности по
- умолчанию для всех графиков.
- Начальное значение 0.5.
-
- -- Команда MGL: transparent `val'
- Временно включает/возвращает
- прозрачность графиков.
-
- -- Команда MGL: transptype `val'
- Задает тип прозрачности. Обычная
- прозрачность (`0') - "закрытые" объекты
- видны меньше чем закрывающие.
- "Стеклянная" прозрачность (`1') -
- закрытые и закрывающие объекты
- единообразно ослабляют
- интенсивность света (по RGB каналам).
- "Ламповая" прозрачность (`2') -
- закрытые и закрывающие объекты
- являются источниками
- дополнительного освещения
- (рекомендую установить `alphadef 0.3' или
- меньше в этом случае). *Note Normal
- transparency::, *note Glass-like transparency::, *note Lamp-like
- transparency::.
-
-
-File: mgl_ru.info, Node: Lighting, Next: Fog, Prev: Transparency, Up: Graphics setup
-
-1.2.2 Освещение
-------------------------
-
-Эти функции настраивают освещение
-графика. Главная функция *note light::
-включает/выключает освещение графиков
-построенных после ее вызова. MathGL
-поддерживает до 10 независимых
-источников света. Положение, цвет,
-яркость каждого источника света можно
-задавать по отдельности. По умолчанию
-включен только первый (с порядковым
-номером `0') источник света белого
-цвета, расположенный сверху.
-
- -- Команда MGL: light `[val=on]'
- Включает/выключает освещение
- графика. По умолчанию освещение
- выключено.
-
- -- Команда MGL: light `n val'
- Включает/выключает N-ый источник
- света.
-
- -- Команда MGL: light `n xpos ypos zpos' ['col'='w' `br=0.5']
- Добавляет источник света с номером N
- в положение {XPOS, YPOS, ZPOS} с цветом COL и
- яркостью BR, которая должна быть в
- диапазоне [0,1].
-
- -- Команда MGL: ambient `val'
- Задает яркость рассеянного
- освещения. Значение должно быть в
- диапазоне [0,1].
-
-
-File: mgl_ru.info, Node: Fog, Next: Default sizes, Prev: Lighting, Up: Graphics setup
-
-1.2.3 Туман
-----------------
-
- -- Команда MGL: fog `val [dz=0.25]'
- Имитирует туман на графике. Туман
- начинается на относительном
- расстоянии DZ от точки обзора и его
- плотность растет экспоненциально
- вглубь по закону ~1-exp(-d*z). Здесь _z_ -
- нормализованная на 1 глубина
- графика. Если D=`0' то туман
- отсутствует. См. раздел *note Surface in fog
- sample::, для примеров кода и графика.
-
-
-File: mgl_ru.info, Node: Default sizes, Next: Zooming, Prev: Fog, Up: Graphics setup
-
-1.2.4 Базовые размеры
------------------------------------
-
-Эти команды задают величины
-большинства параметров графика,
-включая размеры маркеров, стрелок,
-толщину линий и т.д. Как и любые другие
-настройки, они подействуют только на
-графики созданные после изменения
-настроек.
-
- -- Команда MGL: barwidth `val'
- Относительный размер
- прямоугольников в `bars, barh, boxplot'.
- Значение по умолчанию `0.7'.
-
- -- Команда MGL: marksize `val'
- Размер маркеров для *note 1D plotting::.
- Значение по умолчанию `1'.
-
- -- Команда MGL: arrowsize `val'
- Размер стрелок для *note 1D plotting::, линий
- и кривых (*note Primitives drawing::). Значение
- по умолчанию `1'.
-
- -- Команда MGL: linewidth `val'
- Базовая толщина линий. Значения <1
- игнорируются. Для значений >1
- реальная толщина получается
- перемножением указанной ширины
- линии на данное значение.
- Увеличение ширины линии актуально
- для больших растровых рисунков.
- Значение по умолчанию `1'.
-
- -- Команда MGL: ticklen `val' [`stt=1']
- Относительная длина меток осей
- координат. Значение по умолчанию
- `0.1'. Параметр STT>0 задает
- относительную длину подметок,
- которые в `sqrt(1+stt)' раз меньше.
-
- -- Команда MGL: tickstl 'stl' ['sub'="]
- Стиль меток (STL) и подметок (SUB) осей
- координат. Если `stl=''', то
- используется стиль по умолчанию (`k'
- или `w' в зависимости от типа
- прозрачности). Если `sub=''', то
- используется стиль меток (т.е. STL).
-
-
-File: mgl_ru.info, Node: Zooming, Next: Cutting, Prev: Default sizes, Up: Graphics setup
-
-1.2.5 Масштабирование
-------------------------------------
-
-Эти команды управляют
-масштабированием всего рисунка (*note
-zoom::) или отдельной картинки (*note
-plotfactor::). Обычно эти функции
-используются для удаления пустого
-места вокруг графиков.
-
- -- Команда MGL: plotfactor `val'
- Масштаб картинки (значение должно
- быть больше 1). Не рекомендуется
- устанавливать значения меньше 1.5.
- Это аналог *note zoom::, но применяется
- только к конкретной картинке,
- заданной *note inplot::. Используйте ноль
- для включения автоматического
- масштабирования.
-
- -- Команда MGL: zoom `x1 y1 x2 y2'
- Масштабирует весь рисунок. После
- вызова функции текущий график будет
- очищен и в дальнейшем рисунок будет
- содержать только область [x1,x2]*[y1,y2]
- от исходного рисунка. Координаты X1,
- X2, Y1, Y2 меняются в диапазоне от 0 до 1.
- Внимание! эти настройки не могут
- быть переписаны никакими другими
- функциями. Используйте `zoom 0 0 1 1' для
- перехода в масштаб по умолчанию.
-
-
-File: mgl_ru.info, Node: Cutting, Next: Other settings, Prev: Zooming, Up: Graphics setup
-
-1.2.6 Обрезание
-------------------------
-
-Эти команды задают условия когда точка
-будет исключена (вырезана) из
-рисования. Замечу, что все точки со
-значением(-ями) `nan' по одной из
-координат или амплитуде автоматически
-исключаются из рисования.
-
- -- Команда MGL: cut `val'
- Задает обрезание точек за пределами
- осей координат. Если `on' то такие
- точки исключаются из рисования (это
- по умолчанию) иначе они
- проецируются на ограничивающий
- прямоугольник.
-
- -- Команда MGL: cut `x1 y1 z1 x2 y2 z2'
- Задает границы параллелепипеда
- внутри которого точки не рисуются.
- Если границы одинаковы (переменные
- равны), то параллелепипеда
- считается пустым. См. раздел *note
- CutMinMax sample::, для примеров кода и
- графика.
-
- -- Команда MGL: cut 'cond'
- Задает условие обрезания по формуле
- COND. Это условие исключает точки из
- рисования если результат
- вычисления формулы не равен нулю.
- Установите аргумент `''' для
- выключения условия обрезания. См.
- раздел *note CutOff sample::, для примеров
- кода и графика.
-
-
-File: mgl_ru.info, Node: Other settings, Prev: Cutting, Up: Graphics setup
-
-1.2.7 Прочие настройки
--------------------------------------
-
- -- Команда MGL: font 'fnt' [`val=6']
- Задает стиль и размер шрифта (*note Text
- printing::). Вначале используется `rC' -
- прямой шрифт с выравниванием по
- центру. По умолчанию размер
- подписей оси координат в 1.4 раза
- больше.
-
- -- Команда MGL: rotatetext `val'
- Включает/выключает вращение меток и
- подписей осей координат вдоль оси.
- Начальное значение `on'.
-
- -- Команда MGL: palette 'colors'
- Задает палитру как
- последовательность цветов.
- Значение по умолчанию `"Hbgrcmyhlnqeup"',
- что соответствует цветам: темно
- серый `H', синий `b', зеленый `g', красный
- `r', голубой `c', малиновый `m', желтый `y',
- серый `h', сине-зеленый `l',
- небесно-голубой `n', оранжевый `q',
- желто-зеленый `e', сине-фиолетовый `u',
- фиолетовый `p'. Палитра в основном
- используется в 1D графиках (*note 1D
- plotting::) для кривых с неопределенным
- стилем линии.
-
- -- Команда MGL: meshnum `num'
- Задает ориентировочное число линий
- в *note mesh::, *note fall::, *note grid::, число
- стрелок (штрихов) в *note vect::, *note dew:: и
- число ячеек в *note cloud::. По умолчанию
- (=0) рисуются все линии, стрелки,
- ячейки.
-
- -- Команда MGL: axialdir 'dir'
- Задает ось вращения для *note axial::, *note
- torus::. По умолчанию это 'z'.
-
-
-File: mgl_ru.info, Node: Axis settings, Next: Transformation matrix, Prev: Graphics setup, Up: MGL interface
-
-1.3 Параметры осей координат
-==================================================
-
-Этот большой набор команд определяет
-вид осей и меток координат. Перед
-построением для каждой точки
-выполняются 3 преобразования: сначала
-определяется возможность рисования
-точки (*note Cutting::), далее применяются
-формулы перехода к криволинейным
-координатам и наконец точка
-отображается.
-
- -- Команда MGL: axis `x1 y1 x2 y2'
- -- Команда MGL: axis `x1 y1 z1 x2 y2 z2'
- -- Команда MGL: ranges `x1 x2 y1 y2 [z1=0 z2=0]'
- Задает диапазон изменения
- координат. Если минимальное и
- максимальное значение координаты
- равны, то они игнорируются по
- данному направлению. Также
- устанавливает размер цветовой
- шкалы, аналогично команде `caxis z1 z2'.
- Начальные диапазоны равны [-1, 1].
-
- -- Команда MGL: axis 'fx' 'fy' ['fz'=" 'fa'="]
- Задает формулы перехода к
- криволинейным координатам. Каждая
- строка является математическим
- выражением, зависящим от старых
- координат `x', `y', `z' и `a' или `c' для
- цветовой шкалы. Например, для
- цилиндрических координат будет `axis
- 'x*cos(y)' 'x*sin(y)' 'z''. Для удаления формул
- соответствующий параметр должен
- быть пустым `'''. Использование
- формул преобразования слегка
- замедляет программу, т.е.. `axis '' '' '''
- быстрее чем `axis '1*x' '1*y' '1*z''. Параметр
- FA задает аналогичную формулу для
- цветовой шкалы. *Note Textual formulas::.
-
- -- Команда MGL: axis `how'
- Устанавливает одну из
- предопределенных систем
- криволинейных координат в
- зависимости от параметра HOW: `0' -
- декартова система (нет
- преобразования координат, наиболее
- быстрая); `1' - полярные координаты
- x_n=x*cos(y),y_n=x*sin(y), z_n=z; `2' - сферические
- координаты x_n=x*sin(y)*cos(z), y_n=x*sin(y)*sin(z),
- z_n=x*cos(y); `3' - параболические
- координаты x_n=x*y, y_n=(x*x-y*y)/2, z_n=z; `4' -
- Paraboloidal coordinates x_n=(x*x-y*y)*cos(z)/2,
- y_n=(x*x-y*y)*sin(z)/2, z_n=x*y; `5' - Oblate coordinates
- x_n=cosh(x)*cos(y)*cos(z), y_n=cosh(x)*cos(y)*sin(z),
- z_n=sinh(x)*sin(y); `6' - Prolate coordinates
- x_n=sinh(x)*sin(y)*cos(z), y_n=sinh(x)*sin(y)*sin(z),
- z_n=cosh(x)*cos(y); `7' - эллиптические
- координаты x_n=cosh(x)*cos(y), y_n=sinh(x)*sin(y),
- z_n=z; `8' - тороидальные координаты
- x_n=sinh(x)*cos(z)/(cosh(x)-cos(y)),
- y_n=sinh(x)*sin(z)/(cosh(x)-cos(y)), z_n=sin(y)/(cosh(x)-cos(y));
- `9' - бисферические координаты
- x_n=sin(y)*cos(z)/(cosh(x)-cos(y)),
- y_n=sin(y)*sin(z)/(cosh(x)-cos(y)), z_n=sinh(x)/(cosh(x)-cos(y));
- `10' - биполярные координаты
- x_n=sinh(x)/(cosh(x)-cos(y)), y_n=sin(y)/(cosh(x)-cos(y)), z_n=z.
-
- -- Команда MGL: caxis `z1 z2'
- Задает масштаб цветовой шкалы
- (c-координаты). Эти значения
- используются для определения цвета
- поверхностей и прочих 2D и 3D
- графиков. Начальный диапазон равен
- [-1, 1].
-
- -- Команда MGL: origin `x0 y0 [z0=nan]'
- Задает центр пересечения осей
- координат. Если одно из значений
- равно `nan', то выбрается оптимальное
- положение осей координат по этому
- направлению.
-
- -- Команда MGL: ternary `val'
- Задает рисование треугольных (Ternary)
- осей координат. Это специальный тип
- графика для 3 зависимых координат
- (компонент) A, B, C таких, что A+B+C=1. MathGL
- использует только 2 независимые
- координаты A=x и B=y поскольку их
- достаточно для построения всех
- графиков. При этом третья
- координата z является независимым
- параметром для построения линий
- уровня, поверхностей и т.д. См.
- раздел *note Ternary plot sample::, для примеров
- кода и графика.
-
- -- Команда MGL: xrange dat [`add=off fact=0']
- -- Команда MGL: yrange dat [`add=off fact=0']
- -- Команда MGL: zrange dat [`add=off fact=0']
- -- Команда MGL: crange dat [`add=off fact=0']
- Задает диапазон изменения x-,y-,z-,c-
- координат как минимальное и
- максимальное значение массива DAT.
- Параметр ADD указывает добавлять
- новый диапазон к существующему или
- заменять его. Параметр FACT
- дополнительно расширяет диапазон
- на величину (MAX-MIN)*FACT.
-
- -- Команда MGL: xrange `x1 x2'
- -- Команда MGL: yrange `x1 x2'
- -- Команда MGL: zrange `x1 x2'
- -- Команда MGL: crange `x1 x2'
- Задает диапазон изменения x-,y-,z-,c-
- координат. См. также *note axis::.
-
- -- Команда MGL: xtick `val [sub=0 org=nan]'
- -- Команда MGL: ytick `val [sub=0 org=nan]'
- -- Команда MGL: ztick `val [sub=0 org=nan]'
- -- Команда MGL: ctick `val'
- Задает шаг меток осей VAL, число
- подметок NS и начальное положение
- меток ORG. Переменная VAL задает шаг
- меток (если положительна) или их
- число на оси (если отрицательна).
- Нулевое значение задает
- логарифмические метки. Если ORG=`NAN',
- то используется значение из *note origin::.
-
- -- Команда MGL: xtick 'templ'
- -- Команда MGL: ytick 'templ'
- -- Команда MGL: ztick 'templ'
- -- Команда MGL: ctick 'templ'
- Задает шаблоны для меток вдоль
- x-,y-,z-оси или colorbar. Шаблон может
- содержать и символы TeX. Если XTT, YTT, ZTT,
- CTT=`''', то используется шаблон по
- умолчанию (в простейшем случае `%.2g').
- Установка шаблона выключает
- автоматическое улучшение вида
- меток.
-
- -- Команда MGL: xtick `val1' 'lbl1' [`val2' 'lbl2' ...]
- -- Команда MGL: ytick `val1' 'lbl1' [`val2' 'lbl2' ...]
- -- Команда MGL: ztick `val1' 'lbl1' [`val2' 'lbl2' ...]
- Задает явное положение VAL и подписи
- LBL для меток вдоль оси. Метки могут
- содержать и символы TeX.
-
- -- Команда MGL: adjust ['dir'='xyzc']
- Автоматически задает шаг меток
- осей, число подметок и начальное
- положение меток для осей координат
- DIR в виде наиболее удобном для
- человека.
-
-
-File: mgl_ru.info, Node: Transformation matrix, Next: Export to file, Prev: Axis settings, Up: MGL interface
-
-1.4 Матрица преобразования
-===============================================
-
-Эти команды контролируют где и как
-график будет расположен. Существует
-определенный порядок вызова этих
-функций для лучшего вида графика.
-Вначале должны вызываться команды *note
-subplot:: или *note inplot:: для указания
-местоположения вывода. После них -
-команды вращения *note rotate:: и сжатия *note
-aspect::. И наконец любые другие функции
-для рисования графика. Вместо вращения
-графика можно вызвать команды *note
-columnplot:: для расположения графиков в
-столбец одного над другим или *note
-stickplot:: для расположения в линейку.
-
- -- Команда MGL: subplot `nx ny m [dx=0 dy=0]'
- Помещает последующий вывод в M-ую
- ячейку сетки размером NX*NY от всего
- рисунка. Функция сбрасывает матрицу
- трансформации (повороты и сжатие
- графика) и должна вызываться первой
- для создания "подграфика". С
- эстетической точки зрения не
- рекомендуется вызывать эту функцию
- с различными (или не кратными)
- размерами сетки. Ячейка может быть
- дополнительно сдвинута
- относительно своего обычного
- положения на относительный размер
- DX, DY.
-
- -- Команда MGL: subplot `nx ny m' 'style'
- Аналогично предыдущему, но место
- для осей/colorbar резервируется только
- если строка STYLE содержит: `L' или `<' - с
- левого края, `R' или `>' - с правого
- края, `A' или `^' - с верхнего края, `U'
- или `_' - с нижнего края.
-
- -- Команда MGL: inplot `x1 x2 y1 y2 [rel=off]'
- Помещает последующий вывод в
- прямоугольную область [X1, X2]*[Y1, Y2]
- (исходный размер [0,1]*[0,1]). Эта функция
- позволяет поместить график в
- произвольную область рисунка. Если
- параметр REL=`on', то используется
- позиция относительно текщего *note
- subplot:: (или *note inplot:: с REL=`off'). Функция
- сбрасывает матрицу трансформации
- (повороты и сжатие графика) и должна
- вызываться первой для создания
- "подграфика".
-
- -- Команда MGL: columnplot `num ind [d=0]'
- Помещает последующий вывод в IND-ую
- строку столбца из NUM строк.
- Положение столбца выбирается
- относительно последнего вызова *note
- subplot:: (или *note inplot:: с REL=`off'). Параметр D
- задает дополнительный зазор между
- строк. См. раздел *note ColumnPlot sample::, для
- примеров кода и графика.
-
- -- Команда MGL: stickplot `num ind tet phi'
- Помещает последующий вывод в IND-ую
- ячейку "бруска" из NUM ячеек. При этом
- сам брусок повернут на углы TET, PHI.
- Положение выбирается относительно
- последнего вызова *note subplot:: (или *note
- inplot:: с REL=`off'). См. раздел *note StickPlot
- sample::, для примеров кода и графика.
-
- -- Команда MGL: rotate `tetz tetx [tety=0]'
- Вращает систему координат
- относительно осей {x, z, y}
- последовательно на углы TETX, TETZ, TETY.
-
- -- Команда MGL: rotate `tet x y z'
- Вращает систему координат
- относительно вектора {X, Y, Z} на угол
- TET.
-
- -- Команда MGL: aspect `ax ay [az=1]'
- Устанавливает соотношение размеров
- осей в отношении AX:AY:AZ. Для лучшего
- вида следует вызывать после функции
- *note rotate::.
-
- -- Команда MGL: perspective `val'
- Добавляет (включает) перспективу
- для графика. Параметр val ~ 1/z_{eff} \in [0,1).
- По умолчанию (`val=0') перспектива
- отключена.
-
-
-File: mgl_ru.info, Node: Export to file, Next: Primitives drawing, Prev: Transformation matrix, Up: MGL interface
-
-1.5 Экспорт в файл
-==============================
-
- -- Команда MGL: write 'fname' [`solid=off']
- Экспортирует текущий кадр в файл
- 'fname' (тип определяется по
- расширению). Параметр SOLID задает
- вывод картинки на текущем фоне
- (обычно белом) или полупрозрачной.
- Если 'fname'=", то используется имя
- `frame####.jpg', где `####' - текущий номер
- кадра.
-
- -- Команда MGL: setsize `w h'
- Изменяет размер картинки в
- пикселях. Функция должна вызываться
- *перед* любыми функциями построения
- потому что полностью очищает
- содержимое рисунка. В некоторых
- программах исполнение этой команды
- может запрещено.
-
-
-File: mgl_ru.info, Node: Primitives drawing, Next: Text printing, Prev: Export to file, Up: MGL interface
-
-1.6 Рисование примитивов
-===========================================
-
-Эти команды рисуют рисуют простые
-объекты типа линий, точек, сфер, капель,
-конусов, и т.д.
-
- -- Команда MGL: clf
- Очищает рисунок и заполняет его
- цветом по умолчанию (обычно белым).
-
- -- Команда MGL: ball `x y' ['col'='r']
- -- Команда MGL: ball `x y z' ['col'='r']
- Рисует точку (шарик) с координатами
- {X, Y, Z} и цветом COL.
-
- -- Команда MGL: line `x1 y1 x2 y2' ['stl'="]
- -- Команда MGL: line `x1 y1 z1 x2 y2 z2' ['stl'="]
- Рисует геодезическую линию
- (декартовых координатах - прямую) из
- точки {X1,Y1,Z1} в {X2,Y2,Z2} использую стиль
- линии STL. Кривая рисуется даже если
- часть ее лежит вне диапазона осей
- координат.
-
- -- Команда MGL: curve `x1 y1 dx1 dy1 x2 y2 dx2 dy2' ['stl'="]
- -- Команда MGL: curve `x1 y1 z1 dx1 dy1 dz1 x2 y2 z2 dx2 dy2
- dz2' ['stl'="]
- Рисует кривую Безье из точки {X1,Y1,Z1} в
- {X2,Y2,Z2} использую стиль линии STL.
- Касательные в точках
- пропорциональны {DX1,DY1,DZ1}, {DX2,DY2,DZ2}.
- Кривая рисуется даже если часть ее
- лежит вне диапазона осей координат.
-
- -- Команда MGL: facex `x0 y0 z0 wy wz' ['stl'=" `d1=0 d2=0']
- -- Команда MGL: facey `x0 y0 z0 wx wz' ['stl'=" `d1=0 d2=0']
- -- Команда MGL: facez `x0 y0 z0 wx wy' ['stl'=" `d1=0 d2=0']
- Рисует закрашенный прямоугольник
- (грань) перпендикулярно оси [x,y,z] в
- точке {X0, Y0, Z0} цветом STL и шириной WX, WY,
- WZ вдоль соответствующего
- направления. При этом цвет может
- быть один для всей грани, или
- различным для разных вершин если
- указаны все 4 цвета (полезно для
- градиента цвета, например `wwrr').
- Параметры D1!=0, D2!=0 задают
- дополнительный сдвиг последней
- точки (т.е. рисуют четырехугольник).
- Грань будет нарисована даже если
- часть ее лежит вне диапазона осей
- координат.
-
- -- Команда MGL: sphere `x0 y0 r' ['col'='r']
- -- Команда MGL: sphere `x0 y0 z0 r' ['col'='r']
- Рисует сферу радиуса R с центром в
- точке {X, Y, Z} цветом STL.
-
- -- Команда MGL: drop `x0 y0 dx dy r' ['col'='b' `sh=1 asp=1']
- -- Команда MGL: drop `x0 y0 z0 dx dy dz r' ['col'='b' `sh=1
- asp=1']
- Рисует каплю радиуса R в точке {X0,Y0,Z0}
- вытянутую вдоль направления {DX,DY,DZ}
- цветом COL. Параметр SH определяет
- степень вытянутости: `0' - сфера, `1' -
- классическая капля. Параметр ASP
- определяет относительную ширину
- капли (аналог "эллиптичности" для
- сферы). См. раздел *note Drops sample::, для
- примеров кода и графика.
-
- -- Команда MGL: cone `x1 y1 z1 x2 y2 z2 r1' [`r2=-1' 'stl'="
- `edge=off']
- Рисует трубу (или усеченный конус
- если EDGE=`off') между точками {X1,Y1,Z1},
- {X2,Y2,Z2} с радиусами на концах R1, R2.
- Если R2<0, то полагается R2=R1. Цвет
- конуса задается строкой STL.
-
- -- Команда MGL: rect `x1 y1 x2 y2' ['st'="]
- -- Команда MGL: rect `x1 y1 z1 x2 y2 z2' ['st'="]
- Рисует закрашенный прямоугольник
- (грань) с противоположными
- вершинами в точках {X1,Y1,Z1}, {X2,Y2,Z2}
- цветом STL. При этом цвет может быть
- один для всей грани, или различным
- для разных вершин если указаны все 4
- цвета (полезно для градиента цвета,
- например `wwrr'). Грань будет
- нарисована даже если часть ее лежит
- вне диапазона осей координат.
-
-
-File: mgl_ru.info, Node: Text printing, Next: Axis and Colorbar, Prev: Primitives drawing, Up: MGL interface
-
-1.7 Вывод текста
-===========================
-
-Команды для вывода текста позволяют
-вывести строку текста в произвольном
-месте рисунка, в произвольном
-направлении и вдоль произвольной
-кривой. Можно использовать
-произвольное начертание шрифта и
-многие ТеХ-ие команды (детальнее *note Font
-styles::). Аргумент SIZE определяет размер
-текста: размер шрифта если положителен
-или относительный размер (=-SIZE*FONTSIZE)
-если отрицателен.
-
- Параметры шрифта задаются строкой,
-которая может содержать символы стиля
-(`rbiwou') и/или выравнивания (`LRC'). Также
-строка может содержать символы цвета
-`wkrgbcymhRGBCYMHW' (*note Line styles::) после символа
-`:'. Стили шрифта: `r' - прямой, `i' - курсив,
-`b' - жирный, `w' - контурный, `o' -
-надчеркнутый, `u' - подчеркнутый. По
-умолчанию используется прямой шрифт.
-Типы выравнивания: `L' - по левому краю
-(по умолчанию), `C' - по центру, `R' - по
-правому краю. Например, строка `iC:b'
-соответствует курсиву синего цвета с
-выравниванием по центру. По умолчанию
-используются параметры, определенные
-командой *note font::.
-
- Если строка содержит символы `aA', то
-текст выводится в абсолютных
-координатах (полагаются в диапазоне
-[0,1]). При этом используются координаты
-относительно рисунка (если указано `A')
-или относительно последнего *note
-subplot::/*note inplot:: (если указано `a').
-
- -- Команда MGL: text `x y' 'text' ['fnt'=" `size=-1.4']
- -- Команда MGL: text `x y z' 'text' ['fnt'=" `size=-1.4']
- Выводит строку TEXT от точки {X,Y,Z}
- шрифтом FNT и размером SIZE.
-
- -- Команда MGL: text `x y dx dy' 'text' [`size=-1.4']
- -- Команда MGL: text `x y z dx dy dz' 'text' [`size=-1.4']
- Выводит строку TEXT от точки {X,Y,Z}
- вдоль направления {DX,DY,DZ} шрифтом FNT и
- размером SIZE.
-
- -- Команда MGL: text ydat 'text' ['fnt'=" `size=-1 zval=nan']
- -- Команда MGL: text xdat ydat 'text' ['fnt'=" `size=-1
- zval=nan']
- -- Команда MGL: text xdat ydat zdat 'text' ['fnt'=" `size=-1']
- Выводит строку TEXT вдоль кривой {XDAT[i],
- YDAT[i], ZDAT[i]} шрифтом FONT. Строка FONT
- может содержать символы: `t' для
- вывода текста под кривой (по
- умолчанию), или `T' для вывода текста
- над кривой. Если массив XDAT не указан,
- то используется массив со
- значениями равно распределенными
- вдоль оси x. Если массив ZDAT не указан,
- то используется ZDAT[i] = ZVAL. См. раздел
- *note Text sample::, для примеров кода и
- графика.
-
- -- Команда MGL: title 'text' ['fnt'=" `size=-2']
- Выводит строку TEXT как заголовок
- (сверху рисунка). Может
- использоваться в любом месте (даже
- внутри *note subplot::).
-
- -- Команда MGL: fgets `x y' 'fname' [`n=0' 'fnt'=" `size=-1.4']
- -- Команда MGL: fgets `x y z' 'fname' [`n=0' 'fnt'="
- `size=-1.4']
- Выводит N-ую строку файла FNAME от
- точки {X,Y,Z} шрифтом FNT и размером SIZE.
-
-
-File: mgl_ru.info, Node: Axis and Colorbar, Next: Legend, Prev: Text printing, Up: MGL interface
-
-1.8 Оси и Colorbar
-======================
-
-Эти команды рисуют объекты для
-"измерения" типа осей координат,
-цветовой таблицы (colorbar), сетку по осям,
-обрамляющий параллелепипед и подписи
-по осям координат. См. также *note Axis
-settings::.
-
- -- Команда MGL: axis ['dir'='xyz' `adjust=off']
- Рисует оси координат и метки на них
- (*note Axis settings::) в направлениях,
- указанных строкой DIR. Если строка
- содержит символ `_', то подписи меток
- отображаться не будут. Шрифт
- подписей определяется командой *note
- font::. Метки будут "подогнаны" если
- ADJUST=`on' (с помощью вызова `adjust 'dir'').
-
- -- Команда MGL: colorbar ['sch'=" `pos=0']
- Рисует полосу соответствия цвета и
- числовых значений (colorbar) для
- цветовой схемы SCH (используется
- текущая для `sch=''') с краю от графика.
- Параметр POS задает местоположение:
- `0' - справа (по умолчанию), `1' - слева,
- `2' - сверху, `3' - снизу. Если строка SCH
- содержит `<>^_', то параметр POS
- определяется как: `pos=0' для `>'
- (справа), `pos=1' для `<' (слева), `pos=2' для
- `^' (сверху), `pos=3' для `_' (снизу). Если
- строка содержит `A', то используются
- абсолютные координаты
- (относительно рисунка). См. раздел
- *note Dens sample::, для примеров кода и
- графика.
-
- -- Команда MGL: colorbar vdat ['sch'=" `pos=0']
- Аналогично предыдущему, но для
- цветовой схемы без сглаживания с
- заданными значениями VDAT. См. раздел
- *note ContD sample::, для примеров кода и
- графика.
-
- -- Команда MGL: colorbar 'sch' `pos x y w h'
- Аналогично первому, но в
- произвольном месте графика {X, Y}
- (полагаются в диапазоне [0,1]).
- Параметры W, H задают относительную
- ширину и высоту colorbar.
-
- -- Команда MGL: grid ['dir'='xyz' 'pen'='B']
- Рисует линии сетки в направлениях
- перпендикулярным DIR. Шаг сетки такой
- же как у меток осей координат. Стиль
- линий задается параметром PEN (по
- умолчанию - сплошная темно синяя
- линия `B-').
-
- -- Команда MGL: box ['stl'='k' `ticks=on']
- Рисует ограничивающий
- параллелепипед цветом 'stl'. При `ticks=on'
- рисуются метки в соответствии с
- текущими настройками осей
- координат *note axis::.
-
- -- Команда MGL: xlabel 'text' [`pos=0 size=-1.4 shift=0']
- -- Команда MGL: ylabel 'text' [`pos=0 size=-1.4 shift=0']
- -- Команда MGL: zlabel 'text' [`pos=0 size=-1.4 shift=0']
- -- Команда MGL: tlabel 'text' [`pos=0 size=-1.4 shift=0']
- Выводит подпись TEXT для x-,y-,z-,t-оси
- (где `t' - "тернарная" ось t=1-x-y).
- Параметр POS задает положение
- подписи: при POS=0 - по центру оси, при
- POS>0 - около максимальных значений,
- при POS<0 - около минимальных значений.
- Параметр SIZE задает размер шрифта (по
- умолчанию в 1.4 раза больше чем у
- меток). *Note Text printing::.
-
-
-File: mgl_ru.info, Node: Legend, Next: 1D plotting, Prev: Axis and Colorbar, Up: MGL interface
-
-1.9 Легенда
-==================
-
-Эти команды обеспечивают рисование
-легенды графика (полезно для *note 1D
-plotting::). Запись в легенде состоит из
-двух строк: одна для стиля линии и
-маркеров, другая с текстом описания (с
-включенным разбором TeX-их команд),
-накапливаемые во внутренние массивы с
-помощью команды *note addlegend:: или опции *note
-legend::. Положение легенды можно задать
-автоматически или вручную. Параметры
-FONT и SIZE задают стиль и размер шрифта.
-Параметр LLEN задает относительную
-ширину примера линии. Ели стиль линии
-пустой, то соответствующий текст
-печатается без отступа. Если строка FONT
-содержит символ `A', то координаты
-легенды считаются относительно
-картинки (а не текущего subplot). См. раздел
-*note Legend sample::, для примеров кода и
-графика.
-
- -- Команда MGL: legend [`pos=3' 'fnt'='rL' `size=-1 llen=0.1']
- Рисует легенду из накопленных
- записей шрифтом FNT размером SIZE.
- Параметр POS задает положение
- легенды: `0' - в нижнем левом углу, `1' -
- нижнем правом углу, `2' - верхнем
- левом углу, `3' - верхнем правом углу
- (по умолчанию).
-
- -- Команда MGL: legend `x y' ['fnt'='rL' `size=-1 llen=0.1']
- Рисует легенду из накопленных
- записей шрифтом FONT размером SIZE.
- Положение легенды задается
- параметрами X, Y, которые полагаются
- нормированными в диапазоне [0,1].
-
- -- Команда MGL: addlegend 'text' 'stl'
- Добавляет описание TEXT кривой со
- стилем STL (*note Line styles::) во внутренний
- массив записей легенды.
- Максимальное число записей 100.
-
- -- Команда MGL: clearlegend
- Очищает внутренний массив записей
- легенды.
-
- -- Команда MGL: legendbox `val'
- Включает/выключает рисование
- прямоугольника вокруг легенды. По
- умолчанию (=`on') прямоугольник
- рисуется.
-
- -- Команда MGL: legendmarks `val'
- Задает число маркеров в легенде. По
- умолчанию используется 1 маркер.
-
-
-File: mgl_ru.info, Node: 1D plotting, Next: 2D plotting, Prev: Legend, Up: MGL interface
-
-1.10 1D графики
-======================
-
-Эти команды строят графики для
-одномерных (1D) массивов. Одномерными
-считаются массивы, зависящие только от
-одного параметра (индекса) подобно
-кривой в параметрической форме
-{x(i),y(i),z(i)}, i=1...n. Есть 5 основных типов 1D
-графиков: линия (*note plot::), линия с
-заполнением (*note area::), ступеньки (*note
-step::), прямоугольники (*note bars::, *note barh::) и
-вертикальные линии (*note stem::). Все эти
-типы графиков имеют похожий интерфейс.
-Есть версии для рисования в
-пространстве и на плоскости. В
-последнем случае имеется возможность
-использования только одного массива.
-Стиль линии и маркеров указывается
-строковой переменной. Если она равна
-`'''. Кроме того, есть еще несколько
-типов графиков для одномерных
-массивов, имеющих другой интерфейс и
-вид: поверхность вращения кривой (*note
-torus::), диаграмма (*note chart::), размер ошибки
-(*note error::), маркеры переменного размера
-(*note mark::), трубками (*note tube::) и т.д. См.
-раздел *note 1D plot sample::, для примеров кода
-и графика.
-
- График рисуется для каждой строки
-если один из массивов матрица. Размер
-по 1-ой координате *должен быть
-одинаков* для всех массивов
-`xdat.nx=ydat.nx=zdat.nx'. Если массив XDAT не
-указан, то используется массив со
-значениями равно распределенными
-вдоль оси x. Если массив ZDAT не указан, то
-используется ZDAT[i] = ZVAL. Строка STL задает
-цвет и стиль линии и маркеров (*note Line
-styles::). По умолчанию (`stl=''') рисуется
-сплошная линия с текущим цветом из
-палитры.
-
- -- Команда MGL: plot ydat ['stl'=" `zval=nan']
- -- Команда MGL: plot xdat ydat ['stl'=" `zval=nan']
- -- Команда MGL: plot xdat ydat zdat ['stl'="]
- Рисует ломанную линию между точками
- {X[i], Y[i], Z[i]}. См. также *note area::, *note step::,
- *note stem::, *note tube::, *note mark::, *note error::, *note
- belt::, *note tens::. См. раздел *note Plot sample::,
- для примеров кода и графика.
-
- -- Команда MGL: radar adat ['stl'=" `r=-1']
- Рисует radar chart, представляющий собой
- ломанную с вершинами на радиальных
- линиях (типа ломанной в полярных
- координатах). График рисуется для
- каждой строки если один из массивов
- матрица. Параметр R задает
- дополнительный сдвиг данных (т.е.
- используется A+R вместо A). Если `r<0', то
- `r=max(0, -min(a)'. Если STL содержит символ
- `#', то также рисуется "сетка"
- (радиальные линии и круг для R). См.
- также *note plot::. См. раздел *note Radar sample::,
- для примеров кода и графика.
-
- -- Команда MGL: tens ydat cdat ['stl'=" `zval=nan']
- -- Команда MGL: tens xdat ydat cdat ['stl'=" `zval=nan']
- -- Команда MGL: tens xdat ydat zdat cdat ['stl'="]
- Рисует ломанную линию по точкам {X[i],
- Y[i], Z[i]} с цветом, определяемым
- массивом C[i] (типа графика
- натяжений). См. также *note plot::, *note mesh::,
- *note fall::. См. раздел *note Tens sample::, для
- примеров кода и графика.
-
- -- Команда MGL: area ydat ['stl'=" `zval=nan']
- -- Команда MGL: area xdat ydat ['stl'=" `zval=nan']
- -- Команда MGL: area xdat ydat zdat ['stl'="]
- Рисует ломанную линию по точками
- {XDAT[i], YDAT[i], ZDAT[i]} и закрашивает ее
- вниз до плоскости осей координат.
- Можно использовать градиентное
- закрашивание если число указанных
- цветов в STL равно удвоенному числу
- кривых для построения. Если строка
- содержит символ `a', то линии
- рисуются одна поверх другой (с
- суммированием) - того же эффекта
- можно достичь вызовом `cumsum ydat 'y''
- перед построением графика. См. также
- *note plot::, *note bars::, *note stem::, *note region::. См.
- раздел *note Area sample::, для примеров кода
- и графика.
-
- -- Команда MGL: region fdat gdat ['stl'=" `inside=off']
- -- Команда MGL: region xdat fdat gdat ['stl'=" `inside=off']
- Закрашивает область между 2 кривыми
- {XDAT[i], FDAT[i]} и {XDAT[i], GDAT[i]}. При `inside=off'
- закрашивается только область y1<y<y2, в
- противном случае также будет
- закращена область y2<y<y1. Можно
- использовать градиентное
- закрашивание если число указанных
- цветов STL равно удвоенному числу
- кривых для построения. См. также *note
- area::, *note bars::, *note stem::. См. раздел *note
- Region sample::, для примеров кода и
- графика.
-
- -- Команда MGL: stem ydat ['stl'=" `zval=nan']
- -- Команда MGL: stem xdat ydat ['stl'=" `zval=nan']
- -- Команда MGL: stem xdat ydat zdat ['stl'="]
- Рисует вертикальные линии из точек
- {XDAT[i], YDAT[i], ZDAT[i]} до плоскости осей
- координат. См. также *note area::, *note bars::,
- *note plot::, *note mark::. См. раздел *note Stem
- sample::, для примеров кода и графика.
-
- -- Команда MGL: bars ydat ['stl'=" `zval=nan']
- -- Команда MGL: bars xdat ydat ['stl'=" `zval=nan']
- -- Команда MGL: bars xdat ydat zdat ['stl'="]
- Рисует вертикальные полосы
- (прямоугольники) из точек {XDAT[i], YDAT[i],
- ZDAT[i]} до плоскости осей координат.
- Если строка STL содержит символ `a', то
- линии рисуются одна поверх другой.
- Если строка содержит символ `f', то
- рисуется график типа waterfall для
- определения кумулятивного эффекта
- последовательности положительных и
- отрицательных значений. Можно
- использовать разные цвета для
- положительных и отрицательных
- значений если число указанных
- цветов равно удвоенному числу
- кривых для построения. См. также *note
- barh::, *note area::, *note stem::, *note chart::. См.
- раздел *note Bars sample::, для примеров кода
- и графика.
-
- -- Команда MGL: barh xdat ['stl'=" `zval=nan']
- -- Команда MGL: barh ydat xdat ['stl'=" `zval=nan']
- Рисует горизонтальные полосы
- (прямоугольники) из точек {XDAT[i], YDAT[i]}
- до плоскости оси y. Если массив YDAT не
- указан, то используется массив со
- значениями равно распределенными
- вдоль оси y. Если строка STL содержит
- символ `a', то линии рисуются одна
- поверх другой. Если строка содержит
- символ `f', то рисуется график типа
- waterfall для определения кумулятивного
- эффекта последовательности
- положительных и отрицательных
- значений. Можно использовать разные
- цвета для положительных и
- отрицательных значений если число
- указанных цветов равно удвоенному
- числу кривых для построения. См.
- также *note bars::. См. раздел *note Barh sample::,
- для примеров кода и графика.
-
- -- Команда MGL: chart adat ['col'="]
- Рисует цветные полосы (пояса) для
- массива данных ADAT. Число полос равно
- числу строк ADAT (равно A.NY). Цвет полос
- поочередно меняется из цветов
- указанных в COL или в палитре (если
- `col='''). Пробел в цветах соответствует
- прозрачному "цвету", т.е.
- соответствующая полоса не рисуется.
- Ширина полосы пропорциональна
- значению элемента в ADAT. График
- строится только для массивов не
- содержащих отрицательных значений.
- Если строка COL содержит `#', то
- рисуется также черная граница
- полос. График выглядит лучше в 3d
- (после вращения системы координат)
- и/или в полярной системе координат
- (становится Pie chart). См. раздел *note Chart
- sample::, для примеров кода и графика.
-
- -- Команда MGL: step ydat ['stl'=" `zval=nan']
- -- Команда MGL: step xdat ydat ['stl'=" `zval=nan']
- -- Команда MGL: step xdat ydat zdat ['stl'="]
- Рисует ступеньки для точек массива
- {XDAT[i], YDAT[i], ZDAT[i]}. См. также *note plot::, *note
- stem::, *note tile::, *note boxs::. См. раздел *note Step
- sample::, для примеров кода и графика.
-
- -- Команда MGL: torus zdat ['stl'="]
- -- Команда MGL: torus rdat zdat ['stl'="]
- Рисует поверхность вращения кривой
- {RDAT[i], ZDAT[i], ZDAT[i]} относительно оси *note
- axialdir::. Если массив RDAT не указан, то
- используется массив со значениями
- равно распределенными вдоль оси x.
- См. также *note plot::, *note axial::. См. раздел
- *note Torus sample::, для примеров кода и
- графика.
-
- -- Команда MGL: tube ydat rdat ['stl'=" `zval=nan']
- -- Команда MGL: tube ydat `rval' ['stl'=" `zval=nan']
- -- Команда MGL: tube xdat ydat rdat ['stl'=" `zval=nan']
- -- Команда MGL: tube xdat ydat `rval' ['stl'=" `zval=nan']
- -- Команда MGL: tube xdat ydat zdat rdat ['stl'="]
- -- Команда MGL: tube xdat ydat zdat `rval' ['stl'="]
- Рисует трубу радиуса RDAT[i] (or RVAL)
- вдоль кривой между точками {XDAT[i],
- YDAT[i], ZDAT[i]}. См. также *note plot::. См.
- раздел *note Tube sample::, для примеров кода
- и графика.
-
- -- Команда MGL: mark ydat rdat ['stl'=" `zval=nan']
- -- Команда MGL: mark xdat ydat rdat ['stl'=" `zval=nan']
- -- Команда MGL: mark xdat ydat zdat rdat ['stl'="]
- Рисует маркеры размером RDAT[i]*`marksize' в
- точках {XDAT[i], YDAT[i], ZDAT[i]}. Для
- рисования маркеров одинакового
- размера можно использовать функцию
- `plot' с невидимой линией (со стилем
- содержащим ` '). См. также *note plot::, *note
- textmark::, *note stem::, *note error::. См. раздел *note
- Mark sample::, для примеров кода и графика.
-
- -- Команда MGL: textmark ydat 'txt' ['stl'=" `zval=nan']
- -- Команда MGL: textmark ydat rdat 'txt' ['stl'=" `zval=nan']
- -- Команда MGL: textmark xdat ydat rdat 'txt' ['stl'="
- `zval=nan']
- -- Команда MGL: textmark xdat ydat zdat rdat 'txt' ['stl'="]
- Рисует текст TXT как маркер с
- размером пропорциональным
- RDAT[i]*`marksize' в точках {XDAT[i], YDAT[i], ZDAT[i]}.
- Если массив RDAT не указан, то
- полагается RDAT[i] = 1. См. также *note plot::,
- *note mark::, *note stem::. См. раздел *note TextMark
- sample::, для примеров кода и графика.
-
- -- Команда MGL: error ydat yerr ['stl'=" `zval=nan']
- -- Команда MGL: error xdat ydat yerr ['stl'=" `zval=nan']
- -- Команда MGL: error xdat ydat xerr yerr ['stl'=" `zval=nan']
- Рисует размер ошибки {XERR[i], YERR[i]} в
- точках {XDAT[i], YDAT[i]} на плоскости Z = ZVAL.
- Такой график полезен для
- отображения ошибки эксперимента,
- вычислений и пр. См. также *note plot::. См.
- раздел *note Error sample::, для примеров
- кода и графика.
-
- -- Команда MGL: boxplot adat ['stl'=" `zval=nan']
- -- Команда MGL: boxplot xdat adat ['stl'=" `zval=nan']
- Рисует boxplot (называемый также как
- box-and-whisker diagram или как "ящик с усами") в
- точках XDAT[i] на плоскости Z = ZVAL. Это
- график, компактно изображающий
- распределение вероятностей ADAT[i,j]
- (минимум, нижний квартиль (Q1),
- медиана (Q2), верхний квартиль (Q3) и
- максимум) вдоль второго (j-го)
- направления. См. также *note plot::, *note
- error::, *note bars::. См. раздел *note BoxPlot sample::,
- для примеров кода и графика.
-
-
-File: mgl_ru.info, Node: 2D plotting, Next: 3D plotting, Prev: 1D plotting, Up: MGL interface
-
-1.11 2D графики
-======================
-
-Эти команды строят графики для
-двумерных (2D) массивов. Двумерными
-считаются массивы, зависящие только от
-двух параметров (индексов) подобно
-матрице f(x_i,y_j), i=1...n, j=1...m. Есть
-несколько основных типов 2D графиков:
-сплошная поверхность (*note surf::),
-сетчатая поверхность (*note mesh::),
-поверхность из ящиков (*note boxs::),
-поверхность из плиток (*note tile::), водопад
-(*note fall::), ленточки (*note belt::), график
-плотности (*note dens::), линии уровня (*note
-cont::), линии уровня с заполнением (*note
-contf::) и результат их вращения (*note axial::).
-В функциях *note cont::, *note contf:: и *note axial::
-значения уровней можно задавать
-автоматически и вручную. Можно также
-нарисовать сетку (*note grid::) по массиву
-данных для улучшения вида графика
-плотности или линий уровня. Каждый тип
-графика имеет похожий интерфейс. Есть
-версия для рисования одного массива с
-автоматическими координатами и версия
-для параметрически заданной
-поверхности. См. раздел *note 1D plot sample::,
-для примеров кода и графика.
-
- Строка SCH задает цветовую схему (*note
-Color scheme::. Предыдущая цветовая схема
-используется по умолчанию. Младшие
-размерности массивов XDAT, YDAT, ZDAT должны
-быть одинаковы `xdat.nx=zdat.nx && ydat.nx=zdat.ny' или
-`xdat.nx=ydat.nx=zdat.nx && xdat.ny=ydat.ny=zdat.ny'. Массивы
-XDAT и YDAT могут быть векторами (не
-матрицами как ZDAT). Если массивы XDAT, YDAT
-не указаны, то используются массивы со
-значениями равно распределенными
-вдоль осей x, y. График строится для
-каждого z среза данных.
-
- -- Команда MGL: surf zdat ['sch'="]
- -- Команда MGL: surf xdat ydat zdat ['sch'="]
- Рисует параметрически заданную
- поверхность {XDAT[i,j], YDAT[i,j], ZDAT[i,j]}. Если
- SCH содержит `#', то на поверхности
- рисуется сетка. См. также *note mesh::, *note
- dens::, *note belt::, *note tile::, *note boxs::, *note surfc::,
- *note surfa::. См. раздел *note Surf sample::, для
- примеров кода и графика.
-
- -- Команда MGL: mesh zdat ['sch'="]
- -- Команда MGL: mesh xdat ydat zdat ['sch'="]
- Рисует сетчатую поверхность,
- заданную параметрически {XDAT[i,j],
- YDAT[i,j], ZDAT[i,j]}. См. также *note surf::, *note
- fall::, *note meshnum::, *note cont::, *note tens::. См.
- раздел *note Mesh sample::, для примеров кода
- и графика.
-
- -- Команда MGL: fall zdat ['sch'="]
- -- Команда MGL: fall xdat ydat zdat ['sch'="]
- Рисует водопад для параметрически
- заданной поверхности {XDAT[i,j], YDAT[i,j],
- ZDAT[i,j]}. График удобен для построения
- нескольких кривых, сдвинутых вглубь
- друг относительно друга. Если SCH
- содержит `x', то линии рисуются вдоль
- x-оси (по умолчанию линии рисуются
- вдоль y-оси). См. также *note belt::, *note mesh::,
- *note tens::, *note meshnum::. См. раздел *note Fall
- sample::, для примеров кода и графика.
-
- -- Команда MGL: belt zdat ['sch'="]
- -- Команда MGL: belt xdat ydat zdat ['sch'="]
- Рисует ленточки для параметрически
- заданной поверхности {XDAT[i,j], YDAT[i,j],
- ZDAT[i,j]}. Если SCH содержит `x', то линии
- рисуются вдоль x-оси (по умолчанию
- линии рисуются вдоль y-оси). См. также
- *note fall::, *note surf::, *note plot::, *note meshnum::. См.
- раздел *note Belt sample::, для примеров кода
- и графика.
-
- -- Команда MGL: boxs zdat ['sch'="]
- -- Команда MGL: boxs xdat ydat zdat ['sch'="]
- Рисует вертикальные ящики для
- параметрически заданной
- поверхности {XDAT[i,j], YDAT[i,j], ZDAT[i,j]}. См.
- также *note surf::, *note dens::, *note tile::, *note step::.
- См. раздел *note Boxs sample::, для примеров
- кода и графика.
-
- -- Команда MGL: tile zdat ['sch'="]
- -- Команда MGL: tile xdat ydat zdat ['sch'="]
- Рисует плитки для параметрически
- заданной поверхности {XDAT[i,j], YDAT[i,j],
- ZDAT[i,j]}. График может использоваться
- как 3d обобщение *note step::. См. также *note
- surf::, *note boxs::, *note step::, *note tiles::. См.
- раздел *note Tile sample::, для примеров кода
- и графика.
-
- -- Команда MGL: dens zdat ['sch'=" `zval=nan']
- -- Команда MGL: dens xdat ydat zdat ['sch'=" `zval=nan']
- Рисует график плотности для
- параметрически заданной
- поверхности {XDAT[i,j], YDAT[i,j], ZDAT[i,j]} при Z
- = ZVAL. Если SCH содержит `#', то рисуется
- сетка. См. также *note surf::, *note cont::, *note
- contf::, *note boxs::, *note tile::, `dens[xyz]'. См.
- раздел *note Dens sample::, для примеров кода
- и графика.
-
- -- Команда MGL: cont vdat zdat ['sch'=" `zval=nan']
- -- Команда MGL: cont vdat xdat ydat zdat ['sch'=" `zval=nan']
- Рисует линии уровня для
- параметрически заданной
- поверхности {XDAT[i,j], YDAT[i,j], ZDAT[i,j]} при Z
- = ZVAL (или при Z=VDAT[k] если `zval==nan'). Линии
- уровня рисуются для Z=VDAT[k]. Если SCH
- содержит `#', то рисуется сетка. Если
- SCH содержит `t' или `T', то значения VDAT[k]
- будут выведены вдоль контуров над
- (или под) кривой. См. также *note dens::, *note
- contf::, *note contd::, *note axial::, `cont[xyz]'. См.
- раздел *note Cont sample::, для примеров кода
- и графика.
-
- -- Команда MGL: cont zdat ['sch'=" `num=7 zval=nan']
- -- Команда MGL: cont xdat ydat zdat ['sch'=" `num=7 zval=nan']
- Как предыдущий с вектором V из NUM
- элементов равно распределенных в
- интервале цветовой шкалы (см., *note
- caxis::).
-
- -- Команда MGL: contf vdat zdat ['sch'=" `zval=nan']
- -- Команда MGL: contf vdat xdat ydat zdat ['sch'=" `zval=nan']
- Рисует закрашенные линии (контуры)
- уровня для параметрически заданной
- поверхности {XDAT[i,j], YDAT[i,j], ZDAT[i,j]} при Z
- = ZVAL (или при Z=V[k] если `zval=nan'). Линии
- уровня рисуются для Z=VDAT[k]. Если SCH
- содержит `#', то рисуется сетка. См.
- также *note dens::, *note cont::, *note contd::,
- `contf[xyz]'. См. раздел *note ContF sample::, для
- примеров кода и графика.
-
- -- Команда MGL: contf zdat ['sch'=" `num=7 zval=nan']
- -- Команда MGL: contf xdat ydat zdat ['sch'=" `num=7 zval=nan']
- Как предыдущий с вектором V из NUM
- элементов равно распределенных в
- интервале цветовой шкалы (см., *note
- caxis::).
-
- -- Команда MGL: contd vdat zdat ['sch'=" `zval=nan']
- -- Команда MGL: contd vdat xdat ydat zdat ['sch'=" `zval=nan']
- Рисует закрашенные линии (контуры)
- уровня для параметрически заданной
- поверхности {XDAT[i,j], YDAT[i,j], ZDAT[i,j]} при Z
- = ZVAL (или при Z=V[k] если `zval==nan') цветами
- заданными явно. Линии уровня
- рисуются для Z=VDAT[k]. Строка SCH задает
- цвет контуров: цвет k-го контура
- определяется символом `sch[k%strlen(sch)]'.
- См. также *note dens::, *note cont::, *note contf::,
- `cont[xyz]'. См. раздел *note ContD sample::, для
- примеров кода и графика.
-
- -- Команда MGL: contd zdat ['sch'=" `num=7 zval=nan']
- -- Команда MGL: contd xdat ydat zdat ['sch'=" `num=7 zval=nan']
- Как предыдущий с вектором V из NUM
- элементов равно распределенных в
- интервале цветовой шкалы (см., *note
- caxis::).
-
- -- Команда MGL: axial vdat zdat ['sch'="]
- -- Команда MGL: axial vdat xdat ydat zdat ['sch'="]
- Рисует поверхность вращения линии
- уровня для параметрически заданной
- поверхности {XDAT[i,j], YDAT[i,j], ZDAT[i,j]}.
- Линии уровня рисуются для ZDAT[i,j]=VDAT[k].
- Если SCH содержит `#', то рисуется
- сетчатая поверхность. Если строка
- содержит символы `x', `y' или `z', то ось
- вращения устанавливается в
- указанное направление (по умолчанию
- вдоль оси *note axialdir::). См. также *note
- cont::, *note contf::, *note torus::, *note surf3::. См.
- раздел *note Axial sample::, для примеров
- кода и графика.
-
- -- Команда MGL: axial zdat ['sch'=" `num=3']
- -- Команда MGL: axial xdat ydat zdat ['sch'=" `num=3']
- Как предыдущий с вектором V из NUM
- элементов равно распределенных в
- интервале цветовой шкалы (см., *note
- caxis::).
-
- -- Команда MGL: grad pdat ['sch'=" `num=5 zval=nan']
- -- Команда MGL: grad xdat ydat pdat ['sch'=" `num=5 zval=nan']
- -- Команда MGL: grad xdat ydat zdat pdat ['sch'=" `num=5']
- Рисует линии градиента скалярного
- поля PDAT заданного параметрически
- {XDAT[i,j], YDAT[i,j]} или {XDAT[i,j,k], YDAT[i,j,k],
- ZDAT[i,j,k]}. Число линий пропорционально
- NUM. Линии рисуются только с границ
- интервала при NUM<0. См. также *note dens::,
- *note cont::, *note dens3::, *note cont3::, *note flow::. См.
- раздел *note Grad sample::, для примеров кода
- и графика.
-
- -- Команда MGL: grid2 zdat ['sch'=" `zval=nan']
- -- Команда MGL: grid2 xdat ydat zdat ['sch'=" `zval=nan']
- Рисует плоскую сету для
- параметрически заданной
- поверхности {XDAT[i,j], YDAT[i,j], ZDAT[i,j]} при Z
- = ZVAL. См. также *note dens::, *note cont::, *note contf::.
-
-
-File: mgl_ru.info, Node: 3D plotting, Next: Dual plotting, Prev: 2D plotting, Up: MGL interface
-
-1.12 3D графики
-======================
-
-Эти функции строят графики для
-трехмерных (3D) массивов. Трехмерными
-считаются массивы, зависящие от трех
-параметров (индексов) подобно матрице
-f(x_i,y_j,z_k), i=1...n, j=1...m, k=1...l. Есть 5 основных
-типов 3D графиков: поверхность
-постоянного уровня (*note surf3::), график
-плотности на срезе (DENS3), линии уровня
-на срезе (*note cont3::), закрашенные контуры
-уровня на срезе (*note contf3::) и график
-объемной прозрачности типа облака (*note
-cloud::). В функциях *note cont3::, *note contf3:: и *note
-surf3:: значения уровней можно задавать
-автоматически и вручную. Можно также
-нарисовать на срезе сетку (*note grid3::) по
-массиву данных для улучшения вида
-графика плотности или линий уровня.
-Каждый тип графика имеет похожий
-интерфейс. Есть версия для рисования
-одного массива с автоматическими
-координатами и версия для
-параметрически заданного массива. См.
-раздел *note 3D plot sample::, для примеров кода
-и графика.
-
- Строка SCH задает цветовую схему (*note
-Color scheme::). Предыдущая цветовая схема
-используется по умолчанию. Массивы X, Y,
-Z могут быть векторами (не 3d массивами
-как A). Если массивы XDAT, YDAT, ZDAT не
-указаны, то используются массивы со
-значениями равно распределенными
-вдоль осей x, y, z.
-
- -- Команда MGL: surf3 adat `val' ['sch'="]
- -- Команда MGL: surf3 xdat ydat zdat adat `val' ['sch'="]
- Рисует поверхность уровня для 3d
- массива, заданного параметрически
- ADAT[i,j,k](XDAT[i,j,k], YDAT[i,j,k], ZDAT[i,j,k]) при
- ADAT(x,y,z)=VAL. Если SCH содержит `#', то
- рисуется сетчатая поверхность. См.
- также *note cloud::, *note dens3::, *note surf3c::, *note
- surf3a::, *note axial::. См. раздел *note Surf3 sample::,
- для примеров кода и графика.
-
- -- Команда MGL: surf3 adat ['sch'=" `num=5']
- -- Команда MGL: surf3 xdat ydat zdat adat ['sch'=" `num=5']
- Рисует NUM поверхностей уровня
- равномерно распределенных в
- интервале цветовой шкалы (см. *note
- caxis::).
-
- -- Команда MGL: dens3 adat 'dir' [`sval=-1' 'sch'="]
- -- Команда MGL: dens3 xdat ydat zdat adat 'dir' [`sval=-1'
- 'sch'="]
- Рисует график плотности для 3d
- массива, заданного параметрически
- ADAT[i,j,k](XDAT[i,j,k], YDAT[i,j,k], ZDAT[i,j,k]). График
- рисуется на срезе SVAL в направлении
- DIR={`x', `y', `z'}. Если STL содержит `#', то на
- срезе рисуется сетка. См. также *note
- cont3::, *note contf3::, *note dens::, *note grid3::. См.
- раздел *note Dens3 sample::, для примеров
- кода и графика.
-
- -- Команда MGL: densa adat ['sch'="]
- -- Команда MGL: densa xdat ydat zdat adat ['sch'="]
- Рисует графики плотности на всех
- центральных срезах 3d данных.
-
- -- Команда MGL: cont3 vdat adat 'dir' [`sval=-1' 'sch'="]
- -- Команда MGL: cont3 vdat xdat ydat zdat adat 'dir' [`sval=-1'
- 'sch'="]
- Рисует линии уровня для 3d массива,
- заданного параметрически
- ADAT[i,j,k](XDAT[i,j,k], YDAT[i,j,k], ZDAT[i,j,k]). Линии
- рисуются для значений из массива V
- на срезе SVAL в направлении DIR={`x', `y',
- `z'}. Если STL содержит `#', то на срезе
- рисуется сетка. Если SCH содержит `t'
- или `T', то значения VDAT[k] будут
- выведены вдоль контуров над (или
- под) кривой. См. также *note dens3::, *note
- contf3::, *note cont::, *note grid3::. См. раздел *note
- Cont3 sample::, для примеров кода и графика.
-
- -- Команда MGL: cont3 adat 'dir' [`sval=-1' 'sch'=" `num=7']
- -- Команда MGL: cont3 xdat ydat zdat adat 'dir' [`sval=-1'
- 'sch'=" `num=7']
- Как предыдущий с вектором V из NUM
- элементов равно распределенных в
- интервале цветовой шкалы (см., *note
- caxis::).
-
- -- Команда MGL: conta adat ['sch'=" `num=7']
- -- Команда MGL: conta xdat ydat zdat adat ['sch'=" `num=7']
- Рисует линии уровня на всех
- центральных срезах 3d данных.
-
- -- Команда MGL: contf3 vdat adat 'dir' [`sval=-1' 'sch'="]
- -- Команда MGL: contf3 vdat xdat ydat zdat adat 'dir'
- [`sval=-1' 'sch'="]
- Рисует закрашенные линии (контуры)
- уровня для 3d массива, заданного
- параметрически ADAT[i,j,k](XDAT[i,j,k], YDAT[i,j,k],
- ZDAT[i,j,k]). Линии рисуются для значений
- из массива V на срезе SVAL в
- направлении DIR={`x', `y', `z'}. Если STL
- содержит `#', то на срезе рисуется
- сетка. См. также *note dens3::, *note cont3::, *note
- contf::, *note grid3::. См. раздел *note ContF3 sample::,
- для примеров кода и графика.
-
- -- Команда MGL: contf3 adat 'dir' [`sval=-1' 'sch'=" `num=7']
- -- Команда MGL: contf3 xdat ydat zdat adat 'dir' [`sval=-1'
- 'sch'=" `num=7']
- Как предыдущий с вектором V из NUM
- элементов равно распределенных в
- интервале цветовой шкалы (см., *note
- caxis::).
-
- -- Команда MGL: contfa adat ['sch'=" `num=7']
- -- Команда MGL: contfa xdat ydat zdat adat ['sch'=" `num=7']
- Рисует закрашенные линии (контуры)
- уровня на всех центральных срезах 3d
- данных.
-
- -- Команда MGL: grid3 adat 'dir' [`sval=-1' 'sch'="]
- -- Команда MGL: grid3 xdat ydat zdat adat 'dir' [`sval=-1'
- 'sch'="]
- Рисует сетку для 3d массива,
- заданного параметрически
- ADAT[i,j,k](XDAT[i,j,k], YDAT[i,j,k], ZDAT[i,j,k]). График
- рисуется на срезе SVAL в направлении
- DIR={`x', `y', `z'}. См. также *note cont3::, *note
- contf3::, *note dens3::, *note grid2::.
-
- -- Команда MGL: grida adat ['sch'="]
- -- Команда MGL: grida xdat ydat zdat adat ['sch'="]
- Рисует сетку на всех центральных
- срезах 3d данных.
-
- -- Команда MGL: cloud adat ['sch'="]
- -- Команда MGL: cloud xdat ydat zdat adat ['sch'="]
- Рисует облачный график для 3d
- массива, заданного параметрически
- ADAT[i,j,k](XDAT[i,j,k], YDAT[i,j,k], ZDAT[i,j,k]). График
- состоит из кубиков с цветом и
- прозрачностью пропорциональной
- значениям ADAT. Результат похож на
- облако - малые значения прозрачны, а
- большие нет. Число кубиков зависит
- от *note meshnum::. Параметр ALPHA меняет
- общую прозрачность графика. См.
- также *note surf3::. См. раздел *note Cloud sample::,
- для примеров кода и графика.
-
- -- Команда MGL: beam tr g1 g2 adat `rval' ['sch'=" `flag=0
- num=3']
- Рисует поверхность уровня для 3d
- массива ADAT при постоянном значении
- ADAT=VAL. Это специальный тип графика
- для ADAT заданного в сопровождающей
- системе координат вдоль кривой TR с
- ортами G1, G2 и с поперечным размером
- RVAL. Переменная FLAG - битовый флаг: `0x1' -
- рисовать в сопровождающих (не
- лабораторных) координатах; `0x2' -
- рисовать проекцию на плоскость \rho-z;
- `0x4' - рисовать нормированное в
- каждом сечении поле. Размеры
- массивов по 1-му индексу TR, G1, G2
- должны быть nx>2. Размеры массивов по
- 2-му индексу TR, G1, G2 и размер по 3-му
- индексу массива ADAT должны быть
- одинаковы. См. также *note surf3::.
-
-
-File: mgl_ru.info, Node: Dual plotting, Next: Vector fields, Prev: 3D plotting, Up: MGL interface
-
-1.13 Парные графики
-================================
-
-Эти команды строят графики для двух
-связанных массивов. Есть несколько
-основных типов 3D графиков: поверхность
-и поверхность уровня с окраской по
-второму массиву (*note surfc::, *note surf3c::),
-поверхность и поверхность уровня с
-прозрачностью по второму массиву (*note
-surfa::, *note surf3a::), плитки переменного
-размера (*note tiles::), диаграмма точечного
-отображения (*note map::), STFA диаграмма (*note
-stfa::). В командах *note surf3a:: и *note surf3c::
-значения уровней можно задавать
-автоматически и вручную. Каждый тип
-графика имеет похожий интерфейс. Есть
-версия для рисования одного массива с
-автоматическими координатами и версия
-для параметрически заданного массива.
-
- Строка SCH задает цветовую схему (*note
-Color scheme::). Предыдущая цветовая схема
-используется по умолчанию. Массивы X, Y,
-Z могут быть векторами (не 3d массивами
-как A). Если массивы XDAT, YDAT, ZDAT не
-указаны, то используются массивы со
-значениями равно распределенными
-вдоль осей x, y, z.
-
- -- Команда MGL: surfc zdat cdat ['sch'="]
- -- Команда MGL: surfc xdat ydat zdat cdat ['sch'="]
- Рисует параметрически заданную
- поверхность {XDAT[i,j], YDAT[i,j], ZDAT[i,j]} с
- цветом, заданным массивом CDAT[i,j].
- Если SCH содержит `#', то на
- поверхности рисуется сетка. См.
- также *note surf::, *note surfa::, *note surf3c::. См.
- раздел *note SurfC sample::, для примеров
- кода и графика.
-
- -- Команда MGL: surf3c adat cdat `val' ['sch'="]
- -- Команда MGL: surf3c xdat ydat zdat adat cdat `val' ['sch'="]
- Рисует поверхность уровня для 3d
- массива, заданного параметрически
- ADAT[i,j,k](XDAT[i,j,k], YDAT[i,j,k], ZDAT[i,j,k]) при
- A(x,y,z)=VAL. Аналогично *note surf3::, но цвет
- задается массивом CDAT. Если SCH
- содержит `#', то рисуется сетчатая
- поверхность. См. также *note surf3::, *note
- surfc::, *note surf3a::. См. раздел *note Surf3C sample::,
- для примеров кода и графика.
-
- -- Команда MGL: surf3c adat cdat ['sch'=" `num=5']
- -- Команда MGL: surf3c xdat ydat zdat adat cdat ['sch'="
- `num=5']
- Рисует NUM поверхностей уровня
- равномерно распределенных в
- интервале цветовой шкалы (см. *note
- caxis::).
-
- -- Команда MGL: surfa zdat cdat ['sch'="]
- -- Команда MGL: surfa xdat ydat zdat cdat ['sch'="]
- Рисует параметрически заданную
- поверхность {XDAT[i,j], YDAT[i,j], ZDAT[i,j]} с
- прозрачностью, заданным массивом
- CDAT[i,j]. Если SCH содержит `#', то на
- поверхности рисуется сетка. См.
- также *note surf::, *note surfc::, *note surf3a::. См.
- раздел *note SurfA sample::, для примеров
- кода и графика.
-
- -- Команда MGL: surf3a adat cdat `val' ['sch'="]
- -- Команда MGL: surf3a xdat ydat zdat adat cdat `val' ['sch'="]
- Рисует поверхность уровня для 3d
- массива, заданного параметрически
- ADAT[i,j,k](XDAT[i,j,k], YDAT[i,j,k], ZDAT[i,j,k]) при
- A(x,y,z)=VAL. Аналогично *note surf3::, но
- прозрачность задается массивом CDAT.
- Если SCH содержит `#', то рисуется
- сетчатая поверхность. См. также *note
- surf3::, *note surfa::, *note surf3c::. См. раздел *note
- Surf3A sample::, для примеров кода и
- графика.
-
- -- Команда MGL: surf3a adat cdat ['sch'=" `num=5']
- -- Команда MGL: surf3a xdat ydat zdat adat cdat ['sch'="
- `num=5']
- Рисует NUM поверхностей уровня
- равномерно распределенных в
- интервале цветовой шкалы (см. *note
- caxis::).
-
- -- Команда MGL: tiles zdat rdat ['sch'="]
- -- Команда MGL: tiles xdat ydat zdat rdat ['sch'="]
- Рисует плитки для параметрически
- заданной поверхности {XDAT[i,j], YDAT[i,j],
- ZDAT[i,j]}. Аналогично *note tile::, но размер
- плиток задается массивов RDAT. Это
- создает эффект "прозрачности" при
- экспорте в файлы EPS. См. также *note
- surfa::, *note tile::. См. раздел *note TileS sample::,
- для примеров кода и графика.
-
- -- Команда MGL: map udat vdat ['sch'=" `pnts=on']
- -- Команда MGL: map xdat ydat udat vdat ['sch'=" `pnts=on']
- Визуализирует точечное отображение
- для матриц {UDAT, VDAT } параметрически
- зависящих от координат XDAT, YDAT.
- Исходное положение ячейки задает ее
- цвет. Высота пропорциональна
- якобиану Jacobian(udat,vdat). График
- является аналогом диаграммы
- Арнольда. Если `pnts=off', то рисуются
- грани, иначе цветные точки рисуются
- в узлах матриц (полезно для
- "запутанного" отображения). См.
- раздел *note Map sample::, для примеров кода
- и графика.
-
- -- Команда MGL: stfa re im `dn' ['sch'=" `pnts=on']
- -- Команда MGL: stfa xdat ydat re im `dn' ['sch'=" `pnts=on']
- Рисует спектрограмму комплексного
- массива RE+i*`im' для Фурье размером DN
- точек. Параметр DN - любое четное
- число. Например в 1D случае,
- результатом будет график плотности
- от массива res[i,j]=|\sum_d^dn
- exp(I*j*d)*(re[i*dn+d]+I*im[i*dn+d])|/dn размером
- {int(nx/dn), dn, ny}. Массивы RE, IM
- параметрически зависят от
- координат XDAT, YDAT. См. раздел *note STFA
- sample::, для примеров кода и графика.
-
-
-File: mgl_ru.info, Node: Vector fields, Next: Other plotting, Prev: Dual plotting, Up: MGL interface
-
-1.14 Векторные поля
-================================
-
-Эти функции рисуют графики для 2D и 3D
-векторных полей. Есть несколько типов
-графиков: просто векторное поле (*note
-vect::), вектора вдоль траектории (*note traj::),
-векторное поле каплями (*note dew::), нити
-тока (*note flow::), трубки тока (*note pipe::).
-Каждый тип графика имеет похожий
-интерфейс. Есть версия для рисования
-одного массива с автоматическими
-координатами и версия для
-параметрически заданного массива.
-
- Строка SCH задает цветовую схему (*note
-Color scheme::). Предыдущая цветовая схема
-используется по умолчанию. Все размеры
-массивов AX и AY должны быть одинаковы.
-Младшие размерности массивов X, Y и AX
-должны быть одинаковы. Массивы X и Y
-могут быть векторами (не матрицами как
-AX). График строится для каждого z среза
-AX, AY для 2D случаев.
-
- -- Команда MGL: traj xdat ydat udat vdat ['sch'=" `zval=nan
- len=0']
- -- Команда MGL: traj xdat ydat zdat udat vdat wdat ['sch'="
- `len=0']
- Рисует вектора {UDAT, VDAT, WDAT} вдоль
- кривой {XDAT, YDAT, ZDAT}. Длина векторов
- пропорциональна \sqrt{udat^2+vdat^2+wdat^2}.
- Строка PEN задает цвет (*note Line styles::). По
- умолчанию (`pen='''). Параметр LEN задает
- фактор длины векторов (если не нуль)
- или выбирать длину пропорционально
- расстоянию между точками кривой
- (если LEN=0). См. также *note vect::. См.
- раздел *note Traj sample::, для примеров кода
- и графика.
-
- -- Команда MGL: vect udat vdat ['sch'=" `zval=nan flag=0']
- -- Команда MGL: vect xdat ydat udat vdat ['sch'=" `zval=nan
- flag=0']
- Рисует векторное поле {UDAT, VDAT}
- параметрически зависящее от
- координат XDAT, YDAT на плоскости при
- Z=ZVAL. Длина и цвет векторов
- пропорциональна \sqrt{ax^2+ay^2}. Число
- рисуемых векторов зависит от *note
- meshnum::. Параметр FLAG побитовый флаг
- для настройки вид векторов: `1' -
- двуцветный вектор, `2' - одинаковая
- длина векторов, `4' - рисует стрелку в
- точку сетки, `8' - рисует стрелку с
- серединой в точке сетки, `16' - рисует
- штрихи вместо стрелок. См. также *note
- flow::, *note dew::, *note vectc::. См. раздел *note Vect
- sample::, для примеров кода и графика.
-
- -- Команда MGL: vect udat vdat wdat ['sch'=" `flag=0']
- -- Команда MGL: vect xdat ydat zdat udat vdat wdat ['sch'="
- `flag=0']
- Это 3D версия графика. Здесь массивы
- UDAT, VDAT, WDAT должны быть 3d массивами, а
- длина и цвет пропорциональны
- \sqrt{udat^2+vdat^2+wdat^2}. См. раздел *note Vect 3D
- sample::, для примеров кода и графика.
-
- -- Команда MGL: vectc udat vdat ['sch'=" `zval=nan']
- -- Команда MGL: vectc xdat ydat udat vdat ['sch'=" `zval=nan']
- Аналогично *note vect:: c `flag=2+16=18'. См.
- раздел *note VectC sample::, для примеров
- кода и графика.
-
- -- Команда MGL: vectc udat vdat wdat ['sch'="]
- -- Команда MGL: vectc xdat ydat zdat udat vdat wdat ['sch'="]
- Это 3D версия графика. Здесь массивы
- UDAT, VDAT, WDAT должны быть 3d массивами, а
- длина и цвет пропорциональны
- \sqrt{udat^2+vdat^2+wdat^2}. См. раздел *note VectC 3D
- sample::, для примеров кода и графика.
-
- -- Команда MGL: vectl udat vdat ['sch'=" `zval=nan']
- -- Команда MGL: vectl xdat ydat udat vdat ['sch'=" `zval=nan']
- Аналогично *note vect:: c `flag=1+16=17'. См.
- раздел *note VectL sample::, для примеров
- кода и графика.
-
- -- Команда MGL: vectl udat vdat wdat ['sch'="]
- -- Команда MGL: vectl xdat ydat zdat udat vdat wdat ['sch'="]
- Это 3D версия графика. Здесь массивы
- UDAT, VDAT, WDAT должны быть 3d массивами, а
- длина и цвет пропорциональны
- \sqrt{udat^2+vdat^2+wdat^2}. См. раздел *note VectL 3D
- sample::, для примеров кода и графика.
-
- -- Команда MGL: dew udat vdat ['sch'=" `zval=nan']
- -- Команда MGL: dew xdat ydat udat vdat ['sch'=" `zval=nan']
- Рисует капли для векторного поля
- {UDAT, VDAT}, параметрически зависящего
- от координат XDAT, YDAT при Z=ZVAL. Замечу,
- что график требует много памяти и
- процессорного времени для своего
- создания! Цвет капель
- пропорционален \sqrt{ax^2+ay^2}. Число
- капель определяется *note meshnum::. См.
- также *note vect::. См. раздел *note Dew sample::,
- для примеров кода и графика.
-
- -- Команда MGL: flow udat vdat ['sch'=" `num=5 zval=nan']
- -- Команда MGL: flow xdat ydat udat vdat ['sch'=" `num=5
- zval=nan']
- Рисует нити тока для векторного
- поля {UDAT, VDAT}, параметрически
- зависящего от координат XDAT, YDAT на
- плоскости при z = ZVAL. Число нитей
- пропорционально NUM. При NUM>0 нитей
- могут стартовать и изнутри сетки, в
- противном случае только с краев.
- Цвет нитей пропорционален
- \sqrt{udat^2+vdat^2}. Теплые цвета
- соответствуют нормальному току
- (типа стока). Холодные цвета
- соответствуют обратному току (типа
- источника). См. также *note pipe::, *note vect::.
- См. раздел *note Flow sample::, для примеров
- кода и графика.
-
- -- Команда MGL: flow udat vdat wdat ['sch'=" `num=3']
- -- Команда MGL: flow xdat ydat zdat udat vdat wdat ['sch'="
- `num=3']
- Это 3D версия графика. Здесь массивы
- UDAT, VDAT, WDAT должны быть 3d массивами, а
- цвет пропорционален \sqrt{udat^2+vdat^2+wdat^2}.
- См. раздел *note Flow 3D sample::, для примеров
- кода и графика.
-
- -- Команда MGL: flow `x0 y0' udat vdat ['sch'=" `zval=nan']
- -- Команда MGL: flow `x0 y0' xdat ydat udat vdat ['sch'="
- `zval=nan']
- Рисует нить тока из точки {X0, Y0} для
- векторного поля {UDAT, VDAT},
- параметрически зависящего от
- координат XDAT, YDAT на плоскости при z =
- ZVAL. Цвет нити пропорционален
- \sqrt{udat^2+vdat^2}. Теплые цвета
- соответствуют нормальному току
- (типа стока). Холодные цвета
- соответствуют обратному току (типа
- источника).
-
- -- Команда MGL: flow `x0 y0 z0' udat vdat wdat ['sch'="]
- -- Команда MGL: flow `x0 y0 z0' xdat ydat zdat udat vdat wdat
- ['sch'="]
- Это 3D версия графика. Здесь массивы
- UDAT, VDAT, WDAT должны быть 3d массивами, а
- цвет пропорционален \sqrt{udat^2+vdat^2+wdat^2}.
-
- -- Команда MGL: pipe udat vdat ['sch'=" `r0=0.05 num=5
- zval=nan']
- -- Команда MGL: pipe xdat ydat udat vdat ['sch'=" `r0=0.05
- num=5 zval=nan']
- Рисует трубки тока для векторного
- поля {UDAT, VDAT}, параметрически
- зависящего от координат XDAT, YDAT на
- плоскости при z = ZVAL. Число трубок
- пропорционально NUM. При NUM>0 нитей
- могут стартовать и изнутри сетки, в
- противном случае только с краев.
- Цвет и радиус трубок пропорционален
- \sqrt{udat^2+vdat^2}. Теплые цвета
- соответствуют нормальному току
- (типа стока). Холодные цвета
- соответствуют обратному току (типа
- источника). Параметр R0 задает радиус
- трубок. При R0<0 радиус трубок обратно
- пропорционален их амплитуде. См.
- также *note flow::, *note vect::. См. раздел *note
- Pipe sample::, для примеров кода и графика.
-
- -- Команда MGL: pipe udat vdat wdat ['sch'=" `r0=0.05 num=3']
- -- Команда MGL: pipe xdat ydat zdat udat vdat wdat ['sch'="
- `r0=0.05 num=3']
- Это 3D версия графика. Здесь массивы
- UDAT, VDAT, WDAT должны быть 3d массивами, а
- цвет пропорционален \sqrt{udat^2+vdat^2+wdat^2}.
- См. раздел *note Pipe 3D sample::, для примеров
- кода и графика.
-
-
-File: mgl_ru.info, Node: Other plotting, Next: Nonlinear fitting, Prev: Vector fields, Up: MGL interface
-
-1.15 Прочие графики
-================================
-
-Это команды, не относящиеся к какой-то
-специальной категории. Сюда входят
-функции построения графиков по
-текстовым формулам (*note fplot::, *note fsurf::),
-рисования поверхностей из
-треугольников (*note triplot::), произвольных
-точек в пространстве (*note dots::) и
-реконструкции по ним поверхности (*note
-crust::), графики плотности и линии уровня
-на плоскостях, перпендикулярных осям x,
-y или z (dens[xyz], cont[xyz], contf[xyz]). Каждый тип
-графика имеет похожий интерфейс. Есть
-версия для рисования одного массива с
-автоматическими координатами и версия
-для параметрически заданного массива.
-Строка SCH задает цветовую схему (*note Color
-scheme::). Предыдущая цветовая схема
-используется по умолчанию.
-
- -- Команда MGL: densx dat ['sch'=" `val=nan']
- -- Команда MGL: densy dat ['sch'=" `val=nan']
- -- Команда MGL: densz dat ['sch'=" `val=nan']
- Рисуют график плотности на x, y или z
- плоскостях. Если DAT - 3d массив, то
- выполняется интерполяция к
- заданному срезу VAL. Функции полезны
- для создания проекций 3D массивов на
- оси координат. См. также `cont[xyz],
- contf[xyz]', *note dens::. См. раздел *note Dens
- projection sample::, для примеров кода и
- графика.
-
- -- Команда MGL: contx dat ['sch'=" `val=nan num=7']
- -- Команда MGL: conty dat ['sch'=" `val=nan num=7']
- -- Команда MGL: contz dat ['sch'=" `val=nan num=7']
- Рисуют линии уровня на x, y или z
- плоскостях. Если DAT - 3d массив, то
- выполняется интерполяция к
- заданному срезу VAL. Функции полезны
- для создания проекций 3D массивов на
- оси координат. См. также `dens[xyz],
- contf[xyz]', *note cont::. См. раздел *note Cont
- projection sample::, для примеров кода и
- графика.
-
- -- Команда MGL: contfx dat ['sch'=" `val=nan num=7']
- -- Команда MGL: contfy dat ['sch'=" `val=nan num=7']
- -- Команда MGL: contfz dat ['sch'=" `val=nan num=7']
- Рисуют закрашенные контуры уровня
- на x, y или z плоскостях. Если DAT - 3d
- массив, то выполняется интерполяция
- к заданному срезу VAL. Функции
- полезны для создания проекций 3D
- массивов на оси координат. См. также
- `dens[xyz], cont[xyz]', *note contf::.
-
- -- Команда MGL: dots xdat ydat zdat ['sch'="]
- -- Команда MGL: dots xdat ydat zdat adat ['sch'="]
- Рисует произвольно расположенные
- точки {XDAT[i], YDAT[i], ZDAT[i]}. Если
- определен массив ADAT[i], то он задает
- прозрачность точек. См. также *note
- crust::, *note mark::, *note plot::. См. раздел *note Dots
- sample::, для примеров кода и графика.
-
- -- Команда MGL: crust xdat ydat zdat ['sch'="]
- Реконструирует и рисует
- поверхность по произвольно
- расположенным точкам {XDAT[i], YDAT[i],
- ZDAT[i]}. Если строка содержит `#', то
- рисуется сетчатая поверхность. См.
- также *note dots::, *note triplot::. См. раздел *note
- Crust sample::, для примеров кода и графика.
-
- -- Команда MGL: triplot idat xdat ydat ['sch'=" `zval=nan']
- -- Команда MGL: triplot idat xdat ydat zdat ['sch'="]
- -- Команда MGL: triplot idat xdat ydat zdat cdat ['sch'="]
- Рисует поверхность из
- треугольников. Вершины
- треугольников задаются индексами
- IDAT в массиве точек {XDAT[i], YDAT[i], ZDAT[i]}.
- Если строка содержит `#', то рисуется
- сетчатая поверхность. Размер по 1-му
- индексу массива IDAT должен быть 3 или
- больше. Массивы XDAT, YDAT, ZDAT должны
- иметь одинаковые размеры. Массив CDAT
- задает цвет треугольников (если
- IDAT.ny=CDAT.nx) или цвет вершин (если
- XDAT.nx=CDAT.nx). См. также *note dots::, *note crust::,
- *note quadplot::, *note tricont::.
-
- -- Команда MGL: tricont vdat idat xdat ydat zdat cdat ['sch'="
- `zval=nan']
- -- Команда MGL: tricont vdat idat xdat ydat zdat ['sch'="
- `zval=nan']
- -- Команда MGL: tricont idat xdat ydat zdat ['sch'=" `num=7
- zval=nan']
- Рисует линии уровня поверхности из
- треугольников при Z = ZVAL (или для
- z=VDAT[k] если `zval==NAN'). Вершины
- треугольников задаются индексами
- IDAT в массиве точек {XDAT[i], YDAT[i], ZDAT[i]}.
- Размер по 1-му индексу массива IDAT
- должен быть 3 или больше. Массивы XDAT,
- YDAT, ZDAT должны иметь одинаковые
- размеры. Массив CDAT (если указан)
- задает цвет треугольников (если
- IDAT.ny=CDAT.nx) или цвет вершин (если
- XDAT.nx=CDAT.nx). См. также *note triplot::, *note cont::.
-
- -- Команда MGL: quadplot idat xdat ydat ['sch'=" `zval=nan']
- -- Команда MGL: quadplot idat xdat ydat zdat ['sch'="]
- -- Команда MGL: quadplot idat xdat ydat zdat cdat ['sch'="]
- Рисует поверхность из
- четырехугольников. Вершины
- треугольников задаются индексами
- IDAT в массиве точек {XDAT[i], YDAT[i], ZDAT[i]}.
- Если строка содержит `#', то рисуется
- сетчатая поверхность. Размер по 1-му
- индексу массива IDAT должен быть 4 или
- больше. Массивы XDAT, YDAT, ZDAT должны
- иметь одинаковые размеры. Массив CDAT
- задает цвет четырехугольников (если
- IDAT.ny=CDAT.nx) или цвет вершин (если
- XDAT.nx=CDAT.nx). См. также *note triplot::.
-
- -- Команда MGL: fplot 'y(x)' ['pen'=" `zval=nan num=100']
- Рисует функцию `y(x)' в плоскости z=ZVAL с
- координатой `x' в диапазоне x-оси
- координат. Параметр NUM задает
- минимальное число точек по
- координате для графика. См. также *note
- plot::.
-
- -- Команда MGL: fplot 'x(t)' 'y(t)' 'z(t)' ['pen'=" `num=100']
- Рисует параметрическую кривую {`x(t)',
- `y(t)', `z(t)'}, где координата `t' меняется
- в диапазоне [0, 1]. Параметр NUM задает
- минимальное число точек по
- координате для графика. См. также *note
- plot::.
-
- -- Команда MGL: fsurf 'z(x,y)' ['sch'=" `num=100']
- Рисует поверхность `z(x,y)' с
- координатами `x', `y' в диапазоне
- x-,y-осей координат. Параметр NUM
- задает минимальное число точек по
- координатам для графика. См. также
- *note surf::.
-
- -- Команда MGL: fsurf 'x(u,v)' 'y(u,v)' 'z(u,v)' ['sch'="
- `num=100']
- Рисует параметрическую поверхность
- {`x(u,v)', `y(u,v)', `z(u,v)'}, где координаты `u',
- `v' меняются в диапазоне [0, 1].
- Параметр NUM задает минимальное
- число точек по координатам для
- графика. См. также *note surf::.
-
-
-File: mgl_ru.info, Node: Nonlinear fitting, Next: Data create, Prev: Other plotting, Up: MGL interface
-
-1.16 Nonlinear fitting
-======================
-
-Эти команды подбирают параметры
-функций для наилучшей аппроксимации
-данных, т.е. минимизируют сумму \sum_i (f(x_i,
-y_i, z_i) - a_i)^2/s_i^2. При этом
-аппроксимирующая функция `f' может
-зависеть от одного аргумента `x' (1D
-случай), от двух аргументов `x,y' (2D
-случай) или от трех аргументов `x,y,z' (3D
-случай). Функция `f' также может
-зависеть от параметров. Список
-параметров задается строкой VAR
-(например, `abcd'). Обычно пользователь
-должен предоставить начальные
-значения параметров в переменной INI.
-Однако, при его отсутствии
-используются нулевые значения.
-
- Команды *note fit:: и *note fits:: не рисуют
-полученные массивы. Они заполняют
-массив FIT по формуле `f' с найденными
-коэффициентами. При этом, координаты
-`x,y,z' равно распределены в вдоль осей
-координат. Число точек в FIT выбирается
-максимальным из размера массива FIT и 100.
-Формулу с найденными коэффициентами
-можно вывести с помощью команды *note
-putsfit::. См. раздел *note Fitting sample::, для
-примеров кода и графика.
-
- Размерность массивов должны быть не
-меньше, чем число указанных массивов
-XDAT, YDAT, ZDAT. Также подбор коэффициентов
-будет осуществляться только вдоль
-указанных направлений (например, вдоль
-x и y если указаны только XDAT и YDAT). Если
-массив XDAT не указан, то используется
-массив со значениями равно
-распределенными вдоль оси x.
-
- -- Команда MGL: fits adat sdat 'func' 'var' [ini=0]
- -- Команда MGL: fits xdat adat sdat 'func' 'var' [ini=0]
- -- Команда MGL: fits xdat ydat adat sdat 'func' 'var' [ini=0]
- -- Команда MGL: fits xdat ydat zdat adat sdat 'func' 'var'
- [ini=0]
- "Подгоняют" формулу вдоль x-, y- и
- z-направлений для массива заданного
- параметрически A[i,j,k](X[i,j,k], Y[i,j,k],
- Z[i,j,k]) с весовыми коэффициентами
- SDAT[i,j,k].
-
- -- Команда MGL: fit adat 'func' 'var' [ini=0]
- -- Команда MGL: fit xdat adat 'func' 'var' [ini=0]
- -- Команда MGL: fit xdat ydat adat 'func' 'var' [ini=0]
- -- Команда MGL: fit xdat ydat zdat adat 'func' 'var' [ini=0]
- "Подгоняют" формулу вдоль x-, y- и
- z-направлений для массива заданного
- параметрически A[i,j,k](X[i,j,k], Y[i,j,k],
- Z[i,j,k]) с весовыми коэффициентами
- равными 1.
-
- -- Команда MGL: putsfit `x y' ['pre'=" 'fnt'=" `size=-1']
- Печатает последнюю подобранную
- формулу с найденными
- коэффициентами в точке {X, Y}. Строка
- PRE будет напечатана перед формулой.
- Все другие параметры такие же как в
- *note Text printing::.
-
-
-File: mgl_ru.info, Node: Data create, Next: Data filling, Prev: Nonlinear fitting, Up: MGL interface
-
-1.17 Создание данных
-==================================
-
- -- Команда MGL: new dat [`nx=1 ny=1 nz=1']
- Создает/пересоздает массив с именем
- DAT данных указанного размера и
- заполняет его нулями. Ничего не
- делает при NX, NY, NZ отрицательных или
- равных нулю.
-
- -- Команда MGL: var dat `num v1 [v2=nan]'
- Создает одномерный массив с именем
- DAT размером `num' и заполняет его
- равномерно в диапазоне [V1, V2]. Если
- V2=`nan', то используется V2=V1.
-
- -- Команда MGL: list dat `v1 ...'
- Создает массив с именем DAT и
- заполняет его числовыми значениями
- аргументов `v1 ...'. Команда может
- создавать 1d- и 2d-массивы. Для
- создания 2d-массивов требуется
- указать разделитель строк данных `|'.
- Размер массива будет [максимальное
- число чисел в строке * число строк].
- Например, команда `list 1 | 2 3' создаст
- массив [1 0; 2 3]. Отмечу, что
- максимальное число аргументов 1000.
-
- -- Команда MGL: list dat d1 ...
- Создает массив с именем DAT и
- заполняет его числами из массивов `d1
- ...'. Команда может создавать 2d- и
- 3d-массивы (если аргументы 2d массивы).
- Младшие размерности всех массивов в
- аргументах должны быть равны
- размерности D1. Отмечу, что
- максимальное число аргументов 1000.
-
- -- Команда MGL: copy dat dat2 ['eq'=" `on_axis=on']
- -- Команда MGL: copy dat `val'
- Создает массив с именем DAT и
- копирует в него данные из массива
- DAT2. При этом, если указан параметр EQ,
- то данные будут изменены по формуле
- аналогично команде *note fill:: (для
- `on_axis=on') или *note modify:: (для `on_axis=off').
-
- -- Команда MGL: idset dat 'ids'
- Устанавливает символьные
- обозначения для колонок данных.
- Строка должна содержать символы
- 'a'...'z' один на колонку (без пробелов).
-
- -- Команда MGL: info dat [`detail=off']
- Выводит информацию о массиве
- (размер, максимальное/минимальное
- значение, моменты и пр.). При `detail=off'
- показывается только краткая
- информация.
-
- -- Команда MGL: info 'text'
- Выводит текст TEXT как информацию
- (предупреждение).
-
-
-File: mgl_ru.info, Node: Data filling, Next: Rearrange data, Prev: Data create, Up: MGL interface
-
-1.18 Заполнение данных
-======================================
-
- -- Команда MGL: fill dat v1 v2 ['dir'='x']
- Заполняет значениями равно
- распределенными в диапазоне [V1, V2] в
- направлении DIR={`x',`y',`z'}.
-
- -- Команда MGL: fill dat 'eq' [vdat=0 wdat=0]
- Заполняет значениями вычисленными
- по формуле EQ. Формула представляет
- собой произвольное выражение,
- зависящее от переменных `x', `y', `z', `u',
- `v', `w'. Координаты `x', `y', `z' полагаются
- меняющимися в диапазоне осей
- координат (в отличие от *note modify::).
- Переменная `u' - значения исходного
- массива, переменные `v', `w' - значения
- массивов VDAT, WDAT. Последние могут
- быть опущены.
-
- -- Команда MGL: modify dat 'eq' [`dim=0']
- -- Команда MGL: modify dat 'eq' vdat [wdat=0]
- Заполняет значениями вычисленными
- по формуле EQ. Формула представляет
- собой произвольное выражение,
- зависящее от переменных `x', `y', `z', `u',
- `v', `w'. Координаты `x', `y', `z' полагаются
- меняющимися в диапазоне [0,1] (в
- отличие от *note fill::). Переменная `u' -
- значения исходного массива,
- переменные `v', `w' - значения массивов
- VDAT, WDAT. Последние могут быть опущены.
- Если указан DIM>0, то изменяются
- только слои >=DIM.
-
- -- MGL command: put dat `val [i=: j=: k=:]'
- Присваивает значения (под-)массива
- DAT[I, J, K] = VAL. Индексы I, J, K равные `:'
- задают значениия VAL для всего
- диапазона соответствующего
- направления(ий). Например, `put dat val : 0
- :' задает DAT[i,0,j]=VAL для i=0...(DAT.nx-1),
- j=0...(DAT.nz-1).
-
- -- MGL command: put dat vdat [`i=: j=: k=:']
- Копирует значения из массива VDAT в
- диапазон значений массива DAT.
- Индексы I, J, K равные `:' задают
- диапазон изменения значений в
- соответствующих направление(ях).
- Младшие размерности массива VDAT
- должны быть больше выбранного
- диапазона массива DAT. Например, `put dat
- v : 0 :' присвоит DAT[i,0,j]=VDAT.ny>DAT.nz ? VDAT[i,j] :
- VDAT[i], где i=0...(DAT.nx-1), j=0...(DAT.nz-1) и
- условие vdat.nx>=dat.nx выполнено.
-
-
-File: mgl_ru.info, Node: Rearrange data, Next: File I/O, Prev: Data filling, Up: MGL interface
-
-1.19 Изменение размеров данных
-=====================================================
-
- -- Команда MGL: rearrange dat `mx [my=0 mz=0]'
- Изменяет размерность данных без
- изменения самого массива данных,
- так что результирующий массив MX*MY*MZ <
- nx*ny*nz. Если один из параметров MY или MZ
- ноль, то он будет выбран оптимальным
- образом. Например, если MY=0, то будет
- MY=nx*ny*nz/MX и MZ=1.
-
- -- Команда MGL: extend dat `n1 [n2=0]'
- Увеличивает размер данных путем
- вставки (|N1|+1) новых срезов после (для
- N1>0) или перед (для N1<0) существующими
- данными. Можно добавить сразу 2
- размерности для 1d массива,
- используя второй параметр N2. Данные
- в новые срезы будут скопированы из
- существующих. Например, для N1>0 новый
- массив будет a_ij^new = a_i^old where j=0...N1.
- Соответственно, для N1<0 новый массив
- будет a_ij^new = a_j^old, где i=0...|N1|.
-
- -- Команда MGL: transpose dat ['dim'='yxz']
- Транспонирует (меняет порядок
- размерностей) массив данных. Новый
- порядок размерностей задается
- строкой DIM.
-
- -- Команда MGL: squeeze dat `rx [ry=1 rz=1 sm=off]'
- Уменьшает размер данных путем
- удаления элементов с индексами не
- кратными RX, RY, RZ соответственно.
- Параметр SMOOTH задает использовать
- сглаживания (т.е. out[i]=\sum_{j=i,i+r} a[j]/r)
- или нет (т.е. out[i]=a[j*r]).
-
- -- Команда MGL: crop dat `n1 n2' 'dir'
- Обрезает границы данных при I<N1 и I>N2
- (при N2>0) или I>`n[xyz]'-N2 (при N2<=0) вдоль
- направления DIR.
-
- -- Команда MGL: delete dat
- Удаляет массив DAT и освобождает
- использованную память. Может быть
- полезно для больших неиспользуемых
- массивов.
-
- -- Команда MGL: delete dat 'dir' `[pos=off num=0]'
- Удаляет NUM срезов вдоль направления
- DIR с позиции POS.
-
- -- Команда MGL: insert dat 'dir' `[pos=off num=0]'
- Вставляет NUM срезов вдоль
- направления DIR с позиции POS и
- заполняет их нулями.
-
-
-File: mgl_ru.info, Node: File I/O, Next: Make another data, Prev: Rearrange data, Up: MGL interface
-
-1.20 Чтение/сохранение данных
-===================================================
-
- -- Команда MGL: read dat 'fname'
- Читает данные из текстового файла с
- разделителями символом
- пробела/табуляции с автоматическим
- определением размера массива.
- Двойной перевод строки начинает
- новый срез данных (по направлению z).
-
- -- Команда MGL: read dat 'fname' `mx [my=1 mz=1]'
- Читает данные из текстового файла с
- заданными размерами. Ничего не
- делается если параметры MX, MY или MZ
- равны нулю или отрицательны.
-
- -- Команда MGL: readmat dat 'fname' [`dim=2']
- Читает данные из текстового файла с
- размерами, указанными в первых DIM
- числах файла. При этом переменная DIM
- задает размерность (1d, 2d, 3d) данных.
-
- -- Команда MGL: readall dat 'templ' `v1 v2 [dv=1 slice=off]'
- Объединяет данные из нескольких
- текстовых файлов. Имена файлов
- определяются вызовом функции
- `sprintf(fname,templ,val);', где VAL меняется от V1
- до V2 с шагом DV. Данные загружаются
- один за другим в один и тот же срез
- данных (при SLICE=`off') или
- срез-за-срезом (при SLICE=`on').
-
- -- Команда MGL: readall dat 'templ' `[slice=off]'
- Объединяет данные из нескольких
- текстовых файлов, чьи имена
- удовлетворяют шаблону TEMPL (например,
- TEMPL=`"t_*.dat"'). Данные загружаются один
- за другим в один и тот же срез данных
- (при SLICE=`off') или срез-за-срезом (при
- SLICE=`on').
-
- -- Команда MGL: save dat 'fname'
- Сохраняет массив данных в текстовый
- файл.
-
- -- Команда MGL: readhdf dat 'fname' 'dname'
- Читает массив с именем DNAME из HDF5 или
- HDF4 файла FNAME.
-
- -- Команда MGL: savehdf dat 'fname' 'dname'
- Сохраняет массив под именем DNAME в HDF5
- или HDF4 файл FNAME.
-
- -- Команда MGL: import dat 'fname' 'sch' [`v1=0 v2=1']
- Читает данные из растрового файла.
- RGB значения пикселов преобразуются
- в число в диапазоне [V1, V2] используя
- цветовую схему SCH (*note Color scheme::).
-
- -- Команда MGL: export dat 'fname' 'sch' [`v1=0 v2=0']
- Сохраняет данные в растровый файл.
- Числовые значения, нормированные в
- диапазон [V1, V2], преобразуются в RGB
- значения пикселов, используя
- цветовую схему SCH (*note Color scheme::). Если
- V1>=V2, то значения V1, V2 определяются
- автоматически как минимальное и
- максимальное значение данных.
-
-
-File: mgl_ru.info, Node: Make another data, Next: Change data, Prev: File I/O, Up: MGL interface
-
-1.21 Создание новых данных
-=============================================
-
- -- Команда MGL: combine res adat bdat
- Возвращает в массиве данных RES
- прямое произведение массивов
- (наподобие, res[i,j] = adat[i]*bdat[j] и т.д.).
-
- -- Команда MGL: evaluate res dat idat [`norm=on']
- -- Команда MGL: evaluate res dat idat jdat [`norm=on']
- -- Команда MGL: evaluate res dat idat jdat kdat [`norm=on']
- Возвращает массив данных RES,
- полученный в результате
- интерполяции исходного массива в
- точках других массивов (например,
- res[i,j]=dat[idat[i,j],jdat[i,j]]). Размеры
- массивов IDAT, JDAT, KDAT должны совпадать.
- Координаты в IDAT, JDAT, KDAT полагаются
- нормированными в диапазон [0,1] (при
- NORM=`on') или в диапазоны [0,nx], [0,ny], [0,nz]
- соответственно.
-
- -- Команда MGL: hist res dat `num v1 v2 [nsub=0]'
- -- Команда MGL: hist res dat wdat `num v1 v2 [nsub=0]'
- Возвращает распределение
- (гистограмму) RES из NUM точек от
- значений массива DAT в диапазоне [V1,
- V2]. Массив WDAT задает веса элементов
- (все веса равны 1 если WDAT не указан).
- Параметр NSUB задает число
- дополнительных точек интерполяции
- (для сглаживания получившейся
- гистограммы).
-
- -- Команда MGL: hist res xdat adat
- -- Команда MGL: hist res xdat ydat adat
- -- Команда MGL: hist res xdat ydat zdat adat
- Возвращает распределение
- (гистограмму) RES от значений массива
- ADAT, параметрически зависящего от
- координат {XDAT,YDAT,ZDAT} в диапазоне осей
- координат. Массив ADAT играет роль
- веса точки. Число точек в результате
- RES - максимум из размера RES и 100.
-
- -- Команда MGL: momentum res dat 'how' ['dir'='z']
- Возвращает в массиве данных RES
- момент (1d массив) данных DAT вдоль
- направления DIR. Строка HOW определяет
- тип момента. Момент определяется как
- res_k = \sum_ij how(x_i,y_j,z_k) dat_ij/ \sum_ij a_ij если
- DIR=`z' и т.д. Координаты `x', `y', `z' -
- индексы массива в диапазоне [0,1].
-
- -- Команда MGL: sum res dat 'dir'
- Возвращает в массиве данных RES
- результат суммирования DAT вдоль
- направления(ий) DIR.
-
- -- Команда MGL: max res dat 'dir'
- Возвращает в массиве данных RES
- максимальное значение DAT вдоль
- направления(ий) DIR. Gets array which is the maximal
- data values in given direction or direction(s).
-
- -- Команда MGL: min res dat 'dir'
- Возвращает в массиве данных RES
- минимальное значение DAT вдоль
- направления(ий) DIR.
-
- -- Команда MGL: resize res dat `mx [my=1 mz=1]'
- Возвращает массив данных RES
- размером MX, MY, MZ со значениями
- полученными интерполяцией значений
- массива DAT.
-
- -- Команда MGL: subdata res dat `xx [yy=: zz=:]'
- Возвращает в RES подмассив массива
- данных DAT с фиксированными
- значениями индексов с
- положительными значениями.
- Например, `subdata a b : 2' выделяет третью
- строку (индексы начинаются с нуля),
- `subdata a b 4 :' выделяет 5-ую колонку, `subdata
- a b : : 3' выделяет 4-ый срез и т.д.
-
- -- Команда MGL: trace res dat
- Возвращает массив REF диагональных
- элементов DAT[i,i] (для 2D данных) или
- DAT[i,i,i] (для 3D данных) где i=0...nx-1. В 1D
- случае возвращается сам массив
- данных DAT. Размеры массива данных
- должен быть DAT.ny, DAT.nz >= DAT.nx или DAT.ny,
- DAT.nz = 1.
-
- -- Команда MGL: transform dat 'type' real imag
- Выполняет интегральное
- преобразование комплексных данных
- REAL, IMAG в выбранном направлении и
- возвращает модуль результата в RES.
- Порядок и тип преобразований
- задается строкой TYPE: первый символ
- для x-направления, второй для
- y-направления, третий для
- z-направления. Возможные символы: `f' -
- прямое преобразование Фурье, `i' -
- обратное преобразование Фурье, `s' -
- синус преобразование, `c' - косинус
- преобразование, `h' - преобразование
- Ханкеля, `n' или ` ' - нет
- преобразования.
-
- -- Команда MGL: transforma dat 'type' ampl phase
- Аналогично предыдущему с заданными
- амплитудой AMPL и фазой PHASE
- комплексных чисел.
-
- -- Команда MGL: stfad res real imag `dn' ['dir'='x']
- Выполняет оконное преобразование
- Фурье длиной DN для комплексных
- данных REAL, IMAG и возвращает модуль
- результата в RES. Например, для DIR=`x'
- результат будет иметь размер {int(nx/dn),
- dn, ny} и будет равен res[i,j,k]=|\sum_d^dn
- exp(I*j*d)*(real[i*dn+d,k]+I*imag[i*dn+d,k])|/dn.
-
- -- Команда MGL: pde res 'ham' ini_re ini_im [`dz=0.1 k0=100']
- Решает уравнение в частных
- производных du/dz = i*k0*HAM(p,q,x,y,z,|u|)[u], где
- p=-i/k0*d/dx, q=-i/k0*d/dy -
- псевдо-дифференциальные операторы.
- Параметры INI_RE, INI_IM задают начальное
- распределение поля. Координаты в
- уравнении и в решении полагаются в
- диапазоне осей координат. Замечу,
- что внутри этот диапазон
- увеличивается в 3/2 раза для
- уменьшения отражения от границ
- расчетного интервала. Параметр DZ
- задает шаг по эволюционной
- координате z. В данный момент
- использован упрощенный алгоритм,
- когда все "смешанные" члена (типа
- `x*p'->x*d/dx) исключаются. Например, в 2D
- случае это функции типа ham = f(p,z) +
- g(x,z,u). При этом допускаются
- коммутирующие комбинации (типа
- `x*q'->x*d/dy). Переменная `u' используется
- для обозначения амплитуды поля |u|.
- Это позволяет решать нелинейные
- задачи - например, нелинейное
- уравнение Шредингера `ham='p^2+q^2-u^2''.
- Также можно указать мнимую часть
- для поглощения (типа `ham = 'p^2+i*x*(x>0)''),
- но только если зависимость от `i'
- линейная, т.е. ham = hre+i*him. См. раздел *note
- PDE sample::, для примеров кода и графика.
-
- -- Команда MGL: ray res 'ham' `x0 y0 z0 p0 q0 v0 [dt=0.1
- tmax=10]'
- Решает систему геометрооптических
- уравнений d_r_/dt = d HAM/d_p_, d_p_/dt = -d HAM/d_r_.
- Это гамильтоновы уравнения для
- траектории частицы в 3D случае.
- Гамильтониан HAM может зависеть от
- координат `x', `y', `z', импульсов `p'=px,
- `q'=py, `v'=pz и времени `t': ham = H(x,y,z,p,q,v,t).
- Начальная точка (при `t=0') задается
- переменными {X0, Y0, Z0, P0, Q0, V0}.
- Параметры DT и TMAX задают шаг и
- максимальное время интегрирования.
- Результат RES - массив {x,y,z,p,q,v,t} с
- размером {7 * int(TMAX/DT+1) }. См. раздел *note
- Beam tracing sample::, для примеров кода и
- графика.
-
- -- Команда MGL: qo2d res 'ham' ini_re ini_im ray [`r=1 k0=100'
- xx=0 yy=0]
- Решает уравнение в частных
- производных du/dt = i*k0*HAM(p,q,x,y,|u|)[u] в
- сопровождающей системе координат,
- где p=-i/k0*d/dx, q=-i/k0*d/dy -
- псевдо-дифференциальные операторы.
- Параметры INI_RE, INI_IM задают начальное
- распределение поля. Параметр RAY
- задает опорный луч для
- сопровождающей системы координат.
- Можно использовать луч найденный с
- помощью `ray'. Опорный луч должен быть
- достаточно гладкий, чтобы система
- координат была однозначной и для
- исключения ошибок интегрирования.
- Если массивы XX и YY указаны, то в них
- записываются декартовы координаты
- для каждой точки найденного
- решения. См. также *note pde::. См. раздел
- *note Beam tracing sample::, для примеров кода и
- графика.
-
- -- Команда MGL: jacobian res xdat ydat [zdat=0]
- Вычисляет якобиан преобразования
- {i,j,k} в {XDAT,YDAT,ZDAT}, где координаты {i,j,k}
- полагаются нормированными в
- интервал [0,1]. Якобиан находится по
- формуле det||dr_\alpha/d\xi_\beta||, где
- r={XDAT,YDAT,ZDAT} и \xi={i,j,k}. Все размерности
- всех массивов должны быть
- одинаковы. Данные должны быть
- трехмерными если указаны все 3
- массива {XDAT,YDAT,ZDAT} или двумерными
- если только 2 массива {XDAT,YDAT}.
-
-
-File: mgl_ru.info, Node: Change data, Next: Operators, Prev: Make another data, Up: MGL interface
-
-1.22 Изменение данных
-====================================
-
-Эти команды изменяют данные вдоль
-заданного направления(ий) типа
-например дифференцирования,
-интегрирования и т.д. Направление
-указывается строкой DIR, которая может
-содержать символы `x', `y' и/или `z', вдоль
-которых изменения будут применены.
-
- -- Команда MGL: cumsum dat 'dir'
- Суммирует с накоплением в выбранном
- направлении(ях).
-
- -- Команда MGL: integrate dat 'dir'
- Выполняет интегрирование (подобно
- суммированию с накоплением) в
- выбранном направлении(ях).
-
- -- Команда MGL: diff dat 'dir'
- Выполняет дифференцирование в
- выбранном направлении(ях).
-
- -- Команда MGL: diff dat xdat ydat [zdat=0]
- Выполняет дифференцирование данных
- DAT, параметрически зависящих от
- координат, в направлении XDAT с YDAT,
- ZDAT=constant. Параметр ZDAT может быть
- опущен, что соответствует 2D случаю.
- Используются следующие формулы (2D
- случай): da/dx = (a_j*y_i-a_i*y_j)/(x_j*y_i-x_i*y_j), где
- a_i=da/di, a_j=da/dj обозначает
- дифференцирование вдоль 1-ой и 2-ой
- размерности. Похожие формулы
- используются и в 3D случае. Порядок
- аргументов можно менять - например,
- если данные a(i,j) зависят от
- координат {x(i,j), y(i,j)}, то обычная
- производная по `x' будет равна `diff a x
- y', а обычная производная по `y' будет
- равна `diff a y x'.
-
- -- Команда MGL: diff2 dat 'dir'
- Выполняет двойное
- дифференцирование (как в операторе
- Лапласа) в выбранном направлении(ях).
-
- -- Команда MGL: sinfft dat 'dir'
- Выполняет синус преобразование в
- выбранном направлении(ях). Синус
- преобразование есть \sum a_i \sin(k i).
-
- -- Команда MGL: cosfft dat 'dir'
- Выполняет косинус преобразование в
- выбранном направлении(ях). Синус
- преобразование есть \sum a_i \cos(k i).
-
- -- Команда MGL: hankel dat 'dir'
- Выполняет преобразование Ханкеля в
- выбранном направлении(ях).
- Преобразование Ханкеля есть \sum a_i
- J_0(k i).
-
- -- Команда MGL: swap dat 'dir'
- Меняет местами левую и правую части
- данных в выбранном направлении(ях).
- Полезно для отображения результата
- FFT.
-
- -- Команда MGL: roll dat 'dir' num
- Сдвигает данные на NUM ячеек в
- выбранном направлении(ях).
- Соответствует замене индекса на
- I->(I+NUM)%N.
-
- -- Команда MGL: mirror dat 'dir'
- Отражает данные в выбранном
- направлении(ях). Соответствует
- замене индекса на I->N-I.
-
- -- Команда MGL: sew dat ['dir'='xyz' `da=2*pi']
- Удаляет скачки данных (например,
- скачки фазы после обратных
- тригонометрических функций) с
- периодом DA в выбранном
- направлении(ях).
-
- -- Команда MGL: smooth data `type' ['dir'='xyz']
- Сглаживает данные в выбранном
- направлении(ях) методом TYPE. Сейчас
- поддерживаются 4 метода: `0' ничего не
- делает, `1' линейное усреднение по 3
- точкам, `2' линейное усреднение по 5
- точкам, `3' квадратичное усреднение
- по 5 точкам.
-
- -- Команда MGL: envelop dat ['dir'='x']
- Находит огибающую данных в
- выбранном направлении. Только одно
- направление может быть выбрано за
- раз.
-
- -- Команда MGL: normsl dat `v1 v2' ['dir'='z' `keep=on sym=off']
- Нормирует данные срез-за-срезом в
- выбранном направлении DIR в интервал
- [V1,V2]. Если SYM=`on', то используется
- симметричный интервал [-max(|v1|,|v2|),
- max(|v1|,|v2|)]. Если KEEP=`on', то максимальное
- значение k-го среза ограничено
- величиной \sqrt{\sum a_ij(k)/\sum a_ij(0)}.
-
- -- Команда MGL: norm dat `v1 v2 [sym=off dim=0]'
- Нормирует данные в интервал [V1,V2].
- Если SYM=`on', то используется
- симметричный интервал [-max(|v1|,|v2|),
- max(|v1|,|v2|)]. Изменения применяются
- только к срезам >=DIM.
-
-
-File: mgl_ru.info, Node: Operators, Next: Program flow, Prev: Change data, Up: MGL interface
-
-1.23 Операторы
-=======================
-
- -- Команда MGL: multo dat dat2
- Поэлементно умножает массив DAT на DAT2.
-
- -- Команда MGL: multo dat `val'
- Умножает каждый элемент на число.
-
- -- Команда MGL: divto dat dat2
- Поэлементно делит массив DAT на DAT2.
-
- -- Команда MGL: divto dat `val'
- Делит каждый элемент на число.
-
- -- Команда MGL: addto dat dat2
- Поэлементно прибавляет DAT2 к массиву
- DAT.
-
- -- Команда MGL: addto dat `val'
- Прибавляет число к каждому элементу.
-
- -- Команда MGL: subto dat dat2
- Поэлементно вычитает DAT2 из массива
- DAT.
-
- -- Команда MGL: subto dat `val'
- Вычитает число из каждого элемента.
-
-
-File: mgl_ru.info, Node: Program flow, Next: Command options, Prev: Operators, Up: MGL interface
-
-1.24 Программирование
-=====================================
-
-Эти команды управляют порядком
-выполнения других команд (условия,
-циклы, подпрограммы), (пере-)определяют
-аргументы скрипта и пр.
-
- -- Команда MGL: chdir 'path'
- Переходит в папку PATH.
-
- -- Команда MGL: define $N smth
- Задает N-ый аргумент скрипта равным
- SMTH. Отмечу, что SMTH используется как
- есть (с символами `'' если
- присутствуют). Выполняется только
- подстановка других
- макроопределений $0...$9, $a...$z. Здесь N
- это цифра (0...9) или буква (a...z).
-
- -- Команда MGL: define name smth
- Определяет константу (скаляр) с
- именем `name' и числовым значением `smth'.
- Позднее она может быть использована
- как обычное число.
-
- -- Команда MGL: defchr $N smth
- Задает N-ый аргумент скрипта равным
- символу с UTF кодом SMTH. Здесь N это
- цифра (0...9) или буква (a...z).
-
- -- Команда MGL: defnum $N smth
- Задает N-ый аргумент скрипта равным
- числовому значению SMTH. Здесь N это
- цифра (0...9) или буква (a...z).
-
- -- Команда MGL: defpal $N smth
- Задает N-ый аргумент скрипта равным
- символу палитры с индексом,
- найденным из SMTH. Здесь N это цифра
- (0...9) или буква (a...z).
-
- -- Команда MGL: call 'fname' [ARG1 ARG2 ... ARG9]
- Переходит к выполнению (вызывает)
- подпрограммы FNAME (или внешнего
- скрипта, если функция не была
- найдена). Опциональные аргументы
- передаются в подпрограмму. См. также
- *note func::.
-
- -- Команда MGL: func 'fname' [narg=0]
- Определяет подпрограмму с именем
- FNAME и задает число требуемых
- аргументов. Аргументы будут
- помещены в параметры скрипта $1, $2, ...
- $9. Отмечу, что выполнение основной
- программы должно быть остановлено
- до начала определений подпрограмм.
- См. также *note stop::, *note return::.
-
- -- Команда MGL: return
- Возвращается из подпрограммы.
-
- -- Команда MGL: if dat 'cond'
- Начинает блок команд, выполняемый
- если каждый элемент DAT
- удовлетворяет условию COND.
-
- -- Команда MGL: if `val'
- Начинает блок команд, выполняемый
- если `val' не ноль.
-
- -- Команда MGL: elseif dat 'cond'
- Начинает блок команд, выполняемый
- если предыдущий `if' или `elseif' не был
- выполнен и каждый элемент DAT
- удовлетворяет условию COND.
-
- -- Команда MGL: elseif `val'
- Начинает блок команд, выполняемый
- если предыдущий `if' или `elseif' не был
- выполнен и `val' не ноль.
-
- -- Команда MGL: else
- Начинает блок команд, выполняемый
- если предыдущий `if' или `elseif' не был
- выполнен.
-
- -- Команда MGL: endif
- Заканчивает определение блока
- `if/elseif/else'.
-
- -- Команда MGL: for $N `v1 v2 [dv=1]'
- Начинает блок команд, выполняемый в
- цикле с $N-ым аргументом
- изменяющимся от V1 до V2 с шагом DV.
- Здесь N это цифра (0...9) или буква (a...z).
-
- -- Команда MGL: for $N dat
- Начинает блок команд, выполняемый в
- цикле с $N-ым аргументом пробегающим
- значения массива DAT. Здесь N это
- цифра (0...9) или буква (a...z).
-
- -- Команда MGL: next
- Заканчивает блок цикла `for'.
-
- -- Команда MGL: once `val'
- Определяет код (между `once on' и `once off')
- который будет выполнен только один
- раз. Полезно для работы с большими
- данными в программах типа UDAV.
-
- -- Команда MGL: stop
- Останавливает выполнение скрипта.
-
-
-File: mgl_ru.info, Node: Command options, Next: Suffixes, Prev: Program flow, Up: MGL interface
-
-1.25 Опции команд
-============================
-
-Опции команд позволяют легко
-настроить вид отдельного графика не
-меняя глобальных настроек для все
-рисунка. Опции указываются после
-команды. Каждая опция отделяется от
-предыдущей символом `;'. Опции работают
-так, что запоминают текущие настройки
-рисунка, применяют собственные
-настройки, выполняют команду и
-возвращают глобальные настройки
-обратно. Поэтому использование опций
-для команд обработки данных или
-настройки графика бесполезно.
-
- Наиболее часто используемые опции -
-`xrange, yrange, zrange', устанавливающие границы
-изменения осей координат (и тем самым
-автоматических массивов). Например,
-команда `plot y; xrange 0.1 0.9' построит кривую
-с x-координатой равно распределенной в
-интервале 0.1 ... 0.9, а не вдоль текущей
-оси x.
-
- Полный список опций:
-
- -- Опция MGL: alpha `val'
- -- Опция MGL: alphadef `val'
- Задает величину прозрачности
- поверхности. Значение должно быть в
- диапазоне [0, 1]. См. также *note alphadef::
-
- -- Опция MGL: ambient `val'
- Задает яркость фонового освещения.
- Значение должно быть в диапазоне [0,
- 1]. См. также *note ambient::
-
- -- Опция MGL: crange `val1 val2'
- Задает границы цветовой шкалы. См.
- также *note crange::
-
- -- Опция MGL: xrange `val1 val2'
- Задает границы изменения
- координаты x. См. также *note xrange::
-
- -- Опция MGL: yrange `val1 val2'
- Задает границы изменения
- координаты y. См. также *note yrange::
-
- -- Опция MGL: zrange `val1 val2'
- Задает границы изменения
- координаты z. См. также *note zrange::
-
- -- Опция MGL: cut `val'
- Задает обрезание точек за пределами
- осей координат. См. также *note cut::
-
- -- Опция MGL: fontsize `val'
- Задает размер текста. См. также *note
- font::
-
- -- Опция MGL: marksize `val'
- Задает размер маркеров. См. также *note
- marksize::
-
- -- Опция MGL: meshnum `val'
- Задает ориентировочное число линий,
- стрелок, ячеек и пр. См. также *note
- meshnum::
-
- -- Опция MGL: legend 'txt'
- Добавляет строку 'txt' во внутренний
- массив записей легенды. Стиль линии
- и маркера аргумента последней
- вызванной команды построения *note 1D
- plotting::. См. также *note legend::
-
-
-File: mgl_ru.info, Node: Suffixes, Next: Utilities, Prev: Command options, Up: MGL interface
-
-1.26 Суффиксы переменных
-==========================================
-
-Суффиксы позволяют быстро получить
-числовую характеристику (размер,
-максимальное или минимальное
-значение, сумму элементов и т.д.)
-массива данных и использовать ее как
-число (скаляр) в аргументах. Суффиксы
-начинаются с точки `.' сразу после (без
-пробелов) имени переменной и
-временного массива. Например, `a.nx' даст
-размер массива A по оси х, `b(1).max' даст
-максимальное значение второй строки
-массива B, `(c(:,0)^2).sum' даст сумму
-квадратов элементов первой колонки
-массива C и т.д.
-
- Полный список суффиксов:
-*nx, ny, nz*
- Размер массива в направлении x, y, z
- соответственно.
-
-*max*
- Максимальное значение массива.
-
-*min*
- Минимальное значение массива.
-
-*sum*
- Сумма элементов массива.
-
-*a*
- Первый элемент массива (элемент с
- индексами 0,0,0).
-
-*fst*
- Первое не нулевое значение массива.
-
-*lst*
- Последнее не нулевое значение
- массива.
-
-*mx, my, mz*
- Положение максимума в направлении x,
- y, z соответственно.
-
-*ax, ay, az, aa*
- Положение центра масс в направлении
- x, y, z соответственно или среднее
- значение массива.
-
-*wx, wy, wz, wa*
- Ширина в направлении x, y, z
- соответственно или дисперсия
- элементов массива.
-
-*sx, sy, sz, sa*
- Асимметрия в направлении x, y, z
- соответственно или элементов
- массива.
-
-*kx, ky, kz, ka*
- Эксцесс в направлении x, y, z
- соответственно или элементов
- массива.
-
-
-File: mgl_ru.info, Node: Utilities, Prev: Suffixes, Up: MGL interface
-
-1.27 Утилиты для MGL
-==============================
-
-MathGL содержит несколько программ для
-работы со скриптами MGL. Есть утилита
-для сохранения в растровое (`mgl2png',
-`mgl2gif') или векторное (`mgl2eps', `mgl2svg')
-изображения. Программа `mglview'
-показывает результат выполнения
-скрипта MGL и позволяет вращать и
-настраивать график. Также можно
-транслировать MGL скрипт в C++ файл с
-помощью программы `mgl2cpp'.
-
- Все эти программы имеют схожий набор
-аргументов. Первым идет имя скрипта, а
-вторым идет имя выходного файлы (может
-быть опущено), последние аргументы -
-опции скрипта и программы. К опциям
-относятся параметры скрипта (это `$0, $1,
-... $9') и настройки локали. Параметры
-скрипта имеют формат `-Nval', где N=0,1...9 -
-номер параметра, val - его значние.
-Например, опция `-1test' заменит `$1' на `test'
-в скрипте. Опция -Lval устанавливает
-локаль в значение val. Например, `-Lutf8'
-будет использовать UTF-8 в скрипте.
-
- Также можно создавать анимированные
-изображения GIF или набор JPEG файлов с
-именами `frameNNNN.jpg' (где `NNNN' - номер кадра).
-Для этого в скрипте надо указать
-параметры анимации для каждого кадра
-(строками с коментариями `##a val' или
-опциями `-Aval') или в цикле (строкой с
-комментарием `##с v1 v2 [dv]' или опцию
-`-Cn1:n2'), которые будут подставлены в
-качестве параметра `$0' при
-последовательном вызове скрипта. Для
-сохранения кадров в JPEG просто добавьте
-команду `write ''' в конце скрипта.
-
-
-File: mgl_ru.info, Node: Examples, Next: Samples, Prev: MGL interface, Up: Top
-
-2 MathGL examples
-*****************
-
-This chapter contain information about basic and advanced MathGL, hints
-and samples for all types of graphics. I recommend you read first 2
-sections one after another and at least look on "Hints" section. Also I
-recommend you to look at *note General concepts::. Sample code for some
-of these examples can be found in `http://mathgl.sf.net/pictures.html'
-and in *note Samples::.
-
-* Menu:
-
-* Basic usage::
-* Advanced usage::
-* Data handling::
-* Data plotting::
-* Hints::
-
-
-File: mgl_ru.info, Node: Basic usage, Next: Advanced usage, Up: Examples
-
-2.1 Basic usage
-===============
-
-MGL script can be used by several manners. Each has positive and
-negative sides:
- * _The using of MGL in UDAV._
-
- Positive side is the possibility to view the plot at once and to
- modify it, rotate, zoom or switch on transparency or lighting) by
- hand or by mouse. Negative sides are: the need of X-terminal.
-
- * _Direct writing to file in bitmap or vector format without
- creation of graphical window._
-
- Positive aspects are: batch processing of similar data set, for
- example, a set of resulting data files for different calculation
- parameters), running from the console program, including the
- cluster calculation), fast and automated drawing, saving pictures
- for further analysis, or demonstration). Negative sides are: the
- usage of the external program for picture viewing. Also, the data
- plotting is non-visual. So, you have to imagine the picture, view
- angles, lighting and so on) before the plotting. I recommend to
- use graphical window for determining the optimal parameters of
- plotting on the base of some typical data set. And later use these
- parameters for batch processing in console program.
-
- In this case you can use a set of programs: `mgl2png', `mgl2gif',
- `mgl2eps', `mgl2svg' or `mglview' for viewing.
-
- The simplest script is
-box # draw bounding box
-axis # draw axis
-fplot 'x^3' # draw some function
-
- Just type it in UDAV and press F5. Also you can save it in text file
-`test.mgl' and type in the console `mgl2png test.mgl' what produce file
-`test.mgl.png' with resulting picture.
-
-
-File: mgl_ru.info, Node: Advanced usage, Next: Data handling, Prev: Basic usage, Up: Examples
-
-2.2 Advanced usage
-==================
-
-Now I show several non-obvious features of MGL: several subplots in a
-single picture, curvilinear coordinates, text printing and so on.
-Generally you may miss this section at first reading, but I don't
-recommend it.
-
-* Menu:
-
-* Subplots::
-* Axis and grids::
-* Curvilinear coordinates::
-* Text printing example::
-
-
-File: mgl_ru.info, Node: Subplots, Next: Axis and grids, Up: Advanced usage
-
-2.2.1 Subplots
---------------
-
-Let me demonstrate possibilities of axes transformation. MathGL has the
-following functions: `SubPlot', `InPlot', `Aspect' and `Rotate', *note
-Transformation matrix::). The order of their calling is strictly
-determined. First, one changes the position of axes in image area,
-functions `SubPlot' and `InPlot'). After that one may rotate the plot,
-function `Rotate'). Finally, one may change aspects of axes, function
-`Aspect'). The following code illustrates the aforesaid it:
-subplot 2 2 0:box
-text -1 1.1 'Just box' 'L'
-inplot 0.2 0.5 0.7 1:box
-text 0 1.2 'Inplot example'
-
-subplot 2 2 1
-rotate 60 40:aspect 1 1 1
-box:text 1 1 1.5 'rotate only' 'R'
-
-subplot 2 2 2
-rotate 60 40:aspect 1 1 2
-box:text 0 0 2 'aspect and rotate'
-
-subplot 2 2 3
-rotate 60 40:aspect 1 2 2
-box:text 0 0 1.5 'Aspect in other direction'
- Here I used function `text' for printing the text in arbitrary
-position of picture, *note Text printing::). Text coordinates and size
-are connected with axes. However, text coordinates may be everywhere,
-including the outside the bounding box. I shall show its features later
-in *Note Text printing example::.
-
- Note that several commands can be placed in a string if they are
-separated by `:' symbol.
-
- [image src="../png/sample1.png" ]
-
-Example of several subplots on the single picture.
-
-
-File: mgl_ru.info, Node: Axis and grids, Next: Curvilinear coordinates, Prev: Subplots, Up: Advanced usage
-
-2.2.2 Axis and grids
---------------------
-
-MathGL library can draw not only the bounding box but also the axes,
-grids, labels and so on. The limits of axes and their origin (the point
-of intersection) are determined by function `axis'. Also you can use
-`xrange, yrange, zrange' functions (*note Axis settings::). Ticks on
-axis are specified by functions `xtick, ytick, ztick, ttick'. First
-argument the direction for each change will be applied. Second argument
-gives the step between ticks (if positive) or gives the number of ticks
-on the axis (if negative) or set to use logarithmic ticks (if zero).
-Third argument gives numbers of sub-ticks between ticks (default is
-zero). Last argument define the initial ticks position.
-
- Function `Axis' draws axes. Its textual string shows in which
-directions the axis or axes will be drawn (by default `'xyz'', function
-draws axes in all directions). Function `Grid' draws grid
-perpendicularly to specified directions. Example of axes and grid
-drawing is:
-subplot 2 2 0
-xtick 0.4 3 # sets tick step to 0.5
-ytick 0.4 3 # and draws 3 subticks
-box # should be after the ticks change
-axis 'xy': grid
-text 0 1.3 1 'axis and grid'
-
-xtick -5: ytick -5 # restore back
-subplot 2 2 1:rotate 60 40
-origin 0 0 0
-axis
-xlabel 'x' 1
-ylabel 'y' 1
-zlabel 'z' 1
-text 0 0 1.5 'axis and labels'
-
-subplot 2 2 2:rotate 60 40
-xtick 0.2: ytick 0.2: ztick 0.2 # too low step of ticks
-origin -1 -1 -1
-axis:grid
-text 0 0 1.5 'shift origin and add grid'
-text 0 0 1.2 '(note, too many ticks)'
-
-subplot 2 2 3:rotate 60 40
-xtick -6: ytick -6 # decrease the number of ticks
-axis 'yz'
-ylabel 'y axis'
-zlabel 'z axis'
-text 0 0 1.5 'remove x axis, and'
-text 0 0 1.2 'decrease number of ticks'
-
- This example shows the importance of the correct choosing of the
-number of ticks on axis. If tick step is too small then its text may
-overlap and becomes unreadable. This code has the example of `Label'
-function. It draws label for axis in specified direction. The text
-position on axis is specified by third argument of `Label' function. If
-it is positive then then text is drawn near the axis maximum, if
-negative then the same takes place near the minimum of axis, if zero -
-then at the center of axis.
-
- [image src="../png/sample2.png" ]
-
-Example of setting up axis range and axis ticks.
-
-
-File: mgl_ru.info, Node: Curvilinear coordinates, Next: Text printing example, Prev: Axis and grids, Up: Advanced usage
-
-2.2.3 Curvilinear coordinates
------------------------------
-
-Now let use curvilinear coordinates. In difference from other systems
-of plot creation, MathGL uses textual formulas for connection of the
-old (data) and new (output) coordinates. This allows one to plot in
-arbitrary coordinates. The following code plots the line Y=0, Z=0 in
-Cartesian, polar, parabolic and spiral coordinates:
-new x 50: new y 50: new z 50
-fill y 0.5 0.5: fill x -1 1 # creates data arrays
-origin -1 1 -1
-
-subplot 2 2 0:rotate 60 40
-plot x y z 'r2'
-axis: grid
-text 0 1.3 1 'cartesian'
-
-subplot 2 2 1:rotate 60 40
-axis 'y*sin(pi*x)' 'y*cos(pi*x)' ''
-plot x y z 'r2'
-axis: grid
-text 0 1.3 1 'cylindrical'
-
-subplot 2 2 2:rotate 60 40
-axis '2*y*x' 'y*y - x*x' ''
-plot x y z 'r2'
-axis: grid
-text 0 1.3 1 'parabolic'
-
-subplot 2 2 3:rotate 60 40
-axis 'y*sin(pi*x)' 'y*cos(pi*x)' 'x+z'
-plot x y z 'r2'
-axis: grid
-text 0 1.3 1 'spiral'
-
- [image src="../png/sample3.png" ]
-
-Example of curvilinear coordinates
-
-
-File: mgl_ru.info, Node: Text printing example, Prev: Curvilinear coordinates, Up: Advanced usage
-
-2.2.4 Text printing example
----------------------------
-
-MathGL prints text by vector font. There are functions for manual
-specifying of text position (like `Puts') and for its automatic
-selection (like `Label', `legend' and so on). MathGL prints text always
-in specified position even if it lies outside the bounding box. The
-default size of font is specified by command FONTSIZE. However, the
-actual size of output string depends on position of axes (depends on
-functions `SubPlot', `InPlot'). The switching of the font style
-(italic, bold, wire and so on) can be done for the whole string (by
-function parameter) or inside the string. By default MathGL parses
-TeX-like commands for symbols and indexes (see *note Font styles::).
-Example of MathGL font drawing is:
-text 0 1 'Text can be in ASCII and in Unicode'
-text 0 0.6 'It can be \wire{wire}, \big{big} or #r{colored}'
-text 0 0.2 'One can change style in string: \b{bold}, \i{italic, \b{both}}'
-text 0 -0.2 'Easy to \a{overline} or \u{underline}'
-text 0 -0.6 'Easy to change indexes ^{up} _{down} @{center}'
-text 0 -1 'It parse TeX: \int \alpha \cdot \sqrt3{sin(\pi x)^2 + \gamma_{i_k}} dx'
-
- [image src="../png/sample4.png" ]
-
-Example of text printing with different font effects
-
- Another example demonstrate the features of TeX formula parsing.
-text 0 0 '\sqrt{\frac{\alpha^{\gamma^2}+\overset 1{\big\infty}}{\sqrt3{2+b}}}', 0, -4
-
- [image src="../png/samplee.png" ]
-
-Example of TeX formula parsing
-
-
-File: mgl_ru.info, Node: Data handling, Next: Data plotting, Prev: Advanced usage, Up: Examples
-
-2.3 Data handling
-=================
-
-* Menu:
-
-* Array creation::
-* Data changing::
-
-
-File: mgl_ru.info, Node: Array creation, Next: Data changing, Up: Data handling
-
-2.3.1 Array creation
---------------------
-
-One can put numbers into the data instance by several ways. Let us do
-it for sinus function:
- * one can create array by `list' command list a 0 0.04 0.16 0.36 0.64 1
-
- * another way is to copy from "inline" array copy a [0,0.04,0.16,0.36,0.64,1]
-
- * next way is to fill the data by textual formula with the help of
- `modify' function new a 6
- modify a 'x^2'
-
- * or one may fill the array in some interval and modify it later new a 6
- fill a 0 1
- modify a 'u^2'
-
- * or fill the array using current axis range new a 6
- fill a '(x+1)^2/4'
-
- * finally it can be loaded from file new s 6: modify s 'x^2'
- save s 'sqr.dat' # create file first
- read a 'sqr.dat' # load it
-
- * at this one can read only part of data new s 6: modify s 'x^2'
- save s 'sqr.dat' # create file first
- read a 'sqr.dat' 5 # load it
-
- Creation of 2d- and 3d-arrays is mostly the same. One can use direct
-data filling by `list' command
-list a 11 12 13 | 21 22 23 | 31 32 33
- or by inline arrays
-copy a [[11,12,13],[21,22,23],[31,32,33]]
- Also data can be filled by formula
-new z 30 40
-fill z 'sin(pi*x)*cos(pi*y)'
- or loaded from file.
-
- The only non-obvious thing here is using multidimensional arrays in
-C/C++, i.e. arrays defined like `float dat[40][30];'. Since, formaly
-this arrays element `dat[i]' can address the memory in arbitrary place
-you should use the proper function to convert such arrays to `mglData'
-object. For C++ this is functions like `mglData::Set(float **dat, int
-N1, int N2'. For C this is functions like `mgl_data_set_float2(HMDT d,
-const float **dat, int N1, int N2'. At this, you should keep in mind
-that `nx=N2' and `ny=N1' after conversion.
-
-
-File: mgl_ru.info, Node: Data changing, Prev: Array creation, Up: Data handling
-
-2.3.2 Data changing
--------------------
-
-MathGL has functions for data processing: differentiating, integrating,
-smoothing and so on. Let us consider some examples. The simplest ones
-are integration and differentiation. The direction in which operation
-will be performed is specified by textual string, which may contain
-symbols `x', `y' or `z'. For example, the call of `diff a 'x'' will
-differentiate data along `x' direction; the call of `integrate a 'xy''
-perform the double integration of data along `x' and `y' directions;
-the call of `diff2 a 'xyz'' will apply 3d Laplace operator to data and
-so on. Example of this operations on 2d array a=x*y is presented in
-code:
-new a 30 40: modify a 'x*y'
-axis 0 0 0 1 1 1
-subplot 2 2 0:rotate 60 40
-surf a: box
-text 0.7 1 1.2 'a(x,y)'
-subplot 2 2 1:rotate 60 40
-diff a 'x': surf a: box
-text 0.7 1 1.2 'da/dx'
-subplot 2 2 2:rotate 60 40
-integrate a 'xy': surf a: box
-text 0.7 1 1.2 '\int da/dx dxdy'
-subplot 2 2 3:rotate 60 40
-diff2 a 'y': surf a: box
-text 0.7 1 1.2 '\int {d^2}a/dxdy dx'
-
- [image src="../png/sample6.png" ]
-
-Example of data differentiation and integration
-
- Data smoothing (function `Smooth') is more interesting and
-important. This function has 2 main arguments: type of smoothing and
-its direction. Now 4 methods are supported: `0' does nothing for
-delta=0 or approaches data to zero with the step delta, `1' linear
-averaging by 3 points, `2' linear averaging by 5 points, `3' quadratic
-averaging by 5 points. Let me demonstrate it for 1d case:
-new y0 30
-modify y0 '0.4*sin(2*pi*x)+0.3*cos(3*pi*x)-0.4*sin(4*pi*x)+0.2*rnd'
-copy y1 y0: smooth y1 1
-copy y2 y0: smooth y2 2
-copy y3 y0: smooth y3 3
-
-plot y0 'k': addlegend 'none' 'k'
-plot y1 'r': addlegend 'line 3' 'r'
-plot y2 'g': addlegend 'line 5' 'g'
-plot y3 'b': addlegend 'quad 5' 'b'
-legend: box
-
- [image src="../png/sample7.png" ]
-
-Example of data smoothing
-
- Finally one can create new data arrays on base of the existing one:
-extract slice, row or column of data (`SubData'), summarize along some
-of direction(s) (`Sum'), find distribution of data elements (`Hist').
-Note, that all these functions are not thread-safe because they use
-static internal variable for output array. In particular, the using of
-several of them in arguments of the same function will lead to
-unpredictable result.
-
-
-File: mgl_ru.info, Node: Data plotting, Next: Hints, Prev: Data handling, Up: Examples
-
-2.4 Data plotting
-=================
-
-Let me now show how to plot the data. MathGL generally has 2 types of
-plotting functions. Simple variant requires a single data array for
-plotting, other data (coordinates) are considered uniformly distributed
-in interval MIN*MAX. Second variant requires data arrays for all
-coordinates. It allows one to plot rather complex multivalent curves
-and surfaces (in case of parametric dependencies). Argument setting to
-default values allows one to plot data in standard form. Manual
-arguments setting gives possibility for fine tuning of colors,
-positions and view of graphics. Note, that the call of drawing function
-adds something to picture but does not clear the previous plots (as it
-does in Matlab). Another difference from Matlab is that all setup (like
-transparency, lightning, axis borders and so on) must be specified
-*before* plotting functions.
-
-* Menu:
-
-* Plots for 1D data::
-* Plots for 2D data::
-* Plots for 3D data::
-* Surface transparency::
-
-
-File: mgl_ru.info, Node: Plots for 1D data, Next: Plots for 2D data, Up: Data plotting
-
-2.4.1 Plots for 1D data
------------------------
-
-Term "1D data" means that data depend on single index (parameter) like
-curve in parametric form {x(i),y(i),z(i)}, i=1...n. There are 5
-generally different types of data representations: simple line plot,
-line plot with filling under it, stairs plot, bar plot and vertical
-lines (*note 1D plotting::). Each type of plotting has similar
-interface. There are 3D version and two 2D versions. One of last
-requires single array. The parameters of line and marks (*note Line
-styles::) are specified by the string argument. If the string parameter
-is `NULL' then solid line with color from palette is used.
-
- Below I shall show the features of 1D plotting on base of `plot'
-function (*note 1D plotting::). Let us start from sinus plot:
-new y0 50: modify y0 'sin(pi*(2*x-1))'
-subplot 2 2 0
-plot y0: box
- Style of line is not specified in `plot' function. So MathGL uses the
-solid line with first color of palette (this is blue). Next subplot
-shows array Y1 with 2 rows:
-subplot 2 2 1
-new y1 50 2
-modify y1 'sin(pi*2*x-pi)'
-modify y1 'cos(pi*2*x-pi)/2' 1
-plot y1: box
- As previously I did not specify the style of lines. As a result,
-MathGL again uses solid line with next colors in palette (there are
-green and red). Now let us plot a circle on the same subplot. The
-circle is parametric curve x=cos(\pi t), y=sin(\pi t). I will set the
-color of the circle (dark yellow, `Y') and put marks `+' at point
-position:
-new x 50: modify x 'cos(pi*2*x-pi)'
-plot x y0 'Y+'
- Note that solid line is used because I did not specify the type of
-line. The same picture can be achieved by `Plot2' function. Let us draw
-ellipse by orange dash line:
-plot y1(:,0) y(:,1) 'q|'
-
- Drawing in 3D space is mostly the same. Let us draw spiral with
-default line style. Now its color is 4-th color from palette (this is
-cyan):
-subplot 2 2 2:rotate 60 40
-new z 50: modify z '2*x-1'
-plot x y0 z 'g':box
- Function `Plot3' does 3D curve plot but for single array. Use it to
-put circle marks on the previous plot:
-new y2 10 3
-modify y2 'cos(pi*(2*x-1-y))'
-modify y2 '2*x-1' 2
-plot y2(:,0) y2(:,1) y2(:,2) 'bo '
- Note that line style is empty ` ' here. Usage of other 1D plotting
-functions looks similar:
-subplot 2 2 3:rotate 60 40
-bars x y0 z 'r':box
-
- [image src="../png/sample8.png" ]
-
-Example of 1D data plot
-
-
-File: mgl_ru.info, Node: Plots for 2D data, Next: Plots for 3D data, Prev: Plots for 1D data, Up: Data plotting
-
-2.4.2 Plots for 2D data
------------------------
-
-Surfaces `Surf' and other 2D plots (*note 2D plotting::) are drown the
-same simpler as 1D one. The difference is that the string parameter
-specifies not by line style but by the color scheme of the plot (*note
-Color scheme::). Here I draw attention on 4 most interesting color
-schemes. There is gray scheme where color is changed from black to
-white (string `kw') or from white to black (string `wk'). Another
-scheme is useful for accentuation of negative (by blue color) and
-positive (by red color) regions on plot (string `'BbwrR''). Last one is
-the popular "jet" scheme (string `'BbcyrR'').
-
- Now I shall show the example of a surface drawing. At first let us
-switch lightning on
-light on
- and draw the surface, considering coordinates x,y to be uniformly
-distributed in interval MIN*MAX
-new a0 50 40
-modify a0 '0.6*sin(2*pi*x)*sin(3*pi*y)+0.4*cos(3*pi*(x*y))'
-subplot 2 2 0:rotate 60 40
-surf a0: box
- Color scheme was not specified. So previous color scheme is used. In
-this case it is default color scheme ("jet") for the first plot. Next
-example is a sphere. The sphere is parametrically specified surface:
-new x 50 40: new y 50 40: new z 50 40
-modify x '0.8*sin(2*pi*x)*sin(pi*y)'
-modify y '0.8*cos(2*pi*x)*sin(pi*y)'
-modify z '0.8*cos(pi*y)'
-subplot 2 2 1:rotate 60 40
-surf x y z 'bbwrr': box
- I set color scheme to `'BbwrR'' that corresponds to red top and blue
-bottom of the sphere.
-
- Surfaces will be plotted for each of slice of the data if NZ>1. Next
-example draws surfaces for data arrays with NZ=3:
-new a1 50 40 3
-modify a1 '0.6*sin(2*pi*x)*sin(3*pi*y)+0.4*cos(3*pi*(x*y))'
-modify a1 '0.6*cos(2*pi*x)*cos(3*pi*y)+0.4*sin(3*pi*(x*y))' 1
-modify a1 '0.6*cos(2*pi*x)*cos(3*pi*y)+0.4*cos(3*pi*(x*y))' 2
-subplot 2 2 2:rotate 60 40
-alpha on
-surf a1: box
- Note, that it may entail a confusion. However, if one will use density
-plot then the picture will look better:
-subplot 2 2 3: rotate 60 40
-dens a1: box
- Note, that the previous color scheme is used in last plots because
-there are no direct specification of the one.
-
- [image src="../png/sample9.png" ]
-
-Example of surface plot for 2D data
-
- Drawing of other 2D plots is analogous. The only peculiarity is the
-usage of flag `#'. By default this flag switches on the drawing of a
-grid on plot (`grid' or `mesh' for plots in plain or in volume).
-However, for isosurfaces (including surfaces of rotation `axial') this
-flag switches the face drawing off. Figure becomes wired. The
-following code gives example of flag `#' using (compare with normal
-function drawing as in its description):
-alpha on: light on: light 0 0 0 1
-new a 30 20
-modify a '0.6*sin(2*pi*x)*sin(3*pi*y) + 0.4*cos(3*pi*(x*y))'
-
-subplot 2 2 0: rotate 40 60
-surf a 'bbcyrr#': box
-subplot 2 2 1: rotate 40 60
-dens a 'bbcyrr#': box
-subplot 2 2 2: rotate 40 60
-cont a 'bbcyrr#': box
-subplot 2 2 3: rotate 40 60
-axial a 'bbcyrr#': box
-
- [image src="../png/samplea.png" ]
-
-Example of 2D data plot with color scheme contained `#' symbol
-
-
-File: mgl_ru.info, Node: Plots for 3D data, Next: Surface transparency, Prev: Plots for 2D data, Up: Data plotting
-
-2.4.3 Plots for 3D data
------------------------
-
-Drawing procedures for 3D plot looks similarly to 1D and 2D plots
-described above. There are 3 general types of 3D plots (*note 3D
-plotting::): (i) plots on slices or on projections, (ii) isosurfaces,
-(iii) cloud-like plots. Plots on slice are clear enough - one specifies
-a slice (as its index or as coordinate value) and MathGL draws contour
-lines or density plot on slice plane. Isosurface gives more
-information. Isosurface is 3D analogue of the contour line `cont'. It
-shows the region where data array values exceed specified isosurface
-level. Plot becomes more informative if one adds transparency,
-lightning or sets color scheme depending on coordinates. Generalization
-of isosurface is the cloud-like plot. For this plot the darker color
-and less transparent regions correspond to higher values of data.
-Contrary, the regions with low values are transparent. For plotting of
-the phase of fields (or beams or pulses) one can use isosurface which
-transparency depends on the other data array (see function `surf3a').
-As example of 3D data plots let us draw the Gaussian beam diffraction
-in space. Beam propagates along X axis:
-alpha on: light on
-light 0 0 0 1
-new a 30 30 30: new b 30 30 30
-modify a 'exp(-16*((z-0.5)^2+(y-0.5)^2)/(1+4*x^2))'
-modify b '16*((z-0.5)^2+(y-0.5)^2)*(x)/(1+4*x^2)'
-caxis 0 1
-
-subplot 2 2 0: rotate 40 60
-surf3 a 'wgk': box
-subplot 2 2 1: rotate 40 60
-densa a: box: axis
-subplot 2 2 2: rotate 40 60
-cloud a: box
-subplot 2 2 3: rotate 40 60
-surf3a b a 'q': box
-
- [image src="../png/sampleb.png" ]
-
-Example of Gaussian beam diffraction (3D data)
-
-
-File: mgl_ru.info, Node: Surface transparency, Prev: Plots for 3D data, Up: Data plotting
-
-2.4.4 Surface transparency
---------------------------
-
-MathGL library has advanced features for setting and handling the
-surface transparency. The simplest way to add transparency is the using
-of function `Alpha'. As a result, all further surfaces (and
-isosurfaces, density plots and so on) become transparent. However,
-their look can be additionally improved.
-
- First, the selected surface will be non-transparent if one sets the
-flag `transparent' before the surface drawing and sets it off after the
-drawing.
-
- Second, the value of transparency can be different from surface to
-surface. To do it just change the value of `alphadef' before the
-drawing of the selected surface. If its value is close to 0 then the
-surface becomes more and more transparent. Contrary, if its value is
-close to 1 then the surface becomes practically non-transparent. This
-is some analogue of `transparent on'.
-
- Third feature is the changing of the way how the light goes through
-overlapped surfaces. The variable `transptype' defines it. By default
-the usual transparency is used (`transptype 0') - surfaces below is
-less visible than the upper ones. A "glass-like" transparency
-(`transptype 1') has a different look when the surface just decreases
-the background light (the surfaces are commutable in this case).
-
- A "neon-like" transparency (`transptype 2') has more interesting
-look. In this case a surface is the light source (like a lamp on the
-dark background) and just adds some intensity to the color. At this,
-the library sets automatically the black color for the background and
-changes the default line color to white.
-
- As example I shall show the variant of plot from *note Plots for 2D
-data:: (grid drawing is disabled) for different types of transparency.
- [image src="../png/type0.png" ]
-
-Example of `TranspType=0'.
-
- [image src="../png/type1.png" ]
-
-Example of `TranspType=1'.
-
- [image src="../png/type2.png" ]
-
-Example of `TranspType=2'.
-
-
-File: mgl_ru.info, Node: Hints, Prev: Data plotting, Up: Examples
-
-2.5 Hints
-=========
-
-In this section I have included some small hints and advices for the
-improving of the quality of plots and for the demonstration of some
-non-trivial features of MathGL library. In contrast to previous
-examples I showed mostly the idea but not the whole drawing function.
-More examples with the source code can be find at
-`http://mathgl.sf.net/' or in section *note Samples::.
-
-* Menu:
-
-* ``Compound'' graphics::
-* Two axes in one plot::
-* Titles for the plot::
-* Changing of the color range::
-* Management of a point cutting::
-* Vector field visualization::
-* Several light sources::
-* CutMin and CutMax features::
-* Mapping visualization::
-* Log-scaled plot::
-* Nonlinear fitting hints::
-* PDE solving hints::
-* Stereo image::
-
-
-File: mgl_ru.info, Node: ``Compound'' graphics, Next: Two axes in one plot, Up: Hints
-
-2.5.1 "Compound" graphics
--------------------------
-
-As I noted above, MathGL functions (except the special one, like `clf')
-do not erase the previous plotting but just add the new one. It allows
-one to draw "compound" plots easily. For example, popular Matlab
-command `surfc' can be emulated in MathGL by 2 calls:
-surf a
-cont a 0 7 -1 # draw contours at z = -1
- Here A is 2-dimensional data for the plotting, `-1' is the value of
-z-coordinate at which the contour should be plotted (at the bottom in
-this example). Analogously, one can draw density plot instead of
-contour lines and so on.
-
- Another nice plot is contour lines plotted directly on the surface:
-light on # switch on light for the surface
-surf a 'bbcyrr' # select 'jet' colormap for the surface
-cont a 'y' # and yellow color for contours
- The possible difficulties arise in black&white case, when the color of
-the surface can be close to the color of a contour line. In that case I
-may suggest the following code:
-light on # switch on light for the surface
-surf a 'kw' # select 'gray' colormap for the surface
-caxis -1 0 # first draw for darker surface colors
-conta 'w' # white contours
-caxis 0 1 # now draw for brighter surface colors
-cont a 'k' # black contours
- The idea is to divide the color range on 2 parts (dark and bright) and
-to select the contrasting color for contour lines for each of part.
-
- Similarly, one can plot flow thread over density plot of vector
-field amplitude (this is another amusing plot from Matlab) and so on.
-The list of compound graphics can be prolonged but I hope that the
-general idea is clear.
-
-
-File: mgl_ru.info, Node: Two axes in one plot, Next: Titles for the plot, Prev: ``Compound'' graphics, Up: Hints
-
-2.5.2 Two axes in one plot
---------------------------
-
-Developing the previous hint one can make a plot with 2 or more axes.
-The idea is that the change of settings does not influence on the
-already drawn graphics. So, for 2-axes plot let us set the first axis
-and draw everything concerning it. Then let us setup the second axis
-and draw things for the second axis. The corresponding code is (*note
-2-axes sample::):
-# set up first axis
-axis -1 -1 1 1: origin -1 -1
-axis:fplot 'sin(pi*x)' # draw something in first axis
-# set up second axis
-axis 0 0 1 1: origin 1 1
-axis: fplot 'cos(4*pi*x^2)' # draw something in second axis
- Note, that the first and the second axes look better if being placed
-in different corners. In the code presented above the first axis is
-placed in the left-bottom corner, and the second one is placed in the
-right-top corner.
-
-
-File: mgl_ru.info, Node: Titles for the plot, Next: Changing of the color range, Prev: Two axes in one plot, Up: Hints
-
-2.5.3 Titles for the plot
--------------------------
-
-The printing of nice titles for the plot is not so trivial task in
-general case. The problem is that the rotation and aspect change lead
-to different looks for titles of different subplots. So, the resulting
-look is not so good as it could be. The solution is simple - to print
-titles exactly after `subplot' call and before any rotation, aspect
-change and so on! Analogously, the title for the whole picture looks
-better if it is printed first (before any `subplot' calls).
-Alternatively you can use function `title' for plotting title for the
-picture at any time.
-
-
-File: mgl_ru.info, Node: Changing of the color range, Next: Management of a point cutting, Prev: Titles for the plot, Up: Hints
-
-2.5.4 Changing of the color range
----------------------------------
-
-By default (for the user comfort), the color range is set equal to
-z-range of the plot. However, there are different ranges. So, one can
-obtain amusing plot by the change of color range manually. For example,
-there are plots with one-color bottom (or top) or practically bi-color
-picture and so on.
-
- For example, compare 2 surfaces:
-subplot 2 1 0
-surf a # usual coloring range
-subplot 2 1 1
-caxis 0 1
-surf a # bottom of the surface have one-colour filling
-
-
-File: mgl_ru.info, Node: Management of a point cutting, Next: Vector field visualization, Prev: Changing of the color range, Up: Hints
-
-2.5.5 Management of a point cutting
------------------------------------
-
-Sometimes an experimental or numerical surface has outstanding points.
-Visualization of such surface will lead to the hole(s) in place of such
-points. The standard method of "fighting" - to change data values - is
-not always good and is not so convenient. MathGL library has another
-method - to set variable `cut off'. As a consequence, all outstanding
-points will be projected on the bounding box.
-
- Such method is good not only for outstanding points but also for the
-case when one need to plane the bottom or the top of the plot. Exactly
-such case is demonstrated in the code:
-new a 20 30 # create some data
-modify a '0.6*sin(2*pi*x)*sin(3*pi*y) + 0.4*cos(3*pi*(x*y))'
-# set lower border above the data minimal value
-axis -1 -1 0 1 1 1:rotate 40 60
-cut off # set off cutting flag
-surf a # and draw the surface
- It is an interesting result, is not it?
-
-
-File: mgl_ru.info, Node: Vector field visualization, Next: Several light sources, Prev: Management of a point cutting, Up: Hints
-
-2.5.6 Vector field visualization
---------------------------------
-
-Vector field visualization (especially in 3d case `vect3' or `vectc')
-may look tangly - there are too many overlapping lines. I may suggest 2
-ways to solve this problem. The first one is to change `meshnum' for
-decreasing the number of hachures. The second way is to use the flow
-thread chart `Flow'. Unfortunately, I don't know any other methods to
-visualize 3d vector field. If you know any, e-mail me and I shall add
-it to MatGL.
-
-
-File: mgl_ru.info, Node: Several light sources, Next: CutMin and CutMax features, Prev: Vector field visualization, Up: Hints
-
-2.5.7 Several light sources
----------------------------
-
-In contrast to the most of other programs, MathGL supports several (up
-to 10) light sources. Moreover, the color each of them can be
-different: white (this is usual), yellow, red, cyan, green and so on.
-The use of several light sources may be interesting for the
-highlighting of some peculiarities of the plot or just to make an
-amusing picture. Note, each light source can be switched on/off
-individually (*note Several light sample::).
-
-
-File: mgl_ru.info, Node: CutMin and CutMax features, Next: Mapping visualization, Prev: Several light sources, Up: Hints
-
-2.5.8 CutMin and CutMax features
---------------------------------
-
-MathGL library has a feature for cutting of points in some region
-CUTMIN*CUTMAX. Such an excision can be used to improve the look of the
-graphics. Moreover, this cutting may help to show an internal structure
-of an object (like `isocaps' plot in Matlab). For example, let us use
-the standard 3D data array and show its interior (*note CutMinMax
-sample::).
-
-new c 61 51 40 # create the data
-new v 10: fill v -0.5 1
-modify c '(-2*((2*x-1)^2 + (2*y-1)^2 + (2*z-1)^4 - (2*z-1)^2 - 0.1))'
-cut 0 -1 -1 1 0 1.1
-rotate 40 60: surf3 c -0.5 'bbcyrr'
-contf3 v c 'x' -1 'bbcyrr': contf3 v c 'y' -1 'bbcyrr'
-contf3 v c 'z' 0 'bbcyrr': contf3 v c 'z' 39 'bbcyrr'
-
- One can also exclude points from arbitrary area in space. This area
-defined by textual formula `cut' (*note Cutting::). The algorithm is
-the same as shown for "rectangular cutting".
-
-
-File: mgl_ru.info, Node: Mapping visualization, Next: Log-scaled plot, Prev: CutMin and CutMax features, Up: Hints
-
-2.5.9 Mapping visualization
----------------------------
-
-Sometime ago I worked with mapping and have a question about its
-visualization. Let me remember you that mapping is some transformation
-rule for one set of number to another one. The 1d mapping is just an
-ordinary function - it takes a number and transforms it to another one.
-The 2d mapping (which I used) is a pair of functions which take 2
-numbers and transform them to another 2 ones. Except general plots
-(like `surfc', `surfa') there is a special plot - Arnold diagram. It
-shows the area which is the result of mapping of some initial area
-(usually square).
-
- I tried to make such plot in `map'. It shows the set of points or
-set of faces, which final position is the result of mapping. At this,
-the color gives information about their initial position and the height
-describes Jacobian value of the transformation. Unfortunately, it looks
-good only for the simplest mapping but for the real multivalent
-quasi-chaotic mapping it produces a confusion. So, use it if you like
-:).
-
-
-File: mgl_ru.info, Node: Log-scaled plot, Next: Nonlinear fitting hints, Prev: Mapping visualization, Up: Hints
-
-2.5.10 Log-scaled plot
-----------------------
-
-Log-scaled plot can be drawn by 2 steps. First, one should change the
-scale of axis by call `axis 'lg(x)' 'lg(y)'' (in this example, x- and
-y-axis will be log-scaled). Second, one should set logarithmic scale
-for axis ticks by changing variables: `xtick 0: yticks 0'. Finally, one
-should check (or change) the axis ranges and origin so that their
-values to be positive. For example of log-log plot *note Log-log
-sample::.
-
-
-File: mgl_ru.info, Node: Nonlinear fitting hints, Next: PDE solving hints, Prev: Log-scaled plot, Up: Hints
-
-2.5.11 Nonlinear fitting hints
-------------------------------
-
-Nonlinear fitting is rather simple. All that you need is the data to
-fit, the approximation formula and the list of coefficients to fit
-(better with its initial guess values). Let me demonstrate it on the
-following simple example (*note Fitting sample::). First, let us use
-sin function with some random noise:
-new rnd 100: new idl 50 # data to be fitted and ideal data
-modify rnd '0.4*rnd+0.1+sin(4*pi*x)'
-modify idl '0.3+sin(4*pi*x)'
- and plot it to see that data we will fit
-axis -1 -2 1 2
-plot rnd '. ':plot idl 'b'
-box:text 0 2.2 'initial: y = 0.3+sin(2\pi x)' 'C:b' -1
-
- The next step is the fitting itself. For that let me specify an
-initial values INI for coefficients `abc' and do the fitting for
-approximation formula `a+b*sin(c*x)'
-new res # The data for found formula
-fit res rnd 'a+b*sin(c*x)' 'abc' [1, 1, 3]
- Now display it
-plot res 'r'
-text -1 -1.3 'fitted:' 'L:r' -1
-putsfit 0 -1.8 'y = ' 'C:r' -1
-
- NOTE! the fitting results may have strong dependence on initial
-values for coefficients due to algorithm features. The problem is that
-in general case there are several local 'optimums' for coefficients and
-the program returns only first found one! There are no guaranties that
-it will be the best. Try for example to set `ini = [0, 0, 0]' in the
-code above.
-
-
-File: mgl_ru.info, Node: PDE solving hints, Next: Stereo image, Prev: Nonlinear fitting hints, Up: Hints
-
-2.5.12 PDE solving hints
-------------------------
-
-Solving of Partial Differential Equations (PDE, including beam tracing)
-and ray tracing (or finding particle trajectory) are more or less
-common task. So, MathGL have several functions for that. There are
-`ray' for ray tracing, `pde' for PDE solving, `qo2d' for beam tracing
-in 2D case. Note, that these functions take "Hamiltonian" or equations
-as string values. And I don't plan now to allow one to use user-defined
-functions. There are 2 reasons: the complexity of corresponding
-interface; and the basic nature of used methods which are good for
-samples but may not good for serious scientific calculations.
-
- The ray tracing can be done by `ray' function. Really ray tracing
-equation is Hamiltonian equation for 3D space. So, the function can be
-also used for finding a particle trajectory (i.e. solve Hamiltonian
-ODE) for 1D, 2D or 3D cases. The function have a set of arguments.
-First of all, it is Hamiltonian which defined the media (or the
-equation) you are planning to use. The Hamiltonian is defined by string
-which may depend on coordinates `x', `y', `z', time `t' (for particle
-dynamics) and momentums `p'=p_x, `q'=p_y, `v'=p_z. Next, you have to
-define the initial conditions for coordinates and momentums at `t'=0
-and set the integrations step (default is 0.1) and its duration
-(default is 10). The Runge-Kutta method of 4-th order is used for
-integration.
-new re 128:new im 128
-ray r 'p^2+q^2-x-1' -0.7 -1 0 0 0.5 0
-plot r(0) r(1)
- This example calculate the reflection from linear layer (media with
-Hamiltonian `p^2+q^2-x-1'=p_x^2+p_y^2-x-1). This is parabolic curve.
-The resulting array have 7 columns which contain data for
-{x,y,z,p,q,v,t}.
-
- The solution of PDE is a bit more complicated. As previous you have
-to specify the equation as pseudo-differential operator \hat H(x,
-\nabla) which is called sometime as "Hamiltonian" (for example, in beam
-tracing). As previously, it is defined by string which may depend on
-coordinates `x', `y', `z' (but not time!), momentums `p'=(d/dx)/i k_0,
-`q'=(d/dy)/i k_0 and field amplitude `u'=|u|. The evolutionary
-coordinate is `z' in all cases. So that, the equation look like du/dz =
-ik_0 H(x,y,\hat p, \hat q, |u|)[u]. Dependence on field amplitude
-`u'=|u| allows one to solve nonlinear problems too. For example, for
-nonlinear Shrodinger equation you may set `ham='p^2 + q^2 - u^2''. Also
-you may specify imaginary part for wave absorption, like `ham = 'p^2 +
-i*x*(x>0)'', but only if dependence on variable `i' is linear (i.e. H =
-Hre+i*Him).
-
- Next step is specifing the initial conditions at `z'=`Min.z'. The
-function need 2 arrays for real and for imaginary part. Note, that
-coordinates x,y,z are supposed to be in specified range [Min, Max]. So,
-the data arrays should have corresponding scales. Finally, you may set
-the integration step and paramter k0=k_0. Also keep in mind, that
-internally the 2 times large box is used (for suppressing numerical
-reflection from boundaries) and the equation should well defined even
-in this extended range.
-
- Final comment is concerning the possible form of pseudo-differential
-operator H. At this moment, simplified form of operator H is supported
-- all "mixed" terms (like `x*p'->x*d/dx) are excluded. For example, in
-2D case this operator is effectively H = f(p,z) + g(x,z,u). However
-commutable combinations (like `x*q'->x*d/dy) are allowed for 3D case.
-
- So, for example let solve the equation for beam deflected from
-linear layer and absorbed later. The operator will have the form
-`'p^2+q^2-x-1+i*0.5*(z+x)*(z>-x)'' that correspond to equation ik_0
-\partial_z u + \Delta u + x \cdot u + i (x+z)/2 \cdot u = 0. This is
-typical equation for Electron Cyclotron (EC) absorption in magnetized
-plasmas. For initial conditions let me select the beam with plane phase
-front exp(-48*(x+0.7)^2). The corresponding code looks like this (*note
-PDE sample::):
-new re 128: new im 128
-fill re 'exp(-48*(x+0.7)^2)'
-pde a 'p^2+q^2-x-1+i*0.5*(z+x)*(z>-x)' re im 0.01, 30
-transpose a 'yxz'
-caxis 0 1
-dens a 'wyrRk'
-
- The last example is example of beam tracing. Beam tracing equation
-is special kind of PDE equation written in coordinates accompanied to a
-ray. Generally this is the same parameters and limitation as for PDE
-solving but the coordinates are defined by the ray and by parameter of
-grid width W in direction transverse the ray. So, you don't need to
-specify the range of coordinates. *BUT* there is limitation. The
-accompanied coordinates are well defined only for smooth enough rays,
-i.e. then the ray curvature K (which is defined as 1/K^2 = (|\ddot r|^2
-|\dot r|^2 - (\ddot r, \dot r)^2)/|\dot r|^6) is much large then the
-grid width: K>>w. So, you may receive incorrect results if this
-condition will be broken.
-
- You may use following code for obtaining the same solution as in
-previous example:
-new re 128: new im 128
-define $1 'p^2+q^2-x-1+i*0.5*(y+x)*(y>-x)'
-ray r $1 -0.7 -1 0 0 0.5 0 0.02 2
-# now start beam tracing
-fill re 'exp(-48*x^2)'
-new xx: new yy
-qo2d a $1 re im r 1 30 xx yy
-caxis 0 1
-dens xx yy a 'wyrRk'
-
-
-File: mgl_ru.info, Node: Stereo image, Prev: PDE solving hints, Up: Hints
-
-2.5.13 Stereo image
--------------------
-
-One can easily create stereo image in MathGL. Stereo image can be
-produced by making two subplots with slightly different rotation
-angles. The corresponding code looks like this (*note Stereo image
-sample::):
-subplot 2 1 0 # left image
-rotate 40 60+3
-# draw something here
-subplot 2 1 1 # right image
-rotate 40 60-3
-# draw the same here
-
-
-File: mgl_ru.info, Node: Samples, Next: Copying This Manual, Prev: Examples, Up: Top
-
-3 Примеры использования MathGL
-**************************************************
-
-Эта глава содержит множество примеров
-кода для всех типов графиков, наиболее
-важных возможностей библиотеки и
-советов. Аналогичные примеры (с
-картинками) можно найти на
-`http://mathgl.sf.net/pictures.html'.
-
-* Menu:
-
-* 1D plotting samples::
-* 2D plotting samples::
-* 3D plotting samples::
-* Dual plotting samples::
-* Basic features::
-* Additional features::
-* Advanced features::
-
-
-File: mgl_ru.info, Node: 1D plotting samples, Next: 2D plotting samples, Up: Samples
-
-3.1 Примеры 1D графиков
-======================================
-
-* Menu:
-
-* Plot sample::
-* Radar sample::
-* Tens sample::
-* Area sample::
-* Area gradient sample::
-* Bars sample::
-* Bars 2 colors sample::
-* Bars above sample::
-* Bars fall sample::
-* Barh sample::
-* Step sample::
-* Stem sample::
-* Region sample::
-* Region gradient sample::
-* Error sample::
-* BoxPlot sample::
-* Mark sample::
-* TextMark sample::
-* Tube sample::
-* Text sample::
-* Torus sample::
-* Chart sample::
-* Pie chart sample::
-* Ring chart sample::
-
-
-File: mgl_ru.info, Node: Plot sample, Next: Radar sample, Up: 1D plotting samples
-
-3.1.1 Plot - пример использования
-----------------------------------------------------
-
- [image src="../png/plot.png" ]
-
-new y 50 3
-modify y '0.7*sin(2*pi*x) + 0.5*cos(3*pi*x) + 0.2*sin(pi*x)'
-modify y 'sin(2*pi*x)' 1
-modify y 'cos(2*pi*x)' 2
-box
-plot y
-
-
-File: mgl_ru.info, Node: Radar sample, Next: Tens sample, Prev: Plot sample, Up: 1D plotting samples
-
-3.1.2 Radar - пример использования
------------------------------------------------------
-
- [image src="../png/radar.png" ]
-
-new y 10 3
-modify y '0.4*sin(pi*(2*x+y/2))+0.1*rnd'
-radar y '#'
-
-
-File: mgl_ru.info, Node: Tens sample, Next: Area sample, Prev: Radar sample, Up: 1D plotting samples
-
-3.1.3 Tens - пример использования
-----------------------------------------------------
-
- [image src="../png/tens.png" ]
-
-new y 50
-new c 50
-modify y '0.7*sin(2*pi*x) + 0.5*cos(3*pi*x) + 0.2*sin(pi*x)'
-modify c 'sin(2*pi*x)'
-box
-tens y c
-
-
-File: mgl_ru.info, Node: Area sample, Next: Area gradient sample, Prev: Tens sample, Up: 1D plotting samples
-
-3.1.4 Area - пример использования
-----------------------------------------------------
-
- [image src="../png/area.png" ]
-
-new y 50 3
-modify y '0.7*sin(2*pi*x) + 0.5*cos(3*pi*x) + 0.2*sin(pi*x)'
-modify y 'sin(2*pi*x)' 1
-modify y 'cos(2*pi*x)' 2
-origin 0 0
-box
-area y
-
-
-File: mgl_ru.info, Node: Area gradient sample, Next: Bars sample, Prev: Tens sample, Up: 1D plotting samples
-
-3.1.5 Area с градиентной заливкой - пример использования
------------------------------------------------------------------------------------------------
-
- [image src="../png/area_2.png" ]
-
-new y 50 3
-modify y '0.7*sin(2*pi*x) + 0.5*cos(3*pi*x) + 0.2*sin(pi*x)'
-modify y 'sin(2*pi*x)' 1
-modify y 'cos(2*pi*x)' 2
-origin 0 0
-box
-area y 'cbgGyr'
-
-
-File: mgl_ru.info, Node: Bars sample, Next: Bars 2 colors sample, Prev: Area gradient sample, Up: 1D plotting samples
-
-3.1.6 Bars - пример использования
-----------------------------------------------------
-
- [image src="../png/bars.png" ]
-
-new y 10 3
-modify y '0.8*sin(pi*(2*x+y/2))+0.2*rnd'
-origin 0 0
-box
-bars y
-
-
-File: mgl_ru.info, Node: Bars 2 colors sample, Next: Bars above sample, Prev: Bars sample, Up: 1D plotting samples
-
-3.1.7 Bars (2 цвета) - пример использования
--------------------------------------------------------------------
-
- [image src="../png/bars_2.png" ]
-
-new y 10 3
-modify y '0.8*sin(pi*(2*x+y/2))+0.2*rnd'
-origin 0 0
-box
-bars y 'cbgGyr'
-
-
-File: mgl_ru.info, Node: Bars above sample, Next: Bars fall sample, Prev: Bars 2 colors sample, Up: 1D plotting samples
-
-3.1.8 Bars (один над другим) - пример использования
------------------------------------------------------------------------------------
-
- [image src="../png/bars_a.png" ]
-
-new y 10 3
-modify y '0.8*sin(pi*(2*x+y/2))+0.2*rnd'
-origin 0 0
-box
-bars y 'a'
-
-
-File: mgl_ru.info, Node: Bars fall sample, Next: Bars above sample, Prev: Bars above sample, Up: 1D plotting samples
-
-3.1.9 Bars "водопад" - пример использования
----------------------------------------------------------------------
-
- [image src="../png/bars_f.png" ]
-
-new y 10 3
-modify y '0.8*sin(pi*(2*x+y/2))+0.2*rnd'
-origin 0 0
-box
-bars y 'f'
-
-
-File: mgl_ru.info, Node: Barh sample, Next: Step sample, Prev: Bars fall sample, Up: 1D plotting samples
-
-3.1.10 Barh - пример использования
------------------------------------------------------
-
- [image src="../png/barh.png" ]
-
-new y 10 3
-modify y '0.8*sin(pi*(2*x+y/2))+0.2*rnd'
-origin 0 0
-box
-barh y
-
-
-File: mgl_ru.info, Node: Step sample, Next: Stem sample, Prev: Barh sample, Up: 1D plotting samples
-
-3.1.11 Step - пример использования
------------------------------------------------------
-
- [image src="../png/step.png" ]
-
-new y 50 3
-modify y '0.7*sin(2*pi*x) + 0.5*cos(3*pi*x) + 0.2*sin(pi*x)'
-modify y 'sin(2*pi*x)' 1
-modify y 'cos(2*pi*x)' 2
-box
-step y
-
-
-File: mgl_ru.info, Node: Stem sample, Next: Region sample, Prev: Step sample, Up: 1D plotting samples
-
-3.1.12 Stem - пример использования
------------------------------------------------------
-
- [image src="../png/stem.png" ]
-
-new y 50 3
-modify y '0.7*sin(2*pi*x) + 0.5*cos(3*pi*x) + 0.2*sin(pi*x)'
-modify y 'sin(2*pi*x)' 1
-modify y 'cos(2*pi*x)' 2
-origin 0 0
-box
-stem y 'o'
-
-
-File: mgl_ru.info, Node: Region sample, Next: Region gradient sample, Prev: Stem sample, Up: 1D plotting samples
-
-3.1.13 Region - пример использования
--------------------------------------------------------
-
- [image src="../png/region.png" ]
-
-new y1 50
-new y2 50
-modify y1 '0.3*sin(2*pi*x)'
-modify y2 '0.5+0.3*cos(2*pi*x)'
-box
-region y1 y2 'r'
-plot y1 'k2'
-plot y2 'k2'
-
-
-File: mgl_ru.info, Node: Region gradient sample, Next: Error sample, Prev: Region sample, Up: 1D plotting samples
-
-3.1.14 Region с градиентной заливкой - пример использования
---------------------------------------------------------------------------------------------------
-
- [image src="../png/region_2.png" ]
-
-new y1 50
-new y2 50
-modify y1 '0.3*sin(2*pi*x)'
-modify y2 '0.5+0.3*cos(2*pi*x)'
-box
-region y1 y2 'yr'
-plot y1 'k2'
-plot y2 'k2'
-
-
-File: mgl_ru.info, Node: Error sample, Next: BoxPlot sample, Prev: Region gradient sample, Up: 1D plotting samples
-
-3.1.15 Error - пример использования
-------------------------------------------------------
-
- [image src="../png/error.png" ]
-
-new y 50
-new x0 10
-new y0 10
-new ex 10
-new ey 10
-modify y '0.7*sin(2*pi*x) + 0.5*cos(3*pi*x) + 0.2*sin(pi*x)'
-modify x0 '2*x-1 + 0.1*rnd-0.05'
-modify y0 '0.7*sin(2*pi*x) + 0.5*cos(3*pi*x) + 0.2*sin(pi*x) + 0.2*rnd-0.1'
-modify ey '0.2'
-modify ex '0.1'
-box
-plot y
-error x0 y0 ex ey 'ko'
-
-
-File: mgl_ru.info, Node: BoxPlot sample, Next: Mark sample, Prev: Error sample, Up: 1D plotting samples
-
-3.1.16 BoxPlot - пример использования
---------------------------------------------------------
-
- [image src="../png/boxplot.png" ]
-
-new a 10 7
-modify a '(2*rnd-1)^3/2'
-box
-boxplot a
-plot a ' ko'
-
-
-File: mgl_ru.info, Node: Mark sample, Next: TextMark sample, Prev: BoxPlot sample, Up: 1D plotting samples
-
-3.1.17 Mark - пример использования
------------------------------------------------------
-
- [image src="../png/mark.png" ]
-
-new y 50 3
-modify y '0.7*sin(2*pi*x) + 0.5*cos(3*pi*x) + 0.2*sin(pi*x)'
-modify y 'sin(2*pi*x)' 1
-modify y 'cos(2*pi*x)' 2
-new y1 50
-modify y1 '0.5+0.3*cos(2*pi*x)'
-box
-mark y y1 'bs'
-
-
-File: mgl_ru.info, Node: TextMark sample, Next: Tube sample, Prev: Mark sample, Up: 1D plotting samples
-
-3.1.18 TextMark - пример использования
----------------------------------------------------------
-
- [image src="../png/textmark.png" ]
-
-new y 50 3
-modify y '0.7*sin(2*pi*x) + 0.5*cos(3*pi*x) + 0.2*sin(pi*x)'
-modify y 'sin(2*pi*x)' 1
-modify y 'cos(2*pi*x)' 2
-new y1 50
-modify y1 '0.5+0.3*cos(2*pi*x)'
-box
-textmark y y1 '\gamma'
-
-
-File: mgl_ru.info, Node: Tube sample, Next: Text sample, Prev: TextMark sample, Up: 1D plotting samples
-
-3.1.19 Tube - пример использования
------------------------------------------------------
-
- [image src="../png/tube.png" ]
-
-new y 50 3
-modify y '0.7*sin(2*pi*x) + 0.5*cos(3*pi*x) + 0.2*sin(pi*x)'
-modify y 'sin(2*pi*x)' 1
-modify y 'cos(2*pi*x)' 2
-rotate 40 60
-light on
-box
-tube y 0.05
-
-
-File: mgl_ru.info, Node: Text sample, Next: Torus sample, Prev: Tube sample, Up: 1D plotting samples
-
-3.1.20 Text - пример использования
------------------------------------------------------
-
- [image src="../png/text.png" ]
-
-new y 50 3
-modify y '0.7*sin(2*pi*x) + 0.5*cos(3*pi*x) + 0.2*sin(pi*x)'
-modify y 'sin(2*pi*x)' 1
-modify y 'cos(2*pi*x)' 2
-box
-plot y(:,0)
-text y 'This is very long string drawn along a curve' ':k'
-text y 'Another string drawn above a curve' 'T:r'
-
-
-File: mgl_ru.info, Node: Torus sample, Next: Chart sample, Prev: Text sample, Up: 1D plotting samples
-
-3.1.21 Torus - пример использования
-------------------------------------------------------
-
- [image src="../png/torus.png" ]
-
-new y1 50
-new y2 50
-modify y1 '0.5+0.3*cos(2*pi*x)'
-modify y2 '0.3*sin(2*pi*x)'
-rotate 40 60
-light on
-box
-torus y1 y2 'pz'
-
-
-File: mgl_ru.info, Node: Chart sample, Next: Pie chart sample, Prev: Torus sample, Up: 1D plotting samples
-
-3.1.22 Chart - пример использования
-------------------------------------------------------
-
- [image src="../png/chart.png" ]
-
-new ch 7 2
-modify ch 'rnd+0.1'
-rotate 40 60
-light on
-box
-chart ch
-
-
-File: mgl_ru.info, Node: Pie chart sample, Next: Ring chart sample, Prev: Chart sample, Up: 1D plotting samples
-
-3.1.23 Pie chart - пример использования
-----------------------------------------------------------
-
- [image src="../png/pie_chart.png" ]
-
-new ch 7 2
-modify ch 'rnd+0.1'
-rotate 40 60
-light on
-axis '(y+1)/2*cos(pi*x)' '(y+1)/2*sin(pi*x)' ''
-box
-chart ch 'bgr cmy#'
-
-
-File: mgl_ru.info, Node: Ring chart sample, Prev: Pie chart sample, Up: 1D plotting samples
-
-3.1.24 Ring chart - пример использования
------------------------------------------------------------
-
- [image src="../png/ring_chart.png" ]
-
-new ch 7 2
-modify ch 'rnd+0.1'
-rotate 40 60
-light on
-axis '(y+2)/3*cos(pi*x)' '(y+2)/3*sin(pi*x)' ''
-box
-chart ch 'bgr cmy#'
-
-
-File: mgl_ru.info, Node: 2D plotting samples, Next: 3D plotting samples, Prev: 1D plotting samples, Up: Samples
-
-3.2 Примеры 2D графиков
-======================================
-
-* Menu:
-
-* Surf sample::
-* Transparent surface sample::
-* Surface in fog sample::
-* Sharp colors sample::
-* Mesh sample::
-* Fall sample::
-* Belt sample::
-* Tile sample::
-* Boxs sample::
-* Dens sample::
-* Cont sample::
-* ContF sample::
-* ContD sample::
-* Axial sample::
-* Grad sample::
-
-
-File: mgl_ru.info, Node: Surf sample, Next: Transparent surface sample, Up: 2D plotting samples
-
-3.2.1 Surf - пример использования
-----------------------------------------------------
-
- [image src="../png/surf.png" ]
-
-new a 50 40
-modify a '0.6*sin(2*pi*x)*sin(3*pi*y) + 0.4*cos(3*pi*(x*y))'
-rotate 40 60
-light on
-box
-surf a
-
-
-File: mgl_ru.info, Node: Transparent surface sample, Next: Surface in fog sample, Prev: Surf sample, Up: 2D plotting samples
-
-3.2.2 Transparent surface - пример использования
--------------------------------------------------------------------
-
- [image src="../png/surf_alpha.png" ]
-
-new a 50 40
-modify a '0.6*sin(2*pi*x)*sin(3*pi*y) + 0.4*cos(3*pi*(x*y))'
-rotate 40 60
-light on
-alpha on
-box
-surf a
-
-
-File: mgl_ru.info, Node: Surface in fog sample, Next: Sharp colors sample, Prev: Transparent surface sample, Up: 2D plotting samples
-
-3.2.3 Surface in fog - пример использования
---------------------------------------------------------------
-
- [image src="../png/surf_fog.png" ]
-
-new a 50 40
-modify a '0.6*sin(2*pi*x)*sin(3*pi*y) + 0.4*cos(3*pi*(x*y))'
-rotate 40 60
-light on
-fog 1
-box
-surf a
-
-
-File: mgl_ru.info, Node: Sharp colors sample, Next: Mesh sample, Prev: Surface in fog sample, Up: 2D plotting samples
-
-3.2.4 Sharp colors - пример использования
-------------------------------------------------------------
-
- [image src="../png/surf_sl.png" ]
-
-new a 50 40
-modify a '0.6*sin(2*pi*x)*sin(3*pi*y) + 0.4*cos(3*pi*(x*y))'
-rotate 40 60
-light on
-box
-surf a 'BbcyrR|'
-
-
-File: mgl_ru.info, Node: Mesh sample, Next: Fall sample, Prev: Sharp colors sample, Up: 2D plotting samples
-
-3.2.5 Mesh - пример использования
-----------------------------------------------------
-
- [image src="../png/mesh.png" ]
-
-new a 50 40
-modify a '0.6*sin(2*pi*x)*sin(3*pi*y) + 0.4*cos(3*pi*(x*y))'
-rotate 40 60
-box
-mesh a
-
-
-File: mgl_ru.info, Node: Fall sample, Next: Belt sample, Prev: Mesh sample, Up: 2D plotting samples
-
-3.2.6 Fall - пример использования
-----------------------------------------------------
-
- [image src="../png/fall.png" ]
-
-new a 50 40
-modify a '0.6*sin(2*pi*x)*sin(3*pi*y) + 0.4*cos(3*pi*(x*y))'
-rotate 40 60
-box
-fall a
-
-
-File: mgl_ru.info, Node: Belt sample, Next: Tile sample, Prev: Fall sample, Up: 2D plotting samples
-
-3.2.7 Belt - пример использования
-----------------------------------------------------
-
- [image src="../png/belt.png" ]
-
-new a 50 40
-modify a '0.6*sin(2*pi*x)*sin(3*pi*y) + 0.4*cos(3*pi*(x*y))'
-rotate 40 60
-light on
-box
-belt a
-
-
-File: mgl_ru.info, Node: Tile sample, Next: Boxs sample, Prev: Belt sample, Up: 2D plotting samples
-
-3.2.8 Tile - пример использования
-----------------------------------------------------
-
- [image src="../png/tile.png" ]
-
-new a 50 40
-modify a '0.6*sin(2*pi*x)*sin(3*pi*y) + 0.4*cos(3*pi*(x*y))'
-rotate 40 60
-light on
-box
-tile a
-
-
-File: mgl_ru.info, Node: Boxs sample, Next: Dens sample, Prev: Tile sample, Up: 2D plotting samples
-
-3.2.9 Boxs - пример использования
-----------------------------------------------------
-
- [image src="../png/boxs.png" ]
-
-new a 50 40
-modify a '0.6*sin(2*pi*x)*sin(3*pi*y) + 0.4*cos(3*pi*(x*y))'
-rotate 40 60
-light on
-origin 0 0 0
-box
-boxs a
-
-
-File: mgl_ru.info, Node: Dens sample, Next: Cont sample, Prev: Boxs sample, Up: 2D plotting samples
-
-3.2.10 Dens - пример использования
------------------------------------------------------
-
- [image src="../png/dens.png" ]
-
-new a 50 40
-modify a '0.6*sin(2*pi*x)*sin(3*pi*y) + 0.4*cos(3*pi*(x*y))'
-box
-dens a
-colorbar
-
-
-File: mgl_ru.info, Node: Cont sample, Next: ContF sample, Prev: Dens sample, Up: 2D plotting samples
-
-3.2.11 Cont - пример использования
------------------------------------------------------
-
- [image src="../png/cont.png" ]
-
-new a 50 40
-modify a '0.6*sin(2*pi*x)*sin(3*pi*y) + 0.4*cos(3*pi*(x*y))'
-rotate 40 60
-box
-cont a
-
-
-File: mgl_ru.info, Node: ContF sample, Next: ContD sample, Prev: Cont sample, Up: 2D plotting samples
-
-3.2.12 ContF - пример использования
-------------------------------------------------------
-
- [image src="../png/contf.png" ]
-
-new a 50 40
-modify a '0.6*sin(2*pi*x)*sin(3*pi*y) + 0.4*cos(3*pi*(x*y))'
-rotate 40 60
-light on
-box
-contf a
-
-
-File: mgl_ru.info, Node: ContD sample, Next: Axial sample, Prev: ContF sample, Up: 2D plotting samples
-
-3.2.13 ContD - пример использования
-------------------------------------------------------
-
- [image src="../png/contd.png" ]
-
-new a 50 40
-modify a '0.6*sin(2*pi*x)*sin(3*pi*y) + 0.4*cos(3*pi*(x*y))'
-var v 9 -1 1
-box
-contd v a
-colorbar v
-
-
-File: mgl_ru.info, Node: Axial sample, Next: Grad sample, Prev: ContD sample, Up: 2D plotting samples
-
-3.2.14 Axial - пример использования
-------------------------------------------------------
-
- [image src="../png/axial.png" ]
-
-new a 50 40
-modify a '0.6*sin(2*pi*x)*sin(3*pi*y) + 0.4*cos(3*pi*(x*y))'
-rotate 40 60
-light on
-alpha on
-box
-axial a
-
-
-File: mgl_ru.info, Node: Grad sample, Prev: Axial sample, Up: 2D plotting samples
-
-3.2.15 Grad - пример использования
------------------------------------------------------
-
- [image src="../png/grad.png" ]
-
-new a 50 40
-modify a '0.6*sin(2*pi*x)*sin(3*pi*y) + 0.4*cos(3*pi*(x*y))'
-box:alpha on:dens a
-grad a
-
-
-File: mgl_ru.info, Node: 3D plotting samples, Next: Dual plotting samples, Prev: 2D plotting samples, Up: Samples
-
-3.3 Примеры 3D графиков
-======================================
-
-* Menu:
-
-* Surf3 sample::
-* Cloud sample::
-* CloudP sample::
-* Dens3 sample::
-* Cont3 sample::
-* ContF3 sample::
-* Cont projection sample::
-* Dens projection sample::
-* CutMinMax sample::
-* Isocaps sample::
-* CutOff sample::
-
-
-File: mgl_ru.info, Node: Surf3 sample, Next: Cloud sample, Up: 3D plotting samples
-
-3.3.1 Surf3 - пример использования
------------------------------------------------------
-
- [image src="../png/surf3.png" ]
-
-new a 60 50 40
-modify a '-2*((2*x-1)^2 + (2*y-1)^2 + (2*z-1)^4 - (2*z-1)^2 - 0.1)'
-rotate 40 60
-light on
-alpha on
-box
-surf3 a
-
-
-File: mgl_ru.info, Node: Cloud sample, Next: CloudP sample, Prev: Surf3 sample, Up: 3D plotting samples
-
-3.3.2 Cloud - пример использования
------------------------------------------------------
-
- [image src="../png/cloud.png" ]
-
-new a 60 50 40
-modify a '-2*((2*x-1)^2 + (2*y-1)^2 + (2*z-1)^4 - (2*z-1)^2 - 0.1)'
-rotate 40 60
-alpha on
-box
-cloud a 'wyrRk'
-
-
-File: mgl_ru.info, Node: CloudP sample, Next: Dens3 sample, Prev: Cloud sample, Up: 3D plotting samples
-
-3.3.3 CloudP - пример использования
-------------------------------------------------------
-
- [image src="../png/cloudp.png" ]
-
-Not available.
-
-
-File: mgl_ru.info, Node: Dens3 sample, Next: Cont3 sample, Prev: CloudP sample, Up: 3D plotting samples
-
-3.3.4 Dens3 - пример использования
------------------------------------------------------
-
- [image src="../png/densa.png" ]
-
-new a 60 50 40
-modify a '-2*((2*x-1)^2 + (2*y-1)^2 + (2*z-1)^4 - (2*z-1)^2 - 0.1)'
-rotate 40 60
-alpha on
-origin 0 0 0
-box
-densa a
-axis
-
-
-File: mgl_ru.info, Node: Cont3 sample, Next: ContF3 sample, Prev: Dens3 sample, Up: 3D plotting samples
-
-3.3.5 Cont3 - пример использования
------------------------------------------------------
-
- [image src="../png/conta.png" ]
-
-new a 60 50 40
-modify a '-2*((2*x-1)^2 + (2*y-1)^2 + (2*z-1)^4 - (2*z-1)^2 - 0.1)'
-rotate 40 60
-box
-conta a
-
-
-File: mgl_ru.info, Node: ContF3 sample, Next: Cont projection sample, Prev: Cont3 sample, Up: 3D plotting samples
-
-3.3.6 ContF3 - пример использования
-------------------------------------------------------
-
- [image src="../png/contfa.png" ]
-
-new a 60 50 40
-modify a '-2*((2*x-1)^2 + (2*y-1)^2 + (2*z-1)^4 - (2*z-1)^2 - 0.1)'
-rotate 40 60
-light on
-box
-contfa a
-
-
-File: mgl_ru.info, Node: Cont projection sample, Next: Dens projection sample, Prev: ContF3 sample, Up: 3D plotting samples
-
-3.3.7 Cont projection - пример использования
----------------------------------------------------------------
-
- [image src="../png/cont_xyz.png" ]
-
-new a 60 50 40
-modify a '-2*((2*x-1)^2 + (2*y-1)^2 + (2*z-1)^4 - (2*z-1)^2 - 0.1)'
-rotate 40 60
-box
-sum s a 'x'
-contx s '' -1
-sum s a 'y'
-conty s '' 1
-sum s a 'z'
-contz s '' -1
-
-
-File: mgl_ru.info, Node: Dens projection sample, Next: CutMinMax sample, Prev: Cont projection sample, Up: 3D plotting samples
-
-3.3.8 Dens projection - пример использования
----------------------------------------------------------------
-
- [image src="../png/dens_xyz.png" ]
-
-new a 60 50 40
-modify a '-2*((2*x-1)^2 + (2*y-1)^2 + (2*z-1)^4 - (2*z-1)^2 - 0.1)'
-rotate 40 60
-box
-sum s a 'x'
-densx s '' -1
-sum s a 'y'
-densy s '' 1
-sum s a 'z'
-densz s '' -1
-
-
-File: mgl_ru.info, Node: CutMinMax sample, Next: Isocaps sample, Prev: Dens projection sample, Up: 3D plotting samples
-
-3.3.9 CutMinMax - пример использования
----------------------------------------------------------
-
- [image src="../png/cutminmax.png" ]
-
-new a 60 50 40
-modify a '-2*((2*x-1)^2 + (2*y-1)^2 + (2*z-1)^4 - (2*z-1)^2 - 0.1)'
-rotate 40 60
-light on
-alpha on
-cut 0 -1 -1 1 0 1
-box
-surf3 a
-
-
-File: mgl_ru.info, Node: Isocaps sample, Next: CutOff sample, Prev: CutMinMax sample, Up: 3D plotting samples
-
-3.3.10 "Isocaps" - пример использования
-----------------------------------------------------------
-
- [image src="../png/cutminmax2.png" ]
-
-new a 61 51 40
-modify a '-2*((2*x-1)^2 + (2*y-1)^2 + (2*z-1)^4 - (2*z-1)^2 - 0.1)'
-rotate 40 60
-light on
-cut 0 -1 -1 1 0 1.1
-box
-surf3 a -1
-contf3 a 'x' -1
-contf3 a 'y' -1
-contf3 a 'z' 0
-contf3 a 'z' 39
-
-
-File: mgl_ru.info, Node: CutOff sample, Prev: Isocaps sample, Up: 3D plotting samples
-
-3.3.11 CutOff - пример использования
--------------------------------------------------------
-
- [image src="../png/surf3_cutoff.png" ]
-
-new a 60 50 40
-modify a '-2*((2*x-1)^2 + (2*y-1)^2 + (2*z-1)^4 - (2*z-1)^2 - 0.1)'
-rotate 40 60
-light on
-alpha on
-cut '(z>(x+0.5*y-1)^2-1) & (z>(x-0.5*y-1)^2-1)'
-box
-surf3 a
-
-
-File: mgl_ru.info, Node: Dual plotting samples, Next: Basic features, Prev: 3D plotting samples, Up: Samples
-
-3.4 Примеры парных/векторных графиков
-===================================================================
-
-* Menu:
-
-* SurfC sample::
-* SurfA sample::
-* TileS sample::
-* Map sample::
-* Traj sample::
-* Vect sample::
-* VectL sample::
-* VectC sample::
-* Flow sample::
-* Pipe sample::
-* Dew sample::
-* Surf3C sample::
-* Surf3A sample::
-* Vect 3D sample::
-* VectL 3D sample::
-* VectC 3D sample::
-* Flow 3D sample::
-* Pipe 3D sample::
-* Crust sample::
-* Dots sample::
-
-
-File: mgl_ru.info, Node: SurfC sample, Next: SurfA sample, Up: Dual plotting samples
-
-3.4.1 SurfC - пример использования
------------------------------------------------------
-
- [image src="../png/surfc.png" ]
-
-new a 50 40
-new b 50 40
-modify a '0.6*sin(2*pi*x)*sin(3*pi*y) + 0.4*cos(3*pi*(x*y))'
-modify b '0.6*cos(2*pi*x)*cos(3*pi*y) + 0.4*cos(3*pi*(x*y))'
-rotate 40 60
-light on
-box
-surfc a b
-
-
-File: mgl_ru.info, Node: SurfA sample, Next: TileS sample, Prev: SurfC sample, Up: Dual plotting samples
-
-3.4.2 SurfA - пример использования
------------------------------------------------------
-
- [image src="../png/surfa.png" ]
-
-new a 50 40
-new b 50 40
-modify a '0.6*sin(2*pi*x)*sin(3*pi*y) + 0.4*cos(3*pi*(x*y))'
-modify b '0.6*cos(2*pi*x)*cos(3*pi*y) + 0.4*cos(3*pi*(x*y))'
-rotate 40 60
-light on
-alpha on
-box
-surfa a b
-
-
-File: mgl_ru.info, Node: TileS sample, Next: Map sample, Prev: SurfA sample, Up: Dual plotting samples
-
-3.4.3 TileS - пример использования
------------------------------------------------------
-
- [image src="../png/tiles.png" ]
-
-new a 50 40
-new b 50 40
-modify a '0.6*sin(2*pi*x)*sin(3*pi*y) + 0.4*cos(3*pi*(x*y))'
-modify b '0.6*cos(2*pi*x)*cos(3*pi*y) + 0.4*cos(3*pi*(x*y))'
-box
-tile a b
-
-
-File: mgl_ru.info, Node: Map sample, Next: Traj sample, Prev: TileS sample, Up: Dual plotting samples
-
-3.4.4 Map - пример использования
----------------------------------------------------
-
- [image src="../png/map.png" ]
-
-new a 50 40
-new b 50 40
-text 0 0 '\to'
-zrange -2 2
-subplot 2 1 0
-text 0 1.1 '\{x, y\}' '' -2
-box
-fill a 'x'
-fill b 'y'
-map a b 'brgk' 0 0
-subplot 2 1 1
-text 0 1.1 '\{\frac{x^3+y^3}{2}, \frac{x-y}{2}\}' '' -2
-box
-fill a '(x^3+y^3)/2'
-fill b '(x-y)/2'
-map a b 'brgk' 0 0
-
-
-File: mgl_ru.info, Node: Traj sample, Next: Vect sample, Prev: Map sample, Up: Dual plotting samples
-
-3.4.5 Traj - пример использования
-----------------------------------------------------
-
- [image src="../png/traj.png" ]
-
-new y 50 3
-new x 50
-new y1 50
-new y2 50
-modify y '0.7*sin(2*pi*x) + 0.5*cos(3*pi*x) + 0.2*sin(pi*x)'
-modify y 'sin(2*pi*x)' 1
-modify y 'cos(2*pi*x)' 2
-fill x -1 1
-modify y1 '0.5+0.3*cos(2*pi*x)'
-modify y2 '0.3*sin(2*pi*x)'
-box
-plot x y
-traj x y y1 y2
-
-
-File: mgl_ru.info, Node: Vect sample, Next: VectL sample, Prev: Traj sample, Up: Dual plotting samples
-
-3.4.6 Vect - пример использования
-----------------------------------------------------
-
- [image src="../png/vect.png" ]
-
-new a 20 30
-new b 20 30
-modify a '0.6*sin(2*pi*x)*sin(3*pi*y) + 0.4*cos(3*pi*(x*y))'
-modify b '0.6*cos(2*pi*x)*cos(3*pi*y) + 0.4*cos(3*pi*(x*y))'
-box
-vect a b
-
-
-File: mgl_ru.info, Node: VectL sample, Next: VectC sample, Prev: Vect sample, Up: Dual plotting samples
-
-3.4.7 VectL - пример использования
------------------------------------------------------
-
- [image src="../png/vectl.png" ]
-
-new a 20 30
-new b 20 30
-modify a '0.6*sin(2*pi*x)*sin(3*pi*y) + 0.4*cos(3*pi*(x*y))'
-modify b '0.6*cos(2*pi*x)*cos(3*pi*y) + 0.4*cos(3*pi*(x*y))'
-box
-vectl a b
-
-
-File: mgl_ru.info, Node: VectC sample, Next: Flow sample, Prev: VectL sample, Up: Dual plotting samples
-
-3.4.8 VectC - пример использования
------------------------------------------------------
-
- [image src="../png/vectc.png" ]
-
-new a 20 30
-new b 20 30
-modify a '0.6*sin(2*pi*x)*sin(3*pi*y) + 0.4*cos(3*pi*(x*y))'
-modify b '0.6*cos(2*pi*x)*cos(3*pi*y) + 0.4*cos(3*pi*(x*y))'
-box
-vectc a b
-
-
-File: mgl_ru.info, Node: Flow sample, Next: Pipe sample, Prev: VectC sample, Up: Dual plotting samples
-
-3.4.9 Flow - пример использования
-----------------------------------------------------
-
- [image src="../png/flow.png" ]
-
-new a 20 30
-new b 20 30
-modify a '0.6*sin(2*pi*x)*sin(3*pi*y) + 0.4*cos(3*pi*(x*y))'
-modify b '0.6*cos(2*pi*x)*cos(3*pi*y) + 0.4*cos(3*pi*(x*y))'
-box
-flow a b
-
-
-File: mgl_ru.info, Node: Pipe sample, Next: Dew sample, Prev: Flow sample, Up: Dual plotting samples
-
-3.4.10 Pipe - пример использования
------------------------------------------------------
-
- [image src="../png/pipe.png" ]
-
-new a 20 30
-new b 20 30
-modify a '0.6*sin(2*pi*x)*sin(3*pi*y) + 0.4*cos(3*pi*(x*y))'
-modify b '0.6*cos(2*pi*x)*cos(3*pi*y) + 0.4*cos(3*pi*(x*y))'
-light on
-box
-pipe a b
-
-
-File: mgl_ru.info, Node: Dew sample, Next: Surf3C sample, Prev: Pipe sample, Up: Dual plotting samples
-
-3.4.11 Dew - пример использования
-----------------------------------------------------
-
- [image src="../png/dew.png" ]
-
-new a 20 30
-new b 20 30
-modify a '0.6*sin(2*pi*x)*sin(3*pi*y) + 0.4*cos(3*pi*(x*y))'
-modify b '0.6*cos(2*pi*x)*cos(3*pi*y) + 0.4*cos(3*pi*(x*y))'
-box
-light on
-dew a b
-
-
-File: mgl_ru.info, Node: Surf3C sample, Next: Surf3A sample, Prev: Dew sample, Up: Dual plotting samples
-
-3.4.12 Surf3C - пример использования
--------------------------------------------------------
-
- [image src="../png/surf3c.png" ]
-
-new a 60 50 40
-new b 60 50 40
-modify a '-2*((2*x-1)^2 + (2*y-1)^2 + (2*z-1)^4 - (2*z-1)^2 - 0.1)'
-modify b '1-2*tanh(4*(x+y-1)^2)'
-rotate 40 60
-light on
-alpha on
-box
-surf3c a b
-
-
-File: mgl_ru.info, Node: Surf3A sample, Next: Vect 3D sample, Prev: Surf3C sample, Up: Dual plotting samples
-
-3.4.13 Surf3A - пример использования
--------------------------------------------------------
-
- [image src="../png/surf3a.png" ]
-
-new a 60 50 40
-new b 60 50 40
-modify a '-2*((2*x-1)^2 + (2*y-1)^2 + (2*z-1)^4 - (2*z-1)^2 - 0.1)'
-modify b '1-2*tanh(4*(x+y-1)^2)'
-rotate 40 60
-light on
-alpha on
-box
-surf3a a b
-
-
-File: mgl_ru.info, Node: Vect 3D sample, Next: VectL 3D sample, Prev: Surf3A sample, Up: Dual plotting samples
-
-3.4.14 Vect 3D - пример использования
---------------------------------------------------------
-
- [image src="../png/vect3.png" ]
-
-new ex 10 10 10
-new ey 10 10 10
-new ez 10 10 10
-fill ex '0.2*x/pow(x^2+y^2+(z-0.3)^2,1.5) - 0.2*x/pow(x^2+y^2+(z+0.3)^2,1.5)'
-fill ey '0.2*y/pow(x^2+y^2+(z-0.3)^2,1.5) - 0.2*y/pow(x^2+y^2+(z+0.3)^2,1.5)'
-fill ez '0.2*(z-0.3)/pow(x^2+y^2+(z-0.3)^2,1.5) - 0.2*(z+0.3)/pow(x^2+y^2+(z+0.3)^2,1.5)'
-rotate 40 60
-box
-vect ex ey ez 'bwr'
-
-
-File: mgl_ru.info, Node: VectL 3D sample, Next: VectC 3D sample, Prev: Vect 3D sample, Up: Dual plotting samples
-
-3.4.15 VectL 3D - пример использования
----------------------------------------------------------
-
- [image src="../png/vectl3.png" ]
-
-new ex 10 10 10
-new ey 10 10 10
-new ez 10 10 10
-fill ex '0.2*x/pow(x^2+y^2+(z-0.3)^2,1.5) - 0.2*x/pow(x^2+y^2+(z+0.3)^2,1.5)'
-fill ey '0.2*y/pow(x^2+y^2+(z-0.3)^2,1.5) - 0.2*y/pow(x^2+y^2+(z+0.3)^2,1.5)'
-fill ez '0.2*(z-0.3)/pow(x^2+y^2+(z-0.3)^2,1.5) - 0.2*(z+0.3)/pow(x^2+y^2+(z+0.3)^2,1.5)'
-rotate 40 60
-box
-vectl ex ey ez 'bwr'
-
-
-File: mgl_ru.info, Node: VectC 3D sample, Next: Flow 3D sample, Prev: VectL 3D sample, Up: Dual plotting samples
-
-3.4.16 VectC 3D - пример использования
----------------------------------------------------------
-
- [image src="../png/vectc3.png" ]
-
-new ex 10 10 10
-new ey 10 10 10
-new ez 10 10 10
-fill ex '0.2*x/pow(x^2+y^2+(z-0.3)^2,1.5) - 0.2*x/pow(x^2+y^2+(z+0.3)^2,1.5)'
-fill ey '0.2*y/pow(x^2+y^2+(z-0.3)^2,1.5) - 0.2*y/pow(x^2+y^2+(z+0.3)^2,1.5)'
-fill ez '0.2*(z-0.3)/pow(x^2+y^2+(z-0.3)^2,1.5) - 0.2*(z+0.3)/pow(x^2+y^2+(z+0.3)^2,1.5)'
-rotate 40 60
-box
-vectc ex ey ez 'bwr'
-
-
-File: mgl_ru.info, Node: Flow 3D sample, Next: Pipe 3D sample, Prev: VectC 3D sample, Up: Dual plotting samples
-
-3.4.17 Flow 3D - пример использования
---------------------------------------------------------
-
- [image src="../png/flow3.png" ]
-
-new ex 30 30 30
-new ey 30 30 30
-new ez 30 30 30
-fill ex '0.2*x/pow(x^2+y^2+(z-0.3)^2,1.5) - 0.2*x/pow(x^2+y^2+(z+0.3)^2,1.5)'
-fill ey '0.2*y/pow(x^2+y^2+(z-0.3)^2,1.5) - 0.2*y/pow(x^2+y^2+(z+0.3)^2,1.5)'
-fill ez '0.2*(z-0.3)/pow(x^2+y^2+(z-0.3)^2,1.5) - 0.2*(z+0.3)/pow(x^2+y^2+(z+0.3)^2,1.5)'
-rotate 40 60
-box
-flow ex ey ez 'bwr'
-
-
-File: mgl_ru.info, Node: Pipe 3D sample, Next: Crust sample, Prev: Flow 3D sample, Up: Dual plotting samples
-
-3.4.18 Pipe 3D - пример использования
---------------------------------------------------------
-
- [image src="../png/pipe3.png" ]
-
-new ex 10 10 10
-new ey 10 10 10
-new ez 10 10 10
-fill ex '0.2*x/pow(x^2+y^2+(z-0.3)^2,1.5) - 0.2*x/pow(x^2+y^2+(z+0.3)^2,1.5)'
-fill ey '0.2*y/pow(x^2+y^2+(z-0.3)^2,1.5) - 0.2*y/pow(x^2+y^2+(z+0.3)^2,1.5)'
-fill ez '0.2*(z-0.3)/pow(x^2+y^2+(z-0.3)^2,1.5) - 0.2*(z+0.3)/pow(x^2+y^2+(z+0.3)^2,1.5)'
-rotate 40 60
-light on
-box
-pipe ex ey ez 'bwr'
-
-
-File: mgl_ru.info, Node: Crust sample, Next: Dots sample, Prev: Pipe 3D sample, Up: Dual plotting samples
-
-3.4.19 Crust - пример использования
-------------------------------------------------------
-
- [image src="../png/crust.png" ]
-
-read a 'hotdogs.pts'
-norm a -1 1 on
-rotate 40 60
-light on
-box
-crust a 'p'
-
-
-File: mgl_ru.info, Node: Dots sample, Prev: Crust sample, Up: Dual plotting samples
-
-3.4.20 Dots - пример использования
------------------------------------------------------
-
- [image src="../png/dots.png" ]
-
-read a 'hotdogs.pts'
-norm a -1 1 on
-rotate 40 60
-box
-dots a 'p'
-
-
-File: mgl_ru.info, Node: Basic features, Next: Additional features, Prev: Dual plotting samples, Up: Samples
-
-3.5 Базовые возможности
-=========================================
-
-* Menu:
-
-* 1D plot sample::
-* 2D plot sample::
-* 3D plot sample::
-* Line styles sample::
-* Arrow styles sample::
-* Text styles sample::
-* TeX parsing sample::
-* Font faces sample::
-* Colors sample::
-* Color schemes sample::
-* Normal transparency::
-* Glass-like transparency::
-* Lamp-like transparency::
-
-
-File: mgl_ru.info, Node: 1D plot sample, Next: 2D plot sample, Up: Basic features
-
-3.5.1 Пример графиков 1D данных
----------------------------------------------------
-
- [image src="../png/sample8.png" ]
-
-new y0 50: modify y0 'sin(pi*(2*x-1))'
-subplot 2 2 0
-plot y0: box
-
-subplot 2 2 1
-new y1 50 2
-modify y1 'sin(pi*2*x-pi)'
-modify y1 'cos(pi*2*x-pi)/2' 1
-plot y1: box
-
-new x 50: modify x 'cos(pi*2*x-pi)'
-plot x y0 'Y+'
-plot y1(:,0) y(:,1) 'q|'
-
-subplot 2 2 2:rotate 60 40
-new z 50: modify z '2*x-1'
-plot x y0 z 'g':box
-new y2 10 3
-modify y2 'cos(pi*(2*x-1-y))'
-modify y2 '2*x-1' 2
-plot y2(:,0) y2(:,1) y2(:,2) 'bo '
-
-subplot 2 2 3:rotate 60 40
-bars x y0 z 'r':box
-
-
-File: mgl_ru.info, Node: 2D plot sample, Next: 3D plot sample, Prev: 1D plot sample, Up: Basic features
-
-3.5.2 Пример графиков 2D данных
----------------------------------------------------
-
- [image src="../png/sample9.png" ]
-
-light on
-
-new a0 50 40
-modify a0 '0.6*sin(2*pi*x)*sin(3*pi*y)+0.4*cos(3*pi*(x*y))'
-subplot 2 2 0:rotate 60 40
-surf a0: box
-
-new x 50 40: new y 50 40: new z 50 40
-modify x '0.8*sin(2*pi*x)*sin(pi*y)'
-modify y '0.8*cos(2*pi*x)*sin(pi*y)'
-modify z '0.8*cos(pi*y)'
-subplot 2 2 1:rotate 60 40
-surf x y z 'bbwrr': box
-
-new a1 50 40 3
-modify a1 '0.6*sin(2*pi*x)*sin(3*pi*y)+0.4*cos(3*pi*(x*y))'
-modify a1 '0.6*cos(2*pi*x)*cos(3*pi*y)+0.4*sin(3*pi*(x*y))' 1
-modify a1 '0.6*cos(2*pi*x)*cos(3*pi*y)+0.4*cos(3*pi*(x*y))' 2
-subplot 2 2 2:rotate 60 40
-alpha on
-surf a1: box
-
-subplot 2 2 3: rotate 60 40
-dens a1: box
-
-
-File: mgl_ru.info, Node: 3D plot sample, Next: Line styles sample, Prev: 2D plot sample, Up: Basic features
-
-3.5.3 Пример графиков 3D данных
----------------------------------------------------
-
- [image src="../png/sampleb.png" ]
-
-alpha on: light on
-light 0 0 0 1
-new a 30 30 30: new b 30 30 30
-modify a 'exp(-16*((z-0.5)^2+(y-0.5)^2)/(1+4*x^2))'
-modify b '16*((z-0.5)^2+(y-0.5)^2)*(x)/(1+4*x^2)'
-caxis 0 1
-
-subplot 2 2 0: rotate 40 60
-surf3 a 'wgk': box
-subplot 2 2 1: rotate 40 60
-densa a: box: axis
-subplot 2 2 2: rotate 40 60
-cloud a: box
-subplot 2 2 3: rotate 40 60
-surf3a b a 'q': box
-
-
-File: mgl_ru.info, Node: Line styles sample, Next: Arrow styles sample, Prev: 3D plot sample, Up: Basic features
-
-3.5.4 Пример стилей линий и маркеров
---------------------------------------------------------------
-
- [image src="../png/sample5.png" ]
-
-NOT AVAILABLE
-
-
-File: mgl_ru.info, Node: Arrow styles sample, Next: Text styles sample, Prev: Line styles sample, Up: Basic features
-
-3.5.5 Пример стилей стрелок
-----------------------------------------------
-
- [image src="../png/sampled.png" ]
-
-NOT AVAILABLE
-
-
-File: mgl_ru.info, Node: Text styles sample, Next: TeX parsing sample, Prev: Arrow styles sample, Up: Basic features
-
-3.5.6 Пример стилей текста
---------------------------------------------
-
- [image src="../png/sample4.png" ]
-
-text 0 1 'Text can be in ASCII and in Unicode'
-text 0 0.6 'It can be \wire{wire}, \big{big} or #r{colored}'
-text 0 0.2 'One can change style in string: \b{bold}, \i{italic, \b{both}}'
-text 0 -0.2 'Easy to \a{overline} or \u{underline}'
-text 0 -0.6 'Easy to change indexes ^{up} _{down} @{center}'
-text 0 -1 'It parse TeX: \int \alpha \cdot \sqrt3{sin(\pi x)^2 + \gamma_{i_k}} dx'
-
-
-File: mgl_ru.info, Node: TeX parsing sample, Next: Font faces sample, Prev: Text styles sample, Up: Basic features
-
-3.5.7 Пример TeX формулы
--------------------------------------
-
- [image src="../png/samplee.png" ]
-
-text 0 0 '\sqrt{\frac{\alpha^{\gamma^2}+\overset 1{\big\infty}}{\sqrt3{2+b}}}' '' -4
-
-
-File: mgl_ru.info, Node: Font faces sample, Next: Colors sample, Prev: TeX parsing sample, Up: Basic features
-
-3.5.8 Примеры начертаний шрифта
-------------------------------------------------------
-
- [image src="../png/fonts.png" ]
-
-NOT AVAILABLE
-
-
-File: mgl_ru.info, Node: Colors sample, Next: Color schemes sample, Prev: Font faces sample, Up: Basic features
-
-3.5.9 Примеры цветов
----------------------------------
-
- [image src="../png/colors.png" ]
-
-#LENUQ
-facez -1 -1 0 0.4 0.3 'L#': text -0.8 -0.9 'L' 'C:w'
-facez -0.6 -1 0 0.4 0.3 'E#': text -0.4 -0.9 'E' 'C:w'
-facez -0.2 -1 0 0.4 0.3 'N#': text 0 -0.9 'N' 'C:w'
-facez 0.2 -1 0 0.4 0.3 'U#': text 0.4 -0.9 'U' 'C:w'
-facez 0.6 -1 0 0.4 0.3 'Q#': text 0.8 -0.9 'Q' 'C:w'
-#lenuq
-facez -1 -0.7 0 0.4 0.3 'l#': text -0.8 -0.6 'l' 'C:k'
-facez -0.6 -0.7 0 0.4 0.3 'e#': text -0.4 -0.6 'e' 'C:k'
-facez -0.2 -0.7 0 0.4 0.3 'n#': text 0 -0.6 'n' 'C:k'
-facez 0.2 -0.7 0 0.4 0.3 'u#': text 0.4 -0.6 'u' 'C:k'
-facez 0.6 -0.7 0 0.4 0.3 'q#': text 0.8 -0.6 'q' 'C:k'
-#CMYkP
-facez -1 -0.4 0 0.4 0.3 'C#': text -0.8 -0.3 'C' 'C:w'
-facez -0.6 -0.4 0 0.4 0.3 'M#': text -0.4 -0.3 'M' 'C:w'
-facez -0.2 -0.4 0 0.4 0.3 'Y#': text 0 -0.3 'Y' 'C:w'
-facez 0.2 -0.4 0 0.4 0.3 'k#': text 0.4 -0.3 'k' 'C:w'
-facez 0.6 -0.4 0 0.4 0.3 'P#': text 0.8 -0.3 'P' 'C:w'
-#lenuq
-facez -1 -0.1 0 0.4 0.3 'c#': text -0.8 0 'c' 'C:k'
-facez -0.6 -0.1 0 0.4 0.3 'm#': text -0.4 0 'm' 'C:k'
-facez -0.2 -0.1 0 0.4 0.3 'y#': text 0 0 'y' 'C:k'
-facez 0.2 -0.1 0 0.4 0.3 'w#': text 0.4 0 'w' 'C:k'
-facez 0.6 -0.1 0 0.4 0.3 'p#': text 0.8 0 'p' 'C:k'
-#BGRHW
-facez -1 0.2 0 0.4 0.3 'B#': text -0.8 0.3 'B' 'C:k'
-facez -0.6 0.2 0 0.4 0.3 'G#': text -0.4 0.3 'G' 'C:k'
-facez -0.2 0.2 0 0.4 0.3 'R#': text 0 0.3 'R' 'C:k'
-facez 0.2 0.2 0 0.4 0.3 'H#': text 0.4 0.3 'H' 'C:k'
-facez 0.6 0.2 0 0.4 0.3 'W#': text 0.8 0.3 'W' 'C:k'
-#bgrhw
-facez -1 0.5 0 0.4 0.3 'b#': text -0.8 0.6 'b' 'C:w'
-facez -0.6 0.5 0 0.4 0.3 'g#': text -0.4 0.6 'g' 'C:w'
-facez -0.2 0.5 0 0.4 0.3 'r#': text 0 0.6 'r' 'C:w'
-facez 0.2 0.5 0 0.4 0.3 'h#': text 0.4 0.6 'h' 'C:w'
-facez 0.6 0.5 0 0.4 0.3 'w#': text 0.8 0.6 'w' 'C:w'
-#brighted
-facez -1 0.8 0 0.4 0.3 'r1#': text -0.8 0.9 'r1' 'C:k'
-facez -0.6 0.8 0 0.4 0.3 'r3#': text -0.4 0.9 'r3' 'C:k'
-facez -0.2 0.8 0 0.4 0.3 'r5#': text 0 0.9 'r5' 'C:k'
-facez 0.2 0.8 0 0.4 0.3 'r7#': text 0.4 0.9 'r7' 'C:k'
-facez 0.6 0.8 0 0.4 0.3 'r9#': text 0.8 0.9 'r9' 'C:k'
-
-
-File: mgl_ru.info, Node: Color schemes sample, Next: Normal transparency, Prev: Colors sample, Up: Basic features
-
-3.5.10 Примеры цветовых схем
------------------------------------------------
-
- [image src="../png/color_schemes.png" ]
-
-new a 256 2: fill a 'x'
-subplot 2 10 0 0.2:dens a 'kw'
-text -1.4 -0.3 'kw' '' -8
-subplot 2 10 1 0.2:dens a 'wk'
-text -1.4 -0.3 'wk' '' -8
-subplot 2 10 2 0.2:dens a 'kHCcw'
-text -1.4 -0.3 'kHCcw' '' -8
-subplot 2 10 3 0.2:dens a 'kBbcw'
-text -1.4 -0.3 'kBbcw' '' -8
-subplot 2 10 4 0.2:dens a 'kRryw'
-text -1.4 -0.3 'kRryw' '' -8
-subplot 2 10 5 0.2:dens a 'kGgew'
-text -1.4 -0.3 'kGgew' '' -8
-subplot 2 10 6 0.2:dens a 'BbwrR'
-text -1.4 -0.3 'BbwrR' '' -8
-subplot 2 10 7 0.2:dens a 'BbwgG'
-text -1.4 -0.3 'BbwgG' '' -8
-subplot 2 10 8 0.2:dens a 'GgwmM'
-text -1.4 -0.3 'GgwmM' '' -8
-subplot 2 10 9 0.2:dens a 'UuwqR'
-text -1.4 -0.3 'UuwqR' '' -8
-subplot 2 10 10 0.2:dens a 'QqwcC'
-text -1.4 -0.3 'QqwcC' '' -8
-subplot 2 10 11 0.2:dens a 'CcwyY'
-text -1.4 -0.3 'CcwyY' '' -8
-subplot 2 10 12 0.2:dens a 'bcwyr'
-text -1.4 -0.3 'bcwyr' '' -8
-subplot 2 10 13 0.2:dens a 'bwr'
-text -1.4 -0.3 'bwr' '' -8
-subplot 2 10 14 0.2:dens a 'BbcyrR'
-text -1.4 -0.3 'BbcyrR' '' -8
-subplot 2 10 15 0.2:dens a 'UbcyqR'
-text -1.4 -0.3 'UbcyqR' '' -8
-subplot 2 10 16 0.2:dens a 'BbcwyrR'
-text -1.4 -0.3 'BbcwyrR' '' -8
-subplot 2 10 17 0.2:dens a 'bcyr'
-text -1.4 -0.3 'bcyr' '' -8
-subplot 2 10 18 0.2:dens a 'BbcyrR|'
-text -1.4 -0.3 'BbcyrR|' '' -8
-subplot 2 10 19 0.2:dens a 'bgr'
-text -1.4 -0.3 'bgr' '' -8
-
-
-File: mgl_ru.info, Node: Normal transparency, Next: Glass-like transparency, Prev: Color schemes sample, Up: Basic features
-
-3.5.11 Обычная прозрачность
-----------------------------------------------
-
- [image src="../png/type0.png" ]
-
-alpha on: light on
-new a 50 40
-modify a '0.6*sin(2*pi*x)*sin(3*pi*y) + 0.4*cos(3*pi*(x*y))'
-
-transptype 0: clf
-subplot 2 2 0: rotate 40 60: surf a: box
-subplot 2 2 1: rotate 40 60: dens a: box
-subplot 2 2 2: rotate 40 60: cont a: box
-subplot 2 2 3: rotate 40 60: axial a: box
-
-
-File: mgl_ru.info, Node: Glass-like transparency, Next: Lamp-like transparency, Prev: Normal transparency, Up: Basic features
-
-3.5.12 "Стеклянная" прозрачность
-------------------------------------------------------
-
- [image src="../png/type1.png" ]
-
-alpha on: light on
-new a 50 40
-modify a '0.6*sin(2*pi*x)*sin(3*pi*y) + 0.4*cos(3*pi*(x*y))'
-
-transptype 1: clf
-subplot 2 2 0: rotate 40 60: surf a: box
-subplot 2 2 1: rotate 40 60: dens a: box
-subplot 2 2 2: rotate 40 60: cont a: box
-subplot 2 2 3: rotate 40 60: axial a: box
-
-
-File: mgl_ru.info, Node: Lamp-like transparency, Prev: Glass-like transparency, Up: Basic features
-
-3.5.13 "Ламповая" прозрачность
---------------------------------------------------
-
- [image src="../png/type2.png" ]
-
-alpha on: light on
-new a 50 40
-modify a '0.6*sin(2*pi*x)*sin(3*pi*y) + 0.4*cos(3*pi*(x*y))'
-
-transptype 2: clf
-subplot 2 2 0: rotate 40 60: surf a: box
-subplot 2 2 1: rotate 40 60: dens a: box
-subplot 2 2 2: rotate 40 60: cont a: box
-subplot 2 2 3: rotate 40 60: axial a: box
-
-
-File: mgl_ru.info, Node: Additional features, Next: Advanced features, Prev: Basic features, Up: Samples
-
-3.6 Дополнительные возможности
-=======================================================
-
-* Menu:
-
-* Legend sample::
-* Adding mesh sample::
-* Surf & Cont sample::
-* Flow & Dens sample::
-* Several light sample::
-* Mirrored surface sample::
-* Cont with labels sample::
-* Ternary plot sample::
-* Coloring by coordinates sample::
-* Drops sample::
-* Molecules drawing sample::
-
-
-File: mgl_ru.info, Node: Legend sample, Next: Adding mesh sample, Up: Additional features
-
-3.6.1 Legend - пример использования
-------------------------------------------------------
-
- [image src="../png/legend.png" ]
-
-new f 50 3
-modify f 'sin(2*pi*x*x)'
-modify f 'sin(2*pi*x)' 1
-modify f 'sin(2*pi*sqrt(x))' 2
-axis 0 -1 1 1
-box
-plot f
-axis
-addlegend 'sin(\pi {x^2})' 'b'
-addlegend 'sin(\pi x)' 'g*'
-addlegend 'sin(\pi \sqrt{\a x})' 'r+'
-legend
-
-
-File: mgl_ru.info, Node: Adding mesh sample, Next: Surf & Cont sample, Prev: Legend sample, Up: Additional features
-
-3.6.2 Добавляем сетку
------------------------------------
-
- [image src="../png/samplea.png" ]
-
-new a 50 40
-modify a '0.6*sin(2*pi*x)*sin(3*pi*y) + 0.4*cos(3*pi*(x*y))'
-alpha on
-light on
-subplot 2 2 0
-rotate 40 60
-surf a 'BbcyrR#'
-box
-subplot 2 2 1
-rotate 40 60
-dens a 'BbcyrR#'
-box
-subplot 2 2 2
-rotate 40 60
-cont a 'BbcyrR#'
-box
-subplot 2 2 3
-rotate 40 60
-axial a 'BbcyrR#'
-box
-
-
-File: mgl_ru.info, Node: Surf & Cont sample, Next: Flow & Dens sample, Prev: Adding mesh sample, Up: Additional features
-
-3.6.3 Surf & Cont - пример использования
------------------------------------------------------------
-
- [image src="../png/surf_cont_y.png" ]
-
-new a 50 40
-modify a '0.6*sin(2*pi*x)*sin(3*pi*y) + 0.4*cos(3*pi*(x*y))'
-rotate 40 60
-light on
-box
-surf a
-cont a 'y'
-
-
-File: mgl_ru.info, Node: Flow & Dens sample, Next: Several light sample, Prev: Surf & Cont sample, Up: Additional features
-
-3.6.4 Flow & Dens - пример использования
------------------------------------------------------------
-
- [image src="../png/flow_dens.png" ]
-
-new a 50 40
-new b 50 40
-modify a '0.6*sin(2*pi*x)*sin(3*pi*y) + 0.4*cos(3*pi*(x*y))'
-modify b '0.6*cos(2*pi*x)*cos(3*pi*y) + 0.4*cos(3*pi*(x*y))'
-copy d a
-modify d 'sqrt(v^2+w^2)' a b
-box
-flow a b 'br'
-dens d 'BbcyrR'
-
-
-File: mgl_ru.info, Node: Several light sample, Next: Mirrored surface sample, Prev: Flow & Dens sample, Up: Additional features
-
-3.6.5 Несколько источников света
---------------------------------------------------------
-
- [image src="../png/several_light.png" ]
-
-new a 50 40
-modify a '0.6*sin(2*pi*x)*sin(3*pi*y) + 0.4*cos(3*pi*(x*y))'
-rotate 40 60
-light on
-light 1 0 1 0 'c'
-light 2 1 0 0 'y'
-light 3 0 -1 0 'm'
-box
-surf a 'h'
-
-
-File: mgl_ru.info, Node: Mirrored surface sample, Next: Cont with labels sample, Prev: Several light sample, Up: Additional features
-
-3.6.6 Отражение поверхности
------------------------------------------------
-
- [image src="../png/mirror.png" ]
-
-new a 30 40
-modify a 'pi*(1-2*x)*exp(-4*y^2-4*(2*x-1)^2)'
-rotate 40 60
-light on
-surf a 'r'; yrange 0 1
-surf a 'b'; yrange 0 -1
-box
- or
-new a 30 40
-var x 30 -1 1
-var y1 40 0 1
-var y2 40 0 -1
-modify a 'pi*(1-2*x)*exp(-4*y^2-4*(2*x-1)^2)'
-rotate 40 60
-light on
-surf x y1 a 'r'
-surf x y2 a 'b'
-box
-
-
-File: mgl_ru.info, Node: Cont with labels sample, Next: Ternary plot sample, Prev: Mirrored surface sample, Up: Additional features
-
-3.6.7 Cont и подписи - пример использования
-----------------------------------------------------------------------
-
- [image src="../png/contt.png" ]
-
-new a 50 40
-modify a '0.6*sin(2*pi*x)*sin(3*pi*y) + 0.4*cos(3*pi*(x*y))'
-box
-cont a 'BbcyrRt'
-
-
-File: mgl_ru.info, Node: Ternary plot sample, Next: Coloring by coordinates sample, Prev: Cont with labels sample, Up: Additional features
-
-3.6.8 Ternary plot - пример использования
-------------------------------------------------------------
-
- [image src="../png/ternary.png" ]
-
-new rx 10
-new ry 10
-new x 50
-new y 50
-new a 20 30
-modify a '4*x*y'
-modify x '0.25*(1+cos(2*pi*x))'
-modify y '0.25*(1+sin(2*pi*x))'
-modify rx 'rnd'
-modify ry 'rnd*(1-v)' rx
-text -0.8 1.3 'Ternary plot (x+y+t=1)'
-ternary on
-plot x y 'r2'
-plot rx ry 'q^ '
-cont a
-line 0.5 0 0 0.75 'g2'
-axis
-grid 'xyz' 'B;'
-xlabel 'x comp.'
-ylabel 'y comp.'
-tlabel 't comp.'
-
-
-File: mgl_ru.info, Node: Coloring by coordinates sample, Next: Drops sample, Prev: Ternary plot sample, Up: Additional features
-
-3.6.9 Окрашивание по положению грани
----------------------------------------------------------------
-
- [image src="../png/surf3_rgbd.png" ]
-
-new a 60 50 40
-modify a '-2*((2*x-1)^2 + (2*y-1)^2 + (2*z-1)^4 - (2*z-1)^2 - 0.1)'
-rotate 40 60
-box
-surf3 a 'bgrd'
-
-
-File: mgl_ru.info, Node: Drops sample, Next: Molecules drawing sample, Prev: Coloring by coordinates sample, Up: Additional features
-
-3.6.10 Drops - пример использования
-------------------------------------------------------
-
- [image src="../png/drops.png" ]
-
-light on
-text -1 1.2 'sh=0'
-drop -1 0 0 1 0.5 'r' 0
-text -0.33 1.2 'sh=0.33'
-drop -0.33 0 0 1 0.5 'r' 0.33
-text 0.33 1.2 'sh=0.67'
-drop 0.33 0 0 1 0.5 'r' 0.67
-text 1 1.2 'sh=1'
-drop 1 0 0 1 0.5 'r' 1
-ball -1 0 1 'k'
-ball -0.33 0 1 'k'
-ball 0.33 0 1 'k'
-ball 1 0 1 'k'
-line -1 0 1 1 0 1 'b'
-new h 100
-modify h '0.25*(1+x)^2'
-plot h 'k|'
-text -1 0.6 'h\sim(1+sh)^2' 'rL'
-
-
-File: mgl_ru.info, Node: Molecules drawing sample, Prev: Drops sample, Up: Additional features
-
-3.6.11 Рисование молекул
-----------------------------------------
-
- [image src="../png/molecule.png" ]
-
-alpha on
-light on
-subplot 2 2 0
-text 0 1.2 'Methane, CH_4' '' -3
-rotate 60 120
-sphere 0 0 0 0.25 'k'
-drop 0 0 0 0 0 1 0.35 'h' 1 2
-sphere 0 0 0.7 0.25 'g'
-drop 0 0 0 -0.94 0 -0.33 0.35 'h' 1 2
-sphere -0.66 0 -0.23 0.25 'g'
-drop 0 0 0 0.47 0.82 -0.33 0.35 'h' 1 2
-sphere 0.33 0.57 -0.23 0.25 'g'
-drop 0 0 0 0.47 -0.82 -0.33 0.35 'h' 1 2
-sphere 0.33 -0.57 -0.23 0.25 'g'
-subplot 2 2 1
-text 0 1.2 'Water, H{_2}O' '' -3
-rotate 60 100
-sphere 0 0 0 0.25 'r'
-drop 0 0 0 0.3 0.5 0 0.3 'm' 1 2
-sphere 0.3 0.5 0 0.25 'g'
-drop 0 0 0 0.3 -0.5 0 0.3 'm' 1 2
-sphere 0.3 -0.5 0 0.25 'g'
-subplot 2 2 2
-text 0 1.2 'Oxygen, O_2' '' -3
-rotate 60 120
-drop 0 0.5 0 0 -0.3 0 0.3 'm' 1 2
-sphere 0 0.5 0 0.25 'r'
-drop 0 -0.5 0 0 0.3 0 0.3 'm' 1 2
-sphere 0 -0.5 0 0.25 'r'
-subplot 2 2 3
-text 0 1.2 0 'Ammonia, NH_3' '' -3
-rotate 60 120
-sphere 0 0 0 0.25 'b'
-drop 0 0 0 0.33 0.57 0 0.32 'n' 1 2
-sphere 0.33 0.57 0 0.25 'g'
-drop 0 0 0 0.33 -0.57 0 0.32 'n' 1 2
-sphere 0.33 -0.57 0 0.25 'g'
-drop 0 0 0 -0.65 0 0 0.32 'n' 1 2
-sphere -0.65 0 0 0.25 'g'
-
-
-File: mgl_ru.info, Node: Advanced features, Prev: Additional features, Up: Samples
-
-3.7 "Продвинутые" возможности
-===================================================
-
-* Menu:
-
-* Curvelinear coorinates sample::
-* 2-axes sample::
-* Semi-log sample::
-* Log-log sample::
-* Fitting sample::
-* Envelop sample::
-* Sew sample::
-* STFA sample::
-* PDE sample::
-* Beam tracing sample::
-* Parser sample::
-* Manual ticks sample::
-* ColumnPlot sample::
-* StickPlot sample::
-* Stereo image sample::
-
-
-File: mgl_ru.info, Node: Curvelinear coorinates sample, Next: 2-axes sample, Up: Advanced features
-
-3.7.1 Криволинейные координаты
------------------------------------------------------
-
- [image src="../png/sample3.png" ]
-
-origin -1 1 -1
-subplot 2 2 0
-rotate 60 40
-line -1 0.5 0 1 0.5 0 'r2'
-axis
-grid
-text 0 1.3 1 'Cartesian'
-subplot 2 2 1
-rotate 60 40
-axis 'y*sin(pi*x)' 'y*cos(pi*x)' ''
-line -1 0.5 0 1 0.5 0 'r2'
-axis
-grid
-text 0 1.3 1 'Cylindrical'
-subplot 2 2 2
-rotate 60 40
-axis '2*y*x' 'y*y - x*x' ''
-line -1 0.5 0 1 0.5 0 'r2'
-axis
-grid
-text 0 1.3 1 'Parabolic'
-subplot 2 2 3
-rotate 60 40
-axis 'y*sin(pi*x)' 'y*cos(pi*x)' 'x+z'
-line -1 0.5 0 1 0.5 0 'r2'
-axis
-grid
-text 0 1.3 1 'Spiral'
-axis '' '' '' # set to default Cartesian
-
-
-File: mgl_ru.info, Node: 2-axes sample, Next: Semi-log sample, Prev: Curvelinear coorinates sample, Up: Advanced features
-
-3.7.2 Несколько осей на одном графике
-----------------------------------------------------------------
-
- [image src="../png/2_axis.png" ]
-
-new y1 50
-new y2 50
-modify y1 '0.3*sin(2*pi*x)'
-modify y2 '0.5+0.3*cos(2*pi*x)'
-axis -1 -1 -1 1 1 1
-origin -1 -1 -1
-axis
-ylabel 'axis 1' 0
-plot y1 'b'
-axis 0 0 0 1 1 1
-origin 1 1 1
-axis
-ylabel 'axis 2' 0
-stem y2 'r'
-
-
-File: mgl_ru.info, Node: Semi-log sample, Next: Log-log sample, Prev: 2-axes sample, Up: Advanced features
-
-3.7.3 Semi-log - пример использования
---------------------------------------------------------
-
- [image src="../png/semilog.png" ]
-
-new x 2000
-new y 2000
-modify x '0.01/(x+10^(-5))'
-modify y 'sin(1/v)' x
-xrange 0.01 1000
-origin 0.01 -1 0
-xtick 0
-axis 'lg(x)' '' ''
-plot x y 'b2'
-axis
-grid 'xy' 'g'
-xlabel 'x' 0
-ylabel 'y = sin 1/x' 0
-box
-
-
-File: mgl_ru.info, Node: Log-log sample, Next: Fitting sample, Prev: Semi-log sample, Up: Advanced features
-
-3.7.4 Log-log - пример использования
--------------------------------------------------------
-
- [image src="../png/loglog.png" ]
-
-new x 100
-new y 100
-modify x 'pow(10,6*x-3)'
-modify y 'sqrt(1+v^2)' x
-axis 0.001 0.1 1000 1000
-xtick 0
-ytick 0
-axis 'lg(x)' 'lg(y)' ''
-plot x y 'b2'
-axis
-grid 'xy' 'g;'
-xlabel 'x' 0
-ylabel 'y=\sqrt{1+x^2}' 0
-box
-
-
-File: mgl_ru.info, Node: Fitting sample, Next: Envelop sample, Prev: Log-log sample, Up: Advanced features
-
-3.7.5 Fitting - пример использования
--------------------------------------------------------
-
- [image src="../png/fit.png" ]
-
-new rnd 100
-fill rnd '0.4*rnd+0.1+sin(2*pi*x)'
-new in 100
-fill in '0.3+sin(2*pi*x)'
-yrange -2 2
-plot rnd '. '
-box
-list ini 1 1 3
-fit res rnd 'a+b*sin(c*x)' 'abc' ini
-plot res 'r'
-plot in 'b'
-text -1 -1.3 'fitted:' 'L:r' -1
-putsfit 0 -1.8 'y = ' 'C:r'
-text 0 2.2 'initial: y = 0.3+sin(2\pi x)' 'C:b' -1
-
-
-File: mgl_ru.info, Node: Envelop sample, Next: Sew sample, Prev: Fitting sample, Up: Advanced features
-
-3.7.6 Envelop - пример использования
--------------------------------------------------------
-
- [image src="../png/envelop.png" ]
-
-new a 1000
-fill a 'exp(-8*x^2)*sin(10*pi*x)'
-plot a 'b'
-envelop a
-plot a 'r'
-axis
-
-
-File: mgl_ru.info, Node: Sew sample, Next: STFA sample, Prev: Envelop sample, Up: Advanced features
-
-3.7.7 Sew - пример использования
----------------------------------------------------
-
- [image src="../png/sew.png" ]
-
-new a 100 100
-modify a 'mod((y^2-(1-x)^2)/2,0.1)'
-rotate 40 60
-light on
-alpha on
-surf a 'b'
-sew a 'xy' 0.1
-surf a 'r'
-box
-
-
-File: mgl_ru.info, Node: STFA sample, Next: PDE sample, Prev: Sew sample, Up: Advanced features
-
-3.7.8 STFA - пример использования
-----------------------------------------------------
-
- [image src="../png/stfa.png" ]
-
-new a 2000
-new b 2000
-fill a 'cos(50*pi*x)*(x<-.5)+cos(100*pi*x)*(x<0)*(x>-.5)+
- cos(200*pi*x)*(x<.5)*(x>0)+cos(400*pi*x)*(x>.5)'
-subplot 1 2 0
-plot a
-axis
-xlabel '\i t'
-subplot 1 2 1
-stfa a b 64 ''
-axis
-ylabel '\omega' 0
-xlabel '\i t'
-
-
-File: mgl_ru.info, Node: PDE sample, Next: Beam tracing sample, Prev: STFA sample, Up: Advanced features
-
-3.7.9 PDE - пример использования
----------------------------------------------------
-
- [image src="../png/pde.png" ]
-
-axis
-xlabel '\i x'
-ylabel '\i z'
-new re 128
-new im 128
-fill re 'exp(-48*(x+0.7)^2)'
-pde a 'p^2+q^2-x-1+i*0.5*(z+x)*(z>-x)' re im 0.01 30
-transpose a
-crange 0 1
-dens a 'wyrRk'
-fplot '-x' 'k|'
-text 0 0.85 'absorption: (x+z)/2 for x+z>0' '' -1
-title 'Equation: ik_0\partial_zu + \Delta u + x\cdot u + i \frac{x+z}{2}\cdot u = 0' 'iC' -1.5
-
-
-File: mgl_ru.info, Node: Beam tracing sample, Next: Parser sample, Prev: PDE sample, Up: Advanced features
-
-3.7.10 Beam tracing - пример использования
--------------------------------------------------------------
-
- [image src="../png/qo2d.png" ]
-
-define $1 'p^2+q^2-x-1+i*0.5*(y+x)*(y>-x)'
-ray r $1 -0.7 -1 0 0 0.5 0 0.02 2
-plot r(0) r(1) 'k'
-axis
-xlabel '\i x'
-ylabel '\i z'
-new re 128
-new im 128
-new xx
-new yy
-fill re 'exp(-48*x^2)'
-qo2d a $1 re im r 1 30 xx yy
-crange 0 1
-dens xx yy a 'wyrRk'
-fplot '-x' 'k|'
-text -0.8 0.85 'absorption: (x+y)/2 for x+y>0' 'L' -1
-text 0.5 -0.05 'central ray' 'L' -1
-title 'Beam and ray tracing' 'C' -1.5
-
-
-File: mgl_ru.info, Node: Parser sample, Next: Manual ticks sample, Prev: Beam tracing sample, Up: Advanced features
-
-3.7.11 Parser - пример использования
--------------------------------------------------------
-
-
-File: mgl_ru.info, Node: Manual ticks sample, Next: ColumnPlot sample, Prev: Parser sample, Up: Advanced features
-
-3.7.12 Особые метки по осям
---------------------------------------------
-
- [image src="../png/tval.png" ]
-
-axis -pi 0 pi 2
-xtick -pi '-\pi' -1.571 '-\pi/2' 0 '0' 0.886 'x^*' 1.571 '\pi/2' pi '\pi'
-axis
-grid
-fplot '2*cos(x^2)^2' 'r2' nan 300
-
-
-File: mgl_ru.info, Node: ColumnPlot sample, Next: StickPlot sample, Prev: Manual ticks sample, Up: Advanced features
-
-3.7.13 ColumnPlot - пример использования
------------------------------------------------------------
-
- [image src="../png/column.png" ]
-
-for $1 0 3
-columnplot 4 $1
-box
-text -0.5 0.5 'Plot $1 of 4'
-fplot 'sin(pi*x+pi*$1/2)'
-next
-
-
-
-Local Variables:
-coding: utf-8
-End:
diff --git a/texinfo/mgl_ru.info-2 b/texinfo/mgl_ru.info-2
deleted file mode 100644
index 31d85f7..0000000
Binary files a/texinfo/mgl_ru.info-2 and /dev/null differ
diff --git a/utils/Makefile.in b/utils/Makefile.in
index b0ab1c6..7627b6e 100644
--- a/utils/Makefile.in
+++ b/utils/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -16,6 +16,23 @@
@SET_MAKE@
VPATH = @srcdir@
+am__make_dryrun = \
+ { \
+ am__dry=no; \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
+ | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+ *) \
+ for am__flg in $$MAKEFLAGS; do \
+ case $$am__flg in \
+ *=*|--*) ;; \
+ *n*) am__dry=yes; break;; \
+ esac; \
+ done;; \
+ esac; \
+ test $$am__dry = yes; \
+ }
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@@ -42,7 +59,11 @@ subdir = utils
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/config/autotroll.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/config/libtool.m4 \
+ $(top_srcdir)/config/ltoptions.m4 \
+ $(top_srcdir)/config/ltsugar.m4 \
+ $(top_srcdir)/config/ltversion.m4 \
+ $(top_srcdir)/config/lt~obsolete.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
@@ -99,6 +120,11 @@ SOURCES = $(mgl2cpp_SOURCES) $(mgl2eps_SOURCES) $(mgl2gif_SOURCES) \
DIST_SOURCES = $(mgl2cpp_SOURCES) $(mgl2eps_SOURCES) \
$(am__mgl2gif_SOURCES_DIST) $(mgl2png_SOURCES) \
$(mgl2svg_SOURCES) $(am__mglview_SOURCES_DIST)
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -328,8 +354,11 @@ $(ACLOCAL_M4): $(am__aclocal_m4_deps)
$(am__aclocal_m4_deps):
install-binPROGRAMS: $(bin_PROGRAMS)
@$(NORMAL_INSTALL)
- test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
@list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \
+ fi; \
for p in $$list; do echo "$$p $$p"; done | \
sed 's/$(EXEEXT)$$//' | \
while read p p1; do if test -f $$p || test -f $$p1; \
@@ -369,22 +398,22 @@ clean-binPROGRAMS:
list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
echo " rm -f" $$list; \
rm -f $$list
-mgl2cpp$(EXEEXT): $(mgl2cpp_OBJECTS) $(mgl2cpp_DEPENDENCIES)
+mgl2cpp$(EXEEXT): $(mgl2cpp_OBJECTS) $(mgl2cpp_DEPENDENCIES) $(EXTRA_mgl2cpp_DEPENDENCIES)
@rm -f mgl2cpp$(EXEEXT)
$(CXXLINK) $(mgl2cpp_OBJECTS) $(mgl2cpp_LDADD) $(LIBS)
-mgl2eps$(EXEEXT): $(mgl2eps_OBJECTS) $(mgl2eps_DEPENDENCIES)
+mgl2eps$(EXEEXT): $(mgl2eps_OBJECTS) $(mgl2eps_DEPENDENCIES) $(EXTRA_mgl2eps_DEPENDENCIES)
@rm -f mgl2eps$(EXEEXT)
$(CXXLINK) $(mgl2eps_OBJECTS) $(mgl2eps_LDADD) $(LIBS)
-mgl2gif$(EXEEXT): $(mgl2gif_OBJECTS) $(mgl2gif_DEPENDENCIES)
+mgl2gif$(EXEEXT): $(mgl2gif_OBJECTS) $(mgl2gif_DEPENDENCIES) $(EXTRA_mgl2gif_DEPENDENCIES)
@rm -f mgl2gif$(EXEEXT)
$(mgl2gif_LINK) $(mgl2gif_OBJECTS) $(mgl2gif_LDADD) $(LIBS)
-mgl2png$(EXEEXT): $(mgl2png_OBJECTS) $(mgl2png_DEPENDENCIES)
+mgl2png$(EXEEXT): $(mgl2png_OBJECTS) $(mgl2png_DEPENDENCIES) $(EXTRA_mgl2png_DEPENDENCIES)
@rm -f mgl2png$(EXEEXT)
$(CXXLINK) $(mgl2png_OBJECTS) $(mgl2png_LDADD) $(LIBS)
-mgl2svg$(EXEEXT): $(mgl2svg_OBJECTS) $(mgl2svg_DEPENDENCIES)
+mgl2svg$(EXEEXT): $(mgl2svg_OBJECTS) $(mgl2svg_DEPENDENCIES) $(EXTRA_mgl2svg_DEPENDENCIES)
@rm -f mgl2svg$(EXEEXT)
$(CXXLINK) $(mgl2svg_OBJECTS) $(mgl2svg_LDADD) $(LIBS)
-mglview$(EXEEXT): $(mglview_OBJECTS) $(mglview_DEPENDENCIES)
+mglview$(EXEEXT): $(mglview_OBJECTS) $(mglview_DEPENDENCIES) $(EXTRA_mglview_DEPENDENCIES)
@rm -f mglview$(EXEEXT)
$(mglview_LINK) $(mglview_OBJECTS) $(mglview_LDADD) $(LIBS)
@@ -555,10 +584,15 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
diff --git a/widgets/Makefile.in b/widgets/Makefile.in
index 9229e6a..cd7cbb4 100644
--- a/widgets/Makefile.in
+++ b/widgets/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -35,6 +35,23 @@
# USA.
VPATH = @srcdir@
+am__make_dryrun = \
+ { \
+ am__dry=no; \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
+ | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+ *) \
+ for am__flg in $$MAKEFLAGS; do \
+ case $$am__flg in \
+ *=*|--*) ;; \
+ *n*) am__dry=yes; break;; \
+ esac; \
+ done;; \
+ esac; \
+ test $$am__dry = yes; \
+ }
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@@ -62,7 +79,11 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
subdir = widgets
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/config/autotroll.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/config/libtool.m4 \
+ $(top_srcdir)/config/ltoptions.m4 \
+ $(top_srcdir)/config/ltsugar.m4 \
+ $(top_srcdir)/config/ltversion.m4 \
+ $(top_srcdir)/config/lt~obsolete.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
@@ -90,6 +111,12 @@ am__nobase_list = $(am__nobase_strip_setup); \
am__base_list = \
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
am__installdirs = "$(DESTDIR)$(libdir)"
LTLIBRARIES = $(lib_LTLIBRARIES)
am__DEPENDENCIES_1 =
@@ -163,6 +190,11 @@ DIST_SOURCES = $(am__libmgl_fltk_la_SOURCES_DIST) \
$(am__libmgl_glut_la_SOURCES_DIST) \
$(am__libmgl_qt_la_SOURCES_DIST) \
$(am__libmgl_wx_la_SOURCES_DIST)
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -397,6 +429,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
+$(top_srcdir)/config/autotroll.mk:
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -408,7 +441,6 @@ $(ACLOCAL_M4): $(am__aclocal_m4_deps)
$(am__aclocal_m4_deps):
install-libLTLIBRARIES: $(lib_LTLIBRARIES)
@$(NORMAL_INSTALL)
- test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
@list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
list2=; for p in $$list; do \
if test -f $$p; then \
@@ -416,6 +448,8 @@ install-libLTLIBRARIES: $(lib_LTLIBRARIES)
else :; fi; \
done; \
test -z "$$list2" || { \
+ echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \
echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
$(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
}
@@ -437,13 +471,13 @@ clean-libLTLIBRARIES:
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
-libmgl-fltk.la: $(libmgl_fltk_la_OBJECTS) $(libmgl_fltk_la_DEPENDENCIES)
+libmgl-fltk.la: $(libmgl_fltk_la_OBJECTS) $(libmgl_fltk_la_DEPENDENCIES) $(EXTRA_libmgl_fltk_la_DEPENDENCIES)
$(libmgl_fltk_la_LINK) $(am_libmgl_fltk_la_rpath) $(libmgl_fltk_la_OBJECTS) $(libmgl_fltk_la_LIBADD) $(LIBS)
-libmgl-glut.la: $(libmgl_glut_la_OBJECTS) $(libmgl_glut_la_DEPENDENCIES)
+libmgl-glut.la: $(libmgl_glut_la_OBJECTS) $(libmgl_glut_la_DEPENDENCIES) $(EXTRA_libmgl_glut_la_DEPENDENCIES)
$(libmgl_glut_la_LINK) $(am_libmgl_glut_la_rpath) $(libmgl_glut_la_OBJECTS) $(libmgl_glut_la_LIBADD) $(LIBS)
-libmgl-qt.la: $(libmgl_qt_la_OBJECTS) $(libmgl_qt_la_DEPENDENCIES)
+libmgl-qt.la: $(libmgl_qt_la_OBJECTS) $(libmgl_qt_la_DEPENDENCIES) $(EXTRA_libmgl_qt_la_DEPENDENCIES)
$(libmgl_qt_la_LINK) $(am_libmgl_qt_la_rpath) $(libmgl_qt_la_OBJECTS) $(libmgl_qt_la_LIBADD) $(LIBS)
-libmgl-wx.la: $(libmgl_wx_la_OBJECTS) $(libmgl_wx_la_DEPENDENCIES)
+libmgl-wx.la: $(libmgl_wx_la_OBJECTS) $(libmgl_wx_la_DEPENDENCIES) $(EXTRA_libmgl_wx_la_DEPENDENCIES)
$(libmgl_wx_la_LINK) $(am_libmgl_wx_la_rpath) $(libmgl_wx_la_OBJECTS) $(libmgl_wx_la_LIBADD) $(LIBS)
mostlyclean-compile:
@@ -621,10 +655,15 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
--
Packaging for mathgl
More information about the debian-science-commits
mailing list